:root{--color-background:#fff;--color-surface:#fff;--color-surface-subtle:#f8f8fa;--color-skeleton:#f1f5f9;--color-field-surface:#fff;--color-text:#18181b;--color-text-muted:#5d5d67;--color-text-secondary:#3f3f46;--color-card-description:#475569;--color-white:#fff;--color-ink:#111;--color-on-positive:#fff;--color-accent:#10b981;--color-character-accent-default:#2f9e6f;--color-accent-strong:#217a55;--color-focus:var(--color-accent-strong);--color-accent-on:#fff;--color-accent-soft:#eff7f2;--color-accent-text-soft:#065f46;--color-chip:#f1f5f9;--color-border-subtle:#e4e4e7;--color-border-default:#d4d4d8;--color-border-strong:#94a3b8;--color-border-invite:#d4d4d8;--color-avatar-gradient-mid:#f1f5f9;--color-avatar-gradient-end:#e2e8f0;--color-tag-surface-mix:#f1f5f9;--color-tag-text-mix:#1e293b;--color-success-surface:#f0fdf4;--color-success-text:#15803d;--color-success-text-strong:#166534;--color-success-border:#bbf7d0;--color-warning-surface-strong:#fefce8;--color-warning:#b45309;--color-warning-text-strong:#7c2d12;--color-warning-border:#fde047;--color-overage-border:#fed7aa;--color-danger-surface:#fef2f2;--color-danger-surface-strong:#fee2e2;--color-danger:#dc2626;--color-danger-text:#b91c1c;--color-danger-border:#fecaca;--color-code-keyword:#9a2496;--color-code-string:#1c6b3a;--color-code-comment:#5f6b73;--color-code-number:#8a4a10;--color-code-name:#1a4f9c;--color-transparent:transparent;--color-shimmer:#ffffffa6;--color-avatar-highlight-soft:#ffffff17;--color-control-highlight:#ecfdf5;--color-avatar-highlight:#ffffff1f;--color-white-border-soft:#ffffff24;--color-white-alpha-20:#fff3;--color-white-alpha-26:#ffffff42;--color-black-alpha-25:#00000040;--color-black-alpha-34:#00000057;--color-black-alpha-40:#0006;--color-black-alpha-42:#0000006b;--color-black-alpha-45:#00000073;--color-black-alpha-46:#00000075;--color-black-alpha-60:#0009;--color-black-alpha-65:#000000a6;--color-black-alpha-70:#000000b3;--color-black-alpha-72:#000000b8;--color-card-scrim-soft:#00000040;--color-card-scrim-strong:#000000b8;--color-success-fill-soft:#32b87e24;--color-success-fill:#32b87e29;--color-overage-fill:#68432929;--color-warning-fill:#f0b42929;--color-danger-fill:#f8717124;--color-live-tip-surface:#f3e8ff;--color-live-tip-border:#c4b5fd;--color-live-tip-text:#4c1d95;--color-live-nick-1:#9a3412;--color-live-nick-2:#1e3a8a;--color-live-nick-3:#6b21a8;--color-live-nick-4:#115e59;--color-live-nick-5:#9f1239;--color-live-nick-6:#3f6212;--color-live-nick-7:#0c4a6e;--color-live-nick-8:#854d0e;--space-negative-1:-1px;--space-0:0px;--space-2:2px;--space-3:3px;--space-4:4px;--space-5:5px;--space-6:6px;--space-7:7px;--space-8:8px;--space-9:9px;--space-10:10px;--space-11:11px;--space-12:12px;--space-14:14px;--space-16:16px;--space-17:17px;--space-18:18px;--space-19:19px;--space-20:20px;--space-22:22px;--space-24:24px;--space-28:28px;--space-32:32px;--space-40:40px;--space-48:48px;--space-56:56px;--space-72:72px;--space-76:76px;--space-80:80px;--space-auto:auto;--touch-target-min:44px;--radius-2:2px;--radius-4:4px;--radius-6:6px;--radius-8:8px;--radius-9:9px;--radius-10:10px;--radius-12:12px;--radius-14:14px;--radius-16:16px;--radius-18:18px;--radius-sheet:22px 22px 0 0;--radius-round:50%;--radius-pill:999px;--font-family-sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, "Segoe UI", system-ui, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Noto Sans Mono", monospace;--font-size-11:11px;--font-size-12:12px;--font-size-13:13px;--font-size-14:14px;--font-size-15:15px;--font-size-16:16px;--font-size-17:17px;--font-size-18:18px;--font-size-20:20px;--font-size-28:28px;--font-size-40:40px;--font-size-44:44px;--font-size-72:72px;--font-size-display:clamp(26px, 7vw, 38px);--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-140:1.4;--line-height-150:1.5;--line-height-155:1.55;--line-height-160:1.6;--line-height-165:1.65;--line-height-170:1.7;--line-height-175:1.75;--letter-spacing-tight:-.03em;--letter-spacing-wide:.12em;--elevation-card:0 2px 10px -2px #0000000d;--elevation-accent-glow:0 0 8px var(--acc,var(--color-accent));--elevation-text-card:0 1px 6px var(--color-black-alpha-60);--elevation-text-description:0 1px 4px var(--color-black-alpha-70);--elevation-text-cover:0 2px 8px var(--color-black-alpha-60);--elevation-popover:0 8px 24px #0000001f;--elevation-sheet:0 -4px 20px #00000014}*{box-sizing:border-box}.sr-only{width:1px;height:1px;padding:var(--space-0);margin:var(--space-negative-1);clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;position:absolute;overflow:hidden}a{color:var(--color-accent-strong)}body{margin:var(--space-0);background:var(--color-background);color:var(--color-text);font-family:var(--font-family-sans)}.app{max-width:720px;margin:var(--space-0) var(--space-auto);padding:var(--space-0) var(--space-16) var(--space-80)}.topbar{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-16) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);display:flex}.brand{font-weight:var(--font-weight-bold);font-size:var(--font-size-18);white-space:nowrap;min-width:var(--space-0);text-overflow:ellipsis;overflow:hidden}.gem,.back{color:var(--color-accent-strong);font-size:var(--font-size-18);min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.back-link{color:var(--color-accent-strong);min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.tabs{gap:var(--space-8);margin:var(--space-8) var(--space-0);display:flex}.tabs.primary .tab{flex:1}.tab{background:var(--color-surface-subtle);color:var(--color-text-muted);border:1px solid var(--color-border-subtle);padding:var(--space-10) var(--space-16);border-radius:var(--radius-pill);font-weight:var(--font-weight-semibold);cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;display:inline-flex}.tab.active{background:var(--color-accent-strong);color:var(--color-accent-on)}.tabs.audience{gap:var(--space-2);width:fit-content;max-width:100%;padding:var(--space-4);box-sizing:border-box;border-radius:var(--radius-12);background:var(--color-surface-subtle)}.tabs.audience .tab{border-radius:var(--radius-8);padding:var(--space-6) var(--space-12);white-space:nowrap;font-size:var(--font-size-13);background:0 0;border:0;flex:auto}.tabs.audience .tab.active{background:var(--color-accent-strong);color:var(--color-accent-on)}.account-banned-page{min-height:100vh;padding:var(--space-24);place-items:center;display:grid}.account-banned-card,.moderation-card{gap:var(--space-8);padding:var(--space-20);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.account-banned-card{max-width:36rem}.account-banned-card dl{gap:var(--space-8) var(--space-16);grid-template-columns:max-content 1fr;display:grid}.account-banned-actions{gap:var(--space-16);display:flex}.search-tabs{padding-bottom:var(--space-2);overflow-x:auto}.search-tabs .tab{gap:var(--space-6);min-width:max-content;padding-inline:var(--space-12);white-space:nowrap;flex:1 0 auto;text-decoration:none}.tab-count{min-width:20px;padding:var(--space-2) var(--space-6);border-radius:var(--radius-pill);background:var(--color-control-highlight);color:inherit;font-size:var(--font-size-11);line-height:var(--line-height-140)}.tab.active .tab-count{background:var(--color-black-alpha-25)}.search-control{gap:var(--space-6);margin:var(--space-18) var(--space-0) var(--space-10);display:grid}.search-control label{color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.search-control .login-field{margin:var(--space-0);font-family:inherit;font-size:var(--font-size-16)}.search-bar{align-items:stretch;gap:var(--space-8);display:flex}.search-bar .login-field{min-width:0}.search-submit{border-radius:var(--radius-10);flex:none}.search-filter-row{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:var(--touch-target-min);margin-bottom:var(--space-10);flex-wrap:wrap;display:flex}.search-filter-row .result-count{min-width:0;margin:0}.search-clear{min-height:var(--touch-target-min);padding:0 var(--space-4);border-radius:var(--radius-4);color:var(--color-accent-strong);font:inherit;font-size:var(--font-size-13);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;flex:none;margin-right:auto;text-decoration:underline}.result-count,.search-helper{color:var(--color-text-muted);font-size:var(--font-size-12);margin:var(--space-4) var(--space-0) var(--space-10)}.search-hub .result-count{min-block-size:1.5em;line-height:var(--line-height-150)}.search-grid-status{grid-column:1/-1}.voice-list{padding:var(--space-0);margin:var(--space-12) var(--space-0);gap:var(--space-8);list-style:none;display:grid}.voice-item{justify-content:space-between;align-items:center;gap:var(--space-12);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);min-height:64px;padding:var(--space-10) var(--space-14);flex-wrap:wrap;display:flex}.voice-meta{gap:var(--space-4);flex:1;min-width:0;display:grid}.voice-name{color:var(--color-text);font-weight:var(--font-weight-bold);overflow-wrap:anywhere}@media (width<=600px){.voices-page .voice-meta{flex-basis:100%}.voices-page .voice-item>.fav-btn{margin-right:auto}}.voice-tag{color:var(--color-text-muted);font-size:var(--font-size-12)}.replay-result-link{width:100%;min-height:var(--touch-target-min);justify-content:space-between;align-items:baseline;gap:var(--space-12);color:var(--color-text);text-decoration:none;display:flex}.replay-list .voice-item{padding:0}.replay-list .replay-result-link{min-height:calc(var(--touch-target-min) + var(--space-20));padding:var(--space-10) var(--space-14);border-radius:var(--radius-12)}.replay-result-link:active{background:var(--color-surface-subtle)}@media (hover:hover) and (pointer:fine){.replay-result-link:hover{background:var(--color-surface-subtle)}}.replay-result-link .voice-name{min-width:0}.replay-result-link .voice-tag{white-space:nowrap;flex-shrink:0}.search-list-skeleton{background:var(--color-skeleton);position:relative;overflow:hidden}.search-list-skeleton:after{content:"";inset:var(--space-0);background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.3s infinite pcard-shine;position:absolute;transform:translate(-100%)}.search-empty{text-align:center;padding:var(--space-28) var(--space-12)}@media (width<=420px){.search-bar{align-items:stretch}.search-submit{padding-inline:var(--space-14)}}.section-title{font-size:var(--font-size-16);margin:var(--space-16) var(--space-0) var(--space-8)}.section{container-type:inline-size}.search-hub section:has(>.grid){container-type:inline-size}.grid{gap:var(--space-12);grid-template-columns:repeat(2,1fr);display:grid}@container (width>=520px){.grid{grid-template-columns:repeat(3,1fr)}}@container (width>=700px){.grid{grid-template-columns:repeat(4,1fr)}}@container (width>=840px){.grid{grid-template-columns:repeat(5,1fr)}}.genre-chips{gap:var(--space-6);margin:var(--space-8) var(--space-0);padding-bottom:var(--space-4);scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.genre-chips::-webkit-scrollbar{display:none}.genre-chip{white-space:nowrap;cursor:pointer;background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:var(--space-8) var(--space-12);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);min-width:var(--touch-target-min);min-height:var(--touch-target-min);flex:none;justify-content:center;align-items:center;display:inline-flex}.genre-chip.active{background:var(--color-accent-soft);color:var(--color-accent-strong);border-color:var(--color-accent-strong)}.genre-chips .genre-chip:focus-visible,.search-tabs .tab:focus-visible{outline-offset:-3px}.search-tabs .tab.active:focus-visible{outline-color:var(--color-accent-on)}.sort-select{cursor:pointer;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:var(--space-8) var(--space-14);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);min-height:var(--touch-target-min);flex:none}.home-catalog-heading{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:var(--touch-target-min);margin-top:var(--space-12);display:flex}.home-catalog-heading .section-title{margin:0}.home-catalog-select{max-width:48%;font-size:var(--font-size-16);padding-inline:var(--space-12)}.pcard{aspect-ratio:3/4;border-radius:var(--radius-14);border:1px solid var(--color-border-subtle);color:var(--color-text);isolation:isolate;background:radial-gradient(130% 78% at 50% 20%, color-mix(in srgb, var(--acc,var(--color-accent)) 52%, var(--color-avatar-gradient-mid)) 0%, var(--color-avatar-gradient-end) 62%);text-decoration:none;display:block;position:relative;overflow:hidden}.pcard:focus-visible{border-color:color-mix(in srgb, var(--acc,var(--color-accent)) 55%, var(--color-border-subtle));box-shadow:var(--elevation-card)}@media (hover:hover) and (pointer:fine){.pcard:hover{border-color:color-mix(in srgb, var(--acc,var(--color-accent)) 55%, var(--color-border-subtle));box-shadow:var(--elevation-card)}}.pcard-art{inset:var(--space-0);object-fit:cover;width:100%;height:100%;position:absolute}.pcard-art--fallback{place-items:center;display:grid}.pcard-initial{font-size:var(--font-size-44);font-weight:var(--font-weight-extrabold);color:var(--color-black-alpha-60)}.pcard-scrim{inset:var(--space-0);pointer-events:none;background:linear-gradient(#0000 18%,#00000024 34%,#0000008a 62%,#000000d6 100%);position:absolute}.pcard-stat{top:var(--space-9);right:var(--space-10);z-index:2;font-size:var(--font-size-12);color:var(--color-white);background:var(--color-black-alpha-42);border:1px solid var(--color-white-border-soft);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-9);position:absolute}.pcard-plate{left:var(--space-0);right:var(--space-0);bottom:var(--space-0);z-index:2;padding:var(--space-11) var(--space-12) var(--space-12);position:absolute}.pcard-name{font-size:var(--font-size-15);font-weight:var(--font-weight-bold);margin:var(--space-0) var(--space-0) var(--space-7);align-items:flex-start;gap:var(--space-7);color:#fff;text-shadow:var(--elevation-text-card);display:flex}.pcard-name:before{content:"";border-radius:var(--radius-2);background:var(--acc,var(--color-accent));width:3px;height:14px;box-shadow:var(--elevation-accent-glow);flex:none;margin-top:3px}.pcard-name-text{-webkit-line-clamp:2;text-overflow:ellipsis;word-break:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pcard-tags{gap:var(--space-6);flex-wrap:nowrap;max-height:22px;display:flex;overflow:hidden}.pcard-tag{white-space:nowrap;font-size:var(--font-size-11);padding:var(--space-3) var(--space-9);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--acc,var(--color-accent)) 20%, var(--color-tag-surface-mix));color:var(--color-tag-text-mix);border:1px solid color-mix(in srgb, var(--acc,var(--color-accent)) 38%, var(--color-transparent));flex:none}.pcard-desc{margin:var(--space-4) var(--space-0) var(--space-0);color:#fff;font-size:var(--font-size-13);line-height:var(--line-height-150);-webkit-line-clamp:2;text-shadow:var(--elevation-text-description);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pcard-skel{aspect-ratio:3/4;border-radius:var(--radius-14);border:1px solid var(--color-border-subtle);background:var(--color-skeleton);position:relative;overflow:hidden}.pcard-skel:after{content:"";inset:var(--space-0);background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.3s infinite pcard-shine;position:absolute;transform:translate(-100%)}@keyframes pcard-shine{to{transform:translate(100%)}}.grid-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-40) var(--space-16);align-items:center;gap:var(--space-12);flex-direction:column;grid-column:1/-1;display:flex}.not-found-page{text-align:center;align-items:center;gap:var(--space-16);flex-direction:column;padding-block:clamp(48px,12svh,120px);display:flex}.not-found-page h1{font-size:var(--font-size-20);line-height:var(--line-height-140);margin:0}.not-found-page p{text-wrap:balance;max-inline-size:42ch;color:var(--color-text-secondary);line-height:var(--line-height-170);margin:0}.grid-empty-cta{background:var(--color-accent-strong);color:var(--color-accent-on);border-radius:var(--radius-pill);padding:var(--space-8) var(--space-18);font-weight:var(--font-weight-semibold);font-size:var(--font-size-14);min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:reduce){.pcard-skel:after,.search-list-skeleton:after{animation:none}}.avatar{border-radius:var(--radius-round);object-fit:cover}.avatar-fallback{border-radius:var(--radius-round);color:var(--color-white);font-weight:var(--font-weight-bold);place-items:center;display:grid}.detail-title{align-items:center;gap:var(--space-12);display:flex}.detail-head-actions{gap:var(--space-8);flex-wrap:wrap;display:inline-flex}.cover{border-radius:var(--radius-16);height:240px;margin:var(--space-8) var(--space-0);background-position:50%;background-size:cover;position:relative;overflow:hidden}@media (width>=768px){.character-profile-cover{height:min(55vh,640px)}}.cover-overlay{inset:var(--space-0);padding:var(--space-16);background:linear-gradient(to top, var(--color-black-alpha-65), var(--color-transparent) 60%);justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.chat-surface .cover-overlay{justify-content:flex-end}.cover-name{margin:var(--space-0);font-size:var(--font-size-28);color:var(--color-white);text-shadow:var(--elevation-text-cover)}.bgm-btn{background:var(--color-black-alpha-45);color:var(--color-white);border:1px solid var(--color-white-alpha-20);border-radius:var(--radius-pill);padding:var(--space-6) var(--space-12);cursor:pointer;font-size:var(--font-size-13);min-height:var(--touch-target-min)}.mine-row{gap:var(--space-10);flex-wrap:wrap;display:flex}.mine-manage-row{align-items:center;gap:var(--space-6);display:inline-flex}.mine-action{min-height:var(--touch-target-min);padding:var(--space-6) var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font-weight:var(--font-weight-semibold)}.mine-action:disabled{opacity:.58;cursor:not-allowed}.mute-group{margin-top:var(--space-18)}.mute-group h3{font-size:var(--font-size-14);margin:var(--space-0) var(--space-0) var(--space-8)}.mute-list{border-top:1px solid var(--color-border-subtle)}.mute-row{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:var(--touch-target-min);padding:var(--space-8) var(--space-0);border-bottom:1px solid var(--color-border-subtle);display:flex}.mute-row a{color:var(--color-text);text-decoration:none}.mine-chip{align-items:center;gap:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:var(--space-4) var(--space-12) var(--space-4) var(--space-4);color:var(--color-text);font-size:var(--font-size-14);text-decoration:none;display:inline-flex}.mine-character-list{gap:var(--space-10);margin:var(--space-0);padding:var(--space-0);list-style:none;display:grid}.mine-character-item{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.mine-character-item .character-lifecycle-status{margin:var(--space-0);padding:var(--space-6) var(--space-10)}.mine-character-actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:inline-flex}.mine-replay-item{justify-content:space-between;align-items:center;gap:var(--space-10);width:100%;padding:var(--space-8) var(--space-0);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;display:flex}.mine-replay-item .tag{-webkit-line-clamp:2;text-overflow:ellipsis;word-break:break-word;white-space:normal;min-width:0;line-height:var(--line-height-140);padding:var(--space-6) var(--space-10);-webkit-box-orient:vertical;flex:200px;display:-webkit-box;overflow:hidden}.mine-replay-item .mine-action{min-height:var(--touch-target-min);padding:var(--space-8) var(--space-14);white-space:nowrap;flex:none}.mine-created-section .mine-character-list,.mine-drafts-section .mine-character-list,.mine-favorites-section .mine-character-list{gap:var(--space-0);border-top:1px solid var(--color-border-subtle);flex-direction:column;display:flex}.mine-created-section .mine-character-item,.mine-drafts-section .mine-character-item,.mine-favorites-section .mine-character-item{align-items:stretch;gap:var(--space-8);padding:var(--space-12) var(--space-0);border-bottom:1px solid var(--color-border-subtle);flex-direction:column;display:flex}.mine-created-section .mine-chip,.mine-favorites-section .mine-chip{align-items:center;gap:var(--space-12);color:var(--color-text);background:0 0;border:none;border-radius:0;min-width:0;padding:0;text-decoration:none;display:flex}.mine-created-section .mine-chip .avatar,.mine-created-section .mine-chip .avatar-fallback,.mine-favorites-section .mine-chip .avatar,.mine-favorites-section .mine-chip .avatar-fallback{border-radius:var(--radius-round);flex:0 0 48px;width:48px;height:48px}.mine-created-section .mine-entry-name,.mine-favorites-section .mine-entry-name,.mine-drafts-section .mine-entry-name{font-size:var(--font-size-15);font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);color:var(--color-text);-webkit-line-clamp:2;text-overflow:ellipsis;word-break:break-word;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.mine-drafts-section .mine-chip{font-size:var(--font-size-12);padding:var(--space-2) var(--space-8);background:var(--color-surface-subtle);border:1px solid var(--color-border-subtle);color:var(--color-text-muted);align-self:flex-start}.mine-drafts-section .muted-note{font-size:var(--font-size-12);color:var(--color-text-muted)}.mine-created-section .mine-character-actions,.mine-drafts-section .mine-character-actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.mine-created-section .mine-character-actions .link-btn,.mine-drafts-section .mine-character-actions .link-btn,.mine-favorites-section .mine-character-item>.link-btn{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--space-6) var(--space-12);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;margin-left:0;text-decoration:none;display:inline-flex}.mine-favorites-section .mine-character-item>.link-btn{color:var(--color-text-muted);align-self:flex-start}.mine-favorites-section .mine-character-item>.link-btn:hover{color:var(--color-danger-text)}.mine-created-section .character-lifecycle-status,.mine-favorites-section .character-lifecycle-status{box-sizing:border-box;width:100%;margin:var(--space-4) 0;padding:var(--space-10) var(--space-14);background:var(--color-surface-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-150);word-break:break-word}.mine-created-section .moderation-card{box-sizing:border-box;width:100%;margin:var(--space-4) 0}.mine-created-section .moderation-card a{min-height:var(--touch-target-min);font-size:var(--font-size-13);color:var(--color-accent-strong);font-weight:var(--font-weight-semibold);align-items:center;display:inline-flex}.mypage-profile{justify-content:space-between;align-items:baseline;gap:var(--space-12);padding:var(--space-4) var(--space-0) var(--space-8);display:flex}.mypage-profile h1.detail-name{font-size:var(--font-size-20);line-height:var(--line-height-140);margin:var(--space-0);color:var(--color-text)}.mypage-profile .social-text-link{min-height:var(--touch-target-min);padding:var(--space-4) var(--space-0);font-size:var(--font-size-13);color:var(--color-accent-strong);font-weight:var(--font-weight-semibold);white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex}.mypage-profile .social-text-link:hover{text-decoration:underline}.mypage-menu{margin:var(--space-4) var(--space-0) var(--space-16);position:relative}.mypage-menu summary{align-items:center;gap:var(--space-8);min-height:var(--touch-target-min);padding:var(--space-8) var(--space-14);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text);list-style:none;display:flex}.mypage-menu summary::-webkit-details-marker{display:none}.mypage-menu summary:after{content:"▾";font-size:var(--font-size-12);color:var(--color-text-muted);margin-left:auto;line-height:1}.mypage-menu[open] summary:after{content:"▴"}.mypage-menu summary:hover{background:var(--color-surface-subtle);border-color:var(--color-border-default)}.mypage-menu summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.mypage-menu-caption{font-size:var(--font-size-12);color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.mypage-menu-current{font-size:var(--font-size-14);font-weight:var(--font-weight-bold);color:var(--color-accent-strong)}.mypage-menu .mypage-tabs{gap:var(--space-8);margin:var(--space-8) var(--space-0) var(--space-16);padding:var(--space-10);background:var(--color-surface-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}@media (width>=768px){.mypage-menu .mypage-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.mypage-menu .mypage-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}.mypage-tab{min-height:var(--touch-target-min);padding:var(--space-8) var(--space-10);border-radius:var(--radius-8);background:var(--color-surface);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);text-align:center;line-height:var(--line-height-140);word-break:break-word;justify-content:center;align-items:center;text-decoration:none;display:flex}.mypage-tab:hover{background:var(--color-surface);border-color:var(--color-border-default);color:var(--color-text)}.mypage-tab.active{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-accent-on);font-weight:var(--font-weight-semibold)}.mypage-tab:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.mypage-content{min-height:180px}.mypage-content>.section:first-child{margin-top:var(--space-0)}.mypage-embedded>h2{font-size:var(--font-size-18);margin:var(--space-0) var(--space-0) var(--space-12)}.profiles-page{gap:var(--space-18);display:grid}.profiles-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-16);display:flex}.profiles-heading .section-title{margin-top:var(--space-0)}.profiles-list{padding:var(--space-0);margin:var(--space-0);border-top:1px solid var(--color-border-subtle);list-style:none}.profile-row{align-items:center;gap:var(--space-18);padding:var(--space-14) var(--space-0);border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto;display:grid}.profile-main{gap:var(--space-5);min-width:0;display:grid}.profile-main>span{color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-150);overflow-wrap:anywhere}.profile-name-line{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.profile-default{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-8);background:var(--color-success-fill-soft);color:var(--color-success-text);font-size:var(--font-size-11);font-weight:var(--font-weight-bold)}.profile-meta{font-size:var(--font-size-12)!important}.profile-actions{align-items:center;gap:var(--space-8);display:flex}.profile-actions .danger-btn{padding:var(--space-6) var(--space-12)}.profile-form{align-content:start;gap:var(--space-7);padding:var(--space-16);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.profile-form h3{margin:var(--space-0) var(--space-0) var(--space-4);font-size:var(--font-size-17)}.profile-form label:not(.profile-checkbox){color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);margin-top:var(--space-5)}.profile-form input:not([type=checkbox]),.profile-form textarea{box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface-subtle);width:100%;color:var(--color-text);padding:var(--space-10);font:inherit}.profile-form textarea{resize:vertical}.profile-checkbox{align-items:center;gap:var(--space-8);min-height:var(--touch-target-min);color:var(--color-text);font-size:var(--font-size-13);display:flex}.profile-checkbox input{width:18px;height:18px;accent-color:var(--color-accent)}.profile-submit{width:auto;min-width:132px;padding-inline:var(--space-18);justify-self:start}.profiles-empty{gap:var(--space-6);padding:var(--space-22) var(--space-0);color:var(--color-text-muted);border-block:1px solid var(--color-border-subtle);display:grid}.profiles-empty strong{color:var(--color-text)}.profiles-skeleton{border-block:1px solid var(--color-border-subtle);background:repeating-linear-gradient(to bottom, var(--color-transparent) 0 43px, var(--color-border-subtle) 43px 44px);height:132px;position:relative;overflow:hidden}.profiles-skeleton:after{content:"";inset:var(--space-0);background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.3s infinite pcard-shine;position:absolute;transform:translate(-100%)}.convo-meta .character-lifecycle-status{margin:var(--space-4) 0 0;padding:var(--space-6) var(--space-10);font-size:var(--font-size-12);grid-column:1/-1;display:block}.muted-note{color:var(--color-text-muted);font-size:var(--font-size-13)}@media (width<=767px){.creator-area{grid-template-columns:1fr;align-items:start}.creator-area .fav-btn{width:100%}.profile-row{grid-template-columns:1fr}.profile-actions>button{flex:1}}.create-preview{margin-top:var(--space-10)}.card-tags{gap:var(--space-6);flex-wrap:wrap;display:flex}.profile-tags-text{align-items:center;gap:var(--space-8);margin:var(--space-8) var(--space-0) var(--space-12);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-150);flex-wrap:wrap;display:flex}.profile-tag-item{color:inherit;-webkit-user-select:text;user-select:text}.tag{background:var(--color-chip);color:var(--color-accent-text-soft);font-size:var(--font-size-11);padding:var(--space-3) var(--space-8);border-radius:var(--radius-pill)}button.tag{cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);border:none;justify-content:center;align-items:center;display:inline-flex}a.tag{min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.bottomnav{bottom:var(--space-0);left:var(--space-0);right:var(--space-0);background:var(--color-surface);padding:var(--space-6) var(--space-0) var(--space-8);border-top:1px solid var(--color-border-subtle);justify-content:space-around;display:flex;position:fixed}.nav-item{color:var(--color-text-muted);font-size:var(--font-size-11);justify-content:center;align-items:center;gap:var(--space-2);min-width:var(--touch-target-min);min-height:var(--touch-target-min);flex-direction:column;flex:1;display:inline-flex}.nav-icon{justify-content:center;align-items:center;width:22px;height:22px;display:flex}.nav-icon svg{width:20px;height:20px;display:block}.nav-label{line-height:var(--line-height-140);font-size:var(--font-size-11);white-space:nowrap}.nav-item.active{color:var(--color-accent-strong)}a.nav-item{text-decoration:none}.create-form{gap:var(--space-4);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.create-form label{color:var(--color-text-muted);font-size:var(--font-size-13);margin-top:var(--space-8)}.create-form textarea{resize:vertical;font-family:inherit}.tag-input-group{gap:var(--space-4);margin:var(--space-6) var(--space-0);flex-direction:column;display:flex}.tag-input-header{justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.tag-input-counter{color:var(--color-text-muted);font-size:var(--font-size-12)}.tag-chip-container{align-items:center;gap:var(--space-6);min-height:var(--touch-target-min);padding:var(--space-8) var(--space-10);border:1px solid var(--color-border-default);border-radius:var(--radius-10);background:var(--color-surface);flex-wrap:wrap;display:flex}.tag-chip-container:focus-within{border-color:var(--color-accent);outline:1px solid var(--color-accent)}.tag-chip{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-8);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--font-size-12);display:inline-flex}.tag-chip-remove{padding:var(--space-0);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-14);background:0 0;border:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.tag-chip-remove:hover{color:var(--color-danger)}.tag-chip-field{min-width:80px;padding:var(--space-4) var(--space-0);color:var(--color-text);font-size:var(--font-size-13);background:0 0;border:0;outline:0;flex:1}.create-step-nav{gap:var(--space-6);margin:var(--space-10) var(--space-0);flex-wrap:wrap;display:flex}.create-step-nav button{background:var(--color-surface-subtle);color:var(--color-text-muted);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);font-size:var(--font-size-13);padding:var(--space-6) var(--space-12);cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;display:inline-flex}.create-step-nav button.active{color:var(--color-accent-text-soft);border-color:var(--color-accent-strong);background:var(--color-accent-soft)}.create-step-incomplete{color:var(--color-warning);font-size:var(--font-size-11);margin-left:var(--space-4);font-weight:var(--font-weight-semibold)}.create-editor{gap:var(--space-4);margin-bottom:var(--space-12);flex-direction:column;display:flex}.status-window-slots{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));max-width:16rem;display:grid}.status-window-slot{background:var(--color-border,#d4d4d4);border-radius:2px;height:.5rem;display:block}.status-window-slot[data-filled=true]{background:var(--color-accent,#5b4b8a)}.infobox-preview{border:1px solid var(--color-border,#d4d4d4);padding:var(--space-8);border-radius:8px}.live-author-preview{gap:var(--space-6);padding:var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface-subtle);display:grid}.live-author-preview-comments{gap:var(--space-4);display:grid}.live-author-preview-comment,.live-author-preview-tip{gap:var(--space-2);padding:var(--space-6) var(--space-8);border-radius:var(--radius-8);display:grid}.live-author-preview-comment{border-bottom:1px solid var(--color-border-subtle)}.live-author-preview-tip{color:#4c1d95;background:#f3e8ff;border:1px solid #c4b5fd}.live-author-preview-amount{font-weight:var(--font-weight-semibold)}.answer-timer-play{gap:var(--space-8);width:100%;min-width:0;display:grid}.answer-timer-author-preview{gap:var(--space-6);padding:var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface-subtle);display:grid}.answer-timer-bar{align-items:center;gap:var(--space-8);grid-template-columns:auto minmax(0,1fr);width:100%;min-width:0;display:grid}.answer-timer-remaining{font-variant-numeric:tabular-nums;font-size:var(--font-size-16);font-weight:var(--font-weight-semibold);color:var(--color-warning-text-strong);white-space:nowrap}.answer-timer-bar[data-warning=true] .answer-timer-remaining,.answer-timer-bar[data-expired=true] .answer-timer-remaining{color:var(--color-danger-text)}.answer-timer-track{border-radius:var(--radius-pill);background:var(--color-border-subtle);min-width:0;height:4px;display:block;overflow:hidden}.answer-timer-fill{background:var(--color-warning);height:100%;display:block}.answer-timer-bar[data-warning=true] .answer-timer-fill,.answer-timer-bar[data-expired=true] .answer-timer-fill{background:var(--color-danger)}.answer-timer-history{margin:var(--space-6) var(--space-0) var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-13);overflow-wrap:anywhere;line-break:strict}.answer-timer-ready{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.chat-composer-stack .answer-timer-ready,.answer-timer-play .answer-timer-ready{width:auto;margin:var(--space-0);padding:var(--space-0) var(--space-20);justify-self:start}.chat-composer-stack .answer-timer-ready:focus-visible,.answer-timer-play .answer-timer-ready:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}@media (width<=320px){.answer-timer-bar{grid-template-columns:minmax(0,1fr)}.answer-timer-remaining{white-space:normal;overflow-wrap:anywhere}}.sudden-event-play{gap:var(--space-8);width:100%;min-width:0;display:grid}.sudden-event-play[data-phase=active]{top:var(--space-0);z-index:var(--chat-budget-layer-composer);position:sticky}.sudden-event-card,.sudden-event-progress{gap:var(--space-8);width:100%;min-width:0;padding:var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.sudden-event-card{max-height:min(70dvh,32rem);overflow-y:auto}.sudden-event-intro,.sudden-event-outcome{text-align:center;justify-items:center}.sudden-event-mark{width:var(--touch-target-min);height:var(--touch-target-min);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);color:var(--color-accent-strong);font-size:var(--font-size-18);font-weight:var(--font-weight-semibold);place-items:center;display:grid}.sudden-event-mark[data-outcome=success]{color:var(--color-success-text-strong);background:var(--color-success-surface);border-color:var(--color-success-border)}.sudden-event-outcome[data-outcome=failure] .sudden-event-mark{color:var(--color-danger-text);background:var(--color-danger-surface);border-color:var(--color-danger-border)}.sudden-event-kicker{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-12)}.sudden-event-title{margin:var(--space-0);font-size:var(--font-size-18);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;line-break:strict}.sudden-event-subject{margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--font-size-13);overflow-wrap:anywhere}.sudden-event-facts{gap:var(--space-8);width:100%;margin:var(--space-0);display:grid}.sudden-event-facts>div{justify-content:space-between;align-items:baseline;gap:var(--space-8);min-width:0;display:flex}.sudden-event-facts-split{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sudden-event-facts-split>div{gap:var(--space-2);justify-items:center;display:grid}.sudden-event-facts dt{color:var(--color-text-muted);font-size:var(--font-size-12)}.sudden-event-facts dd{margin:var(--space-0);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.sudden-event-start,.sudden-event-continue{width:auto;min-width:var(--touch-target-min);min-height:var(--touch-target-min);margin:var(--space-0);padding:var(--space-0) var(--space-20);bottom:var(--space-0);background:var(--color-surface);justify-self:center;position:sticky}.sudden-event-start:focus-visible,.sudden-event-continue:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.sudden-event-progress-head{justify-content:space-between;align-items:baseline;gap:var(--space-8);min-width:0;display:flex}.sudden-event-progress-meta{align-items:baseline;gap:var(--space-8);margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-12);font-variant-numeric:tabular-nums;white-space:nowrap;display:flex}.sudden-event-current{color:var(--color-text);font-size:var(--font-size-16);font-weight:var(--font-weight-semibold)}.sudden-event-reason{align-items:baseline;gap:var(--space-6);margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--font-size-12);overflow-wrap:anywhere;line-break:strict;flex-wrap:wrap;display:flex}.sudden-event-gauge{gap:var(--space-4);width:100%;min-width:0;display:grid}.sudden-event-gauge-track{height:var(--space-8);border-radius:var(--radius-pill);background:var(--color-chip);display:block;position:relative;overflow:hidden}.sudden-event-gauge-fill{border-radius:var(--radius-pill);background:var(--color-warning);height:100%;transition:width .35s;display:block}.sudden-event-gauge[data-tone=success] .sudden-event-gauge-fill{background:var(--color-success-text)}.sudden-event-gauge[data-tone=failure] .sudden-event-gauge-fill{background:var(--color-danger)}.sudden-event-gauge-goal{top:var(--space-negative-1);bottom:var(--space-negative-1);background:var(--color-text);width:2px;position:absolute;transform:translate(-1px)}.sudden-event-gauge-bounds{color:var(--color-text-muted);font-size:var(--font-size-11);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.sudden-event-situation-row{gap:var(--space-4);margin:var(--space-6) var(--space-0);padding:var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface-subtle);display:grid}.quest-editor-row{align-items:center;gap:var(--space-6);margin:var(--space-6) var(--space-0);padding:var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface-subtle);min-width:0;scroll-margin-bottom:calc(var(--touch-target-min) * 3 + var(--space-8) * 6 + env(safe-area-inset-bottom,0px));grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"index title actions";display:grid}.quest-editor-index{color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:var(--space-16);grid-area:index}.quest-editor-title{align-items:center;gap:var(--space-6);grid-area:title;grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.quest-editor-row .login-field{min-width:0;min-height:var(--space-48);margin:var(--space-0);overflow-wrap:anywhere;scroll-margin-bottom:calc(var(--touch-target-min) * 3 + var(--space-8) * 6 + env(safe-area-inset-bottom,0px))}.quest-editor-row .create-counter{white-space:nowrap;font-variant-numeric:tabular-nums}.quest-editor-actions{align-items:center;gap:var(--space-4);grid-area:actions;display:flex}.quest-editor-move{gap:var(--space-2);display:grid}.quest-editor-move .btn,.quest-editor-row .danger-btn,[data-testid=story-quest-add],[data-testid=story-quests-toggle]{min-width:var(--space-48);min-height:var(--space-48)}.quest-editor-move .btn,.quest-editor-row .danger-btn{width:var(--space-48);max-width:var(--space-48);margin:var(--space-0);padding:var(--space-0)}.sudden-event-play[data-surface=trial] .sudden-event-card,.sudden-event-play[data-surface=trial] .sudden-event-progress{padding:var(--space-10)}@media (width<=360px){.sudden-event-progress-head,.sudden-event-facts-split{grid-template-columns:minmax(0,1fr);display:grid}.sudden-event-progress-meta{white-space:normal}}@media (prefers-reduced-motion:reduce){.sudden-event-gauge-fill{transition:none}}.create-editor-heading{font-size:var(--font-size-16);margin:var(--space-12) var(--space-0) var(--space-2)}.create-brief-projection>button{min-height:var(--touch-target-min)}.personal-shortcut-importer{gap:var(--space-4);margin:var(--space-6) var(--space-0);padding:var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface-subtle);display:grid}.personal-shortcut-importer h3{margin:var(--space-0);font-size:var(--font-size-14)}.personal-shortcut-importer .profile-row{padding-inline:var(--space-4)}.story-visibility-choice{align-items:flex-start;gap:var(--space-8);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);padding:var(--space-10);margin:var(--space-4) var(--space-0);cursor:pointer;display:flex}.story-visibility-choice>span{gap:var(--space-2);flex-direction:column;display:flex}.story-visibility-choice:has(input:checked){border-color:var(--color-accent-strong);background:var(--color-accent-soft)}.create-editor-row{gap:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);padding:var(--space-10);margin:var(--space-6) var(--space-0);flex-direction:column;display:flex}.create-row-footer{justify-content:space-between;align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.create-alternate-actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.create-alternate-instruction-toggle{align-self:flex-start}.create-opening-row.user{border-color:var(--color-accent-strong);margin-left:var(--space-16)}.create-opening-speaker{align-items:center;gap:var(--space-6);font-size:var(--font-size-11);color:var(--color-text-muted);display:flex}.create-counter{color:var(--color-text-muted);font-size:var(--font-size-11)}.create-counter.over{color:var(--color-danger)}.create-token-row{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.create-token-label{color:var(--color-text-muted);font-size:var(--font-size-11)}.create-token-btn{background:var(--color-surface-subtle);color:var(--color-accent-text-soft);border:1px dashed var(--color-border-strong);border-radius:var(--radius-pill);font-family:var(--font-family-mono);font-size:var(--font-size-11);padding:var(--space-3) var(--space-8);cursor:pointer}.create-situation-thumb{border-radius:var(--radius-8);max-width:160px}.story-field-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.story-field-grid label{font-size:var(--font-size-13);color:var(--color-text-muted);display:block}.story-band-row,.story-condition-row{align-items:center;gap:var(--space-6);margin:var(--space-4) var(--space-0);flex-wrap:wrap;display:flex}.story-band-row>.login-field,.story-condition-row>.login-field{flex:120px;min-width:96px}.story-starting-sets{gap:var(--space-8);margin-bottom:var(--space-12);flex-direction:column;display:flex}.story-set-tabs{gap:var(--space-6);flex-wrap:wrap;display:flex}.story-set-tab{padding:var(--space-6) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-13);cursor:pointer}.story-set-tab:hover:not(:disabled){border-color:var(--color-accent)}.story-set-tab.active{border-color:var(--color-accent-strong);background:var(--color-accent-soft);color:var(--color-accent-text-soft)}.story-style-editor{gap:var(--space-16);display:grid}.story-style-group{margin:var(--space-0);padding:var(--space-0);border:0;min-width:0}.story-style-group legend{align-items:baseline;gap:var(--space-8);margin-bottom:var(--space-8);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);flex-wrap:wrap;display:flex}.story-style-legend-note{color:var(--color-text-muted);font-size:var(--font-size-12);font-weight:var(--font-weight-regular)}.story-style-options,.story-style-options-wrap{gap:var(--space-6);flex-wrap:wrap;display:flex}.story-style-writing-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.story-style-writing-none{grid-column:1/-1}.story-style-group .story-set-tab{min-height:var(--touch-target-min)}.story-style-group .story-set-tab:disabled{opacity:.45;cursor:default}.chat-director-panel{gap:var(--space-8);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.chat-director-copy{gap:var(--space-4);display:grid}.chat-director-title{margin:var(--space-0);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold)}.chat-director-footer{align-items:center;gap:var(--space-8);flex-wrap:wrap;justify-content:flex-end;display:flex}.chat-director-footer .create-counter{margin-right:auto}.chat-input-tool-btn.active{color:var(--color-accent-text-soft);border-color:var(--color-accent-strong)}.session-settings-block{gap:var(--space-6);margin:var(--space-0);padding:var(--space-0);border:0;min-width:0;display:grid}.session-settings-block legend{padding:var(--space-0);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold)}.session-settings-block .setting-row{min-height:var(--touch-target-min)}.session-settings-block .btn{margin:var(--space-0)}.session-settings-length-custom{gap:var(--space-6);padding-inline-start:var(--space-28);display:grid}.session-settings-length-custom input[type=range]{width:100%;accent-color:var(--color-accent)}.story-set-toolbar{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.story-set-add{width:auto;padding:var(--space-6) var(--space-12);border:1px dashed var(--color-border-strong);border-radius:var(--radius-10);background:var(--color-surface-subtle);color:var(--color-accent-text-soft);font-size:var(--font-size-13);cursor:pointer}.story-set-add:disabled{opacity:.6;cursor:default}.story-set-active-controls{gap:var(--space-4);flex-direction:column;display:flex}.story-condition-builder{border-top:1px solid var(--color-border-subtle);margin-top:var(--space-8);padding-top:var(--space-6)}.story-band-warning{color:var(--color-danger)}.stories-list{margin:var(--space-8) var(--space-0);padding:var(--space-0);gap:var(--space-6);flex-direction:column;list-style:none;display:flex}.creation-preview-example{margin:var(--space-8) var(--space-0)}.error{color:var(--color-danger)}.login{min-height:100vh;padding:var(--space-24);place-items:center;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-16);padding:var(--space-28);text-align:center;max-width:380px}.oshipu-logo{width:130px;max-width:100%;height:auto;display:block}.login-brand{margin:var(--space-0) var(--space-0) var(--space-16)}.login-brand .oshipu-logo{width:212px;margin:var(--space-0) auto}.startup-brand .oshipu-logo{width:160px}.login-sub{color:var(--color-text-muted);line-height:var(--line-height-160)}.btn{width:100%;min-height:var(--touch-target-min);padding:var(--space-12);border-radius:var(--radius-10);font-weight:var(--font-weight-bold);cursor:pointer;margin:var(--space-6) var(--space-0);border:none}.btn.google{background:var(--color-white);color:var(--color-ink);border:1px solid var(--color-border-strong)}.btn.email{background:var(--color-accent-strong);color:var(--color-accent-on)}.btn.email.secondary{background:var(--color-border-default);color:var(--color-text)}.btn:disabled{opacity:.58;cursor:not-allowed}.login-divider{align-items:center;gap:var(--space-8);color:var(--color-text-muted);font-size:var(--font-size-12);margin:var(--space-6) var(--space-0);display:flex}.login-divider:before,.login-divider:after{content:"";border-top:1px solid var(--color-border-subtle);flex:1}.login-legal{color:var(--color-text-muted);font-size:var(--font-size-12)}.login-field{width:100%;padding:var(--space-12);border-radius:var(--radius-10);border:1px solid var(--color-border-default);background:var(--color-surface);color:var(--color-text);margin:var(--space-6) var(--space-0);box-sizing:border-box}.login-field:focus{border-color:var(--color-accent-strong)}.login-msg{color:var(--color-accent-text-soft);font-size:var(--font-size-13)}.login-error{color:var(--color-danger-text);font-size:var(--font-size-13);line-height:var(--line-height-150);text-align:left;margin:var(--space-4) var(--space-0) var(--space-2)}.login-redirect-notice{color:var(--color-text);font-size:var(--font-size-13);margin:var(--space-8) var(--space-0) var(--space-0)}.login-code-target{color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-150);margin:var(--space-8) var(--space-0) var(--space-0);overflow-wrap:anywhere}.login-code-hint{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-160);text-align:left;margin:var(--space-4) var(--space-0) var(--space-8)}.login-capacity-notice{padding:var(--space-16);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface-subtle);text-align:left}.login-capacity-notice h2{margin:0 0 var(--space-8);font-size:var(--font-size-18)}.login-capacity-notice p{color:var(--color-text-muted);line-height:var(--line-height-160)}.btn.ghost{background:var(--color-transparent);color:var(--color-text-muted)}.btn.outline{background:var(--color-transparent);color:var(--color-text);border:1px solid var(--color-border-default)}.link-btn{color:var(--color-accent-strong);cursor:pointer;font-size:var(--font-size-13);margin-left:var(--space-6);min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:0 0;border:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.auth-login-link{padding-inline:var(--space-12);border-radius:var(--radius-pill);background:var(--color-accent-strong);color:var(--color-accent-on);font-weight:var(--font-weight-bold);margin-left:0}.home-plans-link{color:var(--color-text-muted);margin-left:0}.bubble-tools{gap:var(--space-2);margin-left:var(--space-6);vertical-align:middle;flex-wrap:wrap;display:inline-flex}.msg-image{border-radius:var(--radius-10);width:100%;max-width:320px;margin-top:var(--space-8);display:block}.topbar-right{align-items:center;gap:var(--space-12);flex:none;display:inline-flex}.topbar-right .link-btn{white-space:nowrap}@media (width<=420px){.topbar-right{gap:var(--space-6)}}.pwa-install-control{position:relative}.pwa-install-button{background:var(--color-transparent);padding:var(--space-4) var(--space-8);font:inherit;cursor:pointer;font-size:var(--font-size-12);white-space:nowrap;border:0}.pwa-install-button:disabled{opacity:.58;cursor:wait}.pwa-install-hint{z-index:10;top:calc(100% + var(--space-6));right:var(--space-0);width:min(280px,75vw);margin:var(--space-0);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-10);background:var(--color-surface);color:var(--color-text);box-shadow:var(--elevation-popover);font-size:var(--font-size-12);line-height:var(--line-height-150);position:absolute}.user-switcher{color:var(--color-text-muted);font-size:var(--font-size-13)}.user-switcher select{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);padding:var(--space-4) var(--space-8);margin-left:var(--space-4)}.replay-heading{justify-items:start;gap:var(--space-8);margin-block:var(--space-12);display:grid}.replay-heading>.detail-name{font-size:var(--font-size-20);line-height:var(--line-height-140);margin:0}.replay-heading>.tag{white-space:nowrap}.replay-message-tools{margin-top:var(--space-4);justify-content:flex-end;display:flex}.replay-message-tools .speak-btn{gap:var(--space-4);min-width:80px;color:var(--color-text-muted);opacity:1;margin-left:0}.replay-message-tools .speak-btn:disabled{opacity:.6;cursor:default}.replay-speak-error{margin:var(--space-4) 0 0;font-size:var(--font-size-13)}.detail-head{justify-content:space-between;align-items:center;display:flex}.character-profile-link{color:var(--color-text);text-decoration:none}.chat-title-copy{flex-direction:column;flex:auto;min-width:0;display:flex}.chat-title-copy strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:var(--line-height-140);overflow:hidden}.chat-conversation-name{min-height:var(--touch-target-min);max-width:min(60vw,28rem);color:var(--color-text-muted);font-size:var(--font-size-12);font-weight:var(--font-weight-normal);line-height:var(--line-height-150);text-overflow:ellipsis;white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex;overflow:hidden}.chat-character-avatar{flex:none;display:inline-flex}.chat-main-head .detail-head{gap:var(--space-12);min-width:0}.chat-main-head .detail-title{flex:auto;min-width:0}.chat-main-head .detail-head-actions{flex:none}.chat-bgm-button{background:var(--color-surface-subtle);color:var(--color-text-muted);border-color:var(--color-border-subtle);flex:none}.chat-bgm-button[aria-pressed=true]{color:var(--color-accent-strong);border-color:var(--color-accent-strong)}@media (width<=767px){.chat-main-head>.cover{display:none}.chat-main-head .detail-head{padding-block:var(--space-8);border-bottom:1px solid var(--color-border-subtle)}.chat-main-head .detail-head-actions,.chat-main-head .chat-conversation-name{display:none}.chat-character-avatar{min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center}.chat-header-overflow-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}}.cover-name .character-profile-link{color:inherit}.character-profile-name{font-size:var(--font-size-28);font-weight:var(--font-weight-bold);line-height:var(--line-height-140);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.character-profile-placeholder{background:var(--color-skeleton)}.character-profile-portrait{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.character-profile .character-profile-intro{margin:var(--space-16) 0 var(--space-12);color:var(--color-text-secondary);line-height:var(--line-height-170);overflow-wrap:anywhere}@media (width<=767px){.character-profile-cover{height:clamp(240px,38svh,300px)}.character-profile-portrait{object-position:center 16%}}.character-profile-cover .character-visibility{top:var(--space-12);right:var(--space-12);position:absolute}.character-visibility{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);padding:var(--space-6) var(--space-10);color:var(--color-text-muted);background:var(--color-surface);font-size:var(--font-size-12);font-weight:var(--font-weight-bold);flex:none}.character-chat-cta{box-sizing:border-box;width:100%;min-height:52px;margin:var(--space-14) var(--space-0) var(--space-10);padding:var(--space-10) var(--space-20);border-radius:var(--radius-12);background:var(--color-accent-strong);color:var(--color-accent-on);font-weight:var(--font-weight-extrabold);letter-spacing:.02em;justify-content:center;align-items:center;text-decoration:none;display:flex;box-shadow:0 2px 8px -2px #217a5552}@media (hover:hover) and (pointer:fine){.character-chat-cta:hover{box-shadow:0 4px 14px -2px #217a556b}}.character-chat-locked{gap:var(--space-12);padding:var(--space-20);border:1px solid var(--color-border-default);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.character-chat-locked .btn{width:fit-content}.character-chat-cta:active{transform:translateY(1px)}.character-profile-actions{gap:var(--space-8);margin:var(--space-10) var(--space-0);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.character-profile-actions>.fav-btn{min-width:0;padding-inline:var(--space-8);text-align:center}.character-profile-actions>:only-child{grid-column:1/-1}.character-profile-share-error{margin:var(--space-8) 0;font-size:var(--font-size-13);overflow-wrap:anywhere}.character-profile-tools{margin:var(--space-4) var(--space-0)}.character-profile-actions:empty,.character-profile-tools:empty{display:none}.character-profile-report{margin:var(--space-8) var(--space-0)}.character-report-trigger{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-6) var(--space-8);border-radius:var(--radius-8);color:var(--color-text-muted);font:inherit;font-size:var(--font-size-13);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;text-decoration:underline;display:inline-flex}.character-conversations-heading{gap:var(--space-2);flex-direction:column;flex:auto;min-width:0;display:flex}.character-conversations-heading h1{margin:var(--space-0)}.character-conversations-heading>span{color:var(--color-text-muted);font-size:var(--font-size-12);white-space:nowrap;line-height:var(--line-height-140)}.character-conversation-list{margin:var(--space-12) var(--space-0) var(--space-0);padding:var(--space-0);border-top:1px solid var(--color-border-subtle);list-style:none}.character-conversation-row{border-bottom:1px solid var(--color-border-subtle);border-inline-start:3px solid var(--color-transparent);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;transition:background .12s,border-color .12s;display:grid}.character-conversation-row.is-current{background:var(--color-accent-soft);border-inline-start-color:var(--color-accent-strong)}.character-conversation-row:hover:not(:has(:disabled)){background:var(--color-surface-subtle)}.character-conversation-row.is-current:hover:not(:has(:disabled)){background:var(--color-accent-soft)}.character-conversation-row-main{min-width:0}.character-conversation-open{gap:var(--space-5);width:100%;min-height:72px;padding:var(--space-12) var(--space-14);background:var(--color-transparent);color:var(--color-text);font:inherit;text-align:start;cursor:pointer;border:0;display:grid}.character-conversation-open:hover:not(:disabled){background:var(--color-transparent)}.character-conversation-open:active:not(:disabled){transform:translateY(1px)}.character-conversation-open:disabled{cursor:wait;opacity:.65}.character-conversation-name{min-width:0;font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-15);line-height:var(--line-height-140);overflow:hidden}.character-conversation-row.is-current .character-conversation-name{font-weight:var(--font-weight-bold)}.character-conversation-meta{align-items:center;gap:var(--space-8);color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-140);flex-wrap:wrap;display:flex}.character-conversation-current{min-height:22px;padding:var(--space-2) var(--space-8);border-radius:var(--radius-pill);background:var(--color-accent-strong);color:var(--color-accent-on);font-size:var(--font-size-11);font-weight:var(--font-weight-semibold);letter-spacing:.02em;align-items:center;display:inline-flex}.character-conversation-kind,.character-conversation-pinned{min-height:22px;padding:var(--space-2) var(--space-8);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-weight:var(--font-weight-semibold);font-size:var(--font-size-11);align-items:center;display:inline-flex}.conversation-row-menu{padding-inline:var(--space-6);align-items:center;display:flex;position:relative}.conversation-row-menu-trigger{min-width:var(--touch-target-min);min-height:var(--touch-target-min);border-radius:var(--radius-8);background:var(--color-transparent);color:var(--color-text-muted);cursor:pointer;border:0;justify-content:center;align-items:center;display:inline-flex}.conversation-row-menu-trigger:hover:not(:disabled){background:var(--color-surface-subtle);color:var(--color-text)}.conversation-row-menu-popover{z-index:12;top:calc(50% + 20px);right:var(--space-8);min-width:12rem;padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-10);background:var(--color-surface);box-shadow:var(--elevation-popover);display:grid;position:absolute}.conversation-row-menu-popover button{min-height:var(--touch-target-min);padding:var(--space-6) var(--space-10);border-radius:var(--radius-8);background:var(--color-transparent);color:var(--color-text);font:inherit;font-size:var(--font-size-13);text-align:start;cursor:pointer;border:0}.conversation-row-menu-popover button:hover:not(:disabled),.conversation-row-menu-popover button:focus-visible{background:var(--color-surface-subtle)}.conversation-row-menu-popover .danger-text{color:var(--color-danger-text)}.conversation-name-editor{gap:var(--space-6) var(--space-10);padding:var(--space-10) var(--space-12);grid-template-columns:minmax(0,1fr) auto;display:grid}.conversation-name-editor input{width:100%;min-height:var(--touch-target-min);box-sizing:border-box;padding:var(--space-10);border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface-subtle);color:var(--color-text);font:inherit}.conversation-name-count{color:var(--color-text-muted);font-size:var(--font-size-12);align-self:center}.conversation-name-error{color:var(--color-danger-text);font-size:var(--font-size-12);grid-column:1/-1}.conversation-name-actions{gap:var(--space-8);flex-wrap:wrap;grid-column:1/-1;display:flex}.conversation-delete-panel{max-width:440px}.conversation-toast{z-index:900;left:50%;bottom:max(var(--space-24), env(safe-area-inset-bottom));width:max-content;max-width:min(88vw,520px);padding:var(--space-10) var(--space-14);border:1px solid var(--color-border-strong);border-radius:var(--radius-10);background:var(--color-surface);color:var(--color-text);box-shadow:var(--elevation-popover);font-size:var(--font-size-13);line-height:var(--line-height-150);position:fixed;transform:translate(-50%)}@media (width<=540px){.character-conversation-open{padding-inline:var(--space-10)}.conversation-row-menu{padding-inline:var(--space-2)}.conversation-row-menu-popover{top:auto;right:var(--space-12);bottom:calc(72px + env(safe-area-inset-bottom));left:var(--space-12);position:fixed}}.conversations-pagination{justify-content:center;align-items:center;gap:var(--space-12);margin-top:var(--space-24);padding:var(--space-8) 0;flex-direction:column;display:flex}.conversations-pagination button,.conversations-pagination .btn{min-height:var(--touch-target-min);min-width:180px;padding:var(--space-10) var(--space-20);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);border-radius:var(--radius-pill)}.conversations-pagination .loading-state,.conversations-pagination .error-state{margin:var(--space-4) 0;font-size:var(--font-size-13)}.conversations .topbar{gap:var(--space-8);padding:var(--space-12) var(--space-4)}.conversations .topbar .back-link{white-space:nowrap;font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);color:var(--color-accent-strong);min-width:var(--touch-target-min);min-height:var(--touch-target-min);flex:none;align-items:center;text-decoration:none;display:inline-flex}.conversations .topbar h1{font-size:var(--font-size-18);font-weight:var(--font-weight-bold);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;line-height:var(--line-height-140);margin:0;overflow:hidden}.conversations .topbar .topbar-actions{min-width:var(--touch-target-min);min-height:var(--touch-target-min);flex:none;justify-content:flex-end;align-items:center;display:inline-flex}.conversations .grid-empty{padding:var(--space-56) var(--space-16);gap:var(--space-16)}.conversations .grid-empty p{font-size:var(--font-size-15);line-height:var(--line-height-160);max-width:32ch;margin:0}.conversations .grid-empty-cta{min-height:var(--touch-target-min);padding:var(--space-10) var(--space-24);font-size:var(--font-size-14);border-radius:var(--radius-pill);transition:transform .12s,opacity .12s}.conversations .grid-empty-cta:hover{opacity:.92}.conversations .grid-empty-cta:active{transform:translateY(1px)}.character-availability-state,.character-lifecycle-status,.chat-quota-wait{margin:var(--space-16) 0;padding:var(--space-12) var(--space-16);border:1px solid var(--color-border-default);border-radius:var(--radius-12);background:var(--color-surface);color:var(--color-text-muted)}.page-exit-actions{gap:var(--space-12);margin-top:var(--space-12);flex-wrap:wrap;display:flex}.character-profile-stats{gap:var(--space-14);margin:var(--space-12) var(--space-0);color:var(--color-accent-strong);font-size:var(--font-size-13);flex-wrap:wrap;display:flex}.fav-btn{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:var(--space-6) var(--space-14);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-13);min-height:var(--touch-target-min);justify-content:center;align-items:center;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}@media (hover:hover) and (pointer:fine){.fav-btn:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--color-border-default);color:var(--color-text)}}.fav-btn:disabled{opacity:.6;cursor:default}.fav-btn.on{background:var(--color-warning-surface-strong);color:var(--color-warning);border-color:var(--color-warning-border)}.fav-btn:active:not(:disabled),.mine-action:active{transform:translateY(1px)}.creator-area{align-items:center;gap:var(--space-12);margin:var(--space-10) var(--space-0) var(--space-4);padding:var(--space-10) var(--space-0);border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.creator-label{color:var(--color-text-muted);font-size:var(--font-size-12);margin-bottom:var(--space-2);display:block}.creator-name{overflow-wrap:anywhere}.creator-name-link{color:inherit;text-decoration:none}.creator-name-link:hover,.creator-name-link:focus-visible{text-decoration:underline}.creator-handle{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-12);overflow-wrap:anywhere;display:block}.creator-counts{gap:var(--space-10);color:var(--color-text-muted);font-size:var(--font-size-12);flex-wrap:wrap;display:inline-flex}.creator-profile-header{justify-content:space-between;align-items:center;gap:var(--space-12);margin:var(--space-8) var(--space-0) var(--space-16);padding-bottom:var(--space-12);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;display:flex}.creator-profile-name{margin:var(--space-0);font-size:var(--font-size-28);overflow-wrap:anywhere}.creator-profile-characters{margin-top:var(--space-8)}@media (width<=540px){.creator-area{grid-template-columns:minmax(0,1fr) auto}.creator-counts{grid-column:1/-1}}.report-panel{margin:var(--space-12) var(--space-0);padding:var(--space-14);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface)}.content-report-flow{display:contents}.content-report-flow>.report-panel,.content-report-status{flex:1 0 100%}.content-report-flow>button[aria-disabled=true]{opacity:.6;cursor:default}.report-panel h2{font-size:var(--font-size-17);margin:var(--space-0) var(--space-0) var(--space-12)}.report-field{gap:var(--space-6);margin-top:var(--space-10);display:grid}.report-field label{color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.report-field select,.report-field textarea{box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface-subtle);width:100%;color:var(--color-text);padding:var(--space-10);font:inherit}.report-field textarea{resize:vertical}.report-helper{color:var(--color-text-muted);font-size:var(--font-size-12)}.report-helper.over{color:var(--color-danger-text);font-weight:var(--font-weight-semibold)}.report-actions{gap:var(--space-8);margin-top:var(--space-12);flex-wrap:wrap;display:flex}.chat-actions{gap:var(--space-8);margin:var(--space-12) var(--space-0);flex-wrap:wrap;display:flex}.chat-actions button,.chat-action-link{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);padding:var(--space-6) var(--space-12);cursor:pointer;min-height:var(--touch-target-min);box-sizing:border-box;font:inherit;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.chat-actions button:active,.chat-action-link:active{transform:translateY(1px)}.chat-actions button:disabled{cursor:not-allowed;opacity:.58}.chat-save-panel{gap:var(--space-6);margin:var(--space-12) var(--space-0);padding:var(--space-14);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.chat-save-panel label{color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.chat-save-panel .report-actions{max-width:380px}.chat-profile-selector{align-items:center;gap:var(--space-10) var(--space-18);margin:var(--space-14) var(--space-0);padding:var(--space-12) var(--space-0);border-block:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto;display:grid}.chat-profile-copy{gap:var(--space-3);display:grid}.chat-profile-copy label{font-size:var(--font-size-14);font-weight:var(--font-weight-bold)}.chat-profile-copy span{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-150)}.chat-profile-control{align-items:center;gap:var(--space-8);display:flex}.chat-profile-control select{min-height:var(--touch-target-min);border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface);max-width:260px;color:var(--color-text);padding:var(--space-8) var(--space-10)}.chat-profile-manage{min-width:var(--touch-target-min);min-height:var(--touch-target-min);color:var(--color-accent-strong);font-size:var(--font-size-13);white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.chat-profile-selector>.error,.chat-profile-selector>.muted-note{grid-column:1/-1}.chat-tier-selector{gap:var(--space-10);margin:var(--space-14) var(--space-0);padding:var(--space-12) var(--space-0);border-block:1px solid var(--color-border-subtle);display:grid}.chat-tier-copy{gap:var(--space-3);display:grid}.chat-tier-label{font-size:var(--font-size-14);font-weight:var(--font-weight-bold)}.chat-tier-helper{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-150)}.chat-tier-options{gap:var(--space-8);display:grid}.chat-tier-option{align-items:flex-start;gap:var(--space-10);min-height:var(--touch-target-min);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-12);background:var(--color-surface);cursor:pointer;display:flex}.chat-tier-option.selected{border-color:var(--color-accent);background:var(--color-control-highlight)}.chat-tier-option input{margin:var(--space-3) var(--space-0) var(--space-0);accent-color:var(--color-accent)}.chat-tier-option input:disabled{cursor:default}.chat-tier-option-body{gap:var(--space-3);display:grid}.chat-tier-option-name{font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);color:var(--color-text)}.chat-tier-option-desc{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-150)}.chat-tier-note{display:block}.chat-tier-selector>.error,.chat-tier-selector>.muted-note{font-size:var(--font-size-12)}.bookmark-panel{margin:var(--space-12) var(--space-0);padding:var(--space-12) var(--space-14);border:1px solid var(--color-border-strong);border-radius:var(--radius-12);background:var(--color-surface-subtle)}.bookmark-panel-head{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}.bookmark-panel-head h2{margin:var(--space-0);font-size:var(--font-size-16)}.bookmark-list{padding:var(--space-0);margin:var(--space-10) var(--space-0) var(--space-0);border-top:1px solid var(--color-border-default);list-style:none}.bookmark-list li{gap:var(--space-10);padding:var(--space-10) var(--space-0);border-bottom:1px solid var(--color-border-default);line-height:var(--line-height-150);grid-template-columns:minmax(72px,auto) minmax(0,1fr);display:grid}.bookmark-role{color:var(--color-text-muted);font-size:var(--font-size-12);font-weight:var(--font-weight-bold)}.chat-log{gap:var(--space-10);padding:var(--space-12) var(--space-0);min-height:var(--chat-budget-log-min);overflow-anchor:none;flex-direction:column;max-height:50vh;display:flex;overflow:hidden auto}.chat-log-virtualized{height:50vh;display:block}.chat-log-virtualized [data-item-index]{padding-bottom:var(--space-10)}.chat-message-row{flex-direction:column;min-width:0;max-width:100%;display:flex}.message-infobox{box-sizing:border-box;width:min(100%,42rem);min-width:0;margin-top:var(--space-6);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface-subtle);align-self:flex-start;overflow:hidden}.message-infobox-toggle{align-items:center;gap:var(--space-8);box-sizing:border-box;width:100%;min-width:0;min-height:var(--touch-target-min);padding:var(--space-8) var(--space-12);background:var(--color-transparent);color:var(--color-text);font:inherit;text-align:start;cursor:pointer;border:0;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.message-infobox-title{font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap}.message-infobox-summary{min-width:0;color:var(--color-text-muted);font-size:var(--font-size-12);display:grid;overflow:hidden}.message-infobox-summary-environment,.message-infobox-summary-character,.message-infobox-summary-empty{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.message-infobox-marker{color:var(--color-text-muted)}.message-infobox-body{gap:var(--space-10);min-width:0;padding:var(--space-10) var(--space-12) var(--space-12);border-top:1px solid var(--color-border-subtle);display:grid}.message-infobox-fields{gap:var(--space-6);min-width:0;margin:var(--space-0);display:grid}.message-infobox-field{gap:var(--space-8);grid-template-columns:minmax(4em,30%) minmax(0,1fr);min-width:0;display:grid}.message-infobox-field dt{color:var(--color-text-muted);font-size:var(--font-size-12);font-weight:var(--font-weight-semibold)}.message-infobox-field dd{min-width:0;margin:var(--space-0);overflow-wrap:anywhere;color:var(--color-text);line-height:var(--line-height-150)}.message-infobox-character{gap:var(--space-8);min-width:0;padding:var(--space-10);border-radius:var(--radius-8);background:var(--color-surface);display:grid}.message-infobox-character h3{margin:var(--space-0);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.chat-infobox-preference{gap:var(--space-4);padding-block:var(--space-8);border-block:1px solid var(--color-border-subtle);display:grid}.chat-infobox-preference .setting-row{margin:var(--space-0)}.chat-infobox-preference-hint{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-150)}.chat-infobox-preference>.error{margin:var(--space-0);font-size:var(--font-size-12)}.msg{min-width:0;display:flex}.msg.user{justify-content:flex-end}.bubble{min-width:0;max-width:78%;padding:var(--space-10) var(--space-14);border-radius:var(--radius-14);line-height:var(--line-height-160);white-space:pre-wrap}.msg.assistant .bubble{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-bottom-left-radius:var(--radius-4);box-shadow:0 1px 3px #0000000a}.msg.speaker{align-items:flex-start;gap:var(--space-8);max-width:100%}.msg.speaker+.msg.speaker{margin-top:var(--space-6)}.msg.speaker+.msg.speaker[data-speaker-switch=true]{margin-top:var(--space-12)}.msg.speaker .speaker-avatar{margin-top:var(--space-2);flex:none}.msg.speaker .bubble{overflow-wrap:anywhere}.msg.speaker-action .bubble{background:var(--color-transparent);color:var(--color-text-muted);border:none;border-left:2px solid var(--color-border-default);box-shadow:none;border-radius:0}.msg.speaker-narration .bubble{box-shadow:none;color:var(--color-text-muted);background:0 0}.msg-speaker-name{font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);display:block}.bubble-plain{white-space:pre-wrap;overflow-wrap:anywhere}.chat-overlay-page{inset:var(--space-0);z-index:var(--chat-budget-layer-sheet);background:var(--color-background);position:fixed;overflow:auto}.chat-contacts-page{min-width:0;max-width:100%;overflow-x:hidden}.chat-contacts-heading{margin:var(--space-12) var(--space-0) var(--space-12);font-size:var(--font-size-18)}.chat-contacts-list{gap:var(--space-4);flex-direction:column;min-width:0;max-width:100%;display:flex}button.chat-contact{font:inherit;text-align:start;cursor:pointer;width:100%;min-height:var(--touch-target-min);background:0 0;border:0}.chat-contact-name{overflow-wrap:anywhere;-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.chat-contacts-entry,.chat-phone-entry{min-height:var(--touch-target-min);padding:var(--space-6) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--font-size-13);white-space:nowrap;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.chat-contacts-back{font-size:var(--font-size-12);display:block}.phone-social-overlay{z-index:var(--chat-budget-layer-sheet)}.phone-shell{min-width:0;max-width:100%;min-height:100%;padding:var(--space-12);gap:var(--space-12);flex-direction:column;display:flex}.phone-shell-head{align-items:center;gap:var(--space-12);min-width:0;display:flex}.phone-shell-back{align-items:center;gap:var(--space-4);min-height:var(--touch-target-min);min-width:var(--touch-target-min);margin:var(--space-0);padding:var(--space-8) var(--space-10);border-radius:var(--radius-8);background:var(--color-transparent);color:var(--color-accent-strong);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);cursor:pointer;border:0;flex:none;display:inline-flex}.phone-shell-back-glyph{flex:none;display:block}.phone-forum-tabs button,.phone-diary-cast button{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.phone-shell-title{margin:var(--space-0);font-size:var(--font-size-18);overflow-wrap:anywhere}.phone-shell-grid{gap:var(--space-16) var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));place-items:start center;width:100%;min-width:0;display:grid}.phone-shell .phone-shell-app{justify-content:flex-start;align-items:center;gap:var(--space-8);width:100%;min-width:0;min-height:var(--touch-target-min);padding:var(--space-8);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;display:flex}.phone-shell-app-icon{border-radius:var(--radius-16);background:var(--color-accent-soft);width:56px;height:56px;color:var(--color-accent-text-soft);flex:none;justify-content:center;align-items:center;display:flex}.phone-shell-app-name{width:100%;min-width:0;margin:var(--space-0);font-size:var(--font-size-13);line-height:var(--line-height-140);font-weight:var(--font-weight-semibold);text-align:center;overflow-wrap:anywhere;line-break:strict;display:block}@media (width<=390px){.phone-shell{padding:var(--space-10)}.phone-shell-grid{gap:var(--space-12) var(--space-8)}.phone-shell-app-icon{width:52px;height:52px}}.phone-forum-tabs,.phone-diary-cast{gap:var(--space-8);display:flex;overflow-x:auto}.phone-forum-page,.phone-forum-thread,.phone-forum-compose{align-items:stretch;gap:var(--space-16);flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex}.phone-forum-name,.phone-forum-thread-title{margin:var(--space-0);font-size:1.125rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);overflow-wrap:anywhere;line-break:strict}.phone-forum-tabs{flex-wrap:nowrap;width:100%;min-width:0;max-width:100%}button.phone-forum-tab{margin:var(--space-0);padding:var(--space-8) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-muted);font:inherit;font-size:.875rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);white-space:nowrap;cursor:pointer;flex:none;justify-content:center;align-items:center;display:inline-flex}button.phone-forum-tab[aria-pressed=true]{background:var(--color-accent-strong);color:var(--color-accent-on);border-color:var(--color-accent-strong)}.phone-forum-processing,.phone-forum-notice{margin:var(--space-0);padding:var(--space-14) var(--space-12);border-radius:var(--radius-12);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:.875rem;line-height:var(--line-height-160);text-align:center;overflow-wrap:anywhere}.phone-forum-empty{justify-content:center;align-items:center;gap:var(--space-12);min-height:220px;padding:var(--space-32) var(--space-16);text-align:center;color:var(--color-text-secondary);font-size:.9375rem;line-height:var(--line-height-160);overflow-wrap:anywhere;flex-direction:column;display:flex}.phone-forum-list,.phone-forum-comments{margin:var(--space-0);padding:var(--space-0);flex-direction:column;width:100%;min-width:0;list-style:none;display:flex}.phone-forum-list{gap:var(--space-0)}.phone-forum-thread-row+.phone-forum-thread-row{margin-top:var(--space-16);padding-top:var(--space-16);border-top:1px solid var(--color-border-subtle)}.phone-forum-thread-row.is-unread{box-shadow:inset 3px 0 0 var(--color-accent-strong);padding-left:var(--space-12)}button.phone-forum-thread-open{align-items:stretch;gap:var(--space-6);width:100%;margin:var(--space-0);padding:var(--space-8) var(--space-0);background:var(--color-transparent);color:var(--color-text-secondary);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);text-align:start;cursor:pointer;min-height:var(--touch-target-min);overflow-wrap:anywhere;line-break:strict;border:0;flex-direction:column;display:flex}.phone-forum-thread-row.is-unread .phone-forum-thread-open{color:var(--color-text)}.phone-forum-thread-row-title{overflow-wrap:anywhere;line-break:strict;min-width:0;max-width:100%}.phone-forum-thread-row-body,.phone-forum-thread-row-meta{margin:var(--space-0);overflow-wrap:anywhere;min-width:0;max-width:100%;font-weight:400}.phone-forum-thread-row-body{-webkit-line-clamp:3;font-size:.9375rem;line-height:var(--line-height-160);color:var(--color-text);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.phone-forum-thread-row-meta{font-size:.75rem;line-height:var(--line-height-140);color:var(--color-text-muted)}.phone-forum-actions,.phone-forum-compose-actions,.phone-forum-poll{gap:var(--space-10);flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex}.phone-forum-poll{gap:var(--space-8)}button.phone-forum-refresh,button.phone-forum-submit,button.phone-forum-comment-submit{width:100%;margin:var(--space-0);padding:var(--space-10) var(--space-16);border-radius:var(--radius-pill);background:var(--color-accent-strong);color:var(--color-accent-on);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);cursor:pointer;min-height:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;text-align:center;border:0;justify-content:center;align-items:center;min-width:0;max-width:100%;display:inline-flex}button.phone-forum-refresh:disabled,button.phone-forum-submit:disabled,button.phone-forum-comment-submit:disabled,button.phone-forum-like:disabled,button.phone-forum-vote:disabled,button.phone-forum-reply:disabled{opacity:.58;cursor:not-allowed}button.phone-forum-compose-open,button.phone-forum-cancel,button.phone-forum-like,button.phone-forum-vote{width:100%;margin:var(--space-0);padding:var(--space-10) var(--space-16);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);cursor:pointer;min-height:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;text-align:center;justify-content:center;align-items:center;min-width:0;max-width:100%;display:inline-flex}.phone-forum-like-row{align-items:center;gap:var(--space-8);flex-wrap:wrap;min-width:0;display:flex}button.phone-forum-like{flex:0 auto;width:auto}button.phone-forum-back{align-self:start;align-items:center;gap:var(--space-4);margin:var(--space-0);padding:var(--space-8) var(--space-10);border-radius:var(--radius-8);background:var(--color-transparent);color:var(--color-accent-strong);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);cursor:pointer;min-height:var(--touch-target-min);border:0;display:inline-flex}.phone-forum-thread-body,.phone-forum-likes,.phone-forum-comment{margin:var(--space-0);overflow-wrap:anywhere;min-width:0;max-width:100%}.phone-forum-thread-body{font-size:.9375rem;line-height:var(--line-height-160);color:var(--color-text);white-space:pre-wrap}.phone-forum-likes{font-size:.875rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);color:var(--color-text)}.phone-forum-comments{gap:var(--space-8)}.phone-forum-comment{align-items:flex-start;gap:var(--space-8);font-size:.875rem;line-height:var(--line-height-155);color:var(--color-text);flex-wrap:wrap;display:flex}.phone-forum-comment.is-reply{padding-left:var(--space-16)}.phone-forum-comment-text{gap:var(--space-4);flex-direction:column;flex:8rem;min-width:0;display:flex}.phone-forum-comment-reply-to,.phone-forum-reply-target{align-items:center;gap:var(--space-8);margin:var(--space-0);min-width:0;max-width:100%;font-size:.875rem;line-height:var(--line-height-155);color:var(--color-text-secondary);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}button.phone-forum-reply,button.phone-forum-reply-clear{margin:var(--space-0);padding:var(--space-8) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;font-size:.8125rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);cursor:pointer;min-height:var(--touch-target-min);min-width:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;text-align:center;flex:none;justify-content:center;align-items:center;display:inline-flex}button.phone-forum-reply[aria-pressed=true],button.phone-forum-vote[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent-text-soft);border-color:var(--color-accent-soft)}.phone-form{align-items:stretch;gap:var(--space-12);flex-direction:column;width:100%;min-width:0;display:flex}.phone-form label:not(.phone-form-check){gap:var(--space-6);width:100%;min-width:0;font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);flex-direction:column;display:flex}.phone-form-check{align-items:center;gap:var(--space-8);min-height:var(--touch-target-min);flex-direction:row;font-size:.9375rem;display:flex}.phone-form-check input{width:18px;height:18px;accent-color:var(--color-accent)}.phone-form input:not([type=checkbox]),.phone-form textarea{box-sizing:border-box;width:100%;max-width:100%;margin:var(--space-0);padding:var(--space-12);border:1px solid var(--color-border-default);border-radius:var(--radius-10);background:var(--color-field-surface);color:var(--color-text);font:inherit;font-size:1rem}.phone-form textarea{resize:vertical;min-height:7.5rem}@media (width<=390px){.phone-forum-thread-row+.phone-forum-thread-row{margin-top:var(--space-12);padding-top:var(--space-12)}button.phone-forum-tab{padding:var(--space-8) var(--space-10)}}.phone-zetagram-page{gap:var(--space-16);flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex}.phone-zetagram-list{margin:var(--space-0);padding:var(--space-0);gap:var(--space-0);flex-direction:column;width:100%;min-width:0;list-style:none;display:flex}.phone-zetagram-list>li+li{margin-top:var(--space-16);padding-top:var(--space-16);border-top:1px solid var(--color-border-subtle)}.phone-zetagram-card,.phone-zetagram-post{align-items:stretch;gap:var(--space-10);flex-direction:column;width:100%;min-width:0;display:flex}.phone-zetagram-card{cursor:pointer}.phone-zetagram-identity{align-items:center;gap:var(--space-10);width:100%;min-width:0;display:flex}.phone-zetagram-avatar{border-radius:var(--radius-round);object-fit:cover;background:var(--color-chip);flex:0 0 40px;width:40px;height:40px}.phone-zetagram-avatar-fallback{background:var(--color-accent-soft);color:var(--color-accent-text-soft);font-size:1rem;font-weight:var(--font-weight-semibold);place-items:center;line-height:1;display:grid}.phone-zetagram-author,.phone-zetagram-person-name,.phone-zetagram-body,.phone-zetagram-likes,.phone-zetagram-image-generation,.phone-zetagram-tags,.phone-zetagram-comments,.phone-zetagram-comment-text,.phone-zetagram-empty-copy{margin:var(--space-0);overflow-wrap:anywhere;min-width:0;max-width:100%}.phone-zetagram-author,.phone-zetagram-person-name{font-weight:var(--font-weight-semibold);font-size:.9375rem;line-height:var(--line-height-140);color:var(--color-text);line-break:strict;flex:auto}.phone-zetagram-body{font-size:.9375rem;line-height:var(--line-height-160);color:var(--color-text);white-space:pre-wrap}.phone-zetagram-likes{align-items:center;gap:var(--space-6);color:var(--color-text);font-size:.875rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);display:flex}button.phone-zetagram-likes{margin:var(--space-0);padding:var(--space-8) var(--space-4);background:var(--color-transparent);color:inherit;font:inherit;cursor:pointer;text-align:start;min-height:var(--touch-target-min);min-width:var(--touch-target-min);border:0;max-width:100%}button.phone-zetagram-likes[aria-pressed=true]{color:var(--color-accent-strong)}.phone-zetagram-compose{gap:var(--space-10);flex-direction:column;width:100%;min-width:0;display:flex}.phone-zetagram-image-generation{margin:var(--space-0);padding:var(--space-12);border-radius:var(--radius-12);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:.8125rem;line-height:var(--line-height-160)}button.phone-zetagram-open,button.phone-zetagram-image-open,.phone-zetagram-refresh{min-height:var(--touch-target-min);min-width:0;max-width:100%}button.phone-zetagram-open{align-items:center;gap:var(--space-10);width:100%;margin:var(--space-0);padding:var(--space-2) var(--space-0);background:var(--color-transparent);color:inherit;font:inherit;font-weight:var(--font-weight-semibold);text-align:start;cursor:pointer;border:0;display:flex}button.phone-zetagram-image-open{width:100%;margin:var(--space-0);padding:var(--space-0);background:var(--color-transparent);cursor:zoom-in;text-align:start;border:0;line-height:0;display:block}.phone-zetagram-image{background:var(--color-chip);width:100%;max-width:100%;height:auto;display:block}.phone-zetagram-refresh{width:100%;margin:var(--space-0);padding:var(--space-10) var(--space-16);border-radius:var(--radius-pill);background:var(--color-accent-strong);color:var(--color-accent-on);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);cursor:pointer;border:0;justify-content:center;align-items:center;display:inline-flex}.phone-zetagram-refresh:disabled,button.phone-zetagram-likes:disabled,button.phone-zetagram-submit:disabled,button.phone-zetagram-comment-submit:disabled,button.phone-zetagram-reply:disabled{opacity:.58;cursor:not-allowed}.phone-zetagram-compose-form,.phone-zetagram-compose-actions,.phone-zetagram-comment-form{align-items:stretch;gap:var(--space-12);flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex}.phone-zetagram-notice{margin:var(--space-0);padding:var(--space-14) var(--space-12);border-radius:var(--radius-12);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:.875rem;line-height:var(--line-height-160);text-align:center;overflow-wrap:anywhere}button.phone-zetagram-submit,button.phone-zetagram-comment-submit{width:100%;margin:var(--space-0);padding:var(--space-10) var(--space-16);border-radius:var(--radius-pill);background:var(--color-accent-strong);color:var(--color-accent-on);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);cursor:pointer;min-height:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;text-align:center;border:0;justify-content:center;align-items:center;min-width:0;max-width:100%;display:inline-flex}button.phone-zetagram-compose-open,button.phone-zetagram-cancel{width:100%;margin:var(--space-0);padding:var(--space-10) var(--space-16);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);cursor:pointer;min-height:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;text-align:center;justify-content:center;align-items:center;min-width:0;max-width:100%;display:inline-flex}.phone-zetagram-reply-target{align-items:center;gap:var(--space-8);margin:var(--space-0);min-width:0;max-width:100%;font-size:.875rem;line-height:var(--line-height-155);color:var(--color-text-secondary);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}button.phone-zetagram-reply,button.phone-zetagram-reply-clear{margin:var(--space-0);padding:var(--space-8) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;font-size:.8125rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);cursor:pointer;min-height:var(--touch-target-min);min-width:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;text-align:center;flex:none;justify-content:center;align-items:center;display:inline-flex}button.phone-zetagram-reply[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent-text-soft);border-color:var(--color-accent-soft)}.phone-zetagram-tags,.phone-zetagram-comments{margin:var(--space-0);padding:var(--space-0);gap:var(--space-8);flex-wrap:wrap;list-style:none;display:flex}.phone-zetagram-tags{color:var(--color-accent-text-soft);font-size:.875rem;line-height:var(--line-height-150)}.phone-zetagram-comments{gap:var(--space-8);flex-direction:column}.phone-zetagram-comment{align-items:flex-start;gap:var(--space-8);flex-wrap:wrap;width:100%;min-width:0;display:flex}.phone-zetagram-comment.is-reply{padding-left:var(--space-16)}.phone-zetagram-comment .phone-zetagram-avatar{width:28px;height:28px;margin-top:var(--space-2);flex-basis:28px}.phone-zetagram-comment-text{gap:var(--space-4);font-size:.875rem;line-height:var(--line-height-155);color:var(--color-text);flex-direction:column;flex:8rem;display:flex}.phone-zetagram-comment-reply-to{font-size:.75rem;line-height:var(--line-height-140);color:var(--color-text-muted);overflow-wrap:anywhere}.phone-zetagram-empty{justify-content:center;align-items:center;gap:var(--space-12);min-height:220px;padding:var(--space-32) var(--space-16);text-align:center;color:var(--color-text-secondary);font-size:.9375rem;line-height:var(--line-height-160);flex-direction:column;display:flex}.phone-zetagram-empty-glyph{border-radius:var(--radius-round);background:var(--color-surface-subtle);width:64px;height:64px;color:var(--color-text-muted);place-items:center;display:grid}.phone-zetagram-processing{margin:var(--space-0);padding:var(--space-14) var(--space-12);border-radius:var(--radius-12);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:.875rem;line-height:var(--line-height-160);text-align:center}@media (width<=390px){.phone-zetagram-list>li+li{margin-top:var(--space-12);padding-top:var(--space-12)}}.phone-diary-page,.phone-diary-entry{align-items:stretch;gap:var(--space-16);flex-direction:column;flex:auto;width:100%;min-width:0;max-width:100%;min-height:0;display:flex;overflow-x:hidden}.phone-diary-cast{flex-wrap:nowrap;width:100%;min-width:0;max-width:100%}button.phone-diary-cast-tab{justify-content:center;align-items:center;gap:var(--space-8);margin:var(--space-0);padding:var(--space-8) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-muted);font:inherit;font-size:.875rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);white-space:nowrap;cursor:pointer;flex:none;display:inline-flex}button.phone-diary-cast-tab[aria-selected=true]{background:var(--color-accent-strong);color:var(--color-accent-on);border-color:var(--color-accent-strong)}.phone-diary-avatar{border-radius:var(--radius-round);object-fit:cover;background:var(--color-chip);flex:0 0 28px;width:28px;height:28px}.phone-diary-avatar-fallback{background:var(--color-accent-soft);color:var(--color-accent-text-soft);font-size:.75rem;font-weight:var(--font-weight-semibold);place-items:center;line-height:1;display:grid}.phone-diary-cast-name{overflow-wrap:anywhere;line-break:strict;min-width:0}.phone-diary-processing{margin:var(--space-0);padding:var(--space-14) var(--space-12);border-radius:var(--radius-12);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:.875rem;line-height:var(--line-height-160);text-align:center;overflow-wrap:anywhere}.phone-diary-empty{justify-content:center;align-items:center;gap:var(--space-12);min-height:220px;padding:var(--space-32) var(--space-16);text-align:center;color:var(--color-text-secondary);font-size:.9375rem;line-height:var(--line-height-160);overflow-wrap:anywhere;flex-direction:column;display:flex}.phone-diary-list{margin:var(--space-0);padding:var(--space-0);gap:var(--space-0);flex-direction:column;flex:auto;width:100%;min-width:0;min-height:0;list-style:none;display:flex;overflow-y:auto}.phone-diary-entry-row+.phone-diary-entry-row{margin-top:var(--space-16);padding-top:var(--space-16);border-top:1px solid var(--color-border-subtle)}button.phone-diary-entry-open{width:100%;margin:var(--space-0);padding:var(--space-8) var(--space-0);background:var(--color-transparent);color:var(--color-text);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);text-align:start;cursor:pointer;min-height:var(--touch-target-min);overflow-wrap:anywhere;line-break:strict;border:0;display:block}.phone-diary-actions{gap:var(--space-10);z-index:1;background:var(--color-background);width:100%;min-width:0;max-width:100%;padding-top:var(--space-8);flex-direction:column;flex:none;display:flex;position:sticky;bottom:0}button.phone-diary-write{width:100%;margin:var(--space-0);padding:var(--space-10) var(--space-16);border-radius:var(--radius-pill);background:var(--color-accent-strong);color:var(--color-accent-on);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);cursor:pointer;min-height:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;text-align:center;border:0;justify-content:center;align-items:center;min-width:0;max-width:100%;display:inline-flex}button.phone-diary-write:disabled{opacity:.58;cursor:not-allowed}button.phone-diary-back{align-self:start;align-items:center;gap:var(--space-4);margin:var(--space-0);padding:var(--space-8) var(--space-10);border-radius:var(--radius-8);background:var(--color-transparent);color:var(--color-accent-strong);font:inherit;font-size:.9375rem;font-weight:var(--font-weight-semibold);cursor:pointer;min-height:var(--touch-target-min);border:0;display:inline-flex}.phone-diary-entry-title{margin:var(--space-0);font-size:1.125rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);overflow-wrap:anywhere;line-break:strict}.phone-diary-entry-body{margin:var(--space-0);overflow-wrap:anywhere;min-width:0;max-width:100%;min-height:0;max-height:min(70dvh,100dvh - 10rem);font-size:.9375rem;line-height:var(--line-height-160);color:var(--color-text);white-space:pre-wrap;flex:auto;overflow-y:auto}@media (width<=390px){.phone-diary-entry-row+.phone-diary-entry-row{margin-top:var(--space-12);padding-top:var(--space-12)}button.phone-diary-cast-tab{padding:var(--space-8) var(--space-10)}}.phone-messages-page{align-items:stretch;gap:var(--space-12);flex-direction:column;flex:auto;width:100%;min-width:0;max-width:100%;min-height:0;display:flex}.phone-messages-thread-head{align-items:center;gap:var(--space-8);min-width:0;display:flex}.phone-messages-thread-name{margin:var(--space-0);min-width:0;font-size:1.125rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);overflow-wrap:anywhere;line-break:strict}.phone-messages-log{flex:auto;min-height:0;max-height:min(70dvh,100dvh - 12rem);overflow:hidden auto}.phone-messages-composer{gap:var(--space-10);z-index:1;background:var(--color-background);width:100%;min-width:0;max-width:100%;padding-top:var(--space-8);flex-direction:column;flex:none;display:flex;position:sticky;bottom:0}.phone-messages-composer .chat-input{width:100%;max-width:100%}.phone-messages-page .chat-contacts-list{min-width:0;max-width:100%}@media (width<=390px){.phone-messages-log{max-height:min(58dvh,100dvh - 11rem)}}.msg.user .bubble{background:var(--color-accent-strong);color:var(--color-accent-on);border-bottom-right-radius:var(--radius-4)}.bubble.typing{color:var(--color-text-muted)}.msg.assistant .bubble.interrupted{color:var(--color-text-muted);border-style:dashed}.bubble-interruption-label{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border-subtle);color:var(--color-danger-text);font-size:var(--font-size-12);display:block}.msg.assistant .bubble.bubble-rich{align-items:flex-start;gap:var(--space-6);padding:var(--space-0);background:var(--color-transparent);white-space:normal;border:none;flex-direction:column;display:flex}.msg-parts{align-items:flex-start;gap:var(--space-6);flex-direction:column;min-width:0;max-width:100%;display:flex}.msg-part{min-width:0;max-width:100%;padding:var(--space-10) var(--space-14);border:1px solid var(--color-border-subtle);border-radius:var(--radius-14);background:var(--color-surface);overflow-wrap:anywhere}.msg-parts>.msg-part:last-child{border-bottom-left-radius:var(--radius-4)}.msg.assistant .bubble.interrupted .msg-part{color:var(--color-text-muted);border-style:dashed}.msg-part>:first-child{margin-top:var(--space-0)}.msg-part>:last-child{margin-bottom:var(--space-0)}.msg-part p,.msg-part-pending{margin:var(--space-0) var(--space-0) var(--space-8);white-space:pre-wrap}.msg-aside{color:var(--color-text-muted);font-style:normal}.msg-part strong{font-weight:var(--font-weight-semibold)}.msg-part :is(h1,h2,h3,h4,h5,h6){margin:var(--space-10) var(--space-0) var(--space-6);line-height:var(--line-height-140)}.msg-part h1{font-size:var(--font-size-20)}.msg-part h2{font-size:var(--font-size-18)}.msg-part :is(h3,h4,h5,h6){font-size:var(--font-size-16)}.msg-part :is(ul,ol){margin:var(--space-0) var(--space-0) var(--space-8);padding-left:var(--space-20)}.msg-part li{margin:var(--space-2) var(--space-0)}.msg-part blockquote{margin:var(--space-8) var(--space-0);padding:var(--space-2) var(--space-12);border-left:var(--space-3) solid var(--color-border-strong);color:var(--color-text-secondary)}.msg-part-table{margin:var(--space-8) var(--space-0);max-width:100%;overflow-x:auto}.msg-part-table table{border-collapse:collapse;min-width:max-content;font-size:var(--font-size-13)}.msg-part-table :is(th,td){padding:var(--space-6) var(--space-10);border:1px solid var(--color-border-subtle);text-align:left}.msg-part-table th{background:var(--color-surface-subtle);font-weight:var(--font-weight-semibold)}.msg-part :is(code,pre){font-family:var(--font-family-mono);font-size:var(--font-size-13)}.msg-part pre{margin:var(--space-8) var(--space-0);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface-subtle);overflow-x:auto}.msg-part :not(pre)>code{padding:var(--space-2) var(--space-5);border:1px solid var(--color-border-subtle);border-radius:var(--radius-4);background:var(--color-surface-subtle)}.msg-code{margin:var(--space-8) var(--space-0)}.msg-code-bar{justify-content:space-between;align-items:center;gap:var(--space-8);padding-left:var(--space-2);display:flex}.msg-code-lang{color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-12);text-transform:lowercase}.msg-code-copy{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-0);cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-16);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.msg-code-copy:hover{color:var(--color-text)}.msg-code-copy[data-state=copied]{color:var(--color-accent-strong)}.msg-code>pre{margin:var(--space-0)}.hljs-comment,.hljs-quote{color:var(--color-code-comment);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag,.hljs-meta,.hljs-name,.hljs-type,.hljs-built_in{color:var(--color-code-keyword)}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-symbol,.hljs-bullet,.hljs-template-tag,.hljs-template-variable{color:var(--color-code-string)}.hljs-number,.hljs-deletion,.hljs-variable,.hljs-params{color:var(--color-code-number)}.hljs-title,.hljs-section,.hljs-selector-id,.hljs-selector-class,.hljs-attr,.hljs-tag{color:var(--color-code-name)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:var(--font-weight-semibold)}.msg-part .katex{font-size:1.05em}.msg-part .katex-display{padding:var(--space-2) var(--space-0);overflow:auto hidden}.msg-part .katex-error{font-family:var(--font-family-mono);font-size:var(--font-size-13)}.msg-part a{color:var(--color-accent-strong)}.msg-part hr{border:none;border-top:1px solid var(--color-border-subtle);margin:var(--space-10) var(--space-0)}.msg-part-inline-image{border-radius:var(--radius-8);max-width:100%}.msg-part-image{border-radius:var(--radius-12);width:100%;max-width:320px;display:block}.speak-btn{cursor:pointer;margin-left:var(--space-6);font-size:var(--font-size-13);opacity:.7;padding:var(--space-0);min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.bubble-tools .speak-btn{margin-left:var(--space-0)}.reply-variants{align-items:center;gap:var(--space-2);display:inline-flex}.reply-variants .reply-variant-step{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.reply-variants .reply-variant-step:disabled{opacity:.3;cursor:default}.reply-variant-position{color:var(--color-text-muted);font-size:var(--font-size-12);font-variant-numeric:tabular-nums;text-align:center;-webkit-user-select:none;user-select:none;min-width:2.5em}.suggest-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.suggestions{gap:var(--space-6);margin-bottom:var(--space-8);flex-direction:column;display:flex}.suggestion-item{align-items:stretch;gap:var(--space-6);display:flex}.suggestion-chip{cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-8) var(--space-14);text-align:left;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-subtle);border-radius:var(--radius-14);line-height:var(--line-height-140);overflow-wrap:anywhere;line-break:strict;flex:1}.suggestion-chip:hover:not(:disabled){border-color:var(--color-accent-strong)}.suggestion-chip:disabled{opacity:.6;cursor:default}.suggestion-edit{opacity:.8;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);flex-shrink:0}.suggestion-edit:hover:not(:disabled){opacity:1}.suggestion-edit:disabled{opacity:.4;cursor:default}.story-dice-panel,.story-dice-history{--d20-lit:color-mix(in srgb, var(--color-surface) 82%, var(--color-border-strong));--d20-mid:var(--color-surface-subtle);--d20-shade:color-mix(in srgb, var(--color-text-secondary) 28%, var(--color-border-default));--d20-front:color-mix(in srgb, var(--color-surface-subtle) 70%, var(--color-border-strong));--d20-edge:color-mix(in srgb, var(--color-text) 22%, var(--color-border-strong));--d20-ink:var(--color-text);--d20-sheen:color-mix(in srgb, var(--color-white) 42%, var(--color-transparent))}.story-dice-panel{gap:var(--space-16);padding:var(--space-20) var(--space-16) var(--space-16);border:1px solid var(--color-border-subtle);border-radius:var(--radius-16);background:var(--color-surface);box-shadow:var(--elevation-card);overflow-wrap:anywhere;min-width:0;max-width:100%;display:grid}.story-dice-history{gap:var(--space-8);min-width:0;max-width:100%;margin:var(--space-0) var(--space-0) var(--space-8);display:grid}.story-dice-history-summary{gap:var(--space-6);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface-subtle);color:var(--color-text);cursor:pointer;overflow-wrap:anywhere;list-style:none;display:grid}.story-dice-history-summary::-webkit-details-marker{display:none}.story-dice-history-action{font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);min-width:0}.story-dice-history-meta{gap:var(--space-8) var(--space-12);font-size:.875rem;line-height:var(--line-height-150);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;min-width:0;display:flex}.story-dice-history-details{color:var(--color-text-muted);font-size:.8125rem;font-weight:var(--font-weight-semibold);margin-inline-start:auto}.story-dice-history-summary[data-outcome=success] [data-testid=story-dice-history-outcome],.story-dice-history-summary[data-outcome=criticalSuccess] [data-testid=story-dice-history-outcome]{color:var(--color-success-text-strong);font-weight:var(--font-weight-bold)}.story-dice-history-summary[data-outcome=failure] [data-testid=story-dice-history-outcome],.story-dice-history-summary[data-outcome=criticalFailure] [data-testid=story-dice-history-outcome]{color:var(--color-danger-text);font-weight:var(--font-weight-bold)}.story-dice-history-summary[data-outcome=criticalSuccess] [data-testid=story-dice-history-outcome],.story-dice-history-summary[data-outcome=criticalFailure] [data-testid=story-dice-history-outcome]{letter-spacing:.04em}.chat-message-row>.story-dice-history,.create-preview-bubble>.story-dice-history{margin-bottom:var(--space-8)}.story-dice-header{gap:var(--space-6);text-align:center;justify-items:center;min-width:0;max-width:100%;display:grid}.story-dice-kicker{color:var(--color-text-muted);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.14em}.story-dice-action{margin:var(--space-0);max-width:min(22em,100%);font-size:1.125rem;font-weight:var(--font-weight-bold);line-height:var(--line-height-140);letter-spacing:var(--letter-spacing-tight)}.story-dice-result{justify-items:center;gap:var(--space-10);padding:var(--space-16) var(--space-8) var(--space-12);border-radius:var(--radius-14);box-sizing:border-box;isolation:isolate;background:radial-gradient(ellipse 72% 58% at 50% 40%, color-mix(in srgb, var(--color-accent-soft) 70%, var(--color-surface-subtle)), var(--color-surface-subtle));width:100%;min-width:0;display:grid;position:relative}.story-dice-motif{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.story-dice-d20,.story-dice-outcome{z-index:1;position:relative}.story-dice-panel[data-dice-theme=schoolDesk] .story-dice-result,.story-dice-history[data-dice-theme=schoolDesk] .story-dice-history-summary{--d20-lit:#8fbbe4;--d20-mid:#3f7eb6;--d20-shade:#1e4d78;--d20-front:#2c6aa5;--d20-edge:#163a5c;--d20-ink:#f7fbff;--d20-sheen:color-mix(in srgb, var(--color-white) 48%, var(--color-transparent));background:repeating-linear-gradient(#0000 0 26px,#c4ab7a47 26px 27px),linear-gradient(#f6ead0 0%,#e7d3aa 100%)}.story-dice-panel[data-dice-theme=schoolDesk] .motif-paper{fill:#fbf6ea;stroke:#c9b48a;stroke-width:1.2px}.story-dice-panel[data-dice-theme=schoolDesk] .motif-line{fill:none;stroke:#c2a97a;stroke-width:1.1px}.story-dice-panel[data-dice-theme=schoolDesk] .motif-pouch{fill:#2f5f93;opacity:.88}.story-dice-panel[data-dice-theme=schoolDesk] .motif-pencil{fill:#d2a23a}.story-dice-panel[data-dice-theme=schoolDesk] .motif-note{fill:#efe08a}.story-dice-panel[data-dice-theme=spaceExploration] .story-dice-result,.story-dice-history[data-dice-theme=spaceExploration] .story-dice-history-summary{--d20-lit:#c9e8ff;--d20-mid:#6aa7d8;--d20-shade:#1a3f68;--d20-front:#8fd0ff;--d20-edge:#d7f0ff;--d20-ink:#062037;--d20-sheen:color-mix(in srgb, var(--color-white) 55%, var(--color-transparent));background:radial-gradient(circle at 78% 18%,#6aa4d8 0 8%,#0000 28%),radial-gradient(80% 70% at 50% 42%,#1a3d6c,#071525)}.story-dice-panel[data-dice-theme=spaceExploration] .motif-orbit{fill:none;stroke:#9fd4ff8c;stroke-width:1.2px}.story-dice-panel[data-dice-theme=spaceExploration] .motif-star,.story-dice-panel[data-dice-theme=spaceExploration] .motif-planet{fill:#e8f6ff}.story-dice-panel[data-dice-theme=occult] .story-dice-result,.story-dice-history[data-dice-theme=occult] .story-dice-history-summary{--d20-lit:#c9a4d4;--d20-mid:#6b3d72;--d20-shade:#2a152f;--d20-front:#8a4a86;--d20-edge:#e6d2c0;--d20-ink:#f7efe6;--d20-sheen:color-mix(in srgb, var(--color-white) 28%, var(--color-transparent));background:radial-gradient(70% 60% at 50% 42%,#3a2042,#160d18)}.story-dice-panel[data-dice-theme=occult] .motif-ring{fill:none;stroke:#e4c9a46b;stroke-width:1.15px}.story-dice-panel[data-dice-theme=occult] .motif-glyph{fill:none;stroke:#e4c9a480;stroke-width:1.1px}.story-dice-panel[data-dice-theme=occult] .motif-dot{fill:#e4c9a4}.story-dice-panel[data-dice-theme=butterPancake] .story-dice-result,.story-dice-history[data-dice-theme=butterPancake] .story-dice-history-summary{--d20-lit:#ffe7a8;--d20-mid:#e0b04a;--d20-shade:#a56b16;--d20-front:#f0c45a;--d20-edge:#7a4a12;--d20-ink:#4a2f0c;--d20-sheen:color-mix(in srgb, var(--color-white) 50%, var(--color-transparent));background:radial-gradient(78% 50% at 50% 78%,#fff8e8,#f3ddb2)}.story-dice-panel[data-dice-theme=butterPancake] .motif-plate{fill:#f7f1e2;stroke:#d9c49a;stroke-width:1.2px}.story-dice-panel[data-dice-theme=butterPancake] .motif-cake{fill:#e8b45a}.story-dice-panel[data-dice-theme=butterPancake] .motif-butter{fill:#fff3b0}.story-dice-panel[data-dice-theme=butterPancake] .motif-honey{fill:none;stroke:#d4922a;stroke-width:6px;stroke-linecap:round}.story-dice-panel[data-dice-theme=romanticRose] .story-dice-result,.story-dice-history[data-dice-theme=romanticRose] .story-dice-history-summary{--d20-lit:#8a3048;--d20-mid:#5c1730;--d20-shade:#2a0a16;--d20-front:#641428;--d20-edge:#d4af6a;--d20-ink:#f6e6b8;--d20-sheen:color-mix(in srgb, #f6e6b8 28%, var(--color-transparent));background:radial-gradient(circle at 82% 10%,#d8d0ea 0 2%,#0000 12%),radial-gradient(circle at 78% 12%,#6b5a9a 0 8%,#0000 28%),radial-gradient(80% 70% at 50% 40%,#2a1848,#12081f)}.story-dice-panel[data-dice-theme=romanticRose] .motif-arch{fill:none;stroke:#d4af6a;stroke-width:2.2px}.story-dice-panel[data-dice-theme=romanticRose] .motif-arch-inner{fill:none;stroke:#c97470;stroke-width:1.4px;opacity:.7}.story-dice-panel[data-dice-theme=romanticRose] .motif-rose-wine{fill:#7a1f38}.story-dice-panel[data-dice-theme=romanticRose] .motif-rose-ivory{fill:#f0e4d6}.story-dice-panel[data-dice-theme=romanticRose] .motif-moon{fill:#e8dff5}.story-dice-panel[data-dice-theme=romanticRose] .motif-star{fill:#efe8ff}.story-dice-panel[data-dice-theme=romanticRose] .motif-heart{fill:#c45a72}.story-dice-panel[data-dice-theme=romanticRose] .d20-edges{stroke-width:1.85px}.story-dice-panel[data-dice-theme=spaceExploration] .story-dice-action,.story-dice-panel[data-dice-theme=occult] .story-dice-action,.story-dice-panel[data-dice-theme=romanticRose] .story-dice-action{color:var(--color-text)}.story-dice-history[data-dice-theme=spaceExploration] .story-dice-history-summary,.story-dice-history[data-dice-theme=occult] .story-dice-history-summary,.story-dice-history[data-dice-theme=romanticRose] .story-dice-history-summary{color:#f4f7fb;border-color:color-mix(in srgb, var(--color-white) 18%, var(--color-transparent))}.story-dice-history[data-dice-theme=spaceExploration] .story-dice-history-details,.story-dice-history[data-dice-theme=occult] .story-dice-history-details,.story-dice-history[data-dice-theme=romanticRose] .story-dice-history-details{color:#f4f7fbb8}.story-dice-history[data-dice-theme=spaceExploration] .story-dice-history-summary[data-outcome=success] [data-testid=story-dice-history-outcome],.story-dice-history[data-dice-theme=spaceExploration] .story-dice-history-summary[data-outcome=criticalSuccess] [data-testid=story-dice-history-outcome],.story-dice-history[data-dice-theme=occult] .story-dice-history-summary[data-outcome=success] [data-testid=story-dice-history-outcome],.story-dice-history[data-dice-theme=occult] .story-dice-history-summary[data-outcome=criticalSuccess] [data-testid=story-dice-history-outcome],.story-dice-history[data-dice-theme=romanticRose] .story-dice-history-summary[data-outcome=success] [data-testid=story-dice-history-outcome],.story-dice-history[data-dice-theme=romanticRose] .story-dice-history-summary[data-outcome=criticalSuccess] [data-testid=story-dice-history-outcome]{color:#d8f5e3}.story-dice-history[data-dice-theme=spaceExploration] .story-dice-history-summary[data-outcome=failure] [data-testid=story-dice-history-outcome],.story-dice-history[data-dice-theme=spaceExploration] .story-dice-history-summary[data-outcome=criticalFailure] [data-testid=story-dice-history-outcome],.story-dice-history[data-dice-theme=occult] .story-dice-history-summary[data-outcome=failure] [data-testid=story-dice-history-outcome],.story-dice-history[data-dice-theme=occult] .story-dice-history-summary[data-outcome=criticalFailure] [data-testid=story-dice-history-outcome],.story-dice-history[data-dice-theme=romanticRose] .story-dice-history-summary[data-outcome=failure] [data-testid=story-dice-history-outcome],.story-dice-history[data-dice-theme=romanticRose] .story-dice-history-summary[data-outcome=criticalFailure] [data-testid=story-dice-history-outcome]{color:#ffd5d0}.story-dice-panel[data-dice-theme=spaceExploration] .story-dice-result[data-outcome=pending] .story-dice-outcome,.story-dice-panel[data-dice-theme=occult] .story-dice-result[data-outcome=pending] .story-dice-outcome,.story-dice-panel[data-dice-theme=romanticRose] .story-dice-result[data-outcome=pending] .story-dice-outcome{color:#f4f7fb;background:color-mix(in srgb, var(--color-white) 16%, var(--color-transparent))}.story-dice-panel[data-dice-theme=spaceExploration] .story-dice-result[data-outcome=success] .story-dice-outcome,.story-dice-panel[data-dice-theme=spaceExploration] .story-dice-result[data-outcome=criticalSuccess] .story-dice-outcome,.story-dice-panel[data-dice-theme=occult] .story-dice-result[data-outcome=success] .story-dice-outcome,.story-dice-panel[data-dice-theme=occult] .story-dice-result[data-outcome=criticalSuccess] .story-dice-outcome,.story-dice-panel[data-dice-theme=romanticRose] .story-dice-result[data-outcome=success] .story-dice-outcome,.story-dice-panel[data-dice-theme=romanticRose] .story-dice-result[data-outcome=criticalSuccess] .story-dice-outcome{color:#d8f5e3;background:color-mix(in srgb, var(--color-white) 16%, var(--color-transparent))}.story-dice-panel[data-dice-theme=spaceExploration] .story-dice-result[data-outcome=failure] .story-dice-outcome,.story-dice-panel[data-dice-theme=spaceExploration] .story-dice-result[data-outcome=criticalFailure] .story-dice-outcome,.story-dice-panel[data-dice-theme=occult] .story-dice-result[data-outcome=failure] .story-dice-outcome,.story-dice-panel[data-dice-theme=occult] .story-dice-result[data-outcome=criticalFailure] .story-dice-outcome,.story-dice-panel[data-dice-theme=romanticRose] .story-dice-result[data-outcome=failure] .story-dice-outcome,.story-dice-panel[data-dice-theme=romanticRose] .story-dice-result[data-outcome=criticalFailure] .story-dice-outcome{color:#ffd5d0;background:color-mix(in srgb, var(--color-white) 16%, var(--color-transparent))}.story-dice-d20{z-index:1;aspect-ratio:200/210;width:min(12rem,100%);min-width:0;max-width:100%;color:var(--d20-ink);justify-self:center;position:relative}.story-dice-d20 svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.story-dice-d20 .d20-shadow{fill:var(--color-black-alpha-25)}.story-dice-d20 .d20-lit{fill:var(--d20-lit)}.story-dice-d20 .d20-mid{fill:var(--d20-mid)}.story-dice-d20 .d20-shade{fill:var(--d20-shade)}.story-dice-d20 .d20-front{fill:var(--d20-front)}.story-dice-d20 .d20-sheen{fill:var(--d20-sheen);pointer-events:none}.story-dice-d20 .d20-edges{fill:none;stroke:var(--d20-edge);stroke-width:1.35px;stroke-linejoin:round}.story-dice-face{font-size:2.35rem;font-weight:var(--font-weight-extrabold);font-variant-numeric:tabular-nums;text-shadow:0 1px 0 color-mix(in srgb, var(--color-black-alpha-40) 35%, var(--color-transparent));line-height:1;position:absolute;top:55.7%;left:57.65%;transform:translate(-50%,-50%)}.story-dice-face.is-waiting{font-size:1.5rem;font-weight:var(--font-weight-bold);text-shadow:none}.story-dice-result[data-outcome=success],.story-dice-result[data-outcome=criticalSuccess]{--d20-lit:color-mix(in srgb, var(--color-accent-strong) 72%, var(--color-white));--d20-mid:color-mix(in srgb, var(--color-accent-strong) 88%, var(--color-success-text-strong));--d20-shade:color-mix(in srgb, var(--color-accent-text-soft) 82%, var(--color-ink));--d20-front:var(--color-accent-strong);--d20-edge:color-mix(in srgb, var(--color-accent-text-soft) 55%, var(--color-ink));--d20-ink:var(--color-accent-on);--d20-sheen:color-mix(in srgb, var(--color-white) 38%, var(--color-transparent));background:radial-gradient(ellipse 72% 58% at 50% 40%, var(--color-success-surface), var(--color-surface-subtle))}.story-dice-result[data-outcome=success] .story-dice-outcome,.story-dice-result[data-outcome=criticalSuccess] .story-dice-outcome{color:var(--color-success-text-strong)}.story-dice-result[data-outcome=failure],.story-dice-result[data-outcome=criticalFailure]{--d20-lit:color-mix(in srgb, var(--color-danger) 68%, var(--color-white));--d20-mid:color-mix(in srgb, var(--color-danger-text) 80%, var(--color-danger));--d20-shade:color-mix(in srgb, var(--color-danger-text) 78%, var(--color-ink));--d20-front:var(--color-danger-text);--d20-edge:color-mix(in srgb, var(--color-danger-text) 70%, var(--color-ink));--d20-ink:var(--color-accent-on);--d20-sheen:color-mix(in srgb, var(--color-white) 34%, var(--color-transparent));background:radial-gradient(ellipse 72% 58% at 50% 40%, var(--color-danger-surface), var(--color-surface-subtle))}.story-dice-result[data-outcome=failure] .story-dice-outcome,.story-dice-result[data-outcome=criticalFailure] .story-dice-outcome{color:var(--color-danger-text)}.story-dice-outcome{font-size:1.5rem;font-weight:var(--font-weight-extrabold);letter-spacing:.18em;border-radius:var(--radius-12);background:color-mix(in srgb, var(--color-surface) 88%, var(--color-transparent));padding:.28em .9em;line-height:1.2}.story-dice-result[data-outcome=success] .story-dice-outcome,.story-dice-result[data-outcome=criticalSuccess] .story-dice-outcome{background:var(--color-success-surface);color:var(--color-success-text-strong)}.story-dice-result[data-outcome=failure] .story-dice-outcome,.story-dice-result[data-outcome=criticalFailure] .story-dice-outcome{background:var(--color-danger-surface);color:var(--color-danger-text)}.story-dice-result[data-outcome=criticalSuccess] .story-dice-outcome,.story-dice-result[data-outcome=criticalFailure] .story-dice-outcome{letter-spacing:.12em;box-shadow:inset 0 0 0 1.5px color-mix(in srgb, currentColor 58%, transparent), 0 1px 0 color-mix(in srgb, var(--color-white) 42%, transparent);font-size:1.7rem}.story-dice-result[data-outcome=pending] .story-dice-outcome{color:var(--color-text-muted);font-size:.8125rem;font-weight:var(--font-weight-semibold);letter-spacing:0;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-text-muted) 10%, var(--color-surface));padding:.25em .85em}.story-dice-score{margin:var(--space-0);padding:var(--space-4) var(--space-16);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);min-width:0;display:grid}.story-dice-score div{justify-content:space-between;align-items:baseline;gap:var(--space-12);padding:var(--space-10) var(--space-0);border-top:1px solid var(--color-border-subtle);flex-wrap:wrap;min-width:0;display:flex}.story-dice-score div:first-child{border-top:0}.story-dice-score dt{color:var(--color-text-muted);font-size:.75rem;font-weight:var(--font-weight-semibold)}.story-dice-score dd{margin:var(--space-0);font-size:1.125rem;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.story-dice-score-sum dd{font-size:1.25rem}.story-dice-formula{flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:.3em;display:inline-flex}.story-dice-formula-eq{color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.story-dice-details{gap:var(--space-6);color:var(--color-text-secondary);display:grid}.story-dice-details p{margin:var(--space-0);font-size:.8125rem;line-height:var(--line-height-150);overflow-wrap:anywhere}.story-dice-details span{color:var(--color-text-muted);margin-inline-end:var(--space-8);font-size:.75rem}.story-dice-critical-note{color:var(--color-text)}.story-dice-recovery{gap:var(--space-8);display:grid}.story-dice-recovery button{justify-self:start}.story-dice-actions{gap:var(--space-8);display:grid}.story-dice-actions .story-dice-accept,.story-dice-actions .story-dice-roll{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-accent-on)}.story-dice-roll,.story-dice-reroll,.story-dice-accept{min-width:var(--touch-target-min);min-height:var(--touch-target-min);width:100%;padding:var(--space-12) var(--space-14);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-subtle);border-radius:var(--radius-14);font-size:.9375rem;font-weight:var(--font-weight-bold);overflow-wrap:anywhere;cursor:pointer}.story-dice-roll:hover:not(:disabled),.story-dice-accept:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent-strong) 88%, var(--color-ink));border-color:color-mix(in srgb, var(--color-accent-strong) 88%, var(--color-ink))}.story-dice-reroll:hover:not(:disabled){border-color:var(--color-accent-strong);color:var(--color-accent-text-soft)}.story-dice-roll:active:not(:disabled),.story-dice-reroll:active:not(:disabled),.story-dice-accept:active:not(:disabled){transform:scale(.985)}.story-dice-roll:disabled,.story-dice-reroll:disabled,.story-dice-accept:disabled{opacity:.6;cursor:default}.story-dice-status,.story-dice-error{margin:var(--space-0);font-size:.8125rem}.story-dice-error{color:var(--color-danger-text)}@media (width>=360px){.story-dice-actions:has(.story-dice-reroll):has(.story-dice-accept){grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.story-dice-refresh,.story-dice-roll{grid-column:1/-1}}@media (width<=420px){.story-dice-panel{padding:var(--space-16) var(--space-12) var(--space-12)}.story-dice-actions>button{width:100%}}@keyframes story-dice-settle{0%{opacity:.7;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.story-dice-result[data-outcome=success] .story-dice-d20,.story-dice-result[data-outcome=failure] .story-dice-d20,.story-dice-result[data-outcome=criticalSuccess] .story-dice-d20,.story-dice-result[data-outcome=criticalFailure] .story-dice-d20{animation:.48s cubic-bezier(.16,1,.3,1) story-dice-settle}.story-dice-panel[data-dice-static] .story-dice-d20{animation:none}@media (prefers-reduced-motion:reduce){.story-dice-result[data-outcome=success] .story-dice-d20,.story-dice-result[data-outcome=failure] .story-dice-d20,.story-dice-result[data-outcome=criticalSuccess] .story-dice-d20,.story-dice-result[data-outcome=criticalFailure] .story-dice-d20,.story-dice-roll:active:not(:disabled),.story-dice-reroll:active:not(:disabled),.story-dice-accept:active:not(:disabled){animation:none;transform:none}}.story-dice-theme-picker{gap:var(--space-8);min-width:0;display:grid}.story-dice-theme-list{gap:var(--space-8);display:grid}.story-dice-theme-card{align-items:center;gap:var(--space-8);min-height:var(--touch-target-min);padding:var(--space-8) var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.story-dice-theme-card[data-selected=true]{border-color:var(--color-accent-strong);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-strong)}.story-dice-theme-card:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.story-dice-theme-choice{align-items:center;gap:var(--space-10);cursor:pointer;min-width:0;display:flex}.story-dice-theme-choice input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.story-dice-theme-glyph{flex-shrink:0;width:1.75rem;height:1.85rem}.theme-glyph-body{stroke:none}.theme-glyph-edge{fill:none;stroke:color-mix(in srgb, var(--color-ink) 35%, var(--color-transparent));stroke-width:1px}.theme-glyph-default{fill:#d8dbe3}.theme-glyph-schoolDesk{fill:#3f7eb6}.theme-glyph-spaceExploration{fill:#8fd0ff}.theme-glyph-occult{fill:#8a4a86}.theme-glyph-butterPancake{fill:#f0c45a}.theme-glyph-romanticRose{fill:#641428}.story-dice-theme-label{font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.story-dice-theme-preview{min-height:var(--touch-target-min);padding-inline:var(--space-10);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);background:0 0;border:0}.story-dice-theme-preview:hover:not(:disabled){color:var(--color-accent-text-soft)}.story-dice-preview-dialog{inline-size:min(100%,28rem)}.story-dice-preview-head{gap:var(--space-12);margin-bottom:var(--space-12);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.story-dice-preview-head h2{margin:var(--space-0);font-size:1.125rem;line-height:var(--line-height-140)}.story-dice-preview-head p{margin:var(--space-6) var(--space-0) var(--space-0);color:var(--color-text-secondary);font-size:.875rem;line-height:var(--line-height-150)}.story-dice-preview-close{width:auto;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-12) var(--space-14);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-subtle);border-radius:var(--radius-14);font-size:.9375rem;font-weight:var(--font-weight-bold);cursor:pointer;justify-self:start}.story-dice-preview-close:hover:not(:disabled){border-color:var(--color-accent-strong);color:var(--color-accent-text-soft)}@media (width<=360px){.story-dice-preview-head{grid-template-columns:minmax(0,1fr)}}.speak-btn:hover{opacity:1}.chat-composer-stack{bottom:var(--space-0);z-index:var(--chat-budget-layer-composer);gap:var(--space-8);padding:var(--space-10) var(--space-0);background:var(--color-background);flex-direction:column;display:flex;position:sticky}.live-chat-panel{box-sizing:border-box;width:100%;min-width:0;min-height:var(--touch-target-min);max-height:clamp(var(--space-48), 3rem, var(--space-56));border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface);overflow:hidden}.live-chat-collapsed{align-items:center;gap:var(--space-8);box-sizing:border-box;width:100%;min-width:0;min-height:var(--touch-target-min);height:100%;padding:var(--space-0) var(--space-10);background:var(--color-transparent);color:var(--color-text);font:inherit;font-weight:var(--font-weight-semibold);text-align:start;cursor:pointer;border:0;display:flex}.live-chat-collapsed-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.live-dialog-head{align-items:flex-start;gap:var(--space-8);margin-bottom:var(--space-12);display:flex}.live-dialog-title{min-width:0;margin:var(--space-0);overflow-wrap:anywhere;font-size:var(--font-size-16);font-weight:var(--font-weight-semibold);line-height:var(--line-height-150);flex:auto}.live-dialog-close{box-sizing:border-box;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-0) var(--space-10);flex:none}.live-chat-body{overscroll-behavior:contain;min-height:0;max-height:min(70dvh,28rem);padding:var(--space-0) var(--space-4) var(--space-8);overflow:hidden auto}.live-chat-body:focus-visible{outline:var(--space-2) solid var(--color-focus);outline-offset:var(--space-3)}.live-chat-comments,.message-live-strip{gap:var(--space-4);min-width:0;display:grid}.message-live-strip{box-sizing:border-box;width:min(100%,42rem);margin-top:var(--space-6);padding:var(--space-8) var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface);align-self:flex-start}.message-live-strip-label{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-12);font-weight:var(--font-weight-semibold)}.live-comment{overflow-wrap:anywhere;min-width:0;line-height:var(--line-height-150)}.live-comment-name{font-weight:var(--font-weight-semibold)}.live-comment[data-live-nick="1"] .live-comment-name{color:var(--color-live-nick-1)}.live-comment[data-live-nick="2"] .live-comment-name{color:var(--color-live-nick-2)}.live-comment[data-live-nick="3"] .live-comment-name{color:var(--color-live-nick-3)}.live-comment[data-live-nick="4"] .live-comment-name{color:var(--color-live-nick-4)}.live-comment[data-live-nick="5"] .live-comment-name{color:var(--color-live-nick-5)}.live-comment[data-live-nick="6"] .live-comment-name{color:var(--color-live-nick-6)}.live-comment[data-live-nick="7"] .live-comment-name{color:var(--color-live-nick-7)}.live-comment[data-live-nick="8"] .live-comment-name{color:var(--color-live-nick-8)}.live-comment-tip{padding:var(--space-6) var(--space-8);border:1px solid var(--color-live-tip-border);border-radius:var(--radius-8);background:var(--color-live-tip-surface);color:var(--color-live-tip-text)}.live-comment-tip-title,.live-comment-body{margin:var(--space-0)}.live-comment-tip-title{font-weight:var(--font-weight-semibold)}.chat-error-banner{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-10) var(--space-12);border:1px solid var(--color-danger);border-radius:var(--radius-10);background:var(--color-danger-fill);flex-wrap:wrap;display:flex}.chat-error-banner .error{margin:var(--space-0);font-size:var(--font-size-13);overflow-wrap:anywhere}.chat-error-retry{background:var(--color-accent-strong);color:var(--color-accent-on);border-radius:var(--radius-pill);padding:var(--space-8) var(--space-16);cursor:pointer;font-weight:var(--font-weight-bold);min-height:var(--touch-target-min);border:none;flex-shrink:0}.chat-error-retry:disabled{opacity:.6;cursor:default}.chat-bgm-note{margin:var(--space-8) var(--space-0) var(--space-0)}.chat-input{gap:var(--space-8);padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-14);flex-wrap:wrap;align-items:center;display:flex;position:relative}.chat-input:focus-within{outline:2px solid var(--color-accent-strong);outline-offset:-1px;border-color:#0000}.chat-input textarea{width:100%;min-width:0;min-height:var(--touch-target-min);max-height:var(--chat-budget-composer-input-max);resize:none;font:inherit;line-height:var(--line-height-150);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-8);padding:var(--space-8);border:1px solid #0000;flex:100%;order:-1;overflow-y:auto}.chat-input textarea:focus{border-color:#0000;outline:none}.chat-input .chat-send-btn{background:var(--color-accent-strong);color:var(--color-accent-on);border-radius:var(--radius-10);padding:var(--space-0) var(--space-20);font-weight:var(--font-weight-bold);cursor:pointer;min-height:var(--touch-target-min);border:none;flex-shrink:0;margin-left:auto}.chat-input .chat-send-btn:disabled{opacity:.6;cursor:default}.chat-input .chat-input-icon-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-0);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-input .chat-input-icon-btn:hover:not(:disabled){color:var(--color-text);border-color:var(--color-accent-strong)}.chat-input .chat-input-icon-btn:disabled{opacity:.45;cursor:default}.chat-input .chat-input-tool-btn{gap:var(--space-6);padding-inline:var(--space-8);font-size:var(--font-size-13)}.chat-input-tool-icon{justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.chat-input-tool-label{white-space:nowrap}@media (width<=359px){.chat-input-tool-icon{display:none}}.chat-shortcut-picker{gap:var(--space-4);max-height:var(--chat-budget-readout-max);padding:var(--space-6);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface);flex-direction:column;display:flex;overflow-y:auto}.chat-shortcut-group{gap:var(--space-2);display:grid}.chat-shortcut-group-title{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.chat-shortcut-option{align-items:flex-start;gap:var(--space-2);text-align:start;width:100%;min-height:var(--touch-target-min);padding:var(--space-6) var(--space-10);border-radius:var(--radius-8);color:var(--color-text);cursor:pointer;background:0 0;border:none;flex-direction:column;display:flex}.chat-shortcut-option:hover:not(:disabled){background:var(--color-background)}.chat-shortcut-option-name{font-weight:var(--font-weight-bold)}.chat-shortcut-option-description{font-size:var(--font-size-13);color:var(--color-text-muted)}.chat-shortcut-chip{align-items:center;gap:var(--space-4);max-width:40%;padding:var(--space-4) var(--space-8);border:1px solid var(--color-accent-strong);border-radius:var(--radius-10);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-13);flex-shrink:0;display:inline-flex}.chat-shortcut-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-shortcut-chip-clear{color:var(--color-text-muted);cursor:pointer;padding:var(--space-0) var(--space-4);background:0 0;border:none}.bubble-shortcut-label{font-size:var(--font-size-13);color:var(--color-text-muted);margin-bottom:var(--space-2);display:block}.story-shortcut-name-row{align-items:center;gap:var(--space-6);display:flex}.story-shortcut-name-row>.login-field{flex:120px;min-width:96px}.story-shortcut-slash{color:var(--color-text-muted);font-weight:var(--font-weight-bold)}.saved-page{max-width:860px}:is(.saved-page,.voices-page) .topbar{align-items:center;gap:var(--space-8) var(--space-12);padding:var(--space-12) var(--space-0) var(--space-14);grid-template-columns:minmax(0,1fr) auto;display:grid}:is(.saved-page,.voices-page) .topbar>.back-link{font-size:var(--font-size-14);min-height:var(--touch-target-min);min-width:var(--touch-target-min);white-space:nowrap;grid-area:1/1;justify-self:start}:is(.saved-page,.voices-page) .topbar>.topbar-actions{justify-self:end;align-items:center;gap:var(--space-8);grid-area:1/2;display:inline-flex}:is(.saved-page,.voices-page) .topbar>h1{margin:var(--space-0);font-size:var(--font-size-20);line-height:var(--line-height-140);font-weight:var(--font-weight-bold);color:var(--color-text);overflow-wrap:anywhere;word-break:break-word;grid-area:2/1/auto/-1;width:100%;min-width:0}.saved-list{padding:var(--space-0);margin:var(--space-14) var(--space-0);border-top:1px solid var(--color-border-subtle);list-style:none}.saved-item{align-items:center;gap:var(--space-16);padding:var(--space-14) var(--space-0);border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto;display:grid}.saved-item-error{font-size:var(--font-size-13);grid-column:1/-1;margin:0}.saved-main{gap:var(--space-4);min-width:0;color:var(--color-text);text-decoration:none;display:grid}.saved-main>strong{font-size:var(--font-size-16);font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);color:var(--color-text);overflow-wrap:anywhere;word-break:break-word}.saved-main>span{color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-140)}.saved-preview{-webkit-line-clamp:2;text-overflow:ellipsis;overflow-wrap:anywhere;word-break:break-word;white-space:normal;line-height:var(--line-height-150);color:var(--color-text-secondary);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.saved-actions,.saved-detail-actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.saved-actions>button{min-height:var(--touch-target-min);padding:var(--space-8) var(--space-14);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.saved-delete[aria-disabled=true]{opacity:.6;cursor:default}.saved-delete{min-width:7em;min-height:var(--touch-target-min);padding:var(--space-8) var(--space-14)}.saved-empty{justify-items:start;gap:var(--space-8);padding:var(--space-32) var(--space-0);color:var(--color-text-muted);display:grid}.saved-list-skeleton,.saved-detail-skeleton{height:148px;margin:var(--space-14) var(--space-0);border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);background:repeating-linear-gradient(to bottom, var(--color-transparent) 0 48px, var(--color-border-subtle) 48px 49px);position:relative;overflow:hidden}.saved-list-skeleton:after,.saved-detail-skeleton:after{content:"";inset:var(--space-0);background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.3s infinite pcard-shine;position:absolute;transform:translate(-100%)}.saved-detail-meta{align-items:center;gap:var(--space-12);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-150);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.saved-detail-actions{margin:var(--space-14) var(--space-0)}.saved-detail-actions>button{min-height:var(--touch-target-min);padding:var(--space-8) var(--space-16);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.saved-restore{color:var(--color-accent-strong);border-color:var(--color-accent)}.saved-restore:disabled{color:var(--color-text-muted);border-color:var(--color-border-subtle);opacity:.6}.saved-detail-actions .muted-note{width:100%;color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-150);margin-top:var(--space-2)}.saved-transcript{gap:var(--space-12);padding:var(--space-16) var(--space-0) var(--space-32);border-top:1px solid var(--color-border-subtle);margin-top:var(--space-8);flex-direction:column;display:flex}.saved-transcript .msg{width:100%;min-width:0;display:flex}.saved-transcript .msg.user{justify-content:flex-end}.saved-transcript .bubble{min-width:0;max-width:82%;padding:var(--space-10) var(--space-14);font-size:var(--font-size-16);line-height:var(--line-height-165);overflow-wrap:anywhere;word-break:break-word}@media (width>=768px){.saved-transcript .bubble{max-width:72%}}.saved-operation-status{font-size:var(--font-size-13);color:var(--color-text-muted);margin:var(--space-8) var(--space-0)}.saved-load-error{gap:var(--space-12);padding:var(--space-16) var(--space-0);display:grid}.saved-load-error p{margin:var(--space-0);color:var(--color-danger-text);font-size:var(--font-size-14);line-height:var(--line-height-150);overflow-wrap:anywhere;word-break:break-word}.saved-load-error>button{width:fit-content;min-height:var(--touch-target-min);padding:var(--space-8) var(--space-20);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold)}.saved-pagination{justify-items:center;gap:var(--space-12);padding:var(--space-16) var(--space-0);display:grid}.saved-pagination>button{min-height:var(--touch-target-min);padding:var(--space-8) var(--space-20)}.saved-pagination [aria-disabled=true]{cursor:wait}.saved-rename-dialog{max-width:480px}.saved-rename-form{gap:var(--space-12);display:grid}.saved-rename-form h2{margin:var(--space-0);font-size:var(--font-size-17);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--line-height-140)}.saved-rename-form label{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);display:block}.saved-rename-form input{width:100%;min-height:var(--touch-target-min);padding:var(--space-8) var(--space-12);border:1px solid var(--color-border-default);border-radius:var(--radius-10);background:var(--color-field-surface);color:var(--color-text);font-size:var(--font-size-16);line-height:var(--line-height-150)}.saved-rename-form input:focus-visible{outline:var(--space-2) solid var(--color-focus);outline-offset:var(--space-2);border-color:var(--color-accent-strong)}.saved-rename-form [role=alert]{margin:var(--space-0);color:var(--color-danger-text);font-size:var(--font-size-13);line-height:var(--line-height-150);overflow-wrap:anywhere;word-break:break-word}.saved-rename-actions{justify-content:flex-end;align-items:center;gap:var(--space-8);margin-top:var(--space-4);display:flex}.saved-rename-actions>button{min-height:var(--touch-target-min);padding:var(--space-8) var(--space-16);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold)}@media (width<=480px){.saved-rename-actions{gap:var(--space-8);flex-direction:column}.saved-rename-actions>button{justify-content:center;width:100%}}@media (width<=767px){.saved-item{gap:var(--space-10);grid-template-columns:1fr}.saved-actions{width:100%}.saved-actions>button{min-height:var(--touch-target-min);flex:1;justify-content:center}.bookmark-list li{gap:var(--space-4);grid-template-columns:1fr}.chat-profile-selector{grid-template-columns:1fr;align-items:start}.chat-profile-control{flex-direction:column;align-items:stretch}.chat-profile-control select{width:100%;max-width:none}}@media (prefers-reduced-motion:reduce){.saved-list-skeleton:after,.saved-detail-skeleton:after,.profiles-skeleton:after{animation:none}}.detail-name{margin:var(--space-12) var(--space-0) var(--space-4)}.detail-short{color:var(--color-text-muted)}.detail-long{line-height:var(--line-height-170);color:var(--color-text-secondary);white-space:pre-wrap}.recs-strip{gap:var(--space-8);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.rec-chip{color:var(--color-text);align-items:center;gap:var(--space-8);min-width:var(--touch-target-min);min-height:var(--touch-target-min);text-decoration:none;display:inline-flex}.settings-group{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-14);margin:var(--space-14) var(--space-0)}.admin-registration{max-width:680px}.admin-registration-intro{color:var(--color-text-muted);line-height:var(--line-height-160)}.admin-registration-stats{gap:var(--space-12);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.admin-registration-stats>div{gap:var(--space-4);display:grid}.admin-registration-stats span{color:var(--color-text-muted);font-size:var(--font-size-13)}.admin-registration-stats strong{font-size:var(--font-size-24)}.admin-registration-form{gap:var(--space-10);display:grid}.admin-registration-warning{color:var(--color-danger-text);margin:0}.setting-row{justify-content:space-between;align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-0);display:flex}.setting-row+.setting-row{border-top:1px solid var(--color-border-subtle)}.setting-row select{background:var(--color-field-surface);color:var(--color-text);border:1px solid var(--color-border-default);border-radius:var(--radius-8);padding:var(--space-8) var(--space-10)}.setting-row.toggle{justify-content:flex-start}.age-gate-card .setting-row{padding-top:var(--space-0)}.age-gate-actions{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.account-card .setting-row{padding-top:var(--space-0);gap:var(--space-8)}.account-email{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);overflow-wrap:anywhere;text-align:right}.account-actions{gap:var(--space-8);display:grid}.account-actions .btn{margin:var(--space-0)}.account-actions .btn.account-leave{color:var(--color-danger-text)}.account-dialog-copy{font-size:var(--font-size-14);line-height:var(--line-height-150);margin:var(--space-0) var(--space-0) var(--space-10)}.account-leave-list{margin:var(--space-0) var(--space-0) var(--space-10);padding-left:var(--space-20);font-size:var(--font-size-14);line-height:var(--line-height-150)}.account-leave-list li+li{margin-top:var(--space-4)}.age-gate-ask-copy{font-size:var(--font-size-14);line-height:var(--line-height-150);margin:var(--space-0) var(--space-0) var(--space-10)}.age-gate-choice{gap:var(--space-8);display:grid}.age-gate-choice .btn{box-sizing:border-box;margin:var(--space-0);text-align:center;justify-content:center;align-items:center;text-decoration:none;display:flex}.age-gate-block-copy{font-size:var(--font-size-14);line-height:var(--line-height-150)}.age-gate-block-actions{gap:var(--space-8);margin-top:var(--space-16);display:grid}.age-gate-block-actions .btn{box-sizing:border-box;margin:var(--space-0);text-align:center;justify-content:center;align-items:center;text-decoration:none;display:flex}.settings-note{color:var(--color-text-muted);font-size:var(--font-size-13)}.app-version{color:var(--color-text-muted);font-size:var(--font-size-13);margin:var(--space-16) var(--space-0) var(--space-4);text-align:center}.error-report-entry{padding:var(--space-0)}.admin-registration-link{color:var(--color-text);min-height:var(--touch-target-min);padding:var(--space-14);text-decoration:none}.error-report-flow{display:contents}.error-report-trigger{width:100%;min-height:var(--touch-target-min);padding:var(--space-14);background:var(--color-transparent);color:var(--color-text);font:inherit;cursor:pointer;border:0}.error-report-panel{margin:var(--space-0) var(--space-14) var(--space-14)}.error-report-consent{align-items:flex-start;gap:var(--space-8);margin-top:var(--space-12);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-150);display:flex}.plans h1{margin-top:var(--space-20)}.paused-note{color:var(--color-warning);font-size:var(--font-size-13)}.limit-status-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-14);margin:var(--space-14) var(--space-0)}.limit-status-head{justify-content:space-between;align-items:center;gap:var(--space-12);margin-bottom:var(--space-10);display:flex}.limit-status-head h2,.limit-status-head h3{margin:var(--space-0);font-size:var(--font-size-18)}.limit-status-head span{color:var(--color-text-muted);font-size:var(--font-size-13);text-transform:uppercase}.points-summary{background:var(--color-surface-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-10);padding:var(--space-10) var(--space-12);margin-bottom:var(--space-10)}.points-summary p{margin:var(--space-0)}.points-summary-line{justify-content:space-between;align-items:baseline;gap:var(--space-8);flex-wrap:wrap;display:flex}.points-summary-line strong{font-size:var(--font-size-15)}.points-summary-line span{color:var(--color-text-muted);font-size:var(--font-size-13)}.points-summary-shortfall{color:var(--color-text-secondary);font-size:var(--font-size-13);margin-top:var(--space-6)}.limit-status-list{gap:var(--space-8);display:grid}.limit-status-row{justify-content:space-between;align-items:center;gap:var(--space-12);border:1px solid var(--color-border-default);border-radius:var(--radius-10);padding:var(--space-10) var(--space-12);display:flex}.limit-status-row.blocked{border-color:var(--color-overage-border);background:var(--color-overage-fill)}.limit-status-main,.limit-status-meta{align-items:center;gap:var(--space-8);display:flex}.limit-status-main strong{min-width:var(--space-0);overflow-wrap:anywhere;white-space:normal;word-break:keep-all}.limit-status-meta{color:var(--color-card-description);font-size:var(--font-size-13);flex-wrap:wrap;justify-content:flex-end}.limit-reason{border-radius:var(--radius-pill);background:var(--color-success-fill);color:var(--color-success-text-strong);font-size:var(--font-size-12);font-weight:var(--font-weight-bold);padding:var(--space-2) var(--space-8)}.limit-reason.blocked{background:var(--color-warning-fill);color:var(--color-warning-text-strong)}@media (width<=480px){.limit-status-row{align-items:stretch;gap:var(--space-8);flex-direction:column}.limit-status-main{flex-wrap:wrap}.limit-status-meta{justify-content:space-between}}.plans-controls{justify-content:space-between;gap:var(--space-12);margin:var(--space-16) var(--space-0) var(--space-12);flex-wrap:wrap;display:flex}.plans-segmented{border:1px solid var(--color-border-default);border-radius:var(--radius-pill);padding:var(--space-3);background:var(--color-surface);display:inline-flex}.plans-segmented button{border-radius:var(--radius-pill);background:var(--color-transparent);color:var(--color-text-muted);cursor:pointer;min-height:var(--touch-target-min);padding:var(--space-8) var(--space-14);border:0}.plans-segmented button.active{background:var(--color-accent-strong);color:var(--color-accent-on);font-weight:var(--font-weight-bold)}.billing-notice-banner{box-sizing:border-box;width:100%;max-width:100%;padding:var(--space-12) var(--space-14);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);box-shadow:var(--elevation-sheet);position:relative}.billing-notice-banner.billing_overage{border-color:var(--color-overage-border)}.billing-notice-head,.billing-notice-usage{align-items:center;gap:var(--space-12);display:flex}.billing-notice-head{justify-content:space-between;gap:var(--space-8)}.billing-notice-head h2{margin:var(--space-0);font-size:var(--font-size-16);line-height:var(--line-height-150);overflow-wrap:anywhere}.billing-notice-banner p{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-13);overflow-wrap:anywhere}.billing-notice-usage{margin:var(--space-10) var(--space-0) var(--space-8);flex-wrap:wrap}.billing-notice-usage strong{margin-left:var(--space-auto);font-size:var(--font-size-18)}.billing-notice-usage b{color:var(--color-warning)}.billing-notice-action{margin-top:var(--space-10);text-align:center;display:block}@media (width<=390px){.billing-notice-banner{padding:var(--space-10) var(--space-12)}.billing-notice-usage strong{font-size:var(--font-size-16)}}.tier-grid{gap:var(--space-12);grid-template-columns:repeat(2,1fr);display:grid}.tier{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-16);text-align:center}.tier-summary{color:var(--color-text-muted)}.tier-feats{margin:var(--space-12) var(--space-0);padding:var(--space-0);gap:var(--space-6);font-size:var(--font-size-14);line-height:var(--line-height-150);list-style:none;display:grid}.tier-feats li{line-break:strict}@media (width<=390px){.tier{padding:var(--space-12)}.tier-feats{font-size:var(--font-size-13)}}.notice{color:var(--color-accent-strong)}.memory-list{padding:var(--space-0);margin:var(--space-12) var(--space-0);gap:var(--space-8);flex-direction:column;list-style:none;display:flex}.memory-item{align-items:center;gap:var(--space-10);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-10) var(--space-14);flex-wrap:wrap;display:flex}.memory-kind{color:var(--color-text-muted);font-size:var(--font-size-13);min-width:84px}.memory-value,.memory-edit{align-items:center;gap:var(--space-10);flex-wrap:wrap;flex:1;display:inline-flex}.memory-section-title{font-size:var(--font-size-14);color:var(--color-text-muted);margin:var(--space-20) var(--space-0) var(--space-0)}.memory-group .memory-list{margin-top:var(--space-8)}.memory-story-summary{margin-top:var(--space-12)}.memory-story-summary-text{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-10) var(--space-14);margin:var(--space-8) var(--space-0) var(--space-0);line-height:var(--line-height-160)}.memory-origin-tag{color:var(--color-text-muted);font-size:var(--font-size-13);margin:var(--space-6) var(--space-0) var(--space-0)}.memory-input{background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);padding:var(--space-6) var(--space-10);flex:1;min-width:140px}.memory-erase{margin-top:var(--space-28);padding-top:var(--space-16);border-top:1px solid var(--color-border-subtle)}.danger-btn{background:var(--color-danger-surface);color:var(--color-danger-text);border:1px solid var(--color-danger-border);border-radius:var(--radius-pill);padding:var(--space-8) var(--space-16);cursor:pointer;font-weight:var(--font-weight-bold);min-height:var(--touch-target-min)}.danger-btn:disabled{opacity:.6;cursor:default}.memory-erase-overlay{background:var(--color-black-alpha-72)}.memory-erase-confirm{background:var(--color-danger-surface-strong);border-color:var(--color-danger-border)}.memory-erase-title{color:var(--color-danger-text);font-weight:var(--font-weight-bold);margin:var(--space-0) var(--space-0) var(--space-8)}.memory-erase-body{color:var(--color-text);margin:var(--space-0) var(--space-0) var(--space-14);line-height:var(--line-height-160)}.memory-erase-actions{gap:var(--space-10);flex-wrap:wrap;display:flex}.legal-page{max-width:760px;margin:var(--space-0) var(--space-auto);padding:var(--space-20) var(--space-16) var(--space-48)}.legal-page .back-link{color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-13);padding:var(--space-6) var(--space-0);background:0 0;border:none;display:inline-flex}.legal-status{color:var(--color-text-muted)}.legal-doc{color:var(--color-text);line-height:var(--line-height-175)}.legal-doc h1{font-size:var(--font-size-20);margin:var(--space-8) var(--space-0) var(--space-16)}.legal-doc h2{font-size:var(--font-size-15);margin:var(--space-24) var(--space-0) var(--space-8)}.legal-doc p{margin:var(--space-10) var(--space-0)}.legal-doc ul{margin:var(--space-8) var(--space-0);padding-left:var(--space-20)}.legal-doc li{margin:var(--space-4) var(--space-0)}.legal-doc strong{color:var(--color-text)}.login-legal-links{font-size:var(--font-size-12);margin-top:var(--space-4)}.btn-link{padding:var(--space-0);color:var(--color-accent-strong);cursor:pointer;font-size:var(--font-size-12);min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:0 0;border:none;justify-content:center;align-items:center;text-decoration:underline;display:inline-flex}.standalone-text-action{min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;display:inline-flex}.invite-page{max-width:760px;min-height:100dvh;margin:var(--space-0) var(--space-auto);padding:var(--space-0) var(--space-16) var(--space-56)}.invite-topbar{padding:var(--space-16) var(--space-0);justify-content:space-between;align-items:center;display:flex}.invite-shell{width:min(100%,560px);margin:clamp(var(--space-24), 8vh, var(--space-72)) var(--space-auto) var(--space-0)}.invite-heading{gap:var(--space-5);margin-bottom:var(--space-28);display:grid}.invite-heading h1{margin:var(--space-0);font-size:var(--font-size-display);letter-spacing:var(--letter-spacing-tight)}.invite-kicker{margin:var(--space-0);color:var(--color-accent-strong);font-size:var(--font-size-12);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-wide)}.invite-character{width:min(100%,320px);margin:var(--space-0) var(--space-auto);border:1px solid var(--color-border-invite);border-radius:var(--radius-18);background:var(--color-surface);overflow:hidden}.invite-character img,.invite-character-fallback{aspect-ratio:1;object-fit:cover;background:var(--color-surface-subtle);width:100%;display:block}.invite-character-fallback{color:var(--color-black-alpha-46);font-size:var(--font-size-72);font-weight:var(--font-weight-extrabold);place-items:center;display:grid}.invite-character h2{margin:var(--space-0);padding:var(--space-17) var(--space-18) var(--space-19);font-size:var(--font-size-20);overflow-wrap:anywhere}.invite-actions{width:min(100%,380px);margin:var(--space-22) var(--space-auto) var(--space-0);text-align:center}.invite-actions>p{color:var(--color-text-muted);line-height:var(--line-height-160)}.invite-claim:active,.invite-copy:active{transform:translateY(1px)}.invite-inline-error{font-size:var(--font-size-13);color:var(--color-danger-text)!important}.invite-status{padding:var(--space-28) var(--space-0);border-block:1px solid var(--color-border-invite)}.invite-status h2{margin:var(--space-0) var(--space-0) var(--space-8);font-size:var(--font-size-20)}.invite-status p{margin:var(--space-0);color:var(--color-text-muted);line-height:var(--line-height-165)}.invite-skeleton{aspect-ratio:1/1.2;width:min(100%,320px);margin:var(--space-0) var(--space-auto);border:1px solid var(--color-border-subtle);border-radius:var(--radius-18);background:var(--color-skeleton);position:relative;overflow:hidden}.invite-skeleton:after{content:"";inset:var(--space-0);background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.3s infinite pcard-shine;position:absolute;transform:translate(-100%)}.character-invite-panel{gap:var(--space-10);margin:var(--space-12) var(--space-0);padding:var(--space-14);border:1px solid var(--color-border-invite);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.character-invite-panel h2{margin:var(--space-0);font-size:var(--font-size-17)}.character-invite-panel p{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-155)}.invite-link-row{gap:var(--space-8);grid-template-columns:minmax(0,1fr) auto;display:grid}.invite-link-row .login-field{margin:var(--space-0)}.invite-copy{width:auto;margin:var(--space-0);padding-inline:var(--space-18)}.invite-expiry{font-size:var(--font-size-12)!important}.invite-owner-error{color:var(--color-danger-text)!important}.invite-reader-grants{gap:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border-invite);display:grid}.invite-reader-grants h3{margin:var(--space-0);font-size:var(--font-size-15)}.invite-reader-grants ul{gap:var(--space-8);margin:var(--space-0);padding:var(--space-0);list-style:none;display:grid}.invite-reader-grants li{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}.invite-reader-grants .danger-btn{width:auto;margin:var(--space-0)}.invite-claimed-notice{margin:var(--space-12) var(--space-0);padding:var(--space-11) var(--space-14);color:var(--color-success-text-strong);background:var(--color-success-surface);border:1px solid var(--color-success-border);border-radius:var(--radius-10);font-size:var(--font-size-13)}@media (width<=480px){.invite-shell{margin-top:var(--space-18)}.invite-link-row{grid-template-columns:1fr}.invite-copy{width:100%}}@media (prefers-reduced-motion:reduce){.invite-skeleton:after{animation:none}}.login-scope-notice{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-160);margin:var(--space-10) var(--space-0) var(--space-4);padding:var(--space-8) var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);background:var(--color-surface-subtle)}.chat-disclosure{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-160);text-align:center;margin:var(--space-4) var(--space-auto) var(--space-12);max-width:90%}.lorebooks-page,.lorebook-detail{gap:var(--space-18);align-content:start;display:grid}.lorebooks-tabs{gap:var(--space-8);flex-wrap:wrap;display:flex}.lorebooks-tab{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-8) var(--space-14);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.lorebooks-tab.active{background:var(--color-accent-strong);color:var(--color-accent-on)}.lorebooks-search{gap:var(--space-8);display:flex}.lorebooks-search input{border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface-subtle);min-width:0;color:var(--color-text);padding:var(--space-10);font:inherit;flex:1}.lorebooks-list{padding:var(--space-0);margin:var(--space-0);border-top:1px solid var(--color-border-subtle);list-style:none}.lorebook-row{align-items:center;gap:var(--space-18);padding:var(--space-14) var(--space-0);border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto;display:grid}.lorebook-visibility{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-8);background:var(--color-chip);color:var(--color-accent-text-soft);font-size:var(--font-size-11);font-weight:var(--font-weight-bold)}.lorebooks-generate-row{align-items:center;gap:var(--space-10);flex-wrap:wrap;display:flex}.profile-form select,.character-lorebooks-attach select{box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface-subtle);width:100%;color:var(--color-text);padding:var(--space-10);font:inherit}.lorebook-entries-title{margin:var(--space-0);font-size:var(--font-size-18)}.lorebook-entry-list{padding:var(--space-0);margin:var(--space-0);gap:var(--space-10);list-style:none;display:grid}.lorebook-entry{gap:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-12) var(--space-14);display:grid}.lorebook-entry[draggable=true]{cursor:grab}.lorebook-entry[draggable=true]:active{cursor:grabbing}.lorebook-entry.dragging{opacity:.55}.lorebook-entry .profile-form{padding:var(--space-0);background:0 0;border:none}.lorebook-entry-head{justify-content:space-between;align-items:flex-start;gap:var(--space-8);flex-wrap:wrap;display:flex}.lorebook-entry-keys,.lorebook-entry-badges{gap:var(--space-6);flex-wrap:wrap;display:flex}.lorebook-badge{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-8);background:var(--color-chip);color:var(--color-text-muted);font-size:var(--font-size-11);font-weight:var(--font-weight-semibold)}.lorebook-entry-content{margin:var(--space-0);color:var(--color-text);font-size:var(--font-size-13);line-height:var(--line-height-155);white-space:pre-wrap;overflow-wrap:anywhere}.lorebook-entry-form-actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.lorebook-entry-actions{justify-content:space-between;align-items:center;gap:var(--space-10);flex-wrap:wrap;display:flex}.lorebook-entry-reorder{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.lorebook-entry-move{min-width:var(--touch-target-min);min-height:var(--touch-target-min);white-space:nowrap;box-sizing:border-box;flex:none}.lorebook-icon-btn{justify-content:center;align-items:center;gap:var(--space-6);padding:var(--space-6);display:inline-flex}.lorebook-entry-assist,.lorebook-assist-instruction{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.lorebook-assist-instruction input{min-width:min(22rem,70vw)}.lorebook-gap-control{justify-items:start;gap:var(--space-8);margin-top:var(--space-14);display:grid}.lorebook-gap-proposals{gap:var(--space-10);margin-top:var(--space-14);padding:var(--space-14);border:1px dashed var(--color-border-strong);border-radius:var(--radius-12);background:var(--color-surface-subtle);display:grid}.lorebook-gap-proposals h3{margin:var(--space-0);font-size:var(--font-size-16)}.lorebook-gap-proposal-list{padding:var(--space-0);margin:var(--space-0);gap:var(--space-10);list-style:none;display:grid}.lorebook-gap-proposal{gap:var(--space-8);padding:var(--space-12) var(--space-14);border:1px dashed var(--color-success-border);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.lorebook-gap-proposal .lorebook-entry-head>div{gap:var(--space-6);display:grid}.lorebook-gap-proposal .profile-form{padding:var(--space-0);background:0 0;border:none}.lorebook-proposal-badge{background:var(--color-success-surface);color:var(--color-success-text)}.lorebook-gap-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.lorebook-import{gap:var(--space-10);margin-bottom:var(--space-14);display:grid}.lorebook-import-form,.lorebook-import-report{gap:var(--space-8);display:grid}.lorebook-import-report{padding:var(--space-12) var(--space-14);border:1px solid var(--color-border-strong);border-radius:var(--radius-12);background:var(--color-surface-subtle)}.lorebook-import-report p,.lorebook-import-report h3,.lorebook-import-report ul{margin:var(--space-0)}.lorebook-source-form{gap:var(--space-10);display:grid}.lorebook-source-form>p{margin:var(--space-0)}.lorebook-source-textarea{resize:vertical;min-height:18rem}.lorebook-source-failure{gap:var(--space-8);padding:var(--space-12) var(--space-14);border:1px solid var(--color-warning-border);border-radius:var(--radius-12);background:var(--color-warning-fill);display:grid}.lorebook-source-failure p{margin:var(--space-0)}.lorebook-drag-handle{color:var(--color-text-muted);font-size:var(--font-size-18);-webkit-user-select:none;user-select:none;cursor:grab;line-height:1}.lorebook-usage{gap:var(--space-8);display:grid}.lorebook-usage-list{padding:var(--space-0);margin:var(--space-0);gap:var(--space-8);flex-wrap:wrap;list-style:none;display:flex}.lorebook-usage-list a{min-height:var(--touch-target-min);padding:var(--space-6) var(--space-10);border-radius:var(--radius-10);background:var(--color-surface-subtle);color:var(--color-text);align-items:center;display:inline-flex}.lorebook-usage-work{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.lorebook-person{gap:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-12) var(--space-14);display:grid}.lorebook-person-head{align-items:flex-start;gap:var(--space-10);flex-wrap:wrap;display:flex}.lorebook-person-head>div{flex:1;min-width:0}.lorebook-person-image,.lorebook-person-fallback{border-radius:var(--radius-10);object-fit:cover;background:var(--color-surface-subtle);flex:none;width:4.5rem;height:4.5rem}.lorebook-person-fallback{color:var(--color-text-muted);font-weight:var(--font-weight-bold);font-size:var(--font-size-18);place-items:center;display:grid}.lorebook-person-image-row{align-items:center;gap:var(--space-10);flex-wrap:wrap;display:flex}.lorebook-assist-controls{gap:var(--space-8);flex-direction:column;display:flex}.lorebook-assist-actions{gap:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.lorebook-person-image-picker .lorebooks-tabs{margin-top:var(--space-12)}@media (width<=640px){.lorebook-person-image-row{align-items:stretch}.lorebook-person-image-row .lorebook-entry-form-actions{width:100%}}.lorebook-history{margin-top:var(--space-0)}.character-world-section{margin-top:var(--space-16);padding-top:var(--space-14);border-top:1px solid var(--color-border-subtle)}.character-world-head{gap:var(--space-8);display:grid}.character-world-head .create-editor-heading{margin-top:var(--space-0)}.character-world-book-name,.character-world-links,.character-world-rename,.character-world-picker{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.character-world-book-name{justify-content:space-between}.character-world-links>a{min-height:var(--touch-target-min);align-items:center;display:inline-flex}.character-world-links input{min-width:min(24rem,80vw)}.character-world-picker{flex-direction:column;align-items:stretch}.character-world-picker-list,.source-book-picker-list,.story-source-list,.story-source-picker-list{padding:var(--space-0);margin:var(--space-0);gap:var(--space-8);max-block-size:min(50dvh,24rem);list-style:none;display:grid;overflow:auto}.character-world-picker-list{max-block-size:none;overflow:visible}.character-world-picker-list button{justify-content:flex-start;width:100%}.source-book-picker-head,.story-source-head,.character-world-picker-head,.story-source-picker-head{justify-content:space-between;align-items:flex-start;gap:var(--space-8);flex-wrap:wrap;display:flex}.source-book-picker-head h2,.story-source-head h2,.character-world-picker-head h2,.story-source-picker-head h2{margin:var(--space-0);font-size:var(--font-size-16);overflow-wrap:anywhere}.source-book-picker-tabs,.story-source-tabs,.character-world-picker-tabs{gap:var(--space-8);flex-wrap:wrap;display:flex}.source-book-picker-search,.story-source-search,.character-world-picker-search{gap:var(--space-8);align-items:center;display:flex}.source-book-picker-search input,.story-source-search input,.character-world-picker-search input{border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface-subtle);min-width:0;color:var(--color-text);padding:var(--space-10);font:inherit;flex:1}.source-book-picker-list button,.story-source-list button,.story-source-picker-list button,.source-book-picker-book button,.story-source-book button{width:100%;min-height:var(--touch-target-min);overflow-wrap:anywhere;justify-content:flex-start}.source-book-picker-book,.story-source-book{gap:var(--space-8);max-block-size:min(50dvh,24rem);display:grid;overflow:auto}.source-book-picker-book strong,.source-book-picker-book [role=status],.story-source-book strong,.story-source-book [role=status]{overflow-wrap:anywhere}@media (width<=320px){.source-book-picker-head,.story-source-head,.character-world-picker-head,.story-source-picker-head{flex-direction:column;align-items:stretch}.source-book-picker-head .btn,.story-source-head .btn,.story-source-picker-head .btn,.source-book-picker-list button,.story-source-list button,.story-source-picker-list button,.source-book-picker-book button,.story-source-book button{width:100%}}.character-lorebooks{gap:var(--space-10);margin-top:var(--space-18);padding-top:var(--space-14);border-top:1px solid var(--color-border-subtle);display:grid}.character-lorebooks-list{padding:var(--space-0);margin:var(--space-0);gap:var(--space-8);list-style:none;display:grid}.character-lorebooks-list li{justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.character-lorebooks-list a{color:var(--color-text);font-weight:var(--font-weight-semibold)}.character-lorebooks-attach{gap:var(--space-7);display:grid}@media (width<=767px){.lorebook-row{grid-template-columns:1fr}}.chat-disclosure-persistent{margin:var(--space-0) var(--space-auto) var(--space-8);font-size:var(--font-size-11);align-self:center}.chat-play-guide{gap:var(--space-8);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.chat-play-guide-title{cursor:pointer;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:var(--color-text);list-style:none}.chat-play-guide-title::-webkit-details-marker{display:none}.chat-play-guide-body{margin:var(--space-0);font-size:var(--font-size-13);line-height:var(--line-height-160);color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}:root{--chat-budget-log-min:200px;--chat-budget-hud-max:4.5rem;--chat-budget-readout-max:3.5rem;--chat-budget-notice-max:3.5rem;--chat-budget-composer-input-max:160px;--chat-budget-sheet-inset:16px;--chat-budget-layer-content:0;--chat-budget-layer-composer:2;--chat-budget-layer-sheet:1000}.chat-shell{min-width:0;display:block}.chat-surface-main{min-width:0}.chat-settings-overlay{z-index:var(--chat-budget-layer-sheet)}.chat-settings-sheet{max-height:calc(100dvh - 2 * var(--chat-budget-sheet-inset));overflow:auto}.chat-settings-sheet .chat-settings-body{margin-top:var(--space-14)}@media (width<=1023px){.app.detail.chat-surface{--chat-budget-composer-input-max:3.5rem;height:100dvh;min-height:0;max-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.chat-surface .topbar{padding-block:var(--space-4)}.chat-surface .cover{display:none}.chat-surface-main{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.chat-surface .chat-shell{flex:auto;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.chat-surface .chat-main-head{grid-row:1;min-height:0;overflow:visible}.chat-surface .chat-side-panel{grid-row:2;margin:0;overflow:visible}.chat-surface .chat-main-log{grid-template:"notices""soundtrack""hud"max-content"readout""log"minmax(0,1fr)"extras""alerts""composer"/minmax(0,1fr);min-width:0;min-height:0;display:grid}:is(.chat-surface .chat-main-log:has(>.chat-composer-stack .sudden-event-intro),.chat-surface .chat-main-log:has(>.chat-composer-stack .sudden-event-result)){grid-template-rows:auto auto max-content auto minmax(0,4.5rem) auto auto minmax(16rem,1fr)}.chat-surface .chat-main-log>.chat-log-notices{grid-area:notices}.chat-surface .chat-main-log>.story-soundtrack-bar{grid-area:soundtrack}.chat-surface .chat-main-log>.story-hud{grid-area:hud}.chat-surface .chat-main-log>.chat-story-readout{grid-area:readout}.chat-surface .chat-main-log>.chat-log{grid-area:log}.chat-surface .chat-main-log>.chat-log-extras{grid-area:extras}.chat-surface .chat-main-log>.chat-action-notices{grid-area:alerts}.chat-surface .chat-main-log>.chat-composer-stack{grid-area:composer}.chat-surface .chat-main-log .chat-log{height:100%;min-height:0;max-height:none;z-index:var(--chat-budget-layer-content)}.chat-story-readout,.chat-log-notices,.chat-log-extras{max-height:var(--chat-budget-readout-max);overflow-wrap:anywhere;min-width:0;overflow:auto}.chat-action-notices{max-height:var(--chat-budget-notice-max);overflow-wrap:anywhere;min-width:0;overflow:auto}.chat-action-notices .chat-error-banner,.chat-action-notices .story-play-resume-error{padding:var(--space-4) var(--space-8);align-items:center;gap:var(--space-4);flex-wrap:nowrap;max-height:100%}.chat-action-notices .chat-error-banner .error,.chat-action-notices .story-play-resume-error .error{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-action-notices .chat-error-retry{padding:var(--space-4) var(--space-10)}.chat-story-readout:empty,.chat-log-notices:empty,.chat-log-extras:empty,.chat-action-notices:empty{height:0}.chat-composer-stack{min-height:0;padding-block:var(--space-4);position:relative}.chat-composer-stack .sudden-event-play{flex:auto;min-height:0;overflow:auto}:is(.chat-composer-stack:has(.sudden-event-intro),.chat-composer-stack:has(.sudden-event-result)){overflow:auto}:is(.chat-composer-stack:has(.sudden-event-intro) .sudden-event-play,.chat-composer-stack:has(.sudden-event-result) .sudden-event-play){flex:auto;min-height:min-content;overflow:visible}:is(.chat-composer-stack:has(.sudden-event-intro) .sudden-event-card,.chat-composer-stack:has(.sudden-event-result) .sudden-event-card){max-height:none;overflow:visible}.chat-composer-stack .sudden-event-start,.chat-composer-stack .sudden-event-continue{position:static}}.chat-side-panel{gap:var(--space-14);margin:var(--space-14) var(--space-0);flex-direction:column;display:flex}.chat-side-panel>.chat-actions,.chat-side-panel>.chat-tier-selector,.chat-side-panel>.chat-profile-selector,.chat-side-panel>.chat-save-panel,.chat-side-panel>.bookmark-panel{margin:var(--space-0)}.chat-side-panel .chat-profile-selector{grid-template-columns:1fr;align-items:start}.chat-side-panel .chat-profile-control{flex-direction:column;align-items:stretch}.chat-side-panel .chat-profile-control select{width:100%;max-width:none}.chat-side-panel .chat-actions{flex-direction:column;align-items:stretch}.chat-side-panel .chat-actions button,.chat-side-panel .chat-action-link{width:100%}.chat-panel-title{font-size:var(--font-size-16);margin:var(--space-0)}@media (width<=767px){.chat-surface .chat-input-tool-label{display:none}.chat-surface .chat-input-tool-icon{display:inline-flex}}@media (width>=768px){.chat-header-overflow-actions{display:none}}.chat-settings-body{gap:var(--space-14);flex-direction:column;display:none}.chat-settings-body.open{display:flex}.chat-panel-title-text{display:none}.chat-settings-toggle{justify-content:space-between;align-items:center;gap:var(--space-8);width:100%;min-height:var(--touch-target-min);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;display:flex}.chat-settings-toggle:after{content:"▾";color:var(--color-text-muted)}.chat-settings-toggle[aria-expanded=true]:after{content:"▴"}@media (width<=767px){.chat-surface .chat-shell{position:relative}.chat-surface .chat-main-head .detail-head{padding-inline-end:calc(var(--touch-target-min) + var(--space-8))}.chat-surface .chat-side-panel{z-index:var(--chat-budget-layer-composer);width:var(--touch-target-min);position:absolute;inset-block-start:var(--space-8);inset-inline-end:var(--space-0)}.chat-surface .chat-side-panel .chat-panel-title{width:100%}.chat-surface .chat-settings-toggle{width:var(--touch-target-min);min-width:var(--touch-target-min);height:var(--touch-target-min);padding:var(--space-0);justify-content:center}.chat-settings-label{display:none}.chat-settings-toggle:after,.chat-settings-toggle[aria-expanded=true]:after{content:"⋯"}}.chat-panel-heading{font-size:var(--font-size-14);margin:var(--space-0) var(--space-0) var(--space-8)}.chat-panel-empty{color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-150);margin:var(--space-0)}.chat-panel-links{gap:var(--space-6);flex-direction:column;display:flex}.chat-panel-link{min-height:var(--touch-target-min);padding:var(--space-8) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-9);background:var(--color-surface);color:var(--color-text);font-weight:var(--font-weight-semibold);align-items:center;text-decoration:none;display:inline-flex}.chat-panel-link:active{transform:translateY(1px)}.chat-panel-version{color:var(--color-text-muted);font-size:var(--font-size-12);margin:var(--space-0);font-variant-numeric:tabular-nums}.chat-gallery{gap:var(--space-8);flex-direction:column;display:flex}.chat-gallery-grid{margin:var(--space-0);padding:var(--space-0) var(--space-0) var(--space-4);gap:var(--space-8);scrollbar-width:none;-webkit-overflow-scrolling:touch;list-style:none;display:flex;overflow-x:auto}.chat-gallery-grid::-webkit-scrollbar{display:none}.chat-gallery-thumb{width:72px;height:72px;padding:var(--space-0);cursor:pointer;border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface-subtle);flex:none;overflow:hidden}.chat-gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.chat-gallery-thumb:hover{border-color:var(--color-accent-strong)}.chat-gallery-thumb-pending,.chat-gallery-thumb-failed{justify-content:center;align-items:center;gap:var(--space-2);cursor:default;flex-direction:column;display:flex}.chat-gallery-thumb-pending{background:var(--color-skeleton);position:relative;overflow:hidden}.chat-gallery-thumb-pending:after{content:"";background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.4s infinite chat-gallery-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes chat-gallery-shine{to{transform:translate(100%)}}.chat-gallery-thumb-failed{background:var(--color-surface-subtle);border-style:dashed}.chat-gallery-thumb-note{color:var(--color-text-muted);font-size:var(--font-size-11);text-align:center;line-height:var(--line-height-140);padding:var(--space-0) var(--space-4);position:relative}.chat-gallery-retry{padding:var(--space-2) var(--space-6);cursor:pointer;border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);background:var(--color-surface-subtle);color:var(--color-accent-strong);font-size:var(--font-size-11);white-space:nowrap;position:relative}.chat-gallery-retry:hover{border-color:var(--color-accent-strong)}@media (prefers-reduced-motion:reduce){.chat-gallery-thumb-pending:after{animation:none}}.chat-history-rail{display:none}.chat-history-rail-head{justify-content:space-between;align-items:center;gap:var(--space-8);margin-bottom:var(--space-10);display:flex}.chat-history-rail-all{color:var(--color-accent-strong);font-size:var(--font-size-13);white-space:nowrap;min-height:var(--touch-target-min);align-items:center;text-decoration:none;display:inline-flex}.chat-history-rail-list{margin:var(--space-0);padding:var(--space-0);gap:var(--space-4);flex-direction:column;list-style:none;display:flex}.chat-history-rail-item{align-items:center;gap:var(--space-10);padding:var(--space-8) var(--space-10);border-radius:var(--radius-10);color:var(--color-text);min-height:var(--touch-target-min);text-decoration:none;display:flex}.chat-history-rail-item:hover{background:var(--color-surface-subtle)}.chat-history-rail-item.current{background:var(--color-accent-soft,var(--color-chip))}.chat-history-rail-meta{gap:var(--space-2);min-width:0;display:grid}.chat-history-rail-name{font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-history-rail-last{color:var(--color-text-muted);font-size:var(--font-size-12);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msg-part-image,.msg-image{cursor:zoom-in}.image-viewer{inline-size:min(100%,960px);max-block-size:calc(100dvh - var(--space-32));gap:var(--space-12);min-block-size:0;padding:var(--space-16);padding-bottom:max(var(--space-16), env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow:hidden}.image-viewer-stage{flex:auto;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.image-viewer-image{max-width:100%;max-height:min(100%, calc(100dvh - var(--space-32) - var(--touch-target-min) * 2 - var(--space-16) * 4));border-radius:var(--radius-12);object-fit:contain}.image-viewer-nav{z-index:1;min-width:var(--touch-target-min);min-height:var(--touch-target-min);cursor:pointer;border:1px solid var(--color-border-subtle);border-radius:var(--radius-round);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-28);justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-viewer-prev{left:var(--space-8)}.image-viewer-next{right:var(--space-8)}.image-viewer-bar{justify-content:space-between;align-items:center;gap:var(--space-8);flex-wrap:wrap;flex:none;min-width:0;display:flex}.image-viewer-counter{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex:auto;min-width:0}.image-viewer-bar-actions{justify-content:flex-end;align-items:center;gap:var(--space-8);flex-wrap:wrap;min-width:0;display:flex}.image-viewer-action{box-sizing:border-box;min-width:var(--touch-target-min);min-height:var(--touch-target-min);max-width:100%;padding:var(--space-6) var(--space-14);border:1px solid var(--color-border-subtle);border-radius:var(--radius-9);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;white-space:nowrap;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (width>=1024px){.app.detail.chat-surface{max-width:1200px}.chat-surface .chat-shell{gap:var(--space-16);grid-template:"head side""log side"1fr/minmax(0,1fr) 340px;align-items:start;display:grid}.chat-surface .chat-shell:has(.chat-history-rail){grid-template-columns:280px minmax(0,1fr) 340px;grid-template-areas:"rail head side""rail log side"}.chat-surface .chat-main-head{grid-area:head}.chat-surface .chat-main-log{grid-area:log;min-width:0}.chat-surface .chat-side-panel{margin:var(--space-0);grid-area:side}.chat-surface .chat-history-rail{grid-area:rail;display:block}.chat-surface .chat-side-panel,.chat-surface .chat-history-rail{top:var(--space-16);max-height:calc(100dvh - var(--space-32));position:sticky;overflow:auto}.chat-surface .chat-main-log .chat-log{max-height:calc(100dvh - 320px)}.chat-surface .chat-main-log .chat-log-virtualized{height:calc(100dvh - 320px)}.chat-settings-toggle{display:none}.chat-panel-title-text{display:inline}.chat-settings-body{display:flex}}.story-launcher,.story-state-panel{gap:var(--space-10);margin:var(--space-14) var(--space-0);padding:var(--space-12) var(--space-0);border-block:1px solid var(--color-border-subtle);display:grid}.story-launcher-toggle,.story-collection-toggle,.story-start-btn{width:100%;min-height:var(--touch-target-min);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-12);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);cursor:pointer}.story-launcher-toggle[aria-expanded=true],.story-collection-toggle[aria-expanded=true]{border-color:var(--color-accent)}.story-start-btn{background:var(--color-accent-strong);border-color:var(--color-transparent);color:var(--color-accent-on)}.story-start-btn:disabled{opacity:.6;cursor:default}.story-launcher-body,.story-collection-body{gap:var(--space-10);display:grid}.story-card-list,.story-field-list,.story-endings-list,.story-preview-states,.story-preview-endings{margin:var(--space-0);padding:var(--space-0);gap:var(--space-8);list-style:none;display:grid}.story-card{text-align:start;width:100%;padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-12);background:var(--color-surface);color:var(--color-text);cursor:pointer}.story-card:hover{border-color:var(--color-accent)}.story-card-situation{font-size:var(--font-size-13);line-height:var(--line-height-150);color:var(--color-text-secondary)}.story-set-choices{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.story-set-choice{padding:var(--space-6) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-13);cursor:pointer}.story-set-choice:hover:not(:disabled){border-color:var(--color-accent)}.story-set-choice.active{border-color:var(--color-accent-strong);background:var(--color-accent-soft);color:var(--color-accent-text-soft)}.story-player-cast-choices{align-items:center;gap:var(--space-6);flex-wrap:wrap;min-width:0;max-width:100%;display:flex}.story-player-cast-choice{padding:var(--space-6) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-13);cursor:pointer;min-height:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}.story-player-cast-choice:hover:not(:disabled){border-color:var(--color-accent)}.story-player-cast-choice.active{border-color:var(--color-accent-strong);background:var(--color-accent-soft);color:var(--color-accent-text-soft)}.story-state-set{margin:var(--space-0) var(--space-0) var(--space-6)}.story-preview{gap:var(--space-10);display:grid}.story-preview-back{background:var(--color-transparent);color:var(--color-accent-text-soft);cursor:pointer;padding:var(--space-0);font-size:var(--font-size-13);border:0;justify-self:start}.story-preview-prologue{color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-160);margin:var(--space-0);font-style:italic}.story-preview-situation{color:var(--color-text);font-size:var(--font-size-14);line-height:var(--line-height-160);margin:var(--space-0)}.story-preview-section{gap:var(--space-6);display:grid}.story-preview-heading{font-size:var(--font-size-12);font-weight:var(--font-weight-bold);color:var(--color-text-muted);margin:var(--space-0);text-transform:none}.story-preview-states>li,.story-preview-endings>li{justify-content:space-between;gap:var(--space-8);font-size:var(--font-size-13);align-items:baseline;display:flex}.story-preview-state-label,.story-preview-ending-name{color:var(--color-text)}.story-preview-state-range,.story-preview-ending-turn{font-size:var(--font-size-12)}.story-state-title{font-size:var(--font-size-14);font-weight:var(--font-weight-bold);margin:var(--space-0)}.story-field{gap:var(--space-6);display:grid}.story-field-head{justify-content:space-between;align-items:baseline;gap:var(--space-8);display:flex}.story-field-label{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:var(--color-text);overflow-wrap:anywhere;min-width:0}.story-field-readout{align-items:baseline;gap:var(--space-6);flex:none;display:inline-flex}.story-field-level{font-size:var(--font-size-11);color:var(--color-accent-text-soft);background:var(--color-chip);padding:var(--space-2) var(--space-8);border-radius:var(--radius-pill)}.story-field-value{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text)}.story-field-diff{font-size:var(--font-size-11);font-variant-numeric:tabular-nums}.story-field-diff.up{color:var(--color-success-text)}.story-field-diff.down{color:var(--color-danger-text)}.story-bar-track{height:var(--space-8);border-radius:var(--radius-pill);background:var(--color-chip);overflow:hidden}.story-bar-fill{border-radius:var(--radius-pill);background:var(--color-accent);height:100%;transition:width .35s}.story-field-chip{font-size:var(--font-size-12);color:var(--color-accent-text-soft);background:var(--color-chip);padding:var(--space-3) var(--space-10);border-radius:var(--radius-pill)}.story-state-pending{font-size:var(--font-size-12)}.story-tier-panel{gap:var(--space-8);overflow-wrap:anywhere;min-width:0;display:grid}.story-tier-title{margin:var(--space-0);font-size:var(--font-size-13);font-weight:var(--font-weight-bold)}.story-tier-levels,.story-tier-members{margin:var(--space-0);padding:var(--space-0);gap:var(--space-8);list-style:none;display:grid}.story-tier-level{gap:var(--space-10);padding:var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);grid-template-columns:minmax(0,1fr) minmax(0,3fr);align-items:start;display:grid}.story-tier-level-name{margin:var(--space-0);font-size:var(--font-size-14);color:var(--color-accent-text-soft)}.story-tier-members{flex-wrap:wrap;min-width:0;display:flex}.story-tier-member{gap:var(--space-3);min-width:0;max-width:100%;padding:var(--space-6) var(--space-10);border-radius:var(--radius-12);background:var(--color-chip);color:var(--color-text);font-size:var(--font-size-13);display:grid}.story-tier-empty{margin:var(--space-0);font-size:var(--font-size-12)}.story-tier-change{font-size:var(--font-size-11)}.story-tier-change.join,.story-tier-change.up{color:var(--color-success-text)}.story-tier-change.down{color:var(--color-danger-text)}.story-hud{min-width:0;max-width:100%;max-height:var(--chat-budget-hud-max);border-block-end:1px solid var(--color-border-subtle);background:var(--color-surface);flex:none;overflow:hidden auto}.story-hud-slots{gap:var(--space-4);min-height:var(--space-48);padding:var(--space-2) var(--space-0);grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;display:grid}.story-hud-item{min-width:0;min-height:var(--touch-target-min)}.story-hud-item[data-span="1"]{grid-column:span 1}.story-hud-item[data-span="2"]{grid-column:span 2}.story-hud-slots[data-hud-filled="1"] .story-hud-item,.story-hud-slots[data-hud-filled="2"] .story-hud-item:only-child{grid-column:1/-1}.story-hud-slots[data-hud-filled="2"]:has(>:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}.story-hud-status{gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);background:var(--color-surface-subtle);flex-direction:column;display:flex}.story-hud-status-open{width:100%;min-width:0;min-height:var(--touch-target-min);margin:var(--space-0);padding:var(--space-0);background:var(--color-transparent);color:inherit;font:inherit;text-align:start;cursor:pointer;border:0;display:block;position:relative}.story-hud-status-row{gap:var(--space-8);flex-wrap:nowrap;min-width:0;display:flex;overflow:auto hidden}.story-hud-status[data-slots="2"] .story-hud-status-row{flex-wrap:wrap;max-height:3em;overflow:hidden auto}.story-hud-field{align-items:baseline;gap:var(--space-4);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--color-text);flex:none;font-size:.75rem;display:inline-flex}.story-hud-status[data-slots="2"] .story-hud-field{white-space:normal;overflow-wrap:anywhere;flex:100%;min-width:0;max-width:100%}.story-hud-readout{min-width:0}.story-hud-expand{width:var(--space-16);height:var(--space-16);border-radius:var(--radius-round);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-12);justify-content:center;align-items:center;line-height:1;display:inline-flex;position:absolute;inset-block-end:var(--space-0);inset-inline-end:var(--space-0)}.story-hud-history-btn{white-space:nowrap;min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--space-6) var(--space-10);border:1px solid var(--color-border-strong);border-radius:var(--radius-8);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.75rem;font-weight:var(--font-weight-semibold);cursor:pointer;flex:none}.story-hud-history{align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-2) var(--space-0);flex-wrap:wrap;display:flex}.story-hud-history-note{min-width:min(100%,12em);margin:var(--space-0);overflow-wrap:anywhere;flex:12em;font-size:.75rem}@media (width<=359px){.story-hud-history-note{flex-basis:100%}}.story-hud-history-actions{gap:var(--space-6);flex-wrap:wrap;min-width:0;display:flex}.story-hud-dialog-title{margin:var(--space-0) var(--space-0) var(--space-12);font-size:var(--font-size-16);font-weight:var(--font-weight-semibold)}.story-hud-dialog-list{gap:var(--space-8);margin:var(--space-0) var(--space-0) var(--space-16);padding:var(--space-0);list-style:none;display:grid}.story-hud-dialog-list .story-hud-field{white-space:normal;overflow-wrap:anywhere}.story-hud-quest{min-width:0;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);background:var(--color-surface-subtle);display:flex}.story-hud-quest-open{justify-content:center;align-items:stretch;gap:var(--space-2);width:100%;min-width:0;min-height:48px;margin:var(--space-0);padding:var(--space-0);background:var(--color-transparent);color:inherit;font:inherit;text-align:start;cursor:pointer;border:0;flex-direction:column;display:flex}.story-hud-quest-count{font-size:.75rem;font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.story-hud-quest-label{overflow-wrap:anywhere;min-width:0;color:var(--color-text-muted);font-size:.75rem}.story-hud-calendar,.story-calendar-preview{justify-content:center;align-items:flex-start;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-4);flex-direction:column;display:flex}.story-calendar-preview{margin:var(--space-4) var(--space-0);padding:var(--space-8) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);background:var(--color-surface-subtle)}.story-hud-calendar-primary{font-size:var(--font-size-20);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.15}.story-hud-calendar-secondary{font-size:var(--font-size-12);font-variant-numeric:tabular-nums;color:var(--color-text-muted);overflow-wrap:anywhere;line-height:1.2}.story-calendar-display-row{align-items:flex-start}.story-calendar-display-copy{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.story-calendar-display-copy .report-helper{margin:var(--space-0)}.story-editor-page input[type=date].login-field,.story-editor-page input[type=time].login-field{min-height:var(--touch-target-min)}.story-quest-dialog{min-width:0;flex-direction:column;max-block-size:min(90dvh,720px);display:flex}.story-quest-dialog-head{justify-content:space-between;align-items:center;gap:var(--space-8);min-width:0;display:flex}.story-quest-dialog-head .story-hud-dialog-title{min-width:0;margin:var(--space-0);overflow-wrap:anywhere;flex:auto}.story-quest-close,.story-quest-tab,.story-quest-dismiss,.story-quest-dismiss-confirm,.story-quest-dismiss-cancel{min-width:48px;min-height:48px}.story-quest-close{background:var(--color-transparent);color:inherit;font:inherit;font-size:var(--font-size-16);cursor:pointer;border:0;flex:none}.story-quest-tabs{gap:var(--space-0);margin:var(--space-8) var(--space-0) var(--space-12);border-block-end:1px solid var(--color-border-subtle);grid-template-columns:1fr 1fr;display:grid}.story-quest-tab{background:var(--color-transparent);color:var(--color-text-muted);font:inherit;cursor:pointer;border:0;border-radius:0}.story-quest-tab[aria-selected=true]{color:var(--color-text);box-shadow:inset 0 -2px 0 var(--color-text)}.story-quest-rows{gap:var(--space-8);margin:var(--space-0);padding:var(--space-0);min-width:0;list-style:none;display:grid}.story-quest-row{align-items:start;gap:var(--space-8);grid-template-columns:auto minmax(0,1fr) auto;min-width:0;display:grid}.story-quest-mark{width:var(--space-20);height:var(--space-20);border:1px solid var(--color-border-strong);border-radius:var(--radius-4);background:var(--color-transparent);color:var(--color-text-on-accent,var(--color-surface));font-size:var(--font-size-12);justify-content:center;align-items:center;margin-block-start:var(--space-4);display:inline-flex}.story-quest-mark[data-checked=true]{border-color:var(--color-accent);background:var(--color-accent)}.story-quest-text{overflow-wrap:anywhere;min-width:0;padding-block:var(--space-8)}.story-quest-row[data-status=completed] .story-quest-text{color:var(--color-text-muted);text-decoration:line-through}.story-quest-dismiss{background:var(--color-transparent);color:var(--color-text-muted);font:inherit;font-size:var(--font-size-16);cursor:pointer;border:0}.story-quest-confirm{text-align:center;inline-size:min(100%,360px)}.story-quest-confirm-title{margin:var(--space-0) var(--space-0) var(--space-8);font-size:var(--font-size-16);overflow-wrap:anywhere}.story-quest-confirm-body{margin:var(--space-0) var(--space-0) var(--space-16);color:var(--color-text-muted);overflow-wrap:anywhere}.story-quest-confirm-actions{gap:var(--space-8);display:grid}.story-quest-dismiss-confirm{border-radius:var(--radius-10);background:var(--color-danger);width:100%;color:var(--color-text-on-danger,var(--color-surface));font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;border:0}.story-quest-dismiss-cancel{border-radius:var(--radius-10);background:var(--color-surface-muted,var(--color-surface-subtle));width:100%;color:var(--color-text);font:inherit;cursor:pointer;border:0}@media (width<=360px){.quest-editor-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"index title"".actions"}.quest-editor-actions{justify-self:start}}.version-update{justify-items:start;gap:var(--space-3);margin:var(--space-6) var(--space-0) var(--space-0);display:grid}.version-update-line,.version-update-note{margin:var(--space-0);font-size:var(--font-size-12);line-height:var(--line-height-160)}.version-update-note{overflow-wrap:anywhere;font-style:italic}.version-update-review{margin-left:var(--space-0)}.version-upgrade-panel .version-update-note{margin:var(--space-0)}.story-endings{gap:var(--space-8);display:grid}.story-endings-title{font-size:var(--font-size-12);font-weight:var(--font-weight-bold);color:var(--color-text-muted);margin:var(--space-0)}.story-ending-badge{gap:var(--space-3);padding:var(--space-8) var(--space-10);border:1px solid var(--color-success-border);border-radius:var(--radius-10);background:var(--color-success-surface);display:grid}.story-ending-badge[data-rarity=legendary],.story-ending-badge[data-rarity=secret]{border-color:var(--color-warning-border);background:var(--color-warning-surface-strong)}.story-ending-name{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:var(--color-success-text-strong)}.story-ending-badge[data-rarity=legendary] .story-ending-name,.story-ending-badge[data-rarity=secret] .story-ending-name{color:var(--color-warning)}.story-ending-rarity{font-size:var(--font-size-11);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted)}.story-ending-turn{font-size:var(--font-size-11)}.story-fork-lines{gap:var(--space-8);display:grid}.story-fork-lines-title{font-size:var(--font-size-12);font-weight:var(--font-weight-bold);color:var(--color-text-muted);margin:var(--space-0)}.story-fork-line-list{margin:var(--space-0);padding:var(--space-0);gap:var(--space-6);list-style:none;display:grid}.story-fork-line{gap:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface);margin-inline-start:calc(var(--line-depth,0) * var(--space-10));display:grid}.story-fork-line:not(:has(.story-fork-line-switch)){padding:var(--space-8) var(--space-10)}.story-fork-line-switch{gap:var(--space-3);text-align:start;width:100%;min-height:var(--touch-target-min);padding:var(--space-8) var(--space-10);border-radius:var(--radius-10);background:var(--color-transparent);color:var(--color-text);font:inherit;cursor:pointer;border:0;display:grid}.story-fork-line-switch:hover:not(:disabled){background:var(--color-chip)}.story-fork-line-switch:disabled{cursor:default;opacity:.6}.story-fork-line.playing{border-color:var(--color-accent-strong);background:var(--color-accent-soft)}.story-fork-line-name{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:var(--color-text);overflow-wrap:anywhere}.story-fork-line-turn,.story-fork-line-playing,.story-fork-line-progress,.story-fork-line-switching{font-size:var(--font-size-11)}.story-fork-line-ended{color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.story-fork-line.playing .story-fork-line-playing{color:var(--color-accent-text-soft)}.story-fork-panel{margin:var(--space-0);max-width:420px}.story-fork-panel input{box-sizing:border-box;width:100%;padding:var(--space-10);font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface-subtle);color:var(--color-text)}.conversation-branch-panel{margin:var(--space-0);max-width:420px}.conversation-branch-field{padding-bottom:var(--space-18);position:relative}.conversation-branch-field input{box-sizing:border-box;width:100%;padding:var(--space-10);font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface-subtle);color:var(--color-text)}.conversation-branch-count{inset-inline-end:var(--space-2);bottom:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-11);position:absolute}.conversation-branch-guide{margin:var(--space-10) var(--space-16) var(--space-4);padding:var(--space-10) var(--space-12);border-radius:var(--radius-9);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-155)}.conversation-branch-panel h2,.conversation-branch-panel .report-helper,.conversation-branch-panel label{overflow-wrap:anywhere}.conversation-branch-panel .report-actions .btn{min-height:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere}@media (width<=320px){.conversation-branch-panel,.story-fork-panel{box-sizing:border-box;width:100%;max-width:none}.conversation-branch-panel .report-actions .btn,.story-fork-panel .report-actions .btn{flex:100%;width:100%}}.story-hints{gap:var(--space-6);margin:var(--space-8) var(--space-0) var(--space-0);display:grid}.story-hints-title{font-size:var(--font-size-12);font-weight:var(--font-weight-bold);color:var(--color-text-muted);margin:var(--space-0)}.story-hints-list{margin:var(--space-0);padding:var(--space-0);gap:var(--space-6);list-style:none;display:grid}.story-hint{align-items:center;gap:var(--space-10);padding:var(--space-8) var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface-subtle);animation:.4s ease-out story-hint-arrive;display:flex}.story-hint-card{width:var(--space-24);height:var(--space-32);border-radius:var(--radius-6);background:linear-gradient(150deg, var(--color-accent-soft), var(--color-chip));filter:blur(2px);flex:none}.story-hint-text{min-width:0;margin:var(--space-0);font-size:var(--font-size-13);line-height:var(--line-height-150);color:var(--color-text);overflow-wrap:anywhere;flex:1}.story-hint-dismiss{min-height:var(--touch-target-min);min-width:var(--touch-target-min);background:var(--color-transparent);color:var(--color-text-muted);font-size:var(--font-size-14);cursor:pointer;border:0;flex:none}@keyframes story-hint-arrive{0%{opacity:0;transform:translateY(var(--space-4))}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.story-hint{animation:none}}.story-conclusion-suggestion{gap:var(--space-8);margin:var(--space-8) var(--space-0) var(--space-0);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface-subtle);display:grid}.chat-composer-stack .story-conclusion-suggestion{margin:var(--space-0);flex-shrink:0}.story-conclusion-suggestion-title{font-size:var(--font-size-13);font-weight:var(--font-weight-bold);margin:var(--space-0);color:var(--color-text)}.story-conclusion-suggestion-body{font-size:var(--font-size-13);line-height:var(--line-height-150);margin:var(--space-0);color:var(--color-text);overflow-wrap:anywhere}.story-conclusion-suggestion-actions{gap:var(--space-8);grid-template-columns:1fr;display:grid}.story-conclusion-suggestion-actions .btn{width:100%;min-height:var(--touch-target-min);margin:var(--space-0)}@media (width>=400px){.story-conclusion-suggestion-actions{grid-template-columns:1fr 1fr}}.story-editor-page .topbar{flex-wrap:wrap}.story-editor-page .topbar>.back{overflow-wrap:anywhere;flex:100%;justify-content:flex-start;min-width:0;max-width:100%}.story-editor-page .topbar>.topbar-actions{align-items:center;margin-left:auto;display:inline-flex}.story-editor-page .create-editor button{min-height:var(--touch-target-min)}.story-editor-actions{z-index:5;justify-content:flex-end;align-items:stretch;gap:var(--space-8);padding:var(--space-8) var(--space-0) calc(var(--space-8) + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border-subtle);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.story-editor-actions .btn{width:auto;margin:var(--space-0);padding:var(--space-8) var(--space-20);text-align:center;word-break:keep-all;text-decoration:none}@media (width<=767px){.story-editor-page .story-field-grid{grid-template-columns:1fr}.story-editor-page .story-band-row>.login-field,.story-editor-page .story-condition-row>.login-field{flex:100%;min-width:0}.story-editor-page .story-editor-actions{grid-template-columns:1fr;justify-items:stretch;display:grid}.story-editor-page .story-editor-actions .btn,.story-editor-page .story-editor-actions>button{flex:none;width:100%;min-width:0}}.story-endings-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.story-ending-card{align-content:start}.story-ending-card-reveal{animation:1.1s ease-out both story-ending-reveal}@keyframes story-ending-reveal{0%{opacity:.3;filter:brightness(0)saturate(0);transform:perspective(600px)rotateY(80deg)scale(.94)}55%{opacity:1;filter:brightness(0)saturate(0);transform:perspective(600px)rotateY(0)scale(1)}to{opacity:1;filter:brightness()saturate();transform:none}}@media (prefers-reduced-motion:reduce){.story-ending-card-reveal{animation:none}}.story-endings-count{font-size:var(--font-size-11);margin:var(--space-0)}.story-ending-art-frame{aspect-ratio:1005/1490;border-radius:var(--radius-8);background:var(--color-chip);display:block;position:relative;overflow:hidden}.story-ending-art{object-fit:cover;width:100%;height:100%;display:block}.story-ending-lock{font-size:var(--font-size-20);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.story-ending-card-locked{opacity:.85}.story-ending-card-locked .story-ending-art{filter:blur(10px)saturate(.4);transform:scale(1.08)}.story-ending-silhouette{background:var(--color-chip)}.story-ending-name-locked{color:var(--color-text-muted);font-weight:400}.story-ending-card-locked .story-ending-rarity{opacity:.7}.story-collection-entry{gap:var(--space-4);align-content:start;display:grid}.story-collection-count{font-size:var(--font-size-11);margin:var(--space-0)}.story-collection-epilogue-open{width:100%;margin:var(--space-0);padding:var(--space-10) var(--space-12);min-height:var(--touch-target-min);min-width:var(--touch-target-min);border:1px solid var(--color-border-strong);border-radius:var(--radius-12);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);white-space:normal;overflow-wrap:anywhere;cursor:pointer}.story-ending-terminal{gap:var(--space-8);padding:var(--space-12);border-radius:var(--radius-12);border:1px solid var(--color-border);background:var(--color-surface);text-align:center;justify-items:center;width:100%;min-width:0;display:grid}.story-ending-terminal .story-ending-card{max-width:200px}.story-ending-terminal-title{margin:var(--space-0);overflow-wrap:anywhere;font-weight:600}.story-ending-epilogue{gap:var(--space-4);max-width:34rem;display:grid}.story-ending-epilogue-title{margin:var(--space-0);font-size:var(--font-size-11);color:var(--color-text-muted)}.story-ending-epilogue-body{margin:var(--space-0);white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--line-height-160)}.story-ending-wait,.story-ending-epilogue-error{gap:var(--space-8);overflow-wrap:anywhere;justify-items:stretch;min-width:0;max-width:34rem;display:grid}.story-ending-wait-title,.story-ending-wait-hint{overflow-wrap:anywhere;display:block}.story-ending-terminal-actions{gap:var(--space-8);flex-wrap:wrap;justify-content:center;width:100%;min-width:0;display:flex}.story-ending-terminal-actions .btn{width:auto;min-width:0;margin:var(--space-0);min-height:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;flex:8rem}.story-epilogue-reader-overlay{z-index:1100}.story-epilogue-reader{gap:var(--space-12);inline-size:min(100%,34rem);max-block-size:min(90dvh, calc(100dvh - var(--space-32)));grid-template-rows:auto minmax(0,1fr) auto;min-block-size:0;display:grid}.story-epilogue-reader-header{justify-content:space-between;align-items:flex-start;gap:var(--space-8);flex-wrap:wrap;min-width:0;display:flex}.story-epilogue-reader-title{margin:var(--space-0);overflow-wrap:anywhere;min-width:0;font-size:var(--font-size-16);flex:8rem}.story-epilogue-reader-back{width:auto;margin:var(--space-0);min-width:var(--touch-target-min);min-height:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;flex:0 auto}.story-epilogue-reader-body{gap:var(--space-12);text-align:start;min-height:0;display:grid;overflow:auto}.story-epilogue-reader-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.story-epilogue-reader-actions .btn{width:auto;min-width:0;margin:var(--space-0);min-height:var(--touch-target-min);white-space:normal;overflow-wrap:anywhere;flex:8rem}@media (width<=320px){.story-ending-terminal-actions .btn,.story-epilogue-reader-actions .btn,.story-epilogue-reader-back,.story-collection-epilogue-open{flex:100%;width:100%}}.story-free-chat-note{margin:var(--space-0) var(--space-0) var(--space-4);font-size:var(--font-size-11);color:var(--color-text-muted);text-align:center}.story-ending-message .story-ending-card{max-width:220px}.story-ending-card-thumb{aspect-ratio:1005/1490;object-fit:cover;border-radius:var(--radius-8);width:96px;display:block}.story-field[data-level-event=up] .story-bar-fill{animation:.7s ease-out both story-level-rise}.story-field[data-level-event=down] .story-bar-fill{animation:.7s ease-out both story-level-fall}.story-field-level-changed{animation:.7s ease-out both story-level-settle}.story-field[data-level-event=up] .story-field-level-changed{color:var(--color-success-text)}.story-field[data-level-event=down] .story-field-level-changed{color:var(--color-danger-text)}@keyframes story-level-settle{0%{opacity:0;transform:translateY(-4px)scale(.9)}55%{opacity:1;transform:translateY(0)scale(1.08)}to{opacity:1;transform:none}}@keyframes story-level-rise{0%{background:var(--color-success-text)}to{background:var(--color-accent)}}@keyframes story-level-fall{0%{background:var(--color-danger-text)}to{background:var(--color-accent)}}@media (prefers-reduced-motion:reduce){.story-field[data-level-event] .story-bar-fill,.story-field-level-changed{animation:none}}.bubble-tools{align-items:center;gap:var(--space-2);margin-left:var(--space-6);vertical-align:middle;opacity:.55;color:var(--color-text-muted);flex-wrap:wrap;transition:opacity .15s;display:inline-flex;position:relative}.bubble-tools .speak-btn{color:inherit;opacity:1}.bubble-tools-more{align-items:center;display:inline-flex;position:relative}.bubble-tools-menu{z-index:12;top:calc(100% + var(--space-4));min-width:11rem;padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-10);background:var(--color-surface);box-shadow:var(--elevation-popover);gap:var(--space-2);flex-direction:column;display:flex;position:absolute;left:0}.msg.user .bubble-tools-menu{left:auto;right:0}.bubble-tools-menu-item{align-items:center;gap:var(--space-8);width:100%;min-width:var(--touch-target-min);min-height:var(--touch-target-min);margin:var(--space-0);padding:var(--space-0) var(--space-10);border-radius:var(--radius-8);background:var(--color-transparent);color:var(--color-text);font:inherit;font-size:var(--font-size-13);text-align:start;cursor:pointer;border:0;display:flex}.bubble-tools-menu-item:hover:not(:disabled),.bubble-tools-menu-item:focus-visible{background:var(--color-surface-subtle)}.bubble-tools-menu-item:disabled{opacity:.5;cursor:default}.bubble-tools-menu-icon{color:var(--color-text-muted);flex-shrink:0;display:inline-flex}.bubble-tools-menu-label{min-width:0}.bubble-tools:has(.bubble-tools-more.is-open){opacity:1;color:var(--color-text)}@media (width>=1024px){.bubble .bubble-tools{opacity:.35}.bubble:focus-within .bubble-tools{opacity:1;color:var(--color-text)}.bubble-tools:has(.bubble-tools-more.is-open){opacity:1;color:var(--color-text)}}@media (width>=1024px) and (hover:hover) and (pointer:fine){.bubble:hover .bubble-tools{opacity:1;color:var(--color-text)}}.bubble-editor{gap:var(--space-8);flex-direction:column;min-width:0;display:flex}.bubble:has(>.bubble-editor){width:78%}.bubble-editor-input{resize:vertical;width:100%;min-height:5rem;padding:var(--space-8) var(--space-10);border:1px solid var(--color-border-default);border-radius:var(--radius-8);background:var(--color-field-surface);color:var(--color-text);font:inherit;line-height:var(--line-height-160)}.bubble-editor-input:disabled{opacity:.6}.bubble-editor-actions{justify-content:flex-end;gap:var(--space-8);flex-wrap:wrap;display:flex}.bubble-editor-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-0) var(--space-16);border-radius:var(--radius-10);background:var(--color-transparent);color:inherit;font:inherit;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);cursor:pointer;border:1px solid}.bubble-editor-btn:disabled{opacity:.6;cursor:default}.bubble-editor-save{border-color:var(--color-accent-strong);background:var(--color-accent-strong);color:var(--color-accent-on);font-weight:var(--font-weight-bold)}.msg.user .bubble-editor-save{border-color:var(--color-accent-on);background:var(--color-accent-on);color:var(--color-accent-strong)}.story-editor-layout{display:block}.story-editor-preview{margin:var(--space-16) var(--space-0);padding:var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface)}.story-editor-preview-title{cursor:pointer;min-height:var(--touch-target-min);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);color:var(--color-text);align-items:center;list-style:none;display:flex}.story-editor-preview-title::-webkit-details-marker{display:none}.story-editor-preview-title:before{content:"▸";margin-right:var(--space-6);color:var(--color-text-muted)}.story-editor-preview[open]>.story-editor-preview-title:before{content:"▾"}.story-editor-preview-body{gap:var(--space-14);padding-top:var(--space-8);display:grid}.story-preview-block{gap:var(--space-8);display:grid}.story-preview-block .msg{display:flex}.story-preview-block .bubble{max-width:100%}.story-preview-chips{gap:var(--space-6);flex-wrap:wrap;display:flex}.story-preview-chips .suggestion-chip{cursor:default;flex:0 auto;align-items:center;display:inline-flex}.story-trial-panel{gap:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);display:grid}.story-trial-panel .suggestion-chip{cursor:pointer}.story-trial-transcript{max-height:320px;overflow:auto}.story-ending-hint{font-size:var(--font-size-11);line-height:var(--line-height-140)}.story-preview-quota{margin:var(--space-0);padding:var(--space-0);gap:var(--space-4);list-style:none;display:grid}.story-preview-quota>li{justify-content:space-between;gap:var(--space-8);font-size:var(--font-size-12);color:var(--color-text-secondary);display:flex}.story-preview-quota-count{font-variant-numeric:tabular-nums;color:var(--color-text)}@media (width>=1024px){.app.detail.story-editor-page{max-width:1200px}.story-editor-layout{gap:var(--space-16);grid-template-columns:minmax(0,1fr) 360px;align-items:start;display:grid}.story-editor-layout>.create-form{min-width:0}.story-editor-preview{margin:var(--space-0);top:var(--space-16);max-height:calc(100dvh - var(--space-32));position:sticky;overflow:auto}}.image-studio{inline-size:min(100%,640px)}.image-studio-header{justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.image-studio-title{margin:var(--space-0);font-size:var(--font-size-18)}.image-studio-body{gap:var(--space-16);margin-top:var(--space-12);flex-direction:column;display:flex}.image-studio-section{gap:var(--space-8);flex-direction:column;display:flex}.image-studio-label{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.image-studio-style-grid{gap:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.image-studio-style{align-items:center;gap:var(--space-4);cursor:pointer;padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);flex-direction:column;display:flex}.image-studio-style.active{border-color:var(--color-accent-strong);box-shadow:0 0 0 1px var(--color-accent-strong)}.image-studio-style-thumb{aspect-ratio:2/3;object-fit:cover;border-radius:var(--radius-8);inline-size:100%}.image-studio-style-thumb-empty{background:var(--color-border-subtle)}.image-studio-style-name{font-size:var(--font-size-12);text-align:center;overflow-wrap:anywhere}.image-studio-ratios{gap:var(--space-8);flex-wrap:wrap;display:flex}.image-studio-ratio{cursor:pointer;background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:var(--space-6) var(--space-14);font-size:var(--font-size-13);min-height:var(--touch-target-min)}.image-studio-ratio.active{background:var(--color-accent-strong);color:var(--color-accent-on);border-color:var(--color-transparent)}.image-studio-resolution{margin:var(--space-0)}.image-studio-prompt-actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.image-studio-actions{justify-content:flex-end;display:flex}.image-studio-result{gap:var(--space-8);flex-direction:column;display:flex}.image-studio-result-image{border-radius:var(--radius-12);inline-size:100%;max-inline-size:320px}.image-studio-result-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.image-studio-header .image-studio-close{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.image-studio-library{gap:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}.image-studio-library-item{aspect-ratio:1;cursor:pointer;padding:var(--space-0);background:var(--color-surface-subtle);border-radius:var(--radius-8);border:0;display:block;overflow:hidden}.image-studio-library-thumb{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-8);block-size:100%;inline-size:100%;display:block}.mine-library-section{margin-top:var(--space-8)}.mine-library-grid{gap:var(--space-12);margin-top:var(--space-14);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=768px){.mine-library-grid{gap:var(--space-16);grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.mine-library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.mine-library-item{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);box-sizing:border-box;flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}@media (hover:hover) and (pointer:fine){.mine-library-item:hover{border-color:var(--color-border-default)}}.mine-library-preview{aspect-ratio:1;background:var(--color-surface-subtle);cursor:pointer;border-radius:var(--radius-10) var(--radius-10) 0 0;border:none;width:100%;padding:0;display:block;position:relative;overflow:hidden}.mine-library-preview:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.mine-library-image{object-fit:cover;width:100%;height:100%;display:block}.mine-library-prompt{margin:var(--space-4) var(--space-10) var(--space-0);font-size:var(--font-size-12);color:var(--color-text-muted);flex:auto}.mine-library-prompt>summary{box-sizing:border-box;min-height:var(--touch-target-min);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);padding:var(--space-12) var(--space-0);display:list-item}.mine-library-prompt>summary:hover{color:var(--color-text)}.mine-library-prompt>summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-4)}.mine-library-prompt[open]>summary{color:var(--color-text)}.mine-library-prompt>p{margin:var(--space-0) var(--space-0) var(--space-8);font-size:var(--font-size-12);line-height:var(--line-height-150);color:var(--color-text-muted);word-break:break-word;overflow-wrap:anywhere}.mine-library-actions{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-10) var(--space-8);border-top:1px solid var(--color-border-subtle);margin-top:auto;display:flex}.mine-library-actions .link-btn{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--space-4) var(--space-8);font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);border-radius:var(--radius-6);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.mine-library-actions .link-btn:hover:not(:disabled){color:var(--color-danger-text);text-decoration:underline}.mine-library-actions .link-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.mine-library-actions .link-btn:disabled{opacity:.5;cursor:not-allowed}.mine-library-actions [role=status]{font-size:var(--font-size-11);color:var(--color-text-muted);white-space:nowrap;margin:0}.version-history{margin-top:var(--space-16)}.version-history-head{justify-content:space-between;align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.version-history-head .create-editor-heading{margin:var(--space-0)}.version-history-head button{width:auto;margin:var(--space-0);padding:var(--space-6) var(--space-14);min-height:var(--touch-target-min)}.version-history-list{padding:var(--space-0);margin:var(--space-8) var(--space-0) var(--space-0);gap:var(--space-8);list-style:none;display:grid}.version-history-entry{gap:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-10) var(--space-12);display:grid}.version-history-entry button{width:auto;margin:var(--space-0);padding:var(--space-6) var(--space-14);min-height:var(--touch-target-min);justify-self:start}.version-history-entry-head{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.version-history-time{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.version-history-current{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-8);background:var(--color-accent-soft);color:var(--color-accent-text-soft);font-size:var(--font-size-11);font-weight:var(--font-weight-semibold)}.version-history-note{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-155);overflow-wrap:anywhere}.party-page{gap:var(--space-18);align-content:start;display:grid}.party-lead{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-14);line-height:var(--line-height-155)}.party-note{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-155);overflow-wrap:anywhere}.party-empty{gap:var(--space-6);padding:var(--space-22) var(--space-0);color:var(--color-text-muted);display:grid}.party-create-link{width:auto;margin:var(--space-0);padding:var(--space-6) var(--space-14);min-height:var(--touch-target-min);min-width:var(--touch-target-min);justify-content:center;align-items:center;display:inline-flex}.party-room-list{padding:var(--space-0);margin:var(--space-0);gap:var(--space-8);list-style:none;display:grid}.party-room-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12)}.party-room-link{gap:var(--space-6);padding:var(--space-12) var(--space-14);min-height:var(--touch-target-min);color:var(--color-text);text-decoration:none;display:grid}.party-room-state{font-size:var(--font-size-14);font-weight:var(--font-weight-semibold)}.party-room-meta,.party-room-status{color:var(--color-text-muted);font-size:var(--font-size-13)}.party-room-status{margin:var(--space-0)}.party-form{gap:var(--space-14);display:grid}.party-field{gap:var(--space-6);display:grid}.party-field-label{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.party-field-hint{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-155)}.party-field input,.party-field textarea,.party-field select{box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-field-surface);width:100%;color:var(--color-text);padding:var(--space-10);font:inherit;min-height:var(--touch-target-min)}.party-submit,.party-start-button,.party-send{width:auto;margin:var(--space-0);padding:var(--space-8) var(--space-18);min-height:var(--touch-target-min);min-width:var(--touch-target-min);justify-self:start}.party-member-list{padding:var(--space-0);margin:var(--space-0);gap:var(--space-8);list-style:none;display:grid}.party-member{gap:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-10) var(--space-12);display:grid}.party-member-name{align-items:center;gap:var(--space-8);font-weight:var(--font-weight-semibold);flex-wrap:wrap;display:flex}.party-badge{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-8);background:var(--color-accent-soft);color:var(--color-accent-text-soft);font-size:var(--font-size-11);font-weight:var(--font-weight-semibold)}.party-member-intro{color:var(--color-text);font-size:var(--font-size-13);line-height:var(--line-height-155);overflow-wrap:anywhere}.party-member-private{gap:var(--space-4);border-top:1px dashed var(--color-border-subtle);padding-top:var(--space-8);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-155);overflow-wrap:anywhere;display:grid}.party-member-remove,.party-leave,.party-invite-new,.party-invite-revoke,.party-continue{width:auto;margin:var(--space-0);padding:var(--space-6) var(--space-14);min-height:var(--touch-target-min);min-width:var(--touch-target-min);justify-self:start}.party-invite,.party-start,.party-chat{gap:var(--space-10);display:grid}.party-invite-url{font-size:var(--font-size-13)}.party-invite-copy{width:auto;margin:var(--space-0);padding:var(--space-6) var(--space-14);min-height:var(--touch-target-min);min-width:var(--touch-target-min);justify-self:start}.party-messages{padding:var(--space-0);margin:var(--space-0);gap:var(--space-8);list-style:none;display:grid}.party-message{gap:var(--space-4);border-radius:var(--radius-12);padding:var(--space-10) var(--space-12);font-size:var(--font-size-14);line-height:var(--line-height-165);overflow-wrap:anywhere;display:grid}.party-message.spoken{background:var(--color-surface);border:1px solid var(--color-border-subtle)}.party-message.narration{background:var(--color-surface-subtle);border-inline-start:var(--space-3) solid var(--color-accent-strong);font-style:italic}.party-message-speaker{color:var(--color-text-muted);font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);font-style:normal}.party-message-body{white-space:pre-wrap}.party-message-narration{white-space:normal}.party-message-narration .msg-part{padding:var(--space-0);background:var(--color-transparent);border:none}.party-message-narration :is(code,pre,table,h1,h2,h3,h4,h5,h6){font-style:normal}.party-composer{min-height:var(--space-80)}.party-shortcut-chip{margin:var(--space-6) var(--space-0)}.party-chat-actions{align-items:center;gap:var(--space-10);flex-wrap:wrap;display:flex}.party-continue.waiting{opacity:.7;animation:1.4s ease-in-out infinite party-waiting}@keyframes party-waiting{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.party-continue.waiting{opacity:.7;animation:none}}.party-chat .story-state-panel{margin:var(--space-0)}.party-chat .story-hud{margin:var(--space-10) var(--space-0) var(--space-0)}.party-ending-epilogue{justify-self:stretch}.party-ending-epilogue-toggle{cursor:pointer}.party-ending-terminal .story-free-chat-note{margin:var(--space-0)}.greetings-revise-overlay{padding:var(--space-0);justify-content:flex-end}.greetings-revise-drawer{border-radius:var(--radius-12) 0 0 var(--radius-12);gap:var(--space-12);grid-template-rows:auto minmax(8rem,1fr) minmax(8rem,1fr) auto auto;width:min(100%,38rem);max-width:none;height:100%;max-height:none;display:grid;overflow:hidden}.greetings-revise-header,.greetings-revise-row>div,.greetings-revise-compose,.greetings-revise-footer{align-items:center;gap:var(--space-8);display:flex}.greetings-revise-header h2{margin:var(--space-0);flex:1}.greetings-revise-preview,.greetings-revise-history{gap:var(--space-8);align-content:start;display:grid;overflow-y:auto}.greetings-revise-row{border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-10);overflow-wrap:anywhere}.greetings-revise-row p,.greetings-revise-message p{margin:var(--space-6) var(--space-0) var(--space-0);white-space:pre-wrap}.greetings-revise-row.over{border-color:var(--color-danger);color:var(--color-danger)}.greetings-revise-badge{border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-text-soft);padding:var(--space-2) var(--space-8);font-size:var(--font-size-12)}.greetings-revise-row>div>span:last-child{color:var(--color-text-muted);margin-inline-start:auto}.greetings-revise-message{border-radius:var(--radius-12);padding:var(--space-10);background:var(--color-surface-subtle);overflow-wrap:anywhere}.greetings-revise-message.user{background:var(--color-accent-soft)}.greetings-revise-message small{margin-top:var(--space-8);color:var(--color-text-muted);display:block}.greetings-revise-compose textarea{min-height:var(--space-64);flex:1}.greetings-revise-footer{flex-wrap:wrap;justify-content:space-between}.greetings-revise-footer p{margin:var(--space-0);color:var(--color-text-muted)}@media (width<=42rem){.greetings-revise-drawer{border-radius:var(--radius-12) var(--radius-12) 0 0;width:100%}}.relationship-editor .btn{font:inherit}.relationship-row-ends{gap:var(--space-8);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-width:0;display:grid}.relationship-endpoint{justify-items:center;gap:var(--space-4);min-width:0;display:grid}.relationship-endpoint label{font:inherit;color:var(--color-text-muted);text-align:center;overflow-wrap:anywhere}.relationship-row select.login-field{font:inherit;min-height:var(--touch-target-min);margin:var(--space-0)}.relationship-row-swap{width:auto;min-width:var(--touch-target-min);min-height:var(--touch-target-min);margin:var(--space-0);padding:var(--space-8)}.relationship-endpoint .avatar-fallback,.relationship-graph-node .avatar-fallback{background:var(--color-accent-strong)!important;color:var(--color-accent-on)!important}.relationship-graph-overlay{min-height:100dvh;padding:var(--space-12);gap:var(--space-12);grid-template-rows:auto 1fr;display:grid;overflow:auto}.relationship-graph-overlay .phone-shell-back{width:auto;margin:var(--space-0);font:inherit}.relationship-graph-head{align-items:center;gap:var(--space-12);min-width:0;display:flex}.relationship-graph-title{margin:var(--space-0);overflow-wrap:anywhere;font-size:1.125em}.relationship-graph{gap:var(--space-12);min-width:0;display:grid}.relationship-graph-history{gap:var(--space-8);flex-wrap:wrap;display:flex}.relationship-graph-history .btn{width:auto;margin:var(--space-0);font:inherit}.relationship-graph-stage{width:100%;max-width:36rem;margin:var(--space-0) auto;background:radial-gradient(circle at 20% 18%, color-mix(in srgb, var(--color-accent-soft) 80%, transparent), transparent 42%), radial-gradient(circle at 82% 78%, color-mix(in srgb, var(--color-accent-soft) 55%, transparent), transparent 38%), var(--color-surface-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-16);position:relative;overflow:visible}.relationship-graph-svg{width:100%;height:100%;color:var(--color-border-strong);display:block;position:absolute;inset:0}.relationship-graph-line{stroke:currentColor;stroke-width:1.6px;fill:none}.relationship-graph-label{z-index:2;border-radius:var(--radius-4);background:color-mix(in srgb, var(--color-surface) 88%, transparent);width:max-content;max-width:8rem;color:var(--color-text);font-size:.75rem;line-height:var(--line-height-140);text-align:center;overflow-wrap:anywhere;pointer-events:none;padding:.125rem .3rem;position:absolute;transform:translate(-50%,-50%)}.relationship-graph-node{z-index:1;aspect-ratio:1;pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.relationship-graph-node .avatar,.relationship-graph-node .avatar-fallback{aspect-ratio:1;border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border-subtle);border-radius:50%;width:100%!important;height:100%!important}.relationship-graph-node-name{top:calc(100% + var(--space-4));width:max-content;max-width:7rem;font-size:.75rem;line-height:var(--line-height-140);text-align:center;overflow-wrap:anywhere;position:absolute;left:50%;transform:translate(-50%)}.relationship-graph-list{gap:var(--space-8);margin:var(--space-0);padding:var(--space-0);list-style:none;display:grid}.relationship-graph-open-btn{font:inherit;white-space:normal;font-size:1em}.relationship-graph-detail-btn{width:100%;min-height:var(--touch-target-min);padding:var(--space-12);border:1px solid var(--color-border-default);border-radius:var(--radius-10);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:start;overflow-wrap:anywhere;cursor:pointer}@media (width<=320px){.relationship-row-ends{grid-template-columns:minmax(0,1fr)}.relationship-row-swap{justify-self:start}}.vn-stage{isolation:isolate;background:var(--color-surface-subtle);min-width:0;height:100%;min-height:0;padding-bottom:env(safe-area-inset-bottom);display:grid;position:relative;overflow:hidden}.story-trial-panel .vn-stage{min-height:min(32rem,100dvh - 8rem)}.chat-surface .chat-main-log>.vn-stage{grid-area:log;min-height:0}.vn-stage-art{z-index:0;position:absolute;inset:0;overflow:hidden}.vn-stage-background{object-fit:cover;object-position:center center;width:100%;height:100%;position:absolute;inset:0}.work-cast-sprite-preview,.work-cast-avatar-preview{object-fit:contain;background:var(--color-surface-subtle);align-self:flex-start;width:100%;max-width:160px;height:160px;display:block}.work-cast-outfit-editor{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border,#ffffff1f)}.vn-stage-background-empty{background:var(--color-surface-subtle)}.vn-stage-cast{justify-content:center;align-items:flex-end;gap:var(--space-8);pointer-events:none;padding-bottom:7.5rem;display:flex;position:absolute;inset:0}.vn-stage-actor{flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;height:88%;transition:opacity .16s;display:flex}.vn-stage-cast-duo .vn-stage-actor{flex:1 1 0;max-width:46%}.vn-stage-cast-single .vn-stage-actor{flex:0 auto;width:min(88%,22rem);max-width:none}.vn-stage-actor.dimmed{opacity:.45}.vn-stage-standee{object-fit:contain;object-position:center bottom;width:auto;max-width:100%;height:100%;max-height:100%}.vn-stage-standee-empty{min-height:8rem;padding:var(--space-12);color:var(--color-text);background:color-mix(in srgb, var(--color-surface) 78%, transparent);text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;display:flex}.vn-stage-hud{z-index:1;pointer-events:none;flex-direction:column;justify-content:space-between;min-height:100%;display:flex;position:relative}.vn-stage-toolbar,.vn-stage-dialogue,.vn-stage-hud>.chat-log,.vn-stage-hud>.story-trial-transcript{pointer-events:auto}.vn-stage-toolbar{justify-content:space-between;align-items:center;gap:var(--space-8);min-height:var(--touch-target-min);padding:var(--space-8);display:flex}.vn-stage-toolbar .btn{width:auto;padding:var(--space-8) var(--space-12);font:inherit;font-size:var(--font-size-14);margin:0}.vn-stage-toolbar .btn.outline{background:var(--color-surface)}.vn-stage-progress{color:var(--color-text);background:color-mix(in srgb, var(--color-surface) 82%, transparent);font-size:var(--font-size-13);padding:var(--space-4) var(--space-8);border-radius:var(--radius-12)}.vn-stage-dialogue{gap:var(--space-8);margin:var(--space-8);padding:var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-12);background:color-mix(in srgb, var(--color-surface) 92%, transparent);color:var(--color-text);display:grid}.vn-stage-speaker{font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);margin:0}.vn-stage-line{overflow-wrap:anywhere;max-height:8.5em;font-size:1rem;line-height:1.45;overflow-y:auto}.vn-stage-nav{gap:var(--space-8);flex-wrap:wrap;display:flex}.vn-stage-nav .btn{flex:1 1 calc(50% - var(--space-4));min-height:var(--touch-target-min);padding:var(--space-8);font:inherit;font-size:var(--font-size-14);margin:0}.vn-stage-nav .vn-stage-finish{flex-basis:100%}.story-vn-author-editor .login-field,.story-vn-author-editor .btn,.story-vn-opening-editor .login-field,.story-vn-opening-editor .btn,.story-vn-sprite-editor .login-field,.story-vn-sprite-editor .btn{min-height:var(--touch-target-min);font:inherit;font-size:var(--font-size-14)}.story-vn-author-editor .create-row-footer .btn,.story-vn-opening-editor .create-row-footer .btn,.story-vn-sprite-editor.create-row-footer .btn,.story-vn-sprite-editor .create-row-footer .btn{flex:8rem;width:auto;margin:0}@media (width<=320px){.vn-stage-cast{padding-bottom:9rem}.vn-stage-line{max-height:7.2em}}@media (prefers-reduced-motion:reduce){.vn-stage-actor{transition:none}}.story-soundtrack-bar{align-items:center;gap:var(--space-8);min-width:0;padding:var(--space-6) var(--space-8);border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);flex-wrap:wrap;display:flex}.story-soundtrack-bar[hidden]{display:none}.story-soundtrack-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);line-height:var(--line-height-150);flex:8rem;margin:0;overflow:hidden}.story-soundtrack-title:before{content:"♪";color:var(--color-accent-strong);font-weight:var(--font-weight-bold);margin-inline-end:var(--space-6)}.story-soundtrack-play,.story-soundtrack-volume-toggle,.story-soundtrack-retry,.story-soundtrack-editor button,.story-bgm-picker button{appearance:none;box-sizing:border-box;min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--space-6) var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);line-height:var(--line-height-140);cursor:pointer;flex:none;justify-content:center;align-items:center;margin:0;display:inline-flex}.story-soundtrack-play:hover:not(:disabled),.story-soundtrack-volume-toggle:hover:not(:disabled),.story-soundtrack-retry:hover:not(:disabled),.story-soundtrack-editor button:hover:not(:disabled):not(.danger-btn):not(.story-bgm-help),.story-bgm-picker button:hover:not(:disabled){border-color:var(--color-accent-strong);color:var(--color-text)}.story-soundtrack-play:focus-visible,.story-soundtrack-volume-toggle:focus-visible,.story-soundtrack-retry:focus-visible,.story-soundtrack-editor button:focus-visible,.story-bgm-picker button:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.story-soundtrack-play:disabled,.story-soundtrack-editor button:disabled,.story-bgm-picker button:disabled{opacity:.58;cursor:not-allowed}.story-soundtrack-play[aria-pressed=true],.story-soundtrack-volume-toggle[aria-expanded=true],.story-bgm-intro.is-on,.story-bgm-head>button,.story-bgm-picker>button{background:var(--color-accent-soft);border-color:var(--color-accent-strong);color:var(--color-accent-text-soft)}.story-soundtrack-volume-row{min-height:var(--touch-target-min);flex:100%;align-items:center;display:flex}.story-soundtrack-volume-row input[type=range]{width:100%;min-height:var(--touch-target-min);accent-color:var(--color-accent-strong)}.story-soundtrack-status{align-items:center;gap:var(--space-8);color:var(--color-text-muted);font-size:var(--font-size-14);line-height:var(--line-height-150);flex-wrap:wrap;flex:100%;margin:0;display:flex}.story-bgm-head{justify-content:space-between;align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.story-bgm-tracks,.story-bgm-library{gap:var(--space-12);margin:0;padding:0;list-style:none;display:grid}.story-bgm-track,.story-bgm-library-row{gap:var(--space-8);padding:var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);min-width:0;display:grid}.story-bgm-track-row,.story-bgm-library-row{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.story-bgm-track-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);flex:8rem;overflow:hidden}.story-soundtrack-editor button.story-bgm-help{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding-inline:var(--space-10);background:var(--color-transparent);border-color:var(--color-transparent);color:var(--color-accent-strong);font-weight:var(--font-weight-semibold);margin-inline-start:var(--space-8)}.story-soundtrack-editor button.story-bgm-help[aria-expanded=true]{background:var(--color-accent-soft);border-color:var(--color-accent-strong);color:var(--color-accent-text-soft)}.story-soundtrack-editor .danger-btn,.story-bgm-picker .danger-btn{background:var(--color-danger-surface);border-color:var(--color-danger-border);color:var(--color-danger-text);border-radius:var(--radius-pill)}.story-soundtrack-editor .danger-btn:hover:not(:disabled){background:var(--color-danger-surface);border-color:var(--color-danger-border);color:var(--color-danger-text)}.story-bgm-picker-head{justify-content:space-between;align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.story-bgm-picker-head h3{font-size:var(--font-size-16);font-weight:var(--font-weight-bold);line-height:var(--line-height-140);margin:0}.story-bgm-picker{max-width:32rem;width:calc(100% - var(--space-24))}.story-event-images-editor,.story-event-image-row,.story-event-image-picker{min-width:0}.story-event-images-head,.story-event-image-actions,.story-event-collection-header{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.story-event-collection-header{flex-wrap:nowrap;justify-content:space-between;align-items:flex-start}.story-event-collection-header .create-editor-heading{overflow-wrap:anywhere;flex:auto;min-width:0;margin:0}.story-event-collection-header .btn,.story-event-collection-header .image-studio-close{width:auto;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding-inline:var(--space-10);white-space:nowrap;flex:none;margin:0}.story-event-images-head .btn,.story-event-image-actions .btn,.story-event-images-editor [data-testid=story-event-images-add]{width:auto;min-width:0;min-height:var(--touch-target-min);overflow-wrap:anywhere;flex:8rem;margin:0}.chat-event-collection-entry,[data-testid=chat-event-collection-open],[data-testid=story-trial-event-collection-open],[data-testid=story-event-acquired-open],[data-testid=story-event-collection-retry],.story-event-image-picker [data-testid=story-event-image-upload]{min-width:0;min-height:var(--touch-target-min);overflow-wrap:anywhere}[data-testid=story-event-acquired-open].btn{vertical-align:middle;width:auto;margin:0;display:inline-flex}.story-event-collection-dialog [data-testid=story-event-collection-retry].btn,.story-event-image-picker [data-testid=story-event-image-upload].btn{width:100%;margin:0}.story-event-images-list{gap:var(--space-16);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.story-event-image-row{gap:var(--space-8);flex-direction:column;display:flex}.story-event-image-thumb,.story-event-image-thumb-empty{aspect-ratio:9/16;object-fit:cover;border-radius:var(--radius-8);background:var(--color-chip);width:100%;max-width:9rem;display:block}.story-event-image-thumb-empty{text-align:center;padding:var(--space-8);overflow-wrap:anywhere;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.story-event-image-picker .image-studio-header{flex-wrap:wrap;align-items:flex-start}.story-event-image-picker .image-studio-title{overflow-wrap:anywhere;flex:auto;min-width:0}.story-event-image-picker .form-error,[data-testid=story-event-acquired-hint]{overflow-wrap:anywhere}.story-event-collection-dialog{inline-size:min(100%,28rem)}.story-event-collection-grid{gap:var(--space-12);margin:var(--space-12) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.story-event-collection-card{gap:var(--space-8);width:100%;min-width:0;padding:var(--space-8);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);background:var(--color-surface);color:inherit;text-align:start;flex-direction:column;margin:0;display:flex;overflow:hidden}button.story-event-collection-card{min-height:var(--touch-target-min);cursor:pointer}.story-event-collection-art-frame{aspect-ratio:9/16;border-radius:var(--radius-8);background:var(--color-chip);width:100%;display:block;position:relative;overflow:hidden}.story-event-collection-art,.story-event-collection-art-empty{object-fit:cover;background:var(--color-chip);width:100%;height:100%;min-height:100%;display:block}.story-event-collection-art-empty{min-height:100%}.story-event-collection-card-locked{opacity:.85}.story-event-collection-card-locked .story-event-collection-art{filter:blur(10px)saturate(.4);transform:scale(1.08)}.story-event-collection-name{overflow-wrap:anywhere;font-size:var(--font-size-12)}.story-event-collection-name-locked{color:var(--color-text-muted);font-weight:400}@media (width<=767px){.story-event-images-head .btn,.story-event-image-actions .btn,.story-event-images-editor [data-testid=story-event-images-add],[data-testid=chat-event-collection-open],[data-testid=story-trial-event-collection-open],[data-testid=story-event-acquired-open],[data-testid=story-event-collection-retry]{flex:none;width:100%}}.theme-preview{min-height:100vh;padding:var(--space-24);background:var(--color-background);color:var(--color-text)}.theme-preview-header{max-width:1280px;margin:var(--space-0) var(--space-auto) var(--space-20)}.theme-preview-header p{margin:var(--space-0);color:var(--color-text-muted)}.theme-preview-header h1{margin:var(--space-4) var(--space-0)}.theme-preview-grid{gap:var(--space-16);max-width:1280px;margin:var(--space-0) var(--space-auto);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.theme-preview-card{min-width:0;padding:var(--space-20);border:1px solid var(--color-border-default);border-radius:var(--radius-16);background:var(--color-background);color:var(--color-text)}.theme-preview-card>header span{color:var(--color-text-muted);font-size:var(--font-size-12)}.theme-preview-card>header h2{margin:var(--space-4) var(--space-0) var(--space-16)}.theme-preview-controls,.theme-preview-statuses,.theme-preview-bubbles{margin-top:var(--space-16)}.theme-preview-controls .btn{margin-block:var(--space-4)}.theme-preview-statuses{padding:var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface)}.theme-preview-statuses p{margin:var(--space-6) var(--space-0);color:var(--color-text-muted)}.theme-preview-statuses .error{color:var(--color-danger)}.theme-preview-bubbles{gap:var(--space-10);display:grid}@media (width<=900px){.theme-preview-grid{grid-template-columns:1fr}}:root{--line-length-dialogue:42ch;--line-length-reading:70ch}:lang(ja){font-family:var(--font-family-sans);line-break:strict;word-break:normal;overflow-wrap:anywhere}:lang(ja) :is(.brand,.pcard-name,h1,h2,h3,.section-header,.convo-name,.character-conversation-name){font-feature-settings:"palt" 1}:lang(ja) .bubble{line-height:var(--line-height-170);max-inline-size:min(78%, var(--line-length-dialogue))}:lang(ja) :is(.legal-doc,.detail-long){max-inline-size:var(--line-length-reading)}.page-shell{min-inline-size:var(--space-0)}.section-header{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}:where(.dialog-backdrop){inset:var(--space-0);z-index:1000;padding:var(--space-16);background:var(--color-overlay,var(--color-black-alpha-45));place-items:center;display:grid;position:fixed}:where(.dialog-surface){inline-size:min(100%,520px);max-block-size:calc(100dvh - var(--space-32));padding:var(--space-16);border:1px solid var(--color-border-default);border-radius:var(--radius-16);background:var(--color-surface);color:var(--color-text);box-shadow:var(--elevation-popover);overflow:auto}.report-dialog{padding:var(--space-0)}.report-dialog .report-panel{margin:var(--space-0);border:0}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--space-2) solid var(--color-focus,var(--color-accent));outline-offset:var(--space-3)}.bottomnav{padding-bottom:max(var(--space-10), env(safe-area-inset-bottom))}.nav-item{border-radius:var(--radius-10)}.nav-item.active{background:var(--color-accent-soft,var(--color-chip))}.route-loading-state{min-block-size:100dvh;padding:var(--space-24);color:var(--color-text-muted);background:var(--color-background);place-content:center;display:grid}.bottomnav--phone-hidden{display:none}:where(.dialog-backdrop:not(.greetings-revise-overlay,.image-viewer-overlay,.story-quest-confirm-overlay)){place-items:end center;padding:0}:where(.dialog-surface:not(.greetings-revise-drawer,.image-viewer,.story-quest-confirm)){border-radius:var(--radius-16) var(--radius-16) 0 0;max-block-size:90dvh;inline-size:100%;padding-bottom:max(var(--space-16), env(safe-area-inset-bottom));border-bottom:0}.report-dialog .report-panel{padding-bottom:max(var(--space-14), env(safe-area-inset-bottom))}.nav-expand-handle,.nav-scrim{display:none}.convo-list{margin:0;padding:0;list-style:none}.convo-item{border-bottom:1px solid var(--color-border-subtle);transition:background .12s}.convo-link{align-items:flex-start;gap:var(--space-12);min-height:72px;padding:var(--space-12) var(--space-4);color:var(--color-text);border-radius:var(--radius-8);text-decoration:none;display:flex}.convo-link:hover{background:var(--color-surface-subtle)}.convo-link:active{background:var(--color-accent-soft)}.convo-link>.avatar,.convo-link>.avatar-fallback{border-radius:var(--radius-round);flex:0 0 48px;width:48px;height:48px}.convo-meta{align-items:baseline;column-gap:var(--space-8);row-gap:var(--space-4);flex:auto;grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.convo-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-15);line-height:var(--line-height-140);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;grid-column:1/2;overflow:hidden}.convo-time{font-size:var(--font-size-12);color:var(--color-text-muted);white-space:nowrap;line-height:var(--line-height-140);grid-area:1/2/auto/3;justify-self:end}.convo-last{font-size:var(--font-size-13);color:var(--color-text-muted);line-height:var(--line-height-150);-webkit-line-clamp:2;text-overflow:ellipsis;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;grid-column:1/-1;margin:0;display:-webkit-box;overflow:hidden}@media (width>=768px){#root:has(.bottomnav){padding-left:68px}:where(.dialog-backdrop:not(.greetings-revise-overlay,.image-viewer-overlay)){padding:var(--space-16);place-items:center}:where(.dialog-surface:not(.greetings-revise-drawer,.image-viewer)){inline-size:min(100%,520px);max-block-size:calc(100dvh - var(--space-32));border-radius:var(--radius-16);border-bottom:1px solid var(--color-border-default);padding-bottom:var(--space-16)}.report-dialog .report-panel{padding-bottom:var(--space-14)}.bottomnav{z-index:100;justify-content:flex-start;gap:var(--space-8);width:68px;padding:var(--space-16) var(--space-4);border-top:0;border-right:1px solid var(--color-border-subtle);flex-direction:column;position:fixed;inset:0 auto 0 0}.bottomnav.expanded{width:154px;box-shadow:var(--elevation-popover)}.bottomnav--phone-hidden{display:flex}.nav-item{gap:var(--space-10);width:100%;padding:var(--space-10) var(--space-12);text-align:center;white-space:nowrap;word-break:keep-all;flex-direction:row;flex:none;font-size:11px;line-height:1.2}.nav-icon{flex:0 0 24px;display:flex}.nav-icon svg{display:block}.bottomnav:not(.expanded) .nav-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.bottomnav.expanded .nav-item{justify-content:flex-start}.nav-expand-handle{width:var(--touch-target-min);height:var(--touch-target-min);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);background:var(--color-surface-subtle);color:var(--color-text-muted);cursor:pointer;flex:none;align-self:center;place-items:center;padding:0;display:grid}.app:has(>.bottomnav){padding-bottom:var(--space-16)}.app.home-page,.app.search-hub{max-width:896px}.search-hub .search-tabs{padding-block:var(--space-4);flex-wrap:wrap;overflow:visible}.search-hub .search-tabs .tab{padding-inline:var(--space-24);flex:none}.search-hub .discovery-results{gap:var(--space-12) var(--space-16);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"search search""audience audience""genres genres""toolbar toolbar""results results";display:grid}.search-hub .discovery-results>.search-control{margin:var(--space-16) 0 var(--space-4);grid-area:search}.search-hub .tabs.audience{grid-area:audience;margin:0}.search-hub .genre-chips{padding-block:var(--space-4);flex-wrap:wrap;grid-area:genres;margin:0;overflow:visible}.search-hub .search-filter-row{grid-area:toolbar;margin:0}.search-hub .discovery-results>.grid{grid-area:results}.app.detail.character-profile,.app.conversations,.app.detail.chat-surface,.app.detail.create-page{max-width:896px}.character-profile-hero{column-gap:var(--space-24);grid-template-columns:clamp(240px,32%,320px) minmax(0,1fr);align-items:start;display:grid}.character-profile-hero>.character-profile-cover{aspect-ratio:3/4;grid-column:1;height:auto;min-height:0;margin:0}.character-profile-hero-body{flex-direction:column;grid-column:2;min-width:0;display:flex}.convo-link{padding:var(--space-14) 0;min-height:76px}}@media (width>=1024px){.app.home-page{max-width:896px}.app.detail.chat-surface,.app.detail.create-page{max-width:1200px}.create-layout{gap:var(--space-16);grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"steps steps""form preview";align-items:start;display:grid}.create-layout>.create-step-nav{grid-area:steps}.create-layout>.create-form{grid-area:form}.create-preview-pane{top:var(--space-16);border-left:1px solid var(--color-border-subtle);max-height:calc(100dvh - 32px);padding-left:var(--space-16);grid-area:preview;position:sticky;overflow:auto}.create-page .create-form>.chat-actions button{width:auto}.chat-surface .chat-shell:has(.chat-history-rail){grid-template-columns:minmax(240px,280px) minmax(300px,1fr) minmax(300px,340px)}.convo-list{gap:var(--space-8);flex-direction:column;display:flex}.convo-item{border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);padding:0 var(--space-16);transition:background .15s,border-color .15s}.convo-item:hover{background:var(--color-surface-subtle);border-color:var(--color-border-default)}}@media (width>=768px) and (width<=1023px){.nav-scrim{z-index:-1;background:var(--color-overlay,var(--color-black-alpha-45));border:0;padding:0;display:block;position:fixed;inset:0 0 0 154px}}@media (width>=1512px){.app.detail.chat-surface{max-width:1320px}.create-layout{grid-template-columns:minmax(0,1fr) 420px}}@media (prefers-reduced-motion:reduce){.bottomnav{transition:none}}.topbar-actions{align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.home-page .topbar{flex-wrap:wrap}.home-page .topbar-actions,.home-page .topbar-right{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;max-width:100%}.social-bell{width:44px;height:44px;color:var(--color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.social-bell:hover{background:var(--color-surface-subtle)}.social-bell>span{background:var(--color-accent-strong);color:var(--color-accent-on);text-align:center;border-radius:10px;min-width:17px;padding:0 3px;font-size:10px;line-height:17px;position:absolute;top:1px;right:0}.social-page .topbar h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:18px;overflow:hidden}.social-content,.social-feed{box-sizing:border-box;width:100%;max-width:760px;margin:0 auto;padding:24px 16px 48px}.social-content h2,.social-discussion h2,.social-feed h2,.social-relationships h2{margin:0 0 16px;font-size:20px;line-height:1.5}.social-content h3{margin:0 0 12px;font-size:15px}.social-row{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.social-between{justify-content:space-between}.social-meta{color:var(--color-text-muted);font-size:13px;line-height:1.65}.social-plaintext{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;line-height:1.8}.social-clamped{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.social-author{color:var(--color-text);overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.social-author:hover{text-decoration:underline}.social-avatar{object-fit:cover;background:var(--color-surface-subtle);border-radius:50%;flex-shrink:0;width:30px;height:30px}.social-avatar-large{width:72px;height:72px}.social-profile-head{padding-bottom:24px}.social-profile-head h2{margin:0}.social-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;display:flex}.social-actions>a,.social-text-link,.social-story-link{align-items:center;min-height:44px;font-size:14px;display:inline-flex}.social-text-button{color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:44px;padding:10px 4px;font-size:14px}.social-text-button:hover{color:var(--color-accent-strong);background:var(--color-surface-subtle)}.social-text-button[aria-pressed=true]{color:var(--color-accent-strong);font-weight:700}.social-text-button:disabled{opacity:.5;cursor:default}.social-primary{background:var(--color-accent-strong)!important;color:var(--color-accent-on)!important;border-color:var(--color-accent-strong)!important}.social-primary:disabled{opacity:.55}.social-tabs{gap:var(--space-4);border-bottom:1px solid var(--color-border-subtle);min-width:0;display:flex;overflow:auto}.social-tabs>a,.social-tabs>button{min-height:48px;padding:0 var(--space-16);color:var(--color-text-muted);font:inherit;font-size:var(--font-size-14);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;text-decoration:none;transition:color .14s,border-color .14s;display:inline-flex}.social-tabs>a:hover,.social-tabs>button:hover{color:var(--color-text)}.social-tabs [aria-current=page]{border-bottom-color:var(--color-accent-strong);color:var(--color-text);font-weight:var(--font-weight-bold)}.social-home-tabs{scrollbar-width:none;min-height:49px;padding:0}.social-home-tabs>a{padding-inline:var(--space-12);flex-shrink:0}.social-tabs+div,.social-tabs+.social-meta{margin-top:20px}.social-filters{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.social-filters button{border:1px solid var(--color-border-subtle);background:var(--color-surface);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:24px;padding:9px 16px;font-size:13px}.social-filters button[aria-pressed=true]{background:var(--color-accent-soft);border-color:var(--color-accent-strong);color:var(--color-accent-text-soft)}.social-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.social-work-card{border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:12px;min-width:0;margin:12px 0;padding:14px}.social-work-card>a{color:var(--color-text);align-items:flex-start;gap:14px;text-decoration:none;display:flex}.social-work-card>a>span{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.social-work-card strong{font-size:15px;line-height:1.5}.social-work-card img{object-fit:cover;border-radius:8px;width:64px;height:80px}.social-work-card .social-author{margin-top:12px}.social-post{border-bottom:1px solid var(--color-border-subtle);overflow-wrap:anywhere;padding:22px 0}.social-post>.social-badge{margin-top:12px;margin-right:8px}.social-badge{background:var(--color-surface-subtle);color:var(--color-text-secondary);border-radius:6px;padding:3px 8px;font-size:12px;line-height:1.5;display:inline-flex}.social-discussion{border-top:1px solid var(--color-border-subtle);box-sizing:border-box;max-width:760px;margin:32px auto 0;padding:24px 16px}.social-content .social-discussion{padding-left:0;padding-right:0}.social-thread{border-bottom:1px solid var(--color-border-subtle);overflow-wrap:anywhere;padding:20px 0;scroll-margin-top:90px}.social-thread>.social-meta{margin:4px 0}.social-replies{border-left:2px solid var(--color-border-subtle);margin:16px 0 0;padding-left:18px}.social-replies article{padding:14px 0;scroll-margin-top:90px}.social-target{outline:2px solid var(--color-accent-strong);outline-offset:5px;border-radius:8px}.social-spoiler{background:var(--color-surface-subtle);border-radius:10px;margin:12px 0;padding:16px}.social-spoiler p{color:var(--color-text-muted);margin:0;font-size:14px}.social-menu{background:var(--color-surface-subtle);border-radius:10px;flex-wrap:wrap;gap:2px 12px;padding:8px 12px;display:flex}.social-composer{background:var(--color-surface-subtle);border:1px solid var(--color-border-subtle);border-radius:12px;margin:18px 0;padding:16px}.social-composer>label,.social-composer>.social-row>label{font-size:14px;font-weight:600}.social-composer textarea,.social-dialog textarea,.social-dialog select{box-sizing:border-box;width:100%;font:inherit;color:var(--color-text);background:var(--color-field-surface);border:1px solid var(--color-border-default);resize:vertical;border-radius:8px;min-height:44px;margin:12px 0;padding:12px;font-size:16px;line-height:1.7}.social-composer textarea[readonly]{background:var(--color-surface-subtle)}.social-composer>.social-meta{margin-bottom:0;font-size:12px}.social-composer-extra{border:0;min-width:0;margin:10px 0;padding:0}.social-checkbox{align-items:center;gap:8px;min-height:44px;font-size:13px;line-height:1.5;display:flex}.social-checkbox input{width:18px;height:18px;accent-color:var(--color-accent-strong);flex-shrink:0}.social-field{margin-top:10px;font-size:14px;display:block}.social-submission{border:1px solid var(--color-border-default);background:var(--color-surface);overflow-wrap:anywhere;border-radius:12px;margin:18px 0;padding:18px}.social-submission details{font-size:14px}.social-submission summary{cursor:pointer;min-height:32px}.social-notice{background:var(--color-surface-subtle);border-left:3px solid var(--color-border-strong);border-radius:6px;padding:12px 16px;font-size:14px;line-height:1.7}.social-error{color:var(--color-danger-text);overflow-wrap:anywhere;margin:12px 0;font-size:14px;line-height:1.7}.social-empty{text-align:center;color:var(--color-text-muted);padding:48px 12px;line-height:1.8}.social-empty h2{color:var(--color-text)}.social-empty .btn{margin-top:16px}.social-dialog{box-sizing:border-box;background:var(--color-surface);width:calc(100vw - 32px);max-width:600px;max-height:calc(100dvh - 40px);color:var(--color-text);border-radius:16px;padding:24px;overflow-y:auto}.social-dialog h2{margin:0 0 16px;font-size:20px}.social-dialog .social-composer{margin-bottom:0}.social-notification{border:0;border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;cursor:pointer;text-align:left;overflow-wrap:anywhere;flex-direction:column;gap:8px;padding:20px 16px;display:flex}.social-notification strong{font-size:14px;line-height:1.65}.social-notification>span{font-size:14px;line-height:1.7}.social-notification time{color:var(--color-text-muted);font-size:12px}.social-notification.unread{background:var(--color-accent-soft);box-shadow:inset 3px 0 var(--color-accent-strong)}.social-notification:hover{background:var(--color-surface-subtle)}.social-notification-settings{border-top:1px solid var(--color-border-subtle);margin-top:32px;padding:16px 0;font-size:14px}.social-notification-settings summary{cursor:pointer;min-height:44px}.social-relationship{border-bottom:1px solid var(--color-border-subtle);padding:16px 0}.social-relationships{margin:24px 0}.social-story-link{color:var(--color-accent-strong);text-decoration:none}.social-page :focus-visible,.social-discussion :focus-visible,.social-bell:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:3px}.social-page .btn,.social-discussion .btn,.social-relationships .btn{min-height:44px}@media (width<=520px){.social-content,.social-feed{padding:20px 12px 32px}.social-work-grid{grid-template-columns:1fr}.social-dialog{padding:18px 14px}.social-dialog .social-composer{padding:12px}.social-page .topbar{gap:8px}.social-page .topbar h1{font-size:16px}.social-page .topbar .user-switcher{max-width:120px}.social-replies{padding-left:12px}.social-composer{padding:12px}.social-tabs>a,.social-tabs>button{padding:0 10px}.topbar-actions{gap:4px}.social-notification{padding:18px 12px}.social-discussion{padding:20px 12px}.social-actions{gap:4px 12px}}@media (prefers-reduced-motion:reduce){.social-thread,.social-replies article{scroll-behavior:auto}}.social-field input,.social-field select{box-sizing:border-box;width:100%;font:inherit;min-height:44px;color:var(--color-text);background:var(--color-field-surface);border:1px solid var(--color-border-default);border-radius:8px;margin-top:8px;padding:10px 12px;font-size:16px}.social-field input:disabled,.social-field select:disabled{opacity:.65}
