@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&family=Inter+Tight:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--accent-h: 225;--accent-s: 55%;--accent-l: 48%;--accent: oklch(var(--accent-l) var(--accent-s) var(--accent-h));--accent-soft: oklch(.95 .025 var(--accent-h));--accent-strong: oklch(.35 .06 var(--accent-h));--accent-contrast: oklch(from var(--accent) calc((l - .6) * -infinity) 0 0);--font-ui: "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-display: "Fraunces", "Inter Tight", serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg: #f7f6f3;--bg-elev: #ffffff;--bg-sunken: #efede8;--bg-tint: #f2f1ec;--border: #e6e3dc;--border-strong: #d6d2c8;--text: #1a1a1a;--text-secondary: #5a5a58;--text-tertiary: #8a8a86;--text-placeholder: #b0b0ac;--success: #2f8a56;--success-soft: #e5f3ea;--danger: #c04848;--danger-soft: #fbe8e6;--shadow-sm: 0 1px 2px rgba(20, 20, 20, .04), 0 0 0 1px rgba(20, 20, 20, .03);--shadow-md: 0 2px 4px rgba(20, 20, 20, .04), 0 8px 24px rgba(20, 20, 20, .06);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--viewer-bg: #efede8;font-family:var(--font-ui);color:var(--text);font-size:14px;line-height:1.45}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%}body{background:var(--bg);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:2px solid var(--bg-elev)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.app{display:flex;flex-direction:column;height:100vh}.app__tabs{display:flex;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--border);z-index:5}.app__brand{display:flex;align-items:center;gap:9px;padding:0 20px;font-family:var(--font-display);font-weight:500;font-size:15px;letter-spacing:-.01em;color:var(--text)}.app__brand-dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:15px 22px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:color .12s ease,border-color .12s ease}.tab:hover{color:var(--text)}.tab--active{color:var(--accent);border-bottom-color:var(--accent)}.workspace{flex:1;display:flex;min-height:0}.sidebar{width:348px;min-width:348px;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%}.sidebar__scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:14px}.sidebar__footer{border-top:1px solid var(--border);padding:10px 16px;background:var(--bg)}.copyright{text-align:center;font-size:11px;color:var(--text-tertiary);padding:6px 0 2px}.section{flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elev);box-shadow:var(--shadow-sm);overflow:hidden}.section__header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-elev);border:none;cursor:pointer;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.section__chevron{transition:transform .15s ease;color:var(--text-tertiary);font-size:10px}.section__chevron--open{transform:rotate(90deg)}.section__body{padding:4px 14px 14px;display:flex;flex-direction:column;gap:12px}.control{display:flex;flex-direction:column;gap:7px}.control__label{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--text-secondary);font-weight:500}.control__value{font-variant-numeric:tabular-nums;color:var(--text);font-family:var(--font-mono);font-size:11.5px}input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer;height:4px}input[type=number],input[type=text]{height:32px;width:100%;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 9px;font-size:12.5px;background:var(--bg-elev);color:var(--text);transition:border-color .12s ease,box-shadow .12s ease}input[type=number]:focus,input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 15%,transparent);outline:none}.checkbox{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input{accent-color:var(--accent);width:16px;height:16px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);border-radius:var(--radius-sm);padding:9px 12px;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease,filter .12s ease}.btn:hover:not(:disabled){background:var(--bg-tint)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:transparent;color:var(--accent-contrast)}.btn--primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn--success{background:var(--success);border-color:transparent;color:#fff}.btn--success:hover:not(:disabled){filter:brightness(1.06);background:var(--success)}.btn--tall{padding:13px 12px;font-size:13px;font-weight:600}.btn-row{display:flex;gap:8px}.btn-row .btn{padding:8px 6px;font-size:12px}.btn-row input{flex:1}.file-status{font-size:11.5px;margin-top:5px;display:flex;align-items:center;gap:5px}.file-status--pending{color:var(--text-tertiary)}.file-status--loaded{color:var(--success)}.hint{font-size:11.5px;color:var(--text-tertiary);line-height:1.45}.progress{height:24px;border-radius:var(--radius-sm);background:var(--bg-sunken);border:1px solid var(--border);overflow:hidden;position:relative}.progress__bar{height:100%;background:var(--accent);transition:width .2s ease}.progress__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:var(--text)}.progress--indeterminate .progress__bar{width:40%!important;animation:indeterminate 1.1s infinite ease-in-out}@keyframes indeterminate{0%{margin-left:-40%}to{margin-left:100%}}.viewer{flex:1;position:relative;min-width:0;background:var(--viewer-bg)}.viewer__status{position:absolute;left:14px;bottom:14px;font-size:11.5px;color:var(--text-secondary);background:color-mix(in oklch,var(--bg-elev) 80%,transparent);padding:5px 10px;border-radius:var(--radius-sm);pointer-events:none;border:1px solid var(--border)}.viewer__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:color-mix(in oklch,var(--viewer-bg) 70%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10}.spinner{width:38px;height:38px;border:3px solid var(--bg-tint);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
