.setup.setup-scene{isolation:isolate;height:100%;color:var(--ink);scrollbar-width:thin;scrollbar-color:#7390b04d transparent;background:radial-gradient(at 8% 4%,#acd6ffad,#0000 43%),radial-gradient(at 93% 28%,#c5b8ffa3,#0000 42%),radial-gradient(at 35% 86%,#a7e0f259,#0000 50%),linear-gradient(135deg,#e6f0fc,#eef0fb 55%,#e7f0fa);justify-content:center;display:flex;position:relative;overflow:hidden auto}.setup-scene:before,.setup-scene:after{content:"";z-index:-1;pointer-events:none;border-radius:50%;position:fixed}.setup-scene:before{background:linear-gradient(155deg,#ffffffb8,#e5eaff10 65%);border:1px solid #ffffff94;width:52vw;min-width:480px;height:52vw;min-height:480px;top:-31vw;left:17%;transform:rotate(-25deg);box-shadow:inset 0 0 65px #ffffff63,0 35px 100px #749bd916}.setup-scene:after{background:linear-gradient(130deg,#ffffff05,#c4c1f91f);border:1px solid #ffffff5e;width:37vw;min-width:340px;height:37vw;min-height:340px;top:22%;right:-26%;box-shadow:inset 0 0 80px #ffffff21}.setup-shell{width:min(1250px,100%);padding:24px 48px 0}.setup-masthead{min-height:65px;box-shadow:var(--glass-rim), 0 7px 26px #3557810d;-webkit-backdrop-filter:blur(30px)saturate(1.45);backdrop-filter:blur(30px)saturate(1.45);background:linear-gradient(145deg,#ffffff7d,#f1f7ff40);border:1px solid #ffffffe0;border-radius:24px;justify-content:space-between;align-items:center;gap:20px;padding:10px 17px 10px 12px;display:flex}.setup-wordmark{color:#294263;letter-spacing:-.055em;align-items:center;gap:10px;font-size:22px;font-weight:650;display:flex}.wordmark-glyph{color:#367bca;letter-spacing:0;background:linear-gradient(145deg,#b9dcff8f,#a9bffc36);border:1px solid #ffffffb3;border-radius:13px;place-items:center;width:40px;height:40px;font-size:33px;font-weight:400;display:grid;box-shadow:inset 0 1px #fff,0 3px 9px #7295c219}.setup-mode{color:#526a89;align-items:center;gap:7px;font-size:11px;display:flex}.setup-mode i{background:#55a988;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #80c2a618}.setup-mode b{color:#617896;border-left:1px solid #6989ae26;margin-left:6px;padding-left:14px;font-size:10px;font-weight:500}.setup-intro{padding:50px 3px 37px}.setup-intro .eyebrow{color:#506da1;letter-spacing:.13em;background:#ffffff5c;border:1px solid #ffffffab;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:650;display:inline-flex;box-shadow:inset 0 1px #ffffff70}.setup-intro h1{letter-spacing:-.045em;color:#233856;margin:16px 0 12px;font-size:clamp(30px,3.2vw,42px);font-weight:650;line-height:1.45}.intro-break{display:none}.setup-intro p{color:#61728c;margin:0;font-size:13px;line-height:1.9}.setup-compose{grid-template-columns:1.08fr 1fr;gap:22px;display:grid}.story-paper,.character-paper,.art-paper{min-width:0;box-shadow:var(--glass-rim), var(--glass-shadow);-webkit-backdrop-filter:blur(24px)saturate(1.25);backdrop-filter:blur(24px)saturate(1.25);background:linear-gradient(145deg,#ffffff8f,#f7faff63 80%);border:1px solid #ffffffc9;border-radius:28px;padding:28px;position:relative}.story-paper{background:radial-gradient(at 0 100%,#d6e6ff52,#0000 65%),linear-gradient(145deg,#ffffff94,#f7faff73);flex-direction:column;display:flex}.section-caption{color:#607696;justify-content:space-between;align-items:center;gap:14px;font-size:10px;font-weight:550;display:flex}.section-caption>:first-child{white-space:nowrap}.text-button{color:#3975bd;white-space:nowrap;background:#ffffff61;border:1px solid #ffffff9e;border-radius:999px;padding:6px 10px;font-size:10px;box-shadow:0 2px 6px #31598108}.text-button:hover{color:#1c63bf;background:#fff}.setup-compose h2{letter-spacing:-.025em;color:#2a3d5a;margin:22px 0;font-size:22px;font-weight:650;line-height:1.4}.setup-scene textarea{resize:vertical;color:#425877;background:#ffffff6e;border:1px solid #d2deed94;border-radius:19px;flex:1;min-height:250px;padding:17px 18px;font-size:15px;line-height:2;box-shadow:inset 0 2px 5px #42689505}.setup-scene textarea:focus{border-color:#73a7ec;box-shadow:0 0 0 4px #6fa4f017,inset 0 1px 3px #4f79ad05}.paper-footer{color:#6a7d97;justify-content:space-between;gap:10px;padding:12px 2px 0;font-size:10px;line-height:1.6;display:flex}.paper-footer>:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.story-quote{color:#758aa6;align-items:center;gap:14px;padding:23px 5px 0;font-size:14px;line-height:1.8;display:flex}.story-quote>span{color:#87a9d6;background:#ffffff45;border:1px solid #ffffffbd;border-radius:13px;flex-shrink:0;place-items:center;width:38px;height:38px;padding-top:13px;font-family:Georgia,serif;font-size:41px;line-height:1;display:grid}.character-sigil{color:#7999c7;background:#adc3ef21;border:1px solid #ffffff8c;border-radius:50%;place-items:center;width:27px;height:27px;font-size:19px;display:grid}.setup-scene .field{margin-bottom:16px}.setup-scene .field>label{color:#576c89;margin-bottom:7px;font-size:11px;font-weight:550}.setup-scene .field small{color:#7689a2;margin-left:7px;font-size:10px;font-weight:400}.setup-scene input[type=text]{color:#344d70;background:#ffffff85;border-color:#d0ddeb9c;border-radius:13px;padding:9px 12px;font-size:12px;box-shadow:inset 0 1px 3px #42689505}.setup-scene input[type=text]:focus{border-color:#73a7ec;box-shadow:0 0 0 4px #6fa4f017}.attribute-heading{color:#617592;justify-content:space-between;margin:22px 0 12px;font-size:11px;display:flex}.attribute-heading b{color:#2b72c8;font-weight:600}.setup-stat-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.setup-stat{background:#ffffff54;border:1px solid #ffffffab;border-radius:14px;align-items:center;gap:7px;padding:10px;display:flex}.setup-stat>div{flex:1;min-width:0}.setup-stat span{color:#425b7c;font-size:11px;font-weight:500;display:block}.setup-stat small{color:#778aa4;white-space:nowrap;margin-top:4px;font-size:8px;display:block}.setup-stat button{color:#5780b8;background:#f6faffc2;border:1px solid #d0dfef52;border-radius:50%;flex-shrink:0;width:24px;height:26px;font-size:14px;line-height:1;box-shadow:0 1px 3px #33547808}.setup-stat button:hover:not(:disabled){background:#deebfd;border-color:#a8c6ef}.setup-stat b{text-align:center;color:#3d6fb2;font-variant-numeric:tabular-nums;min-width:12px;font-size:12px;font-weight:600}.rule-note{color:#7788a0;margin:14px 0 0;font-size:10px;line-height:1.8}.art-paper{grid-column:1/-1}.art-paper>p{color:#697d98;margin:-7px 0 19px;font-size:12px;line-height:1.9}.setup-scene .art-style-input{width:100%;min-height:180px;font-size:14px;line-height:2;display:block}.setup-scene .appearance-input{background:#ffffff85;border:1px solid #d0ddeb9c;border-radius:13px;width:100%;min-height:96px;margin-top:5px;padding:10px 12px;font-size:12px;line-height:1.85;display:block}.setup-launch{grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;margin-top:4px;padding:0 3px;display:flex}.setup-launch p{color:#6c7f99;margin:0;font-size:11px;line-height:1.8}.setup-launch p span{color:#5c95d5;vertical-align:-1px;margin-right:5px;font-size:17px}.setup-scene .btn{min-width:170px;padding:14px 24px;font-size:13px}.setup-scene .btn>span{margin-left:25px}.setup-library{border-top:1px solid #6082ac1a;margin-top:45px;padding-top:24px}.setup-library h2{color:#405a7b;margin:0;font-size:16px;font-weight:600}.save-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:19px;display:grid}.save-book{text-align:left;box-shadow:var(--glass-rim), 0 5px 15px #395d8208;background:linear-gradient(140deg,#ffffff8c,#f0f6ff5e);border:1px solid #ffffffc4;border-radius:20px;align-items:center;gap:12px;padding:17px;display:flex}.save-book:hover{box-shadow:var(--glass-rim), 0 8px 23px #3f639119;background:#ffffffab;border-color:#fff}.save-book>:nth-child(2){min-width:0}.book-symbol{color:#7394bf;background:linear-gradient(145deg,#c4daff5e,#d8ddff69);border:1px solid #ffffffba;border-radius:11px;flex-shrink:0;place-items:center;width:37px;height:44px;font-size:27px;display:grid}.save-book strong{color:#415a7c;overflow-wrap:anywhere;font-size:12px;font-weight:600;line-height:1.65;display:block}.save-book small{color:#7286a0;margin-top:5px;font-size:10px;display:block}.book-arrow{color:#658bb9;margin-left:auto}.setup-footer{color:#748aa6;justify-content:space-between;gap:16px;margin:43px 0 25px;font-size:9px;display:flex}.setup-footer>:first-child,.setup-footer>:last-child{color:#7890af;letter-spacing:.11em;font-weight:550}.compilation-panel{max-width:790px;box-shadow:var(--glass-rim), 0 25px 80px #496d9b19;-webkit-backdrop-filter:blur(30px)saturate(1.3);backdrop-filter:blur(30px)saturate(1.3);background:linear-gradient(140deg,#ffffffa6,#f3f8ff8c);border:1px solid #ffffffd9;border-radius:32px;margin:0 auto;padding:36px 42px}.compile-emblem{width:74px;height:74px;box-shadow:var(--glass-rim), 0 9px 26px #719cd426;background:radial-gradient(at 20% 10%,#fff,#e2edff9c 65%);border:1px solid #ffffffd9;border-radius:25px;place-items:center;margin:0 auto 25px;display:grid}.compile-emblem span{color:#68a0e2;font-size:49px;font-weight:300;animation:3s ease-in-out infinite compile-glow}.is-ready .compile-emblem span{animation:none}.compile-heading{text-align:center}.compile-heading .eyebrow{color:#7c92b0;font-size:9px}.compile-heading h2{color:#304966;letter-spacing:-.025em;margin:14px 0 12px;font-size:27px;font-weight:650}.compile-heading p{color:#70839e;font-size:12px;line-height:1.9}.compile-log-head{color:#607692;justify-content:space-between;margin:28px 1px 11px;font-size:11px;font-weight:550;display:flex}.compile-log-head>:last-child{color:#4882c5;font-size:10px;font-weight:400}.compile-log{scrollbar-width:thin;scrollbar-color:#789cc34d transparent;background:#f2f7fd91;border:1px solid #ffffffd1;border-radius:19px;height:213px;margin:0;padding:16px 19px;list-style:none;overflow:auto;box-shadow:inset 0 1px 4px #527dac05}.compile-log li{color:#536c8c;align-items:baseline;gap:17px;padding:6px 0;font-size:11px;line-height:1.9;display:flex}.compile-log time{min-width:54px;font:10px var(--mono);color:#8398b3}.compile-log .compile-wait{color:#8499b5}.compile-progress-label{color:#607795;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 11px;font-size:11px;display:flex}.compile-progress-label b{color:#347bce;font-variant-numeric:tabular-nums;font-size:12px;font-weight:550}.compile-progress-track{background:#b6ccec42;border:1px solid #ffffffad;border-radius:999px;width:100%;height:7px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #6084b119}.compile-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#719dea,#4d96eb 68%,#7ebef4);height:100%;display:block;position:relative;box-shadow:inset 0 1px #ffffff50}.compile-progress-area.is-waiting .compile-progress-fill:after{content:"";background:linear-gradient(105deg,#0000 20%,#ffffff80 50%,#0000 80%);animation:2.4s ease-in-out infinite compile-shimmer;position:absolute;inset:0;transform:translate(-110%)}.compile-progress-area.is-complete .compile-progress-fill{background:linear-gradient(90deg,#62a7e9,#5fb9bc)}.compile-progress-area.is-failed .compile-progress-fill{background:#c88879}.compile-progress-label b small{padding-left:2px;font-size:10px;font-weight:400}.compile-progress-status>i{vertical-align:1px;background:#629be3;border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block}.compile-progress-area.is-waiting .compile-progress-status>i{animation:1.6s infinite blink}.compile-progress-area.is-complete .compile-progress-status>i{background:#49a887}.compile-progress-area.is-failed .compile-progress-status>i{background:#bc7064}.compile-progress-status{color:#6e87a6;margin-top:10px;font-size:10px;line-height:1.8}.compile-footnote{color:#7a8fa9;margin:11px 0 0;font-size:10px;line-height:1.8}.compile-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.compile-actions:empty{display:none}@keyframes compile-glow{50%{opacity:.55;transform:scale(.95)}}@keyframes compile-shimmer{to{transform:translate(110%)}}@media (width<=1040px){.setup-shell{padding:20px 28px 0}.setup-compose{gap:17px}.story-paper,.character-paper,.art-paper{border-radius:25px;padding:24px 21px}.setup-stat-grid{gap:6px}.setup-stat{gap:5px;padding:8px}.setup-stat button{width:23px;height:24px}.setup-stat small{font-size:7px}.save-grid{grid-template-columns:1fr 1fr}}@media (width<=760px){.setup-compose{grid-template-columns:1fr}.setup-scene textarea{min-height:230px}.story-quote{display:none}.setup-stat{gap:8px;padding:10px 12px}.setup-stat small{font-size:9px}.setup-stat button{width:28px;height:28px}.setup-stat b{font-size:13px}.setup-stat span{font-size:12px}}@media (width<=540px){.setup-shell{padding:14px 16px 0}.setup-masthead{border-radius:22px;gap:10px;min-height:60px;padding:8px 12px 8px 9px}.setup-wordmark{font-size:21px}.wordmark-glyph{border-radius:12px;width:37px;height:37px;font-size:31px}.setup-mode{font-size:10px}.setup-mode b{display:none}.setup-intro{padding:33px 3px 28px}.setup-intro h1{letter-spacing:-.04em;margin-top:16px;font-size:31px}.intro-break{display:initial}.setup-intro p{max-width:290px;font-size:12px;line-height:1.9}.setup-intro .eyebrow{font-size:8px}.story-paper,.character-paper,.art-paper{border-radius:25px;padding:22px 19px}.setup-compose h2{margin:21px 0;font-size:21px}.section-caption{gap:7px;font-size:9px}.text-button{padding:6px 8px;font-size:9px}.setup-scene textarea{min-height:248px;padding:15px;font-size:14px}.paper-footer{gap:7px;font-size:9px}.setup-scene .field small{margin-left:5px;font-size:9px;display:inline}.setup-stat{gap:5px;padding:9px 8px}.setup-stat small{font-size:8px}.setup-stat button{width:26px;height:28px}.setup-stat span{font-size:11px}.setup-scene .appearance-input{min-height:110px}.setup-scene .art-style-input{min-height:210px;font-size:13px}.art-paper>p{font-size:11px}.setup-launch{flex-direction:column-reverse;align-items:stretch;gap:13px;margin-top:6px}.setup-launch p{text-align:center;font-size:10px;line-height:1.8}.setup-scene .btn{min-height:48px}.save-grid{grid-template-columns:1fr}.setup-library{margin-top:32px}.setup-footer{flex-wrap:wrap;margin-top:31px;font-size:8px;line-height:1.7}.setup-footer>:last-child{display:none}.compilation-panel{border-radius:27px;padding:27px 20px}.compile-heading h2{font-size:24px}.compile-heading p{font-size:11px}.compile-emblem{border-radius:22px;width:65px;height:65px}.compile-emblem span{font-size:44px}.compile-log{border-radius:16px;height:235px;padding:12px 13px}.compile-log li{gap:11px;font-size:10px}.compile-log time{min-width:48px;font-size:9px}.compile-actions{flex-direction:column}.compile-actions .btn{width:100%}.compile-progress-label{font-size:10px}}@media (width<=380px){.setup-stat-grid{grid-template-columns:1fr}.setup-stat{padding:10px 12px}.setup-stat button{width:32px;height:32px}.section-caption{flex-wrap:wrap}}@media (pointer:coarse) and (width<=760px){.setup-scene input[type=text],.setup-scene textarea{font-size:16px}.setup-stat button{min-height:30px}.text-button{min-height:32px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.setup-masthead,.story-paper,.character-paper,.art-paper,.compilation-panel{background:#f1f6fe}}@media (prefers-reduced-transparency:reduce){.setup-masthead,.story-paper,.character-paper,.art-paper,.compilation-panel{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f1f6fe}.setup-scene:before,.setup-scene:after{display:none}}@media (prefers-contrast:more){.setup-intro p,.paper-footer,.setup-scene .field small,.setup-stat small,.rule-note,.art-paper>p,.compile-log time,.compile-footnote{color:#4c6382}.setup-scene input[type=text],.setup-scene textarea{background:#fff;border-color:#758ead}}@media (prefers-reduced-motion:reduce){.compile-emblem span,.compile-progress-fill:after{animation:none}.compile-progress-fill,.save-book{transition:none}}.access-scene{align-items:flex-start;padding:24px}.access-card{width:min(420px,100%);box-shadow:var(--glass-rim), 0 18px 48px #35578114;-webkit-backdrop-filter:blur(30px)saturate(1.45);backdrop-filter:blur(30px)saturate(1.45);background:linear-gradient(145deg,#ffffff8f,#f1f7ff52);border:1px solid #ffffffe0;border-radius:26px;flex-direction:column;gap:14px;margin:auto;padding:30px 30px 26px;display:flex}.access-card .setup-wordmark{margin-bottom:6px}.access-card h1{letter-spacing:-.03em;color:#233856;margin:0;font-size:24px;font-weight:650;line-height:1.4}.access-card p{color:#61728c;margin:0;font-size:13px;line-height:1.8}.access-card input[type=password]{color:#344d70;letter-spacing:.08em;background:#ffffff85;border:1px solid #d0ddeb9c;border-radius:13px;width:100%;padding:11px 13px;font-size:14px;box-shadow:inset 0 1px 3px #42689505}.access-card input[type=password]:focus{border-color:#73a7ec;outline:none;box-shadow:0 0 0 4px #6fa4f017}.access-card .error-banner{margin-top:0}.access-card .btn{align-self:flex-end}@media (pointer:coarse) and (width<=760px){.access-card input[type=password]{font-size:16px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1d293e;--ink-dim:#526179;--ink-faint:#63718a;--bg:#eaf0f9;--panel:#f3f7ffde;--panel-solid:#f3f6fc;--line:#374e6f21;--accent:#176de1;--accent-dim:#1c6ce81f;--success:#167846;--failure:#be423d;--serif:-apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Segoe UI", sans-serif;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Segoe UI", sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--glass-rim:inset 0 1px 0 #ffffffd9, inset 1px 0 0 #ffffff80, inset 0 -1px 0 #ffffff40;--glass-shadow:0 18px 60px #24447416, 0 3px 12px #2444740a;font-synthesis:none}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.44}button,input,textarea{font:inherit}button{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}button:active:not(:disabled){transform:scale(.97)}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:4px;outline:3px solid #388df1}input[type=text],textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#ffffff80;border-radius:15px;padding:12px 15px;font-size:14px;line-height:1.65;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:var(--ink-faint);opacity:.82}input:focus,textarea:focus{border-color:#3b83ea99;outline:none;box-shadow:0 0 0 4px #4e8df214}textarea{min-height:150px}.field{margin-bottom:20px}.field>label{color:var(--ink-dim);margin-bottom:8px;font-size:12px;font-weight:550;display:block}.field .hint{color:var(--ink-faint);margin-top:6px;font-size:12px;line-height:1.5}.row{flex-wrap:wrap;gap:16px;display:flex}.row>.field{flex:240px;margin-bottom:0}.btn{color:#fff;background:linear-gradient(150deg,#398bf5,#1967e0);border:1px solid #ffffff4d;border-radius:999px;min-height:46px;padding:12px 24px;font-size:14px;font-weight:600;box-shadow:inset 0 1px #ffffff59,0 6px 18px #2575de24}.btn:hover:not(:disabled){filter:brightness(1.04);box-shadow:inset 0 1px #ffffff80,0 8px 22px #2575de3d}.btn.ghost{border-color:var(--line);color:var(--accent);box-shadow:var(--glass-rim);background:#fff6}.error-banner{color:#9d332f;background:#fff0efdf;border:1px solid #c2484526;border-radius:15px;margin-top:18px;padding:13px 16px;font-size:13px;line-height:1.7}.eyebrow{letter-spacing:.14em;color:var(--accent);font-size:10px;font-weight:650;display:block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage{--ink:#f4f7ff;--ink-dim:#ccd6e9;--ink-faint:#b6c3d9;--accent:#94c6ff;--accent-dim:#77b5ff26;--line:#ffffff24;--success:#98e6b7;--failure:#ffb1a8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#151f31;height:100%;min-height:360px;position:relative;overflow:hidden}.backdrop{transition:background .9s;position:absolute;inset:0}.backdrop-img{opacity:0;background-position:50% 40%;background-size:cover;animation:.9s forwards fadein;position:absolute;inset:0}.backdrop:after{content:"";background:linear-gradient(#08152d55,#0000 35%,#08132905 58%,#0913275c),linear-gradient(90deg,#09152c29,#0000 56%);position:absolute;inset:0}.grain{display:none}.hud{z-index:20;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px clamp(24px,3.5vw,58px);display:flex;position:absolute;top:0;left:0;right:0}.hud>*{pointer-events:auto}.story-heading{text-shadow:0 2px 15px #031128a6;gap:9px;min-width:0;display:grid}.story-tools{align-items:center;gap:13px;display:flex}.story-kicker{color:#d4e4fc;letter-spacing:.12em;font-size:9px;font-weight:650}.hud .title{letter-spacing:-.015em;color:#fff;font-size:clamp(19px,1.6vw,25px);font-weight:650;line-height:1.4}.hud .beat{color:#e0e6f1;font-size:11px}.hud .beat>span{color:#d0daea}.stage-controls{box-shadow:var(--glass-rim), 0 8px 30px #05112f21;-webkit-backdrop-filter:blur(30px)saturate(1.55);backdrop-filter:blur(30px)saturate(1.55);background:linear-gradient(160deg,#ffffff36,#dae7ff15 75%);border:1px solid #ffffff5c;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:5px;display:flex}.icon-btn,.history-trigger{color:#f3f7ff;-webkit-backdrop-filter:blur(22px)saturate(1.4);backdrop-filter:blur(22px)saturate(1.4);background:#dcecff15;border:1px solid #ffffff35;border-radius:999px;padding:10px 16px;font-size:12px;box-shadow:inset 0 1px #ffffff29}.stage-controls .icon-btn{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.icon-btn:hover,.history-trigger:hover{background:#ffffff29;border-color:#ffffff70}.icon-btn.on{color:#fff;background:#eff6ff30;box-shadow:inset 0 1px #ffffff61,0 2px 8px #0000000f}.history-trigger{text-shadow:none;align-items:center;gap:7px;padding:7px 12px;font-size:10px;display:inline-flex}.history-trigger span{font-size:16px;line-height:14px}.queue-symbol{color:#d5eaff;margin-right:4px;font-size:16px}.queue-symbol.working{animation:2s infinite blink}.scene-loading{z-index:21;color:#eef5ff;box-shadow:var(--glass-rim), 0 8px 30px #06152d29;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#24344dbb;border:1px solid #ffffff36;border-radius:22px;align-items:center;gap:10px;padding:10px 14px;font-size:11px;display:flex;position:absolute;top:100px;right:clamp(24px,3.5vw,58px)}.scene-loading .spinner{border-width:1px;width:14px;height:14px}.scene-loading .icon-btn{padding:5px 9px;font-size:10px}.cast{z-index:6;max-width:43%;position:absolute;top:161px;left:clamp(24px,3.5vw,58px)}.cast-label{color:#eef4ff;text-shadow:0 1px 8px #04162ce0;align-items:center;gap:9px;margin:0 0 12px 3px;font-size:10px;font-weight:500;display:flex}.cast-label i{background:#d9e8ff73;width:20px;height:1px;display:block}.cast-roster{align-items:flex-start;gap:10px;max-width:100%;display:flex}.player-card-slot{flex-shrink:0;padding-top:4px}.cast-list{scrollbar-width:thin;scrollbar-color:#d5e7ff66 transparent;gap:10px;min-width:0;padding:4px 5px 12px;display:flex;overflow-x:auto}.cast-card{opacity:.87;flex-shrink:0;width:clamp(68px,6vw,98px);margin:0;transition:opacity .3s,transform .3s}.cast-card.is-speaking{opacity:1;transform:translateY(-4px)}.cast-art{aspect-ratio:2/3;border:1px solid #ffffff73;border-radius:18px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffbf,0 8px 24px #00000026}.cast-art:after{content:"";border-radius:inherit;pointer-events:none;border:3px solid #edf5ff16;position:absolute;inset:0;box-shadow:inset 0 1px #fff6}.cast-card.is-speaking .cast-art{border-color:#cee6ff;box-shadow:0 0 0 2px #bcdfff66,0 10px 28px #0115304d}.cast-card.is-player{opacity:1}.cast-card.is-player .cast-art{border-color:#ffffffa1}.cast-art img{object-fit:cover;object-position:center top;width:100%;height:100%;animation:.45s fadein}.cast-initials{color:#edf5ff;background:radial-gradient(at 20% 0,#d4e5ff4a,#0000 80%);place-items:center;height:100%;font-size:29px;font-weight:500;display:grid}.cast-corner{display:none}.cast-card figcaption{text-shadow:0 2px 8px #011124;color:#f0f5ff;justify-content:center;align-items:center;gap:5px;padding-top:8px;font-size:11px;font-weight:550;display:flex}.cast-card figcaption>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cast-card figcaption small{color:#fff;background:#d3eaff21;border:1px solid #ffffff50;border-radius:5px;padding:2px 4px;font-size:8px}.speaking-dot{background:#d4eaff;border-radius:50%;width:4px;height:4px;box-shadow:0 0 7px #b5dcff}.cast-retry{z-index:2;background:#21344dd9;border:1px solid #ffffff4d;border-radius:999px;padding:5px 8px;font-size:10px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.sprites{pointer-events:none;z-index:4;position:absolute;inset:0}.featured-sprite{width:min(38vw,600px);height:min(76vh,900px);animation:.65s cubic-bezier(.2,.8,.3,1) rise;position:absolute;bottom:145px;right:10%}.portrait{justify-content:center;align-items:flex-end;width:100%;height:100%;transition:filter .5s,opacity .5s;display:flex;position:relative}.portrait img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 15px 24px #07112350);opacity:0;width:100%;height:100%;animation:.65s forwards fadein}.portrait.is-dimmed{opacity:.55;filter:saturate(.6)}.stage-placeholder{opacity:.4;background:radial-gradient(at 50% 60%,#bfdcff19,#0000 68%);justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:28% 23% 0}.stage-placeholder:before{content:"";aspect-ratio:.77;background:linear-gradient(130deg,#acbed4,#253a54);border-radius:45% 45% 40% 40%;width:28%;position:absolute;top:11%}.stage-placeholder i{background:linear-gradient(140deg,#a0b5d066,#30415b77 65%,#0000);border-radius:45% 45% 0 0/22% 22% 0 0;width:87%;height:72%;position:absolute;bottom:0;-webkit-mask-image:linear-gradient(#000 40%,#0000);mask-image:linear-gradient(#000 40%,#0000)}.stage-placeholder span{color:#dfecff;z-index:1;padding-bottom:75px;font-size:12px}.picture-retry{z-index:3;pointer-events:auto;position:absolute;bottom:28%}.background-retry{z-index:7;top:114px;bottom:auto;right:30px}.textbox{z-index:10;cursor:pointer;width:min(1160px,100% - 88px);position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.textbox-inner{box-shadow:var(--glass-rim), 0 18px 65px #05122740;-webkit-backdrop-filter:blur(36px)saturate(1.45);backdrop-filter:blur(36px)saturate(1.45);scrollbar-width:thin;scrollbar-color:#cbe3ff55 transparent;background:linear-gradient(145deg,#26364bdf,#121f34e8 85%);border:1px solid #ffffff52;border-radius:29px;max-height:58vh;padding:23px 30px 16px;position:relative;overflow-y:auto}.dialogue-topline{justify-content:space-between;align-items:center;gap:24px;margin-bottom:12px;display:flex}.nameplate{color:#deecff;align-items:center;gap:9px;font-size:14px;font-weight:650;display:flex}.nameplate>i{background:#95c4ff;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #a2cdff40}.nameplate.is-narration{color:#d0dbea;font-size:12px;font-weight:500}.nameplate .expr{color:#c6d2e4;background:#ffffff0a;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:400}.chapter-track{background:#c6dcff21;border-radius:4px;flex:none;width:54px;height:3px;overflow:hidden}.chapter-track i{border-radius:inherit;background:#b6d8ff;height:100%;transition:width .6s;display:block}.line{color:#f6f9ff;letter-spacing:.015em;white-space:pre-wrap;overflow-wrap:anywhere;min-height:82px;font-size:clamp(17px,1.4vw,20px);line-height:1.95}.line.narration{color:#e1e8f4}.type-cursor{vertical-align:-.05em;background:#bcdcff;border-radius:2px;width:2px;height:.86em;margin-left:4px;animation:1s infinite blink;display:inline-block}.advance{justify-content:flex-end;min-height:28px;margin-top:6px;display:flex}.advance-button{color:#d7e6f8;background:#ffffff08;border:1px solid #ffffff12;border-radius:999px;align-items:center;gap:10px;padding:7px 11px;font-size:11px;display:flex}.advance-button:hover{color:#fff;background:#ffffff1c}.advance-button:disabled{opacity:.6;cursor:default}.caret{border-top:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin-right:2px;transform:rotate(45deg)}.player-turn-status{color:#c9dcf5;margin-bottom:9px;font-size:10px}.roll-chip{font:10px var(--mono);color:#ccdfd7;background:#99e4bc0c;border:1px solid #b6e5ce2e;border-radius:999px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:6px 11px;animation:.32s rise;display:inline-flex}.roll-chip .d{color:#d0e5ff}.roll-chip b{color:#f0f8ff}.roll-chip .dc{color:#b7c7dc}.roll-chip .verd{font-weight:600}.roll-chip.success .verd{color:#a8e8c1}.roll-chip.failure{border-color:#ffc1b538}.roll-chip.failure .verd{color:#ffc3b9}.choices{flex-direction:column;gap:8px;margin-top:15px;animation:.4s rise;display:flex}.choice{text-align:left;background:linear-gradient(130deg,#eef5ff12,#c5e0ff07);border:1px solid #ffffff26;border-radius:16px;align-items:center;gap:12px;width:100%;padding:12px 15px;font-size:14px;display:flex}.choice:hover:not(:disabled){background:#a8d3ff21;border-color:#cfebff80;box-shadow:inset 0 1px #ffffff2e}.choice .approach{color:#c2d5ed;text-align:left;flex:none;width:46px;padding:4px 8px 4px 0;font-size:9px}.choice .ctext{color:#f0f5ff;flex:1;line-height:1.65}.choice .check{color:#c0ddff;white-space:nowrap;background:#a6d3ff0d;border-radius:999px;flex:none;padding:5px 8px;font-size:10px}.task-dialog,.drawer,.dice-card,.inspector{--ink:#1d293e;--ink-dim:#526179;--ink-faint:#64718a;--accent:#176de1;--accent-dim:#1c6ce81f;--line:#374e6f21;--success:#167846;--failure:#be423d;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-shadow:var(--glass-rim), 0 25px 90px #071b3b33, 0 3px 14px #08244e14;-webkit-backdrop-filter:blur(45px)saturate(1.5);backdrop-filter:blur(45px)saturate(1.5);background:linear-gradient(145deg,#f9fbffeb,#eaf1fbea 85%);border:1px solid #ffffffcf}.task-overlay{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#091b3847;place-items:center;padding:24px;animation:.22s fade;display:grid;position:absolute;inset:0}.task-dialog{border-radius:32px;flex-direction:column;width:min(760px,100%);min-height:min(500px,100dvh - 48px);max-height:min(840px,100dvh - 48px);animation:.36s cubic-bezier(.2,.8,.3,1) dialog-enter;display:flex;overflow:hidden}.task-overlay.is-closing{animation:.16s reverse forwards fade}.task-overlay.is-closing .task-dialog{animation:.16s reverse forwards dialog-enter}.task-header{justify-content:space-between;align-items:center;padding:29px 32px 0;display:flex}.task-header .eyebrow{color:#607496;font-size:9px}.task-header h2{letter-spacing:-.025em;margin:8px 0 0;font-size:28px;font-weight:650}.dialog-close{color:#617086;background:#657c9812;border:1px solid #ffffffa6;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:25px;line-height:1;display:grid;box-shadow:inset 0 1px #ffffffb3,0 2px 6px #274b7912}.dialog-close:hover{color:#1e3558;background:#657c9826}.task-intro{color:var(--ink-dim);margin:13px 32px 24px;font-size:12px;line-height:1.8}.task-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 32px 23px;display:grid}.task-overview>div{background:#ffffff61;border:1px solid #ffffffd4;border-radius:19px;gap:10px;padding:17px 16px;display:grid;box-shadow:inset 0 1px #fff,0 3px 9px #20497905}.task-overview b{letter-spacing:-.04em;color:#203c64;font-variant-numeric:tabular-nums;font-size:30px;font-weight:550;line-height:1.15}.task-overview b small{letter-spacing:0;color:#65758d;font-size:13px;font-weight:400}.task-overview span{color:#5b6a7f;font-size:10px;line-height:1.5}.queue-tabs{background:#64799514;border:1px solid #ffffff96;border-radius:999px;gap:4px;width:max-content;max-width:calc(100% - 64px);margin:0 32px;padding:4px;display:flex;box-shadow:inset 0 1px 3px #3c547912}.queue-tabs>button{color:#5a6b84;background:0 0;border:1px solid #0000;border-radius:999px;padding:9px 17px;font-size:12px;font-weight:550}.queue-tabs>button.active{color:#24518b;background:#ffffffd9;border-color:#fff;box-shadow:0 3px 9px #21385c1a,inset 0 1px #fff}.queue-tabs span{font-variant-numeric:tabular-nums;color:#5d779a;background:#b8cce633;border-radius:5px;margin-left:5px;padding:2px 5px;font-size:9px}.queue-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#58739440 transparent;flex:1;min-height:0;padding:0 32px 24px;overflow-y:auto}.queue-explainer{color:#63748c;margin:20px 0 12px;font-size:11px;line-height:1.8}.queue-round-title{color:#405f86;align-items:center;gap:8px;margin:20px 0 5px;font-size:11px;font-weight:600;display:flex}.queue-round-title>span{color:#4778b5;background:#d5e6fc73;border:1px solid #ffffffa6;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:550}.queue-second-round{border-top:1px solid #ffffffb3;margin-top:24px;padding-top:3px}.queue-round-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;display:flex}.queue-round-heading .queue-round-title{margin:0}.queue-round-status{color:#607b9c;font-size:10px;line-height:1.6}.queue-second-round .queue-explainer{margin-top:13px}.queue-row{border-bottom:1px solid #45648f12;align-items:center;gap:13px;min-height:76px;padding:16px 2px;display:flex}.queue-dot{background:#98a7bc;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 4px #95a9c00a}.queue-dot.generating{background:#428ceb;animation:1.6s infinite blink;box-shadow:0 0 0 4px #5f9bea15}.queue-dot.ready{background:#39a06c}.queue-dot.failed,.queue-dot.paused{background:#d57260}.queue-copy{flex:1;min-width:0}.queue-copy strong{color:#2c405f;overflow-wrap:anywhere;font-size:12px;font-weight:550}.queue-copy strong span{color:#62748e;font-size:10px;font-weight:400}.queue-copy>small{color:#63748c;padding-top:6px;font-size:10px;line-height:1.7;display:block}.queue-state{text-align:right;color:#63738a;flex:none;font-size:10px}.queue-state.ready{color:#1a7e4d}.queue-state.generating{color:#236fca}.queue-state.failed,.queue-state.paused{color:#af4d3b}.queue-state small{color:#738097;margin-top:5px;font-size:9px;display:block}.queue-empty{text-align:center;color:var(--ink-dim);padding:30px 16px}.queue-empty>span{color:#7599c6;font-size:30px}.queue-empty p{color:#61748e;font-size:12px;line-height:1.8}.queue-notice{color:#865720;background:#fff4dd9c;border:1px solid #cf995b33;border-radius:14px;padding:11px 13px;font-size:11px;line-height:1.7}.queue-detail{color:#6a7180;overflow-wrap:anywhere;margin-top:7px;font-size:10px;line-height:1.7}.queue-detail summary{cursor:pointer;color:#586c88}.queue-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;max-width:160px;display:flex}.regenerate-button{color:#2069bd;white-space:nowrap;background:#deebfdba;border:1px solid #427cca26;border-radius:999px;padding:7px 11px;font-size:10px;box-shadow:inset 0 1px #ffffff80}.regenerate-button:hover{background:#c9dffc}.regenerate-button:disabled{opacity:.6;cursor:wait}.retry-error{color:#ad4734;max-width:150px;font-size:10px;line-height:1.6}.task-footer{color:#64748c;background:#e3ecf754;border-top:1px solid #ffffffbd;justify-content:space-between;align-items:center;gap:14px;padding:18px 32px;font-size:10px;display:flex}.task-footer button{color:#276dc4;background:#ffffff52;border:1px solid #ffffff87;border-radius:999px;flex-shrink:0;padding:7px 11px;font-size:11px;font-weight:550}.history-dialog{width:min(780px,100%);height:min(840px,100dvh - 48px)}.history-body{overflow-anchor:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#58739440 transparent;flex:1;min-height:0;padding:0 32px 28px;overflow-y:auto}.history-earlier{color:#286dc0;background:#ffffff80;border:1px solid #ffffffbd;border-radius:999px;margin:0 auto 24px;padding:9px 18px;font-size:11px;display:block;box-shadow:0 2px 7px #2b4f7b0a}.history-divider{color:#687c97;align-items:center;gap:15px;margin:20px 0 24px;font-size:10px;display:flex}.history-divider i{background:#4b6a941f;flex:1;height:1px}.history-line{margin:22px 0}.history-line strong{color:#276bc0;font-size:12px;font-weight:600}.history-line p{white-space:pre-wrap;overflow-wrap:anywhere;color:#344661;margin:8px 0;font-size:15px;line-height:1.95}.history-line.narration p{color:#5a6a81}.history-choice{background:#ffffff70;border:1px solid #ffffffbd;border-radius:20px;margin-bottom:24px;padding:16px 19px;box-shadow:0 3px 10px #31558205}.history-choice>span{color:#2972ca;font-size:10px;font-weight:600}.history-choice p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:14px;line-height:1.8}.history-choice small{color:#637c72;margin-top:10px;font-size:10px;line-height:1.8;display:block}.task-dialog .icon-btn,.drawer .icon-btn,.inspector .icon-btn{color:#366696;background:#ffffff8c;border-color:#fffc}.drawer{z-index:30;scrollbar-width:thin;scrollbar-color:#58739440 transparent;border-radius:28px;width:min(380px,100vw - 36px);padding:28px 26px 36px;animation:.3s cubic-bezier(.2,.8,.3,1) slide;position:absolute;top:18px;bottom:18px;right:18px;overflow-y:auto}.drawer h2{margin:8px 80px 5px 0;font-size:23px;font-weight:650}.drawer .sub{color:var(--ink-faint);margin-bottom:20px;font-size:12px;line-height:1.8}.drawer h3{color:var(--ink-faint);margin:25px 0 12px;font-size:11px;font-weight:600}.drawer .close{padding:8px 11px;font-size:11px;position:absolute;top:21px;right:20px}.hp-bar{background:#abc4df33;border-radius:999px;height:6px;margin:8px 0 7px;overflow:hidden}.hp-bar i{border-radius:inherit;background:linear-gradient(90deg,#4998ed,#5cbfab);height:100%;transition:width .4s;display:block}.hp-text{font-variant-numeric:tabular-nums;color:var(--ink-dim);font-size:11px}.sheet-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sheet-stat{background:#ffffff87;border:1px solid #ffffffbd;border-radius:13px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;display:flex}.sheet-stat b{color:var(--accent);font-size:16px}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag{color:var(--ink-dim);background:#ffffff59;border:1px solid #ffffffd4;border-radius:999px;padding:5px 10px;font-size:11px}.tag.warn{color:#a14c39;background:#f9e7e280;border-color:#c77a6a29}.item{border-left:2px solid var(--accent-dim);margin-bottom:9px;padding:5px 0 5px 11px}.item .n{font-size:13px}.item .d{color:var(--ink-faint);margin-top:3px;font-size:11px;line-height:1.6}.thread{align-items:baseline;gap:9px;margin-bottom:9px;font-size:12px;line-height:1.7;display:flex}.thread code{font:9px var(--mono);color:var(--ink-faint);flex:none}.thread.resolved{color:var(--ink-faint);text-decoration:line-through}.relation{align-items:center;gap:10px;margin-bottom:9px;font-size:12px;display:flex}.relation .bar{background:#b2c6dc40;border-radius:999px;flex:1;height:4px;position:relative}.relation .bar i{border-radius:inherit;position:absolute;top:0;bottom:0}.relation .v{color:var(--ink-dim);text-align:right;width:26px;font-size:11px}.empty{color:var(--ink-faint);font-size:12px;line-height:1.7}.dice-overlay{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a193c66;justify-content:center;align-items:center;animation:.2s fade;display:flex;position:absolute;inset:0}.dice-card{text-align:center;border-radius:32px;min-width:356px;padding:32px 38px}.dice-card .what{color:var(--ink-faint);margin-bottom:21px;font-size:12px;line-height:1.6}.die{width:96px;height:96px;box-shadow:var(--glass-rim), 0 7px 20px #4284d521;font-variant-numeric:tabular-nums;color:#286ec4;background:linear-gradient(145deg,#ffffffba,#cde3ff6b);border:1px solid #ffffffd9;border-radius:26px;justify-content:center;align-items:center;margin:0 auto 20px;font-size:42px;font-weight:550;display:flex}.die.rolling{animation:.38s linear infinite tumble}.dice-math{color:var(--ink-dim);font-variant-numeric:tabular-nums;margin-bottom:7px;font-size:15px}.dice-math b{color:var(--ink)}.dice-dc{color:var(--ink-faint);margin-bottom:22px;font-size:12px}.verdict{margin-bottom:7px;font-size:23px;font-weight:650}.verdict.success{color:var(--success)}.verdict.failure{color:var(--failure)}.verdict-note{color:var(--ink-faint);font-size:12px;line-height:1.7}.player-dice .dice-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;align-items:flex-start;padding-top:115px}.player-dice .dice-card{pointer-events:auto;min-width:270px;padding:19px 26px}.player-dice .dice-card .what{margin-bottom:10px}.player-dice .die{border-radius:18px;width:58px;height:58px;margin-bottom:10px;font-size:29px}.player-dice .dice-dc{margin-bottom:10px}.inspector{z-index:35;width:min(560px,100vw - 36px);max-height:62vh;font:11px var(--mono);border-radius:24px;flex-direction:column;display:flex;position:absolute;bottom:18px;left:18px;overflow:hidden}.inspector .bar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:11px 15px;display:flex}.inspector .bar strong{color:var(--accent);font-size:11px;font-weight:600}.inspector .body{padding:13px 15px 18px;overflow-y:auto}.inspector .tabs{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.inspector .tabs button{border:1px solid var(--line);color:var(--ink-faint);background:#ffffff59;border-radius:999px;padding:5px 9px;font-family:inherit;font-size:10px}.inspector .tabs button.on{color:var(--accent);background:#d8e9ff9c;border-color:#3082e640}.inspector pre{white-space:pre-wrap;word-break:break-word;color:var(--ink-dim);margin:0;font-size:10.5px;line-height:1.65}.inspector .kv{border-bottom:1px solid #36557b0a;gap:8px;padding:3px 0;display:flex}.inspector .kv span:first-child{color:var(--ink-faint);min-width:132px}.inspector .kv span:last-child{color:var(--ink-dim);word-break:break-word}.branch{border-bottom:1px solid #36557b0a;align-items:baseline;gap:8px;padding:4px 0;display:flex}.branch .st{flex:none;width:68px}.branch .st.ready{color:var(--success)}.branch .st.generating{color:var(--accent)}.branch .st.failed,.branch .st.cancelled{color:var(--failure)}.branch .kk{color:var(--ink-dim);flex:none}.branch .pv{color:var(--ink-faint)}.loading{z-index:45;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#e8f0ffbf;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.loading .msg{color:#415d83;font-size:13px}.spinner{border:2px solid var(--accent-dim);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}.notifications{z-index:50;pointer-events:none;flex-direction:column;gap:8px;width:min(620px,100vw - 32px);display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast,.save-warning{text-align:left;pointer-events:auto;box-shadow:var(--glass-rim), 0 8px 40px #1a34532e;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border-radius:20px;padding:13px 18px;font-size:12px;line-height:1.6}.toast{color:#983e32;background:#fff2efef;border:1px solid #ffffffd9}.toast .dismiss{color:#96736a;margin-top:6px;display:block}.save-warning{color:#856027;background:#fff8e7f2;border:1px solid #ffffffd9}@keyframes fadein{to{opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(18px)scale(.95)}to{opacity:1;transform:none}}@keyframes slide{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes blink{0%,to{opacity:.5}50%{opacity:1}}@keyframes tumble{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(8deg)scale(1.05)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1700px){.textbox{width:min(1320px,100% - 150px);bottom:36px}.textbox-inner{padding:27px 38px 21px}.line{min-height:100px}.featured-sprite{bottom:165px;right:13%}.cast{top:175px}.hud{padding-top:32px}}@media (width<=1000px){.stage-controls .icon-btn{padding:9px 11px;font-size:11px}.hud .beat>span{display:none}.cast{max-width:45%;top:155px}.featured-sprite{width:47vw;bottom:165px;right:2%}.textbox{width:calc(100% - 48px);bottom:20px}.textbox-inner{padding:21px 26px 15px}}@media (width<=640px){.hud{padding:18px 18px 0;display:block}.story-heading{gap:8px;padding-right:10px}.story-tools{gap:10px}.history-trigger{padding:7px 10px;font-size:9px}.story-kicker{font-size:8px}.hud .title{font-size:19px}.hud .beat{font-size:10px}.stage-controls{gap:2px;width:max-content;max-width:100%;margin-top:15px;padding:4px;display:flex}.stage-controls .icon-btn{padding:8px 11px;font-size:10px}.queue-symbol{font-size:13px}.cast{max-width:49%;top:193px;left:17px}.cast-label{margin-bottom:7px;font-size:9px}.cast-label i{width:16px}.cast-roster,.cast-list{gap:7px}.cast-card{width:56px}.cast-art{border-radius:12px}.cast-card figcaption{padding-top:6px;font-size:9px}.cast-card figcaption small{padding:1px 3px;font-size:7px}.cast-initials{font-size:23px}.featured-sprite{width:66vw;height:58vh;bottom:175px;right:-3%}.textbox{width:calc(100% - 24px);bottom:12px}.textbox-inner{background:linear-gradient(145deg,#26364bed,#121f34f2);border-radius:25px;max-height:49dvh;padding:18px 20px 13px}.dialogue-topline{margin-bottom:9px}.nameplate{font-size:13px}.line{min-height:84px;font-size:16px;line-height:1.85}.choice{border-radius:14px;flex-wrap:wrap;gap:6px;padding:10px 12px;font-size:12px}.choice .approach{display:none}.choice .check{font-size:9px}.choice .ctext{min-width:65%}.choices{margin-top:12px}.roll-chip{gap:7px;font-size:9px}.scene-loading{max-width:calc(100% - 28px);padding:9px 10px;font-size:10px;top:187px;right:14px}.background-retry{font-size:9px;top:184px;right:20px}.task-overlay{padding:10px}.task-dialog{border-radius:28px;max-height:calc(100dvh - 20px)}.task-header{padding:24px 21px 0}.task-intro{margin:13px 21px 20px;font-size:11px}.task-header h2{font-size:25px}.task-overview{gap:7px;margin:0 21px 20px}.task-overview>div{border-radius:15px;gap:8px;padding:13px 10px}.task-overview b{font-size:24px}.task-overview b small{font-size:11px}.task-overview span{font-size:9px}.queue-tabs{max-width:calc(100% - 42px);margin:0 21px}.queue-tabs>button{padding:8px 11px;font-size:11px}.queue-body{padding:0 21px 20px}.queue-row{gap:10px}.queue-copy strong{font-size:11px}.queue-copy>small{font-size:9px}.queue-actions{max-width:95px}.regenerate-button{padding:7px 9px;font-size:9px}.task-footer{padding:15px 21px;font-size:9px;line-height:1.7}.task-footer span{max-width:62%}.task-footer button{font-size:10px}.history-body{padding:0 21px 20px}.history-line p{font-size:14px}.dice-card{width:calc(100vw - 40px);min-width:0;padding:28px}.player-dice .dice-overlay{padding-top:185px}.player-dice .dice-card{border-radius:25px;width:min(255px,100vw - 32px);min-width:0;padding:14px 18px}.player-dice .die{border-radius:15px;width:44px;height:44px;font-size:25px}.player-dice .dice-card .verdict{font-size:16px}.player-dice .dice-card .verdict-note{font-size:10px}.drawer{width:calc(100vw - 20px);top:10px;bottom:10px;right:10px}.inspector{width:calc(100vw - 20px);bottom:10px;left:10px}}@media (height<=650px) and (width>=641px){.hud{padding-top:15px}.story-heading{gap:6px}.cast{top:126px}.cast-card{width:57px}.cast-art{border-radius:12px}.cast-label{margin-bottom:6px}.featured-sprite{height:76vh;bottom:115px}.textbox{bottom:10px}.textbox-inner{border-radius:22px;max-height:56vh;padding:14px 25px 10px}.line{min-height:56px;font-size:16px}.dialogue-topline{margin-bottom:6px}.choices{gap:5px}.choice{padding:8px 12px}.advance{min-height:20px}.player-dice .dice-overlay{padding-top:95px}.player-dice .dice-card{padding:12px 22px}.player-dice .die{width:40px;height:40px;margin-bottom:8px;font-size:24px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.stage-controls,.history-trigger,.icon-btn{background:#263a52}.textbox-inner{background:#1d2b41}.task-dialog,.drawer,.dice-card,.inspector{background:#f0f5fd}.task-overlay{background:#0e213dc9}}@media (prefers-reduced-transparency:reduce){.stage-controls,.history-trigger,.icon-btn{-webkit-backdrop-filter:none;backdrop-filter:none;background:#263a52}.textbox-inner{background:#1d2b41}.task-dialog,.drawer,.dice-card,.inspector{background:#f0f5fd}.task-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0e213dc9}}@media (prefers-contrast:more){:root{--ink-faint:#485670;--line:#3956784d}.stage{--ink-faint:#e2edff}.task-dialog,.drawer,.dice-card,.inspector{--ink-faint:#485670}.textbox-inner{background:#14233cf5;border-color:#fff}.cast-art{border-width:2px}.queue-copy>small,.queue-explainer,.task-intro{color:#455a77}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
