:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-void:#0e0b0b;--color-ink:#15100f;--color-paper:#241b18;--color-paper-soft:#31251f;--color-line:#c9a66233;--color-line-strong:#d7a95a6b;--color-gold:#c5a15d;--color-red:#7b2027;--color-red-soft:#7b202757;--color-mold:#7f8b66;--color-text:#efe0c6;--color-muted:#b6a58c;--color-faint:#827566;--shadow-heavy:0 24px 80px #00000073;--page-max:1180px}.cover-page{background:linear-gradient(90deg,#0b0a0af0 0%,#0b0a0ab3 38%,#0b0a0a2e 72%),linear-gradient(#0a0a0a29 0%,#0a0a0aeb 100%),url(/assets/cover-dark-fairytale-island.jpg) 50%/cover no-repeat;align-items:end;min-height:100vh;padding:clamp(28px,5vw,72px);display:grid;position:relative;overflow:hidden}.cover-page:before{content:"";background:radial-gradient(circle at var(--pointer-x) var(--pointer-y), #a4242b38, transparent 16rem), repeating-linear-gradient(96deg, #e6cd9708 0 1px, transparent 1px 7px);mix-blend-mode:screen;pointer-events:none;position:absolute;inset:0}.cover-atmosphere{filter:blur(1px);pointer-events:none;background:radial-gradient(circle at 68% 24%,#c497571f,#0000 18rem),radial-gradient(circle at 82% 74%,#7e1e252e,#0000 22rem),linear-gradient(#0000 0%,#0d0b0ad6 82%);animation:16s ease-in-out infinite alternate fog-drift;position:absolute;inset:-8%}.cover-copy{z-index:1;max-width:min(760px,100%);padding-bottom:clamp(168px,22vh,220px);position:relative}.cover-kicker,.cover-aside,.opening-strip p{color:var(--color-muted)}.cover-kicker{letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;font-size:.9rem}.cover-copy h1{letter-spacing:0;color:#fff1ce;text-shadow:0 0 26px #801f259e,0 8px 32px #00000085;margin:0;font-family:Georgia,Noto Serif SC,Songti SC,serif;font-size:clamp(3.8rem,8vw,8rem);font-weight:700;line-height:.94}.cover-lead{color:#ead9ba;max-width:620px;margin:28px 0 0;font-size:clamp(1.08rem,2.1vw,1.38rem);line-height:1.86}.cover-aside{max-width:520px;margin:22px 0 0;line-height:1.7}.cover-actions{z-index:2;align-items:stretch;gap:14px;max-width:760px;display:flex;position:absolute;bottom:clamp(28px,5vw,56px);left:clamp(24px,5vw,72px);right:clamp(24px,5vw,72px)}.cover-actions button{text-align:left;border-radius:7px;padding:14px 20px}.cover-actions .primary-action{min-width:186px;font-weight:700}.cover-actions .secondary-action,.cover-actions .ghost-action{min-width:174px}.cover-actions span{color:var(--color-faint);margin-top:4px;font-size:.78rem;display:block}.opening-strip{z-index:1;border-left:1px solid var(--color-line);gap:10px;width:min(350px,26vw);padding-left:18px;display:grid;position:absolute;bottom:clamp(28px,5vw,56px);right:clamp(24px,5vw,76px)}.opening-strip p{margin:0;font-family:Georgia,Noto Serif SC,Songti SC,serif;font-size:.9rem;line-height:1.65}@keyframes fog-drift{0%{transform:translate(-1.5%,-1%)scale(1.01)}to{transform:translate(1.5%,1%)scale(1.04)}}@media (width<=980px){.cover-page{background-position:60%;align-items:start;padding-bottom:240px}.cover-copy{padding-top:54px;padding-bottom:0}.opening-strip{width:min(360px,100% - 48px);bottom:176px;left:clamp(24px,5vw,72px);right:auto}}@media (width<=680px){.cover-page{background:linear-gradient(#0a0909ad 0%,#0a0909bd 46%,#0a0909f5 100%),url(/assets/cover-dark-fairytale-island.jpg) 62%/cover no-repeat;flex-direction:column;align-items:stretch;height:auto;min-height:100svh;padding:24px 18px 22px;display:flex;overflow-y:auto}.cover-copy{order:1;padding-top:54px;padding-bottom:0}.cover-copy h1{font-size:clamp(3.2rem,17vw,5.2rem)}.cover-lead{font-size:1.02rem;line-height:1.78}.opening-strip{background:linear-gradient(90deg,#0c0a0a6b,#0000);order:2;gap:6px;width:100%;margin-top:auto;margin-bottom:16px;padding-left:14px;position:relative;bottom:auto;left:auto;right:auto}.opening-strip p{font-size:.88rem;line-height:1.5}.cover-actions{flex-direction:column;order:3;width:100%;max-width:none;position:relative;bottom:auto;left:auto;right:auto}.cover-actions button{text-align:center;width:100%}}.profile-page{background:linear-gradient(90deg,#0c0a0aeb,#0c0a0abd),url(/assets/cover-dark-fairytale-island.jpg) 50%/cover no-repeat;place-items:center;min-height:100vh;padding:clamp(24px,5vw,70px);display:grid}.profile-shell{border:1px solid var(--color-line);width:min(980px,100%);box-shadow:var(--shadow-heavy);background:linear-gradient(135deg,#2a201beb,#12100ff0),repeating-linear-gradient(90deg,#dbc08609 0 1px,#0000 1px 8px);border-radius:8px;padding:clamp(22px,4vw,46px)}.profile-heading{max-width:680px;margin-top:30px}.profile-heading p,.profile-heading span,.field-block span,.field-block legend{color:var(--color-muted)}.profile-heading p{letter-spacing:.08em;margin:0 0 12px}.profile-heading h1{letter-spacing:0;color:#fff1ce;margin:0 0 14px;font-family:Georgia,Noto Serif SC,Songti SC,serif;font-size:clamp(2.1rem,5vw,4.6rem);line-height:1.05}.profile-heading span{line-height:1.75;display:block}.profile-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-top:38px;display:grid}.field-block{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.field-block span,.field-block legend{font-size:.92rem}.field-block input,.field-block textarea{width:100%;color:var(--color-text);resize:vertical;background:#090a0a85;border:1px solid #c7a06038;border-radius:7px;padding:14px 15px}.field-block input::placeholder,.field-block textarea::placeholder{color:#b6a58c99}.field-block small{color:#e6a29a}.segmented-field,.motif-field,.profile-form .field-block:last-of-type{grid-column:1/-1}.segmented-control{flex-wrap:wrap;gap:10px;display:flex}.segmented-control button,.motif-grid button{color:var(--color-muted);background:#121110a8;border:1px solid #bf995b42}.segmented-control button{border-radius:999px;min-height:38px;padding:8px 14px}.segmented-control button.selected,.motif-grid button.selected{color:#fff2ce;background:#67191f80;border-color:#daab5ead}.motif-grid{grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:10px;display:grid}.motif-grid button{text-align:left;white-space:normal;border-radius:7px;align-content:center;gap:5px;min-height:66px;padding:10px 13px;display:grid}.motif-grid button span{color:var(--color-faint);font-size:.78rem;line-height:1.2}.motif-grid button strong{color:var(--color-text);font-size:.95rem;font-weight:650;line-height:1.35}.motif-grid button.selected strong{color:#fff2ce}.profile-actions{grid-column:1/-1;align-items:center;gap:14px;margin-top:6px;display:flex}.profile-actions button{border-radius:7px;padding:12px 18px}@media (width<=720px){.profile-page{place-items:stretch stretch;padding:18px}.profile-form{grid-template-columns:1fr}.profile-actions{flex-direction:column;align-items:stretch}}.drawer-layer{z-index:60;pointer-events:none;position:fixed;inset:0}.drawer-layer.open{pointer-events:auto}.drawer-scrim{background:0 0;border:0;transition:background .18s;position:absolute;inset:0}.drawer-layer.open .drawer-scrim{background:#00000094}.save-drawer{border-left:1px solid var(--color-line);width:min(480px,100%);height:100%;box-shadow:var(--shadow-heavy);background:linear-gradient(#271e19fa,#0f0e0dfa),repeating-linear-gradient(0deg,#d6b57108 0 1px,#0000 1px 9px);flex-direction:column;gap:20px;padding:28px;transition:transform .22s;display:flex;position:absolute;top:0;right:0;transform:translate(100%)}.drawer-layer.open .save-drawer{transform:translate(0)}.save-drawer header{justify-content:space-between;align-items:start;gap:18px;display:flex}.save-drawer header p,.drawer-note,.empty-saves span,.save-item span,.save-item p{color:var(--color-muted)}.save-drawer h2,.save-item h3{color:#fff0cf;margin:0}.save-drawer header p{margin:0 0 8px}.drawer-close{border:1px solid var(--color-line);width:40px;height:40px;color:var(--color-text);background:#0c0c0b8a;border-radius:999px;font-size:1.35rem;line-height:1}.drawer-note{margin:0;line-height:1.6}.save-transfer-panel,.empty-saves{background:#07080847;border:1px dashed #c7a06042;border-radius:8px;gap:12px;padding:20px;display:grid}.save-transfer-panel>div{gap:8px;display:grid}.save-transfer-panel strong,.empty-saves strong{color:#fff0cf}.save-transfer-panel span,.save-transfer-message{color:var(--color-muted);line-height:1.6}.save-transfer-panel .secondary-action{border-radius:7px;padding:10px 12px}.save-file-input{display:none}.save-transfer-message{margin:0;font-size:.9rem}.save-transfer-message.is-error{color:#e7b2a2}.save-list{gap:14px;padding-right:4px;display:grid;overflow:auto}.save-item{background:#0c0d0d8a;border:1px solid #c7a06038;border-radius:8px;gap:16px;padding:18px;display:grid}.save-item[data-active=true]{border-color:#dbab5c85}.save-item span,.save-item p{font-size:.88rem}.save-item p{margin:8px 0 0}.save-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.save-actions button{border-radius:7px;min-width:0;padding:10px 12px}@media (width<=420px){.save-drawer{padding:22px 18px}.save-actions{grid-template-columns:1fr}}.modal-layer{z-index:40;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-scrim{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000a8;border:0;position:absolute;inset:0}.unlock-modal{border:1px solid var(--color-line-strong);width:min(520px,100%);box-shadow:var(--shadow-heavy);background:linear-gradient(140deg,#2e221bfa,#0c0c0cfa),radial-gradient(circle at 18% 0,#791d2452,#0000 18rem);border-radius:8px;padding:30px;position:relative}.unlock-modal .drawer-close{position:absolute;top:16px;right:16px}.unlock-modal p{color:var(--color-muted);margin:0 0 8px}.unlock-modal h2{letter-spacing:0;color:#fff1ce;margin:0 42px 14px 0;font-family:Georgia,Noto Serif SC,Songti SC,serif;font-size:clamp(1.8rem,5vw,3rem);line-height:1.08}.unlock-modal>span{color:var(--color-muted);line-height:1.75;display:block}.unlock-buy-note{background:#07080857;border:1px solid #c7a06033;border-radius:7px;margin-top:20px;padding:14px 15px}.unlock-buy-note strong{color:#fff1ce;margin-bottom:7px;display:block}.unlock-buy-note p{color:var(--color-muted);margin:0;line-height:1.7}.unlock-field{gap:10px;margin-top:22px;display:grid}.unlock-field span{color:var(--color-muted)}.unlock-field input{width:100%;color:var(--color-text);letter-spacing:.04em;background:#07080894;border:1px solid #c7a06047;border-radius:7px;padding:14px 15px}.unlock-field small{color:var(--color-faint);line-height:1.5}.unlock-message{border-radius:7px;margin-top:14px;padding:12px 14px;line-height:1.55}.unlock-message.error{color:#ffc8bd;background:#6d1a1f38;border:1px solid #d0555057}.unlock-message.success{color:#dce9b1;background:#39502e38;border:1px solid #9fb56a57}.unlock-actions{gap:12px;margin-top:22px;display:flex}.unlock-actions .primary-action,.unlock-actions .secondary-action{text-align:center;border-radius:7px;padding:12px 16px;text-decoration:none}.link-action{place-items:center;display:inline-grid}@media (width<=560px){.unlock-modal{padding:24px}.unlock-actions{flex-direction:column}}.chapter-page{background:linear-gradient(#0d0c0cbd,#0d0c0cf5),url(/assets/cover-dark-fairytale-island.jpg) 50%/cover no-repeat;min-height:100vh;padding:clamp(20px,4vw,46px);position:relative;overflow:hidden}.chapter-backdrop{pointer-events:none;background:radial-gradient(circle at 22% 22%,#761f2538,#0000 20rem),radial-gradient(circle at 86% 76%,#88704121,#0000 23rem);position:absolute;inset:0}.chapter-topbar,.chapter-layout,.chapter-panels{z-index:1;width:min(var(--page-max), 100%);margin:0 auto;position:relative}.chapter-topbar{justify-content:space-between;align-items:center;gap:14px;display:flex}.chapter-topbar .ghost-action{border-radius:7px;padding:10px 14px}.chapter-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:28px;min-height:48vh;padding-top:clamp(60px,12vw,150px);display:grid}.chapter-entry p,.chapter-entry span,.mission-panel p,.mission-panel span,.route-panel p,.route-list span,.status-ledger span{color:var(--color-muted)}.chapter-entry p,.mission-panel p,.route-panel p{letter-spacing:.08em;margin:0 0 10px}.chapter-entry h1{letter-spacing:0;color:#fff1ce;margin:0 0 18px;font-family:Georgia,Noto Serif SC,Songti SC,serif;font-size:clamp(3rem,9vw,7.8rem);line-height:.96}.chapter-entry span{max-width:650px;line-height:1.85;display:block}.status-ledger{border:1px solid var(--color-line);background:#0c0d0d9e;border-radius:8px;grid-template-columns:1fr 1fr;gap:14px;padding:18px;display:grid}.status-ledger div{gap:6px;display:grid}.status-ledger strong{color:#fff1ce;font-size:1.08rem}.chapter-panels{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:20px;margin-top:34px;display:grid}.mission-panel,.route-panel{border:1px solid var(--color-line);background:#0d0e0ea3;border-radius:8px;padding:20px}.mission-panel h2{color:#fff1ce;margin:0 0 12px}.route-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.route-list article{background:#0708085c;border:1px solid #c49e612e;border-radius:7px;gap:8px;min-height:96px;padding:14px;display:grid}.route-list strong{color:#f3dfba}.route-list span,.mission-panel span{line-height:1.6}@media (width<=860px){.chapter-layout,.chapter-panels{grid-template-columns:1fr}.status-ledger{width:100%}}@media (width<=560px){.chapter-topbar{flex-direction:column;align-items:stretch}.route-list{grid-template-columns:1fr}}.chapter-entry-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.chapter-entry-actions .primary-action{border-radius:7px;padding:12px 18px;font-weight:700}.chapter-entry-actions span{color:var(--color-muted)}@media (width<=560px){.chapter-entry-actions,.chapter-entry-actions .primary-action{width:100%}.chapter-entry-actions{flex-direction:column;align-items:stretch}}.story-page{background:linear-gradient(#0a0a0ac7,#090909f5),url(/assets/cover-dark-fairytale-island.jpg) 50%/cover no-repeat;min-height:100vh;padding:clamp(18px,3vw,38px);position:relative;overflow-x:hidden}.story-backdrop{pointer-events:none;background:radial-gradient(circle at 24% 18%,#6f1a2238,#0000 24rem),radial-gradient(circle at 82% 68%,#7580581f,#0000 22rem),linear-gradient(90deg,#00000052,#0000 42%,#1c0a0c38);position:absolute;inset:0}.story-topbar,.story-layout,.story-mobile-dock{z-index:1;width:min(var(--page-max), 100%);margin:0 auto;position:relative}.story-topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.story-nav-left,.story-nav-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.story-nav-right .ghost-action,.story-nav-right .secondary-action{border-radius:7px;padding:10px 14px}.story-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:24px;padding-top:clamp(28px,6vw,76px);display:grid}.story-main,.story-sidebar,.story-mobile-dock{box-shadow:var(--shadow-heavy);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0b0bad;border:1px solid #cda46033;border-radius:8px}.story-main{min-width:0;padding:clamp(18px,3vw,30px)}.story-heading p,.story-turn-meta,.story-section-title,.story-list-item span,.story-empty,.story-heading span{color:var(--color-muted)}.story-heading p,.story-section-title,.story-turn-meta{letter-spacing:.08em;margin:0 0 10px}.story-heading h1{letter-spacing:0;color:#fff1ce;margin:0 0 14px;font-family:Georgia,Noto Serif SC,Songti SC,serif;font-size:clamp(3rem,7vw,6.7rem);line-height:.96}.story-heading span{max-width:760px;line-height:1.8;display:block}.story-warning-strip{color:#f3c7b9;background:#5110163d;border-left:3px solid #8a252be6;margin-top:20px;padding:12px 14px}.story-scroll{gap:16px;margin-top:22px;display:grid}.story-turn{background:linear-gradient(135deg,#1c1612c7,#080909c7),repeating-linear-gradient(90deg,#fff3cd06 0 1px,#0000 1px 16px);border:1px solid #c6a06029;border-radius:8px;padding:clamp(16px,2vw,22px)}.story-turn-current{border-color:#cda46047}.story-turn p{color:var(--color-text);margin:0;line-height:1.9}.player-action-line{color:#f5dfb4;margin-bottom:12px;font-weight:700;line-height:1.6}.story-rhyme{color:#ead3a5;border-left:1px solid #cda4607a;margin:16px 0 0;padding:8px 0 8px 16px;font-family:Georgia,Noto Serif SC,Songti SC,serif;line-height:1.8}.page-whisper{color:#aeb890;margin-top:14px;line-height:1.7}.turn-warnings{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.turn-warnings span{color:#ecc0b4;background:#52121838;border:1px solid #9c3e425c;border-radius:999px;padding:6px 10px}.choice-panel{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.choice-chip{color:#f3dfba;background:#15110fc7;border:1px solid #cda46042;border-radius:999px;min-height:40px;padding:8px 13px}.choice-chip:hover:not(:disabled){background:#491e1d7a;border-color:#cda46094}.story-composer{gap:12px;margin-top:18px;display:grid}.story-composer textarea{resize:vertical;width:100%;min-height:128px;color:var(--color-text);background:#0405059e;border:1px solid #cda46047;border-radius:8px;padding:14px 16px;line-height:1.7}.story-composer textarea::placeholder{color:#b6a58cb3}.composer-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.composer-feedback{gap:6px;min-width:0;display:grid}.composer-feedback span{color:var(--color-muted);overflow-wrap:anywhere;line-height:1.6}.composer-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-left:auto;display:flex}.composer-buttons .primary-action,.composer-buttons .secondary-action{border-radius:7px;min-width:128px;padding:11px 16px;font-weight:700}.story-error{color:#e7b2a2;overflow-wrap:anywhere;margin:0;line-height:1.6}.story-sidebar{gap:16px;padding:18px;display:grid}.story-side-section{min-width:0}.story-section-title{color:var(--color-gold);font-size:.88rem}.story-section-title-small{margin-top:18px}.story-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.story-stat{background:#0506065c;border:1px solid #cda46029;border-radius:7px;align-content:center;gap:4px;min-height:68px;padding:10px;display:grid}.story-stat-wide{min-height:58px}.story-stat span,.story-map-list span,.story-rule-list,.story-list-item p{color:var(--color-muted)}.story-stat strong{color:#fff1ce;font-size:1.16rem}.story-stat-concealed{background:linear-gradient(135deg,#110f0eb8,#0405058f),repeating-linear-gradient(90deg,#fff3cd06 0 1px,#0000 1px 14px);border-color:#cda4601f}.story-stat-value-concealed{color:#dfcba6b8;font-size:.94rem;font-weight:600;line-height:1.35}.story-list,.story-map-list{gap:10px;display:grid}.story-list-item,.story-map-list article{background:#05060657;border:1px solid #cda46029;border-radius:7px;padding:12px}.story-list-item strong,.story-map-list strong{color:#f3dfba;margin:4px 0 6px;display:block}.story-list-item p,.story-map-list span{margin:0;line-height:1.6}.mission-progress{gap:8px;margin-top:8px;display:grid}.mission-progress-row{color:var(--color-muted);justify-content:space-between;align-items:center;gap:10px;font-size:.88rem;display:flex}.mission-progress-row strong{color:#f3dfba;margin:0}.mission-progress-track{background:#0405059e;border:1px solid #cda46038;border-radius:999px;height:6px;overflow:hidden}.mission-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#7f1f25,#d3a256);height:100%;display:block}.mission-progress p{color:var(--color-muted);margin:0;line-height:1.6}.story-token-list{flex-wrap:wrap;gap:8px;display:flex}.story-token-list span{color:#f3dfba;background:#221a1499;border:1px solid #cda4603d;border-radius:999px;padding:7px 10px}.story-empty{margin:0;line-height:1.6}.story-rule-list{margin:0;padding-left:18px;line-height:1.7}.story-map-list article.is-current{background:#561f1f3d;border-color:#cda4607a}.story-mobile-dock{display:none}.ai-settings-layer{z-index:20;position:fixed;inset:0}.ai-settings-scrim{background:#00000094;border:0;width:100%;height:100%;position:absolute;inset:0}.ai-settings-drawer{background:linear-gradient(#1e1613fa,#090a0afa),repeating-linear-gradient(90deg,#fff3cd06 0 1px,#0000 1px 16px);border-left:1px solid #cda4603d;align-content:start;gap:16px;width:min(440px,100%);height:100%;padding:24px;display:grid;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:-24px 0 80px #0000007a}.ai-settings-drawer header{justify-content:space-between;align-items:start;gap:16px;display:flex}.ai-settings-drawer header p{color:var(--color-muted);letter-spacing:.08em;margin:0 0 6px}.ai-settings-drawer h2{color:#fff1ce;margin:0}.story-field{color:var(--color-muted);gap:8px;display:grid}.story-field input{width:100%;min-height:42px;color:var(--color-text);background:#05060685;border:1px solid #cda46042;border-radius:7px;padding:10px 12px}.story-field input[type=range]{padding:0}.story-model-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.story-model-row .secondary-action{border-radius:7px;padding:10px 12px}.ai-settings-note,.ai-settings-footnote{color:var(--color-muted);margin:0;line-height:1.6}@media (width<=980px){.story-layout{grid-template-columns:1fr}.story-sidebar{display:none}.story-mobile-dock{margin-top:18px;padding:12px;display:block}.story-mobile-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.story-mobile-tabs button{min-height:40px;color:var(--color-muted);background:#0506066b;border:1px solid #cda46033;border-radius:7px}.story-mobile-tabs button.is-active{color:#fff1ce;background:#561f1f5c;border-color:#cda4607a}}@media (width<=640px){.story-page{padding:16px}.story-topbar,.story-nav-left,.story-nav-right,.composer-actions{flex-direction:column;align-items:stretch}.story-nav-right .ghost-action,.story-nav-right .secondary-action,.composer-buttons,.composer-buttons .primary-action,.composer-buttons .secondary-action{width:100%}.story-main{padding:16px}.story-heading h1{font-size:clamp(2.6rem,18vw,4.2rem)}.choice-panel,.story-token-list,.turn-warnings{grid-template-columns:1fr;display:grid}.choice-chip,.story-token-list span,.turn-warnings span{border-radius:7px;width:100%}.story-model-row{grid-template-columns:1fr}.ai-settings-drawer{padding:18px}}.ambient-music-button{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:40;color:#fff1ce;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 42% 32%,#ffebae33,#0000 38%),#0c0c0cad;border:1px solid #d3a2566b;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:fixed;box-shadow:0 12px 34px #00000057}.ambient-music-button:hover{background:radial-gradient(circle at 42% 32%,#ffebae47,#0000 38%),#2a1414b8;border-color:#d3a256b8}.music-note{z-index:1;transform-origin:50% 56%;font-family:Georgia,Noto Serif SC,serif;font-size:1.42rem;line-height:1;position:relative}.music-orbit{opacity:.52;border:1px solid #d3a25633;border-top-color:#ffefc6d1;border-radius:50%;position:absolute;inset:7px}.ambient-music-button.is-playing .music-note,.ambient-music-button.is-playing .music-orbit{animation:3.8s linear infinite ambient-music-spin}.ambient-music-button.is-muted{color:#efe0c68f;border-color:#b2976833}.ambient-music-button.is-muted:after{content:"";background:#e7b2a2d1;border-radius:999px;width:27px;height:1px;position:absolute;transform:rotate(-38deg)}@keyframes ambient-music-spin{to{transform:rotate(360deg)}}@media (width<=640px){.ambient-music-button{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));width:42px;height:42px}}*{box-sizing:border-box}html{background:var(--color-void);min-width:320px;color:var(--color-text)}body{background:radial-gradient(circle at 18% 20%,#60171d42,#0000 28rem),radial-gradient(circle at 82% 16%,#886b3521,#0000 26rem),linear-gradient(135deg,#100b0b 0%,#18100f 46%,#0c1112 100%);min-width:320px;min-height:100vh;margin:0;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}.app-shell{min-height:100vh;overflow-x:hidden}.primary-action,.secondary-action,.ghost-action,.danger-action,.text-button{border:1px solid #0000;min-height:44px;transition:transform .16s,border-color .16s,background .16s,color .16s}.primary-action{color:#fff8df;background:linear-gradient(135deg,#7f1f25 0%,#451017 56%,#201313 100%);border-color:#d3a2568c;box-shadow:0 16px 34px #4d101647}.secondary-action{color:var(--color-text);background:#1c1815bd;border-color:#b7965c52}.ghost-action{color:var(--color-muted);background:#0e111185;border-color:#b2976838}.danger-action{color:#ecc0b4;background:#5212182e;border-color:#ac373c52}.text-button{color:var(--color-muted);background:0 0;border:0;padding:0}.primary-action:hover,.secondary-action:hover,.ghost-action:hover,.danger-action:hover{transform:translateY(-1px)}.primary-action:focus-visible,.secondary-action:focus-visible,.ghost-action:focus-visible,.danger-action:focus-visible,.text-button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:2px solid #d5a657cc}.songbook-top-button{color:#f3dfba;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.songbook-top-button strong,.songbook-top-button em{color:#f3dfba;background:#471f1c70;border:1px solid #cda46047;border-radius:999px;min-width:22px;padding:2px 7px;font-size:.78rem;font-style:normal;line-height:1.4}.songbook-drawer{border-left:1px solid var(--color-line);width:min(560px,100%);height:100%;box-shadow:var(--shadow-heavy);background:linear-gradient(#241b18fa,#090a0afa),repeating-linear-gradient(90deg,#fff3cd06 0 1px,#0000 1px 16px);flex-direction:column;gap:18px;padding:28px;transition:transform .22s;display:flex;position:absolute;top:0;right:0;overflow-y:auto;transform:translate(100%)}.drawer-layer.open .songbook-drawer{transform:translate(0)}.songbook-drawer header{justify-content:space-between;align-items:start;gap:18px;display:flex}.songbook-drawer header p,.songbook-section-heading p,.songbook-section-heading span,.songbook-turn summary span,.songbook-turn summary em,.songbook-summary>span,.songbook-empty{color:var(--color-muted)}.songbook-drawer h2,.songbook-summary h3{color:#fff0cf;margin:0}.songbook-drawer header p,.songbook-section-heading p{letter-spacing:.08em;margin:0 0 8px}.songbook-section{gap:12px;display:grid}.songbook-section-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.songbook-empty{background:#07080847;border:1px dashed #c7a06042;border-radius:8px;padding:18px;line-height:1.7}.songbook-turn-list{gap:10px;display:grid}.songbook-pagination{background:#07080842;border:1px solid #cda46029;border-radius:8px;grid-template-columns:minmax(86px,auto) minmax(0,1fr) minmax(86px,auto);align-items:center;gap:10px;padding:10px;display:grid}.songbook-pagination span{color:var(--color-muted);text-align:center;font-size:.9rem;line-height:1.5}.songbook-pagination button{border-radius:7px;min-height:38px;padding:8px 10px}.songbook-turn{background:#05060657;border:1px solid #cda4602e;border-radius:8px}.songbook-turn[open]{background:#26181480;border-color:#cda46061}.songbook-turn summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:13px;list-style:none;display:grid}.songbook-turn summary::-webkit-details-marker{display:none}.songbook-turn summary strong{color:#f3dfba;grid-column:1/-1;line-height:1.5}.songbook-turn p,.songbook-summary p,.songbook-error{color:var(--color-text);margin:0;line-height:1.7}.songbook-turn p{padding:0 13px 10px}.songbook-turn blockquote,.songbook-summary blockquote{color:#ead3a5;border-left:1px solid #cda4607a;margin:10px 13px 13px;padding:8px 0 8px 14px;font-family:Georgia,Noto Serif SC,Songti SC,serif;line-height:1.8}.songbook-tags{flex-wrap:wrap;gap:7px;padding:0 13px 10px;display:flex}.songbook-summary .songbook-tags{padding:0}.songbook-tags span{color:#ead3a5;background:#15110f9e;border:1px solid #cda46038;border-radius:999px;padding:5px 8px;font-size:.82rem;line-height:1.35}.songbook-summary-section{border-top:1px solid #cda46029;padding-top:18px}.songbook-summary{background:#0c0d0d70;border:1px solid #cda46038;border-radius:8px;gap:12px;padding:16px;display:grid}.songbook-summary blockquote{margin:0}.songbook-summary-button{border-radius:7px;width:100%;padding:11px 14px;font-weight:700}.songbook-error{color:#e7b2a2}@media (width<=640px){.songbook-drawer{width:100%;padding:22px 18px}.songbook-top-button{width:100%}.songbook-turn summary{grid-template-columns:1fr}.songbook-section-heading{display:grid}.songbook-pagination{grid-template-columns:1fr 1fr}.songbook-pagination span{grid-area:1/1/auto/-1}}
