:root{--abyss:#06121a;--deep:#0a1d28;--surface:#96d7e112;--surface-2:#96d7e11f;--surface-solid:#0e2430;--line:#96d7e129;--fg:#e8f6f3;--muted:#8fb0b8;--accent:#3fe0c5;--accent-2:#38bdf8;--on-accent:#032620;--warm:#ff8f7a;--err:#ff7a7a;--scrim:#030c12b8;--glow:#3fe0c559;--bg-image:radial-gradient(120% 55% at 50% -12%, #1f788c8c 0%, transparent 62%), radial-gradient(80% 40% at 100% 100%, #14466e59 0%, transparent 70%);--bg:var(--abyss);--panel:var(--surface);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--r-1:8px;--r-2:12px;--r-3:18px;--r-pill:999px;--shadow-1:0 1px 2px #00000059;--shadow-2:0 8px 28px #0006;--blur:16px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-0:.8rem;--fs-1:.9rem;--fs-2:1rem;--fs-3:1.25rem;--fs-4:1.75rem;--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (transition-timing-function:linear(0, 1)){:root{--ease-spring:linear(0, .009, .035 2.1%, .141, .281 6.7%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1)}}:root[data-theme=light]{--abyss:#f1f8f8;--deep:#e4f0f1;--surface:#ffffffbd;--surface-2:#fffffff2;--surface-solid:#fff;--line:#0a3c4629;--fg:#0b2a33;--muted:#4b6a73;--accent:#0a7f70;--accent-2:#1274a8;--on-accent:#fff;--warm:#c24a35;--err:#b3261e;--scrim:#e6f2f3cc;--glow:#0a7f7047;--bg-image:radial-gradient(120% 55% at 50% -12%, #78c8cd80 0%, transparent 62%), radial-gradient(80% 40% at 100% 100%, #96bee159 0%, transparent 70%);--shadow-1:0 1px 2px #0a3c461f;--shadow-2:0 8px 28px #0a3c462e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.glass{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.25);backdrop-filter:blur(var(--blur)) saturate(1.25)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:var(--surface-solid)}}:root[data-effects=reduced] .glass{background:var(--surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none}@media (prefers-reduced-motion:reduce){:root{--dur-1:1ms;--dur-2:1ms;--dur-3:1ms;--ease-spring:linear}*,:before,:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background-color:var(--bg);background-image:var(--bg-image);color:var(--fg);font:var(--fs-2) / 1.45 var(--font);letter-spacing:.005em;-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;overflow-x:hidden}h1{margin:var(--s-2) 0;font-size:var(--fs-4);letter-spacing:-.02em;font-weight:700}h2{margin:var(--s-5) 0 var(--s-2);font-size:var(--fs-0);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select,button,.chip,.filebtn{font:inherit;border-radius:var(--r-2);border:1px solid var(--line);background:var(--surface);color:inherit;width:100%;margin:6px 0;padding:11px 14px}input,textarea,select{transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow);outline:none}textarea{resize:none}button,.filebtn,.tabs a{transition:transform var(--dur-2) var(--ease-spring), background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), opacity var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out)}button{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--on-accent);cursor:pointer;box-shadow:var(--shadow-1);border:0;font-weight:600}button:active:not(:disabled),.filebtn:active{transition-duration:var(--dur-1);transition-timing-function:var(--ease-out);transform:scale(.96)}button.ghost,.filebtn{background:var(--surface);color:var(--fg);border:1px solid var(--line);box-shadow:none;font-weight:500}@media (hover:hover){button:hover:not(:disabled){box-shadow:var(--shadow-1), 0 0 0 3px var(--glow)}button.ghost:hover:not(:disabled),.filebtn:hover{background:var(--surface-2);box-shadow:none}}button:disabled{opacity:.45;cursor:default}button.small,.filebtn,button.icon{width:auto;margin:0;padding:7px 14px}button.icon{color:var(--fg);box-shadow:none;background:0 0;font-size:1.2rem}.filebtn{cursor:pointer;text-align:center;display:inline-block}.row{gap:var(--s-2);align-items:center;display:flex}.row>button{flex:1;width:auto}.row>button.small{flex:none}.muted{color:var(--muted)}.error{color:var(--err)}.version{margin-top:var(--s-5)}.toggle input[type=checkbox]{appearance:none;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);cursor:pointer;width:44px;height:26px;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);flex:none;padding:0;position:relative}.toggle input[type=checkbox]:after{content:"";background:var(--fg);width:20px;height:20px;transition:transform var(--dur-3) var(--ease-spring);border-radius:50%;position:absolute;top:2px;left:2px}.toggle input[type=checkbox]:checked{background:var(--accent);border-color:#0000}.toggle input[type=checkbox]:checked:after{background:var(--on-accent);transform:translate(18px)}.shell{flex-direction:column;height:100%;display:flex}.view{flex:1;min-height:0;overflow:hidden auto}.view-page{height:100%;min-height:100%;animation:page-in var(--dur-3) var(--ease-out) backwards}.view-page[data-dir=forward]{animation-name:page-in-forward}.view-page[data-dir=back]{animation-name:page-in-back}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}@keyframes page-in-forward{0%{opacity:0;transform:translate(28px)}}@keyframes page-in-back{0%{opacity:0;transform:translate(-28px)}}.page{max-width:640px;padding:max(16px, env(safe-area-inset-top)) 16px 24px;margin:0 auto}.tabs{grid-template-columns:repeat(var(--n,5), 1fr);padding-bottom:env(safe-area-inset-bottom);border-width:1px 0 0;border-radius:0;display:grid;position:relative}.tab-indicator{width:calc(100% / var(--n,5));height:3px;transform:translateX(calc(var(--i,0) * 100%));transition:transform var(--dur-3) var(--ease-spring);pointer-events:none;position:absolute;top:0;left:0}.tab-indicator:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));width:28px;height:100%;box-shadow:0 2px 10px var(--glow);border-radius:0 0 3px 3px;margin:0 auto;display:block}.tabs a{color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:9px 2px 8px;font-size:.72rem;text-decoration:none;display:flex}.tabs a:active .tab-icon{transform:scale(.88)}.tabs a.on{color:var(--accent);font-weight:600}.tab-icon{transition:transform var(--dur-3) var(--ease-spring);place-items:center;display:grid;position:relative}.tabs a.on .tab-icon{transform:translateY(-1px)scale(1.08)}.badge{border-radius:var(--r-pill);background:var(--warm);min-width:16px;height:16px;color:var(--bg);text-align:center;animation:pop var(--dur-3) var(--ease-spring) backwards;padding:0 4px;font-size:.65rem;font-weight:700;line-height:16px;position:absolute;top:-5px;right:-9px}@keyframes pop{0%{opacity:0;transform:scale(.3)}}.hero{text-align:center;padding-top:max(10vh, env(safe-area-inset-top))}.hero .logo{margin:0 auto var(--s-3)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--s-1) var(--s-4) var(--s-4);margin:var(--s-3) 0}.card>h2:first-child{margin-top:var(--s-3)}.sheet-root{z-index:50;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{background:var(--scrim);opacity:var(--sheet-o,1);animation:fade-in var(--dur-2) var(--ease-out) backwards;position:absolute;inset:0}.sheet{border-radius:var(--r-3) var(--r-3) 0 0;width:100%;max-width:640px;max-height:86%;padding:0 var(--s-4) max(var(--s-4), env(safe-area-inset-bottom));box-shadow:var(--shadow-2);background:var(--surface-solid);transform:translateY(var(--sheet-y,0px));transition:transform var(--dur-3) var(--ease-spring);animation:sheet-up var(--dur-3) var(--ease-out) backwards;outline:none;position:relative;overflow-y:auto}.sheet.dragging{transition:none}.sheet-grip{height:28px;margin:0 calc(var(--s-4) * -1);touch-action:none;cursor:grab;place-items:center;display:grid}.sheet-grip span{border-radius:var(--r-pill);background:var(--line);width:38px;height:4px}.sheet-title{margin:0 0 var(--s-2);color:var(--fg);font-size:var(--fs-3);text-transform:none;letter-spacing:-.01em}.sheet-root.closing .sheet-backdrop{animation:sheet-fade-out var(--dur-2) var(--ease-in) forwards}.sheet-root.closing .sheet{animation:sheet-down var(--dur-2) var(--ease-in) forwards}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes sheet-fade-out{to{opacity:0}}.empty-state{text-align:center;padding:18vh 0 var(--s-5);position:relative;overflow:hidden}.empty-state>:not(.drift){position:relative}.empty-icon{width:64px;height:64px;margin-bottom:var(--s-2);color:var(--accent);background:var(--surface);border:1px solid var(--line);box-shadow:0 0 28px var(--glow);border-radius:50%;place-items:center;animation:5s ease-in-out infinite bob-soft;display:inline-grid}.empty-title{margin:0 0 var(--s-2);color:var(--fg);font-size:var(--fs-3);letter-spacing:-.01em;text-transform:none}.empty-body .muted{margin:0 auto var(--s-3);max-width:28ch}.drift{pointer-events:none;position:absolute;inset:0}.drift .d{border:1px solid var(--line);background:var(--surface);opacity:.7;border-radius:50%;width:10px;height:10px;animation:11s ease-in-out infinite alternate drift;position:absolute}.drift .d.plank{background:var(--warm);opacity:.35;border:0;border-radius:4px;width:26px;height:7px}.drift .d1{top:22%;left:12%}.drift .d2{width:14px;height:14px;animation-duration:14s;animation-delay:-3s;top:30%;left:82%}.drift .d3{width:6px;height:6px;animation-duration:9s;animation-delay:-5s;top:70%;left:26%}.drift .d4{animation-duration:16s;animation-delay:-2s;top:62%;left:70%}.drift .d5{animation-duration:12s;animation-delay:-7s;top:14%;left:52%}.drift .d6{animation-duration:18s;animation-delay:-9s;top:52%;left:8%}@keyframes drift{0%{transform:translate(0)rotate(0)}to{transform:translate(26px,-18px)rotate(14deg)}}@keyframes bob-soft{50%{transform:translateY(-5px)}}.skeleton-row{padding:var(--s-3) 0;border-bottom:1px solid var(--line);animation:fade-in var(--dur-3) var(--ease-out) backwards}.skeleton-line{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);background-size:220% 100%;height:14px;margin:6px 0;animation:1.5s ease-in-out infinite shimmer;display:block}.skeleton-line.short{width:30%;height:10px}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.logo{display:block}.logo-animated .logo-plank{transform-origin:30px 28px;animation:4.5s ease-in-out infinite bob}.logo-animated .logo-wave{animation:6s ease-in-out infinite sway}@keyframes bob{50%{transform:translateY(-3px)rotate(3deg)}}@keyframes sway{50%{transform:translate(-2px)}}.chat{flex-direction:column;max-width:640px;height:100%;margin:0 auto;display:flex}.messages{padding:max(16px, env(safe-area-inset-top)) 16px 8px;flex:1;overflow-y:auto}.empty{text-align:center;margin-top:30vh}.composer{border-top:1px solid var(--line);background:var(--bg);padding:8px 16px}.chip{width:auto;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;text-decoration:none;display:inline-block;overflow:hidden}.send{align-items:flex-end;gap:8px;display:flex}.send textarea{flex:1}.send button{width:auto}.options label{margin:6px 0;font-size:.9rem;display:block}.strip{gap:6px;padding:6px 0;display:flex;overflow-x:auto}.strip-item{background:var(--panel);flex:0 0 64px;width:64px;height:64px;margin:0;padding:0;overflow:hidden}.strip-item img{object-fit:cover;width:100%;height:100%}.blurred-img{filter:blur(14px)}.job{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--s-3) var(--s-4);margin:0 0 var(--s-3);box-shadow:var(--shadow-1);animation:card-in var(--dur-3) var(--ease-out) backwards}@keyframes card-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}.job header{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.job .status{color:var(--muted);font-size:var(--fs-0)}.pill{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);letter-spacing:.02em;transition:color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);padding:3px 10px;font-weight:600}.job.done .status{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.job.failed .status{color:var(--err);border-color:color-mix(in srgb, var(--err) 45%, transparent);background:color-mix(in srgb, var(--err) 12%, transparent)}.job .prompt{margin:var(--s-2) 0;overflow-wrap:anywhere}.job .row{margin-top:var(--s-2)}.job.fresh{animation:card-in var(--dur-3) var(--ease-out) backwards, finish-glow 1.4s var(--ease-out) 1}@keyframes finish-glow{0%{box-shadow:var(--shadow-1), 0 0 0 0 var(--glow)}35%{box-shadow:var(--shadow-1), 0 0 0 6px var(--glow), 0 0 32px var(--glow)}to{box-shadow:var(--shadow-1), 0 0 0 0 transparent}}.progress{height:4px;margin:var(--s-2) 0;border-radius:var(--r-pill);background:var(--surface-2);position:relative;overflow:hidden}.progress>span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-2));transform-origin:0;position:absolute;inset:0;transform:scaleX(.12)}.progress:not(.timed)>span{width:40%;animation:slide 1.4s var(--ease-out) infinite;transform:none}.progress.timed>span{animation:fill var(--est) cubic-bezier(.1, .6, .3, 1) forwards}@keyframes slide{0%{transform:translate(-110%)}to{transform:translate(260%)}}@keyframes fill{to{transform:scaleX(.94)}}.grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;display:grid}.thumb{aspect-ratio:1;background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--r-2);width:100%;margin:0;padding:0;position:relative;overflow:hidden}.thumb .media{object-fit:cover;width:100%;height:100%;transition:filter var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out);display:block}.thumb.blurred .media{filter:blur(22px)brightness(.8);transform:scale(1.12)}.thumb:not(.blurred):active .media{transform:scale(1.03)}.reveal{color:#fff;text-shadow:0 1px 3px #000;justify-content:center;align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex;position:absolute;inset:0}audio.media{grid-column:1/-1;width:100%}.list{margin:0;padding:0;list-style:none}.wf{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 0;display:flex}.wf-main{cursor:pointer;flex-direction:column;flex:1;min-width:0;display:flex}.wf-main strong,.wf-main span{text-overflow:ellipsis;overflow:hidden}.wf-detail{flex-basis:100%;font-size:.9rem}.toggle{align-items:center;gap:10px;padding:6px 0;display:flex}.toggle input{width:auto;margin:0}.probe{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);border-radius:8px;padding:8px;font-size:.75rem}.lightbox{z-index:10;background:rgba(2, 10, 15, calc(.94 * var(--lb-o,1)));padding-bottom:env(safe-area-inset-bottom);animation:fade-in var(--dur-2) var(--ease-out) backwards;flex-direction:column;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.lb-body{min-height:0;padding:var(--s-3);touch-action:none;cursor:zoom-out;flex:1;place-items:center;display:grid}.lb-media{max-width:100%;min-height:0;max-height:100%;transform:translateY(var(--lb-y,0)) scale(var(--lb-s,1));transition:transform var(--dur-3) var(--ease-spring);place-items:center;display:grid}.lb-body.dragging .lb-media{transition:none}.lb-media img,.lb-media video{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;object-fit:contain;border-radius:var(--r-2);max-width:100%;max-height:100%}.lb-body img,.lb-body video{object-fit:contain;max-width:100%;max-height:100%}.lb-bar{padding:var(--s-2) var(--s-3) var(--s-3);opacity:var(--lb-o,1);border-width:1px 0 0;flex-wrap:wrap;gap:6px;display:flex}.lb-bar button{flex:28%;width:auto;margin:0}.toast{top:max(16px, env(safe-area-inset-top));border-radius:var(--r-pill);font-size:var(--fs-1);animation:toast-in var(--dur-3) var(--ease-spring) backwards;margin:0;padding:8px 16px;position:absolute;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-12px)scale(.9)}}.view-result{margin:8px 0}.grid.carrier{opacity:.7;grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.m3ds-body{min-height:0;padding:max(16px, env(safe-area-inset-top)) 16px 8px;width:100%;max-width:720px;color:var(--fg);flex:1;margin:0 auto;overflow-y:auto}.m3ds-title{color:var(--fg);text-transform:none;letter-spacing:0;margin:0 0 8px;font-size:1.1rem}.model-host{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:100%;height:55vh;overflow:hidden}.textview{background:var(--panel);border:1px solid var(--line);white-space:pre;border-radius:8px;max-height:60vh;padding:10px;font-size:.8rem;overflow:auto}.textview.wrap{white-space:pre-wrap;overflow-wrap:anywhere}.result-type{margin:8px 0;display:block}.result-type select{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--fg);font:inherit;border-radius:8px;padding:8px}.m3ds-panel{background:var(--bg)}.heat{margin:8px 0}.heat p{font-size:inherit;margin:4px 0}.heat a{color:var(--accent);font-size:inherit}.heat-add{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.heat-add input{flex:1;margin:0}.linkbtn{width:auto;color:var(--muted);font:inherit;background:0 0;border:0;margin:0;padding:0;text-decoration:underline}.banner{padding:max(8px, env(safe-area-inset-top)) 16px 8px;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--on-accent);justify-content:space-between;align-items:center;gap:8px;font-size:.9rem;display:flex}.banner.offline{background:var(--panel);color:var(--fg);border-bottom:1px solid var(--line)}.banner button{background:#00000040}.install-card{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:12px;margin:12px 0;padding:12px}.install-card p{color:var(--fg);margin:0 0 8px}.empty .muted{margin-bottom:12px}.gate h1{margin-top:24px}.terms{background:var(--panel);border:1px solid var(--line);border-radius:12px;max-height:42vh;margin:12px 0;padding:4px 14px;font-size:.9rem;overflow-y:auto}.terms h2{margin:14px 0 4px;font-size:.85rem}.terms p{margin:4px 0 8px}.privacy-cover{z-index:100;background:var(--bg);color:var(--muted);place-items:center;font-size:1.2rem;transition:none;animation:none;display:grid;position:fixed;inset:0}.lock{text-align:center;padding-top:12vh}.dots{justify-content:center;gap:12px;margin:20px 0;display:flex}.dot{border:2px solid var(--muted);border-radius:50%;width:14px;height:14px}.dot.on{background:var(--fg);border-color:var(--fg)}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:300px;margin:16px auto;display:grid}.keypad button{margin:0;padding:16px 0;font-size:1.3rem}.forgot{text-align:left;margin-top:24px}.confirm .error,.lock-settings .row{margin:8px 0}details h3{margin:12px 0 2px;font-size:.95rem}.share-preview{border-radius:12px;max-width:100%;max-height:40vh;margin:8px auto;display:block}.job.highlight{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.banner-link{color:var(--on-accent);font-weight:600;text-decoration:underline}.update-panel{margin:8px 0}.update-notes p{margin:4px 0}.update-permission{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin:8px 0;padding:10px}
