.turn-input-composer{display:grid;min-width:0;gap:9px}.turn-tools-head{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:14px;margin:0 0 1px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--ink-soft) 78%,var(--teal) 8%)}.turn-tools-copy{display:grid;min-width:0;gap:2px}.turn-tools-copy strong{color:var(--paper);font-size:.8rem;font-weight:700}.turn-tools-copy span{color:var(--paper-muted);font-size:.7rem;line-height:1.45}.turn-tools-switch{position:relative;display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;gap:9px;color:var(--paper-dim);cursor:pointer;font-size:.74rem;font-weight:700}.turn-tools-switch input{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.turn-tools-switch-track{display:inline-flex;width:48px;height:28px;align-items:center;padding:3px;border:1px solid var(--line-strong);border-radius:999px;background:var(--ink-hover);transition:background-color .18s ease,border-color .18s ease}.turn-tools-switch-track>span{width:20px;height:20px;border-radius:50%;background:var(--paper-muted);transition:transform .18s ease,background-color .18s ease}.turn-tools-switch input:checked+.turn-tools-switch-track{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 28%,var(--ink-soft))}.turn-tools-switch input:checked+.turn-tools-switch-track>span{transform:translate(20px);background:var(--teal)}.turn-tools-switch:focus-within .turn-tools-switch-track{outline:2px solid var(--teal);outline-offset:3px}.turn-input-label{color:var(--paper-dim);font-size:.83rem;font-weight:650}.turn-input-composer>textarea{width:100%;min-height:118px;resize:vertical;line-height:1.72}.turn-text-tools{display:flex;min-width:0;flex-wrap:wrap;gap:7px;margin-top:1px}.turn-tool-button{display:inline-flex;min-height:44px;flex:0 1 auto;align-items:center;justify-content:center;gap:7px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:9px;color:var(--paper);background:var(--ink-soft);cursor:pointer;font-size:.73rem;line-height:1.25;text-align:left;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.turn-tool-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--teal) 70%,var(--line-strong));background:color-mix(in srgb,var(--teal) 12%,var(--ink-soft))}.turn-tool-content{border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}.turn-tool-guidance{color:var(--paper-dim)}.turn-tool-button code{color:var(--teal);font-size:.66rem;white-space:nowrap}.turn-input-help{margin:0;color:var(--paper-muted);font-size:.71rem;line-height:1.55}.turn-input-plain-warning{margin:0;padding:8px 10px;border-left:2px solid var(--gold);color:var(--paper-dim);background:color-mix(in srgb,var(--gold) 8%,transparent);font-size:.72rem}.turn-tools-message{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:0;padding:9px 11px;border:1px solid color-mix(in srgb,var(--rose) 36%,var(--line));border-radius:9px;color:var(--paper-dim);background:color-mix(in srgb,var(--rose) 7%,var(--ink-soft));font-size:.72rem}.turn-tools-message p{flex:1 1 220px;margin:0}.turn-tools-message .button{min-height:38px;padding:6px 9px;font-size:.7rem}.turn-input-errors{padding:10px 12px;border:1px solid color-mix(in srgb,var(--rose) 42%,var(--line));border-radius:9px;color:var(--paper);background:color-mix(in srgb,var(--rose) 8%,var(--ink-soft));font-size:.74rem}.turn-input-errors strong{display:block;margin-bottom:4px;color:var(--rose)}.turn-input-errors ul{margin:0;padding-left:19px}.turn-input-preview{display:grid;min-width:0;gap:7px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--ink-soft) 85%,var(--teal) 4%)}.turn-preview-heading{color:var(--paper-muted);font-size:.67rem;font-weight:750;letter-spacing:.035em}.turn-preview-block{display:grid;min-width:0;gap:5px;padding:8px 9px;border-left:2px solid color-mix(in srgb,var(--teal) 56%,transparent);border-radius:6px;background:color-mix(in srgb,var(--ink-raised) 88%,transparent)}.turn-preview-content{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px}.turn-preview-content>span,.turn-display-content>span{color:var(--teal);font-size:.68rem;font-weight:750;white-space:nowrap}.turn-preview-content p{min-width:0;margin:0;color:var(--paper);font-size:.75rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.turn-preview-annotation,.turn-display-annotation{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:5px 8px;margin-left:13px;color:var(--paper-dim);font-size:.69rem;line-height:1.5}.turn-preview-annotation strong,.turn-display-annotation strong{color:var(--gold-bright);font-size:.66rem;font-weight:700}.turn-preview-thought strong,.turn-display-thought strong{color:var(--paper-muted)}.turn-preview-annotation span,.turn-display-annotation span{min-width:0;overflow-wrap:anywhere}.turn-input-display{display:grid;min-width:0;gap:7px}.turn-display-block{display:grid;min-width:0;gap:3px}.turn-display-content{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px}.turn-display-content p{min-width:0;margin:0;color:var(--paper);line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.turn-input-plain-text{white-space:pre-wrap;overflow-wrap:anywhere}.turn-card .turn-display-content p{margin:0}.timeline-turn-input{display:grid;min-width:0;gap:5px;margin:8px 0}.timeline-turn-input>strong{font-size:.79rem}@media(max-width:620px){.turn-tools-head{align-items:flex-start;gap:8px;padding:10px}.turn-tools-switch{gap:6px;font-size:.68rem}.turn-tool-button{flex:1 1 calc(50% - 7px);justify-content:space-between;padding-inline:9px}.turn-input-composer>textarea{min-height:136px}.turn-preview-content,.turn-display-content{grid-template-columns:1fr;gap:2px}}@media(prefers-reduced-motion:reduce){.turn-tools-switch-track,.turn-tools-switch-track>span,.turn-tool-button{transition:none}}.idea-workspace{--idea-line: var(--line, color-mix(in srgb, var(--paper) 16%, transparent));--idea-line-strong: var(--line-strong, color-mix(in srgb, var(--paper) 30%, transparent));display:flex;min-width:0;min-height:0;flex-direction:column;color:var(--paper);font-family:var(--ui-font, "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif)}.idea-page-heading,.idea-drawer-heading,.idea-editor-titleline,.idea-direction-heading,.idea-prompt-footer,.idea-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.idea-page-heading{margin-bottom:20px}.idea-page-heading h1{margin:0;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:620;letter-spacing:-.04em}.idea-page-heading p:last-child{max-width:690px;margin:8px 0 0;color:var(--paper-dim);line-height:1.7}.idea-page-heading .eyebrow{margin:0 0 5px;color:var(--paper-muted)}.idea-workbench{display:grid;min-height:560px;flex:1 1 auto;grid-template-columns:minmax(205px,260px) minmax(0,1fr);overflow:hidden;border:1px solid var(--idea-line);border-radius:14px;background:color-mix(in srgb,var(--ink-soft) 76%,transparent)}.idea-rail{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border-right:1px solid var(--idea-line);background:color-mix(in srgb,var(--ink) 40%,transparent)}.idea-section-tabs{display:grid;grid-template-columns:1fr;padding:8px;border-bottom:1px solid var(--idea-line)}.idea-section-tabs button{display:flex;min-height:40px;align-items:center;justify-content:space-between;border:0;border-left:2px solid transparent;padding:8px 10px;color:var(--paper-dim);background:transparent;font:inherit;text-align:left;cursor:pointer}.idea-section-tabs button[aria-pressed=true]{border-left-color:var(--teal);color:var(--paper);background:color-mix(in srgb,var(--teal) 9%,transparent)}.idea-section-tabs button span{color:var(--paper-muted);font-size:.77rem}.idea-section-tabs button:focus-visible,.idea-list-item:focus-visible,.idea-direction button:focus-visible,.idea-drawer-heading button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.idea-search-label{display:grid;gap:6px;padding:12px 12px 8px;color:var(--paper-muted);font-size:.75rem}.idea-search-label input,.idea-saved-editor input,.idea-saved-editor textarea{width:100%;min-width:0}.idea-list{display:flex;min-height:0;flex-direction:column;gap:2px;overflow-y:auto;padding:4px 7px 12px}.idea-list-item{display:block;width:100%;min-width:0;border:1px solid transparent;border-radius:8px;padding:10px 10px 9px;color:var(--paper);background:transparent;text-align:left;cursor:pointer}.idea-list-item:hover{background:color-mix(in srgb,var(--ink-hover) 45%,transparent)}.idea-list-item.is-selected{border-color:var(--idea-line);background:var(--ink-soft)}.idea-list-item strong,.idea-list-item span,.idea-list-item p{display:block;overflow:hidden;text-overflow:ellipsis}.idea-list-item strong{color:var(--paper);font-size:.88rem;font-weight:620}.idea-list-item span{margin-top:3px;color:var(--paper-muted);font-size:.7rem}.idea-list-item p{display:-webkit-box;margin:6px 0 0;overflow:hidden;color:var(--paper-dim);font-size:.76rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.idea-empty-list{margin:0;padding:14px 10px;color:var(--paper-muted);font-size:.82rem}.idea-trash-item{display:flex;align-items:flex-start;gap:8px}.idea-trash-item .idea-list-copy{min-width:0;flex:1}.idea-editor{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;padding:clamp(15px,2vw,24px)}.idea-editor-titleline{align-items:flex-start}.idea-editor-titleline .eyebrow{margin:0 0 4px;color:var(--paper-muted);font-size:.68rem}.idea-editor-titleline h3{margin:0;font-size:1.15rem;font-weight:620}.idea-proposal-note{margin:8px 0 12px;color:var(--gold-bright);font-size:.78rem}.idea-message-meta{display:flex;align-items:center;gap:9px;color:var(--paper-muted);font-size:.76rem}.idea-message-meta strong{color:var(--paper);font-weight:620}.idea-message-meta span{border-left:1px solid var(--idea-line-strong);padding-left:9px}.idea-message>p{margin:7px 0 0;color:var(--paper);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.idea-history{display:flex;min-height:90px;flex:1 1 auto;flex-direction:column;gap:14px;overflow-y:auto;padding:4px 2px 14px;overscroll-behavior:contain}.idea-message{min-width:0;border-bottom:1px solid var(--idea-line);padding:0 0 14px}.idea-message-user{padding-left:12px;border-left:2px solid var(--gold)}.idea-message-assistant{padding-right:2px}.idea-empty-history{display:grid;min-height:130px;align-content:center;gap:5px;color:var(--paper-dim);text-align:left}.idea-empty-history p{margin:0}.idea-empty-history span{color:var(--paper-muted);font-size:.8rem}.idea-directions{display:grid;gap:9px;margin-top:12px}.idea-recommendation-rationale{margin:0 0 2px;color:var(--paper-dim);font-size:.82rem;line-height:1.6}.idea-direction{border:1px solid var(--idea-line);border-radius:8px;padding:12px 13px;background:color-mix(in srgb,var(--ink) 26%,transparent)}.idea-direction.is-recommended{border-left:3px solid var(--teal);padding-left:11px;background:color-mix(in srgb,var(--teal) 7%,var(--ink-soft))}.idea-direction-heading{align-items:flex-start}.idea-direction h4{margin:0;font-size:.95rem;font-weight:620}.idea-recommended-label{flex:0 0 auto;color:var(--teal);font-size:.72rem;font-weight:720}.idea-direction p{margin:8px 0 11px;color:var(--paper-dim);font-size:.84rem;line-height:1.65;white-space:pre-wrap}.idea-prompt-form{display:grid;flex:0 0 auto;gap:8px;border-top:1px solid var(--idea-line);padding-top:12px}.idea-prompt-form>label,.idea-saved-editor label{color:var(--paper-dim);font-size:.82rem;font-weight:620}.idea-prompt-form textarea{width:100%;min-height:76px;max-height:180px;resize:vertical}.idea-prompt-form textarea:focus-visible{border-color:var(--teal);outline:2px solid color-mix(in srgb,var(--teal) 35%,transparent);outline-offset:1px}.idea-prompt-footer{color:var(--paper-muted);font-size:.72rem}.idea-save-status.is-error{color:var(--rose)}.idea-save-status.is-saving,.idea-save-status.is-pending{color:var(--gold-bright)}.idea-generate-button{justify-self:start}.idea-saved-editor{display:grid;gap:13px;align-content:start}.idea-saved-editor label{display:grid;gap:6px}.idea-saved-editor textarea{resize:vertical}.idea-actions{justify-content:flex-start}.idea-empty-editor{display:grid;min-height:260px;align-content:center;justify-items:start;gap:10px}.idea-empty-editor h3{margin:0;font-size:1.1rem}.idea-empty-editor p{max-width:520px;margin:0;color:var(--paper-dim);line-height:1.7}.idea-guardrail{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;border-left:2px solid var(--gold);padding:8px 10px;color:var(--paper-dim);background:color-mix(in srgb,var(--gold) 6%,transparent)}.idea-guardrail>span{color:var(--gold-bright);font-size:1.05rem}.idea-guardrail p{margin:0;font-size:.78rem;line-height:1.6}.idea-error{margin:0 0 10px;border-left:2px solid var(--rose);padding:7px 10px;color:var(--rose);background:color-mix(in srgb,var(--rose) 7%,transparent);font-size:.8rem}.idea-workspace-footer{margin:12px 0 0;color:var(--paper-muted);font-size:.73rem}.idea-drawer-dialog{position:fixed;inset:0 0 0 auto;display:none;width:min(660px,52vw);max-width:none;height:100dvh;max-height:100dvh;margin:0;overflow:hidden;border:0;border-left:1px solid var(--idea-line-strong);padding:0;color:var(--paper);background:var(--ink);box-shadow:-18px 0 55px #00000047}.idea-drawer-dialog[open]{display:flex}.idea-drawer-dialog::backdrop{background:#0000008a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.idea-drawer-dialog .idea-workspace{width:100%;height:100%}.idea-drawer-dialog .idea-workbench{min-height:0;grid-template-columns:minmax(172px,34%) minmax(0,1fr);border:0;border-radius:0}.idea-drawer-heading{position:relative;flex:0 0 auto;padding:18px 20px 14px;border-bottom:1px solid var(--idea-line)}.idea-drawer-heading h2{margin:0;font-size:1.1rem;font-weight:650}.idea-drawer-heading p{margin:3px 0 0;color:var(--paper-muted);font-size:.76rem}.idea-drawer-dialog .idea-guardrail{margin:10px 16px 8px;flex:0 0 auto}.idea-drawer-dialog .idea-editor{padding:14px}.idea-drawer-dialog .idea-section-tabs{grid-template-columns:1fr}@media(max-width:760px){.idea-page-heading{align-items:flex-start;flex-direction:column}.idea-page-heading .button{min-height:42px}.idea-workbench{min-height:620px;grid-template-columns:minmax(0,1fr)}.idea-rail{max-height:210px;border-right:0;border-bottom:1px solid var(--idea-line)}.idea-section-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.idea-section-tabs button{justify-content:center;gap:6px;border-left:0;border-bottom:2px solid transparent;padding-inline:5px;text-align:center}.idea-section-tabs button[aria-pressed=true]{border-bottom-color:var(--teal)}.idea-search-label{grid-template-columns:auto minmax(0,1fr);align-items:center;padding:8px 10px}.idea-list{display:grid;grid-auto-columns:minmax(170px,72%);grid-auto-flow:column;overflow-x:auto;overflow-y:hidden}.idea-trash-item{display:flex}.idea-editor{padding:13px}.idea-workspace-footer{padding-bottom:env(safe-area-inset-bottom)}.idea-drawer-dialog{inset:auto 0 0;width:100%;height:min(60dvh,620px);max-height:calc(100dvh - env(safe-area-inset-top) - 8px);border:1px solid var(--idea-line-strong);border-bottom:0;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom);transition:height .18s ease-out}.idea-drawer-dialog.is-expanded{height:min(92dvh,820px)}.idea-drawer-heading{min-height:62px;padding:13px 16px 10px}.idea-drawer-heading>div:nth-child(2){padding-top:6px}.idea-sheet-grip{position:absolute;top:7px;left:50%;width:34px;height:4px;border-radius:99px;background:var(--paper-muted);opacity:.65;transform:translate(-50%)}.idea-drawer-dialog .idea-guardrail{margin:8px 12px 6px;padding-block:6px}.idea-drawer-dialog .idea-workbench{display:flex;min-height:0;flex:1 1 auto;flex-direction:column}.idea-drawer-dialog .idea-rail{max-height:102px;flex:0 0 auto;border-bottom:1px solid var(--idea-line)}.idea-drawer-dialog .idea-section-tabs{display:flex;flex:0 0 auto;padding:2px 8px}.idea-drawer-dialog .idea-section-tabs button{min-height:34px;flex:1 1 0}.idea-drawer-dialog .idea-search-label{display:none}.idea-drawer-dialog .idea-list{display:grid;min-height:38px;grid-auto-columns:minmax(140px,58%);grid-auto-flow:column;overflow-x:auto;overflow-y:hidden;padding:2px 6px 5px}.idea-drawer-dialog .idea-list-item{min-height:34px;padding:5px 7px}.idea-drawer-dialog .idea-list-item span,.idea-drawer-dialog .idea-list-item p{display:none}.idea-drawer-dialog .idea-trash-item .button{min-height:30px}.idea-drawer-dialog .idea-editor{min-height:0;flex:1 1 auto;padding:10px 13px calc(10px + env(safe-area-inset-bottom))}.idea-drawer-dialog .idea-editor-titleline{flex:0 0 auto}.idea-drawer-dialog .idea-proposal-note{margin:4px 0 7px}.idea-drawer-dialog .idea-history{min-height:54px}.idea-drawer-dialog .idea-prompt-form{padding-top:8px}.idea-drawer-dialog .idea-prompt-form textarea{min-height:56px;max-height:120px}.idea-drawer-dialog .idea-generate-button{min-height:38px}}@media(prefers-reduced-motion:reduce){.idea-drawer-dialog{transition:none}}.idea-play-entry{display:flex;justify-content:flex-end;margin-block:-8px 12px}.idea-play-entry .button{gap:8px}:root{font-family:Leelawadee UI,Noto Sans Thai,Tahoma,sans-serif;color:#292920;background:#f3f0e8;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:light;--ink: #f3f0e8;--ink-soft: #faf8f1;--ink-raised: #fffdf7;--ink-hover: #e9e4d7;--line: rgba(47, 45, 35, .12);--line-strong: rgba(47, 45, 35, .22);--paper: #292920;--paper-dim: #505247;--paper-muted: #666b5e;--gold: #866638;--gold-bright: #63491f;--teal: #426b5b;--rose: #a8493e;--shadow: 0 18px 44px rgba(47, 43, 31, .1)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--ink);color:var(--paper);font-family:Leelawadee UI,Noto Sans Thai,Tahoma,sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.52}a{color:inherit}::selection{color:#111718;background:var(--teal)}:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.theme-ink{--ink: #171c19;--ink-soft: #202722;--ink-raised: #272f29;--ink-hover: #343d35;--line: rgba(237, 235, 219, .12);--line-strong: rgba(237, 235, 219, .24);--paper: #efeee5;--paper-dim: #c8c9bd;--paper-muted: #a7ad9f;--gold: #b89a62;--gold-bright: #dfc88f;--teal: #8cb5a4;--rose: #e39a8b;color-scheme:dark;color:var(--paper);background-color:var(--ink)}.theme-parchment{--ink: #f3f0e8;--ink-soft: #faf8f1;--ink-raised: #fffdf7;--ink-hover: #e9e4d7;--line: rgba(47, 45, 35, .12);--line-strong: rgba(47, 45, 35, .22);--paper: #292920;--paper-dim: #505247;--paper-muted: #666b5e;--gold: #866638;--gold-bright: #63491f;--teal: #426b5b;--rose: #a8493e;color-scheme:light;color:var(--paper);background-color:var(--ink)}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 14px;transform:translateY(-150%);border-radius:8px;color:#101416;background:var(--gold-bright);font-weight:700}.skip-link:focus{transform:translateY(0)}.boot-screen{display:grid;min-height:100vh;place-items:center;color:var(--paper-dim);font-size:1.05rem}.auth-shell{display:flex;min-height:100vh;flex-direction:column;justify-content:center;align-items:center;padding:48px 22px 24px;background:radial-gradient(ellipse at 23% 18%,rgba(103,140,121,.14),transparent 31rem),radial-gradient(ellipse at 84% 74%,rgba(181,143,78,.08),transparent 28rem),#101416}.auth-brand{display:flex;width:min(100%,500px);align-items:center;gap:18px;margin:0 0 28px}.auth-brand h1{margin:3px 0 4px;color:var(--paper);font-size:clamp(1.7rem,5vw,2.15rem);letter-spacing:-.055em}.auth-brand p:last-child{margin:0;color:var(--paper-dim)}.brand-mark{display:grid;width:58px;height:58px;flex:0 0 auto;place-items:center;border:1px solid rgba(210,181,120,.38);border-radius:18px;color:var(--gold-bright);background:linear-gradient(145deg,#d2b57829,#6daba014);box-shadow:inset 0 1px #ffffff14,0 12px 34px #00000029;font-size:1.55rem}.small-mark{width:42px;height:42px;border-radius:14px;font-size:1.2rem}.eyebrow{margin:0 0 8px;color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}.auth-card{width:min(100%,500px);padding:clamp(24px,6vw,42px);border:1px solid var(--line-strong);border-radius:22px;background:linear-gradient(145deg,#1d2627fa,#13191afa);box-shadow:var(--shadow)}.auth-card h2{margin:0 0 8px;font-size:1.5rem;letter-spacing:-.03em}.auth-card>.muted{margin:0 0 24px}.auth-footer{margin-top:34px;color:#78827d;font-size:.66rem;letter-spacing:.16em;text-align:center}.auth-footer span{padding:0 7px;color:var(--gold)}.privacy-note{margin:24px 0 0;color:var(--paper-muted);font-size:.8rem}.local-demo-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:17px 0 0;border-top:1px solid var(--line)}.local-demo-card p{margin:4px 0 0;color:var(--paper-muted);font-size:.82rem}.notice-box{margin:18px 0;padding:12px 14px;border:1px solid rgba(210,181,120,.26);border-radius:10px;color:var(--gold-bright);background:#d2b57814;font-size:.84rem}.stack-form{display:flex;flex-direction:column;gap:10px}.stack-form h2{margin-bottom:6px}.stack-form>label,.form-grid label,.reader-tools label,.branch-create label,.settings-card label{display:flex;flex-direction:column;gap:7px;color:var(--paper-dim);font-size:.86rem;font-weight:600}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--line-strong);border-radius:9px;padding:10px 12px;color:var(--paper);background:#080c0d57;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.theme-parchment input,.theme-parchment select,.theme-parchment textarea{background:#ffffff61}input:hover,select:hover,textarea:hover{border-color:#d2b57880}input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #d2b5781f}input::placeholder,textarea::placeholder{color:var(--paper-muted);opacity:.78}textarea{min-height:86px;resize:vertical;line-height:1.65}input[type=file]{min-height:48px;padding:8px;color:var(--paper-dim)}input[type=file]::file-selector-button{margin-right:12px;border:0;border-radius:7px;padding:8px 10px;color:var(--paper);background:var(--ink-hover);cursor:pointer}input[type=range]{min-height:28px;padding:0;accent-color:var(--gold)}input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--gold)}.button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px;padding:9px 15px;cursor:pointer;font-size:.86rem;font-weight:700;line-height:1.25;text-decoration:none;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.button:not(:disabled):hover{transform:translateY(-1px)}.button-primary{border-color:#d9c18e;color:#191b18;background:linear-gradient(130deg,#e1c88e,#c9aa6b);box-shadow:0 5px 18px #b9965721}.button-primary:not(:disabled):hover{background:linear-gradient(130deg,#f0d9a6,#d4b778)}.button-outline{border-color:var(--line-strong);color:var(--paper);background:transparent}.button-outline:not(:disabled):hover{border-color:var(--gold);background:#d2b57814}.button-quiet{border-color:transparent;color:var(--paper-dim);background:transparent}.button-quiet:not(:disabled):hover{color:var(--paper);background:var(--ink-hover)}.button-wide{width:100%;margin-top:10px}.button-small{min-height:34px;padding:6px 10px;font-size:.78rem}.text-button{border:0;padding:4px 0;color:var(--gold-bright);background:transparent;cursor:pointer;font-size:.82rem;font-weight:700}.text-button:hover{text-decoration:underline;text-underline-offset:3px}.danger-text,.danger-button{color:var(--rose)}.danger-button:not(:disabled):hover{background:#df928217}.app-shell{min-height:100vh;color:var(--paper);background:var(--ink)}.app-header{position:sticky;z-index:20;top:0;display:flex;height:76px;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:0 28px;background:color-mix(in srgb,var(--ink) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-brand,.header-status{display:flex;align-items:center;gap:13px}.header-brand strong{display:block;font-size:.94rem;letter-spacing:-.02em}.header-brand span{display:block;margin-top:1px;color:var(--paper-muted);font-size:.72rem}.header-status{gap:9px}.header-user{max-width:220px;overflow:hidden;color:var(--paper-dim);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.header-logout{min-height:34px;padding:5px 8px;font-size:.77rem}.status-pill{display:inline-flex;min-height:24px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:3px 9px;color:var(--paper-dim);background:#ffffff06;font-size:.67rem;font-weight:700;letter-spacing:.03em;white-space:nowrap}.status-good{border-color:#6daba059;color:var(--teal);background:#6daba014}.status-warn{border-color:#d2b5785c;color:var(--gold-bright);background:#d2b57814}.app-layout{display:grid;min-height:calc(100vh - 76px);grid-template-columns:244px minmax(0,1fr)}.sidebar{position:sticky;top:76px;display:flex;height:calc(100vh - 76px);flex-direction:column;padding:27px 14px 18px;border-right:1px solid var(--line);background:#060a0b1a}.sidebar-label{margin:0 12px 14px;color:var(--paper-muted);font-size:.62rem;font-weight:700;letter-spacing:.16em}.main-navigation{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;min-height:44px;align-items:center;gap:12px;border:1px solid transparent;border-radius:9px;padding:0 11px;color:var(--paper-dim);background:transparent;cursor:pointer;text-align:left;font-size:.84rem;transition:color .15s ease,background .15s ease,border-color .15s ease}.nav-item:hover{color:var(--paper);background:#ffffff09}.nav-current{border-color:#d2b57833;color:var(--gold-bright);background:#d2b57816}.nav-symbol{display:inline-flex;width:22px;justify-content:center;color:var(--gold);font-size:1rem}.sidebar-footnote{display:flex;align-items:center;gap:9px;margin:auto 10px 4px;padding-top:15px;border-top:1px solid var(--line);color:var(--paper-muted);font-size:.72rem}.sidebar-footnote p{margin:0}.sidebar-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px #6daba080}.main-content{min-width:0;max-width:1500px;margin:0 auto;padding:20px clamp(20px,3.7vw,58px) 24px}.main-topline{display:flex;min-height:35px;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.breadcrumb{color:var(--paper-muted);font-size:.64rem;font-weight:700;letter-spacing:.15em}.breadcrumb span{margin:0 7px;color:var(--gold)}.main-topline-actions{display:flex;align-items:center;gap:11px}.branch-chip{max-width:240px;overflow:hidden;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--paper-dim);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.install-affordance{border:0;padding:5px 0;color:var(--gold-bright);background:transparent;cursor:pointer;font-size:.74rem;font-weight:700}.install-affordance:hover{text-decoration:underline;text-underline-offset:3px}.page-content{min-height:calc(100vh - 170px)}.operation-content{display:contents;border:0;padding:0;margin:0;min-inline-size:0}.page-heading{display:flex;min-height:136px;align-items:flex-start;justify-content:space-between;padding:20px 0 27px}.page-heading h1{margin:0;font-size:clamp(1.65rem,3.1vw,2.25rem);font-weight:600;letter-spacing:-.045em;line-height:1.25}.page-description{max-width:680px;margin:10px 0 0;color:var(--paper-dim);font-size:.9rem}.app-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px;padding:16px 0 4px;border-top:1px solid var(--line);color:var(--paper-muted);font-size:.67rem}.panel,.checkpoint-panel,.composer-card,.voice-card,.reader-card,.empty-panel{border:1px solid var(--line);border-radius:15px;padding:clamp(18px,2.5vw,26px);background:linear-gradient(150deg,color-mix(in srgb,var(--ink-soft) 96%,transparent),color-mix(in srgb,var(--ink) 96%,transparent));box-shadow:0 10px 36px #0000000e}.panel+.panel,.panel+.reader-card,.reader-card+.composer-card,.composer-card+.voice-card,.checkpoint-panel+.reader-card,.checkpoint-panel+.composer-card{margin-top:18px}.panel h2,.checkpoint-panel h2,.composer-card h2,.voice-card h2,.empty-panel h2{margin:0;font-size:1.16rem;font-weight:600;letter-spacing:-.025em}.panel h3,.checkpoint-panel h3{margin:0 0 9px;font-size:.98rem}.panel-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-topline .eyebrow{margin-bottom:5px}.muted{color:var(--paper-muted);font-size:.83rem}.panel p.muted{margin-top:8px}.empty-inline{margin:0;padding:17px 0;color:var(--paper-muted);font-size:.85rem}.empty-panel{display:flex;min-height:320px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-panel p{max-width:530px;margin:10px 0 20px;color:var(--paper-dim)}.empty-glyph{margin-bottom:12px;color:var(--gold);font-size:2rem}.error-banner,.success-banner{position:relative;border:1px solid rgba(223,146,130,.34);border-radius:10px;padding:12px 42px 12px 14px;color:#f1b7a9;background:#a245371f;font-size:.84rem}.success-banner{border-color:#6daba059;color:#a6d0c7;background:#36786921}.global-message{margin:0 0 12px}.dismiss-button{position:absolute;top:50%;right:12px;transform:translateY(-50%);border:0;color:inherit;background:transparent;cursor:pointer;font-size:1.25rem}.save-indicator{margin:0 0 10px;color:var(--gold);font-size:.72rem;text-align:right}.operation-feedback{position:sticky;z-index:18;top:83px;display:flex;align-items:flex-start;gap:11px;margin:0 0 13px;border:1px solid rgba(210,181,120,.34);border-radius:11px;padding:11px 14px;color:var(--paper);background:color-mix(in srgb,var(--ink-soft) 96%,transparent);box-shadow:0 8px 24px #0000002e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.operation-spinner{width:14px;height:14px;flex:0 0 14px;margin-top:2px;border:2px solid rgba(210,181,120,.25);border-top-color:var(--gold-bright);border-radius:50%;animation:operation-spin .9s linear infinite}.operation-feedback-copy{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 12px}.operation-feedback-copy strong{color:var(--gold-bright);font-size:.84rem;font-weight:650}.operation-elapsed{color:var(--paper-muted);font-variant-numeric:tabular-nums;font-size:.73rem;white-space:nowrap}.operation-feedback-copy p{grid-column:1 / -1;margin:2px 0 0;color:var(--paper-dim);font-size:.76rem}@keyframes operation-spin{to{transform:rotate(360deg)}}.checkpoint-panel{border-color:var(--line-strong)}.checkpoint-paused{background:linear-gradient(145deg,#40342233,color-mix(in srgb,var(--ink-soft) 94%,transparent) 48%)}.checkpoint-active{background:linear-gradient(145deg,#26544b29,color-mix(in srgb,var(--ink-soft) 94%,transparent) 48%)}.checkpoint-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:19px 0}.checkpoint-facts>div{min-width:0;border:1px solid var(--line);border-radius:9px;padding:12px;background:#00000014}.checkpoint-facts span{display:block;margin-bottom:5px;color:var(--paper-muted);font-size:.72rem}.checkpoint-facts strong{display:block;overflow-wrap:anywhere;color:var(--paper);font-size:.84rem;font-weight:600}.checkpoint-excerpt{margin:16px 0 0;border-left:2px solid var(--gold);padding:7px 0 7px 16px;color:var(--paper)}.checkpoint-excerpt span{color:var(--gold);font-size:.73rem}.checkpoint-excerpt p{margin:6px 0 0;color:var(--paper-dim);font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);font-size:calc(1rem * var(--reader-scale, 1));line-height:1.8;white-space:pre-wrap}.checkpoint-actions{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(180px,.45fr);gap:22px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.checkpoint-review{display:flex;flex-direction:column;gap:11px}.checkpoint-review>p{margin:-4px 0 4px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.resume-box{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:13px;border-left:1px solid var(--line);padding-left:22px}.resume-box p{margin:0;color:var(--paper-dim);font-size:.83rem}.play-history{padding-bottom:12px}.play-message-list{max-height:440px;overflow-y:auto;padding-right:5px}.transcript-message{border-top:1px solid var(--line);padding:14px 4px}.transcript-message:first-child{border-top:0}.message-meta-line{display:flex;align-items:center;gap:10px;color:var(--paper-muted);font-size:.72rem}.message-meta-line strong{color:var(--gold-bright);font-size:.76rem}.transcript-message p{margin:8px 0;color:var(--paper);font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);font-size:calc(.95rem * var(--reader-scale, 1));line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.transcript-message small,.turn-card small{color:var(--paper-muted);font-size:.67rem}.message-meta{border-left:2px solid var(--paper-muted);padding-left:12px;opacity:.8}.transcript-message.message-user{border-left:3px solid var(--gold);padding-left:12px}.transcript-message.message-ai{border-left:3px solid var(--teal);padding-left:12px}.message-user .message-meta-line strong{color:var(--gold-bright)}.message-ai .message-meta-line strong{color:var(--teal)}.turn-card{margin:13px 0;border:1px solid rgba(109,171,160,.22);border-radius:10px;padding:14px;background:#6daba00b}.turn-card p{margin:7px 0;font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);line-height:1.85;white-space:pre-wrap}.turn-card-entry{min-width:0;margin:9px 0 12px;border-left:3px solid var(--gold);padding:6px 0 6px 11px}.turn-card-entry-ai{border-left-color:var(--teal)}.turn-card-entry-flow{border-left-width:2px;padding-left:9px}.turn-card-speaker{display:block;margin:0 0 5px;color:var(--gold-bright);font-family:var(--ui-font, "Leelawadee UI", "Noto Sans Thai", Tahoma, sans-serif);font-size:.74rem;font-weight:700;line-height:1.5}.turn-card-entry-ai .turn-card-speaker{color:var(--teal)}.player-action{color:var(--gold-bright)}.composer-card form{display:flex;flex-direction:column;gap:9px}.composer-card form>label{color:var(--paper-dim);font-size:.83rem;font-weight:600}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.composer-footer .muted{max-width:68%;margin:0;font-size:.73rem}.queue-panel{margin-top:17px;border-top:1px solid var(--line);padding-top:15px}.queue-panel h3{margin:0;font-size:.91rem}.queue-panel>.muted{margin:4px 0 12px}.queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;border-top:1px solid var(--line);padding:11px 0}.queue-item p{grid-column:1;margin:0;color:var(--paper);white-space:pre-wrap}.queue-item small{grid-column:1;color:var(--paper-muted);font-size:.68rem}.queue-item-actions{display:flex;grid-column:2;grid-row:1 / span 2;align-items:center;justify-content:flex-end;gap:6px}.queue-item-actions .button{white-space:nowrap}.queue-item .queue-item-remove{color:var(--rose)}.queue-item .queue-item-remove:not(:disabled):hover{color:var(--rose);background:color-mix(in srgb,var(--rose) 13%,transparent)}.stream-preview{margin-top:16px;border-left:2px solid var(--teal);padding:4px 0 4px 13px;color:var(--paper-dim)}.stream-preview strong{color:var(--teal);font-size:.76rem}.stream-preview p{white-space:pre-wrap}.voice-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.voice-card .eyebrow{margin-bottom:5px}.voice-card .muted{margin:4px 0 0}.voice-controls{display:flex;flex-wrap:wrap;gap:7px}.import-panel,.source-table-panel,.reader-card{margin-bottom:18px}.import-panel>.muted{margin:-5px 0 18px}.import-controls{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.import-controls>label,.restore-panel>label{color:var(--paper-dim);font-size:.83rem;font-weight:600}.file-selection{margin:0;color:var(--paper-muted);font-size:.77rem;overflow-wrap:anywhere}.source-list{border-top:1px solid var(--line)}.source-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.6fr) auto;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}.source-row>div{display:flex;min-width:0;flex-direction:column;gap:3px}.source-row strong{overflow-wrap:anywhere;font-size:.83rem}.source-row span{color:var(--paper-muted);font-size:.69rem}.source-row code{overflow:hidden;color:var(--paper-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.reader-tools{display:grid;grid-template-columns:minmax(180px,1fr) 150px 180px;gap:11px;margin-bottom:17px}.reader-tools label{font-size:.75rem}.transcript-list{max-height:72vh;overflow-y:auto;border-top:1px solid var(--line);padding:6px 13px 8px 0;font-size:calc(1rem * var(--reader-scale, 1));scrollbar-color:var(--ink-hover) transparent}.reader-card .transcript-message p{font-size:calc(.96rem * var(--reader-scale, 1))}.canon-proposal-panel{margin-bottom:18px}.canon-proposal-panel>h2{margin:0 0 16px}.canon-proposal-panel form{max-width:850px}.canon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.canon-group{min-width:0}.canon-group .panel-topline{align-items:center;margin-bottom:8px}.canon-group .panel-topline h2{font-size:1rem}.canon-fact{border-top:1px solid var(--line);padding:14px 0}.canon-fact .markdown-content{color:var(--paper);font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);font-size:.92rem;line-height:1.8;overflow-wrap:anywhere}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p{margin:0 0 10px;white-space:pre-wrap}.markdown-content h3{margin:16px 0 8px;color:var(--paper);font-family:var(--display-font, inherit);font-size:1rem;line-height:1.45}.markdown-content ul,.markdown-content ol{margin:4px 0 12px;padding-left:1.35rem}.markdown-content li+li{margin-top:4px}.markdown-content hr{margin:12px 0;border:0;border-top:1px solid var(--line)}.markdown-content blockquote{margin:8px 0 12px;border-left:2px solid var(--accent);padding-left:12px;color:var(--paper-dim)}.markdown-content code{border-radius:4px;background:color-mix(in srgb,var(--panel-raised) 80%,transparent);padding:.08em .32em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em}.markdown-table-scroll{max-width:100%;margin:10px 0 14px;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.markdown-table-scroll table{width:100%;border-collapse:collapse;font-size:.9em}.markdown-table-scroll th,.markdown-table-scroll td{min-width:100px;border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.markdown-table-scroll th{background:color-mix(in srgb,var(--panel-raised) 72%,transparent);color:var(--paper);font-weight:700}.markdown-table-scroll tr:last-child td{border-bottom:0}.canon-fact small{display:block;color:var(--paper-muted);font-size:.69rem;overflow-wrap:anywhere}.inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:11px}.modal-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;overflow-y:auto;padding:22px;background:#040708bd;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog-card{position:relative;width:min(100%,580px);border:1px solid var(--line-strong);border-radius:16px;padding:28px;background:var(--ink-raised);box-shadow:0 30px 90px #0000006b}.dialog-card h2{margin:0 0 16px;font-size:1.3rem}.dialog-card blockquote{margin:0;border-left:2px solid var(--gold);padding:9px 0 9px 13px;color:var(--paper);font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);line-height:1.8}.dialog-card>p:not(.eyebrow){color:var(--paper-dim);font-size:.86rem}.dialog-close{position:absolute;top:11px;right:13px;border:0;color:var(--paper-muted);background:transparent;cursor:pointer;font-size:1.5rem}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:22px}.character-intro{margin-bottom:17px}.character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:18px}.character-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:0 15px;align-items:center}.character-portrait{position:relative;display:grid;width:88px;height:112px;place-items:center;overflow:hidden;border-radius:38px 38px 12px 12px}.character-portrait-image{display:block;width:74px;height:100px;object-fit:cover;object-position:50% 30%;border:1px solid var(--line-strong);border-radius:38px 38px 12px 12px;background:var(--ink-soft)}.character-portrait-image.character-portrait-sheet{object-position:100% 18%;transform:scale(2.2);transform-origin:100% 18%}.character-portrait-badge{position:absolute;inset:auto 4px 5px;border:1px solid var(--line);border-radius:999px;padding:2px 4px;color:var(--paper);background:var(--ink);font-size:.59rem;line-height:1.25;text-align:center}.character-avatar{display:grid;width:46px;height:46px;grid-row:span 1;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--gold-bright);background:#d2b57814;font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);font-size:1.1rem}.character-card>div:nth-child(2) h2{font-size:1.08rem}.character-card>div:nth-child(2) .eyebrow{margin:0 0 2px;font-size:.6rem}.profile-details,.character-story-update,.knowledge-list,.character-activity{grid-column:1 / -1}.profile-details{margin-top:13px;border-top:1px solid var(--line);padding-top:10px}.profile-details p{margin:5px 0;color:var(--paper-dim);font-size:.8rem}.profile-details .character-role{color:var(--gold-bright)}.profile-details strong{display:inline-block;margin-right:7px;color:var(--paper)}.profile-details small{color:var(--paper-muted);font-size:.69rem}.character-empty-profile{grid-column:1 / -1;margin:12px 0 0;color:var(--paper-muted);font-size:.8rem}.character-story-update{margin-top:13px;border-top:1px solid var(--line);padding-top:10px}.character-story-update h3{margin:0 0 8px;font-size:.84rem}.character-story-update p{margin:5px 0;color:var(--paper-dim);font-size:.8rem;line-height:1.7}.character-story-update strong{display:inline-block;margin-right:7px;color:var(--paper)}.character-edit-trigger{grid-column:1 / -1;justify-self:start;margin-top:12px}.character-editor{grid-column:1 / -1;display:grid;gap:10px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.character-editor label{display:grid;gap:5px;color:var(--paper-dim);font-size:.76rem}.character-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.character-activity{margin-top:13px;border-top:1px solid var(--line);padding-top:11px}.character-activity h3{margin:0 0 6px;font-size:.82rem}.character-activity p{display:-webkit-box;overflow:hidden;margin:0;color:var(--paper-dim);font-size:.77rem;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:5}.character-proposal-import{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px}.character-proposal-import h2{margin:0;font-size:1.05rem}.character-proposal-import p{margin:5px 0 0}.character-proposal-import>small{grid-column:1 / -1}.character-visual-proposal{display:grid;gap:9px;margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--ink-soft)}.character-visual-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.character-visual-heading strong{color:var(--paper);font-size:.82rem}.character-reference-image{display:block;width:100%;max-height:480px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#f5f3ef}.character-visual-proposal p{margin:0;line-height:1.65}.character-visual-proposal small{color:var(--paper-muted);font-size:.7rem}.character-approve-button{justify-self:start;min-height:40px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@media(max-width:680px){.character-proposal-import{grid-template-columns:1fr}.character-proposal-import>small{grid-column:auto}}.knowledge-list{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.knowledge-list h3{margin:0 0 9px;color:var(--paper-dim);font-size:.8rem}.knowledge-list article{margin-top:8px;border:1px solid var(--line);border-radius:9px;padding:10px}.knowledge-list article .markdown-content{font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);font-size:.82rem;line-height:1.7}.knowledge-list article small{display:block;margin-bottom:7px;color:var(--paper-muted);font-size:.66rem}.npc-knowledge-entry-panel{margin-bottom:18px}.npc-knowledge-entry-panel .stack-form{max-width:760px}.npc-knowledge-entry-panel select{max-width:100%}.form-error{margin:0;border-left:3px solid var(--rose);padding:8px 12px;color:var(--rose);background:#df928214;font-size:.8rem}.addressing-panel{margin-top:18px}.addressing-panel h2{margin-bottom:15px}.address-result{margin:14px 0 0;color:var(--gold-bright);font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);font-size:1.2rem}.world-state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.world-stat span{color:var(--paper-muted);font-size:.75rem}.world-stat h2{margin:9px 0 12px;color:var(--gold-bright);font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);font-size:1rem;line-height:1.7;overflow-wrap:anywhere}.world-stat small{color:var(--paper-muted);font-size:.67rem}.world-map-panel{padding:clamp(10px,1.5vw,18px)}.world-map-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;margin:0 0 12px}.world-map-heading .eyebrow{margin:0 0 4px}.world-map-heading h2,.world-map-figure{margin:0}.world-map-frame{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#0c465a}.world-map-image{display:block;width:100%;height:auto}.world-map-figure figcaption{margin:10px 4px 2px;color:var(--paper-muted);font-size:.75rem;line-height:1.65}.evidence-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.evidence-chips span{border:1px solid var(--line);border-radius:999px;padding:4px 9px;color:var(--paper-muted);font-size:.68rem}.branch-panel,.checkpoint-snapshots-panel{margin-bottom:18px}.checkpoint-save-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:16px 0}.checkpoint-save-form label{color:var(--paper-dim);font-size:.75rem}.checkpoint-snapshot-list{border-top:1px solid var(--line)}.checkpoint-snapshot-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:12px 0}.checkpoint-snapshot-row>div{min-width:0}.checkpoint-snapshot-row strong,.checkpoint-snapshot-row small{display:block;overflow-wrap:anywhere}.checkpoint-snapshot-row strong{color:var(--gold-bright);font-size:.82rem}.checkpoint-snapshot-row small{margin-top:4px;color:var(--paper-muted);font-size:.68rem}.branch-list{border-top:1px solid var(--line)}.branch-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(150px,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}.branch-row>div{min-width:0}.branch-row strong,.branch-row small{display:block;overflow-wrap:anywhere}.branch-row strong{font-size:.82rem}.branch-row small{margin-top:3px;color:var(--paper-muted);font-size:.66rem}.branch-active{color:var(--gold-bright)}.branch-row input{min-height:34px;padding:6px 8px;font-size:.76rem}.branch-create{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding-top:18px}.branch-create label{font-size:.75rem}.branch-history-actions{display:flex;align-items:center;gap:14px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.branch-history-actions .muted{margin:0;font-size:.72rem}.timeline-panel{margin-bottom:18px}.timeline-list{max-height:760px;overflow-y:auto;padding:8px 4px 2px}.timeline-item{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px;padding:0 0 20px}.timeline-item:before{position:absolute;top:10px;bottom:-4px;left:5px;width:1px;background:var(--line-strong);content:""}.timeline-item:last-child:before{display:none}.timeline-marker{position:relative;z-index:1;width:11px;height:11px;margin-top:5px;border:2px solid var(--gold);border-radius:50%;background:var(--ink-soft)}.timeline-item small{color:var(--paper-muted);font-size:.67rem}.timeline-item p{margin:5px 0 0;color:var(--paper-dim);font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);font-size:.85rem;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.timeline-meta .timeline-marker{border-color:var(--paper-muted)}.timeline-turn .timeline-marker{border-color:var(--teal)}.audit-row{display:grid;grid-template-columns:160px 170px minmax(0,1fr);gap:12px;border-top:1px solid var(--line);padding:10px 0;font-size:.77rem}.audit-row time,.audit-row span{color:var(--paper-muted)}.audit-row span{overflow-wrap:anywhere}.media-upload-panel{margin-bottom:18px}.media-upload-panel form{max-width:700px}.media-upload-panel>.muted{margin-bottom:0}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.media-card{display:flex;flex-direction:column;gap:11px;padding:12px}.media-card img{display:block;width:100%;aspect-ratio:4 / 3;border-radius:8px;object-fit:cover;background:#00000029}.media-card>div:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}.media-card strong{overflow-wrap:anywhere;font-size:.8rem}.media-card small{color:var(--paper-muted);font-size:.68rem}.media-card .text-button{align-self:flex-start}.invalid-media{display:grid;min-height:180px;place-items:center;border:1px dashed var(--line-strong);border-radius:8px;color:var(--paper-muted);text-align:center;font-size:.75rem}.backup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:18px}.backup-card{display:flex;min-height:225px;flex-direction:column;align-items:flex-start}.backup-icon{display:inline-flex;margin-bottom:19px;border:1px solid var(--line-strong);border-radius:7px;padding:5px 8px;color:var(--gold-bright);font-size:.65rem;font-weight:800;letter-spacing:.1em}.backup-card h2{font-size:1.02rem}.backup-card p{flex:1;margin:8px 0 17px;color:var(--paper-muted);font-size:.77rem;line-height:1.7}.restore-panel{display:flex;flex-direction:column;align-items:flex-start;gap:11px;margin-bottom:18px}.restore-panel h2{margin:-7px 0 0}.restore-panel>.muted{max-width:770px;margin:-4px 0 2px}.local-backup-history{margin-bottom:18px}.drive-panel .panel-topline h2{margin:0}.drive-panel>.muted{max-width:770px}.drive-history-panel{margin-top:18px}.drive-backup-list{margin-top:13px;border-top:1px solid var(--line)}.drive-backup-row{display:flex;align-items:center;justify-content:space-between;gap:13px;border-bottom:1px solid var(--line);padding:11px 0}.drive-backup-row>div{display:flex;min-width:0;flex-direction:column;gap:3px}.drive-backup-row strong{overflow-wrap:anywhere;font-size:.81rem}.drive-backup-row small,.backup-status{color:var(--paper-muted);font-size:.7rem}.backup-status{margin:13px 0 0}.checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-top:16px;color:var(--paper-dim);font-size:.82rem}.checkbox-row input{flex:0 0 auto;margin-top:3px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-card{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:11px}.settings-card .eyebrow{margin:0}.settings-card h2{margin:-3px 0 0;font-size:1.02rem}.settings-card p{margin:0;color:var(--paper-dim);font-size:.8rem;overflow-wrap:anywhere}.settings-card .muted{color:var(--paper-muted)}.settings-card .button{margin-top:auto}.provider-list{width:100%;margin:0}.provider-list>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;border-top:1px solid var(--line);padding:8px 0;font-size:.77rem}.provider-list dt{color:var(--paper-muted)}.provider-list dd{margin:0;overflow-wrap:anywhere;color:var(--paper-dim)}.settings-card label{width:100%}.privacy-note-panel{margin-top:16px}.privacy-note-panel p:last-child{max-width:900px;margin-bottom:0;color:var(--paper-dim);font-size:.83rem}@media(max-width:1100px){.app-layout{grid-template-columns:218px minmax(0,1fr)}.sidebar{padding-right:10px;padding-left:10px}.checkpoint-facts,.world-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-row{grid-template-columns:minmax(140px,1fr) minmax(120px,1.2fr) auto}}@media(max-width:820px){.app-header{height:68px;padding:0 17px}.header-user{display:none}.app-layout{display:block;min-height:calc(100vh - 68px)}.sidebar{display:none}.main-content{padding:14px 18px 28px}.operation-feedback{top:75px}.page-content{min-height:calc(100vh - 180px)}.page-heading{min-height:auto;padding:16px 0 22px}.mobile-navigation{position:fixed;z-index:30;right:0;bottom:0;left:0;display:flex;overflow-x:auto;gap:2px;border-top:1px solid var(--line-strong);padding:7px max(8px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));background:color-mix(in srgb,var(--ink-soft) 95%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:none}.mobile-navigation::-webkit-scrollbar{display:none}.mobile-navigation button{display:flex;min-width:72px;flex:1 0 72px;flex-direction:column;align-items:center;gap:2px;border:0;border-radius:8px;padding:5px 2px;color:var(--paper-muted);background:transparent;cursor:pointer;font-size:1rem}.mobile-navigation button small{max-width:82px;overflow:hidden;font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}.mobile-navigation .mobile-nav-current{color:var(--gold-bright);background:#d2b57817}.app-footer{margin-bottom:88px}.page-content{padding-bottom:8px}.checkpoint-actions{grid-template-columns:1fr}.resume-box{flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-left:0;padding:15px 0 0}.backup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.app-header{gap:8px;padding:0 12px}.header-brand{gap:9px}.header-brand strong{font-size:.82rem}.header-brand span{font-size:.64rem}.small-mark{width:37px;height:37px;border-radius:12px}.header-status{gap:5px}.header-status .status-pill{min-height:22px;padding:2px 6px;font-size:.58rem}.header-logout{min-height:31px;padding:4px;font-size:.67rem}.main-content{padding:11px 13px 23px}.operation-feedback{top:74px;gap:9px;padding:10px 11px}.operation-feedback-copy strong{font-size:.78rem}.operation-elapsed{font-size:.68rem}.operation-feedback-copy p{font-size:.71rem}.main-topline{margin-bottom:6px}.breadcrumb{font-size:.57rem}.main-topline-actions{gap:6px}.branch-chip{max-width:115px;padding:4px 7px;font-size:.61rem}.install-affordance{font-size:.65rem}.page-heading{padding:14px 0 19px}.page-heading h1{font-size:1.58rem}.page-description{margin-top:7px;font-size:.8rem;line-height:1.65}.panel,.checkpoint-panel,.composer-card,.voice-card,.reader-card,.empty-panel{border-radius:12px;padding:16px}.panel-topline{gap:9px}.panel h2,.checkpoint-panel h2,.composer-card h2,.voice-card h2,.empty-panel h2{font-size:1.03rem}.checkpoint-facts{gap:7px;margin:14px 0}.checkpoint-facts>div{padding:9px}.checkpoint-facts span{font-size:.65rem}.checkpoint-facts strong{font-size:.74rem}.checkpoint-excerpt{padding-left:11px}.checkpoint-excerpt p{font-size:calc(.9rem * var(--reader-scale, 1))}.form-grid{grid-template-columns:1fr;gap:10px}.checkpoint-actions{gap:14px;margin-top:18px;padding-top:16px}.resume-box{align-items:flex-start;flex-direction:column}.resume-box .button{width:100%}.composer-footer{align-items:flex-start;flex-direction:column}.composer-footer .muted{max-width:100%}.composer-footer .button{width:100%}.queue-item{grid-template-columns:minmax(0,1fr)}.queue-item-actions{display:grid;grid-column:1;grid-row:auto;grid-template-columns:minmax(0,1fr) auto;gap:8px}.queue-item-actions .button{grid-column:auto;grid-row:auto;min-height:42px}.voice-card{align-items:flex-start;flex-direction:column}.voice-controls{width:100%}.voice-controls .button{flex:1}.reader-tools{grid-template-columns:1fr 1fr}.reader-tools label:first-child{grid-column:1 / -1}.source-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.source-row code{grid-column:1 / -1;grid-row:2}.source-row .text-button{grid-column:2;grid-row:1}.canon-grid,.character-grid,.settings-grid{grid-template-columns:1fr}.world-state-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.world-stat{padding:13px}.world-stat h2{font-size:.86rem}.branch-create,.checkpoint-save-form{grid-template-columns:1fr}.checkpoint-snapshot-row{align-items:flex-start;flex-direction:column}.branch-row{grid-template-columns:minmax(0,1fr) auto}.branch-row input{grid-column:1;grid-row:2}.branch-row .button{grid-column:2;grid-row:1 / span 2}.branch-history-actions{align-items:flex-start;flex-direction:column}.audit-row{grid-template-columns:1fr;gap:2px}.media-grid,.backup-grid{grid-template-columns:1fr}.backup-card{min-height:190px}.dialog-card{padding:23px 18px}.dialog-actions{justify-content:stretch}.dialog-actions .button{flex:1}.auth-shell{justify-content:flex-start;padding:13vh 15px 24px}.auth-brand{gap:12px}.auth-brand .brand-mark{width:48px;height:48px;border-radius:15px}.local-demo-card{align-items:flex-start;flex-direction:column;gap:12px}.local-demo-card .button{width:100%}.auth-footer{font-size:.56rem}}@media(prefers-reduced-motion:reduce){.reader-mode-track,.reader-mode-track>span{transition:none}.operation-spinner{animation:none}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell .eyebrow{display:none}.app-shell .checkpoint-source-reference,.app-shell .checkpoint-source-reference .eyebrow{display:block;margin:0 0 6px;color:var(--paper-muted);font-size:.76rem;font-weight:500;letter-spacing:0;text-transform:none}.app-shell .app-header{height:60px;gap:14px;padding-inline:clamp(14px,3vw,32px);background:var(--ink)}.app-shell .header-brand{gap:10px}.app-shell .header-brand strong{font-size:.9rem;font-weight:650;letter-spacing:-.01em}.app-shell .header-brand span{display:none}.app-shell .small-mark{width:34px;height:34px;border:0;border-radius:50%;color:var(--teal);background:#83aa9d1a;box-shadow:none}.app-shell .app-layout{min-height:calc(100vh - 60px);grid-template-columns:198px minmax(0,1fr)}.app-shell .sidebar{top:60px;height:calc(100vh - 60px);padding:20px 10px 16px;border-right-color:var(--line);background:transparent}.app-shell .sidebar-label{display:none}.app-shell .main-navigation{gap:2px}.app-shell .nav-item{min-height:40px;gap:10px;border-radius:8px;padding-inline:10px;font-size:.81rem}.app-shell .nav-current{border-color:transparent;color:var(--teal);background:#83aa9d17}.app-shell .nav-symbol{color:currentColor;font-size:.92rem}.app-shell .sidebar-dot{background:var(--teal);box-shadow:none}.app-shell .main-content{max-width:1340px;padding:16px clamp(20px,4vw,54px) 24px}.app-shell .main-topline{min-height:24px;margin-bottom:3px}.app-shell .breadcrumb{display:none}.app-shell .branch-chip{border-color:var(--line);border-radius:6px;padding:3px 8px;color:var(--paper-muted);font-size:.69rem}.app-shell .install-affordance{display:none}.app-shell .page-heading{min-height:0;padding:12px 0 18px}.app-shell .page-heading h1{color:var(--paper);font-size:clamp(1.45rem,2.7vw,1.85rem);font-weight:620;letter-spacing:-.035em}.app-shell .page-description{max-width:620px;margin-top:5px;color:var(--paper-muted);font-size:.84rem;line-height:1.7}.app-shell .panel,.app-shell .checkpoint-panel,.app-shell .composer-card,.app-shell .voice-card,.app-shell .reader-card,.app-shell .empty-panel{border-color:var(--line);border-radius:12px;background:color-mix(in srgb,var(--ink-soft) 48%,transparent);box-shadow:none}.app-shell .panel+.panel,.app-shell .panel+.reader-card,.app-shell .reader-card+.composer-card,.app-shell .composer-card+.voice-card,.app-shell .checkpoint-panel+.reader-card,.app-shell .checkpoint-panel+.composer-card{margin-top:14px}.app-shell .panel-topline{margin-bottom:12px}.app-shell .panel h2,.app-shell .checkpoint-panel h2,.app-shell .composer-card h2,.app-shell .voice-card h2{font-size:1.06rem;letter-spacing:-.015em}.app-shell .operation-feedback{top:67px;border-color:var(--line-strong);border-radius:10px;background:color-mix(in srgb,var(--ink-raised) 96%,transparent);box-shadow:0 8px 22px #0000001f}.app-shell .operation-spinner{border-color:color-mix(in srgb,var(--teal) 30%,transparent);border-top-color:var(--teal)}.app-shell .button-primary{border-color:color-mix(in srgb,var(--teal) 70%,var(--line));color:#f2f3ec;background:color-mix(in srgb,var(--teal) 68%,#30423b);box-shadow:none}.app-shell .button-primary:not(:disabled):hover{background:color-mix(in srgb,var(--teal) 78%,#30423b)}.app-shell .button-outline{border-color:var(--line-strong)}.app-shell :focus-visible{outline-color:var(--teal)}.app-shell.page-play .page-content{width:min(100%,790px);margin-inline:auto}.app-shell.page-play .checkpoint-summary{margin-bottom:20px;border-bottom:1px solid var(--line)}.app-shell .editor-disclosure>summary,.app-shell .turn-evidence>summary,.app-shell.page-play .checkpoint-summary>summary,.app-shell.page-play .reading-history>summary,.app-shell.page-play .voice-disclosure>summary,.app-shell .world-review>summary,.app-shell .library-import>summary,.app-shell .provenance-details>summary{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:12px;color:var(--paper-dim);cursor:pointer;font-size:.82rem;list-style:none}.app-shell details>summary::-webkit-details-marker{display:none}.app-shell .editor-disclosure>summary:after,.app-shell .turn-evidence>summary:after,.app-shell .checkpoint-summary>summary:after,.app-shell .reading-history>summary:after,.app-shell .voice-disclosure>summary:after,.app-shell .world-review>summary:after,.app-shell .library-import>summary:after,.app-shell .provenance-details>summary:after{color:var(--paper-muted);content:"+";font-size:1.05rem}.app-shell .editor-disclosure[open]>summary:after,.app-shell .turn-evidence[open]>summary:after,.app-shell .checkpoint-summary[open]>summary:after,.app-shell .reading-history[open]>summary:after,.app-shell .voice-disclosure[open]>summary:after,.app-shell .world-review[open]>summary:after,.app-shell .library-import[open]>summary:after,.app-shell .provenance-details[open]>summary:after{content:"−"}.app-shell.page-play .checkpoint-summary .checkpoint-panel{border:0;padding:10px 0 18px;background:transparent}.app-shell.page-play .checkpoint-summary .checkpoint-excerpt{max-width:720px;margin:15px auto 0;border-left-color:var(--teal)}.app-shell.page-play .checkpoint-summary .checkpoint-excerpt span{color:var(--paper-muted)}.app-shell.page-play .reading-prose{width:min(100%,720px);margin:0 auto;color:var(--paper);font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);font-size:calc(1.08rem * var(--reader-scale, 1));line-height:2.05}.app-shell.page-play .reading-prose p{margin:0 0 1.1em;overflow-wrap:anywhere}.app-shell.page-play .play-history{border:0;padding:12px 0 19px;background:transparent}.app-shell.page-play .play-message-list{max-height:none;overflow:visible}.app-shell.page-play .play-history .transcript-message{border:0;padding:0}.app-shell.page-play .play-history .transcript-message.message-user{border-left:3px solid var(--gold);padding-left:12px}.app-shell.page-play .play-history .transcript-message.message-ai{border-left:3px solid var(--teal);padding-left:12px}.app-shell.page-play .play-history .transcript-message p{font-size:calc(1.06rem * var(--reader-scale, 1));line-height:2.05}.app-shell.page-play .play-history .message-meta-line{margin-bottom:10px;color:var(--paper-muted)}.app-shell.page-play .play-history .message-meta-line strong{color:var(--paper-dim);font-weight:600}.app-shell.page-play .play-history .transcript-message small{display:none}.app-shell.page-play .reading-history{margin:12px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.app-shell.page-play .reading-history[open]{padding-bottom:8px}.app-shell.page-play .reading-history .play-message-list{max-height:65vh;overflow-y:auto;padding-right:6px}.app-shell.page-play .reading-history .transcript-message{border-top:1px solid var(--line);padding-block:12px}.app-shell.page-play .composer-card,.app-shell.page-play .voice-card{border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0;background:transparent}.app-shell.page-play .composer-card .panel-topline{margin-bottom:8px}.app-shell.page-play .voice-disclosure{border-top:1px solid var(--line)}.app-shell.page-play .voice-disclosure>summary{min-height:38px}.app-shell.page-play .voice-disclosure .voice-card{margin:0;padding-top:8px}.app-shell .checkpoint-facts{gap:0;border-block:1px solid var(--line)}.app-shell .checkpoint-facts>div{border:0;border-radius:0;padding:10px 12px;background:transparent}.app-shell .checkpoint-facts>div+div{border-left:1px solid var(--line)}.app-shell .checkpoint-facts strong{font-weight:500}.app-shell .checkpoint-actions{gap:18px;margin-top:16px;padding-top:15px}.app-shell .resume-box{gap:10px;border-left-color:var(--line)}.app-shell .world-state-grid{gap:10px}.app-shell .world-state-grid .world-stat{min-width:0;min-height:96px;border:1px solid var(--line);border-radius:10px;padding:13px 15px;background:var(--ink-soft);box-shadow:none}.app-shell .world-stat h2{margin:5px 0 3px;color:var(--paper);font-family:inherit;font-size:.92rem;font-weight:550;line-height:1.55}.app-shell .world-stat small{display:block;color:var(--paper-muted);line-height:1.5}.app-shell .world-review{border-block:1px solid var(--line);padding-block:5px 14px}.app-shell .world-review[open]>summary{margin-bottom:10px}.app-shell .library-import,.app-shell .provenance-details{border-block:1px solid var(--line);padding-block:2px 8px}.app-shell .library-import[open]>summary,.app-shell .provenance-details[open]>summary{margin-bottom:8px}.app-shell .provenance-details{margin-top:10px}.app-shell .source-row code{color:var(--paper-muted)}.app-shell .app-footer{border-top-color:var(--line)}.account-menu{position:relative;color:var(--paper-dim)}.account-menu>summary{display:flex;min-height:34px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:5px 10px;cursor:pointer;font-size:.78rem;list-style:none}.account-menu>summary::-webkit-details-marker{display:none}.account-menu>summary>span[aria-hidden=true]{display:grid;width:18px;height:18px;flex:0 0 auto;place-items:center;overflow:visible;border-radius:0;color:transparent;font-size:0;background:url(/icons/chevron-down.png) center / 18px 18px no-repeat;transition:transform .18s ease}.account-menu[open]>summary>span[aria-hidden=true]{transform:rotate(180deg)}.account-menu[open]>:not(summary){position:absolute;z-index:50;top:calc(100% + 7px);right:0;width:min(250px,calc(100vw - 24px));border:1px solid var(--line-strong);border-radius:10px;padding:12px;background:var(--ink-raised);box-shadow:var(--shadow)}.account-menu[open]>:not(summary) p{margin:0 0 9px;color:var(--paper-muted);font-size:.78rem;overflow-wrap:anywhere}.account-menu[open]>:not(summary) .button{width:100%}.mobile-navigation{display:none}.app-shell .more-drawer:not([open]){display:none}.app-shell .more-drawer{border:0;color:var(--paper);background:transparent}.app-shell .more-drawer::backdrop{background:#090d0cc7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.app-shell .more-heading{display:flex;width:min(100%,560px);align-items:center;justify-content:space-between;gap:12px;margin:0 auto 10px;border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:var(--ink-soft)}.app-shell .more-heading h2{margin:0;font-size:.98rem;font-weight:600}@media(max-width:820px){.app-shell .app-header{height:56px;padding-inline:12px}.app-shell .app-layout{min-height:calc(100vh - 56px)}.app-shell .main-content{padding:10px 18px 22px}.app-shell .operation-feedback{top:62px}.app-shell .page-heading{padding:9px 0 14px}.app-shell.page-play .page-content{width:100%}.app-shell.page-play .reading-prose{font-size:calc(1rem * var(--reader-scale, 1));line-height:1.95}.app-shell .checkpoint-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .checkpoint-facts>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.app-shell .checkpoint-facts>div:nth-child(4){border-top:1px solid var(--line)}.app-shell .world-state-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell .mobile-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:visible;padding:6px 10px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--ink-soft) 97%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell .mobile-navigation button{min-width:0;min-height:48px;flex:initial;gap:2px;border-radius:8px;padding:4px;color:var(--paper-muted)}.app-shell .mobile-navigation button span{color:currentColor;font-size:.94rem}.app-shell .mobile-navigation button small{max-width:100%;font-size:.7rem}.auth-shell .auth-card .button{min-height:48px}.auth-shell .auth-card .text-button{min-height:48px;padding-inline:8px}.app-shell .mobile-navigation .mobile-nav-current{color:var(--teal);background:#83aa9d1a}.app-shell .app-footer{margin-bottom:70px}.app-shell .more-drawer[open]{position:fixed;z-index:40;inset:56px 0 calc(58px + env(safe-area-inset-bottom));display:block;width:auto;max-width:none;height:auto;max-height:none;margin:0;overflow-y:auto;padding:14px 14px 18px;background:transparent}.app-shell .more-grid{display:grid;width:min(100%,560px);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 auto;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--ink-soft)}.app-shell .more-grid button{min-height:46px;justify-content:flex-start;border:1px solid var(--line);border-radius:9px;padding:8px 10px;color:var(--paper-dim);background:transparent;text-align:left;font-size:.8rem}.app-shell .more-grid button:hover{border-color:var(--line-strong);color:var(--paper);background:var(--ink-hover)}}@media(max-width:520px){.app-shell .main-content{padding-inline:14px}.app-shell .operation-feedback{top:61px;gap:8px;padding:9px 10px}.app-shell .operation-feedback-copy{gap:3px 8px}.app-shell .operation-feedback-copy strong{font-size:.75rem}.app-shell .operation-elapsed{font-size:.65rem}.app-shell .page-heading h1{font-size:1.45rem}.app-shell .panel,.app-shell .checkpoint-panel,.app-shell .composer-card,.app-shell .voice-card,.app-shell .reader-card,.app-shell .empty-panel{padding:14px}.app-shell.page-play .checkpoint-summary .checkpoint-panel,.app-shell.page-play .composer-card,.app-shell.page-play .voice-card{padding-inline:0}.app-shell .checkpoint-facts>div{padding:9px 8px}.app-shell .checkpoint-facts strong{font-size:.77rem}.app-shell .resume-box{align-items:flex-start;flex-direction:column;border-left:0}.app-shell .resume-box .button{width:100%}.app-shell .mobile-navigation{gap:2px;padding-inline:7px}.app-shell .mobile-navigation button small{font-size:.7rem}}.app-shell{font-family:var(--ui-font, "Leelawadee UI", "Noto Sans Thai", Tahoma, sans-serif)}.app-shell.page-play .story-context>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;list-style:none;color:var(--paper-dim);font-size:.92rem}.app-shell .story-context>summary:after{content:"+";color:var(--paper-muted)}.app-shell .story-context[open]>summary:after{content:"−"}.app-shell.page-play .play-history{padding:0 0 8px}.app-shell .context-library-link{display:block;margin:4px 0 14px auto}.app-shell .font-import{border-top:1px solid var(--line);padding-top:10px}.app-shell .font-import>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.app-shell .font-import input{max-width:100%}.app-shell .app-header{height:68px;padding-inline:clamp(16px,3vw,38px);border-bottom-color:var(--line);background:color-mix(in srgb,var(--ink-soft) 95%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-shell .header-brand strong{font-size:.95rem;letter-spacing:-.025em}.app-shell .header-brand span{color:var(--paper-muted);font-size:.75rem}.app-shell .small-mark{display:grid;width:38px;height:38px;place-items:center;border:1px solid color-mix(in srgb,var(--gold) 24%,var(--line));border-radius:13px;color:var(--gold-bright);background:color-mix(in srgb,var(--gold) 8%,var(--ink-soft));box-shadow:none}.app-shell .small-mark svg{width:21px;height:21px}.app-shell .app-layout{min-height:calc(100svh - 68px);grid-template-columns:232px minmax(0,1fr)}.app-shell .sidebar{top:68px;height:calc(100svh - 68px);padding:22px 15px 18px;border-right-color:var(--line);background:color-mix(in srgb,var(--ink-soft) 52%,var(--ink))}.app-shell .main-navigation{gap:17px}.app-shell .nav-group{display:grid;gap:3px}.app-shell .nav-group-label{margin:0 10px 5px;color:var(--paper-muted);font-size:.68rem;font-weight:650;letter-spacing:.045em}.app-shell .nav-item{min-height:46px;gap:12px;border-radius:12px;padding-inline:11px;color:var(--paper-dim);font-size:.86rem}.app-shell .nav-item:hover{color:var(--paper);background:var(--ink-hover)}.app-shell .nav-item svg{width:20px;height:20px;flex:0 0 auto}.app-shell .nav-current{border-color:color-mix(in srgb,var(--gold) 25%,var(--line));color:var(--gold-bright);background:color-mix(in srgb,var(--gold) 11%,var(--ink-soft));font-weight:650}.app-shell .sidebar-footnote{gap:9px;margin-inline:7px;color:var(--paper-muted);font-size:.72rem}.app-shell .main-content{max-width:none;padding:20px clamp(22px,4vw,60px) 28px}.app-shell .main-topline{min-height:30px;margin-bottom:8px}.app-shell .breadcrumb{color:var(--paper-muted);font-size:.7rem;letter-spacing:.07em}.app-shell .branch-chip{max-width:280px;border-radius:999px;padding:6px 10px;color:var(--paper-dim);font-size:.75rem}.app-shell .branch-chip{display:inline-flex;align-items:center;gap:6px}.app-shell .branch-chip svg{width:14px;height:14px;flex:0 0 auto}.app-shell .reader-font-shortcut{display:inline-flex;min-height:48px;align-items:center;gap:7px;border:0;border-radius:12px;padding:4px 9px;color:var(--paper-dim);background:transparent;font-size:.78rem}.app-shell .reader-font-shortcut:hover{color:var(--gold-bright);background:color-mix(in srgb,var(--gold) 8%,var(--ink-soft))}.app-shell .reader-font-shortcut span:first-child{color:var(--gold-bright);font-family:Georgia,serif;font-size:1.08rem;font-weight:700}.app-shell .brand-mark svg{width:31px;height:31px}.app-shell .empty-glyph svg{width:28px;height:28px}.app-shell .page-content{min-height:calc(100svh - 165px)}.app-shell .page-heading{min-height:0;padding:17px 0 22px}.app-shell .page-heading h1{color:var(--paper);font-family:var(--ui-font, "Leelawadee UI", "Noto Sans Thai", Tahoma, sans-serif);font-size:clamp(1.55rem,2.3vw,2rem);font-weight:650;letter-spacing:-.035em}.app-shell .page-description{max-width:68ch;margin-top:7px;color:var(--paper-dim);font-size:.94rem;line-height:1.7}.app-shell .panel,.app-shell .checkpoint-panel,.app-shell .composer-card,.app-shell .voice-card,.app-shell .reader-card,.app-shell .empty-panel{border-color:var(--line);border-radius:18px;background:var(--ink-soft);box-shadow:0 7px 24px color-mix(in srgb,var(--paper) 4%,transparent)}.app-shell .panel+.panel,.app-shell .panel+.reader-card,.app-shell .reader-card+.composer-card,.app-shell .composer-card+.voice-card,.app-shell .checkpoint-panel+.reader-card,.app-shell .checkpoint-panel+.composer-card{margin-top:18px}.app-shell .button-primary{border-color:var(--teal);border-radius:13px;color:#fffdf7;background:var(--teal);font-weight:700;box-shadow:0 4px 10px color-mix(in srgb,var(--teal) 18%,transparent)}.app-shell .button-primary:not(:disabled):hover{background:color-mix(in srgb,var(--teal) 88%,#15241d)}.app-shell input,.app-shell select,.app-shell textarea{min-height:48px;border-color:var(--line-strong);border-radius:12px;color:var(--paper);background:var(--ink-raised)}.app-shell textarea{line-height:1.65}.app-shell :focus-visible{outline:3px solid color-mix(in srgb,var(--teal) 80%,white);outline-offset:3px}.app-shell .status-pill{min-height:28px;color:var(--paper-dim);background:color-mix(in srgb,var(--ink-raised) 82%,transparent);font-size:.72rem;letter-spacing:0}.app-shell .status-good{border-color:color-mix(in srgb,var(--teal) 42%,var(--line));color:var(--teal);background:color-mix(in srgb,var(--teal) 9%,var(--ink-soft))}.app-shell .status-warn{border-color:color-mix(in srgb,var(--gold) 42%,var(--line));color:var(--gold-bright);background:color-mix(in srgb,var(--gold) 9%,var(--ink-soft))}.app-shell .operation-feedback{border-color:var(--line-strong);border-radius:15px;background:var(--ink-raised);box-shadow:var(--shadow)}.app-shell .operation-spinner{border-color:color-mix(in srgb,var(--teal) 25%,transparent);border-top-color:var(--teal)}.app-shell.page-play .page-content{width:min(100%,820px);margin-inline:auto}.app-shell.page-play .page-heading{padding:13px 0 16px}.app-shell.page-play .page-heading h1{font-size:clamp(1.55rem,2.7vw,2rem)}.app-shell.page-play .page-description{max-width:62ch;font-size:.92rem}.app-shell.page-play .checkpoint-summary{margin-bottom:18px;border:1px solid var(--line);border-radius:15px;padding:3px 13px;background:var(--ink-soft)}.app-shell.page-play .checkpoint-summary>summary{min-height:52px;color:var(--paper);font-size:.9rem;font-weight:650}.app-shell.page-play .checkpoint-summary>summary small{margin-left:auto;color:var(--paper-muted);font-size:.76rem;font-weight:500}.app-shell.page-play .checkpoint-facts span{font-size:.75rem}.app-shell.page-play .checkpoint-facts strong{font-size:.86rem;font-weight:550}.app-shell.page-play .checkpoint-summary .checkpoint-excerpt{max-width:none;margin-top:14px;border-left-color:var(--gold)}.app-shell.page-play .checkpoint-excerpt p{color:var(--paper-dim)}.app-shell.page-play .resume-box{flex-direction:row;align-items:center;justify-content:space-between;gap:14px;border-left:0;padding:13px 0 0;border-top:1px solid var(--line)}.app-shell.page-play .resume-box p{color:var(--paper-dim)}.app-shell.page-play .resume-box .button{min-width:128px}.app-shell.page-play .play-history{border:0;padding:9px 0 4px;background:transparent;box-shadow:none}.app-shell.page-play .reader-mode-row{display:flex;width:min(100%,680px);min-height:56px;align-items:center;justify-content:space-between;gap:12px;margin:0 auto 14px;border:1px solid var(--line);border-radius:12px;padding:6px 12px;background:var(--ink-soft)}.app-shell.page-play .reader-mode-copy{display:grid;min-width:0;gap:2px}.app-shell.page-play .reader-mode-copy strong{color:var(--paper);font-size:.78rem;line-height:1.4}.app-shell.page-play .reader-mode-copy span{color:var(--paper-muted);font-size:.7rem;line-height:1.45}.app-shell.page-play .reader-mode-control{display:inline-flex;min-height:44px;flex:none;align-items:center;gap:8px;color:var(--paper-dim);cursor:pointer;font-size:.75rem;font-weight:700;white-space:nowrap}.app-shell.page-play .reader-mode-control input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.app-shell.page-play .reader-mode-track{position:relative;display:inline-flex;width:44px;height:26px;flex:none;align-items:center;border-radius:999px;background:var(--line-strong);transition:background-color .15s ease}.app-shell.page-play .reader-mode-track>span{width:20px;height:20px;margin-left:3px;border-radius:50%;background:var(--ink-raised);box-shadow:0 1px 3px #0000003d;transition:transform .15s ease}.app-shell.page-play .reader-mode-control input:checked+.reader-mode-track{background:var(--teal)}.app-shell.page-play .reader-mode-control input:checked+.reader-mode-track>span{transform:translate(18px)}.app-shell.page-play .reader-mode-control input:focus-visible+.reader-mode-track{outline:2px solid var(--teal);outline-offset:3px}.app-shell.page-play .latest-turn-message{width:min(100%,680px);margin:0 auto 14px;border:1px solid var(--line-strong);border-left:4px solid var(--gold);border-radius:12px;padding:11px 14px 2px;background:var(--ink-soft)}.app-shell.page-play .latest-turn-ai{border-left-color:var(--teal);background:var(--ink-raised)}.app-shell.page-play .latest-turn-flow{margin:0 auto 14px;border-left:3px solid var(--gold);padding:1px 0 1px 12px}.app-shell.page-play .latest-turn-flow-ai{border-left-color:var(--teal)}.app-shell.page-play .latest-turn-flow>p:last-child{margin-bottom:0}.app-shell.page-play .latest-turn-speaker{display:inline-flex;margin:0 0 7px;border:1px solid var(--line-strong);border-radius:999px;padding:2px 9px;color:var(--gold-bright);font-family:var(--ui-font, "Leelawadee UI", "Noto Sans Thai", Tahoma, sans-serif);font-size:.72rem;font-weight:750;line-height:1.5}.app-shell.page-play .latest-turn-ai .latest-turn-speaker{color:var(--teal)}.app-shell.page-play .latest-turn-ai>p:last-child{margin-bottom:0}.app-shell.page-play .reading-prose{width:min(100%,680px);margin:0 auto;color:var(--paper);font-family:var(--prose-font, "Noto Serif Thai", "Leelawadee UI", Tahoma, serif);font-size:calc(1.08rem * var(--reader-scale, 1));line-height:1.95}.app-shell.page-play .reading-prose p{margin:0 0 1.15em;overflow-wrap:anywhere}.app-shell.page-play .player-action{margin:0 0 18px;border-left:3px solid var(--gold);padding:5px 0 5px 13px;color:var(--gold-bright);font-family:var(--ui-font, "Leelawadee UI", "Noto Sans Thai", Tahoma, sans-serif);font-size:.9rem;line-height:1.7}.app-shell.page-play .passage-reference{width:min(100%,680px);margin:0 auto 15px;color:var(--paper-muted);font-size:.76rem}.app-shell.page-play .passage-speaker{width:min(100%,680px);margin:-10px auto 15px;font-family:var(--ui-font, "Leelawadee UI", "Noto Sans Thai", Tahoma, sans-serif);font-size:.72rem;font-weight:700}.app-shell.page-play .passage-speaker-player{color:var(--gold-bright)}.app-shell.page-play .passage-speaker-ai{color:var(--teal)}.app-shell.page-play .paused-passage{margin:16px 0 18px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:5px 18px 18px 5px;padding:clamp(19px,4vw,34px);background:var(--ink-raised)}.app-shell.page-play .paused-next-step{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:17px;padding:17px 19px;background:var(--ink-soft)}.app-shell.page-play .paused-next-step .eyebrow{display:block;margin:0 0 2px;color:var(--paper-muted);font-size:.66rem;letter-spacing:.08em}.app-shell.page-play .paused-next-step h2{margin:0;font-size:1.03rem;font-weight:650}.app-shell.page-play .paused-next-step p:not(.eyebrow){margin:4px 0 0;color:var(--paper-dim);font-size:.88rem}.app-shell.page-play .paused-next-step .button{min-width:126px}.app-shell.page-play .story-context{margin:18px 0 12px;border-block:1px solid var(--line)}.app-shell.page-play .story-context>summary{display:flex;min-height:52px;align-items:center;color:var(--paper-dim);font-size:.88rem;font-weight:600;list-style:none}.app-shell.page-play .context-library-link{margin:0 0 8px auto;min-height:44px;color:var(--teal)}.app-shell.page-play .play-message-list{max-height:min(60dvh,560px);overflow-y:auto;padding:0 4px 8px}.app-shell.page-play .play-message-list .transcript-message p{font-size:calc(1rem * var(--reader-scale, 1));line-height:1.85}.app-shell.page-play .composer-card{margin-top:21px;border-color:var(--line);border-radius:18px;padding:clamp(16px,3vw,24px);background:var(--ink-soft)}.app-shell.page-play .composer-card .panel-topline{margin-bottom:13px}.app-shell.page-play .composer-card h2{font-size:1.15rem}.app-shell.page-play .composer-card form{gap:8px}.app-shell.page-play .composer-card textarea{min-height:112px;padding:13px 14px;font-size:1rem}.app-shell.page-play .composer-footer .muted{max-width:62%;color:var(--paper-muted);font-size:.8rem}.app-shell.page-play .composer-footer .button{min-width:142px}.app-shell .mobile-navigation svg{width:21px;height:21px}.app-shell .more-drawer{border:1px solid var(--line);color:var(--paper);background:var(--ink-raised)}.app-shell .more-drawer::backdrop{background:#0f131080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-shell .more-heading{width:100%;margin:0 0 20px;border:0;padding:0 0 14px;border-bottom:1px solid var(--line);background:transparent;box-shadow:none}.app-shell .more-heading .eyebrow{display:block;margin:0 0 2px;color:var(--paper-muted);font-size:.65rem;letter-spacing:.1em}.app-shell .more-section+.more-section{margin-top:20px}.app-shell .more-section h3{margin:0 0 8px;color:var(--paper-muted);font-size:.77rem;font-weight:650}.app-shell .more-grid button{display:flex;min-height:50px;align-items:center;gap:10px;border-color:var(--line);border-radius:12px;color:var(--paper);background:var(--ink-soft);font-size:.87rem}.app-shell .more-grid button svg{width:19px;height:19px;flex:0 0 auto;color:var(--gold)}.app-shell .more-grid button[aria-current=page]{border-color:color-mix(in srgb,var(--gold) 36%,var(--line));color:var(--gold-bright);background:color-mix(in srgb,var(--gold) 9%,var(--ink-soft))}.app-shell .account-menu>summary{border-color:var(--line);border-radius:12px;padding-inline:12px;color:var(--paper-dim);font-size:.82rem}.app-shell .account-menu[open]>:not(summary){border-color:var(--line);border-radius:15px;background:var(--ink-raised)}.app-shell .account-menu-content>span{display:block;margin-bottom:8px;color:var(--paper-muted);font-size:.78rem;overflow-wrap:anywhere}@media(max-width:820px){.app-shell .app-header{height:60px;padding-inline:14px}.app-shell .header-brand strong{font-size:.9rem}.app-shell .header-brand span{display:none}.app-shell .small-mark{width:36px;height:36px}.app-shell .app-layout{min-height:calc(100svh - 60px);grid-template-columns:minmax(0,1fr)}.app-shell .sidebar{display:none}.app-shell .main-content{padding:12px clamp(16px,4vw,28px) calc(95px + env(safe-area-inset-bottom))}.app-shell .main-topline{min-height:26px;margin-bottom:3px}.app-shell .breadcrumb{display:none}.app-shell .page-content{min-height:calc(100svh - 165px)}.app-shell .page-heading{padding:12px 0 17px}.app-shell .page-heading h1{font-size:clamp(1.42rem,5vw,1.75rem)}.app-shell .page-description{margin-top:6px;font-size:1rem}.app-shell.page-play .page-content{width:100%}.app-shell.page-play .page-heading{padding:7px 0 14px}.app-shell.page-play .page-description{max-width:48ch;font-size:.94rem}.app-shell.page-play .reading-prose{font-size:calc(1.08rem * var(--reader-scale, 1));line-height:1.9}.app-shell .mobile-navigation{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border-top:1px solid var(--line);padding:6px max(9px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-right));background:color-mix(in srgb,var(--ink-raised) 96%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell .mobile-navigation button{display:flex;min-width:0;min-height:50px;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;border-radius:12px;padding:4px 2px;color:var(--paper-muted);background:transparent}.app-shell .mobile-navigation button small{max-width:100%;color:inherit;font-size:.72rem;line-height:1.2}.app-shell .mobile-navigation .mobile-nav-current{color:var(--gold-bright);background:color-mix(in srgb,var(--gold) 10%,var(--ink-soft))}.app-shell .app-footer{margin-bottom:0;font-size:.7rem}.app-shell .more-drawer[open]{position:fixed;inset:auto 12px calc(68px + env(safe-area-inset-bottom));display:block;width:min(600px,calc(100vw - 24px));max-width:none;max-height:min(76dvh,720px);margin:0 auto;overflow-y:auto;border-radius:22px;padding:20px;box-shadow:0 18px 60px #11141140}}@media(max-width:520px){.app-shell .main-content{padding-inline:16px}.app-shell .branch-chip{max-width:min(45vw,180px)}.app-shell .page-heading h1{font-size:1.42rem}.app-shell .panel,.app-shell .checkpoint-panel,.app-shell .composer-card,.app-shell .voice-card,.app-shell .reader-card,.app-shell .empty-panel{border-radius:15px;padding:15px}.app-shell.page-play .checkpoint-summary{padding-inline:12px}.app-shell.page-play .checkpoint-summary>summary{min-height:54px;gap:8px;font-size:.84rem}.app-shell.page-play .checkpoint-summary>summary small{font-size:.7rem}.app-shell.page-play .checkpoint-facts>div{padding:10px 8px}.app-shell.page-play .checkpoint-facts strong{font-size:.82rem}.app-shell.page-play .paused-passage{border-radius:4px 15px 15px 4px;padding:18px 16px}.app-shell.page-play .paused-next-step{align-items:stretch;flex-direction:column;padding:15px}.app-shell.page-play .paused-next-step .button{width:100%}.app-shell.page-play .composer-footer{align-items:stretch;flex-direction:column}.app-shell.page-play .composer-footer .muted{max-width:none;font-size:.82rem}.app-shell.page-play .composer-footer .button{width:100%}.app-shell .more-grid{grid-template-columns:1fr}}.guide-intro{display:flex;flex-direction:column;gap:8px;margin-bottom:26px}.guide-intro>p{max-width:900px;margin:0;color:var(--paper-dim);line-height:1.8}.guide-intro .inline-actions{margin-top:6px}.guide-section{margin:28px 0}.guide-section>.section-heading{margin-bottom:13px}.guide-section>.section-heading h2{margin:3px 0 0;font-size:1.18rem}.guide-section>.section-heading .eyebrow{margin:0}.guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:0;padding:0;list-style:none;counter-reset:guide}.guide-steps li{display:flex;min-width:0;flex-direction:column;gap:7px;border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--ink-soft);counter-increment:guide}.guide-steps li:before{color:var(--gold-bright);font-size:.68rem;font-weight:800;letter-spacing:.1em;content:"0" counter(guide)}.guide-steps strong{color:var(--paper);font-size:.86rem}.guide-steps span{color:var(--paper-muted);font-size:.76rem;line-height:1.75}.guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-grid .panel{min-width:0;padding:16px}.guide-grid h3,.guide-ai-steps h3{margin:0;font-size:.91rem}.guide-grid p{margin:7px 0 0;color:var(--paper-muted);font-size:.76rem;line-height:1.75}.guide-cost{padding:clamp(16px,3vw,24px)}.guide-cost p,.guide-ai-steps p{color:var(--paper-dim);font-size:.8rem;line-height:1.8}.guide-cost>p:first-child{margin-top:0}.guide-cost li,.guide-ai-steps li,.guide-troubleshooting li{margin:7px 0;color:var(--paper-dim);font-size:.78rem;line-height:1.8}.guide-cost ul,.guide-ai-steps ol,.guide-troubleshooting ul{padding-left:22px}.guide-links{display:flex;flex-wrap:wrap;gap:9px 17px;border-top:1px solid var(--line);padding-top:14px}.guide-links a{color:var(--gold-bright);font-size:.75rem;text-underline-offset:3px}.guide-ai-steps{margin-top:14px}.guide-ai-steps ol{margin-bottom:6px}.guide-ai-steps .muted{color:var(--paper-muted)}.guide-troubleshooting{margin-top:26px;padding:clamp(16px,3vw,24px)}.guide-troubleshooting .eyebrow{margin-top:0}.guide-troubleshooting h2{font-size:1.08rem}.guide-troubleshooting ul{margin-bottom:0}@media(max-width:820px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-steps{grid-template-columns:1fr}}@media(max-width:620px){.guide-grid{grid-template-columns:1fr}}.character-card{align-content:start}.character-source-details{grid-column:1 / -1;min-width:0}.character-source-details{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.character-source-details h3,.profile-details h3{margin:0 0 10px;font-size:.88rem}.character-source-record+.character-source-record{margin-top:14px}.character-source-status{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:20px;color:var(--paper-muted);font-size:.7rem}.character-source-status.status-confirmed{color:var(--good)}.character-source-status.status-story_reference{color:var(--gold-bright)}.character-source-record p{margin:9px 0;font-size:.84rem;line-height:1.8}.character-source-record dl{display:grid;gap:8px;margin:12px 0}.character-source-record dl>div{display:grid;gap:2px}.character-source-record dt{color:var(--paper-muted);font-size:.72rem}.character-source-record dd{margin:0;overflow-wrap:anywhere;color:var(--paper);font-size:.85rem}.character-source-evidence{min-width:0;border-top:1px solid var(--line)}.character-source-evidence summary{display:flex;align-items:center;min-height:44px;padding:8px 0;cursor:pointer;overflow-wrap:anywhere;color:var(--gold-bright);font-size:.75rem}.character-source-evidence summary:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.character-source-text{max-height:300px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere;font:.76rem/1.8 var(--prose-font, sans-serif)}.character-source-evidence small,.character-source-evidence code{display:block;overflow-wrap:anywhere;color:var(--paper-muted);font-size:.67rem}.app-shell.theme-neobrutalism{--ink: #f7f5ec;--ink-soft: #fffef8;--ink-raised: #ffffff;--ink-hover: #fff06a;--line: #171717;--line-strong: #171717;--paper: #171717;--paper-dim: #303030;--paper-muted: #454545;--gold: #171717;--gold-bright: #171717;--teal: #006a70;--rose: #a51d53;--shadow: 5px 5px 0 #171717;color-scheme:light;color:var(--paper);background:var(--ink)}.app-shell.theme-neobrutalism ::selection{color:#171717;background:#43d5d6}.app-shell.theme-neobrutalism :focus-visible{outline:3px solid #006a70;outline-offset:3px}.app-shell.theme-neobrutalism .app-header{border-bottom:3px solid #171717;background:#f7f5ec;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell.theme-neobrutalism .small-mark{border:2px solid #171717;border-radius:3px;color:#171717;background:#43d5d6}.app-shell.theme-neobrutalism .app-layout{background:#f7f5ec}.app-shell.theme-neobrutalism .sidebar{border-right:3px solid #171717;background:#fffef8}.app-shell.theme-neobrutalism .sidebar-footnote{border-top:2px solid #171717}.app-shell.theme-neobrutalism .sidebar-dot{border-radius:0;background:#006a70;box-shadow:none}.app-shell.theme-neobrutalism .branch-chip{border:2px solid #171717;border-radius:2px;color:#171717;background:#fffef8}.app-shell.theme-neobrutalism .nav-item{border:2px solid transparent;border-radius:2px;color:#303030;transition:none}.app-shell.theme-neobrutalism .nav-item:hover{border-color:#171717;color:#171717;background:#43d5d6}.app-shell.theme-neobrutalism .nav-symbol{color:#171717}.app-shell.theme-neobrutalism .page-heading h1,.app-shell.theme-neobrutalism .panel h2,.app-shell.theme-neobrutalism .checkpoint-panel h2,.app-shell.theme-neobrutalism .composer-card h2,.app-shell.theme-neobrutalism .reader-card h2{color:#171717;font-weight:800}.app-shell.theme-neobrutalism .page-description{color:#303030}.app-shell.theme-neobrutalism .panel,.app-shell.theme-neobrutalism .checkpoint-panel,.app-shell.theme-neobrutalism .composer-card,.app-shell.theme-neobrutalism .voice-card,.app-shell.theme-neobrutalism .reader-card,.app-shell.theme-neobrutalism .empty-panel,.app-shell.theme-neobrutalism .world-stat,.app-shell.theme-neobrutalism .checkpoint-snapshots-panel{border:2px solid #171717;border-radius:4px;color:#171717;background:#fffef8;box-shadow:5px 5px #171717}.app-shell.theme-neobrutalism .checkpoint-paused,.app-shell.theme-neobrutalism .checkpoint-active{background:#fffef8}.app-shell.theme-neobrutalism .checkpoint-facts>div{border-color:#171717}.app-shell.theme-neobrutalism .checkpoint-excerpt,.app-shell.theme-neobrutalism .reading-prose,.app-shell.theme-neobrutalism .transcript-message,.app-shell.theme-neobrutalism .turn-card{color:#171717}.app-shell.theme-neobrutalism .paused-next-step{border:2px solid #171717;border-radius:4px;background:#f1e737;box-shadow:4px 4px #171717}.app-shell.theme-neobrutalism .status-pill{border:2px solid #171717;border-radius:2px;color:#171717;background:#fffef8}.app-shell.theme-neobrutalism .status-good{border-color:#171717;color:#171717;background:#43d5d6}.app-shell.theme-neobrutalism .status-warn{border-color:#171717;color:#171717;background:#f1e737}.app-shell.theme-neobrutalism .button,.app-shell.theme-neobrutalism button:not(.text-button):not(.install-affordance){border:2px solid #171717;border-radius:3px;color:#171717;background:#fffef8;box-shadow:3px 3px #171717;transition:none}.app-shell.theme-neobrutalism .button:not(:disabled):hover,.app-shell.theme-neobrutalism button:not(:disabled):not(.text-button):not(.install-affordance):hover{transform:none;color:#171717;background:#43d5d6}.app-shell.theme-neobrutalism .button:active,.app-shell.theme-neobrutalism button:not(:disabled):not(.text-button):not(.install-affordance):active{background:#f1e737;box-shadow:1px 1px #171717}.app-shell.theme-neobrutalism .button.button-primary{border-color:#171717;color:#171717;background:#f1e737;box-shadow:4px 4px #171717}.app-shell.theme-neobrutalism .button.button-primary:not(:disabled):hover{color:#171717;background:#43d5d6}.app-shell.theme-neobrutalism .button.button-outline{border-color:#171717;color:#171717;background:#fffef8}.app-shell.theme-neobrutalism .button.button-quiet{border-color:transparent;color:#171717;background:transparent;box-shadow:none}.app-shell.theme-neobrutalism .button.button-quiet:not(:disabled):hover{border-color:#171717;background:#43d5d6;box-shadow:2px 2px #171717}.app-shell.theme-neobrutalism .nav-item.nav-current{border-color:#171717;color:#171717;background:#f1e737;box-shadow:3px 3px #171717}.app-shell.theme-neobrutalism .text-button,.app-shell.theme-neobrutalism .install-affordance{color:#00565b;text-decoration:underline;text-underline-offset:3px}.app-shell.theme-neobrutalism input,.app-shell.theme-neobrutalism select,.app-shell.theme-neobrutalism textarea{border:2px solid #171717;border-radius:2px;color:#171717;background:#fff}.app-shell.theme-neobrutalism input:focus,.app-shell.theme-neobrutalism select:focus,.app-shell.theme-neobrutalism textarea:focus{outline:3px solid #006a70;outline-offset:2px}.app-shell.theme-neobrutalism .operation-feedback,.app-shell.theme-neobrutalism .more-drawer,.app-shell.theme-neobrutalism .account-menu[open]>:not(summary){border:2px solid #171717;border-radius:4px;color:#171717;background:#fffef8;box-shadow:5px 5px #171717;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell.theme-neobrutalism .app-footer{border-top:2px solid #171717;color:#303030}.app-shell.theme-neobrutalism .mobile-navigation{border-top:3px solid #171717;background:#fffef8}.app-shell.theme-neobrutalism .mobile-navigation .mobile-nav-current{border:2px solid #171717;border-radius:2px;color:#171717;background:#f1e737}.app-shell.theme-neobrutalism .more-grid button[aria-current=page]{border-color:#171717;color:#171717;background:#f1e737}.app-shell.theme-neobrutalism .canon-context-banner,.app-shell.theme-neobrutalism .story-term-preview,.app-shell.theme-neobrutalism .story-term-choice.is-selected{border-color:#171717;border-radius:3px;background:#43d5d6}.app-shell.theme-neobrutalism .canon-status-filters button[aria-pressed=true]{border-color:#171717;color:#171717;background:#f1e737}@media(max-width:900px){.app-shell.design-flow .app-header{height:62px;padding-inline:16px}.app-shell.design-flow .app-layout{min-height:calc(100svh - 62px);grid-template-columns:minmax(0,1fr)}.app-shell.design-flow .sidebar{display:none}.app-shell.design-flow .main-content{padding:16px 20px calc(104px + env(safe-area-inset-bottom))}.app-shell.design-flow .mobile-navigation{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border-top:1px solid var(--line);padding:6px max(12px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));background:color-mix(in srgb,var(--ink-raised) 96%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell.design-flow .mobile-navigation button{min-width:0;min-height:50px;flex:initial}.app-shell.design-flow .mobile-navigation button small{max-width:100%;font-size:.72rem}.app-shell.design-flow .more-drawer[open]{position:fixed;z-index:40;inset:auto 12px calc(68px + env(safe-area-inset-bottom));display:block;width:min(600px,calc(100vw - 24px));max-height:min(76dvh,720px);margin:0 auto;overflow-y:auto;border-radius:22px;padding:20px;background:var(--ink);box-shadow:0 18px 60px #090d0c47}.app-shell.design-flow .media-grid,.app-shell.design-flow .backup-grid,.app-shell.design-flow .guide-grid,.app-shell.design-flow .guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.app-shell.design-flow .media-grid,.app-shell.design-flow .backup-grid,.app-shell.design-flow .guide-grid,.app-shell.design-flow .guide-steps{grid-template-columns:minmax(0,1fr)}}@font-face{font-family:Novel Sans;src:url(/fonts/novel-sans.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Novel Sarabun;src:url(/fonts/novel-prose.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}.app-shell,.auth-shell{--ui-font: "Novel Sans", "Noto Sans Thai", Tahoma, sans-serif;--prose-font: "Novel Sarabun", var(--ui-font), Tahoma, sans-serif;font-family:var(--ui-font);letter-spacing:normal;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root,.theme-midnight{--ink: #0d1220;--ink-soft: #141c2e;--ink-raised: #1b2640;--ink-hover: #263351;--line: #29334b;--line-strong: #3b4763;--paper: #edf1fa;--paper-dim: #c2cadd;--paper-muted: #a3aec5;--gold: #e7bd80;--gold-bright: #f1cf9a;--teal: #a99bff;--rose: #f19ca4;--shadow: 0 16px 38px rgb(3 8 19 / 28%);color:var(--paper);background:var(--ink);color-scheme:dark}body{font-family:Novel Sans,Noto Sans Thai,Tahoma,sans-serif}.app-shell.theme-parchment{--ink: #eef0f7;--ink-soft: #f8f8fb;--ink-raised: #fff;--ink-hover: #e9eafa;--line: #dce0ec;--line-strong: #c6cce0;--paper: #22283a;--paper-dim: #474f65;--paper-muted: #59647e;--gold: #5d54a4;--gold-bright: #464080;--teal: #5650a0;--rose: #a84257;--shadow: 0 12px 30px rgb(31 42 73 / 8%);color:var(--paper);background:var(--ink);color-scheme:light}.app-shell.theme-ink{--ink: #111827;--ink-soft: #182234;--ink-raised: #222e43;--ink-hover: #2a3850;--line: #334159;--line-strong: #465672;--paper: #f0f2f8;--paper-dim: #c9d0e0;--paper-muted: #aab5cb;--gold: #dcbd8a;--gold-bright: #f0d3a3;--teal: #a99bff;--rose: #f19ca4;--shadow: 0 16px 38px rgb(3 8 19 / 28%);color:var(--paper);background:var(--ink);color-scheme:dark}.app-shell.theme-neobrutalism{font-family:var(--ui-font)}.app-shell{min-height:100svh;background:var(--ink);color:var(--paper);font-size:16px}.app-shell :where(.eyebrow){display:none!important}.app-shell :where(h1,h2,h3,p,strong,label,summary,span,button,small,dt,dd){letter-spacing:normal}.app-shell .app-header{height:70px;padding-inline:25px;border-bottom:1px solid var(--line);background:var(--ink-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell .novel-icon,.auth-shell .novel-icon{display:inline-block;width:1.25em;height:1.25em;flex:0 0 auto;object-fit:contain;vertical-align:middle;-webkit-user-select:none;user-select:none}.app-shell .header-brand{gap:12px}.app-shell .header-brand strong{font-size:.96rem;font-weight:730}.app-shell .header-brand span{margin-top:3px;color:var(--paper-muted);font-size:.76rem}.app-shell .small-mark{width:40px;height:40px;border:0;border-radius:14px;color:var(--teal);background:var(--ink-raised);box-shadow:none}.app-shell .small-mark .novel-icon{width:25px;height:25px}.app-shell .app-layout{min-height:calc(100svh - 70px);grid-template-columns:216px minmax(0,1fr)}.app-shell .sidebar{top:70px;height:calc(100svh - 70px);padding:25px 13px 18px;border-right:1px solid var(--line);background:var(--ink)}.app-shell .main-navigation{gap:21px}.app-shell .nav-group{gap:4px}.app-shell .nav-group-label{margin:0 10px 8px;color:var(--paper-muted);font-size:.74rem;font-weight:610}.app-shell .nav-item{min-height:46px;gap:11px;border:1px solid transparent;border-radius:11px;padding-inline:11px;color:var(--paper-dim);font-size:.85rem;font-weight:540;transition:color .15s ease,background-color .15s ease}.app-shell .nav-item .novel-icon{width:19px;height:19px}.app-shell .nav-item:hover{color:var(--paper);background:var(--ink-soft)}.app-shell .nav-current,.app-shell .nav-current:hover{border-color:transparent;color:var(--teal);background:var(--ink-raised);font-weight:680}.app-shell .sidebar-footnote{gap:9px;margin-inline:9px;border-color:var(--line);color:var(--paper-muted);font-size:.72rem}.app-shell .sidebar-dot{width:7px;height:7px;background:var(--teal);box-shadow:none}.app-shell .main-content{min-width:0;width:100%;max-width:1540px;margin-inline:auto;padding:23px clamp(24px,3vw,46px) 29px}.app-shell .main-topline{min-height:32px;margin-bottom:10px}.app-shell .breadcrumb{color:var(--paper-muted);font-size:.76rem;font-weight:550}.app-shell .branch-chip{max-width:280px;border-color:var(--line);border-radius:9px;color:var(--paper-dim);font-size:.77rem}.app-shell .reader-font-shortcut{gap:8px;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:5px 11px;color:var(--paper-dim);background:var(--ink-soft);font-size:.79rem}.app-shell .reader-font-shortcut:hover{color:var(--paper);background:var(--ink-raised)}.app-shell .reader-font-shortcut span:first-child{color:var(--teal);font-family:Georgia,serif}.app-shell .page-content{min-height:calc(100svh - 176px)}.app-shell .page-heading{min-height:0;padding:14px 0 19px}.app-shell .page-heading h1{color:var(--paper);font-family:var(--ui-font);font-size:clamp(1.65rem,2.3vw,2.2rem);font-weight:680;letter-spacing:normal;line-height:1.32}.app-shell .page-description{max-width:66ch;margin-top:8px;color:var(--paper-dim);font-size:.94rem;line-height:1.7}.app-shell .panel,.app-shell .checkpoint-panel,.app-shell .composer-card,.app-shell .voice-card,.app-shell .reader-card,.app-shell .empty-panel{border:1px solid var(--line);border-radius:15px;background:var(--ink-soft);box-shadow:none}.app-shell .panel+.panel,.app-shell .panel+.reader-card,.app-shell .reader-card+.composer-card,.app-shell .composer-card+.voice-card,.app-shell .checkpoint-panel+.reader-card,.app-shell .checkpoint-panel+.composer-card{margin-top:16px}.app-shell .panel h2,.app-shell .checkpoint-panel h2,.app-shell .composer-card h2,.app-shell .voice-card h2,.app-shell .empty-panel h2{font-size:1.12rem;font-weight:680}.app-shell .muted{color:var(--paper-muted);line-height:1.65}.app-shell .button,.app-shell .mobile-navigation button,.app-shell .nav-item,.app-shell .more-grid button,.app-shell .account-menu>summary{min-height:48px}.app-shell button{touch-action:manipulation}.app-shell button:not(:disabled),.app-shell summary{cursor:pointer}.app-shell .button{border-radius:10px;font-weight:630}.app-shell .button-primary{border:1px solid var(--teal);color:#11162a;background:var(--teal);font-weight:740;box-shadow:none}.app-shell .button-primary:not(:disabled):hover{background:#c5bcff}.app-shell.theme-parchment .button-primary{color:#fff}.app-shell.theme-parchment .button-primary:not(:disabled):hover{color:#fff;background:#464080}.app-shell .button-outline{border-color:var(--line-strong);color:var(--paper);background:var(--ink-raised)}.app-shell .button-quiet{color:var(--paper-dim)}.app-shell input,.app-shell select,.app-shell textarea{min-height:48px;border-color:var(--line-strong);border-radius:10px;color:var(--paper);background:var(--ink-raised)}.app-shell textarea{line-height:1.72}.app-shell :focus-visible{outline:3px solid var(--teal);outline-offset:3px}.app-shell .status-pill{min-height:28px;border-color:var(--line-strong);border-radius:7px;color:var(--paper-dim);background:var(--ink-raised);font-size:.73rem;font-weight:620}.app-shell .status-good{border-color:#48634f;color:#b6e0bd;background:#1b332d}.app-shell .status-warn{border-color:#766044;color:#eed19c;background:#342b24}.app-shell .operation-feedback{border-color:var(--line-strong);border-radius:12px;background:var(--ink-raised);box-shadow:var(--shadow)}.app-shell .operation-feedback-copy strong{color:var(--teal)}.app-shell .operation-spinner{border-color:#615c86;border-top-color:var(--teal)}.app-shell .app-footer{border-top-color:var(--line);color:var(--paper-muted);font-size:.72rem}.app-shell .error-banner{border-color:#71414b;color:#ffd8dc;background:#331e29}.app-shell .success-banner{border-color:#365947;color:#c7ebd1;background:#192f2a}.app-shell.page-play .page-content{width:min(100%,1180px);min-height:0;margin-inline:auto}.app-shell.page-play .play-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}.app-shell.page-play .play-reading-column{min-width:0}.app-shell.page-play .play-reading-column:has(.reading-prose) .page-heading{padding-bottom:4px}.app-shell.page-play .play-reading-column:has(.reading-prose) .page-heading h1{font-size:1.15rem;font-weight:570;color:var(--paper-dim)}.app-shell.page-play .play-reading-column:has(.reading-prose) .page-description{display:none}.app-shell.page-play .play-reading-column .page-content{width:100%;min-height:0;max-width:none;margin:0}.app-shell.page-play .page-heading{padding:13px 0 10px}.app-shell.page-play .page-heading h1{font-size:clamp(1.55rem,2.25vw,2rem)}.app-shell.page-play .page-description{max-width:62ch;font-size:.94rem}.app-shell .story-opening{position:relative;min-width:0;margin:6px 0 16px;border-block:1px solid var(--line);padding:16px 0}.app-shell .story-opening-copy{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 22px}.app-shell .story-opening-scene{display:grid;min-width:0;grid-template-columns:46px minmax(0,1fr);align-items:center;column-gap:12px}.app-shell .story-opening-eyebrow{grid-column:2;margin:0 0 2px;color:var(--teal);font-size:.72rem;font-weight:680}.app-shell .story-opening h2{grid-column:2;margin:0;color:var(--paper);font-family:var(--ui-font);font-size:clamp(1.25rem,2.1vw,1.72rem);font-weight:680;line-height:1.4;text-wrap:balance}.app-shell .story-opening .story-opening-branch{grid-column:2;margin:3px 0 0;color:var(--paper-muted);font-size:.82rem;line-height:1.45}.app-shell .story-opening-controls{display:flex;align-items:center;justify-content:flex-end;gap:13px}.app-shell .story-state{display:inline-flex;align-items:center;gap:8px;color:var(--paper-dim);font-size:.78rem;font-weight:620;white-space:nowrap}.app-shell .story-state>span{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--paper-muted)}.app-shell .story-state-active{color:#b6e0bd}.app-shell .story-state-active>span{background:#74d4a6}.app-shell .story-state.is-paused{color:var(--gold-bright)}.app-shell .story-state.is-paused>span{background:var(--gold)}.app-shell .story-emblem{grid-column:1;grid-row:1 / span 3;display:grid;width:44px;height:44px;place-items:center;border:1px solid color-mix(in srgb,var(--rose) 28%,transparent);border-radius:13px;background:color-mix(in srgb,var(--rose) 12%,var(--ink-soft))}.app-shell .story-emblem .novel-icon{width:29px;height:29px}.app-shell.page-play .checkpoint-summary{margin-bottom:15px;border:1px solid var(--line);border-radius:11px;padding:2px 13px;background:var(--ink-soft)}.app-shell.page-play .checkpoint-summary>summary{min-height:50px;color:var(--paper);font-size:.88rem;font-weight:640}.app-shell.page-play .checkpoint-summary>summary small{color:var(--paper-muted);font-size:.76rem;font-weight:500}.app-shell.page-play .checkpoint-summary>summary:after{content:"+"}.app-shell.page-play .checkpoint-summary[open]>summary:after{content:"−"}.app-shell.page-play .checkpoint-summary .checkpoint-panel{border:0;border-top:1px solid var(--line);border-radius:0;padding:15px 0 13px;background:transparent;box-shadow:none}.app-shell.page-play .checkpoint-summary .panel-topline{align-items:flex-start}.app-shell.page-play .checkpoint-summary .panel-topline h2{font-size:1rem}.app-shell.page-play .checkpoint-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:13px 0;border-block:1px solid var(--line)}.app-shell.page-play .checkpoint-facts>div{border:0;border-radius:0;padding:11px 10px;background:transparent}.app-shell.page-play .checkpoint-facts>div:nth-child(2n){border-left:1px solid var(--line)}.app-shell.page-play .checkpoint-facts>div:nth-child(n+3){border-top:1px solid var(--line)}.app-shell.page-play .checkpoint-facts span{color:var(--paper-muted);font-size:.76rem}.app-shell.page-play .checkpoint-facts strong{color:var(--paper);font-size:.85rem;font-weight:560}.app-shell.page-play .checkpoint-summary .checkpoint-excerpt{max-width:none;margin-top:14px;border-left-color:var(--line-strong)}.app-shell.page-play .checkpoint-summary .checkpoint-excerpt p{color:var(--paper-dim)}.app-shell.page-play .checkpoint-actions{grid-template-columns:1fr;gap:14px;margin-top:14px;padding-top:14px}.app-shell.page-play .checkpoint-review{gap:12px}.app-shell.page-play .play-history{border:0;padding:7px 0 4px;background:transparent;box-shadow:none}.app-shell.page-play .reading-prose{width:min(100%,710px);margin:0 auto;color:var(--paper);font-family:var(--prose-font);font-synthesis:weight;font-size:calc(1.22rem * var(--reader-scale, 1));line-height:2.02}.app-shell.page-play .reading-prose p{margin:0 0 1.25em;overflow-wrap:anywhere}.app-shell.page-play .reading-prose h3{margin:1.35em 0 .6em;font-family:var(--ui-font);font-size:1.28em;font-weight:680;line-height:1.5}.app-shell.page-play .reading-prose .source-hash,.app-shell.page-play .reading-prose .source-hash-badge{display:none}.app-shell.page-play .player-action{margin:0 0 18px;border:0;padding:2px 0;color:var(--teal);font-family:var(--ui-font);font-size:.93rem;line-height:1.75}.app-shell.page-play .passage-reference{width:min(100%,710px);margin:0 auto 15px;color:var(--paper-muted);font-size:.77rem}.app-shell.page-play .paused-passage{margin:11px 0 18px;border:0;border-radius:12px;padding:clamp(19px,3vw,30px);background:#141d30}.app-shell.theme-parchment.page-play .paused-passage{background:#fff}.app-shell.page-play .paused-passage .reading-prose{width:100%}.app-shell.page-play .paused-next-step{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line-strong);border-radius:12px;padding:16px 18px;background:var(--ink-raised)}.app-shell.page-play .paused-next-step h2{margin:0;font-size:1.01rem;font-weight:680}.app-shell.page-play .paused-next-step p:not(.eyebrow){margin:6px 0 0;color:var(--paper-dim);font-size:.86rem}.app-shell.page-play .paused-next-step .button{min-width:132px}.app-shell.page-play .story-context{margin:16px 0 11px;border-block:1px solid var(--line)}.app-shell.page-play .story-context>summary{min-height:52px;color:var(--paper-dim);font-size:.87rem;font-weight:590}.app-shell.page-play .story-context>summary::-webkit-details-marker{display:none}.app-shell.page-play .story-context>summary:after{margin-left:auto;color:var(--paper-muted);content:"+";font-size:1.1rem}.app-shell.page-play .story-context[open]>summary:after{content:"−"}.app-shell.page-play .context-library-link{min-height:44px;color:var(--teal)}.app-shell.page-play .play-message-list{max-height:min(60dvh,560px);overflow-y:auto;padding:0 3px 8px}.app-shell.page-play .play-message-list .transcript-message{border-top-color:var(--line);padding-block:15px}.app-shell.page-play .play-message-list .transcript-message p{font-size:calc(1.05rem * var(--reader-scale, 1));line-height:1.9}.app-shell.page-play .play-message-list .transcript-message small{display:none}.app-shell.page-play .composer-card{margin-top:18px;border-color:var(--line);border-radius:14px;padding:clamp(17px,2vw,22px);background:var(--ink-soft)}.app-shell.page-play .composer-card .panel-topline{margin-bottom:12px}.app-shell.page-play .composer-card h2{font-size:1.08rem}.app-shell.page-play .composer-card form{gap:9px}.app-shell.page-play .composer-card form>label{color:var(--paper);font-size:.9rem}.app-shell.page-play .composer-card textarea{min-height:116px;padding:13px 15px;font-size:1rem}.app-shell.page-play .composer-footer{align-items:flex-end}.app-shell.page-play .composer-footer .muted{max-width:62%;font-size:.81rem}.app-shell.page-play .composer-footer .button{min-width:144px}.app-shell.page-play .voice-disclosure{margin-top:14px;border-top:1px solid var(--line)}.app-shell.page-play .voice-disclosure>summary{min-height:52px}.app-shell.page-play .voice-disclosure .voice-card{margin:0;border:0;padding:8px 0 16px;background:transparent;box-shadow:none}.app-shell .scene-rail{display:none}.app-shell .empty-panel{display:flex;min-height:350px;align-items:flex-start;justify-content:center;padding:clamp(26px,5vw,44px);text-align:left}.app-shell .empty-glyph{width:50px;height:50px;display:grid;place-items:center;margin:0 0 18px;border-radius:14px;color:var(--teal);background:var(--ink-raised)}.app-shell .empty-glyph .novel-icon{width:28px;height:28px}.app-shell .empty-panel h2{max-width:18ch;font-size:clamp(1.45rem,3vw,1.9rem);line-height:1.4}.app-shell .empty-panel p{max-width:52ch;margin:9px 0 21px;color:var(--paper-dim);line-height:1.8}.app-shell .mobile-navigation{display:none}.app-shell .mobile-navigation .novel-icon{width:21px;height:21px}.app-shell .more-drawer{border:1px solid var(--line-strong);color:var(--paper);background:var(--ink-raised)}.app-shell .more-drawer::backdrop{background:#050810a1}.app-shell .more-panel{width:min(100%,600px);margin-inline:auto}.app-shell .more-heading{width:100%;margin:0 0 19px;border:0;padding:0 0 14px;border-bottom:1px solid var(--line);background:transparent;box-shadow:none}.app-shell .more-heading h2{color:var(--paper);font-size:1.2rem}.app-shell .more-section+.more-section{margin-top:21px}.app-shell .more-section h3{margin:0 0 9px;color:var(--paper-muted);font-size:.78rem;font-weight:620}.app-shell .more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;border:0;border-radius:0;padding:0;background:transparent}.app-shell .more-grid button{display:flex;min-height:50px;align-items:center;gap:10px;border-color:var(--line);border-radius:10px;color:var(--paper);background:var(--ink-soft);font-size:.85rem}.app-shell .more-grid button .novel-icon{width:19px;height:19px}.app-shell .more-grid button[aria-current=page]{border-color:var(--line-strong);color:var(--teal);background:var(--ink-raised)}.app-shell.design-flow .more-heading>.button{min-width:44px;min-height:38px;border:1px solid rgb(169 155 255 / 26%);border-radius:11px;padding:6px 12px;color:#c4b7ff}.app-shell.design-flow .more-heading>.button:focus-visible{outline:2px solid #a99bff;outline-offset:2px}.app-shell.design-flow .more-grid button[aria-current=page]{border-color:#a99bff6e;color:#c4b7ff;background:#a99bff1a}.app-shell .account-menu>summary{border-color:var(--line);border-radius:9px;color:var(--paper-dim);font-size:.81rem}.app-shell .account-menu[open]>:not(summary){border-color:var(--line-strong);border-radius:12px;background:var(--ink-raised)}.app-shell .account-menu-content>span{color:var(--paper-muted)}.app-shell .account-menu-content .button{min-height:44px}.auth-shell{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,510px);align-content:center;align-items:center;gap:30px clamp(48px,7vw,100px);padding:clamp(30px,7vw,100px) clamp(24px,10vw,156px);background:#0d1220;color:#edf1fa}.auth-shell .auth-brand{width:100%;max-width:590px;grid-column:1;align-self:end;gap:14px;margin:0 0 19px}.auth-shell .auth-brand .brand-mark{width:58px;height:58px}.auth-shell .auth-brand>div:last-child{display:flex;flex-direction:column;gap:11px}.auth-shell .auth-brand .eyebrow{display:none}.auth-shell .auth-brand h1{margin:0;color:#edf1fa;font-size:clamp(2rem,4vw,3rem);font-weight:740;letter-spacing:-.04em}.auth-shell .auth-brand p:last-child{margin:0;color:#aeb9d0;font-size:1rem}.auth-shell .auth-intro{max-width:650px;grid-column:1;align-self:start}.auth-shell .auth-intro h2{margin:0;color:#f2f0ff;font-family:var(--ui-font);font-size:clamp(2.4rem,4.1vw,3.8rem);font-weight:680;letter-spacing:normal;line-height:1.3;text-wrap:balance}.auth-shell .auth-intro>p{max-width:43ch;margin:17px 0 27px;color:#b2bfd7;font-size:1.06rem;line-height:1.85}.auth-shell .auth-features{display:grid;gap:16px;margin:0;padding:0;color:#d1d8e8}.auth-shell .auth-features>span{display:flex;align-items:center;gap:11px;font-size:.9rem}.auth-shell .auth-features .novel-icon{width:18px;height:18px;flex:0 0 auto}.auth-shell .auth-card{width:100%;grid-column:2;grid-row:1 / span 2;align-self:center;border:1px solid #303a52;border-radius:17px;padding:clamp(25px,4vw,39px);background:#141c2e;box-shadow:none}.auth-shell .auth-card .eyebrow{display:none}.auth-shell .auth-card h2{margin:0;color:#f0f2fa;font-size:1.5rem;font-weight:680;letter-spacing:-.02em}.auth-shell .auth-card>.muted{margin:9px 0 25px;color:#a3aec5;line-height:1.7}.auth-shell .stack-form{gap:11px}.auth-shell .stack-form>label{color:#d6dcec;font-size:.88rem;font-weight:570}.auth-shell input{min-height:50px;border-color:#3b4763;border-radius:9px;color:#edf1fa;background:#1b2640}.auth-shell .button-primary{min-height:50px;margin-top:8px;border-color:#b9adff;border-radius:9px;color:#11162a;background:#b9adff}.auth-shell .text-button{min-height:46px;margin-top:8px;color:#c1b9ff}.auth-shell .local-demo-card{align-items:flex-start;flex-direction:column;gap:13px;margin-top:23px;padding-top:19px;border-color:#303a52}.auth-shell .local-demo-card strong{color:#edf1fa;font-size:.88rem}.auth-shell .local-demo-card p{max-width:40ch;color:#a3aec5;font-size:.8rem;line-height:1.65}.auth-shell .local-demo-card .button{width:100%;border-color:#465672;color:#edf1fa;background:#202b42}.auth-shell .privacy-note{color:#a3aec5;font-size:.78rem;line-height:1.75}.auth-shell .auth-footer{grid-column:1 / -1;justify-self:start;margin:28px 0 0;color:#9ba7c0;font-size:.72rem;font-weight:570;letter-spacing:.02em;text-align:left}.auth-shell .auth-footer span{color:#b9adff}.auth-shell .notice-box{border-color:#69543f;border-radius:9px;color:#f0d3a3;background:#2a251f}.auth-shell .error-banner{border-color:#71414b;color:#ffd8dc;background:#331e29}.auth-shell:not(:has(.auth-intro)){grid-template-columns:minmax(0,510px);justify-content:center;gap:24px}.auth-shell:not(:has(.auth-intro)) .auth-card{grid-column:1;grid-row:auto}@media(min-width:1200px){.app-shell.page-play .play-workspace:has(.scene-rail){grid-template-columns:minmax(0,1fr) 236px;gap:clamp(26px,3vw,42px)}.app-shell.page-play .scene-rail{position:sticky;top:89px;display:flex;height:fit-content;max-height:calc(100svh - 120px);flex-direction:column;gap:19px;overflow-y:auto;padding:20px 0}.app-shell.page-play .scene-rail-heading{display:flex;align-items:center;gap:8px;color:var(--teal)}.app-shell.page-play .scene-rail-heading .novel-icon{width:18px;height:18px}.app-shell.page-play .scene-rail-heading h2{margin:0;color:var(--paper);font-size:1rem;font-weight:680}.app-shell.page-play .scene-position{display:grid;gap:5px;border-block:1px solid var(--line);padding:14px 0}.app-shell.page-play .scene-position>span{color:var(--paper-muted);font-size:.76rem}.app-shell.page-play .scene-position strong{color:var(--teal);font-size:1.02rem;font-weight:650}.app-shell.page-play .scene-facts{display:grid;gap:15px;margin:0}.app-shell.page-play .scene-facts>div{display:grid;gap:4px}.app-shell.page-play .scene-facts dt{color:var(--paper-muted);font-size:.75rem}.app-shell.page-play .scene-facts dd{margin:0;color:var(--paper-dim);font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}.app-shell.page-play .scene-cast{display:grid;gap:10px}.app-shell.page-play .scene-cast h3{margin:0;color:var(--paper-muted);font-size:.76rem;font-weight:570}.app-shell.page-play .scene-cast-person{display:flex;align-items:center;gap:9px;min-width:0;color:var(--paper-dim);font-size:.84rem}.app-shell.page-play .scene-cast .avatar-initial,.app-shell.page-play .scene-cast-portrait{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid var(--line);border-radius:11px}.app-shell.page-play .scene-cast .avatar-initial{color:var(--teal);background:var(--ink-raised);font-size:.77rem;font-weight:680}.app-shell.page-play .scene-cast-portrait{object-fit:cover}.app-shell.page-play .scene-rail-actions{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:12px}.app-shell.page-play .scene-rail-actions button{min-height:42px;border:0;border-radius:8px;padding:7px 9px;color:var(--paper-dim);background:transparent;text-align:left;font-size:.81rem}.app-shell.page-play .scene-rail-actions button:hover{color:var(--paper);background:var(--ink-soft)}.app-shell.page-play .scene-rail-actions button{justify-content:flex-start}.app-shell.page-play .scene-rail-actions .novel-icon{width:20px;height:20px;flex:0 0 20px}}@media(max-width:1120px)and (min-width:521px){.auth-shell{display:flex;max-width:700px;min-height:100svh;flex-direction:column;align-items:stretch;justify-content:center;gap:16px;margin-inline:auto;padding:54px 28px 34px}.auth-shell .auth-brand{margin:0}.auth-shell .auth-intro{margin-bottom:8px}.auth-shell .auth-intro h2{font-size:clamp(2.4rem,6vw,3.8rem)}.auth-shell .auth-intro>p{margin:12px 0 19px}.auth-shell .auth-features{display:flex;flex-wrap:wrap;gap:10px 22px}.auth-shell .auth-features>span{font-size:.83rem}.auth-shell .auth-card{width:100%}.auth-shell .auth-footer{margin-top:6px}}@media(max-width:1090px)and (min-width:821px){.app-shell .app-layout{grid-template-columns:196px minmax(0,1fr)}.app-shell .sidebar{padding-inline:10px}.app-shell .main-content{padding-inline:22px}}@media(max-width:820px){.app-shell .app-header{height:62px;padding-inline:16px}.app-shell .header-brand strong{font-size:.9rem}.app-shell .header-brand span{display:none}.app-shell .small-mark{width:36px;height:36px}.app-shell .app-layout{min-height:calc(100svh - 62px);grid-template-columns:minmax(0,1fr)}.app-shell .sidebar{display:none}.app-shell .main-content{padding:13px clamp(17px,4vw,28px) calc(96px + env(safe-area-inset-bottom))}.app-shell .main-topline{min-height:28px;margin-bottom:2px}.app-shell .breadcrumb{display:none}.app-shell .page-content{min-height:calc(100svh - 178px)}.app-shell .page-heading{padding:12px 0 15px}.app-shell .page-heading h1{font-size:clamp(1.47rem,5vw,1.85rem)}.app-shell .page-description{margin-top:7px;font-size:.93rem}.app-shell.page-play .page-content{width:100%}.app-shell.page-play .play-workspace{width:100%;gap:0}.app-shell.page-play .scene-rail{display:none}.app-shell.page-play .page-heading{padding:7px 0 10px}.app-shell.page-play .page-description{max-width:49ch;font-size:.89rem}.app-shell .story-opening{margin:4px 0 14px;padding:14px 0}.app-shell .story-opening-copy{grid-template-columns:minmax(0,1fr);gap:11px}.app-shell .story-opening h2{font-size:clamp(1.22rem,4.8vw,1.48rem)}.app-shell .story-opening-controls{justify-content:flex-start;padding-left:58px}.app-shell.page-play .reading-prose{font-size:calc(1.16rem * var(--reader-scale, 1));line-height:1.96}.app-shell.page-play .paused-passage{margin-top:9px;padding:18px}.app-shell .mobile-navigation{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border-top:1px solid var(--line);padding:6px max(9px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-right));background:var(--ink-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell .mobile-navigation button{display:flex;min-width:0;min-height:51px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid transparent;border-radius:9px;padding:4px 2px;color:var(--paper-muted);background:transparent}.app-shell .mobile-navigation button small{max-width:100%;color:inherit;font-size:.71rem;line-height:1.2}.app-shell .mobile-navigation .mobile-nav-current{color:var(--teal);background:var(--ink-raised)}.app-shell .app-footer{margin-bottom:0;font-size:.68rem}.app-shell .more-drawer[open]{position:fixed;inset:auto 12px calc(69px + env(safe-area-inset-bottom));display:block;width:min(600px,calc(100vw - 24px));max-width:none;max-height:min(76dvh,720px);margin:0 auto;overflow-y:auto;border-radius:16px;padding:19px;box-shadow:var(--shadow)}}@media(max-width:560px){.app-shell .more-grid{grid-template-columns:minmax(0,1fr)}.app-shell .more-section+.more-section{margin-top:14px}.app-shell .more-grid button{min-height:44px}.app-shell .more-drawer[open]{max-height:min(78dvh,700px);padding:14px}}@media(min-width:561px)and (max-width:820px){.app-shell.design-flow .more-drawer[open]{right:auto;left:50%;width:min(560px,calc(100vw - 32px));transform:translate(-50%);padding:15px 17px}.app-shell.design-flow .more-section+.more-section{margin-top:16px}}@media(max-width:520px){.auth-shell{display:flex;min-height:100svh;flex-direction:column;align-items:stretch;justify-content:center;gap:17px;padding:33px 19px calc(26px + env(safe-area-inset-bottom))}.auth-shell .auth-brand{margin:0}.auth-shell .auth-brand h1{font-size:1.45rem}.auth-shell .auth-brand p:last-child{font-size:.86rem}.auth-shell .auth-intro{margin-bottom:5px}.auth-shell .auth-intro h2{font-size:clamp(2rem,9vw,2.8rem)}.auth-shell .auth-intro>p{margin:10px 0 0;font-size:.88rem;line-height:1.7}.auth-shell .auth-features{display:none}.auth-shell .auth-card{padding:23px 20px}.auth-shell .auth-card h2{font-size:1.28rem}.auth-shell .auth-card>.muted{font-size:.8rem}.auth-shell .auth-footer{margin-top:3px;font-size:.63rem}.app-shell .main-content{padding-inline:16px}.app-shell .branch-chip{max-width:min(45vw,180px)}.app-shell .page-heading h1{font-size:1.5rem}.app-shell .panel,.app-shell .checkpoint-panel,.app-shell .composer-card,.app-shell .voice-card,.app-shell .reader-card,.app-shell .empty-panel{border-radius:12px;padding:16px}.app-shell.page-play .checkpoint-summary{padding-inline:11px}.app-shell.page-play .checkpoint-summary>summary{min-height:52px;gap:8px;font-size:.83rem}.app-shell.page-play .checkpoint-summary>summary small{font-size:.69rem}.app-shell.page-play .checkpoint-facts>div{padding:10px 8px}.app-shell.page-play .checkpoint-facts strong{font-size:.8rem}.app-shell.page-play .paused-passage{padding:17px 16px}.app-shell.page-play .paused-next-step{align-items:stretch;flex-direction:column;padding:15px}.app-shell.page-play .paused-next-step .button{width:100%}.app-shell.page-play .composer-footer{align-items:stretch;flex-direction:column}.app-shell.page-play .composer-footer .muted{max-width:none;font-size:.8rem}.app-shell.page-play .composer-footer .button{width:100%}.app-shell .more-grid{grid-template-columns:1fr}.app-shell .empty-panel{min-height:300px}}@media(max-width:390px){.app-shell .header-status>.status-pill{display:none}.app-shell.page-play .checkpoint-summary>summary{align-items:flex-start;flex-wrap:wrap;padding-block:8px}.app-shell.page-play .checkpoint-summary>summary small{width:100%;margin-left:0}.app-shell.page-play .checkpoint-facts{grid-template-columns:1fr}.app-shell.page-play .checkpoint-facts>div:nth-child(2n){border-left:0}.app-shell.page-play .checkpoint-facts>div:nth-child(n+2){border-top:1px solid var(--line)}}@media(prefers-reduced-motion:reduce){.app-shell *,.auth-shell *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell.design-flow,.auth-shell.design-flow{--ink: #172126;--ink-soft: #202e32;--ink-raised: #293a3c;--ink-hover: #334442;--line: #40504b;--line-strong: #53645a;--paper: #f3f0e3;--paper-dim: #bdc9c1;--paper-muted: #91a097;--gold: #ffc979;--gold-bright: #ffc979;--teal: #ad9dff;--rose: #d9f36a;--shadow: 0 18px 46px #09121550;color:var(--paper);color-scheme:dark}.app-shell.design-flow{background:radial-gradient(ellipse at 78% 4%,rgb(173 157 255 / 8%),transparent 30rem),radial-gradient(ellipse at 10% 38%,rgb(217 243 106 / 4%),transparent 35rem),var(--ink)}.app-shell.design-flow .app-header{position:sticky;z-index:30;top:0;border-bottom-color:var(--line);background:#202e32e0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell.design-flow .small-mark{border-radius:13px 13px 13px 4px;color:#211e34;background:var(--teal);transform:rotate(-4deg)}.app-shell.design-flow .app-layout{grid-template-columns:224px minmax(0,1fr)}.app-shell.design-flow .sidebar{border-right-color:var(--line);background:#172126bd}.app-shell.design-flow .nav-group-label{color:var(--paper-muted);letter-spacing:.06em}.app-shell.design-flow .nav-item{border-radius:9px 15px}.app-shell.design-flow .nav-current,.app-shell.design-flow .nav-current:hover{border-color:#40504b;color:var(--rose);background:linear-gradient(100deg,#d9f36a1f,#ad9dff12)}.app-shell.design-flow .sidebar-dot{background:var(--rose);box-shadow:0 0 0 4px #d9f36a1f}.app-shell.design-flow .main-content{padding:23px clamp(18px,3vw,48px) 34px}.app-shell.design-flow .main-topline{min-height:38px;margin-bottom:12px}.app-shell.design-flow .breadcrumb{color:var(--paper-muted)}.app-shell.design-flow .branch-chip{border-radius:999px;color:var(--paper-dim);background:#293a3cbf}.app-shell.design-flow .account-menu>summary{min-height:46px;gap:9px;border-color:#53645a;border-radius:999px;padding:5px 9px 5px 5px;color:var(--paper);background:linear-gradient(145deg,#2b3c3d,#202e32 72%);box-shadow:inset 0 1px #ffffff12,0 7px 17px #080e1029;font-size:.78rem;font-weight:680;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.app-shell.design-flow .account-menu>summary:hover{transform:translateY(-1px);border-color:var(--teal);box-shadow:inset 0 1px #ffffff17,0 10px 22px #080e103b}.app-shell.design-flow .account-menu[open]>summary{border-color:var(--rose);box-shadow:0 0 0 3px #d9f36a1a,0 9px 23px #080e103d}.app-shell.design-flow .account-avatar{display:grid;width:29px;height:29px;flex:0 0 auto;place-items:center;border:1px solid rgb(217 243 106 / 38%);border-radius:50%;color:var(--rose);background:radial-gradient(circle at 32% 25%,#d9f36a2b,#ad9dff2b 62%,#202e32eb)}.app-shell.design-flow .account-avatar .novel-icon{width:17px;height:17px}.app-shell.design-flow .account-chevron{display:grid;width:16px;height:16px;flex:0 0 auto;place-items:center;transition:transform .2s ease}.app-shell.design-flow .account-chevron img{display:block;width:12px;height:12px;object-fit:contain}.app-shell.design-flow .account-menu>summary>span[aria-hidden=true]{display:grid;width:18px;height:18px;flex:0 0 auto;place-items:center;background:url(/icons/chevron-down.png) center / 18px 18px no-repeat;font-size:0;transition:transform .2s ease}.app-shell.design-flow .account-menu[open] .account-chevron{transform:rotate(180deg)}.app-shell.design-flow .account-menu[open]>summary>span[aria-hidden=true]{transform:rotate(180deg)}.app-shell.design-flow .account-menu[open]>:not(summary){top:calc(100% + 10px);width:min(278px,calc(100vw - 24px));border:1px solid #53645a;border-radius:17px 8px 17px 17px;padding:9px;background:#202e32f7;box-shadow:0 22px 54px #050a0c7a,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-shell.design-flow .account-menu-content>span{display:block;margin:0 0 7px;border-bottom:1px solid var(--line);border-radius:10px 10px 4px 4px;padding:12px 11px 13px;color:var(--paper);background:#ffffff0a;font-size:.77rem;overflow-wrap:anywhere}.app-shell.design-flow .account-menu-content>span:before{display:block;margin-bottom:5px;color:var(--paper-muted);content:"บัญชีส่วนตัว";font-size:.64rem;letter-spacing:.05em}.app-shell.design-flow .account-menu-content .button{justify-content:flex-start;border-color:transparent;border-radius:10px;padding-inline:11px;color:var(--paper-dim);background:transparent;text-align:left}.app-shell.design-flow .account-menu-content .button:hover{color:var(--rose);background:#d9f36a14}.app-shell.design-flow .account-menu-content .header-logout{border-top-color:var(--line);border-top-style:solid;border-top-width:1px;border-radius:0 0 10px 10px;color:#f0b8b5}.app-shell.design-flow .account-menu-content .header-logout:hover{color:#ffd7d2;background:#d9696a1a}.app-shell.design-flow .page-heading{margin-bottom:19px;border-bottom:1px solid var(--line);padding:12px 0 19px}.app-shell.design-flow .page-heading h1{color:var(--paper);font-size:clamp(1.8rem,4vw,3.25rem);font-weight:700;letter-spacing:-.045em;line-height:1.24;text-wrap:balance}.app-shell.design-flow .page-description{max-width:68ch;color:var(--paper-dim)}.app-shell.design-flow .panel,.app-shell.design-flow .checkpoint-panel,.app-shell.design-flow .composer-card,.app-shell.design-flow .voice-card,.app-shell.design-flow .reader-card,.app-shell.design-flow .empty-panel{border-color:var(--line);border-radius:7px 18px;background:linear-gradient(150deg,var(--ink-soft),color-mix(in srgb,var(--ink-soft) 84%,var(--ink)));box-shadow:0 12px 30px #080e101f}.app-shell.design-flow .panel h2,.app-shell.design-flow .checkpoint-panel h2,.app-shell.design-flow .composer-card h2,.app-shell.design-flow .voice-card h2,.app-shell.design-flow .empty-panel h2{color:var(--paper);letter-spacing:-.025em}.app-shell.design-flow .button-primary{border-color:var(--rose);color:#233019;background:var(--rose);box-shadow:0 6px 18px #d9f36a1f}.app-shell.design-flow .button-primary:not(:disabled):hover{border-color:#e7ff8c;background:#e7ff8c}.app-shell.design-flow .button-outline{border-color:var(--line-strong);color:var(--paper);background:var(--ink-raised)}.app-shell.design-flow .button-quiet{color:var(--paper-dim)}.app-shell.design-flow input,.app-shell.design-flow select,.app-shell.design-flow textarea{border-color:var(--line-strong);color:var(--paper);background:#19252a}.app-shell.design-flow :focus-visible{outline-color:var(--rose)}.app-shell.design-flow .status-pill{border-color:var(--line-strong);color:var(--paper-dim);background:var(--ink-raised)}.app-shell.design-flow .status-good{border-color:#41674f;color:#c1ebc8;background:#20382d}.app-shell.design-flow .status-warn{border-color:#735e3c;color:#f0d59f;background:#3a3021}.app-shell.design-flow .operation-feedback{border-color:var(--line-strong);background:var(--ink-raised)}.app-shell.design-flow .operation-feedback-copy strong{color:var(--rose)}.app-shell.design-flow .app-footer{border-top-color:var(--line);color:var(--paper-muted)}.app-shell.design-flow :is(.canon-grid,.character-grid,.media-grid,.backup-grid,.settings-grid,.world-state-grid)>.panel{margin:0}.app-shell.design-flow.page-settings .settings-grid{align-items:start}.app-shell.design-flow input[type=file]{border-radius:11px;padding:7px;color:var(--paper-muted);background:var(--ink-soft)}.app-shell.design-flow input[type=file]::file-selector-button{margin-inline-end:11px;border:1px solid var(--line-strong);border-radius:8px;padding:8px 12px;color:var(--paper);background:var(--ink-raised);font:inherit;font-weight:650;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.app-shell.design-flow input[type=file]::file-selector-button:hover{border-color:var(--teal);background:var(--ink-hover)}.app-shell.design-flow.page-play .play-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;width:min(100%,1060px);margin:0 auto}.app-shell.design-flow.page-play .play-reading-column{min-width:0}.app-shell.design-flow.page-play .play-reading-column>.page-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.app-shell.design-flow.page-play .story-opening{min-height:0;margin:0 0 16px;border:1px solid #40514e;border-left:3px solid var(--rose);border-radius:8px 18px;padding:14px 18px;background:linear-gradient(115deg,#243538,#202f33 70%);box-shadow:none}.app-shell.design-flow.page-play .story-opening-copy{width:100%;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px}.app-shell.design-flow.page-play .story-opening h2{color:#f5f0df;font-size:clamp(1.25rem,2vw,1.65rem);letter-spacing:normal}.app-shell.design-flow.page-play .story-opening p{color:#c5d0c4}.app-shell.design-flow.page-play .story-opening-eyebrow{color:var(--rose)!important}.app-shell.design-flow.page-play .story-opening-controls .button{min-height:40px;margin:0;white-space:nowrap}.app-shell.design-flow.page-play .story-opening:hover{border-color:#53645a}.app-shell.design-flow.page-play .checkpoint-summary{margin-bottom:17px;border-color:var(--line);border-radius:7px 16px;background:var(--ink-soft)}.app-shell.design-flow.page-play .checkpoint-summary>summary{color:var(--paper)}.app-shell.design-flow.page-play .checkpoint-summary>summary small{color:var(--paper-muted)}.app-shell.design-flow.page-play .checkpoint-panel{box-shadow:none}.app-shell.design-flow.page-play .checkpoint-facts{border-color:var(--line)}.app-shell.design-flow.page-play .checkpoint-facts>div{background:transparent}.app-shell.design-flow.page-play .checkpoint-facts span{color:var(--paper-muted)}.app-shell.design-flow.page-play .checkpoint-facts strong{color:var(--paper)}.app-shell.design-flow.page-play .checkpoint-excerpt{border-left-color:var(--teal);color:var(--paper-dim)}.app-shell.design-flow.page-play .checkpoint-excerpt p{color:var(--paper)}.app-shell.design-flow.page-play .reader-card.play-history{margin-top:0;border:1px solid #ded8c9;border-left:5px solid var(--teal);border-radius:8px 21px 21px 8px;padding:clamp(20px,4vw,46px);background:#f5f1e6;color:#30332e;box-shadow:0 14px 34px #080e1033}.app-shell.design-flow.page-play .play-history .passage-reference,.app-shell.design-flow.page-play .play-history .reading-prose{color:#30332e}.app-shell.design-flow.page-play .play-history .passage-reference{margin:0 0 14px;color:#74786c;font-size:.76rem}.app-shell.design-flow.page-play .reading-prose{width:100%;max-width:none;color:#30332e;font-size:calc(1rem * var(--reader-scale, 1));line-height:1.85}.app-shell.design-flow.page-play .reading-prose .turn-display-content p{color:#30332e}.app-shell.design-flow.page-play .reading-prose .turn-display-content>span{color:#7766ad}.app-shell.design-flow.page-play .latest-turn-message{border-color:#ddd6c8;border-left-color:#7967bd;color:#30332e;background:#fffdf7;box-shadow:0 5px 16px #30332e0f}.app-shell.design-flow.page-play .latest-turn-message.latest-turn-ai{border-left-color:#748a36;background:#f0f5e9}.app-shell.design-flow.page-play .latest-turn-message .turn-display-content p,.app-shell.design-flow.page-play .latest-turn-message>p{color:#30332e}.app-shell.design-flow.page-play .latest-turn-message .turn-display-content>span{color:#66548e}.app-shell.design-flow.page-play .latest-turn-message .turn-display-annotation{color:#5a5e53}.app-shell.design-flow.page-play .latest-turn-message .turn-display-annotation strong{color:#63548c}.app-shell.design-flow.page-play .latest-turn-message .latest-turn-speaker{border-color:#d7caee;color:#66548e;background:#f4effb}.app-shell.design-flow.page-play .latest-turn-ai .latest-turn-speaker{border-color:#cbd7a8;color:#52651f;background:#e5eed2}.app-shell.design-flow.page-play .reading-flow>p{position:relative;max-width:66ch;margin:0 auto 1.2em;border-left:1px solid #899088;padding:15px 16px 17px 38px;color:#30332e;transition:border-color .28s ease,background-color .28s ease}.app-shell.design-flow.page-play .reading-flow>p:before{position:absolute;z-index:3;top:24px;left:-5px;width:9px;height:9px;border-radius:50%;background:#b1c54f;content:""}.app-shell.design-flow.page-play .reading-flow>p:first-of-type:before{animation:chapter-flow-marker 3.8s ease-in-out infinite}.app-shell.design-flow.page-play .reading-flow>p:hover{border-left-color:#737f32;background:#ad9dff0d}.app-shell.design-flow.page-play .reading-prose h3{color:#252a27}.app-shell.design-flow.page-play .reader-card .turn-evidence{color:#575c53}.app-shell.design-flow.page-play .reader-card .turn-evidence>summary{color:#62665d}.app-shell.design-flow.page-play .reader-card .turn-evidence>summary:after{color:#777b70}.app-shell.design-flow.page-play .story-context{border-top-color:#d9d5c8;color:#444940}.app-shell.design-flow.page-play .story-context>summary{color:#42483f}.app-shell.design-flow.page-play .story-context>summary:focus-visible{border-radius:4px;outline-color:#7766ad;outline-offset:2px}.app-shell.design-flow.page-play .story-context .context-library-link{color:#655294}.app-shell.design-flow.page-play .play-message-list{scrollbar-color:#aaa591 transparent;scrollbar-width:thin}.app-shell.design-flow.page-play .play-message-list::-webkit-scrollbar{width:7px}.app-shell.design-flow.page-play .play-message-list::-webkit-scrollbar-thumb{border-radius:8px;background:#aaa591}.app-shell.design-flow.page-play .play-message-list .transcript-message{border-top-color:#d9d5c8;color:#30332e}.app-shell.design-flow.page-play .play-message-list .transcript-message p{color:#30332e}.app-shell.design-flow.page-play .play-message-list .message-meta-line{color:#74786c}.app-shell.design-flow.page-play .play-message-list .message-meta-line strong{color:#62674f}.app-shell.design-flow.page-play .play-message-list .transcript-message small,.app-shell.design-flow.page-play .play-message-list .turn-card small{color:#74786c}.app-shell.design-flow.page-play .play-message-list .turn-card{border-color:#d9d5c8;color:#30332e;background:#eeeadf}.app-shell.design-flow.page-play .paused-next-step{border-color:var(--line);background:var(--ink-soft)}.app-shell.design-flow.page-play .paused-next-step h2{color:var(--paper)}.app-shell.design-flow.page-play .composer-card{border-color:var(--line-strong);border-top:2px solid var(--rose);border-radius:7px 7px 18px 18px;background:#223035;transition:border-color .28s ease,box-shadow .28s ease}.app-shell.design-flow.page-play .composer-card:focus-within{border-color:var(--rose);box-shadow:0 0 0 3px #d9f36a2e,0 18px 42px #080e1040}.app-shell.design-flow.page-play .composer-card textarea{min-height:112px;border-color:#53635d;background:#19252a}.app-shell.design-flow.page-play .composer-card .button-primary{transition:transform .2s ease,box-shadow .2s ease}.app-shell.design-flow.page-play .composer-card .button-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 20px #d9f36a38}.app-shell.design-flow.page-play .scene-rail{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;border:1px solid var(--line);border-radius:7px 18px;padding:19px;background:linear-gradient(145deg,var(--ink-soft),var(--ink))}.app-shell.design-flow.page-play .scene-rail-heading,.app-shell.design-flow.page-play .scene-rail-actions{grid-column:1 / -1}.app-shell.design-flow.page-play .scene-rail-heading{display:flex;align-items:center;gap:8px;margin:0;border-bottom:1px solid var(--line);padding-bottom:12px}.app-shell.design-flow.page-play .scene-rail-heading .novel-icon{width:18px;height:18px;flex:0 0 18px}.app-shell.design-flow.page-play .scene-facts,.app-shell.design-flow.page-play .scene-cast{margin:0}.app-shell.design-flow.page-play .scene-facts{border:0;padding:0}.app-shell.design-flow.page-play .scene-facts div{border-color:var(--line)}.app-shell.design-flow.page-play .scene-facts dt,.app-shell.design-flow.page-play .scene-cast h3{color:var(--paper-muted)}.app-shell.design-flow.page-play .scene-facts dd{color:var(--paper)}.app-shell.design-flow.page-play .scene-cast{grid-column:1 / -1}.app-shell.design-flow.page-play .scene-cast-person{border-color:var(--line);color:var(--paper)}.app-shell.design-flow.page-play .scene-rail-actions{justify-content:flex-start;border-top-color:var(--line)}.app-shell.design-flow.page-play .empty-panel h2{max-width:100%}.app-shell.design-flow.page-play:has(.empty-panel) .scene-rail{display:none}.app-shell.design-flow.page-play:has(.empty-panel) .play-workspace{grid-template-columns:minmax(0,1fr);width:min(100%,900px)}.app-shell.design-flow .mobile-navigation{border-top-color:var(--line);background:#1d2a2ef0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell.design-flow .mobile-navigation button{color:var(--paper-muted)}.app-shell.design-flow .mobile-navigation button.mobile-nav-current{color:var(--rose);background:#d9f36a17}.app-shell.design-flow .more-panel{border-color:var(--line);background:var(--ink)}.app-shell.design-flow .more-grid button{border:1px solid var(--line);border-radius:12px;color:var(--paper);background:var(--ink-soft);box-shadow:none;transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease}.app-shell.design-flow .more-grid button:not(:disabled):hover{border-color:var(--line-strong);color:var(--paper);background:var(--ink-hover);transform:translateY(-1px)}.app-shell.design-flow .more-grid button[aria-current=page]{border-color:color-mix(in srgb,var(--rose) 58%,var(--line));color:var(--rose);background:color-mix(in srgb,var(--rose) 9%,var(--ink-soft))}.app-shell.design-flow .more-grid button:focus-visible{position:relative;z-index:1;outline:2px solid var(--rose);outline-offset:3px}.auth-shell.design-flow{position:relative;background:radial-gradient(ellipse at 18% 23%,rgb(173 157 255 / 14%),transparent 31rem),radial-gradient(ellipse at 82% 77%,rgb(217 243 106 / 7%),transparent 30rem),var(--ink)}.auth-shell.design-flow .auth-brand h1{color:var(--paper)}.auth-shell.design-flow .auth-brand p:last-child,.auth-shell.design-flow .auth-intro>p{color:var(--paper-dim)}.auth-shell.design-flow .auth-intro h2{color:#f5f0df}.auth-shell.design-flow .auth-features{color:var(--paper-dim)}.auth-shell.design-flow .auth-card{border-color:#ded8c9;border-radius:8px 22px;background:#f5f1e6;color:#30332e;box-shadow:0 18px 46px #09121550}.auth-shell.design-flow .auth-card h2,.auth-shell.design-flow .auth-card .stack-form>label{color:#30332e}.auth-shell.design-flow .auth-card>.muted,.auth-shell.design-flow .privacy-note{color:#62675d}.auth-shell.design-flow input{border-color:#c7c4b8;border-radius:9px;color:#30332e;background:#fffdf7}.auth-shell.design-flow .button-primary{color:#233019;background:var(--rose)}.auth-shell.design-flow .text-button{color:#554b9b}.auth-shell.design-flow .auth-footer{color:var(--paper-muted)}.auth-shell.design-flow .local-demo-card{border-color:#d9d5c8}.auth-shell.design-flow .local-demo-card strong,.auth-shell.design-flow .local-demo-card p{color:#444940}.auth-shell.design-flow .local-demo-card .button{border-color:#c7c4b8;color:#30332e;background:#eeeadf}.auth-shell.design-flow .notice-box{border-color:#c7b48f;color:#5b482b;background:#f2e9d5}@keyframes chapter-flow-glow{0%{opacity:.35}to{opacity:.82}}@keyframes chapter-flow-marker{0%,to{box-shadow:0 0 0 3px #b1c54f2e}50%{box-shadow:0 0 0 7px #b1c54f17}}@media(max-width:900px){.app-shell.design-flow .app-layout{grid-template-columns:minmax(0,1fr)}.app-shell.design-flow .sidebar{display:none}.app-shell.design-flow .main-content{padding-inline:clamp(15px,4vw,28px)}}@media(max-width:1120px){.app-shell.design-flow.page-play .scene-rail{grid-template-columns:minmax(0,1fr);gap:14px;padding:16px}.app-shell.design-flow.page-play .scene-rail-heading,.app-shell.design-flow.page-play .scene-facts,.app-shell.design-flow.page-play .scene-cast,.app-shell.design-flow.page-play .scene-rail-actions{grid-column:1}.app-shell.design-flow.page-play .scene-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:9px}.app-shell.design-flow.page-play .scene-facts>div{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#ffffff08}.app-shell.design-flow.page-play .scene-facts dt{font-size:.72rem}.app-shell.design-flow.page-play .scene-facts dd{margin:4px 0 0;font-size:.84rem;line-height:1.5;text-align:left;overflow-wrap:anywhere}.app-shell.design-flow.page-play .scene-cast{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}.app-shell.design-flow.page-play .scene-cast-person{width:fit-content;min-width:128px;border:1px solid var(--line);border-radius:12px;padding:6px 11px 6px 6px;background:#ffffff08}.app-shell.design-flow.page-play .scene-rail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid var(--line);padding-top:12px}.app-shell.design-flow.page-play .scene-rail-actions button{display:flex;width:100%;min-width:0;min-height:44px;align-items:center;justify-content:flex-start;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;text-align:left;font-size:.82rem}.app-shell.design-flow.page-play .scene-rail-actions .novel-icon{width:20px;height:20px;flex:0 0 20px}.app-shell.design-flow.page-play .reading-flow{position:relative;max-width:72ch;margin-inline:auto}.app-shell.design-flow.page-play .reading-flow:before{position:absolute;z-index:2;top:0;bottom:0;left:0;width:1px;background:#899088;content:"";pointer-events:none}.app-shell.design-flow.page-play .reading-flow>p{max-width:none;margin:0 0 1.2em;border-left:0;padding:15px 16px 17px 40px}.app-shell.design-flow.page-play .reading-flow>p:before{left:-5px}.app-shell.design-flow.page-play .reading-flow>p:hover{border-left-color:transparent}.app-shell.design-flow.page-play .reading-prose .turn-display-block{position:relative;margin:0 0 1em;border-left:1px solid #899088;border-radius:0 8px 8px 0;padding:7px 10px 7px 40px;background:#7766ad0f}.app-shell.design-flow.page-play .reading-prose .turn-display-block:before{position:absolute;z-index:3;top:16px;left:-4px;width:9px;height:9px;border-radius:50%;background:#b1c54f;box-shadow:0 0 0 3px #b1c54f2e;content:"";pointer-events:none}.app-shell.design-flow.page-play .latest-turn-message .turn-display-block,.app-shell.design-flow.page-play .latest-turn-flow .turn-display-block{margin:0;border:0;border-radius:0;padding:0;background:transparent}.app-shell.design-flow.page-play .latest-turn-message .turn-display-block:before,.app-shell.design-flow.page-play .latest-turn-flow .turn-display-block:before{display:none;content:none}.app-shell.design-flow.page-play .reading-prose .turn-display-content{grid-template-columns:minmax(0,1fr);gap:4px}.app-shell.design-flow.page-play .reading-prose .turn-display-content>span{width:fit-content;border:1px solid rgb(119 102 173 / 26%);border-radius:999px;padding:2px 8px;background:#7766ad12;font-size:.7rem;line-height:1.45}}@media(max-width:820px){.app-shell.design-flow .main-content{padding:16px 14px calc(98px + env(safe-area-inset-bottom))}.app-shell.design-flow.page-play .story-opening{padding:12px}.app-shell.design-flow.page-play .story-opening-copy{grid-template-columns:minmax(0,1fr);gap:11px}.app-shell.design-flow.page-play .story-opening-controls{justify-content:flex-start;flex-wrap:wrap;padding-left:58px}}@media(min-width:1200px){.app-shell.design-flow.page-play .play-workspace:has(.scene-rail):not(:has(.empty-panel)){grid-template-columns:minmax(0,1fr) 258px;gap:clamp(26px,3vw,42px)}}@media(max-width:700px){.app-shell.design-flow .main-content{padding:17px 14px calc(98px + env(safe-area-inset-bottom))}.app-shell.design-flow .main-topline{align-items:flex-start}.app-shell.design-flow .main-topline-actions{flex-wrap:wrap;gap:7px}.app-shell.design-flow.page-play .story-opening{margin-bottom:14px;padding:12px}.app-shell.design-flow.page-play .story-opening-copy{grid-template-columns:minmax(0,1fr);gap:11px}.app-shell.design-flow.page-play .story-opening h2{font-size:clamp(1.2rem,5.2vw,1.42rem)}.app-shell.design-flow.page-play .story-opening-controls{justify-content:flex-start;flex-wrap:wrap;padding-left:58px}.app-shell.design-flow.page-play .reader-card.play-history{padding:19px 15px}.app-shell.design-flow.page-play .reading-prose{font-size:calc(1rem * var(--reader-scale, 1));line-height:1.8}.app-shell.design-flow.page-play .reading-flow>p{padding:13px 4px 15px 40px}.app-shell.design-flow.page-play .reading-flow>p:before{top:21px}.app-shell.design-flow.page-play .scene-rail,.app-shell.design-flow.page-play .scene-facts,.app-shell.design-flow.page-play .scene-rail-actions{grid-template-columns:minmax(0,1fr)}.app-shell.design-flow.page-play .scene-rail-heading,.app-shell.design-flow.page-play .scene-cast,.app-shell.design-flow.page-play .scene-rail-actions{grid-column:1}}@media(prefers-reduced-motion:reduce){.app-shell.design-flow .account-menu>summary,.app-shell.design-flow .account-chevron,.app-shell.design-flow.page-play .story-opening,.app-shell.design-flow.page-play .reading-flow>p,.app-shell.design-flow.page-play .composer-card,.app-shell.design-flow.page-play .composer-card .button-primary{transition:none!important}.app-shell.design-flow .account-menu>summary:hover{transform:none!important}.app-shell.design-flow.page-play .reading-flow>p:first-of-type:before{animation:none!important}}
