.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}.tabbar{padding:6px 4px max(env(safe-area-inset-bottom), 6px);background:var(--panel-glass);border-top:var(--hair-w) solid var(--hair);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex:none;justify-content:space-around;display:flex}.tabbar button{letter-spacing:.02em;width:64px;min-height:52px;color:var(--ink-3);transition:color .2s var(--ease-out);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:2px 0;font-size:10px;display:flex;position:relative}.tabbar button.on{color:var(--ink)}.tabbar button.on:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:1px;left:50%}.tabbar .tab-dot{background:var(--negative);border-radius:50%;width:7px;height:7px;position:absolute;top:2px;left:38px}.tabbar.over{z-index:61;position:fixed;bottom:0;left:0;right:0}.phone-screen.with-tabs{bottom:calc(max(env(safe-area-inset-bottom), 6px) + 58px)}.topbar.tab-top h1{align-items:flex-start;margin-left:16px}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/playfair-italic.ttf)format("truetype");unicode-range:U+20-7E}.shell{--t-bg:var(--paper);--t-surf:var(--panel);--t-surf2:color-mix(in srgb, var(--ink) 6%, var(--panel));--t-ink:var(--ink);--t-mut:var(--ink-2);--t-faint:var(--ink-3);--t-line:var(--hair);--t-bar:var(--panel-glass);--t-btn:var(--ink);--t-btn-ink:var(--paper);--t-wine:var(--accent);--t-radius:12px;--t-serif:"Playfair Display", Georgia, "Times New Roman", serif;--acc:var(--accent);--acc-ink:var(--accent-ink);--w-heart:var(--acc);--w-vital:#8fb894;--w-optr:0;--w-speech:var(--t-ink);--data:var(--ws-data,var(--accent));--g-text:#f3efe8;--g-muted:#f3efe8bd;--g-shadow:0 1px 6px #0000008c;--w-glass:#0c0b0a8c;--w-glass-2:var(--panel-glass);--w-line:var(--hair-strong);--stage-h:20dvh;color:var(--t-ink);letter-spacing:.1px;font-family:-apple-system,SF Pro Text,PingFang SC,Noto Sans SC,Noto Sans CJK SC,sans-serif}.it{font-family:var(--t-serif);font-style:italic;font-weight:500}.shell-bg{z-index:0;background:var(--t-bg);pointer-events:none;position:fixed;inset:0;overflow:hidden}.shell-bg img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.shell-bg img.fade{animation:.2s both bg-in}.shell-vig{background:linear-gradient(#0000006b 0%,#0000 16% 60%,#00000040 100%);position:absolute;inset:0}@keyframes bg-in{0%{opacity:0}to{opacity:1}}.shell-figure{z-index:1;right:max(-40px,50vw - 400px);top:calc(env(safe-area-inset-top) + 56px);width:min(60vw,280px);height:calc(var(--stage-h) + 40px);pointer-events:none;position:fixed;-webkit-mask-image:linear-gradient(#000 72%,#0000);mask-image:linear-gradient(#000 72%,#0000)}.shell-figure .talk-pics{position:absolute;inset:0}.shell-figure .talk-img{object-fit:contain;object-position:center bottom}.shell-figure .talk-img.square{object-fit:cover;object-position:center top;border-radius:0}.shell-figure .talk-ph{display:none}.shell>:is(.topbar,.shell-stage,.shell-panel,.composer,.talk,main,.hub-ui){z-index:2;position:relative}.gp,.pill{background:var(--w-glass);white-space:nowrap;height:30px;color:var(--g-text);border:0;border-radius:999px;align-items:center;gap:6px;min-width:0;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.gp b{font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-weight:600;overflow:hidden}.gp .mu{color:var(--g-muted)}.gp .bar{background:#7f7f7f4d;border-radius:2px;flex:none;width:40px;height:4px;overflow:hidden}.gp .bar i{background:var(--m-color,var(--w-vital));border-radius:2px;height:100%;display:block}.gp.meter .meter-ic{color:var(--m-color,var(--w-vital));flex:none}.slot-track{flex:none;align-items:center;gap:3px;display:inline-flex}.slot-track i{background:#7f7f7f59;border-radius:2px;width:12px;height:3px}.slot-track i.past{opacity:.35;background:currentColor}.slot-track i.now{background:var(--acc);width:20px}.badge{background:var(--acc);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;display:flex;position:absolute;top:-6px;right:-6px}.badge:empty{width:8px;min-width:8px;height:8px;padding:0;top:-1px;right:-1px}.side-stack{flex-direction:column;align-items:center;gap:14px;display:flex}.side-btn{width:54px;min-height:48px;color:var(--g-text);text-shadow:var(--g-shadow);background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:2px 0;font-size:10.5px;font-weight:500;display:flex;position:relative}.side-btn svg{filter:drop-shadow(0 1px 5px #00000080)}.side-btn .side-c{display:flex;position:relative}.side-btn .badge{top:-4px;right:6px}.heart-row{color:var(--t-faint);flex:none;gap:2px;display:inline-flex}.heart-row .on{color:var(--w-heart)}.cta{background:var(--t-btn);color:var(--t-btn-ink);border-radius:var(--t-radius);min-height:50px;box-shadow:none;border:0;justify-content:center;padding:0 18px;position:relative}.cta-in{flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;display:flex}.cta b{letter-spacing:.5px;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.cta small{opacity:.6;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:100%;font-size:11px;display:flex;overflow:hidden}.cta:disabled{opacity:.5}.icb{border-radius:var(--t-radius);border:.5px solid var(--t-line);width:50px;height:50px;min-height:50px;color:var(--t-ink);background:#ffffff14;flex:none;padding:0;position:relative}:root[data-theme=light] .icb{background:#0000000a}.screen.shell{background:0 0}.shell .topbar.shell-top{z-index:3;min-height:0;padding:calc(env(safe-area-inset-top) + 6px) 8px 8px;color:var(--g-text);background:linear-gradient(#00000073,#0000);align-items:center;gap:4px;display:flex;position:relative}.shell .topbar.shell-top h1{min-width:0;text-shadow:var(--g-shadow);flex-direction:column;flex:1;align-items:flex-start;gap:1px;margin:0 2px;display:flex}.shell .topbar.shell-top h1 .place-txt{font-size:var(--fs-bar);letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.shell-sub{font-size:var(--fs-cap);color:var(--g-muted);white-space:nowrap;align-items:center;gap:5px;max-width:100%;font-weight:400;display:flex;overflow:hidden}.shell-sub>*{flex:none}.shell-sub .dot{opacity:.6;background:currentColor;border-radius:50%;width:3px;height:3px}.shell-sub .it{font-size:14px}.shell-sub .sub-money{align-items:center;gap:6px;display:inline-flex}.shell-top .tb{width:40px;height:44px;min-height:44px;color:var(--g-text);background:0 0;border:0;flex:none;padding:0;position:relative}.shell-top .tb svg{filter:drop-shadow(0 1px 4px #00000080)}.shell-top .tb .badge{top:4px;right:4px}.shell .mini-dot{top:8px;right:8px}.shell-chips{display:none}.shell-panel{background:0 0;flex-direction:column;flex:auto;min-height:0;margin:0;display:flex;position:relative}.shell-panel>.scroll{background:linear-gradient(var(--t-bg), var(--t-bg)) 0 var(--stage-h) / 100% 100% no-repeat local;padding-top:0}.stage-gap{height:var(--stage-h);pointer-events:none;background:linear-gradient(180deg, transparent 45%, var(--t-bg))}.shell-panel .stream{padding-top:0}.shell-panel .hist-btn{z-index:4;background:var(--w-glass);width:36px;height:36px;min-height:36px;color:var(--g-text);border-radius:50%;position:absolute;top:6px;right:8px}.shell-panel .hist-btn:after{content:"";position:absolute;inset:-4px}.shell .here-row{z-index:3;background:var(--t-bg);padding-right:52px;position:sticky;top:0}.shell .stream .narr .say,.shell .stream .speech{color:var(--w-speech)}.shell .talk.talk-tab{z-index:3;background:var(--t-bg);align-items:center;gap:10px;margin-top:0;padding:6px 16px;display:flex;position:sticky;top:0}.shell .talk.talk-tab:before{display:none}.shell .talk-tab .talk-plate{min-width:0;color:var(--t-ink);background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.shell .talk-tab .talk-pic{background:var(--t-surf2);width:46px;height:46px;box-shadow:0 0 0 2px var(--t-bg);border-radius:50%;flex:none}.shell .talk-tab .talk-img:not(.square):not(.talk-ph){transform-origin:50% 26%;transform:scale(1.7)}.shell .talk-tab .talk-info{cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.shell .talk-tab .talk-name{color:var(--t-ink);font-size:var(--fs-body);letter-spacing:.5px;font-weight:700}.shell .talk-tab .talk-line{align-items:center;gap:8px;display:flex}.shell .talk-tab .talk-toward{color:var(--acc);font-size:12px;font-weight:500}.shell .talk-tab .hearts{color:var(--t-faint)}.shell .talk-tab .hearts .on,.shell .talk-tab .hearts .full{color:var(--w-heart)}.shell .talk-tab .talk-float{flex-direction:row;position:static}.shell .talk-tab .talk-others{gap:4px}.shell .talk-tab .talk-other .avatar{box-shadow:0 0 0 2px var(--t-bg)}.shell .talk-tab .talk-status{color:var(--t-mut);background:0 0;border:0;flex:none;gap:2px;min-height:44px;padding:0 2px 0 8px;font-size:13px}.shell .choices{padding:8px 16px var(--s2)}.shell .sugs{border-top:.5px solid var(--t-line);gap:0}.shell .sug{border:0;border-bottom:.5px solid var(--t-line);background:0 0;border-radius:0;justify-content:flex-start;gap:12px;min-height:52px;padding:10px 2px}.shell .sug:after{content:"";border-right:1.5px solid var(--t-faint);border-top:1.5px solid var(--t-faint);flex:none;width:7px;height:7px;margin-left:4px;transform:rotate(45deg)}.shell .sug:active{background:var(--t-surf);transform:none}.shell .sug .sug-ic{color:var(--acc);flex:none;display:flex}.shell .sug-meta{margin-left:auto}.shell .end-scene,.shell .end-hint{margin-top:10px}.shell .composer{background:var(--t-bg);box-shadow:0 60px 0 var(--t-bg);border-top:0;padding-left:16px;padding-right:16px}.shell .input-box{background:var(--t-surf2);border-color:#0000;border-radius:26px}.shell .input-box .send:not(:disabled){background:var(--acc);color:#fff}.shell .trays .mode,.shell .trays-line>.mode{color:var(--t-mut)}.shell .trays .mode.on,.shell .trays-line>.mode.on{background:var(--t-surf2);color:var(--t-ink)}.shell .tray{background:var(--t-surf);border:.5px solid var(--t-line);border-radius:16px}.shell .tray-dock{background:var(--t-surf);border-color:var(--t-line)}.shell:has(.composer textarea:focus) .shell-figure{display:none}.shell .composer>.tray{overscroll-behavior:contain;max-height:46dvh;overflow-y:auto}.plan-head{z-index:3;align-items:center;gap:10px;margin-top:0;padding:8px 16px;display:flex;position:relative}.shell-panel .plan-head{background:var(--t-bg);position:sticky;top:0}.plan-head h2{font-size:var(--fs-title);white-space:nowrap;flex:none;align-items:center;gap:6px;margin:0;font-weight:700;display:flex}.plan-head .slot-track{min-width:0;color:var(--t-ink);flex:0 auto;overflow:hidden}.plan-head .plan-left{color:var(--t-mut);white-space:nowrap;margin-left:auto;font-size:13px}.plan-head svg{color:var(--acc)}.shell-panel.plan-panel>.scroll{padding-top:0}.shell .plan{padding:0 16px}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 12px;display:grid}.tile{border-radius:var(--t-radius);background:var(--t-surf);border:.5px solid var(--t-line);text-align:center;min-height:94px;color:var(--t-ink);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 6px;display:flex;position:relative}.tile>svg{color:var(--t-ink);margin-bottom:2px}.tile b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:15px;font-weight:600;line-height:1.25;overflow:hidden}.tile small{color:var(--t-mut);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;line-height:1.35;overflow:hidden}.tile .tags{justify-content:center;gap:4px;font-size:12px;font-weight:600}.tile .up{color:var(--positive)}.tile .down{color:var(--negative)}.tile .tdata{color:var(--data)}.tile.hot{border-color:color-mix(in srgb, var(--acc) 55%, transparent)}.tile.hot>svg{color:var(--acc)}.tile .tile-av{border-radius:50%;width:26px;height:26px;position:absolute;top:6px;right:6px;overflow:hidden}.tile .tile-av .avatar{width:26px;height:26px;font-size:11px}.tile:disabled{opacity:.45}.plan-sec{color:var(--t-mut);letter-spacing:1.5px;align-items:center;gap:6px;margin:14px 0 6px;font-size:12px;font-weight:500;display:flex}.plan-sec button{margin-left:auto}.shell .places{border-top:.5px solid var(--t-line);gap:0}.shell .place{border:0;border-bottom:.5px solid var(--t-line);background:0 0;border-radius:0;padding:12px 2px}.shell .place-ic{color:var(--t-mut)}.shell .plan-foot{background:0 0;border-top:0;margin:8px 0 0;padding:4px 0 12px;position:static}@media (prefers-reduced-motion:reduce){.shell-bg img.fade{animation:none}}@media (width<=360px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.shell.theme-cute{--t-bg:#fff5f8;--t-surf:#fff;--t-surf2:#ffe8ef;--t-ink:#3a2430;--t-mut:#3a24309e;--t-faint:#3a243061;--t-line:#e878a038;--t-bar:#fff5f8cc;--t-btn:#e8789f;--t-btn-ink:#fff;--t-radius:18px;--acc:#e8789f}.shell .shell-panel .talk.talk-tab,.shell .plan-panel .plan-head{padding-right:52px}.screen.hub{max-width:none;overflow:hidden}.hub .shell-vig{background:0 0}.hub-scrim{z-index:1;pointer-events:none;background:linear-gradient(#00000073 0%,#0000 18% 46%,#080707c7 70%,#080707f5 88%);position:fixed;inset:0}:root[data-theme=light] .hub-scrim{background:linear-gradient(#0000004d 0%,#0000 18% 48%,#f7f5f2d1 72%,#f7f5f2f7 88%)}.hub-figure{left:30%;right:auto;top:calc(env(safe-area-inset-top) + 180px);width:min(76vw,360px);height:calc(100% - env(safe-area-inset-top) - 420px);z-index:1}.hub-ui{width:100%;max-width:720px;height:100%;color:var(--g-text);margin:0 auto;position:relative}.hub-top{padding:calc(env(safe-area-inset-top) + 10px) 20px 0;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.hub-when{text-shadow:var(--g-shadow);flex-direction:column;min-width:0;display:flex}.hub-when b{font-size:30px;font-weight:600;line-height:1.1}.hub-when span{letter-spacing:1.5px;color:var(--g-muted);white-space:nowrap;margin-top:4px;font-size:12px}.hub-pills{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.hub-pills .icon{color:var(--g-text);background:var(--w-glass);border-radius:50%;width:36px;height:36px;min-height:36px}.hub-others{left:20px;top:calc(env(safe-area-inset-top) + 86px);align-items:center;display:flex;position:absolute}.hub-other{background:#2a2624;border:0;border-radius:50%;width:32px;height:32px;min-height:32px;margin-right:-6px;padding:0;overflow:hidden;box-shadow:0 0 0 2px #0b0a0acc}.hub-other .avatar,.hub-other img{width:32px;height:32px;font-size:12px}.hub-others em{color:var(--g-muted);text-shadow:var(--g-shadow);margin-left:16px;font-size:12px;font-style:normal}.hub-rail{right:12px;top:calc(env(safe-area-inset-top) + 150px);position:absolute}.hub-info{left:20px;right:20px;bottom:calc(env(safe-area-inset-bottom) + 96px);color:var(--t-ink);position:absolute}.hub .cap{letter-spacing:1.5px;color:var(--t-mut);font-size:12px}.hub-info h2{letter-spacing:1px;align-items:baseline;gap:10px;min-width:0;margin:6px 0 4px;font-size:34px;font-weight:700;display:flex}.hub-info h2 small{color:var(--t-mut);letter-spacing:0;font-size:13px;font-weight:400}.hub-name{min-height:44px;color:inherit;font:inherit;letter-spacing:inherit;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;justify-content:flex-start;max-width:100%;padding:0;overflow:hidden}.hub-st{color:var(--t-mut);align-items:center;gap:10px;font-size:13px;display:flex}.hub-st .sep{opacity:.6;background:currentColor;border-radius:50%;width:3px;height:3px}.hub-st .hearts .on{color:var(--w-heart)}.hub-line{border:0;border-left:2px solid var(--acc);width:100%;color:var(--t-ink);text-align:left;background:0 0;border-radius:0;flex-direction:column;align-items:flex-start;gap:2px;min-height:44px;margin-top:14px;padding:0 0 0 12px;display:flex}.hub-line b{color:var(--t-mut);font-size:12px;font-weight:500}.hub-line-t{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:16px;line-height:1.6;display:-webkit-box;overflow:hidden}.hub-line time{color:var(--t-faint);font-size:11px}.hub-acts{gap:10px;margin-top:18px;display:flex}.hub-acts .hub-go{flex:1;min-width:0}.hub .tabbar{background:var(--t-bar);border-top:.5px solid var(--t-line);padding-top:8px;position:absolute;bottom:0;left:0;right:0}.hub .tabbar button{color:var(--t-faint)}.hub .tabbar button.on{color:var(--t-ink)}.hub .tabbar .tab-dot{background:var(--acc)}.hub .tabbar.over{position:fixed}.hub-new .hub-intro{left:20px;right:20px;bottom:calc(env(safe-area-inset-bottom) + 110px);color:var(--t-ink);flex-direction:column;gap:10px;display:flex;position:absolute}.hub-new .hub-intro h1{letter-spacing:2px;margin:0;font-size:34px;font-weight:700}.hub-new .hub-intro p{color:var(--t-mut);max-width:30em;font-size:15px;line-height:1.6}.hub-new .hub-intro button{align-self:flex-start}.hub-corner{top:calc(env(safe-area-inset-top) + 8px);gap:6px;display:flex;position:absolute;right:12px}.hub-corner .icon{color:var(--g-text);background:var(--w-glass);border-radius:50%}.hub-out-sheet .plan-head{margin:0;padding:0 0 8px}.hub-out-sheet .plan-head h2{display:none}.hub-out-sheet .plan{padding:0}.hub-out-sheet .plan-foot{background:0 0;border-top:0;margin:0;padding:0;position:static}@media (height<=720px){.hub-rail{top:calc(env(safe-area-inset-top) + 124px)}.side-stack{gap:6px}.hub-info h2{font-size:28px}.hub-line{margin-top:8px}.hub-acts{margin-top:10px}}.hub-her{gap:8px;margin-top:14px;display:flex}.hub-her button{border:1px solid var(--t-line);min-width:0;min-height:44px;color:var(--t-ink);font-size:var(--fs-sub);background:#ffffff0f;border-radius:22px;flex:1;gap:6px}:root[data-theme=light] .hub-her button{background:#00000008}.chat-face{object-fit:cover;object-position:top;background:var(--raised);border-radius:50%;flex:none;width:36px;height:36px}.chat-face.tall{aspect-ratio:2/3;border-radius:10px;width:64px;height:auto}.chat-face.letter{color:var(--muted);justify-content:center;align-items:center;font-size:15px;font-weight:600;display:inline-flex}.group>.row.chat-row{min-height:64px}.group>.row.chat-row+.row:before,.group>.row+.row.chat-row:before{left:68px}.chat-row .chat-face{width:40px;height:40px}.drawer .chat-row .chat-face{background:var(--active)}.chat-row-top{justify-content:space-between;align-items:baseline;gap:var(--s2);min-width:0;display:flex}.chat-row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-row-world{color:var(--faint);font-size:var(--fs-sub);margin-left:var(--s2)}.chat-row-time{font-size:var(--fs-cap);color:var(--faint);flex:none}.chat-row-unread{min-width:1.4em;margin-right:var(--s2);background:var(--data);color:var(--on-data);text-align:center;border-radius:999px;padding:0 .4em;font-weight:600;display:inline-block}.chat-row-line{font-size:var(--fs-sub);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-pick .pick-sec{gap:var(--s2);flex-direction:column;display:flex}.person-pick .pick-sec h4{margin-top:0}.chat-sec{flex-direction:column;gap:8px;display:flex}.chat-sec+.chat-sec{margin-top:24px}.chat-sec h3{color:var(--faint);font-size:13px;font-weight:600}.chat-group{background:var(--surface);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.chat-start .chat-group{background:var(--raised)}.chat-opt{text-align:left;background:0 0;border-radius:0;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:12px 16px;position:relative}.chat-opt:active{transform:none}.chat-opt+.chat-opt:before{content:"";border-top:1px solid var(--border);position:absolute;top:0;left:16px;right:0}.chat-opt>span:first-child{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-opt b{font-size:16px;font-weight:400}.chat-opt small{color:var(--muted);font-size:14px}.chat-opt.on{background:var(--active)}.chat-radio{border:1.5px solid var(--control);border-radius:50%;flex:none;width:22px;height:22px}.chat-opt.on .chat-radio{border:7px solid var(--text)}.chat-intro{width:100%}.game-page{color:var(--ink);background:var(--paper)}.game-page :where(.wpanel-acts,.binder-acts,.cards-bar)>button:not(.primary):not(.icon):not(.text):not(.link){background:0 0}.page-title{font-family:var(--font-display);letter-spacing:.02em;color:var(--ink);margin:0;font-size:30px;font-weight:300;line-height:1.15}.hud-btn{width:40px;height:40px;min-height:40px;color:var(--ink);flex:none;padding:0;position:relative;background:var(--panel-glass)!important;border:var(--hair-w) solid var(--hair-strong)!important;border-radius:50%!important}.hud-chip{min-height:30px;color:var(--negative);padding:0 10px;font-size:12px;background:var(--panel-glass)!important;border:var(--hair-w) solid var(--hair)!important;border-radius:999px!important}.hud-panel{border-radius:var(--r-sheet);background:var(--panel);border:var(--hair-w) solid var(--hair-strong);box-shadow:var(--shadow-lift);color:var(--ink)}.hud-glass{border-radius:var(--r-card);background:var(--panel-glass);border:var(--hair-w) solid var(--hair)}@keyframes hud-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.hud-sec{font-size:var(--fs-sec);letter-spacing:var(--ls-label);color:var(--ink-3);margin:0 0 var(--s2);font-weight:500}.hud-badge{text-align:center;min-width:18px;height:18px;color:var(--accent-ink);background:var(--accent);border-radius:9px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px;position:absolute;top:-3px;right:-3px}.hud-badge.fail{background:var(--negative);color:#fff}.hud-badge.run{width:8px;min-width:8px;height:8px;padding:0;top:2px;right:2px}.worlds-page{position:relative;overflow:hidden}.worlds-page>.tabbar{z-index:6;position:absolute;bottom:0;left:0;right:0}.wmap{contain:paint;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.wmap-sky{pointer-events:none;background:radial-gradient(90% 60% at 50% 45%,#181613,#0c0b0a 72%);position:absolute;inset:0}.wmap-sky:after{content:"";background:var(--grain);opacity:.35;position:absolute;inset:0}:root[data-theme=light] .wmap-sky{background:radial-gradient(90% 60% at 50% 45%,#faf7f1,#efe9df 75%)}:root[data-theme=light] .wmap-sky:after{opacity:.8}.wmap-canvas{opacity:0;width:100%;height:100%;transition:opacity 1.2s var(--ease-out);display:block;position:absolute;inset:0}.wmap.ready .wmap-canvas{opacity:1}.wmap-fail{text-align:center;color:var(--ink-2);padding:0 var(--gutter);font-size:14px;position:absolute;top:45%;left:0;right:0}.wmap-nodes{pointer-events:none;position:absolute;inset:0;overflow:hidden}.wmap:not(.ready) .wnode{visibility:hidden}.wnode{--r:30px;pointer-events:auto;width:calc(var(--r) * 2);height:calc(var(--r) * 2);min-height:0;margin:calc(var(--r) * -1) 0 0 calc(var(--r) * -1);color:var(--ink);will-change:transform;background:0 0;border:0;border-radius:50%;padding:0;position:absolute;top:0;left:0}.wnode:active{transform:none}.wnode:focus-visible{outline:1px solid var(--accent);outline-offset:6px}.wnode .wnode-hit{border-radius:50%;position:absolute;inset:0}.wnode .world-text{white-space:nowrap;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.wnode .world-name{letter-spacing:.04em;color:var(--ink-2);transition:color .3s var(--ease-out);align-items:center;gap:6px;font-size:12px;font-weight:400;display:inline-flex}.wnode.home .world-name{letter-spacing:.06em;color:var(--ink);font-size:13px}.wnode.sel .world-name{color:var(--accent)}.wnode .tag{padding:0 6px;font-size:10px}.wmap-hud{z-index:5;align-items:center;gap:var(--s2);padding:calc(env(safe-area-inset-top) + 14px) var(--s4) 0 var(--gutter);pointer-events:none;display:flex;position:absolute;top:0;left:0;right:0}.wmap-hud>*{pointer-events:auto}.wmap-hud h1{pointer-events:none;flex-direction:column;flex:1;gap:4px;margin:0;display:flex}.wmap-hud h1 small{letter-spacing:.04em;color:var(--ink-3);font-size:12px;font-weight:400}.wmap-continue{left:0;right:0;bottom:calc(max(env(safe-area-inset-bottom), 6px) + 70px);z-index:4;padding:0 0 0 var(--gutter);animation:wfade .3s var(--ease-out) both;position:absolute}.wmap-saves{gap:var(--s2);padding:2px var(--gutter) 4px 0;scrollbar-width:none;scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.wmap-saves::-webkit-scrollbar{display:none}.save-row{background:var(--panel-glass);border:var(--hair-w) solid var(--hair);scroll-snap-align:start;border-radius:14px;flex:none;align-items:center;min-width:0;display:flex}.wmap-saves .save-row{width:min(240px,72vw)}.save-row .resume{justify-content:flex-start;gap:var(--s3);text-align:left;flex:1;min-width:0;padding:10px 4px 10px 12px;background:0 0!important;border:0!important}.save-row .resume:active{transform:scale(.98)}.save-play{width:30px;height:30px;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-line);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.save-row .main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.save-row .save-title{align-items:center;min-width:0;font-size:14px;font-weight:500;display:flex}.save-row .save-title>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.save-row .save-title .tag{flex:none;margin-left:6px}.save-row .sub{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.save-row>button.icon{width:36px;color:var(--ink-3)}.wpanel{left:10px;right:10px;bottom:calc(max(env(safe-area-inset-bottom), 6px) + 66px);z-index:5;overscroll-behavior:contain;max-height:calc(100% - 200px);animation:hud-rise .32s var(--ease-out) both;outline:none;position:absolute;overflow:hidden auto}@media (width>=640px){.wpanel{width:460px;margin-left:-230px;left:50%;right:auto}}.wpanel-art{aspect-ratio:21/9;position:relative;overflow:hidden}.wpanel-art img{object-fit:cover;width:100%;height:100%;display:block}.wpanel-art:after{content:"";background:linear-gradient(180deg, transparent 45%, var(--panel));position:absolute;inset:0}.wpanel-close{z-index:1;width:34px;height:34px;min-height:34px;top:10px;right:10px;position:absolute!important}.wpanel-body{padding:0 var(--s5) var(--s5);gap:var(--s3);flex-direction:column;margin-top:-28px;display:flex;position:relative}.wpanel-body h2{align-items:center;gap:var(--s2);font-family:var(--font-display);letter-spacing:.02em;color:var(--ink);font-size:26px;font-weight:400;display:flex}.wpanel-body h2 .tag{font-size:11px}.wpanel-line{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.7;display:-webkit-box;overflow:hidden}.wpanel-chips{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.wpanel-chips .chip{border:var(--hair-w) solid var(--hair);min-height:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:8px;max-width:100%;padding:3px 9px;font-size:12px;line-height:18px;display:inline-block;overflow:hidden}.wpanel-acts{gap:var(--s2);display:flex}.wpanel-acts>button{border-radius:12px;flex:1;min-height:46px}.wpanel-acts>button.go{letter-spacing:.08em;min-height:50px;font-size:16px;font-weight:500}.wpanel-note{color:var(--ink-3);text-align:center;margin-top:-4px;font-size:12px}.wpanel .hud-sec{margin:var(--s2) 0 0}.wpanel-saves{gap:var(--s2);flex-direction:column;display:flex}@keyframes wfade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.wpanel,.wmap-continue{animation:none}}.topbar.start-top{grid-template-columns:1fr auto 1fr;display:grid}.start-top h1{margin:0}.start-skip{justify-content:flex-end;display:flex}.start-skip button.text{padding:0 var(--s3)}.start-progress{gap:var(--s1);padding:0 var(--gutter) var(--s1);flex:none;display:flex}.start-progress span{background:var(--raised);border-radius:2px;flex:1;height:3px}.start-progress span.on{background:var(--text)}.start-body{padding-bottom:var(--s6)}.start .bottom-bar{padding-top:var(--s2)}.start-step{flex-direction:column;display:flex}.start-step>section>.sec,.start-step>.field>.sec{margin:var(--s6) 0 var(--s2)}.start-step>:first-child>.sec{margin-top:var(--s2)}.start-step>.start-note:first-child+section>.sec{margin-top:var(--s4)}.start-step>.start-note:first-child{margin-top:var(--s2)}.start-note{color:var(--muted);margin-top:var(--s2);font-size:13px;line-height:1.55}.start .group>.row .main>span:first-child{align-items:center;min-width:0;display:flex}.start .group>.row .tag{margin-left:var(--s2)}.start .group>.row .tag.data{background:0 0;border:1px solid}.start .group>.row .end,.start .group>.row>.avatar{color:var(--muted)}.start .group>.row.sel>.avatar{background:var(--active)}.start .group>.row.empty-row{color:var(--muted)}.start-gap{margin-top:var(--s3)}.start .group>.row.plot-fix{min-height:0;padding-top:0}.start .group>.row.plot-fix:before{display:none}.mech-name{color:var(--data)}.start input:focus-visible,.start textarea:focus-visible{outline:none}.start-form{gap:var(--s4);margin-top:var(--s4);flex-direction:column;display:flex}.start .field{gap:var(--s2);flex-direction:column;display:flex}.start .field>span:first-child{color:var(--muted);font-size:13px}.start .field>span.sec{font-size:var(--fs-sec);color:var(--faint)}.start .field small{font-size:var(--fs-cap);color:var(--faint)}.start textarea.autogrow{min-height:48px;padding:12px 16px;line-height:1.5;overflow:hidden}.look-need{gap:var(--s2);margin-top:var(--s4);justify-items:start;display:grid}.seg-field{gap:var(--s2);flex-direction:column;display:flex}.seg-label{color:var(--muted);font-size:13px}.opening-default{font-size:var(--fs-read);color:var(--text);line-height:1.75}.opening-default p+p{margin-top:14px}.preview-notes{gap:var(--s3);flex-direction:column;display:flex}.pv-note{gap:var(--s1);font-size:var(--fs-sub);flex-direction:column;line-height:1.55;display:flex}.pv-note b{font-weight:600}.pv-note ul{padding-left:18px}.pv-note.sleep{color:var(--muted)}.pv-note.warn b{color:var(--data)}.pv-ok{font-size:var(--fs-sub);color:var(--positive);align-items:center;gap:6px;display:flex}.start-error{color:var(--negative);font-size:var(--fs-sub);line-height:1.55}.topbar.home-top{grid-template-columns:1fr auto 1fr;display:grid}.topbar.home-top h1{gap:var(--s2);flex-direction:row;margin:0}.home-top-side{min-width:0;display:flex}.home-top-side.end{justify-content:flex-end}@media (width<=380px){.topbar.home-top button.icon{width:40px}}@media (width<=420px){.topbar.home-top{grid-template-columns:auto 1fr auto}.topbar.home-top h1{justify-self:start;margin-left:12px}}.start .group>.row.new-chat-row{min-height:56px}.new-chat-row .avatar{color:var(--text)}.away-sheet .away-range{margin:0 0 var(--s3);color:var(--muted);font-size:var(--fs-sub)}.away-sheet .away-wait{align-items:center;gap:var(--s2);margin:0 0 var(--s3);display:flex}.away-sheet .away-day+.away-day{margin-top:var(--s4)}.away-sheet .away-person{align-items:flex-start;gap:var(--s3)}.away-sheet .away-person .main{gap:var(--s1);flex-direction:column;min-width:0;display:flex}.away-sheet .away-line{align-items:flex-start;gap:var(--s2);color:var(--muted);font-size:var(--fs-sub);line-height:1.45;display:flex}.away-sheet .away-line svg{color:var(--faint);flex:none;margin-top:3px}.away-sheet .away-msg-top{justify-content:space-between;align-items:baseline;gap:var(--s2);display:flex}.away-sheet .away-msg-top small{color:var(--faint);font-size:var(--fs-cap)}.away-sheet .away-msg{color:var(--speech);font-size:var(--fs-sub);overflow-wrap:anywhere;line-height:1.5}: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);--font-display:"Songti SC", ui-serif, "Noto Serif SC", "Noto Serif CJK SC", serif;--font-body:-apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Noto Sans CJK SC", "Helvetica Neue", sans-serif;--font-num:"Didot", ui-serif, "Noto Serif SC", "Noto Serif CJK SC", serif;--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));-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{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:36px;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}.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}.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-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}.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{min-height:44px;padding:0 var(--s2) 0 0;color:var(--text);align-self:flex-start;gap:4px}.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}.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}
