:root{--bg: #080b10;--panel: rgba(255, 255, 255, .035);--panel-strong: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text: #e8eef7;--muted: #93a1b5;--accent: #7cf29b;--accent-2: #6cc7ff;--danger: #ff7a90;--radius: 16px;--shadow: 0 18px 44px rgba(0, 0, 0, .32);color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text);background:radial-gradient(1200px 700px at 12% -12%,rgba(124,242,155,.13),transparent 60%),radial-gradient(900px 620px at 88% -4%,rgba(108,199,255,.12),transparent 55%),radial-gradient(700px 500px at 50% 110%,rgba(124,242,155,.05),transparent 65%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#7cf29b47}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.app{display:flex;flex-direction:column;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;width:100%;max-width:1680px;margin:0 auto;padding:20px 24px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--accent);background:linear-gradient(135deg,#7cf29b38,#6cc7ff29);border:1px solid rgba(124,242,155,.3);box-shadow:0 10px 30px #7cf29b1f}.brand-text h1{margin:0;font-size:18px;letter-spacing:-.01em}.brand-text p{margin:2px 0 0;font-size:12px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.output-pill{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffff08;font-size:12px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;background:#5d6b7d}.dot.on{background:var(--accent);box-shadow:0 0 0 4px #7cf29b24}.header-hint{font-size:11px;color:#7d8b9e}.layout{display:grid;grid-template-columns:232px minmax(0,1fr) 340px;align-items:start;gap:16px;width:100%;max-width:1680px;margin:0 auto;padding:0 24px 32px}.panel{background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.rail{display:flex;flex-direction:column;gap:18px;padding:14px;position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto}.rail-group{display:flex;flex-direction:column;gap:3px}.rail-title{display:block;padding:0 8px 6px;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.rail-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.rail-item:hover{background:#ffffff0a}.rail-item.active{background:linear-gradient(90deg,#7cf29b24,#7cf29b05);border-color:#7cf29b40;box-shadow:inset 2px 0 0 var(--accent)}.rail-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#ffffff0d;color:#9fb2c9;flex:none}.rail-item.active .rail-icon{color:var(--accent);background:#7cf29b1a}.rail-label{flex:1}kbd{padding:2px 6px;border:1px solid var(--border);border-radius:5px;background:#ffffff0a;color:var(--muted);font:inherit;font-size:10.5px;font-variant-numeric:tabular-nums}.rail-footer{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding:14px 8px 4px;border-top:1px solid var(--border)}.rail-soon{display:flex;flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;font-size:12px;color:#8fa2b8}.rail-soon li:before{content:"·";margin-right:6px;color:var(--accent-2)}.rail-note{margin:6px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}.workbench{padding:20px;min-width:0}.tool-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.tool-title{display:flex;gap:12px}.tool-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:13px;background:#ffffff0a;color:var(--accent);flex:none}.tool-title h2{margin:0;font-size:18px;letter-spacing:-.01em}.tool-title p{margin:4px 0 0;max-width:62ch;font-size:12.5px;line-height:1.55;color:var(--muted)}.privacy-badge{padding:5px 9px;border:1px solid rgba(124,242,155,.25);border-radius:999px;background:#7cf29b1a;color:#9df3b6;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.dropzone{display:grid;justify-items:center;gap:6px;padding:34px 20px;border:1.5px dashed rgba(255,255,255,.16);border-radius:14px;background:radial-gradient(420px 170px at 50% 0%,rgba(124,242,155,.07),transparent 70%),#ffffff04;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.dropzone:hover,.dropzone:focus-visible{outline:none;border-color:#7cf29b73;background:radial-gradient(420px 190px at 50% 0%,rgba(124,242,155,.12),transparent 70%),#ffffff08}.dropzone.is-drag{border-color:var(--accent);background:radial-gradient(460px 230px at 50% 0%,rgba(124,242,155,.2),transparent 70%),#7cf29b0f;transform:scale(1.004)}.dropzone svg{color:var(--accent);opacity:.9}.dropzone strong{font-size:15px;font-weight:600}.dropzone span{font-size:12px;color:var(--muted)}.dropzone-paste{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:#7f8da1}.dropzone-paste kbd{padding:1px 5px;border-radius:4px;font-size:10px}.file-chips{margin-top:14px}.chips-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:12px;color:var(--muted)}.file-chips ul{display:flex;flex-direction:column;gap:4px;max-height:190px;margin:0;padding:0;list-style:none;overflow:auto}.file-chips li{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(255,255,255,.05);border-radius:8px;background:#ffffff08;font-size:12.5px}.file-chips li svg{color:#7f9bb8;flex:none}.chip-name{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chip-size{font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--muted)}.chip-remove{padding:0 2px;border:none;background:none;color:var(--muted);font-size:16px;line-height:1;cursor:pointer}.chip-remove:hover{color:var(--danger)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel-strong);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .05s ease}.btn:hover:not(:disabled){border-color:var(--border-strong);background:#ffffff17}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{border:none;background:linear-gradient(135deg,#8bf7ae,#5ed7a0 55%,#6cc7ff);color:#04120a;box-shadow:0 10px 26px #7cf29b2e}.btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#9bffbc,#6ce4ad 55%,#7fd0ff)}.btn.subtle{padding:8px 12px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.link{padding:0;border:none;background:none;color:var(--accent-2);font:inherit;font-size:12px;cursor:pointer}.link:hover{text-decoration:underline}.link.danger{color:var(--danger)}.link:disabled{opacity:.4;cursor:not-allowed;text-decoration:none}.status{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#ffffff08;color:var(--muted);font-size:12.5px}.status.running{border-color:#6cc7ff4d;background:#6cc7ff12;color:#cfe6ff}.status.done{border-color:#7cf29b4d;background:#7cf29b12;color:#bff7cf}.status.error{border-color:#ff7a9059;background:#ff7a9014;color:#ffc2cd}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.notice{margin-top:12px;padding:10px 12px;border:1px solid rgba(108,199,255,.25);border-radius:10px;background:#6cc7ff0f;color:#cfe6ff;font-size:12.5px}.notes{display:flex;flex-direction:column;gap:4px;margin:12px 0 0;padding-left:18px;color:#c9b98f;font-size:12px}.preview{margin:16px 0 0}.preview-frame{display:grid;place-items:center;max-height:520px;padding:12px;border:1px solid var(--border);border-radius:12px;overflow:auto;background-color:#0a0e14;background-image:conic-gradient(#161b23 25%,#10151c 0,#10151c 50%,#161b23 0,#161b23 75%,#10151c 0);background-size:16px 16px}.preview-frame img{max-width:100%;height:auto;border-radius:4px;box-shadow:0 8px 28px #00000080;image-rendering:pixelated}.preview figcaption{margin-top:8px;font-size:11.5px;color:var(--muted)}.text-output{margin-top:16px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#04080c80}.text-output-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:#ffffff05;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.text-output pre{margin:0;max-height:280px;padding:12px;overflow:auto;color:#c8d6e8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.55}.output-files{display:flex;flex-direction:column;gap:4px;margin:14px 0 0;padding:0;list-style:none;font-size:12.5px}.output-files li{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:#ffffff08}.file-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-2);flex:none}.settings{position:sticky;top:18px;max-height:calc(100vh - 36px);padding:16px;overflow:auto}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-head h3{margin:0;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.panel-head.spaced{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.muted{font-size:11.5px;color:var(--muted)}.fields{display:flex;flex-direction:column;gap:14px}.field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px}.field.wide{grid-template-columns:minmax(0,1fr);align-items:stretch}.field-text{display:flex;flex-direction:column;gap:2px;min-width:0}.field-label{font-size:12.5px;font-weight:500}.field-help{font-size:11px;line-height:1.45;color:#7f8da1}.input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#04080c8c;color:var(--text);font:inherit;font-size:12.5px}.input:focus{outline:none;border-color:#7cf29b8c;box-shadow:0 0 0 3px #7cf29b1f}.input.num{width:92px;text-align:right;font-variant-numeric:tabular-nums}.input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;resize:vertical}.switch{position:relative;width:40px;height:22px;padding:0;border:1px solid var(--border-strong);border-radius:999px;background:#ffffff14;cursor:pointer;transition:background .15s ease,border-color .15s ease;flex:none}.switch .knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#9fb0c6;transition:transform .16s ease,background .16s ease}.switch.on{border-color:#7cf29b99;background:#7cf29b38}.switch.on .knob{transform:translate(18px);background:#f2fff7;box-shadow:0 1px 3px #00000073}.preset-row{display:flex;gap:8px}.preset-row .input{flex:1;min-width:0}.preset-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.preset-message{margin:10px 0 0;font-size:11.5px;color:#bff7cf}.settings-note{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--border);font-size:11px;line-height:1.5;color:var(--muted)}@media(max-width:1240px){.layout{grid-template-columns:212px minmax(0,1fr)}.settings{position:static;grid-column:1 / -1;max-height:none}}@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr);padding:0 14px 24px}.rail{position:static;flex-direction:row;flex-wrap:wrap;gap:10px;max-height:none}.rail-group{flex-direction:row;flex-wrap:wrap;gap:6px}.rail-title,.rail-footer{display:none}.rail-item{width:auto;padding:8px 10px}.rail-item kbd{display:none}.header{padding:16px 14px}.workbench{padding:16px}}@media(max-width:520px){.tool-head{flex-direction:column}.privacy-badge{align-self:flex-start}.dropzone{padding:26px 14px}.header-actions{width:100%}.output-pill{flex:1;min-width:0}}
