:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-control:8px;--radius-panel:12px;--target:44px;--gutter:20px;--measure:720px;--motion-fast:.12s;--motion-enter:.18s;--ease:cubic-bezier(.2, .7, .2, 1);--accent-ink:#fffaf4;--danger-ink:#fff;--control-line:#8e8478;--bg:#f4f0e8;--bg-2:#ece6db;--panel:#fffdf9;--text:#2b2723;--muted:#70685e;--line:#e4ddd1;--me:#33302b;--me-text:#f8f3ea;--cover:#33302b;--cover-text:#f8f3ea;--link-name:#5b6b8c;--them:#fff;--them-line:#ebe5da;--accent:#a45121;--accent-soft:#f3e3d1;--danger:#b4483b;--ok:#367748;--narr:#70685e;--act:#85613f;--think:#66619a;--note-c:#456e60;--prose-bg:#fdf8ef;--prose-line:#eadfcd;--director:#e6ebf1;--sky-dawn:#f6dcc4;--sky-day:#f4f0e8;--sky-dusk:#f2cfae;--sky-night:#dcd9e6;--serif:"Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "Noto Serif SC", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15151a;--bg-2:#1b1b21;--panel:#1f1f26;--text:#ebe6dd;--muted:#ada69c;--line:#2d2d35;--me:#e3a160;--me-text:#1c160f;--cover:#2a2620;--cover-text:#ebe6dd;--link-name:#8fa3cf;--them:#26262e;--them-line:#2e2e37;--accent:#e8a35c;--accent-ink:#21170d;--danger-ink:#21170d;--control-line:#827d77;--accent-soft:#3a2c1e;--danger:#e07a6c;--ok:#6cc08a;--narr:#ada69c;--act:#d0a87e;--think:#aaa5dc;--note-c:#8fc2b0;--prose-bg:#1d1c21;--prose-line:#34302b;--director:#222833;--sky-dawn:#2a2129;--sky-day:#18181d;--sky-dusk:#2b2019;--sky-night:#12131c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#15151a;--bg-2:#1b1b21;--panel:#1f1f26;--text:#ebe6dd;--muted:#ada69c;--line:#2d2d35;--me:#e3a160;--me-text:#1c160f;--cover:#2a2620;--cover-text:#ebe6dd;--link-name:#8fa3cf;--them:#26262e;--them-line:#2e2e37;--accent:#e8a35c;--accent-ink:#21170d;--danger-ink:#21170d;--control-line:#827d77;--accent-soft:#3a2c1e;--danger:#e07a6c;--ok:#6cc08a;--narr:#ada69c;--act:#d0a87e;--think:#aaa5dc;--note-c:#8fc2b0;--prose-bg:#1d1c21;--prose-line:#34302b;--director:#222833;--sky-dawn:#2a2129;--sky-day:#18181d;--sky-dusk:#2b2019;--sky-night:#12131c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;height:100%}#root{min-height:100dvh}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font:16px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Microsoft YaHei,sans-serif}button{font:inherit;color:inherit;cursor:pointer;min-width:var(--target);min-height:var(--target);touch-action:manipulation;transition:background-color var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{cursor:default}input,textarea,select{scroll-margin-block:80px}::placeholder{color:var(--muted);opacity:1}.ico{flex:none;display:block}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px;line-height:1.5}.error{color:var(--danger)}.ok{color:var(--ok)}.pad{padding:4px 16px}.grow{flex:1;min-width:0}.center{justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.center-text{text-align:center}.col{flex-direction:column}.gap{gap:14px}.note{text-align:center;max-width:320px;color:var(--muted);font-size:14px}.link{color:var(--accent);border-radius:var(--radius-control);text-underline-offset:4px;background:0 0;border:0;padding:8px 4px;text-decoration-thickness:1px}p .link{min-width:0;min-height:0;padding:0 2px}.hero{background:var(--bg)}.brand{border-bottom:1px solid var(--text);flex-direction:column;align-items:flex-start;gap:8px;margin:32px 0;padding-bottom:24px;display:flex}.brand img{border-radius:12px;margin-bottom:8px}.title{letter-spacing:-.035em;margin:0;font-size:36px;font-weight:600;line-height:1.1}.tagline{color:var(--muted);letter-spacing:.04em;margin:0;font-size:14px}.hero .field{text-align:center;max-width:300px}.hero>.btn.primary{min-width:140px}.pack-cover{color:#fff0dcd9;width:100%;height:150px;font-family:var(--serif);letter-spacing:.3em;writing-mode:vertical-rl;background:radial-gradient(circle at 72% 38%,#ffd9a0 0 6px,#0000 7px),radial-gradient(circle at 72% 38%,#ffc87873,#0000 45%),linear-gradient(#2c3247 0%,#4a4258 55%,#a86f54 100%);justify-content:flex-end;align-items:flex-end;margin-bottom:12px;padding:14px 16px;font-size:13px;display:flex}.pack-title{font-family:var(--serif);font-size:20px;line-height:1.5}.field{width:100%;min-width:0;min-height:var(--target);border-radius:var(--radius-control);border:1px solid var(--control-line);background:var(--panel);color:var(--text);font:inherit;transition:border-color var(--motion-fast);padding:10px 12px;font-size:16px}.field:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.btn{min-height:var(--target);border-radius:var(--radius-control);border:1px solid var(--control-line);background:var(--panel);text-align:center;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;line-height:1.5;display:inline-flex}.btn:active{background:var(--bg-2)}.btn.primary{background:var(--me);color:var(--me-text);border-color:#0000}.btn.danger{color:var(--danger)}.btn.small{padding:8px 12px;font-size:13px}.btn:disabled{opacity:.45}.tag{background:var(--bg-2);color:var(--text);border-radius:999px;padding:1px 7px;font-size:12px;font-weight:400}.toggle{width:48px;height:var(--target);border-radius:var(--radius-control);background:0 0;border:0;flex:none;padding:0;position:relative}.toggle span{background:var(--panel);width:22px;height:22px;transition:transform var(--motion-enter) var(--ease);border-radius:50%;display:block;position:absolute;top:11px;left:3px}.toggle.on{background:0 0}.toggle.on span{transform:translate(20px)}.toggle:before{content:"";background:var(--control-line);border-radius:999px;position:absolute;inset:8px 0}.toggle.on:before{background:var(--accent)}.avatar{color:var(--accent);font-family:var(--serif);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 25%, var(--line));border-radius:12px;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:relative}.avatar-dot{border:2px solid var(--bg);background:var(--ok);border-radius:50%;width:28%;min-width:9px;height:28%;min-height:9px;position:absolute;bottom:0;right:0}.avatar-dot.glance{background:#d6a43c}.avatar-dot.busy{background:#c9673e}.avatar-dot.asleep{background:#7d7fa6}.avatar-dot.together{background:var(--accent)}.bar{z-index:3;padding:calc(env(safe-area-inset-top) + 8px) max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));background:var(--bg);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-items:center;gap:4px;display:grid;position:sticky;top:0}.bar-title{text-align:center;overflow-wrap:anywhere;flex-direction:column;align-items:center;min-width:0;margin:0;font-size:16px;font-weight:600;line-height:1.4;display:flex}.bar-title.plain{background:0 0;border:0;padding:0 6px}.bar-sub{color:var(--muted);min-height:18px;font-size:12px;font-weight:400;line-height:1.5}.bar-sub.live{color:var(--accent)}.bar-side{align-items:center;gap:4px;display:flex}.bar-side.right{justify-content:flex-end}.icon{width:var(--target);min-width:var(--target);height:var(--target);border-radius:var(--radius-control);color:var(--text);background:0 0;border:0;justify-content:center;align-items:center;padding:10px;line-height:1;display:inline-flex}.icon:active{background:var(--bg-2)}.pill-btn{color:var(--accent);border-radius:var(--radius-control);white-space:nowrap;background:0 0;border:0;padding:8px;font-size:13px}.chat{top:var(--viewport-top,0px);width:100%;max-width:840px;height:100vh;height:var(--viewport-height,100dvh);--sky:var(--sky-day);flex-direction:column;margin-inline:auto;display:flex;position:fixed;left:0;right:0}.chat>.bar,.chat>.banner,.chat>.composer{flex-shrink:0}.chat-bar{grid-template-columns:auto minmax(0,1fr) auto}.chat-bar .bar-sub{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.chat{background:linear-gradient(to bottom, color-mix(in srgb, var(--sky) 75%, var(--bg)) 0%, var(--bg) 45%)}.chat .bar{background:0 0}.chat.sky-dawn{--sky:var(--sky-dawn)}.chat.sky-dusk{--sky:var(--sky-dusk)}.chat.sky-night{--sky:var(--sky-night)}.chat.ooc{--bg:var(--bg-2);background:var(--bg-2)}.chat.together{background:linear-gradient(to bottom, color-mix(in srgb, var(--accent) 14%, var(--bg)), var(--bg) 60%)}.banner{text-align:center;background:var(--accent-soft);color:var(--text);padding:8px 16px;font-size:13px}.list{zoom:var(--chat-zoom,1);--target:max(44px, calc(44px / var(--chat-zoom,1)));min-height:0;padding:16px max(16px, env(safe-area-inset-right)) 24px max(16px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;overflow-y:auto}.item.fresh{animation:pop var(--motion-enter) var(--ease) both}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;margin:12vh 16px 24px;display:flex}.empty p{margin:6px 0 0;line-height:1.7}.empty-mark{font-size:40px}.stamp{text-align:center;margin:18px 0 10px}.stamp span{color:var(--muted);background:color-mix(in srgb, var(--panel) 70%, transparent);border-radius:999px;padding:2px 10px;font-size:11.5px}.row{margin:2px 0;display:flex}.row.first{margin-top:12px}.row.right{justify-content:flex-end}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;max-width:82%;min-height:var(--target);border-radius:16px;padding:10px 14px;font-size:16px;line-height:1.65}.bubble.them{background:var(--them);border:1px solid var(--them-line)}.row.left:not(.last) .bubble.them,.row.left:not(.last) .bubble.director{border-bottom-left-radius:6px}.row.left:not(.first) .bubble.them,.row.left:not(.first) .bubble.director{border-top-left-radius:6px}.bubble.me{background:var(--me);color:var(--me-text)}.row.right:not(.last) .bubble.me{border-bottom-right-radius:6px}.row.right:not(.first) .bubble.me{border-top-right-radius:6px}.bubble.pending{opacity:.6}.bubble.director{background:var(--director)}.bubble.typing{align-items:center;gap:4px;padding:13px 14px;display:inline-flex}.bubble.typing i{background:var(--muted);opacity:.5;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite blink}.bubble.typing i:nth-child(2){animation-delay:.15s}.bubble.typing i:nth-child(3){animation-delay:.3s}.narration.mine{text-align:right;border-left:0;border-right:2px solid color-mix(in srgb, var(--act) 40%, transparent);margin:10px 4px 6px 18px;padding:0 11px 0 0}.narration{color:var(--act);font-family:var(--serif);border-left:2px solid color-mix(in srgb, var(--act) 40%, transparent);margin:10px 18px 6px 4px;padding-left:11px;font-size:14px;line-height:1.75}.prose{background:var(--prose-bg);border:1px solid var(--prose-line);border-radius:var(--radius-panel);font-family:var(--serif);overflow-wrap:anywhere;margin:16px 0;padding:8px 16px;font-size:17px;line-height:1.9;position:relative}.prose p{text-indent:2em;color:var(--act);margin:10px 0}.prose .say{color:var(--text)}.call-card{background:var(--them);border-radius:18px;align-items:center;gap:10px;margin:8px 0 2px;padding:10px 16px 10px 10px;display:inline-flex}.call-card>span:last-child{flex-direction:column;font-size:15px;line-height:1.3;display:flex}.call-icon{background:color-mix(in srgb, var(--danger) 14%, transparent);width:32px;height:32px;color:var(--danger);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.reroll-row{margin:6px 0 0 2px;display:flex}.reroll{color:var(--muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;padding:4px 6px;font-size:12px;display:inline-flex}.reroll:active{background:var(--bg-2)}.swiper{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:2px;margin-right:4px;font-size:12px;display:inline-flex}.swiper button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:2px 8px;font-size:18px;line-height:1}.swiper button:disabled{opacity:.3}.action-sheet{border:1px solid var(--line);border-radius:var(--radius-panel);overscroll-behavior:contain;background:var(--panel);width:min(440px,100%);max-height:100%;animation:slideup var(--motion-enter) var(--ease) both;flex-direction:column;flex-shrink:0;margin:0;display:flex;overflow-y:auto}.action-sheet>*{background:var(--panel)}.action-quote{color:var(--muted);text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;flex-shrink:0;max-height:25vh;padding:20px;font-size:14px;overflow-y:auto}.action-sheet button{border:0;border-top:1px solid var(--line);text-align:left;flex-shrink:0;padding:14px 20px;font-size:16px}.action-sheet button.cancel{background:var(--bg);margin-top:0;font-weight:600}.toast{background:color-mix(in srgb, var(--danger) 10%, var(--panel));animation:fade var(--motion-enter) ease both;border-radius:12px;margin:0 12px 6px;padding:8px 12px;font-size:13px}button.toast{width:calc(100% - 24px);color:inherit;font:inherit;text-align:left;cursor:pointer;border:0;font-size:13px;display:block}.status .alert-row{border-left:3px solid var(--danger);padding-left:10px}.composer{gap:var(--space-2);padding:8px max(12px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 8px) max(12px, env(safe-area-inset-left));background:var(--panel);border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;display:flex}.composer textarea{resize:none;border-radius:var(--radius-control);border:1px solid var(--control-line);background:var(--bg);min-width:0;min-height:44px;max-height:140px;color:var(--text);font:inherit;flex:1;padding:10px 12px;font-size:16px;line-height:1.5}.composer textarea:focus{outline:2px solid var(--accent);outline-offset:-2px;border-color:var(--accent)}.send{border-radius:var(--radius-control);width:var(--target);height:var(--target);background:var(--accent);color:var(--accent-ink);border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.send:not(:disabled):active{opacity:.8}.send:disabled{opacity:.35;background:var(--muted)}.sheet-wrap{inset:auto 0;top:var(--viewport-top,0px);z-index:10;width:100%;max-width:none;height:100vh;height:var(--viewport-height,100dvh);max-height:none;padding:max(16px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));color:var(--text);background:0 0;border:0;justify-content:center;align-items:flex-end;margin:0;position:fixed}dialog.sheet-wrap[open]{display:flex}.sheet-wrap::backdrop{background:#140f0a66}[data-sheet-content]:focus{outline:none}.sheet{overscroll-behavior:contain;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);width:min(560px,100%);max-height:100%;animation:slideup var(--motion-enter) var(--ease) both;padding:12px 20px 24px;position:relative;overflow-y:auto}.sheet-grip{background:var(--control-line);border-radius:2px;width:32px;height:3px;margin:0 auto 12px}.sheet-x{color:var(--muted);position:absolute;top:12px;right:12px}.sheet-head{text-align:center;flex-direction:column;align-items:center;padding:12px 0 6px;display:flex}.sheet-head h2{font-family:var(--serif);margin:10px 0 2px;font-size:22px}.sheet-head p{margin:2px 0}.sheet-h{color:var(--muted);letter-spacing:.08em;margin:22px 0 10px;font-size:13px;font-weight:500}.sheet-empty{margin:0}.timeline{margin:0;padding:0 0 0 4px;list-style:none}.timeline li{grid-template-columns:46px 1fr;gap:10px;padding:0 0 14px 14px;font-size:14.5px;line-height:1.65;display:grid;position:relative}.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:0}.timeline li:after{content:"";background:var(--line);width:1px;position:absolute;top:18px;bottom:0;left:3px}.timeline li:last-child:after{display:none}.timeline li.now:before{box-shadow:0 0 0 4px var(--accent-soft)}.timeline li.now span{color:var(--text);font-style:italic}.timeline time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px;font-size:12.5px}.memories{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.memories li{background:var(--bg);border-radius:var(--radius-panel);padding:10px 12px;font-size:14.5px;line-height:1.6}.mem-kind{color:var(--text);background:var(--accent-soft);vertical-align:1px;border-radius:6px;margin-right:6px;padding:0 6px;font-size:12px;display:inline-block}.profile-text{font-family:var(--serif);background:var(--bg);border-radius:var(--radius-panel);margin:0;padding:12px 14px;font-size:15px;line-height:1.8}.lore-link{align-items:center;gap:6px;margin-top:22px;display:inline-flex}.peer{min-width:var(--target);background:0 0;border:0;justify-content:center;align-items:center;padding:4px;display:inline-flex;position:relative}.badge{border:2px solid var(--bg);background:#e0533d;border-radius:50%;width:10px;height:10px;position:absolute;top:-1px;left:2px}.inline-badge{border:0;width:8px;height:8px;display:inline-block;position:static}.moments-entry{border:1px solid var(--line);background:var(--bg);border-radius:999px;align-items:center;gap:6px;margin-top:14px;padding:6px 12px 6px 14px;font-size:14px;display:inline-flex}.moments-entry .ico:first-child{color:var(--accent)}.moments-entry .ico:last-child{color:var(--muted)}.moments .bar{color:var(--cover-text);background:0 0;border:0;position:absolute;left:0;right:0}.moments .bar .icon,.moments .bar-title{color:var(--cover-text)}.moments-cover{min-height:240px;padding:88px max(var(--gutter), env(safe-area-inset-right), calc((100% - var(--measure)) / 2 + var(--gutter))) 0;background:var(--cover);border-bottom:4px solid var(--accent);justify-content:flex-end;align-items:flex-end;gap:16px;display:flex;position:relative}.moments-cover .avatar{border-radius:var(--radius-panel);transform:translateY(24px)}.moments-name{color:var(--cover-text);margin-bottom:16px;font-size:24px;font-weight:600}.moments-body{padding-top:40px}.moments-empty{margin-top:40px;line-height:1.8}.moment{border-bottom:1px solid var(--line);gap:12px;padding:24px 0;display:flex}.moment .avatar{border-radius:10px}.moment-name{color:var(--link-name);font-size:15px;font-weight:600}.moment-body{white-space:pre-wrap;margin-top:2px;font-size:15.5px;line-height:1.6}.moment-meta{align-items:center;gap:4px;margin-top:8px;display:flex}.moment-act{background:var(--bg-2);color:var(--muted);border:0;border-radius:8px;padding:4px 8px;display:inline-flex}.moment-act.on{color:#e0533d}.moment-act.on .ico{fill:currentColor}.moment-box{background:var(--bg-2);border-radius:8px;margin-top:8px;padding:6px 10px;font-size:14px;line-height:1.6}.moment-likes{color:var(--link-name);align-items:center;gap:5px;padding-bottom:4px;display:flex}.moment-likes:not(:last-child){border-bottom:1px solid var(--line);margin-bottom:4px}.moment-comment b{color:var(--link-name);font-weight:500}.moment-input{margin-top:8px}.lore-intro{margin:12px 4px 0;line-height:1.7}.lore-dot{background:var(--ok);border-radius:50%;width:9px;height:9px}.lore-dot.draft{background:#d6a43c}.lore-dot.open{background:var(--line);border:1px solid var(--muted)}.lore-list{flex-direction:column;display:flex}.lore-item{border-top:1px solid var(--line);padding:10px 0}.lore-item:first-child{border-top:0;padding-top:4px}.lore-title{flex-wrap:wrap;align-items:center;gap:8px;font-size:14.5px;font-weight:500;display:flex}.lore-value{color:var(--text);margin-top:2px;font-size:14.5px;line-height:1.7}.lore-new{color:var(--text);background:var(--accent-soft);border-radius:6px;padding:0 6px;font-size:12px;font-weight:400}.note-row{align-items:center;gap:8px;font-size:14.5px;display:flex}.small-x{color:var(--muted)}.page{min-height:100dvh}.page-body{padding:8px max(var(--gutter), env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 32px) max(var(--gutter), env(safe-area-inset-left));max-width:var(--measure);margin:0 auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:var(--space-4);margin:var(--space-4) 0}.card h2{align-items:center;gap:8px;margin:0 0 12px;font-size:17px;line-height:1.5;display:flex}.card h2 .ico{color:var(--accent)}.card h3{margin:18px 0 8px;font-size:14px}.card>p.muted.small{margin:0 0 4px;line-height:1.65}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px;display:grid}.grid label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.row-btns{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.check{min-height:44px;color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.place{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.place:first-of-type{margin-top:8px}.place-name{min-width:56px;font-weight:500}.debug-tools,.debug-tabs{max-width:var(--measure);padding-inline:max(var(--gutter), env(safe-area-inset-left)) max(var(--gutter), env(safe-area-inset-right));margin-inline:auto}.debug-tools{padding-top:12px}.debug-actions{flex-wrap:wrap;gap:8px;display:flex}.debug-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-block:12px;display:flex}.debug-tabs button{border:1px solid var(--control-line);background:var(--panel);border-radius:var(--radius-control);white-space:nowrap;flex:none;padding:8px 12px;font-size:14px}.debug-tabs button.on{background:var(--me);color:var(--me-text);border-color:var(--me);font-weight:600}.drow{border-bottom:1px solid var(--line);padding:10px 0;font-size:14px}.drow>summary{cursor:pointer;min-height:var(--target);border-radius:var(--radius-control);list-style:none}.drow>summary::-webkit-details-marker{display:none}.debug pre{white-space:pre-wrap;word-break:break-all;background:var(--bg);border-radius:8px;max-height:60vh;padding:8px;font-size:12px;overflow:auto}.story-head{align-items:center;gap:14px;display:flex}.story-title{font-family:var(--serif);font-size:18px;font-weight:600}.setting-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:16px 0 0;display:flex}.block{display:block}.setting-row.first{border-top:0;margin-top:4px;padding-top:6px}.seg{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-control);flex-wrap:wrap;gap:2px;max-width:100%;padding:2px;display:inline-flex}.seg button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:1 0 auto;min-width:44px;padding:8px 12px;font-size:13px}.seg button.on{background:var(--text);color:var(--bg);font-weight:500}.choices{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.choice{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:5px 12px;font-size:14px}.weather-chip{background:var(--bg-2);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12.5px;display:inline-block;margin-top:8px!important}.card-toggle{text-align:left;background:0 0;border:0;width:100%;padding:0}.card-toggle h2{margin:0}.card-toggle .ico:last-child{color:var(--muted)}.model-sum{text-overflow:ellipsis;white-space:nowrap;max-width:50%;font-weight:400;overflow:hidden}.providers{flex-direction:column;gap:8px;margin:12px 0;display:flex}.provider{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--bg);transition:border-color .2s;overflow:hidden}.provider.open{border-color:color-mix(in srgb, var(--accent) 50%, var(--line))}.provider-head{text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:12px;display:flex}.provider-name{font-weight:600}.chev{color:var(--muted);transition:transform .2s}.chev.open{transform:rotate(90deg)}.provider-body{animation:fade var(--motion-enter) ease both;flex-direction:column;gap:6px;padding:4px 12px 12px;display:flex}.provider-body .field{background:var(--panel)}.field-label{color:var(--muted);justify-content:space-between;align-items:baseline;margin-top:8px;font-size:13px;display:flex}.inline{align-items:center;gap:6px;display:flex}.inline .field{flex:1;min-width:0}.icon-btn{padding:8px 10px}.preview code{word-break:break-all;font-size:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);border-radius:999px;align-items:center;font-size:13px;display:inline-flex;overflow:hidden}.chip.on{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.chip-main{background:0 0;border:0;padding:4px 4px 4px 10px}.chip-x{color:var(--muted);background:0 0;border:0;padding:4px 7px}.model-list{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:8px}.model-rows{max-height:320px;margin-top:6px;overflow-y:auto}.model-row{border-bottom:1px solid var(--line);word-break:break-all;align-items:center;gap:8px;padding:6px 2px;font-size:14px;display:flex}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.preset{border:1px solid var(--line);background:var(--bg);text-align:left;border-radius:12px;padding:10px;font-size:14px}.save-row{padding:12px 0 max(12px, env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;display:flex;position:static;bottom:0}.save-row.has-changes{z-index:1;position:sticky}.inline.wrap{flex-wrap:wrap}.inline.wrap .field{flex-basis:160px}@keyframes pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideup{0%{opacity:0;transform:translateY(16px)}to{transform:none}}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:.8;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.edit-tabs{padding:16px max(var(--gutter), env(safe-area-inset-right)) 0 max(var(--gutter), env(safe-area-inset-left));max-width:var(--measure);background:var(--bg);margin-inline:auto;display:flex}.edit-tabs .seg button{padding:6px 13px;font-size:14px}.edit-field{margin-top:10px;display:block}.edit-field .field-label{margin:0 0 4px}.edit-field textarea.field,.edit-open textarea.field,.card>textarea.field{resize:vertical;font-size:16px;line-height:1.65}.edit-field input[type=range]{width:100%;accent-color:var(--accent);margin:4px 0 0}.edit-row{border:0;border-top:1px solid var(--line);text-align:left;width:100%;color:inherit;font:inherit;background:0 0;align-items:center;gap:10px;display:flex}.edit-row:first-child{border-top:0}.edit-row>.ico{color:var(--muted);flex:none}.edit-row:active{background:var(--bg-2)}.edit-open{background:var(--bg-2);border-top:0;margin:4px -16px;padding:12px 16px}.edit-open .field{background:var(--panel)}.edit-open .inline{align-items:center}.check input{accent-color:var(--accent);width:16px;height:16px}.sticky-save{bottom:calc(env(safe-area-inset-bottom) + 8px);z-index:2;position:sticky}.sticky-save .row-btns{background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-panel);margin-top:0;padding:8px}.toast.float{left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);background:var(--text);color:var(--bg);z-index:30;white-space:nowrap;margin:0;position:fixed;transform:translate(-50%)}.card-split{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.card-split p{margin:4px 0 0 26px}.center-row{justify-content:center}.action-sheet button.danger{color:var(--danger)}.fix-sheet h3{margin:4px 0 2px;font-size:16px}.fix-sheet textarea{resize:vertical;margin-top:10px;line-height:1.65}.wrap-row{flex-wrap:wrap;row-gap:8px}.edit-card{overflow:hidden}.edit-open:first-child{margin-top:-16px;padding-top:16px}.edit-open:last-child{margin-bottom:-16px;padding-bottom:16px}.story-list{padding:0}.story-row{border-top:1px solid var(--line);align-items:center;display:flex}.story-row:first-child{border-top:0}.story-open{text-align:left;min-width:0;color:inherit;font:inherit;border-radius:var(--radius-panel);background:0 0;border:0;flex:1;align-items:center;gap:16px;padding:20px 16px;display:flex}.story-open:active{background:var(--bg-2)}.story-text{flex-direction:column;gap:6px;display:flex}.story-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.story-line b{font-size:16px;font-weight:600}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.story-more{color:var(--muted);margin-right:6px}.unread{background:var(--danger);min-width:20px;min-height:20px;color:var(--danger-ink);text-align:center;font-variant-numeric:tabular-nums;border-radius:10px;flex:none;padding:2px 6px;font-size:12px;line-height:16px}.unread.mini{min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:0;right:-2px}.home-back{position:relative}.home-hint{margin-top:10px}.story-group{margin:var(--space-6) 0 var(--space-8)}.story-group+.story-group{margin-top:32px}.group-head{align-items:center;gap:var(--space-3);border-top:1px solid var(--control-line);padding:8px 0 0;display:flex}.group-title{min-width:0;color:var(--text);overflow-wrap:anywhere;flex:1;margin:0;font-size:15px;font-weight:600;line-height:1.6}.group-head .story-more{margin-right:0}.group-memo{color:var(--muted);text-align:left;max-width:100%;padding:8px 0;display:block}.memo-input{border:0;border-top:1px solid var(--line);font:inherit;resize:vertical;min-height:100px;color:var(--text);background:var(--panel);padding:16px 20px;font-size:16px}.story-group .story-list{margin-top:8px}.plain-bar{background:0 0;border-bottom:0}.center-block{margin:0 auto 12px}.pack-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;margin:14px 0;display:grid}.pack-card{flex-direction:column;align-items:center;gap:4px;display:flex}.pack-main{border-radius:var(--radius-panel);border:1px solid var(--line);background:var(--panel);width:100%;color:inherit;font:inherit;text-align:left;flex-direction:column;align-items:flex-start;gap:8px;padding:0 16px 20px;display:flex;overflow:hidden}.pack-main:active{border-color:var(--accent)}.pack-main:disabled{opacity:.7}.pack-main .pack-cover{width:calc(100% + 32px);margin:0 -16px 8px}.pack-cover.small{height:120px}.pack-sum{text-align:left;padding:0;line-height:1.7}.pack-main .btn{margin-top:6px}.cast-chips{scrollbar-width:none;gap:8px;padding:10px 16px 0;display:flex;overflow-x:auto}.cast-chip{border:1px solid var(--line);background:var(--panel);color:var(--text);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;padding:6px 14px;font-size:14px;display:inline-flex}.cast-chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.cast-chip.add{color:var(--muted);border-style:dashed}.cast-chip.add.on{color:var(--accent)}.btn:has(>svg){align-items:center;gap:5px;display:inline-flex}.wizard-ask{flex-direction:column;gap:6px;margin-top:12px;display:flex}.wizard-ask .field-label{margin-top:0}.chip-main.chip-solo{padding:5px 12px}.wizard-list{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.6}.wizard-list li+li{margin-top:6px}.narration.thought{color:var(--think);border-color:color-mix(in srgb, var(--think) 40%, transparent);font-style:italic}.narration.thought:before{content:"心里：";opacity:.7;font-style:normal}.composer-tools{flex-basis:100%;align-items:center;gap:4px;min-width:0;display:flex}.composer-tools button{white-space:nowrap;color:var(--narr);border-radius:var(--radius-control);background:0 0;border:0;flex:none;padding:8px;font-size:13px}.update-pill{left:50%;top:calc(env(safe-area-inset-top) + 10px);z-index:40;background:var(--text);color:var(--bg);white-space:nowrap;animation:fade var(--motion-enter) ease both;cursor:pointer;border:0;border-radius:999px;padding:8px 16px;font-size:13px;position:fixed;transform:translate(-50%)}.offline-pill{top:calc(env(safe-area-inset-top) + 64px);cursor:default;opacity:.88;pointer-events:none}.narration.note{color:var(--note-c);border-right-style:dashed;border-color:color-mix(in srgb, var(--note-c) 45%, transparent);font-family:inherit;font-size:13px}.narration.note:before{content:"给导演：";opacity:.8}.cblocks{flex-direction:column;flex-basis:100%;gap:6px;margin-bottom:4px;display:flex}.composer .cblocks{max-height:clamp(44px, calc(var(--viewport-height,100dvh) * .2 - 24px), 180px);overscroll-behavior:contain;margin-bottom:0;overflow-y:auto}.composer .cblock{flex-shrink:0}.cblock{box-sizing:border-box;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--bg);align-items:flex-start;gap:6px;width:100%;padding:4px 4px 4px 10px;display:flex}.cblock-label{color:var(--narr);font-size:12px;line-height:44px;font-family:var(--serif);flex:none;min-width:2em}.cblock textarea{min-width:0;min-height:44px;max-height:120px;color:var(--text);font:inherit;resize:none;background:0 0;border:0;border-radius:0;flex:1;padding:10px 2px;font-size:16px;line-height:1.5}.cblock textarea:focus{outline:none}.cblock.act textarea,.cblock.think textarea{font-family:var(--serif);color:var(--act)}.cblock.think textarea{color:var(--think)}.cblock.act .cblock-label,.composer-tools .act{color:var(--act)}.cblock.think .cblock-label,.composer-tools .think{color:var(--think)}.cblock.act{border-color:color-mix(in srgb, var(--act) 35%, var(--line))}.cblock.think{border-color:color-mix(in srgb, var(--think) 35%, var(--line))}.cblock.think textarea{font-style:italic}.cblock.note{text-align:left;max-width:none;color:inherit;font-size:inherit;border-style:dashed;border-color:color-mix(in srgb, var(--note-c) 45%, var(--line))}.cblock.note .cblock-label,.composer-tools .note{color:var(--note-c)}.cblock:focus-within{border-color:var(--accent)}.cblock-x{width:44px;height:44px;color:var(--muted);border-radius:var(--radius-control);background:0 0;border:0;flex:none;font-size:20px}.fix-sheet .cblocks{margin:8px 0}.fix-sheet .composer-tools{flex-wrap:wrap;row-gap:6px;margin-bottom:10px}.zoom-preview{zoom:var(--chat-zoom,1);border-radius:var(--radius-panel);background:var(--bg);flex-direction:column;gap:8px;margin-top:12px;padding:12px;display:flex}.zoom-preview .row{display:flex}.zoom-preview .prose{margin:0}.status h3{margin:16px 0 6px;font-size:14px}.status h3:first-child{margin-top:4px}.backup-model{color:var(--muted);flex-direction:column;gap:4px;margin-top:12px;font-size:13px;display:flex}.task-slot,.task-slot>label{flex-direction:column;gap:4px;display:flex}.task-slot .link{align-self:flex-start;padding:0}.task-params{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.task-params label{color:var(--muted);flex-direction:column;gap:2px;display:flex}.task-params .field{padding:8px;font-size:16px}.usage{flex-direction:column;gap:6px;margin-top:6px;display:flex}.usage-row{border-bottom:1px solid var(--line);flex-direction:column;padding:6px 0;display:flex}.small-seg{margin-bottom:6px}.card h2.small-h{margin:0;font-size:15px}.arc-view summary{cursor:pointer;flex-direction:column;gap:2px;font-weight:600;list-style:none;display:flex}.arc-view summary::-webkit-details-marker{display:none}.arc-view summary:after{content:"展开";color:var(--muted,#888);font-size:12px;font-weight:400;position:absolute;top:14px;right:16px}.arc-view[open] summary:after{content:"收起"}.arc-view{position:relative}.arc-view[open] summary{margin-bottom:10px}.arc-thread{border-top:1px solid var(--line,#00000014);padding:8px 0}.arc-thread .lore-title{font-weight:600}.home-alert{text-align:left;border:1px solid color-mix(in srgb, var(--danger,#c0392b) 40%, transparent);width:100%;color:var(--text);cursor:pointer;flex-direction:column;gap:4px;margin-bottom:14px;padding:12px 14px;display:flex}.home-alert b{color:var(--danger,#c0392b);font-size:14px}.story-home .bar{max-width:var(--measure);padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));padding-top:calc(env(safe-area-inset-top) + 24px);border-bottom:0;margin-inline:auto;display:flex}.story-home .bar>.bar-side:first-child{display:none}.story-home .bar-title{text-align:left;letter-spacing:-.025em;flex-direction:row;flex:1;align-items:baseline;gap:12px;font-size:28px}.home-brand{letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:400}.group-number{color:var(--accent);font-variant-numeric:tabular-nums;font-size:12px}.home-actions{margin-top:32px}.home-archive{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.home-hint{max-width:32em;line-height:1.8}.story-line time{font-variant-numeric:tabular-nums}.card,.sheet,.moment,.story-head,.provider-head,.field-label{overflow-wrap:anywhere}.moment>.grow,.timeline li>span,.card h2>.grow{min-width:0}.field-label{flex-wrap:wrap;gap:4px}.arc-view summary{min-height:44px;padding-right:48px}.moment-act,.swiper button,.chip-x,.chip-main,.reroll{min-width:var(--target);justify-content:center;align-items:center}.moment-act{display:inline-flex}.list .narration{min-height:var(--target);padding-block:8px}.narration[role=button],.prose[role=button],.bubble[role=button]{cursor:pointer}.btn:active,.icon:active,.link:active,.composer-tools button:active,.action-sheet button:active{background:var(--bg-2)}.btn.primary:active{background:var(--text);color:var(--bg)}.bar-title.plain:active{color:var(--accent)}label.btn:has(:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.toast.float,.update-pill{white-space:normal;text-align:center;max-width:calc(100% - 32px)}.memo-input:focus-visible{outline-offset:-3px}.chat .toast{flex-shrink:0;max-height:18%;overflow-y:auto}@media (hover:hover) and (pointer:fine){.story-open:hover,.icon:hover,.peer:hover,.link:hover,.composer-tools button:hover,.action-sheet button:hover,.btn:not(.primary):hover{background:var(--bg-2)}.pack-main:hover{border-color:var(--accent)}.link:hover{text-decoration:underline}}@media (width>=760px){:root{--gutter:24px}.page>.bar{padding-inline:max(24px, calc((100vw - var(--measure)) / 2 + 12px))}.chat{border-inline:1px solid var(--line)}.sheet-wrap{align-items:center}.sheet{max-height:min(800px,100%)}}@media (width<=360px){:root{--gutter:16px}.chat-bar{gap:0;padding-inline:8px}.chat-bar .bar-side{gap:0}.chat-bar .bar-sub{font-size:11px}.story-open{gap:12px;padding:16px 12px}.setting-row>.seg{width:100%}}@media (height<=480px){.composer{padding-block:4px}.chat>.banner{padding-block:0}.chat-bar{padding-top:env(safe-area-inset-top);padding-bottom:0}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.order-sheet h2{margin:8px 0;font-size:18px}.order-list{margin:16px 0;padding:0;list-style:none}.order-list li{border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px 0;display:flex}.order-list .grow{overflow-wrap:anywhere}.order-list .btn{flex:none}.order-number{width:2ch;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.order-actions{background:var(--panel);border-top:1px solid var(--line);padding:12px 0;position:sticky;bottom:-24px}.cast-order{justify-content:flex-end;display:flex}
