.hero-backdrop{pointer-events:none;z-index:0;height:min(78vh,720px);position:absolute;inset:0 0 auto;overflow:hidden}.hero-backdrop img{object-fit:cover;object-position:30% 0;width:100%;height:100%;opacity:var(--hero-opacity);-webkit-mask-image:linear-gradient(#000 35%,#0000);mask-image:linear-gradient(#000 35%,#0000)}:root{--hero-opacity:.55}:root[data-theme=light]{--hero-opacity:.12}.screen>.hero-backdrop~:is(header,main,footer){z-index:1;position:relative}.screen>.hero-backdrop~.topbar{background:0 0}.logo-mark{border-radius:22%;flex:none}.login-body{justify-content:center;gap:var(--s3);padding:0 32px calc(env(safe-area-inset-bottom) + 10vh);flex-direction:column;display:flex}.login-body h1{font-size:var(--fs-hero);margin:0;font-weight:600;line-height:1.25}.login-line{color:var(--muted);font-size:var(--fs-body);margin-bottom:var(--s5)}.login-body input{min-height:48px;padding:12px 16px}.login-body .err{margin-top:calc(-1 * var(--s1))}.login-body input:focus-visible{outline:none}.login-form{display:contents}:root{--ground:var(--paper);--surface:var(--panel);--raised:var(--hair);--active:var(--hair-strong);--line:var(--hair);--sheet-line:var(--hair-strong);--border:var(--line);--control:var(--hair-strong);--text:var(--ink);--muted:var(--ink-2);--faint:var(--ink-3);--speech:#ecd9b4;--v0:#e8c9a0;--v1:#9fd0e8;--v2:#eeaac8;--v3:#b5d99c;--v4:#c9b8f2;--v5:#f2b69c;--data:var(--accent);--negative:#e5566f;--positive:#7fc98a;--heart:var(--data);--heat-1:#f4a3b8;--heat-2:#f0596e;--heat-3:#e0304f;--primary:var(--ink);--primary-ink:var(--paper);--on-data:var(--accent-ink);--scrim:#0000008c;--on-art:#f4f2ef;--on-art-muted:#f4f2efbd;--fs-k:1;--fs-cap:calc(11px * var(--fs-k));--fs-sub:calc(13px * var(--fs-k));--fs-body:calc(15px * var(--fs-k));--fs-read:calc(16px * var(--fs-k));--fs-title:calc(18px * var(--fs-k));--fs-hero:calc(22px * var(--fs-k));--fs-sec:calc(12px * var(--fs-k));--fs-bar:calc(16px * var(--fs-k));--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--gutter:20px;--r-ctl:10px;--r-card:14px;--r-sheet:20px;--radius-card:var(--r-card);--radius-inner:var(--r-ctl);--hair-w:.5px;--shadow-float:var(--shadow-lift);--t-fast:.12s;--t:.24s;--t-slow:.36s;--paper:#0d0c0b;--panel:#171615;--panel-glass:#141311d6;--hair:#ece2d01a;--hair-strong:#ece2d033;--ink:#eeeae4;--ink-2:#a39e96;--ink-3:#706b64;--accent:#c9ae80;--accent-ink:#15120d;--accent-line:#c9ae808c;--rank-common:#ffffff47;--rank-rare:#d6d3cd;--rank-legend:#d9bf90;--art-fade:#0b0a09db;--shadow-lift:0 10px 26px #00000061;--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5 0 0 0 0 .47 0 0 0 0 .43 0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.32'/></svg>");--grain-ground:var(--grain);--art-soft-paper:url(/art/ui/themes/soft-signal/paper.webp);--art-cozy-velvet:url(/art/ui/themes/cozy/velvet.webp);--art-cozy-leather:url(/art/ui/themes/cozy/leather-panel.webp);--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Noto Sans CJK SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-display:"Songti SC", "STSong", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif SC", "Noto Serif CJK SC", serif;--font-num:"SF Pro Rounded", "SF Pro Display", "Avenir Next", -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", sans-serif;--font-ui:var(--font-body);--font-sans:var(--font-body);--font-serif:var(--font-display);--font-story:var(--font-display);--ls-label:.14em;--ease-out:cubic-bezier(.2, .8, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);font-size:calc(15px * var(--fs-k));font-kerning:normal;font-optical-sizing:auto;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;line-height:1.5}:root[data-theme=light]{--speech:#7a5520;--v0:#7a5520;--v1:#1f5f86;--v2:#9a2f62;--v3:#3f6d22;--v4:#5b3fa0;--v5:#9a4422;--negative:#c4304b;--positive:#2f8a43;--scrim:#00000059;--grain-ground:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .3 0 0 0 0 .25 0 0 0 0 .18 0 0 0 .3 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.3'/></svg>");--paper:#f5f1ea;--panel:#fbf9f5;--panel-glass:#fbf9f5e0;--hair:#34281a1c;--hair-strong:#34281a33;--ink:#1f1c18;--ink-2:#6c665e;--ink-3:#9d968c;--accent:#9c7b48;--accent-ink:#fff;--accent-line:#9c7b4880;--shadow-lift:0 8px 22px #3c2c1824;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--heat-1:#c24d72;--heat-2:#c42b3d;--heat-3:#8f1430}*{box-sizing:border-box}html{background:var(--grain-ground), var(--ground);color:var(--text);overscroll-behavior:none;margin:0;padding:0;overflow:hidden}body{color:var(--text);overscroll-behavior:none;background:0 0;margin:0;padding:0;overflow:hidden}#root{position:fixed;inset:0}@supports (height:100dvh){#root{height:var(--app-h,100dvh);min-height:100%;bottom:auto}}@media (display-mode:standalone){#root{height:auto;min-height:0;top:0;bottom:0}.backdrop{height:auto;top:0;bottom:0}}button,input,textarea,select{font:inherit;color:inherit}p{margin:0}ul{margin:0;padding-left:18px}h2,h3,h4{margin:0}button{background:var(--raised);border:var(--hair-w) solid var(--hair-strong);border-radius:var(--r-ctl);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:40px;transition:transform var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), background-color var(--t-fast) var(--ease-out), opacity var(--t-fast) var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}button:active{border-color:var(--ink-2);transform:scale(.98)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--primary);color:var(--primary-ink);border-color:#0000;font-weight:500}button.primary:active{opacity:.88;border-color:#0000}button.primary:disabled{background:var(--raised);color:var(--faint);opacity:1}button.danger{color:var(--negative)}button.wide{width:100%;min-height:48px;padding:12px}button.text{color:var(--muted);background:0 0;border:0;min-height:40px;font-size:15px}button.text:active{color:var(--text)}button.text.danger{color:var(--negative)}button.icon{width:44px;height:44px;min-height:44px;color:var(--muted);background:0 0;border:none;flex:none;padding:0}button.icon:active{color:var(--text)}button.link{text-underline-offset:3px;min-height:0;color:var(--muted);background:0 0;border:none;padding:2px 0;font-size:13px;text-decoration:underline}button.link.sug-more{min-height:44px}button.small{min-height:36px;padding:0 var(--s3);font-size:var(--fs-sub);flex:none}button.text.small{min-height:36px;padding:0 var(--s2);font-size:var(--fs-sub)}.tray-title button.link{min-height:32px;padding:0 4px}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}input,textarea{background:var(--surface);border:var(--hair-w) solid var(--hair-strong);border-radius:var(--r-ctl);width:100%;transition:border-color var(--t-fast) var(--ease-out);outline:none;padding:10px 12px;font-size:16px}input:focus,textarea:focus{border-color:var(--accent)}textarea{resize:none;line-height:1.5}.hint{color:var(--muted);font-size:13px;line-height:1.55}.row{gap:10px;display:flex}.row button{flex:1}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{white-space:nowrap;min-height:40px;color:var(--text);background:0 0;border-radius:999px;padding:4px 14px;font-size:14px}.chip.on{border-color:var(--accent);color:var(--accent);background:0 0}.chip.ghost{color:var(--muted);background:0 0;border-color:#0000}.chips.examples{align-items:flex-start;gap:var(--s2);flex-direction:column}.chip.example{border:var(--hair-w) solid var(--hair-strong);border-radius:var(--r-ctl);white-space:normal;text-align:left;justify-content:flex-start;max-width:100%;padding:8px 14px;line-height:1.45}.chip.tiny{flex:none;min-height:40px;padding:2px 12px;font-size:13px}.tag{box-shadow:inset 0 0 0 var(--hair-w) var(--hair-strong);color:var(--muted);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:400;line-height:1.4;display:inline-flex}.tag.data{color:var(--data);box-shadow:inset 0 0 0 var(--hair-w) var(--accent-line)}.tag.dim{opacity:.75}.tag.state{color:var(--negative);margin-left:0}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags .tag{margin-left:0}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sec,.drawer-body h4,.ledger h3,.lib-sec h3,.book-group h3,.plan-tasks h3,.tasks h4{font-size:var(--fs-sec);color:var(--faint);letter-spacing:var(--ls-label);font-weight:500;line-height:1.4}.sec{margin:var(--s6) 0 var(--s2)}.sec:first-child{margin-top:var(--s2)}.group{background:var(--surface);border-radius:var(--r-card);flex-direction:column;display:flex;overflow:hidden}.group>.item{position:relative}.group>.row,.group>.item>.row{justify-content:flex-start;align-items:center;gap:var(--s3);width:100%;min-height:52px;padding:var(--s3) var(--s4);color:var(--text);font-size:var(--fs-body);text-align:left;background:0 0;border:0;border-radius:0;margin:0;line-height:1.4;display:flex;position:relative}.group>:is(.row,.item)+:is(.row,.item):before{content:"";top:0;left:var(--s4);border-top:var(--hair-w) solid var(--line);position:absolute;right:0}.group>.row>svg:first-child,.group>.item>.row>svg:first-child{color:var(--muted);flex:none}.group>button.row:active,.group>.item>button.row:active{background:var(--raised);transform:none}.group>.row.sel,.group>.item>.row.sel{background:var(--raised)}.group>.row.danger,.group>.row.danger>svg:first-child{color:var(--negative)}.group .row .main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.group .row .sub{font-size:var(--fs-sub);color:var(--muted);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.group .row .sub.wrap{-webkit-line-clamp:none;line-clamp:none;display:block}.group .row .end{align-items:center;gap:var(--s1);color:var(--faint);font-size:var(--fs-sub);flex:none;margin-left:auto;display:inline-flex}.group>.row button{flex:none}.group>.item>.row-more{padding:0 var(--s4) var(--s4);gap:var(--s3);font-size:var(--fs-sub);flex-direction:column;line-height:1.6;display:flex}.row-acts{gap:var(--s2);flex-wrap:wrap;display:flex}.row-acts>button{white-space:nowrap;flex:1 1 0;min-width:0;min-height:40px}.radio{border:1.5px solid var(--control);width:20px;height:20px;transition:border var(--t-fast) var(--ease-out);border-radius:50%;flex:none}.radio.on{border:6px solid var(--text)}.switch{appearance:none;cursor:pointer;background:var(--control);width:44px;height:26px;min-height:0;transition:background var(--t) var(--ease-out);border:0;border-radius:13px;flex:none;margin:0;padding:0;position:relative}.switch:after{content:"";width:20px;height:20px;transition:left var(--t) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch:checked{background:var(--positive)}.switch:checked:after{left:21px}.screen{flex-direction:column;max-width:720px;height:100%;margin:0 auto;display:flex;position:relative}::view-transition-group(app-page){animation-duration:.15s;animation-timing-function:var(--ease-out)}::view-transition-old(app-page){animation:none}::view-transition-new(app-page){animation:app-page-reveal .15s var(--ease-out) both}::view-transition-group(app-tabbar){animation:none}::view-transition-old(app-tabbar){animation:none}::view-transition-new(app-tabbar){animation:none}@keyframes app-page-reveal{0%{opacity:0;transform:translateY(2px)}}@media (prefers-reduced-motion:reduce){::view-transition-group(app-page){animation:none}::view-transition-old(app-page){animation:none}::view-transition-new(app-page){animation:none}}.topbar{min-height:calc(env(safe-area-inset-top) + 56px);padding:env(safe-area-inset-top) 4px 0;background:var(--ground);flex:none;align-items:center;gap:0;display:flex}.topbar h1{min-width:0;font-family:var(--font-display);font-size:var(--fs-bar);letter-spacing:.02em;flex-direction:column;flex:1;align-items:center;margin:0 4px;font-weight:400;line-height:1.3;display:flex}.topbar h1>*{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.title-sub{font-size:var(--fs-cap);color:var(--faint);margin-top:1px;font-weight:400}.play-top h1{text-align:left;align-items:flex-start;margin:0 4px}.mini-dot{background:var(--data);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:8px}.icon-spacer{flex:none;width:44px}.scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;overflow-y:auto}.pad{padding:var(--s4) var(--gutter) calc(env(safe-area-inset-bottom) + var(--s6));gap:var(--s4);flex-direction:column;display:flex}.badge-host{position:relative}.run-dot{background:var(--data);border-radius:50%;flex:none;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}.badge-dot{background:var(--data);min-width:16px;height:16px;color:var(--on-data);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:600;display:flex;position:absolute;top:4px;right:2px}:where(.ph){min-width:1px;min-height:1px;display:inline-block}.avatar{background:var(--raised);width:40px;height:40px;color:var(--muted);box-shadow:inset 0 0 0 var(--hair-w) var(--hair-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:500;display:flex;overflow:hidden}.bottom-bar{gap:var(--s2);padding:var(--s3) var(--gutter) calc(env(safe-area-inset-bottom) + var(--s4));background:var(--ground);flex:none;display:flex}.bottom-bar>button{flex:1;min-height:48px}.world-card{background:var(--surface);border-radius:var(--radius-card);flex-direction:column;gap:12px;padding:20px;display:flex}.world-card h2{font-family:var(--font-display);align-items:center;font-size:22px;font-weight:400;display:flex}.world-card p{color:var(--muted);font-size:15px;line-height:1.7}.world-card>.row{gap:12px;margin-top:8px}.world-card>.row button{min-height:48px}.pick-list{flex-direction:column;gap:10px;display:flex}.stream{padding:var(--s1) 0 var(--s4);flex-direction:column;display:flex}.scene-mark{padding:var(--s4) var(--gutter) var(--s2);margin-top:var(--s2);border-top:var(--hair-w) solid var(--line);color:var(--faint);align-items:center;gap:8px;font-size:13px;display:flex}.stream>div:first-child>.scene-mark{border-top:0;margin-top:0}.scene-mark b{color:var(--muted);font-weight:600}.scene-mark span:before{content:"·";margin-right:6px}.narr{padding:0 var(--gutter);font-size:var(--fs-read);margin:7px 0;line-height:1.75}.narr p+p{margin-top:14px}.speech{color:var(--speech)}.speech.v0{color:var(--v0)}.speech.v1{color:var(--v1)}.speech.v2{color:var(--v2)}.speech.v3{color:var(--v3)}.speech.v4{color:var(--v4)}.speech.v5{color:var(--v5)}.speech.me-say{color:var(--text)}.speech-who{background:var(--raised);vertical-align:2px;border-radius:6px;margin-right:4px;padding:0 6px;font-size:12px;line-height:1.6;display:inline-block}.me-to{border:var(--hair-w) solid var(--line);color:var(--faint);vertical-align:1px;border-radius:6px;margin-right:6px;padding:0 6px;font-size:12px;font-style:normal;display:inline-block}.writing{color:var(--faint);font-size:var(--fs-sub);align-items:center;gap:8px;display:inline-flex}.writing:before{content:"";background:var(--muted);width:8px;height:17px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.cursor{vertical-align:-2px;background:var(--muted);width:8px;height:17px;margin-left:2px;animation:1s steps(2,end) infinite blink;display:inline-block}.writing.streaming{margin-top:10px;display:block}.writing.streaming:before{display:none}.stream .me{margin:22px var(--gutter) 14px;padding-left:var(--s3);border-left:2px solid var(--control);color:var(--muted);font-size:var(--fs-body);line-height:1.6}.me-text{white-space:pre-wrap;overflow-wrap:anywhere}.me.do .me-text{font-style:italic}.me.act .me-text{color:var(--data)}.chat-me{display:flex}.me-bubble{background:var(--raised);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:20px 20px 6px;max-width:85%;padding:9px 14px;line-height:1.6}.me-plan{font-size:var(--fs-cap);color:var(--faint);margin-top:2px}.note{margin:6px var(--gutter);color:var(--muted);font-size:13px}.result{margin:0 var(--gutter) 14px;min-height:0;width:calc(100% - 2 * var(--gutter));text-align:left;font-size:var(--fs-sub);color:var(--muted);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:2px 8px;padding:2px 0;display:flex}.result:active{transform:none}.result{position:relative}.result:before{content:"";position:absolute;inset:-10px 0}.result .band{color:var(--text);font-weight:600}.result.up .band{color:var(--positive)}.result.mid .band{color:var(--data)}.result.down .band{color:var(--negative)}.result-mods{color:var(--faint);font-size:var(--fs-cap)}.result-sum{color:var(--faint);font-size:var(--fs-cap);flex-basis:100%}.result-push{margin:-6px var(--gutter) 14px;color:var(--muted);font-size:var(--fs-sub);flex-direction:column;align-items:flex-start;gap:6px;line-height:1.5;display:flex}.fx{margin:var(--s3) var(--gutter) 0;color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;line-height:1.7}.fx .chg.up{color:var(--positive)}.fx .chg.down{color:var(--negative)}.fx .chg.data,.fx .chg.prop{color:var(--data)}.fx .chg.prop.off{color:var(--faint);text-decoration:line-through}.fx-dot{color:var(--faint)}.fx-more{min-height:0;font-size:inherit;color:var(--faint);text-underline-offset:3px;background:0 0;border:0;margin:-10px 0;padding:10px 0;text-decoration:underline;display:inline}.fx .chg.ghost{color:var(--faint);margin-left:6px}.fx .chg.author-tag{color:var(--text)}.chg{font-variant-numeric:tabular-nums;font-size:12px}.composer{padding:6px var(--s3) max(var(--s3), calc(env(safe-area-inset-bottom) + 2px));border-top:var(--hair-w) solid var(--line);background:var(--ground);box-shadow:0 60px 0 var(--ground);flex-direction:column;flex:none;gap:6px;display:flex}.choices{padding:20px var(--gutter) var(--s2);flex-direction:column;display:flex}.sugs{border-top:var(--hair-w) solid var(--line);flex-direction:column;display:flex}.sug{border:0;border-bottom:var(--hair-w) solid var(--line);text-align:left;background:0 0;border-radius:0;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:8px 0}.sug:active{background:var(--surface);transform:none}.sug-label{font-size:var(--fs-body);min-width:0;line-height:1.5}.sug-meta{color:var(--faint);font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;gap:2px;font-size:13px;display:flex}.sug-meta .odds{color:var(--data)}.sug-meta .cost{color:var(--negative)}.choices .sug-more{color:var(--faint);align-self:flex-start}.end-scene{min-height:50px;color:var(--muted);background:0 0;border-radius:0;justify-content:flex-start;align-self:stretch;gap:10px;padding:0;font-size:15px}.end-scene:active{transform:none}.end-hint{margin-top:var(--s3);background:var(--surface);border-radius:var(--r-ctl);font-size:var(--fs-sub);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex}.trays-line{align-items:center;gap:2px;min-width:0;display:flex}.trays-line>.trays{flex:1;min-width:0}.trays{scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.trays::-webkit-scrollbar{display:none}.trays.fade-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000)}.trays.fade-l{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 32px),#0000)}.trays.fade-l.fade-r{-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000)}.trays-line>.mode.author-mode{flex:none}.trays .mode,.trays-line>.mode{min-height:44px;font-size:var(--fs-sub);color:var(--muted);white-space:nowrap;background:0 0;border-radius:8px;flex:none;gap:4px;padding:6px 10px}.trays .mode:active,.trays-line>.mode:active{transform:none}.trays .mode.on,.trays-line>.mode.on{background:var(--raised);color:var(--text)}.trays .mode.mech{color:var(--data)}.trays .mode.mech.on{background:var(--raised);color:var(--data)}.trays .fight-yield{flex:none;margin-left:auto}.chip.mech{color:var(--data)}.chip.mech.on{background:var(--data);color:var(--on-data)}.tray{padding:var(--s2) calc(var(--gutter) - var(--s3)) var(--s3);border-bottom:var(--hair-w) solid var(--line);flex-direction:column;gap:8px;max-height:40vh;display:flex;overflow-y:auto}.tray-sub{font-size:var(--fs-cap);color:var(--faint);margin-top:2px}.tray-title{font-size:var(--fs-sec);color:var(--faint);align-items:baseline;gap:8px;font-weight:600;display:flex}.tray-title .hint,.tray-title .link{margin-left:auto;font-weight:400}.verb-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.verb-grid button{min-height:36px;font-size:var(--fs-sub);padding:0}.mech-tray .tray-title{flex-wrap:wrap}.mech-tray .tray-title .hint{flex-basis:100%;margin-left:0}.mech-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.mech-off{align-self:flex-start;margin:6px 0;font-size:12px}.mech-action{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:52px;padding:6px}.mech-action>*{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.fight-tray .mech-action{text-align:left;align-items:flex-start}.fight-tray .mech-action>*{white-space:normal}.mech-action b{color:var(--data);font-size:var(--fs-sub)}.mech-action span{color:var(--muted);font-size:12px}.mech-action small{font-size:var(--fs-cap);color:var(--faint)}.composer{position:relative}.tray-scrim{z-index:4;background:#00000047;animation:.18s both tray-fade;position:fixed;inset:0}.tray-dock{z-index:5;overscroll-behavior:contain;background:var(--surface);border:.5px solid var(--sheet-line);border-radius:20px;max-height:50dvh;padding:0 4px 6px;transition:transform .15s;animation:.22s cubic-bezier(.2,.8,.2,1) both tray-up;position:absolute;bottom:calc(100% - 6px);left:8px;right:8px;overflow-y:auto;box-shadow:0 -8px 32px #0006}.composer:has(.tray-dock)>:not(.tray-scrim,.tray-dock){z-index:5;position:relative}.tray-grab{z-index:1;touch-action:none;cursor:grab;background:inherit;justify-content:center;align-items:center;height:22px;display:flex;position:sticky;top:0}.tray-grab i{background:var(--control);border-radius:2px;width:36px;height:4px}.composer .tray-dock>.tray{background:0 0;border:0;border-radius:0;max-height:none;padding-top:0;overflow:visible}.tray-dock .tray-title .hint{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tray-dock .verb-grid button{min-height:44px}.tray-dock .chips .chip{min-height:40px}@keyframes tray-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes tray-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.tray-dock,.tray-scrim{animation:none}}.composer-row{flex-direction:column;gap:6px;display:flex}.preview{color:var(--data);align-self:flex-start;align-items:center;gap:4px;padding:0 6px;font-size:13px;display:inline-flex}.input-box{background:var(--surface);border:var(--hair-w) solid var(--line);border-radius:24px;align-items:flex-end;gap:4px;padding:3px;display:flex}.input-box:focus-within{border-color:var(--control)}.composer .input-box textarea:focus-visible{outline:none}.composer .input-box textarea{background:0 0;border:0;border-radius:20px;flex:1;min-width:0;min-height:40px;max-height:140px;padding:10px 4px 10px 13px;line-height:20px}.send{background:var(--primary);width:44px;height:44px;min-height:44px;color:var(--primary-ink);border-radius:50%;flex:none;padding:0}.send:disabled{background:var(--raised);color:var(--muted);opacity:1}.plan{padding:0 var(--gutter);flex-direction:column;min-height:100%;display:flex}.plan-strip{flex-direction:column;display:flex}.plan-brief{border:var(--hair-w) solid var(--line);border-radius:var(--r-card);background:var(--surface);flex-direction:column;gap:2px;margin:0 0 12px;padding:10px 12px;display:flex}.plan-brief h3{color:var(--faint);font-size:var(--fs-cap);letter-spacing:.08em;margin:0 0 4px;font-weight:600}.plan-brief>:is(div,button){min-height:44px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;align-items:flex-start;gap:8px;padding:7px 0;display:flex}.plan-brief>button:active{background:var(--active);transform:none}.plan-brief>:is(div,button)+:is(div,button){border-top:var(--hair-w) solid var(--line)}.plan-brief svg{color:var(--data);flex:none;margin-top:2px}.plan-brief span{flex-direction:column;gap:2px;min-width:0;display:flex}.plan-brief b{color:var(--text);font-size:var(--fs-sub);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.plan-brief small{color:var(--faint);font-size:var(--fs-cap)}.deadline,.opp{font-size:var(--fs-sub);color:var(--data);border-bottom:var(--hair-w) solid var(--line);align-items:center;gap:8px;padding:10px 0;display:flex}.opp{text-align:left;border-width:0 0 1px;border-color:var(--line);background:0 0;border-radius:0;justify-content:flex-start;min-height:0}.opp:active{transform:none}.deadline b,.opp b{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-weight:400}.places{flex-direction:column;display:flex}.place{text-align:left;border:0;border-bottom:var(--hair-w) solid var(--line);background:0 0;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;min-width:0;padding:14px 0;display:flex}.place:active{background:var(--surface);transform:none}.place-top{align-items:baseline;gap:8px;min-width:0;display:flex}.place-top b{font-size:var(--fs-body);white-space:nowrap;font-weight:600}.place-top small{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.place-top .cur{color:var(--muted);border:var(--hair-w) solid var(--hair-strong);border-radius:4px;flex:none;padding:0 4px;font-size:11px;line-height:16px}.place-status{font-size:var(--fs-cap);color:var(--faint);white-space:nowrap;flex:none;margin-left:auto}.place-status.data{color:var(--data)}.place-mood{font-size:var(--fs-sub);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.place-people{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.place-line{color:var(--data);align-items:flex-start;gap:5px;font-size:13px;line-height:1.45;display:flex}.place-line svg{flex:none;margin-top:2px}.place-line.signal{color:var(--muted)}.plan-tasks{padding-bottom:var(--s2);flex-direction:column;gap:8px;display:flex}.plan-tasks .sec{margin-bottom:0}.plan-task{font-size:var(--fs-sub);align-items:center;gap:8px;display:flex}.plan-task svg{color:var(--data);flex:none}.plan-task small{color:var(--faint);white-space:nowrap;margin-left:auto;font-size:12px}.plan-foot{margin:auto calc(-1 * var(--gutter)) 0;padding:var(--s3) var(--gutter) calc(env(safe-area-inset-bottom) + var(--s4));background:var(--ground);border-top:var(--hair-w) solid var(--line);gap:var(--s3);flex-direction:column;display:flex;position:sticky;bottom:0}.plan-fixed{gap:8px;display:flex}.rest-days input{text-align:right;flex:none;width:72px;min-height:36px;padding:6px 10px}.plan-fixed button{white-space:nowrap;flex:1 1 0;min-width:0;min-height:44px;padding:0 8px;font-size:15px}.scene-end{background:var(--scrim);z-index:8;animation:fade var(--t) var(--ease-out);align-items:flex-end;display:flex;position:absolute;inset:0}.scene-end-card{background:var(--surface);border-top:var(--hair-w) solid var(--hair-strong);border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:100%;max-height:90%;padding:var(--s2) var(--gutter) calc(env(safe-area-inset-bottom) + var(--s4));gap:var(--s3);animation:rise var(--t-slow) var(--ease-out);flex-direction:column;display:flex}.grab{background:var(--control);border-radius:2px;flex:none;width:36px;height:4px;margin:0 auto 4px}.scene-end-head{align-items:baseline;gap:var(--s2);display:flex}.scene-end-head h2{font-family:var(--font-display);font-size:var(--fs-title);font-weight:400}.scene-end-body{gap:var(--s3);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.scene-end-body .fx{margin:0}.scene-closing{font-size:var(--fs-read);line-height:1.75}.scene-events{font-size:var(--fs-sub);color:var(--muted)}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.ledger{background:var(--surface);border-radius:var(--r-card);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.ledger ul{font-size:14px;line-height:1.7}.closing{color:var(--data);align-items:center;gap:8px;font-size:14px;display:flex}.closing b{font-variant-numeric:tabular-nums;margin-left:auto}.day-end .pad{gap:0}.day-end .ledger.recap{padding:var(--s2) 0 var(--s1);background:0 0;border-radius:0}.day-end .ledger.recap p{font-size:var(--fs-read);color:var(--text);line-height:1.75}.day-end .group>.row.closing{color:var(--data);font-size:var(--fs-sub)}.day-end .group>.row.closing>svg:first-child{color:var(--data)}.day-lines{margin:0;padding:0;font-size:15px;line-height:1.8;list-style:none}.day-lines .up,.day-end .sub .up{color:var(--data)}.day-lines .down,.day-end .sub .down{color:var(--negative)}.day-end .hint{margin-top:var(--s2)}.backdrop{background:var(--scrim);z-index:20;animation:fade var(--t) var(--ease-out);justify-content:flex-end;display:flex;position:fixed;inset:0}@supports (height:100dvh){.backdrop{height:100dvh;bottom:auto}}.backdrop{top:var(--vv-top,0px);height:var(--vv-h,100dvh);bottom:auto}@keyframes fade{0%{opacity:0}}.drawer{background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.drawer.bottom{border-top:var(--hair-w) solid var(--hair-strong);border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:100%;max-width:720px;max-height:90%;animation:rise var(--t-slow) var(--ease-out);box-shadow:var(--shadow-lift);align-self:flex-end;margin:0 auto}.drawer.bottom:before{content:"";background:var(--control);border-radius:2px;flex:none;width:36px;height:4px;margin:8px auto 0}.drawer-head{min-height:52px;padding:2px 8px 0 var(--gutter);flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.drawer-head h2{font-family:var(--font-display);font-size:var(--fs-title);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:400;overflow:hidden}.drawer-head h2:focus{outline:none}.drawer-action{flex:none;margin-left:auto}.drawer-body{overscroll-behavior:contain;min-height:0;padding:4px var(--gutter) calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;flex:1;gap:12px;display:flex;overflow-y:auto}.sheet-foot{padding:var(--s3) var(--gutter) calc(env(safe-area-inset-bottom) + var(--s3));border-top:var(--hair-w) solid var(--line);gap:var(--s2);flex-direction:column;flex:none;display:flex}.drawer-body>*{flex-shrink:0}.drawer-body h4{margin-top:6px}.drawer .group{background:var(--raised)}.drawer .group>:is(.row,.item)+:is(.row,.item):before{border-color:var(--sheet-line)}.drawer .group>button.row:active,.drawer .group>.item>button.row:active,.drawer .row-acts>button:not(.primary),.drawer .group button.small:not(.primary){background:var(--active)}.empty-line{color:var(--muted);text-align:center;padding:18px 0;font-size:14px}.people,.tasks,.jobs,.ctx,.add-person,.card-line{gap:var(--s3);flex-direction:column;display:flex}.people>.sec{margin:var(--s3) 0 0}.person-head .avatar{background:var(--active)}.person-acts{padding:0 var(--s4) var(--s3);gap:8px;display:flex}.person-acts button{min-height:44px;font-size:var(--fs-sub);flex:1;gap:6px}.person-head .sub.later{color:var(--faint)}.person-name{align-items:baseline;gap:var(--s2);min-width:0;display:flex}.person-name .here{font-size:var(--fs-cap);color:var(--positive);flex:none;font-weight:400}.aff{flex-direction:column;flex:none;align-items:flex-end;gap:3px;display:flex}.aff small{font-size:var(--fs-cap);color:var(--data)}.aff-pips{gap:3px;display:flex}.aff-pips span{background:var(--active);border-radius:50%;width:7px;height:7px}.aff-pips span.on{background:var(--data)}.hearts{color:var(--control);vertical-align:middle;flex:none;align-items:center;gap:1px;display:inline-flex}.hearts svg.on{color:var(--heart)}.hearts.heat-1 svg.on{color:var(--heat-1)}.hearts.heat-2 svg.on{color:var(--heat-2)}.hearts.heat-3 svg.on{color:var(--heat-3)}.hearts .trust-low{color:var(--faint);margin-left:3px}.hearts .trust-low.t2{color:var(--negative)}.person-body{font-size:var(--fs-sub)}.person-sections{z-index:2;gap:var(--s1);margin:0 calc(-1 * var(--s1));padding:var(--s1);background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none;display:flex;position:sticky;top:-4px;overflow-x:auto}.person-sections button{min-width:68px;min-height:44px;padding:0 var(--s3);border-radius:var(--r-ctl);background:var(--active);color:var(--muted);font-size:var(--fs-sub);flex:1 0 auto}.person-section{gap:var(--s3);padding-top:var(--s1);flex-direction:column;scroll-margin-top:56px;display:flex}.person-section+.person-section{margin-top:var(--s2);padding-top:var(--s4);border-top:var(--hair-w) solid var(--sheet-line)}.person-body .person-section>h4{color:var(--text);font-size:var(--fs-body);margin:0}.person-pictures .person-portrait{width:min(46%,180px);margin:0}.person-body h4{margin:var(--s1) 0 calc(-1 * var(--s2))}.person-body ul{color:var(--muted)}.kv{gap:var(--s1) var(--s4);grid-template-columns:auto 1fr;margin:0;display:grid}.kv dt{color:var(--faint)}.kv dd{margin:0}.kv dd.neg{color:var(--negative)}.kv .kv-note{color:var(--faint);font-size:var(--fs-sec);display:block}.rel-next{vertical-align:middle;color:var(--faint);font-size:var(--fs-sec);align-items:center;gap:6px;margin-left:8px;display:inline-flex}.rel-next-bar{background:color-mix(in srgb, var(--faint) 30%, transparent);border-radius:2px;width:40px;height:3px;display:inline-block;overflow:hidden}.rel-next-bar>span{background:var(--faint);height:100%;display:block}.rel-next-copy{align-items:baseline;gap:5px;min-width:0;display:inline-flex}.rel-next-copy b{color:var(--muted);white-space:nowrap;font-weight:600}.rel-next-copy span{color:var(--faint);white-space:nowrap}.traits{gap:var(--s2);flex-direction:column;padding:0;list-style:none;display:flex}.traits li{flex-direction:column;gap:2px;display:flex}.traits b{color:var(--text);font-weight:600}.traits b.data{color:var(--data)}.traits span{color:var(--muted)}.data-list li{color:var(--data)}.unknown{color:var(--faint);align-items:center;gap:6px;display:flex}.json-block textarea{width:100%;font-family:var(--mono,monospace);font-size:var(--fs-sub)}.json-block .row-btns{gap:var(--s2);display:flex}.overlay-ask{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.overlay{gap:var(--s2);padding-top:var(--s3);border-top:var(--hair-w) solid var(--sheet-line);flex-direction:column;display:flex}.overlay h4,.overlay h5{margin:0}.overlay li .text.small{margin-left:var(--s1)}.overlay-actions{gap:var(--s2);align-items:center;display:flex}.person-body .overlay-actions>button{min-height:40px;padding:0 var(--s4);background:var(--active);font-size:var(--fs-sub)}.people-search{min-height:44px}.person-back{color:var(--text);align-self:flex-start;padding:0}.overlay .quote,.overlay-diffs .quote{display:block}.keep-overlay{gap:var(--s2);flex-direction:column;display:flex}.fx-diff{font-size:var(--fs-sub);color:var(--muted);margin:calc(-1 * var(--s1)) 0 var(--s2)}.fx-diff summary{cursor:pointer}.keep-card{gap:var(--s2);padding-top:var(--s3);border-top:var(--hair-w) solid var(--sheet-line);flex-direction:column;display:flex}.keep-card h4{margin:0}.keep-card>button{background:var(--active);align-self:stretch}.keep-with{justify-content:space-between;align-items:center;gap:var(--s3);cursor:pointer;min-height:44px;display:flex}.upload-row{align-items:center;gap:var(--s3);display:flex}.upload-row label{cursor:pointer}.clues{gap:var(--s3);flex-direction:column;display:flex}.clue-grid{gap:var(--s2);grid-template-columns:1fr 1fr;display:grid}.clue{border-radius:var(--r-ctl);padding:var(--s3);text-align:left;background:var(--active);min-height:72px;color:var(--data);border:1px solid #0000;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:3px}.clue.marker{color:var(--text)}.clue.on{border-color:var(--text)}.clue small{color:var(--muted);font-size:var(--fs-cap)}.deduce{border-left:2px solid var(--control);padding:2px 0 2px var(--s3);font-size:var(--fs-sub);color:var(--muted);gap:var(--s2);flex-direction:column;align-items:flex-start;line-height:1.6;display:flex}.deduce.ok{color:var(--text);border-left-color:var(--data)}.deduce-text{gap:var(--s2);margin:var(--s3) 0 0;display:grid}.slots{flex-direction:column;gap:6px;display:flex}.slot{font-size:var(--fs-sub);border-radius:var(--r-ctl);background:var(--active);color:var(--muted);padding:10px 12px;line-height:1.5}.slot.solved{color:var(--text);box-shadow:inset 2px 0 0 var(--data)}.slot.ready{color:var(--data)}.slot-rest{font-size:var(--fs-sub);color:var(--faint);padding:2px 0}.task-row .meta{font-size:var(--fs-cap);color:var(--faint)}.task-row .meta.data{color:var(--data)}.task-row>.row-acts{padding:0 var(--s4) var(--s3)}.steps-list{color:var(--muted);flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.steps-list li{align-items:center;gap:6px;display:flex}.steps-list li.done{color:var(--text)}.steps-list li.done svg{color:var(--positive)}.ctx-sec{gap:var(--s2);flex-direction:column;display:flex}.ctx-head{justify-content:space-between;align-items:baseline;display:flex}.ctx-budget{font-variant-numeric:tabular-nums;font-weight:400}.group>.row.ctx-item{align-items:flex-start}.ctx-item small{font-size:var(--fs-cap);color:var(--faint)}.ctx-item .switch{margin-top:2px}.ctx-item.muted .main{opacity:.45}.group>.row.job{min-height:48px}.job-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sub);overflow:hidden}.group>.row.job.done>svg:first-child{color:var(--positive)}.group>.row.job.error>svg:first-child{color:var(--negative)}.group>.row.job.running>svg:first-child{color:var(--data)}.group>.row.job>button.small{min-height:40px}.jobs>button.text{align-self:center}.contact-why{font-size:var(--fs-sub);color:var(--muted);line-height:1.55}.menu{gap:var(--s3);flex-direction:column;display:flex}.menu>button.text{align-self:stretch}.sleeping{color:var(--muted);padding:4px 2px;font-size:13px}.sleeping summary{cursor:pointer;padding:6px 0}.sleeping ul{line-height:1.6}.menu-debug>.group{margin-top:var(--s2);font-size:var(--fs-body)}.menu-debug>summary{align-items:center;min-height:44px;display:flex}.toast{bottom:calc(env(safe-area-inset-bottom) + 104px);background:var(--panel);border:var(--hair-w) solid var(--hair-strong);border-radius:var(--r-ctl);z-index:50;max-width:688px;min-height:44px;box-shadow:var(--shadow-lift);text-align:center;animation:rise var(--t) var(--ease-out);justify-content:center;align-items:center;gap:10px;margin:0 auto;padding:6px 6px 6px 16px;font-size:14px;display:flex;position:fixed;left:16px;right:16px}.toast>span{flex:1;min-width:0;padding:4px 0;line-height:1.45}.toast-act{background:var(--primary);color:var(--primary-ink);border-color:#0000;flex:none;min-height:36px;padding:6px 16px;font-weight:500}.toast.error{color:var(--negative)}@media (width>=560px){.clue-grid{grid-template-columns:repeat(3,1fr)}}.err{color:var(--negative);font-size:13px}.field{flex-direction:column;gap:6px;font-size:14px;display:flex}.field>span{color:var(--muted);font-size:13px}.field small{color:var(--faint)}.field small.err{color:var(--negative)}.field input:not([type=checkbox]):not([type=range]){background:var(--surface);border:var(--hair-w) solid var(--hair-strong);border-radius:var(--radius-inner);width:100%;min-height:48px;padding:12px 16px}.note.warn{color:var(--negative)}.note.good{color:var(--positive)}.taste{color:var(--muted);margin-left:6px}.inv{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.inv li{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:14px;display:flex}.inv li span{color:var(--muted);flex:60%;font-size:12px}.fight-tray .mech-action small{color:var(--data)}.scene-events{color:var(--muted);font-size:14px}.tasks h4{margin:12px 0 6px}.draft{margin:8px var(--gutter);background:var(--surface);border:1px solid var(--raised);border-radius:var(--radius-inner);flex-direction:column;gap:8px;padding:12px 14px;font-size:14px;line-height:1.6;display:flex}.draft.ready{border-color:var(--data)}.draft.used,.draft.dropped{opacity:.7}.draft-head{align-items:center;gap:6px;display:flex}.draft-head b{flex:1;min-width:0;font-weight:600}.draft-head svg{color:var(--data);flex:none}.draft-sum{color:var(--text)}.draft-detail summary{color:var(--muted);cursor:pointer;font-size:13px}.draft-detail ul{color:var(--muted);margin-top:6px;font-size:13px}.draft-err{color:var(--negative)}.draft-ok{color:var(--positive)}.draft-tweak{align-items:center;gap:8px;display:flex}.draft-tweak input{background:var(--raised);border:0;border-radius:999px;flex:1;min-width:0;padding:8px 14px}.offer{margin:8px var(--gutter);color:var(--muted);flex-direction:column;gap:8px;font-size:14px;display:flex}.breakout{flex-direction:column;gap:12px;display:flex}.breakout textarea{background:var(--raised);border-radius:var(--radius-inner);resize:vertical;border:0;padding:10px 12px;line-height:1.6}.plan-drafts{padding-top:6px}.scene-pic{width:calc(100% - 2 * var(--gutter));margin:4px var(--gutter) 18px;aspect-ratio:16/9;object-fit:cover;background:var(--surface);border-radius:10px;display:block}.scene-pic-btn{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.scene-pic-wrap{width:calc(100% - 2 * var(--gutter));margin:4px var(--gutter) 18px;border-radius:10px;display:block;position:relative;overflow:hidden}.scene-pic-wrap>.scene-pic{width:100%;margin:0}.place-fx{pointer-events:none;position:absolute;inset:0}.place-fx-night{mix-blend-mode:multiply;background:linear-gradient(#080e289e,#040614b8)}.place-fx-dusk{mix-blend-mode:soft-light;background:linear-gradient(#ff8c3c47,#78285052)}.place-fx-dawn{mix-blend-mode:soft-light;background:linear-gradient(#96b4ff40,#ffbeaa2e)}.place-fx-overcast{mix-blend-mode:saturation;background:#78808c47}.place-fx-fog{background:linear-gradient(#e1e6eb26,#e1e6eb8c)}.place-fx-rain{background:linear-gradient(#283c5040,#283c501a) 0 0/100% 100%,repeating-linear-gradient(105deg,#0000 0 9px,#dce6ff38 9px 10px,#0000 10px 23px) 0 0/120px 120px;animation:.5s linear infinite place-rain}.place-fx-snow{background-image:radial-gradient(circle,#ffffffd9 0 1.5px,#0000 2px),radial-gradient(circle,#fff9 0 1px,#0000 1.5px);background-position:0 0,18px 11px;background-size:60px 60px,37px 37px;animation:6s linear infinite place-snow}@keyframes place-rain{to{background-position:0 0,-30px 120px}}@keyframes place-snow{to{background-position:10px 60px,30px 48px}}@media (prefers-reduced-motion:reduce){.place-fx-rain,.place-fx-snow{animation:none}}.scene-pic-note{margin:-12px var(--gutter) 14px;display:block}.scene-pic-wait{width:calc(100% - 2 * var(--gutter));margin:4px var(--gutter) 18px;aspect-ratio:16/9;background:var(--surface);font-size:var(--fs-cap);color:var(--faint);border-radius:10px;justify-content:center;align-items:center;gap:8px;display:flex}.narr:after{content:"";clear:both;display:table}.portrait{float:left;aspect-ratio:2/3;object-fit:cover;background:var(--surface);border-radius:10px;width:64px;margin:6px 12px 4px 0}.portrait.square{aspect-ratio:1}.entry-portrait{aspect-ratio:2/3;object-fit:cover;background:var(--surface);border-radius:12px;width:min(56%,220px);margin:4px auto 14px;display:block}.here-row{padding:6px var(--gutter);overscroll-behavior-x:contain;scrollbar-width:none;flex:none;gap:6px;max-width:100%;display:flex;overflow-x:auto}.here-row::-webkit-scrollbar{display:none}.room-row{margin:var(--s3) var(--gutter) 0;flex-direction:column;gap:6px;display:flex}.room-row-label{color:var(--faint);align-items:center;gap:4px;font-size:12px;display:inline-flex}.room-chips{scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 2px;gap:6px;display:flex;overflow-x:auto}.room-chips::-webkit-scrollbar{display:none}.room-chip{background:var(--surface);border:var(--hair-w) solid var(--line);min-height:40px;color:var(--text);border-radius:999px;flex:none;gap:5px;padding:0 12px;font-size:14px}.room-chip small{background:var(--raised);min-width:18px;height:18px;color:var(--muted);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;display:inline-flex}.room-chip.on{border-color:var(--acc,var(--text));color:var(--acc,var(--text));opacity:1}.room-chip svg{color:var(--faint)}.here-chip{background:var(--raised);min-height:44px;color:var(--text);border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:2px 12px 2px 4px;font-size:13px;display:flex}.here-chip .avatar{width:30px;height:30px;font-size:12px}.here-name{text-overflow:ellipsis;white-space:nowrap;max-width:6em;overflow:hidden}.narr.wrap{color:var(--muted);font-style:italic}.avatar.pic{object-fit:cover;padding:0}.avatar.pic.top{object-position:50% 12%}.zoom-view{z-index:1000;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.zoom-view img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.person-portrait{aspect-ratio:2/3;object-fit:cover;background:var(--surface);border-radius:10px;width:120px;margin:4px 0 8px;display:block}.prep{flex-wrap:wrap;gap:6px;padding:0 0 8px;display:flex}.prep .tag{margin-left:0}.tag.warn{color:var(--negative)}.hint-line{color:var(--faint);font-size:13px}.lib-sec{flex-direction:column;gap:10px;display:flex}.world-card.lib{gap:8px}.lib-sum .tag{margin-left:0}.reskin-name{font-size:20px;font-weight:600}.reskin-map{flex-direction:column;gap:4px;padding:0;font-size:14px;list-style:none;display:flex}.stages{flex-direction:column;gap:6px;display:flex}.stage{background:var(--surface);border-radius:var(--radius-inner);color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.stage span{color:var(--text);flex:1}.stage small{font-size:12px}.stage.done svg{color:var(--positive)}.stage.failed svg{color:var(--negative)}.stage.running svg{color:var(--data)}.stage.wait,.stage.skipped{opacity:.6}.stage .err{flex-basis:100%}.stage-parts{flex-direction:column;flex-basis:100%;gap:4px;margin:2px 0 0 26px;padding:0;font-size:13px;list-style:none;display:flex}.stage-parts li{align-items:center;gap:6px;display:flex}.stage-parts li.done{color:var(--text)}.result-card .opening{color:var(--muted);border-left:2px solid var(--control);padding-left:10px;font-size:14px;line-height:1.65}.err-list{color:var(--negative);font-size:13px;line-height:1.6}.crop-backdrop{z-index:40;justify-content:center;align-items:center;padding:16px}.crop-dialog{background:var(--surface);border-radius:var(--radius-card);max-width:100%;box-shadow:var(--shadow-float);flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex}.crop-dialog h2{align-self:flex-start;font-size:17px;font-weight:600}.crop-frame{border-radius:var(--radius-inner);background:var(--ground);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex:none;position:relative;overflow:hidden}.crop-frame:active{cursor:grabbing}.crop-frame:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.crop-frame img{transform-origin:0 0;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.crop-ring{pointer-events:none;border:1px solid #fff9;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 999px #00000059}.crop-zoom{width:100%;color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.crop-zoom input{accent-color:var(--primary);flex:1;min-height:32px}.crop-dialog .hint{color:var(--faint);align-self:stretch;font-size:12px}.crop-actions{justify-content:flex-end;align-self:stretch;gap:8px;display:flex}.budget-field label{font-size:14px}.budget-used{color:var(--negative)!important}.mech-tray{max-height:45vh;overflow-y:auto}.mech-stats{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.mech-stats li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.mech-stats b{color:var(--data);font-weight:600}.mech-stats small{color:var(--faint);font-size:11px}.mech-stats li.dim{color:var(--faint)}.mech-sec{flex-direction:column;gap:6px;display:flex}.mech-sec h4{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:600}.mech-grant{flex-direction:column;gap:4px;font-size:13px;display:flex}.chip.static{cursor:default;align-items:center;gap:6px;display:inline-flex}.mech-talk{gap:8px;display:flex}.mech-talk input{flex:1;min-width:0}.mech-form{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.mech-form .chips{max-height:30vh;overflow-y:auto}.mech-ask{width:100%;min-width:0}.voice{margin:6px var(--gutter);padding:2px 0 2px var(--s3);border-left:2px solid var(--data);font-size:14px}.voice.you{border-left-color:var(--control)}.voice-head{color:var(--data);align-items:center;gap:6px;font-size:12px;display:flex}.voice-head .hint{color:var(--faint);margin-left:auto}.voice-text{white-space:pre-wrap;margin-top:4px}.voice-panel{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:12px}.along-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.chg.alt{border-color:var(--control);color:var(--text);background:0 0}.fight-pick{flex-wrap:wrap;gap:6px;display:inline-flex}.heard,.god-list{flex-direction:column;gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.heard p,.god-list p{margin:2px 0 0}.plot-danger{justify-content:flex-end;align-items:center;gap:var(--s2);border-top:var(--hair-w) solid var(--line);padding-top:var(--s2);margin-top:var(--s1);flex-wrap:wrap;display:flex}.plot-danger .hint{margin-right:auto}.god-list li{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.god-list li p{color:var(--muted);flex-basis:100%;font-size:13px}.plan-extra{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.drawer-body>.author{flex-direction:column;gap:12px;display:flex}.author-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.author-tabs::-webkit-scrollbar{display:none}.author-tabs>button{flex:1 0 auto;min-height:44px}.author-change details>summary{cursor:pointer;padding:8px 0}.author .effect-row{align-items:center;gap:8px;display:flex}.author .effect-row>:first-child{flex:1;min-width:0}.author .effect-row input[type=number]{flex:none;width:72px;min-height:44px;padding:6px 10px}.author-preview ul{margin:0;padding-left:1.2em}.author-preview li,.author-preview p{overflow-wrap:anywhere;min-width:0}.author-preview .row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));align-self:stretch;gap:8px;display:grid}.author-preview .row>button{min-width:0}.author-card{margin:8px var(--gutter);min-width:0}.inv li>.inv-acts{flex-wrap:wrap;flex-basis:100%;gap:6px;display:flex}.inv li .chips{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:4px;display:flex}.scene-pic-budget{margin:4px var(--gutter) 14px;border-radius:var(--radius-inner);border:var(--hair-w) dashed var(--line);color:var(--faint);justify-content:space-between;align-items:center;gap:8px;padding:0 0 0 12px;font-size:13px;display:flex}.scene-pic-budget>small{min-width:0}.scene-pic-budget>button{flex:none;min-height:44px}.scene-pic-go{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.narr p.tappable{cursor:pointer;-webkit-tap-highlight-color:transparent}.para-tools{justify-content:flex-end;margin:4px 0 0;display:flex}.para-tools .chip{color:var(--faint)}.story-art{background:var(--surface);border:0;border-radius:10px;width:100%;margin:12px 0 0;padding:0;display:block;overflow:hidden}.story-art img,.story-art-ph{object-fit:contain;width:100%;max-height:70vh;display:block}.story-art-ph{aspect-ratio:3/2}.story-art-wait{aspect-ratio:3/2;background:var(--surface);font-size:var(--fs-cap);color:var(--faint);border-radius:10px;justify-content:center;align-items:center;gap:8px;margin:12px 0 0;font-style:normal;display:flex}.story-art-err{border-radius:var(--radius-inner);background:var(--surface);color:var(--faint);flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0 0;padding:10px 12px;font-size:13px;font-style:normal;display:flex}.narr .story-art+p,.narr .story-art-wait+p,.narr .story-art-err+p,.narr .para-tools+p{margin-top:14px}.story-art-acts{flex-wrap:wrap;gap:8px;display:flex}.line-art{flex-direction:column;align-items:flex-start;gap:8px;margin:8px 0;display:flex}.line-art .story-art,.line-art .story-art-wait,.line-art .story-art-err{margin:0}.story-art-full{background:var(--surface);border-radius:10px;width:100%;margin-bottom:12px;display:block}.story-art{position:relative}.story-video{object-fit:contain;background:var(--surface);width:100%;max-height:70vh;display:block}.story-video-full{background:#000;max-height:70vh}.story-video-wait,.story-video-box{position:relative}.story-video-unmute{color:#fff;background:#0009;border:none;border-radius:999px;padding:4px 12px;font-size:13px;position:absolute;top:10px;right:10px}.story-video-note{text-align:center;color:#fff;text-shadow:0 1px 3px #000000b3;font-size:13px;position:absolute;bottom:22px;left:0;right:0}.story-art-badge{color:#fff;background:#0000008c;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-style:normal;display:inline-flex;position:absolute;bottom:8px;left:8px}.story-art-view .hint{margin-top:8px;display:block}.story-art-sheet .drawer-body{flex-direction:column;gap:12px;display:flex}.story-art-quote{border-left:2px solid var(--line);color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;padding:8px 12px;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.story-art-field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.story-art-field textarea{width:100%;font-size:14px}.story-art-row{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.story-art-row .seg-soft{flex:1}.story-art-sheet .model-pick-row{width:100%}.story-art-similar{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.story-art-similar-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.story-art-similar-cell{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.story-art-similar-img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-inner);background:var(--surface);width:100%;display:block}.story-art-go{gap:var(--s2);display:flex}.story-art-go>button{flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.lost-card{gap:var(--s3);flex-direction:column;padding-top:12vh;display:flex}.lost-card h2{font-family:var(--font-display);font-size:var(--fs-hero);color:var(--negative);font-weight:400}.lost-card>p:not(.hint){font-size:var(--fs-read);color:var(--speech);line-height:1.75}.lost-card>.group{margin-top:var(--s3)}.curtain-card h2{color:var(--text)}.epilogue{text-align:left;gap:6px;display:grid}.epilogue p{margin:0}.epilogue p:not(.hint){font-size:var(--fs-read);color:var(--speech);line-height:1.75}.epilogue .hint button{margin-left:8px}.book{gap:var(--s4);flex-direction:column;display:flex}.book-group{gap:var(--s2);flex-direction:column;display:flex}.book-row.lose .book-name{color:var(--negative)}.book-row.good .book-name{color:var(--positive)}.group>.row.book-rest{color:var(--faint);font-size:var(--fs-sub);min-height:44px}.hist-day{flex-direction:column;display:flex}.hist-day>.sec{margin:var(--s4) 0 var(--s2)}.hist-day:first-child>.sec{margin-top:var(--s1)}.hist-recap{margin-bottom:var(--s3);color:var(--muted);font-size:var(--fs-sub);line-height:1.7}.hist-older{align-items:center;gap:var(--s1);margin-bottom:var(--s3);flex-direction:column;display:flex}.hist-scene{scroll-margin-top:44px}.hist-scene>.row-more{gap:var(--s2)}.hist-back{align-self:flex-start;min-height:40px}.drawer .hist-back,.group .hist-back{background:var(--raised)}.hist-text{gap:var(--s2);font-size:var(--fs-body);flex-direction:column;line-height:1.75;display:flex}.hist-text .narr{font-size:inherit;margin:0;padding:0}.hist-me{color:var(--muted);border-left:2px solid var(--control);padding-left:10px;line-height:1.7}.hist-me.do,.hist-me.act{font-style:italic}.hist-to{min-height:44px;font-size:var(--fs-sub);justify-content:flex-start;align-self:flex-start;gap:4px;padding:0 4px}.hist-latest{gap:var(--s2);border-top:var(--hair-w) solid var(--line);flex-direction:column;display:flex}.read-size{display:flex}.read-size small{font-size:13px}.reader{letter-spacing:.02em;line-height:1.95;font-family:var(--font-display);padding-bottom:40px}.reader-scene{content-visibility:auto;contain-intrinsic-size:auto 600px;margin-bottom:1.6em}.reader-scene h4{font-family:var(--font-body);color:var(--faint);margin-bottom:.6em;font-size:12px;font-weight:500}.reader .narr{line-height:inherit;font-size:inherit}.mini-dot.danger{background:var(--negative)}.drawer-body>.sheet-tabs{margin:-4px calc(-1 * var(--gutter)) 0;border-bottom-color:var(--sheet-line);background:0 0}.drawer-body>.sheet-tabs>button{min-width:44px}.drawer.bottom.tall{height:90%}.tab-warn{color:var(--negative)}.you{gap:var(--s3);flex-direction:column;display:flex}.you>.sec{margin:var(--s3) 0 0}.you .data{color:var(--data)}.you .neg{color:var(--negative)}.you-head{align-items:center}.you-figure{width:48px;height:96px;filter:drop-shadow(0 0 .5px var(--muted));flex:none}.you-figure>span{background:color-mix(in srgb, var(--muted) 42%, var(--surface));width:100%;height:100%;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:auto 100%;mask-size:auto 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.group>.row.you-value{align-items:flex-start}.you-stage{margin-left:var(--s2);font-size:var(--fs-sub);color:var(--data);font-weight:400}.you-line{font-size:var(--fs-cap);color:var(--faint);line-height:1.5}.you-num{font-size:var(--fs-body);color:var(--text);font-variant-numeric:tabular-nums}.you-value.near .you-num,.you-value.near .you-stage{color:var(--negative);font-weight:600}.you-tag{margin-left:var(--s2);font-size:var(--fs-cap);color:var(--faint);font-weight:400}.you-lose.near .main>span:first-child,.group .row.you-lose.near .end{color:var(--negative);font-weight:600}.clue-group{gap:var(--s2);flex-direction:column;display:flex}.clue-head{justify-content:space-between;align-items:baseline;margin:0;display:flex}.clue-count{color:var(--data);font-variant-numeric:tabular-nums;font-weight:400}.plot-question{color:var(--text)}.steps-list li>span{flex-direction:column;display:flex}.step-where{font-size:var(--fs-cap);color:var(--faint)}.sug-meta .stance{color:var(--data)}.first-hint{align-items:flex-start;gap:var(--s2);margin:0 0 var(--s3);font-size:var(--fs-sub);color:var(--muted);line-height:1.55;display:flex}.first-hint>svg{color:var(--data);flex:none;margin-top:3px}.scene-end-body .first-hint{margin:0}.plan-ahead{font-size:var(--fs-sub);color:var(--muted);border-bottom:var(--hair-w) solid var(--line);align-items:flex-start;gap:8px;padding:10px 0;line-height:1.5;display:flex}.plan-ahead>svg{flex:none;margin-top:2px}.intro-card{margin:var(--s2) var(--gutter) var(--s4);padding:var(--s4);background:var(--surface);border-radius:var(--r-card);gap:var(--s3);font-size:var(--fs-sub);flex-direction:column;line-height:1.6;display:flex}.intro-label{font-size:var(--fs-sec);color:var(--faint);font-weight:600;display:block}.intro-who b{font-size:var(--fs-title);font-weight:600}.intro-who p{color:var(--muted);margin-top:2px}.intro-question{font-size:var(--fs-body);color:var(--text);margin-top:2px}.intro-facts{color:var(--muted);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.intro-facts li{gap:var(--s2);align-items:flex-start;display:flex}.intro-facts li>svg{color:var(--data);flex:none;margin-top:4px}.intro-mech summary{cursor:pointer;min-height:24px;list-style:none}.intro-mech summary::-webkit-details-marker{display:none}.intro-mech summary:after{content:" ›";color:var(--faint)}.intro-mech[open] summary:after{content:""}.intro-mech p{margin-top:4px}.intro-lose ul{color:var(--muted);margin:4px 0 0;padding-left:18px}.chapter-card h2.good{color:var(--positive)}.chapter-card h2.bad{color:var(--negative)}.chapter-card section .sec{margin-top:var(--s2)}.chapter-card .group .row.closing{color:var(--data);font-size:var(--fs-sub)}.talk{--talk-x:max(var(--s4), env(safe-area-inset-left));--talk-r:max(var(--s4), env(safe-area-inset-right));flex:none;min-width:0;max-width:100%;position:relative}.talk+.composer{border-top:0}.talk-pic{background:0 0;border:0;flex:none;min-height:0;padding:0;position:relative;overflow:hidden}.talk-pic:active{transform:none}.talk-pics{display:block;position:absolute;inset:0}.talk-img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block;position:absolute;inset:0}.talk-img.top{animation:.4s both talk-in}.talk-img.top.cached{animation:none}.talk-ph{color:var(--muted);background:var(--surface);justify-content:center;align-items:center;font-size:30px;display:flex}@keyframes talk-in{0%{opacity:0}to{opacity:1}}.talk-name{font-size:var(--fs-sub);white-space:nowrap;color:var(--text);font-weight:600}.talk-toward,.talk-look{min-width:0;font-size:var(--fs-cap);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.45;overflow:hidden}.talk-look{color:var(--faint)}.talk-others{flex:none;gap:6px;display:flex}.talk-other{background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;padding:0;display:flex}.talk-other:active{transform:scale(.94)}.talk-other .avatar{width:30px;height:30px;box-shadow:0 0 0 2px var(--ground);font-size:12px;font-weight:500}.talk-fold{width:44px;height:44px;min-height:44px;color:var(--faint)}.talk-float{pointer-events:none;z-index:4;flex-direction:column;gap:4px;display:flex;position:absolute}.talk-chip{background:color-mix(in srgb, var(--surface) 82%, transparent);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;line-height:18px;animation:4.5s both chip-float}.talk-chip.up{color:var(--positive)}.talk-chip.down{color:var(--negative)}.talk-chip.data{color:var(--data)}@keyframes chip-float{0%{opacity:0;transform:translateY(6px)}8%{opacity:1;transform:none}80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.talk-img.top,.talk-chip{animation:none}}.talk-sheet-pic{height:min(46vh,400px);margin:0 auto var(--s3);aspect-ratio:2/3;background:var(--surface);border-radius:16px;max-width:100%;position:relative;overflow:hidden}.talk-sheet-pic:has(.talk-ph:only-child){aspect-ratio:1;height:56px;margin:0 0 var(--s2);border-radius:50%}.talk-sheet-pic .talk-ph{font-size:22px}.talk-acts{gap:var(--s2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.talk-acts button{gap:var(--s1);min-height:64px;padding:var(--s2) var(--s1);font-size:var(--fs-sub);flex-direction:column}.talk-acts button.on{background:var(--active)}.talk-give{gap:var(--s2);flex-direction:column;padding:0;list-style:none;display:flex}.talk-give li{align-items:center;gap:var(--s2);display:flex}.talk-give li b{flex:1;min-width:0;font-weight:500}.talk-kv{font-size:var(--fs-sub);line-height:1.6}.talk-kv>div{display:contents}.to-pick{padding:0 2px}.to-mini{max-width:40%;min-height:44px;font-size:var(--fs-cap);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:20px;flex:none;align-self:center;padding:0 4px 0 12px;display:block;overflow:hidden}.to-mini.on,.to-mini:active{color:var(--text);transform:none}.composer .input-box .to-mini+textarea{padding-left:4px}.backfill-person{gap:var(--s2);flex-direction:column;display:flex}.backfill-person h4{margin:0}.backfill-item{align-items:flex-start;gap:var(--s2);cursor:pointer;display:flex}.backfill-item input{flex:none;margin-top:3px}.backfill-item>span{flex-direction:column;gap:2px;min-width:0;display:flex}.backfill-diff b{margin-right:var(--s1)}.backfill-diff s{color:var(--muted)}.backfill-diff .quote{display:block}.scene-pic-link{margin:2px var(--gutter) 14px;background:var(--raised);min-height:36px;color:var(--muted);border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.scene-mark{white-space:nowrap;overflow:hidden}.scene-mark b,.scene-mark span{text-overflow:ellipsis;overflow:hidden}.stream-more{min-height:44px;font-size:var(--fs-sub);align-self:center}.tabs{gap:var(--s5);padding:0 var(--gutter);border-bottom:var(--hair-w) solid var(--line);scrollbar-width:none;background:var(--ground);flex:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs>button{min-height:44px;color:var(--muted);white-space:nowrap;transition:color var(--t-fast) var(--ease-out), box-shadow var(--t) var(--ease-out);background:0 0;border:0;border-radius:0;flex:none;gap:4px;padding:0;font-size:15px;box-shadow:inset 0 -1.5px #0000}.tabs>button:active{color:var(--text);transform:none}.tabs>button.on{color:var(--text);box-shadow:inset 0 -1.5px 0 var(--accent);font-weight:500}.tabs>button:focus-visible{outline:var(--hair-w) solid var(--hair-strong);outline-offset:-6px;border-radius:8px}.tabs .tab-n{font-size:var(--fs-cap);color:var(--faint);font-weight:400}.tabs .tab-n.fail{color:var(--negative);font-weight:600}.pad>.tabs{margin:0 calc(-1 * var(--gutter))}.empty-state{align-items:center;gap:var(--s2);padding:16vh var(--s4) var(--s6);text-align:center;flex-direction:column;display:flex}.empty-state>p{font-size:var(--fs-body);color:var(--muted)}.empty-state>small{font-size:var(--fs-sub);color:var(--faint);max-width:320px;line-height:1.55}.empty-state>button{margin-top:var(--s2)}.empty-state.with-art{padding-top:10vh}.empty-art{width:120px;height:120px;margin-bottom:var(--s2);border-radius:50%;-webkit-mask-image:radial-gradient(closest-side,#000 62%,#0000);mask-image:radial-gradient(closest-side,#000 62%,#0000)}:root[data-theme=light] .empty-art{opacity:.9}.review-icon{position:relative}.review-icon .badge-dot{top:4px;right:2px}.review-icon .badge-dot.fail{background:var(--negative);color:#fff}.review-icon .badge-dot.fail.second{top:22px}.review-icon .run-dot{position:absolute;top:8px;left:8px}.seg-soft{background:var(--surface);border:var(--hair-w) solid var(--hair);border-radius:var(--r-ctl);flex-wrap:wrap;flex:none;gap:2px;padding:3px;display:flex}.seg-soft>button{border-radius:calc(var(--r-ctl) - 3px);min-width:0;min-height:40px;font-size:var(--fs-sub);color:var(--muted);white-space:nowrap;background:0 0;border:0;flex:1 1 0;padding:0 8px}.seg-soft>button:active{transform:none}.seg-soft>button.on{background:var(--raised);color:var(--text);font-weight:500}.drawer .seg-soft,.group .seg-soft{background:var(--raised)}.drawer .seg-soft>button.on,.group .seg-soft>button.on{background:var(--control)}textarea.autogrow{resize:none;min-height:44px;overflow:hidden}.group .row .end .val{text-overflow:ellipsis;white-space:nowrap;max-width:150px;color:var(--muted);overflow:hidden}.group>.row>input.end-input{text-align:right;flex:none;width:88px;min-height:36px;padding:6px 10px}.pick-value{text-overflow:ellipsis;white-space:nowrap;max-width:9em;overflow:hidden}.pick-sheet{flex-direction:column;display:flex}.pick-sheet>.pick-search{z-index:1;margin-bottom:var(--s3);min-height:44px;position:sticky;top:0}.pick-sheet>section>.sec{margin:var(--s4) 0 var(--s2)}.pick-sheet>section:first-child>.sec{margin-top:0}.pick-sheet .group>.row.sel,.pick-sheet .group>.item>.row.sel{background:var(--active)}.pick-linked>.row .main{padding-right:40px}.pick-linked.bare>.row{padding-right:var(--s2)}.pick-link{top:50%;right:calc(var(--s4) + 20px + var(--s2));width:40px;height:40px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;transform:translateY(-50%)}.pick-link:active{background:var(--raised)}.pick-linked.bare>.pick-link{right:var(--s2)}.pick-sheet .group .row .sub{-webkit-line-clamp:none;line-clamp:none;display:block}.pick-group-desc{margin:calc(-1 * var(--s1)) 0 var(--s2)}.row .sub.pick-desc{color:var(--text);opacity:.8}.fit-loras{font-size:var(--fs-sub);color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.fit-loras .tag{color:var(--data);margin-left:0}button.select{justify-content:space-between;gap:var(--s2);width:100%;min-height:48px;padding:0 var(--s3) 0 var(--s4);background:var(--surface);border:var(--hair-w) solid var(--hair-strong);border-radius:var(--r-ctl);font-size:var(--fs-body);text-align:left;color:var(--text)}button.select:active{transform:none}button.select>svg{color:var(--muted);flex:none}.select-val{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}button.select.empty .select-val{color:var(--faint)}.drawer button.select{background:var(--raised);border-color:#0000}.file-pick{align-items:center;gap:var(--s3);min-width:0;display:flex}.file-btn{min-height:40px;padding:0 var(--s4);border-radius:var(--r-ctl);background:var(--raised);font-size:var(--fs-sub);cursor:pointer;flex:none;align-items:center;gap:6px;display:inline-flex}.drawer .file-btn{background:var(--active)}.file-btn.off{opacity:.45;cursor:default}.file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-sub);color:var(--muted);overflow:hidden}.file-name.empty{color:var(--faint)}.dv{gap:var(--s2);flex-direction:column;min-width:0;display:flex}.dv-sum{font-size:var(--fs-sub);color:var(--muted)}.dv-warn{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.dv-warn li{color:var(--data);font-size:var(--fs-sub);font-weight:600;line-height:1.5}.dv-group>.sec{margin:var(--s3) 0 var(--s2)}.dv-group .group>.row.dv-row{min-height:0;padding:var(--s3) var(--s4);font-size:var(--fs-sub);flex-direction:column;align-items:stretch;gap:4px;line-height:1.6}.dv-label{font-size:var(--fs-cap);color:var(--faint)}.dv-name{color:var(--text);font-weight:600}.dv-text{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.dv-text.clamp{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dv-was,.dv-was s{color:var(--faint)}.dv-del{color:var(--negative);text-decoration:line-through}.dv-ins{color:var(--positive);text-decoration:none}.dv .dv-more,.drawer .dv .group button.dv-more.small{min-height:32px;color:var(--muted);background:0 0;align-self:flex-start;padding:0}.dv-minus{color:var(--negative)}.dv-op{font-size:var(--fs-cap);flex:none}.dv-op.add{color:var(--positive)}.dv-op.remove{color:var(--negative)}.dv-chips{flex-wrap:wrap;gap:4px 14px;display:flex}.dv-chips.lines{flex-direction:column;gap:2px}.dv-kept{color:var(--faint)}.dv-item{align-items:center;gap:var(--s2);min-width:0;display:flex}.dv-item>b{overflow-wrap:anywhere;min-width:0;font-weight:600}.dv-item>.dv-more{margin-left:auto}.dv-sub{gap:var(--s2);padding-left:var(--s3);border-left:var(--hair-w) solid var(--line);flex-direction:column;display:flex}.dv-subrow{flex-direction:column;gap:2px;min-width:0;display:flex}.dv-plain{padding-left:var(--s3);border-left:var(--hair-w) solid var(--line);flex-direction:column;gap:6px;display:flex}.dv-plain-field,.dv-plain-item{flex-direction:column;gap:2px;min-width:0;display:flex}.dv-full{align-self:flex-start;align-items:center;gap:4px;padding:0;display:inline-flex}.dv-fullbody{gap:var(--s2);flex-direction:column;display:flex}.drawer .dv-sub,.drawer .dv-plain{border-color:var(--sheet-line)}.review-item .dv .group{background:var(--raised)}.review-item .dv .group>:is(.row,.item)+:is(.row,.item):before,.review-item .dv-sub,.review-item .dv-plain{border-color:var(--sheet-line)}button.model-pick{background:var(--surface);border:var(--hair-w) solid var(--hair-strong);border-radius:var(--r-ctl);min-width:0;max-width:100%;min-height:44px;font-size:var(--fs-sub);color:var(--text);align-items:center;gap:6px;padding:0 10px;display:inline-flex}button.model-pick:active{transform:none}button.model-pick>svg{color:var(--muted);flex:none}.model-pick-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-pick-cost{color:var(--muted);font-size:var(--fs-cap);flex:none}.model-pick-row{align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.model-pick-row>.model-pick{flex:auto}.cp-sheet .row .end.seg-soft{flex:none}.cp-stepper{align-items:center;gap:4px;display:flex}.cp-val{text-align:center;font-variant-numeric:tabular-nums;min-width:2.5em}.cp-off{color:var(--negative)}.cp-words{flex-direction:column;gap:6px;display:flex}.cp-words>h4{color:var(--muted);font-size:13px;font-weight:400}.cp-words .chips{flex-wrap:wrap}.cp-size>button{flex-direction:column;gap:0;min-height:48px;padding:4px 6px;line-height:1.25}.cp-size>button small{color:var(--faint);font-size:11px;font-weight:400}.recipe-sheet .group .chip:not(.on){background:var(--active)}.model-id{color:var(--faint);overflow-wrap:anywhere;word-break:break-all;-webkit-user-select:text;user-select:text;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.4;display:block}.group .row.model-row .val{max-width:none;color:var(--muted);font-size:var(--fs-sub)}.recipe-sheet .drawer-body,.lora-sheet .drawer-body{gap:var(--s3);flex-direction:column;display:flex}.recipe-lora .row-more{padding-top:0}.recipe-lora>.row>button{flex:none}.recipe-trigger{align-items:center}.recipe-trigger-label{color:var(--muted);margin-right:var(--s1)}.recipe-weight{align-items:center;gap:var(--s2);display:flex}.recipe-weight>input[type=range]{flex:1;min-width:0}.recipe-weight>b{text-align:right;font-variant-numeric:tabular-nums;min-width:3em}.recipe-lora.off .main>span:first-child{color:var(--muted)}.recipe-custom{gap:var(--s2);display:flex}.model-pick-row{flex-wrap:wrap}.tweak-mark{font-size:var(--fs-cap);color:var(--muted);flex:none}.tweak-bar{gap:var(--s2);flex-direction:column;display:flex}.tweak-bar>.row{gap:var(--s2);flex-wrap:wrap;display:flex}.recipe-custom>input{flex:1;min-width:0}.recipe-custom>button{flex:none}.lora-hit{align-items:flex-start}.lora-name{align-items:center;gap:2px var(--s2);flex-wrap:wrap;display:flex}.lora-name>.tag{margin-left:0}.lora-hit>img,.lora-hit>.lora-thumb,.lora-hit>.lora-cover{object-fit:cover;background:var(--raised);width:56px;height:56px;color:var(--faint);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.tune-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.vary{gap:var(--s2);flex-direction:column;display:flex}.vary-list{gap:var(--s3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.vary-list>li{flex-direction:column;gap:4px;display:flex}.vary-head{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.vary-list textarea{width:100%;font-size:13px}.scene-pic-prompt{flex-direction:column;gap:8px;width:100%;display:flex}.scene-pic-prompt>textarea{width:100%;font-size:13px}.search{background:var(--surface);border:var(--hair-w) solid var(--hair-strong);border-radius:var(--radius-inner);color:var(--faint);align-items:center;gap:8px;padding:0 4px 0 12px;display:flex}.search:focus-within{border-color:var(--text)}.search input{min-width:0;color:var(--text);background:0 0;border:0;flex:1;padding:11px 0}.search input::-webkit-search-cancel-button{display:none}.group>.row.group-head{font-weight:600}.group>.row.group-head .sub{font-weight:400}.group>.row.card-row{gap:var(--s3);min-height:64px;transition:background .3s}.group>.row.card-row.hl{background:var(--raised)}.group>.row.card-row+.row:before,.group>.row+.row.card-row:before{left:68px}.card-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.card-row-main b{font-size:var(--fs-body);align-items:center;min-width:0;font-weight:400;display:flex}.card-row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-row-line{font-size:var(--fs-sub);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-avatar{object-fit:cover;width:44px;height:44px}.card-row .card-avatar{width:40px;height:40px}.card-avatar.mech{color:var(--data);background:var(--raised);border-radius:12px}img.card-avatar{background:var(--raised);border-radius:50%}.card-avatar.ph{display:inline-block}.drawer .group .card-avatar{background:var(--active)}.ref-tile.lora-bad{outline:2px solid var(--negative);outline-offset:-2px}.lora-check{flex-direction:column;gap:8px;display:flex}.adv-fold{width:100%;min-width:0;max-width:100%;display:block}.adv-fold>summary{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;gap:4px;font-size:14px;list-style:none;display:inline-flex}.adv-fold>summary::-webkit-details-marker{display:none}.adv-fold>summary svg{transition:transform .15s}.adv-fold[open]>summary svg{transform:rotate(180deg)}.adv-body{flex-direction:column;gap:10px;min-width:0;padding-bottom:4px;display:flex}.adv-body>*{min-width:0;max-width:100%}.restyle-offer{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.restyle-offer .hint{flex:200px;min-width:0}.restyle-person h4{margin:12px 0 6px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:400}.num.big{font-size:var(--fs-hero);line-height:1.1}.meter{align-items:center;gap:var(--s2);min-width:0;display:flex}.meter-track{background:var(--hair-strong);border-radius:1px;flex:1;min-width:0;height:2px;overflow:hidden}.meter-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width var(--t-slow) var(--ease-out);display:block}.meter-word{font-size:var(--fs-cap);color:var(--ink-2);letter-spacing:.04em;flex:none}.meter.neg .meter-fill{background:var(--negative)}.stars{color:var(--hair-strong);vertical-align:middle;align-items:center;gap:2px;display:inline-flex}.stars svg.on{color:var(--accent)}.art{border-radius:var(--r-card);background:var(--panel);isolation:isolate;position:relative;overflow:hidden}.art>img,.art>video{object-fit:cover;width:100%;height:100%;display:block}.art:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(180deg, transparent 55%, var(--art-fade));position:absolute;inset:0}.art:after{content:"";pointer-events:none;z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 var(--hair-w) var(--hair-strong), inset 0 0 60px #0000002e;position:absolute;inset:0}.art.plain:before{display:none}.art-cap{z-index:2;padding:var(--s3) var(--s4);color:var(--on-art);flex-direction:column;gap:2px;display:flex;position:absolute;bottom:0;left:0;right:0}.art-cap b{font-family:var(--font-display);font-weight:400;font-size:var(--fs-title);letter-spacing:.04em}.art-cap small{font-size:var(--fs-cap);color:var(--on-art-muted)}.skel{border-radius:var(--r-ctl);background:var(--hair);box-shadow:inset 0 0 0 var(--hair-w) var(--hair-strong);animation:skel 1.6s var(--ease-out) infinite alternate;display:block}.skel.line{border-radius:6px;height:12px}.skel.round{border-radius:50%}@keyframes skel{0%{opacity:.55}to{opacity:1}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.hr{border:0;border-top:var(--hair-w) solid var(--hair);margin:0}.ui-media-frame{aspect-ratio:var(--ui-media-ratio,2 / 3);contain:paint;background:var(--raised);position:relative;overflow:hidden}.ui-media-frame>:is(img,video,canvas){object-fit:var(--ui-media-fit,cover);width:100%;height:100%;display:block}.ui-defer{content-visibility:auto;contain-intrinsic-size:auto var(--ui-defer-size,240px)}:is(.v2p-timeline-node,.v2p-history-list>div){content-visibility:auto;contain-intrinsic-size:auto 72px}.v2p-item-card{content-visibility:auto;contain-intrinsic-size:auto 250px}:where(a[href],[role=button]){touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (hover:none) and (pointer:coarse){:where(a[href],[role=button]):not([aria-disabled=true]):active{opacity:.82}}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t:0s;--t-slow:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
