@font-face{font-family:Geist;src:url(../fonts/geist.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(../fonts/space-grotesk.woff2) format("woff2");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(../fonts/space-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(../fonts/space-mono-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--macro: linear-gradient(135deg, #ff5e7e 0%, #ff9e45 46%, #3ecf8e 100%);--glass-bg: rgba(10, 10, 14, .65);--glass-txt: #f2f3f6;--glass-txt-2: #c8cad2;--ui: "Geist", -apple-system, system-ui, sans-serif;--display: "Space Grotesk", -apple-system, system-ui, sans-serif;--mono: "Space Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;overscroll-behavior:none}body{background:var(--bg);color:var(--txt);font:.9375rem/1.5 var(--ui);-webkit-font-smoothing:antialiased}[hidden]{display:none!important}*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px;border:2px solid transparent;background-clip:padding-box}#app{display:flex;flex-direction:column;height:100dvh}.bar{display:flex;align-items:center;gap:.7rem;min-height:56px;padding:env(safe-area-inset-top) .9rem 0;background:var(--surface);border-bottom:1px solid var(--line)}.bar .home{color:var(--txt-2);text-decoration:none;font:500 .85rem/1 var(--ui);padding:.4rem .1rem;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;flex:none}.bar .home:active{color:var(--txt)}.bar .bar-mark{width:22px;height:22px;border-radius:6px;flex:none;box-shadow:0 2px 8px #00000059}.tool-dot{width:16px;height:16px;border-radius:50%;flex:none;display:inline-block;background:var(--macro);box-shadow:0 0 10px #ff5e7e73}.bar .brand{font:600 .98rem/1 var(--display);flex:1;color:var(--txt);display:inline-flex;align-items:center;gap:9px}.bar-btn{width:auto;padding:.45rem .8rem;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--txt-2);font:.85rem/1 var(--ui);cursor:pointer}.bar-btn:active{background:var(--surface-3)}.info-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--txt-2);font-style:italic;font-weight:700;cursor:pointer}.info-btn:active{background:var(--surface-3)}#stage{flex:1;min-height:0;display:flex;flex-direction:column;padding:.9rem;gap:.75rem;background:radial-gradient(120% 120% at 50% 30%,var(--bg-2),var(--bg))}.intake{flex:1;display:grid;place-items:center}.intake-card{max-width:460px;text-align:center;padding:2.4rem 1.8rem;border:1.5px dashed var(--line-2);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);transition:border-color .15s,background .15s}.intake-card.drag{border-color:#ff5e7e;background:var(--accent-soft)}.macro-glyph{display:block;position:relative;width:64px;height:64px;margin:0 auto 1.1rem}.macro-glyph i{position:absolute;inset:0;margin:auto;border-radius:8px;border:2px solid transparent;background:var(--macro) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.macro-glyph i:nth-child(1){width:62px;height:62px;transform:rotate(0);opacity:.5}.macro-glyph i:nth-child(2){width:46px;height:46px;transform:rotate(18deg);opacity:.75}.macro-glyph i:nth-child(3){width:30px;height:30px;transform:rotate(36deg);opacity:1}.intake-card h1{margin:0 0 .6rem;font:600 1.5rem/1.15 var(--display)}.intake-card p{color:var(--txt-2);margin:0 0 1rem}.intake-card .hint{font-size:.85rem;color:var(--txt-3);margin-top:.8rem}.open-btn{display:inline-block;padding:.7rem 1.5rem;border-radius:999px;cursor:pointer;background:var(--macro);color:#fff;font-weight:600;box-shadow:0 6px 20px #ff5e7e4d}.open-btn:active{filter:brightness(.92)}#work{flex:1;min-height:0;display:flex;flex-direction:column;gap:.7rem}#view{position:relative;flex:1;min-height:0;display:grid;place-items:center;background:#050506;border-radius:16px;overflow:hidden}#result{max-width:100%;max-height:100%;object-fit:contain;touch-action:none}.view-hint{position:absolute;padding:.5rem .9rem;border-radius:999px;background:var(--glass-bg);border:1px solid rgba(150,150,170,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--glass-txt);font:.78rem/1 var(--mono);letter-spacing:.02em;pointer-events:none}.status-pill{position:absolute;top:12px;left:12px;padding:.4rem .8rem;border-radius:999px;background:var(--glass-bg);border:1px solid rgba(150,150,170,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--glass-txt);font:.72rem/1 var(--mono);letter-spacing:.03em;pointer-events:none}.hint-pill{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:.42rem .85rem;border-radius:999px;background:var(--glass-bg);border:1px solid rgba(150,150,170,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--glass-txt);font:.74rem/1 var(--mono);letter-spacing:.02em;pointer-events:none;white-space:nowrap}.filmstrip{display:flex;gap:6px;overflow-x:auto;overscroll-behavior:contain;padding-bottom:2px;min-height:56px}.filmstrip .thumb{appearance:none;-webkit-appearance:none;background:none;font:inherit;color:inherit;position:relative;height:56px;flex:0 0 auto;border-radius:7px;overflow:hidden;border:2px solid transparent;background:var(--surface-2);cursor:pointer;transition:border-color .12s,opacity .12s}.filmstrip .thumb img{height:100%;display:block}.filmstrip .thumb span{position:absolute;left:4px;bottom:2px;font:.6875rem/1 var(--mono);color:#fff;text-shadow:0 1px 2px #000}.filmstrip .thumb.selected{border-color:#ff2e88;box-shadow:0 0 0 1px #ff2e88,inset 0 0 0 2px #ffffffd9}.filmstrip .thumb.excluded{border-color:#ff5a5a80}.filmstrip .thumb.excluded img{opacity:.4;filter:grayscale(.7)}.filmstrip .thumb.excluded:after{content:"";position:absolute;inset:0;background:linear-gradient(to top left,transparent calc(50% - 1px),#ff5a5a calc(50% - 1px),#ff5a5a calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(to bottom left,transparent calc(50% - 1px),#ff5a5a calc(50% - 1px),#ff5a5a calc(50% + 1px),transparent calc(50% + 1px))}.controls{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.controls button{padding:.6rem 1rem;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--txt-2);font-weight:600;font-size:.9rem;cursor:pointer;flex:1;min-width:6rem}.controls button:active{background:var(--surface-3)}.controls button:disabled{opacity:.45}.controls .primary{background:var(--macro);border-color:transparent;color:#fff;box-shadow:0 4px 16px #ff5e7e47}.controls .ghost{background:transparent}.controls .status-inline{flex:0 0 auto;margin-left:auto;font:.72rem/1.3 var(--mono);color:var(--txt-3);text-align:right;min-width:0}.progress{display:flex;align-items:center;gap:.6rem}.progress #progressBar{flex:1;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.progress #progressBar:after{content:"";display:block;height:100%;width:var(--p, 0%);background:var(--macro);transition:width .15s}.progress span{font:.75rem/1 var(--mono);color:var(--txt-2);min-width:5rem;text-align:right}.status{font:.75rem/1.3 var(--mono);color:var(--txt-3);margin:0;min-height:1.1em}dialog#helpDlg{border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--txt);max-width:30rem;padding:1.4rem;box-shadow:var(--shadow)}dialog#helpDlg::backdrop{background:#0009}dialog#helpDlg h2{margin:0 0 .7rem;font:600 1.2rem/1.2 var(--display)}dialog#helpDlg h3{margin:1.1rem 0 .35rem;font:600 .95rem/1.2 var(--display);color:var(--txt)}dialog#helpDlg p{color:var(--txt-2)}dialog#helpDlg ul{margin:.35rem 0;padding-left:1.2rem;color:var(--txt-2);font-size:.9rem;line-height:1.5}dialog#helpDlg li{margin:.2rem 0}dialog#helpDlg strong{color:var(--txt)}dialog#helpDlg .muted{color:var(--txt-3);font-size:.85rem}dialog#helpDlg .from-app{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;margin:.7rem 0}dialog#helpDlg .from-app p{margin:0}dialog#helpDlg .from-app a{color:var(--accent);font-weight:600}dialog#helpDlg .inline-btn{width:auto;display:inline-block;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--txt-2);font:500 .8rem/1 var(--ui);cursor:pointer}.hub-row{display:flex;align-items:center;gap:11px;margin:1rem 0 .2rem;padding:10px 12px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface-2);color:var(--txt);text-decoration:none;-webkit-tap-highlight-color:transparent}.hub-row:active{border-color:var(--accent)}.hub-row .hub-mark{flex:none;width:28px;height:28px;border-radius:8px;box-shadow:0 2px 8px #00000059}.hub-row .hub-txt{min-width:0;flex:1}dialog#helpDlg .hub-row strong{display:block;font:600 .875rem/1.25 var(--ui);color:var(--txt)}.hub-row small{display:block;margin-top:2px;font-size:.75rem;line-height:1.35;color:var(--txt-2)}.hub-row .hub-go{flex:none;color:var(--accent);font-size:.9375rem}dialog#helpDlg button{margin-top:.6rem;padding:.55rem 1.2rem;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--txt);cursor:pointer}dialog#helpDlg .theme-row{display:flex;align-items:center;gap:10px;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}.theme-toggle{display:inline-flex;align-items:center;gap:9px;width:auto;margin:0;padding:0;border:none;background:none;color:var(--txt-2);font:500 .8125rem/1 var(--ui);cursor:pointer}.theme-toggle .tt-track{width:40px;height:22px;border-radius:999px;background:var(--surface-3);border:1px solid var(--line);position:relative;flex:none;transition:background .15s ease}.theme-toggle .tt-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--txt-2);transition:transform .15s ease,background .15s ease}.theme-toggle[aria-checked=true] .tt-track{background:var(--accent);border-color:var(--accent)}.theme-toggle[aria-checked=true] .tt-knob{transform:translate(18px);background:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spinner{animation:none!important;border-top-color:var(--line-2)!important}}dialog#helpDlg button{min-height:44px}dialog#helpDlg .hub-row{min-height:44px}small{font-size:max(.6875rem,.8em)}.bar .home{min-height:44px}.pal-row{display:block}.pal-head{margin:0 0 8px;font:600 .875rem/1.2 var(--display);color:var(--txt)}.pal-picker{display:flex;flex-direction:column;gap:8px}.pal-opt{display:block;width:100%;min-height:44px;margin:0;padding:9px 12px;text-align:left;border:1px solid var(--line-2);border-radius:10px;background:var(--surface-2);color:var(--txt);cursor:pointer}.pal-opt[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.pal-name{display:block;font:500 .875rem/1.3 var(--ui)}.pal-opt[aria-checked=true] .pal-name{font-weight:700}.pal-opt[aria-checked=true] .pal-name:after{content:" — in use";font-weight:500;color:var(--txt-2)}.pal-note{display:block;margin-top:2px;font-size:.75rem;line-height:1.35;color:var(--txt-2)}dialog#helpDlg a:not(.hub-row){text-decoration:underline;text-underline-offset:2px}@media (prefers-contrast: more){:root{--txt-3: var(--txt-2);--line: var(--line-2)}}::selection{background:var(--accent-soft);color:var(--txt)}.pal-opt{display:flex;align-items:center;gap:12px}.pal-sw{flex:none;display:flex;width:76px;height:46px;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line-2)}.pal-sw-half{flex:1;display:grid;place-items:center}.pal-sw-half[data-mode=night]{background:var(--sw-n-page)}.pal-sw-half[data-mode=day]{background:var(--sw-d-page)}.pal-sw-card{position:relative;width:26px;height:20px;border-radius:4px;display:flex;align-items:center;padding:0 4px}.pal-sw-half[data-mode=night] .pal-sw-card{background:var(--sw-n-surface);border:1px solid var(--sw-n-rail)}.pal-sw-half[data-mode=day] .pal-sw-card{background:var(--sw-d-surface);border:1px solid var(--sw-d-rail)}.pal-sw-card i{display:block;width:11px;height:3px;border-radius:2px}.pal-sw-half[data-mode=night] .pal-sw-card i{background:var(--sw-n-txt)}.pal-sw-half[data-mode=day] .pal-sw-card i{background:var(--sw-d-txt)}.pal-sw-card b{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%}.pal-sw-half[data-mode=night] .pal-sw-card b{background:var(--sw-n-accent)}.pal-sw-half[data-mode=day] .pal-sw-card b{background:var(--sw-d-accent)}.pal-sw[data-pal=instrument]{--sw-n-page: var(--pal-instrument-night-page);--sw-n-surface: var(--pal-instrument-night-surface);--sw-n-rail: var(--pal-instrument-night-rail);--sw-n-txt: var(--pal-instrument-night-txt);--sw-n-accent: var(--pal-instrument-night-accent);--sw-d-page: var(--pal-instrument-day-page);--sw-d-surface: var(--pal-instrument-day-surface);--sw-d-rail: var(--pal-instrument-day-rail);--sw-d-txt: var(--pal-instrument-day-txt);--sw-d-accent: var(--pal-instrument-day-accent)}.pal-sw[data-pal=paper]{--sw-n-page: var(--pal-paper-night-page);--sw-n-surface: var(--pal-paper-night-surface);--sw-n-rail: var(--pal-paper-night-rail);--sw-n-txt: var(--pal-paper-night-txt);--sw-n-accent: var(--pal-paper-night-accent);--sw-d-page: var(--pal-paper-day-page);--sw-d-surface: var(--pal-paper-day-surface);--sw-d-rail: var(--pal-paper-day-rail);--sw-d-txt: var(--pal-paper-day-txt);--sw-d-accent: var(--pal-paper-day-accent)}.pal-sw[data-pal=mono]{--sw-n-page: var(--pal-mono-night-page);--sw-n-surface: var(--pal-mono-night-surface);--sw-n-rail: var(--pal-mono-night-rail);--sw-n-txt: var(--pal-mono-night-txt);--sw-n-accent: var(--pal-mono-night-accent);--sw-d-page: var(--pal-mono-day-page);--sw-d-surface: var(--pal-mono-day-surface);--sw-d-rail: var(--pal-mono-day-rail);--sw-d-txt: var(--pal-mono-day-txt);--sw-d-accent: var(--pal-mono-day-accent)}.pal-sw[data-pal=soft]{--sw-n-page: var(--pal-soft-night-page);--sw-n-surface: var(--pal-soft-night-surface);--sw-n-rail: var(--pal-soft-night-rail);--sw-n-txt: var(--pal-soft-night-txt);--sw-n-accent: var(--pal-soft-night-accent);--sw-d-page: var(--pal-soft-day-page);--sw-d-surface: var(--pal-soft-day-surface);--sw-d-rail: var(--pal-soft-day-rail);--sw-d-txt: var(--pal-soft-day-txt);--sw-d-accent: var(--pal-soft-day-accent)}.pal-txt{min-width:0;flex:1}
