:root{--ink:#18273d;--navy:#122237;--cream:#fff9ed;--mint:#80eedc;--pink:#ffb2c7;--gold:#ffda7c;--muted:#aec0cc;--line:#365068;--paper:#f4f8fb}
html,body{font-family:'Zen Kaku Gothic New','Yu Gothic','Hiragino Kaku Gothic ProN','Meiryo',sans-serif;background:#070f1c;color:var(--paper);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input,select{font:inherit}button{touch-action:manipulation}button:focus-visible{outline:3px solid var(--mint);outline-offset:3px}button{transition:background .15s,transform .15s}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}#stage{box-shadow:0 0 80px #0009;background:#101b2c}#bg-layer{position:absolute;inset:0}.bg.asset-bg::after{background:linear-gradient(180deg,#0a152954 0%,transparent 40%,#101d3a66 100%)}#crt{display:none!important}#stage.shake{animation:impact .3s}@keyframes impact{25%{margin-left:-4px}75%{margin-left:4px}}
.mbtn,.rpg-command{border:1px solid #ffffff38;border-radius:8px;background:#13243de8;color:var(--paper);font-size:12px;box-shadow:none;padding:7px 11px;font-weight:700}.mbtn:hover{background:#294665;border-color:var(--mint);transform:none}.primary,.big-btn{border:0;border-radius:9px;background:var(--mint);color:#0e2b32;box-shadow:0 4px 0 #239a94;font-weight:900;padding:13px 25px;cursor:pointer}.primary:hover,.big-btn:hover{background:#b1fff0;transform:translateY(-1px)}.secondary{border:1px solid #ffffff55;border-radius:9px;background:#173047c9;color:var(--paper);padding:11px 20px;cursor:pointer;font-weight:700}.secondary:hover{background:#314c68}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:800;color:var(--mint)}.subtle{font-size:12px;color:var(--muted);line-height:1.8}
#menubar{top:12px;left:14px;right:14px;justify-content:flex-end;gap:5px}#menubar .mbtn{font-size:11px;padding:7px 9px}#bgm-volume,#btn-sound,#btn-bgm{display:none}#btn-debug{display:none!important}#telop{top:61px;font-size:11px;background:#102039ca;border:0;border-radius:30px;padding:7px 20px;color:#fff}#objective-hud{position:absolute;left:16px;top:14px;z-index:17;pointer-events:none;width:350px}#objective-hud .chapter{font-size:11px;color:var(--mint);letter-spacing:1px;font-weight:800}#objective-hud .goal{font-size:13px;line-height:1.6;text-shadow:0 1px 4px #000;background:#0e203999;padding:5px 9px;border-radius:5px;margin-top:3px;width:max-content;max-width:350px}#objective-hud .progress{display:flex;gap:4px;margin-top:5px}#objective-hud .progress i{width:19px;height:3px;background:#fff4;border-radius:3px}#objective-hud .progress .done{background:var(--mint)}
#dialog{left:26px;right:26px;bottom:25px;height:144px}#dialog .frame{background:#fffaf2f7;border:1px solid #fff;border-radius:14px;box-shadow:0 15px 35px #080e2666,inset 5px 0 var(--mint)}#dialog::before{display:none}#nameplate{top:-19px;left:24px;min-width:130px;border:0;border-radius:6px;padding:7px 20px;font-size:14px;color:#172237;box-shadow:0 3px 10px #0003}#dlg-text{padding:31px 30px 23px;font-size:18px;line-height:1.8;letter-spacing:.2px}.next-cursor{color:#385d70;font-size:12px;bottom:12px}#dialog::after{content:'クリック / Enter で次へ';position:absolute;bottom:-18px;right:0;font-size:9px;color:#e5eefb}.chara{bottom:160px;height:310px;width:180px;transition:filter .25s,transform .25s,opacity .25s;filter:brightness(.85)}.chara.speaking{filter:brightness(1);transform:translateY(-7px)}.chara img{max-height:100%;max-width:100%;filter:drop-shadow(0 14px 10px #06172b66)}.chara[data-cid=topic]{height:230px}.log-entity{display:grid;place-items:center;width:150px;height:200px;margin-bottom:25px;border:1px solid #8af5e785;border-radius:25px;background:linear-gradient(145deg,#80eedc22,#24568366);box-shadow:0 0 30px #60e5db22;color:#cef7f4;font-size:13px}.log-entity b{font-size:58px}.log-entity span{font-size:9px;letter-spacing:2px}
#narration{inset:auto 40px 30px;height:auto;min-height:112px;padding:24px 30px;text-align:left;background:#11223deb;border:1px solid #d6eaff50;border-radius:12px;font-size:18px;line-height:1.85;box-shadow:0 12px 28px #0004;white-space:pre-wrap}#narration.with-cut{padding:20px 28px;background:#10253aeb;text-shadow:none;align-items:center}#nar-cursor{bottom:35px!important;right:49px!important;color:var(--mint)}#cutaway.asset-cut{inset:62px 0 150px;background:#0b192173;backdrop-filter:blur(4px)}#cutaway.asset-cut .cf{width:auto;max-width:72%;height:100%;max-height:310px;padding:6px;background:#fff9ef;border:1px solid #fff;border-radius:10px;box-shadow:0 12px 45px #0006}#cutaway.asset-cut img{height:100%;max-height:100%;width:auto;max-width:100%;object-fit:contain;border-radius:5px}#cutaway .closeup-caption{display:none}#cutaway .closeup-hint{display:none}
#choices{top:53%;width:640px;min-width:0;max-width:85%;gap:9px;max-height:360px;overflow-y:auto;padding:4px 8px 10px}.choice{border:1px solid #c8d9e5;border-radius:10px;background:#fffaf5f7;padding:15px 20px 15px 48px;font-size:15px;box-shadow:0 5px 13px #0004;color:var(--ink);line-height:1.6}.choice.focus{background:#e3fff6;border-color:var(--mint);box-shadow:0 0 0 2px #6eecce88,0 5px 15px #0004;transform:none}.choice::before{content:attr(data-number);position:absolute;left:16px;top:16px;color:#388776;font-size:12px;font-weight:900}.choice.focus::before,.choice:hover::before{content:attr(data-number);color:#388776}.choice small{font-size:11px;color:#5c6878}.choice .effect-hint{display:block;font-size:10px;margin-top:5px;color:#69758d}.choice-label{font-weight:700}.choice-locked{font-size:11px;padding:7px 15px;border:1px dashed #fff5;border-radius:8px;color:#e3e8f5;background:#172b429c;cursor:default}.choice:hover{background:#dffff4;transform:translateY(-1px)}
#chapter-card{background:linear-gradient(110deg,#0c1b35f5,#12343cea);align-items:flex-start;padding:48px 72px}#chapter-card .c1{font-size:13px;letter-spacing:4px;color:var(--mint)}#chapter-card .c2{font-size:30px;letter-spacing:1px;line-height:1.5;color:#fff;text-shadow:none}#cc2b{text-align:left!important;font-size:14px!important;white-space:pre-wrap;margin-top:16px!important}#cc-board{width:100%;border:0;border-left:2px solid var(--mint);padding:8px 18px;background:#ffffff08;box-shadow:none;margin-top:22px}.cc-board-row{font-size:12px;grid-template-columns:96px 1fr}.cc-board-value{color:#dfebec}.cc-board-label{color:#8aacb4}#chapter-card .c3{margin-top:24px;font-size:11px;color:var(--mint)}#toasts{top:86px;right:16px}.toast{font-size:11px;border:1px solid #ffffff44;border-radius:7px;padding:8px 12px;background:#11243fee}#battle-hud{top:73px;border-radius:6px;border:1px solid var(--mint);font-size:12px;max-width:80%;text-align:center}
#scr-title{align-items:stretch;text-align:left;padding:52px 58px;background:linear-gradient(90deg,#0b1b32f5 0%,#0b1b32dd 44%,#0a1c3255 100%);overflow:hidden}#scr-title::before{display:none}.title-copy{width:520px;z-index:2!important}.title-copy h1{font-size:60px;line-height:1.15;letter-spacing:-3px;font-weight:1000;margin:17px 0 13px;color:#fff8e7;text-shadow:0 6px 0 #0a182855}.title-copy h1 span{display:block;font-size:31px;letter-spacing:8px;line-height:1.7;color:var(--mint)}.title-sub{font-size:15px;letter-spacing:2px;color:#d6e5ee}.title-description{font-size:12px;line-height:1.95;color:#becfdd;margin-top:20px}.title-actions{display:grid;grid-template-columns:220px 175px;gap:12px;margin-top:23px}.title-actions .big-btn{margin:0;font-size:15px;padding:14px 18px}.title-actions .secondary{font-size:13px}.title-cast{position:absolute!important;right:-12px;bottom:38px;width:440px;height:400px;pointer-events:none;z-index:0!important}.title-cast img{position:absolute;bottom:0;height:345px;filter:drop-shadow(0 18px 15px #07132480)}.title-cast .title-nemu{left:0;transform:rotate(-4deg)}.title-cast .title-kohaku{right:20px;transform:rotate(4deg)}.title-cast .title-topic{height:220px;left:120px;bottom:-5px;z-index:2;animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px)}}.title-footer{position:absolute!important;left:58px;right:50px;bottom:19px;display:flex;align-items:center;gap:14px;font-size:9px;color:#a9bfc7}.title-footer .mbtn{font-size:10px;padding:6px 9px}.title-mark{position:absolute!important;top:34px;right:34px;font-size:11px;letter-spacing:3px;color:var(--mint);border-top:1px solid #8cdacb;padding-top:8px}#scr-name{background:#0b1b32ef}#name-input{border-radius:9px;border:1px solid #688997;background:#0f2840;color:#fff;font-size:22px}#scr-end{background:linear-gradient(125deg,#10243bf5,#194c50ed);padding:30px}#scr-end .big-btn{margin-top:20px;font-size:15px}.ending-medal{font-size:48px;line-height:1.1}.ending-stats{display:flex;gap:18px;font-size:12px;justify-content:center}.ending-stats strong{font-size:23px;display:block;color:var(--mint)}#ending-zukan{border:1px solid var(--mint);border-radius:14px;background:#102339f9;inset:28px 55px;font-size:12px}#ending-zukan h2{font-size:19px}.ending-book-item{border-radius:8px;border-width:1px}.ending-book-desc{font-size:11px}
#panel{position:absolute;inset:0;z-index:49;background:#071629ae;backdrop-filter:blur(7px);display:flex;padding:35px 58px;align-items:stretch;justify-content:center}#panel .panel-card{width:100%;background:#12273afc;border:1px solid #719da260;border-radius:15px;display:flex;flex-direction:column;box-shadow:0 15px 50px #0007;overflow:hidden}.panel-head{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid #fff2}.panel-head h2{font-size:19px;font-weight:800;flex:1}.panel-body{overflow:auto;padding:22px;flex:1}.panel-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.panel-tabs button.active{background:var(--mint);color:#153937}.note-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.note-item{padding:14px;border:1px solid #abcad130;border-radius:10px;background:#09192955;font-size:12px;line-height:1.7}.note-item h3{font-size:14px;margin-bottom:8px;color:var(--mint)}.note-item p{color:#c5d6de}.case-item img{height:95px;width:100%;object-fit:contain;background:#fff9ef;border-radius:5px;margin-bottom:8px}.history-item{border-bottom:1px solid #fff1;padding:9px 0;font-size:13px;line-height:1.8}.history-item b{color:var(--mint);font-size:11px;display:block}.setting-row{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:14px 0;border-bottom:1px solid #fff1;font-size:13px}.setting-row select{background:#132339;color:white;border:1px solid #8fa9b6;border-radius:6px;padding:7px}.setting-row input{accent-color:var(--mint);max-width:48%}.save-slot{display:flex;align-items:center;gap:9px;line-height:1.7;border-bottom:1px solid #fff2;padding:15px 0}.save-slot .slot-info{flex:1;font-size:12px}.save-slot strong{display:block;color:var(--mint)}.stat-meter{height:5px;background:#0004;border-radius:5px;margin:7px 0}.stat-meter i{display:block;height:100%;background:var(--mint);border-radius:5px}.arcade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.arcade-card{border:1px solid #8fcbc944;border-radius:11px;padding:18px 12px;text-align:left;background:#1d3a4e;color:#fff;cursor:pointer}.arcade-card .icon{font-size:26px;display:block;margin-bottom:11px}.arcade-card b{display:block;font-size:13px}.arcade-card small{font-size:10px;line-height:1.7;color:#aecaD8;display:block;margin-top:8px}.arcade-card:hover{background:#285367}
#mg{background:linear-gradient(135deg,#0a1b30fa,#183b48f9);z-index:38}#mg::before{display:none}#mg-head{background:#10243eeb;border-color:#ffffff25;padding:10px 17px;font-size:13px;min-height:53px;gap:10px}#mg-head>span:first-child{color:var(--mint);font-weight:800}#mg-hud{font-size:11px;text-align:right}#mg-desc{font-size:11px;color:#b9cfda;padding:8px 17px;background:#0b1929a8;line-height:1.6}#mg-area{display:flex;align-items:stretch;flex-direction:column}.challenge-intro,.challenge-result{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:radial-gradient(ellipse at 50% 20%,#25767a55,transparent 60%)}.challenge-icon{font-size:42px;margin-bottom:12px}.challenge-intro h2,.challenge-result h2{font-size:25px;line-height:1.5;color:var(--cream)}.challenge-intro p,.challenge-result p{font-size:13px;line-height:1.8;max-width:520px;margin:13px 0 18px;color:#c3d8df;white-space:pre-line}.challenge-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:13px}.rank{font-size:70px;font-weight:900;line-height:1.1;color:var(--gold);text-shadow:0 0 30px #ffda7c55}.result-numbers{display:flex;gap:24px;margin:18px 0;font-size:12px}.result-numbers strong{font-size:25px;display:block;color:var(--mint)}.record-label{font-size:11px;color:var(--gold);margin-top:10px}.challenge-timer{height:4px;background:#fff2;flex-shrink:0}.challenge-timer i{height:100%;display:block;background:var(--mint);transition:width .15s linear}.floating-score{position:absolute;pointer-events:none;z-index:8;font-size:24px;font-weight:900;color:var(--gold);animation:scoreUp .6s forwards}@keyframes scoreUp{to{transform:translateY(-45px);opacity:0}}
.type-play{padding:20px 34px;text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center}.type-race{display:flex;align-items:center;gap:15px;margin:0 20px 18px}.type-race .race-track{height:7px;flex:1;background:#fff2;border-radius:10px;overflow:hidden}.type-race .race-track i{display:block;height:100%;background:var(--mint);width:0;transition:width .2s}.type-race .race-track.rival i{background:var(--pink)}.type-race b{font-size:11px;min-width:60px}.type-kana{font-size:24px;font-weight:700;margin:5px 0 10px}.type-roma{font-family:monospace;font-size:24px;letter-spacing:1.5px;color:#fff;overflow-wrap:anywhere;min-height:36px}.type-roma .typed{color:#627e8c}.type-roma .next-key{color:#082c38;background:var(--mint);border-radius:3px;padding:2px}.type-combo{color:var(--gold);font-size:13px;min-height:24px;margin:10px 0}.type-input{width:340px;max-width:100%;padding:9px 14px;margin:2px auto;border:1px solid #688992;border-radius:8px;color:white;background:#081c3188;font-size:13px}.type-input::placeholder{color:#a4bac4}.type-play.miss{animation:miss .15s}@keyframes miss{50%{background:#ff557722}}.virtual-keys{display:none;justify-content:center;flex-direction:column;gap:5px;margin:12px 0 0}.key-row{display:flex;gap:4px;justify-content:center}.key-row button{font-size:13px;width:42px;height:35px;padding:0;border:1px solid #688694;border-radius:6px;background:#294455;color:#fff}.key-row button.next{background:var(--mint);color:#173b3d}.combo-spark{color:var(--gold);font-size:16px;font-weight:800}
.catch-board{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:10px;width:650px;max-width:87%;margin:15px auto;flex:1;max-height:290px}.catch-cell{background:#17344866;border:1px solid #54869944;border-radius:12px;color:#abc9d7;font-size:12px;cursor:pointer;position:relative;transition:all .12s;min-height:70px}.catch-cell .item-icon{font-size:31px;display:block}.catch-cell.good{background:#22514a;border-color:#76d9b4;box-shadow:0 0 15px #78ffbe12;color:#ebfff8}.catch-cell.bad{background:#4d2940;border-color:#b86275;color:#ffd6e0}.catch-cell.used{transform:scale(.94)}.catch-combo{text-align:center;height:28px;color:var(--gold);font-size:14px}.timing-play{padding:20px 60px;text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px}.timing-track{position:relative;height:32px;background:#0c2035;border:1px solid #668095;border-radius:10px}.timing-safe{position:absolute;left:28%;width:44%;height:100%;background:#386c72}.timing-perfect{position:absolute;left:43%;width:14%;height:100%;background:var(--mint)}.timing-pointer{position:absolute;top:-12px;height:54px;width:5px;background:var(--pink);box-shadow:0 0 14px #ffb2c7;border-radius:4px}.timing-dots{font-size:26px;letter-spacing:18px;color:var(--mint)}.timing-feedback{min-height:30px;color:var(--gold);font-size:19px;font-weight:800}.timing-play .primary{align-self:center;min-width:240px}
.investigate{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:23px;flex:1;min-height:0}.evidence-image{display:flex;align-items:center;justify-content:center;min-height:0;background:#fff9f0;border-radius:10px;padding:9px;overflow:hidden}.evidence-image img{width:100%;height:100%;max-height:290px;object-fit:contain}.clue-panel{display:flex;flex-direction:column;justify-content:center;gap:9px;min-height:0;overflow:auto}.clue-panel p{font-size:13px;line-height:1.7}.clue-btn{border:1px solid #8fcebd55;border-radius:7px;background:#22424a;color:#fff;padding:10px;text-align:left;font-size:12px;cursor:pointer}.clue-btn.visited{color:var(--mint);background:#1c353c}.clue-text{padding:10px;font-size:12px;line-height:1.7;color:#e0ebf2;min-height:64px;background:#081a2c66;border-radius:8px}.deduce-choices{display:flex;flex-direction:column;gap:8px}.deduce-choices button{background:#e8fff6;color:#1a3939;border:0;border-radius:7px;padding:12px;text-align:left;font-size:12px;cursor:pointer}.club-board{padding:25px 45px;display:flex;flex-direction:column;gap:15px;flex:1}.club-greeting{display:flex;align-items:center;gap:22px}.club-greeting img{height:75px}.club-greeting h2{font-size:21px;margin-bottom:7px}.club-greeting p{font-size:12px;line-height:1.7;color:#bdd5dc}.club-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.club-option{padding:16px 18px;text-align:left;border:1px solid #578f9c;border-radius:10px;background:#254453bb;color:#fff;cursor:pointer}.club-option b{font-size:15px;display:block;margin-bottom:6px}.club-option small{font-size:11px;line-height:1.6;color:var(--mint)}.club-option.chosen{background:#355957;opacity:.65}.club-note{font-size:12px;color:var(--gold);min-height:21px;text-align:center}.club-board>.primary{align-self:center}
.design-board{display:grid;grid-template-columns:1.05fr 1fr;gap:22px;padding:25px 35px;flex:1}.design-preview{background:#fff5df;color:#20354c;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px}.design-preview .poster-hero{font-size:29px;line-height:1.4;text-align:center;font-weight:900;color:#154c60}.design-preview .poster-tag{font-size:10px;letter-spacing:3px}.design-preview .poster-detail{font-size:11px;text-align:center;line-height:1.7}.design-preview .poster-button{background:#f6a174;color:#233344;padding:10px 24px;border-radius:7px;font-weight:800;font-size:13px}.design-controls{display:flex;flex-direction:column;justify-content:center;gap:12px}.design-controls h3{font-size:17px}.design-controls p{font-size:12px;line-height:1.7;color:#bad3dd}.design-controls button{padding:13px;text-align:left;font-size:12px}
.apple-arena{position:absolute;inset:0;background:linear-gradient(#102d4933,#0f223177),url('assets/isekai_orchard.webp') center/cover;touch-action:none;overflow:hidden}.apple-item{position:absolute;font-size:37px;width:48px;height:48px;display:grid;place-items:center;filter:drop-shadow(0 4px 4px #0006)}.basket{position:absolute;bottom:12px;width:88px;height:55px;border-radius:8px 8px 28px 28px;background:repeating-linear-gradient(0deg,#bb813f 0 8px,#dfb375 8px 11px);border:3px solid #f4d8a4;box-shadow:0 5px 8px #0008;color:#412c15;font-size:13px;display:grid;place-items:center;font-weight:900}.apple-touch{position:absolute;bottom:14px;left:18px;right:18px;display:flex;justify-content:space-between;pointer-events:none}.apple-touch button{width:54px;height:48px;pointer-events:auto;background:#14334ecc;color:white;border:1px solid #b3d8e9;border-radius:10px;font-size:23px}.memory-v3{background:linear-gradient(#0d27476e,#0a1b30ac),url('assets/isekai_stream.webp') center/cover;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;gap:10px;padding:18px 130px;flex:1}.memory-v3 button{position:relative;border:1px solid #86d1d1;border-radius:10px;background:repeating-linear-gradient(45deg,#173d56 0 10px,#204a5f 10px 12px);color:var(--mint);font-size:28px;overflow:hidden;cursor:pointer}.memory-v3 button img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0}.memory-v3 button.open img,.memory-v3 button.matched img{opacity:1}.memory-v3 button.matched{border:3px solid var(--gold);opacity:.65}.memory-v3 button .pair-label{display:none;position:absolute;bottom:0;left:0;right:0;background:#071828b9;font-size:11px;padding:5px}.memory-v3 button.open .pair-label,.memory-v3 button.matched .pair-label{display:block}
.boss-arena{position:relative;flex:1;background:linear-gradient(#12344a11,#07192b66),url('assets/isekai_battle.webp') center/cover;overflow:hidden}.boss-display{position:absolute;left:46%;top:40px;width:290px;height:260px;display:grid;place-items:center}.boss-svg{width:100%;height:100%;filter:drop-shadow(0 8px 15px #072247a0);animation:float 3s ease-in-out infinite}.boss-display.hit{animation:bossHit .3s}@keyframes bossHit{50%{filter:brightness(3);transform:translateX(8px)}}.boss-health{position:absolute;top:14px;right:24px;width:330px;background:#112639eb;border:1px solid #bed9e155;border-radius:8px;padding:10px 14px;font-size:12px}.boss-health-track{height:8px;background:#0005;margin-top:7px;border-radius:5px;overflow:hidden}.boss-health-track i{display:block;height:100%;background:var(--pink);transition:width .3s}.boss-intent{position:absolute;left:24px;top:14px;background:#122638e6;border:1px solid var(--gold);border-radius:8px;padding:10px 14px;font-size:12px;max-width:310px;line-height:1.7;color:#ffda7c}.boss-party{position:absolute;left:24px;top:104px;width:280px;background:#0b223adb;border:1px solid #99cacd66;border-radius:10px;padding:11px 15px;font-size:12px}.party-health{height:8px;background:#030e2866;margin:7px 0;border-radius:5px;overflow:hidden}.party-health i{display:block;height:100%;background:var(--mint);transition:width .3s}.link-gauge{height:5px;background:#2b3258;overflow:hidden;border-radius:5px;margin-top:7px}.link-gauge i{display:block;height:100%;background:var(--gold);transition:width .3s}.boss-command{position:absolute;bottom:15px;left:24px;right:24px;background:#102539f5;border:1px solid #cbeae56e;border-radius:10px;padding:13px;display:grid;grid-template-columns:1fr 1.45fr;gap:15px}.boss-message{font-size:12px;line-height:1.8;color:#e8f6fc;display:flex;align-items:center}.command-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.command-grid button{border:1px solid #78a8b877;border-radius:6px;background:#254559;color:#fff;padding:10px 6px;font-size:11px;cursor:pointer}.command-grid button small{font-size:9px;color:#c8e7df;display:block;margin-top:4px}.command-grid .link-ready{background:#735b22;border-color:var(--gold);box-shadow:0 0 13px #ffda7c44}.boss-phase{color:var(--mint);font-size:10px}.skill-flash{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#bbffff55;z-index:4;font-size:28px;font-weight:900;color:white;text-shadow:0 4px 8px #143544;animation:flashSkill .75s forwards;pointer-events:none}@keyframes flashSkill{0%{opacity:0;transform:scale(.9)}25%{opacity:1;transform:scale(1)}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-aspect-ratio:1/1){
 #stage-wrap{align-items:stretch}#stage{width:100vw!important;height:100dvh!important;transform:none!important}#scr-title{padding:54px 26px;background:linear-gradient(180deg,#0b1b32c9,#0b1b32e8 52%,#0b1b32fa)}.title-copy{width:100%}.title-copy h1{font-size:clamp(37px,10vw,55px);letter-spacing:-2px;margin:12px 0}.title-copy h1 span{font-size:21px;letter-spacing:5px}.title-sub{font-size:11px;letter-spacing:1px}.title-description{font-size:11px;max-width:220px;margin-top:17px}.title-cast{right:-7px;bottom:170px;width:250px;height:280px;opacity:.95}.title-cast img{height:227px}.title-cast .title-topic{height:150px;left:57px}.title-cast .title-kohaku{right:0}.title-cast .title-nemu{left:5px}.title-actions{position:fixed;left:25px;right:25px;bottom:82px;grid-template-columns:1fr 1fr;gap:10px}.title-actions .big-btn{grid-column:1/-1;padding:14px;font-size:16px}.title-actions .secondary{font-size:11px;padding:11px 7px}.title-footer{left:25px;right:25px;bottom:17px;gap:9px;flex-wrap:wrap;font-size:8px}.title-mark{top:24px;right:22px;font-size:8px}.eyebrow{font-size:9px;letter-spacing:2px}#objective-hud{top:61px;left:15px;width:90%;}#objective-hud .goal{max-width:90vw;font-size:11px}#objective-hud .chapter{font-size:10px}#objective-hud .progress{display:none}#menubar{left:10px;right:10px;top:12px;justify-content:center;gap:5px}#menubar .mbtn{font-size:10px;padding:8px}#telop{top:115px;font-size:9px;white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis}#battle-hud{top:136px;font-size:10px;width:max-content}#toasts{top:146px;right:10px}.toast{font-size:10px}
 #dialog{left:14px;right:14px;bottom:32px;height:clamp(168px,28vh,220px)}#dlg-text{padding:28px 21px;font-size:15px;line-height:1.85}#nameplate{font-size:12px;padding:8px 15px;min-width:105px;left:15px}#narration{left:14px;right:14px;bottom:32px;padding:22px;font-size:15px;line-height:1.85;min-height:160px}#nar-cursor{bottom:41px!important;right:25px!important}.chara{bottom:calc(clamp(168px,28vh,220px) + 32px);height:42vh!important;max-height:340px;width:40vw!important;max-width:180px;}.chara[data-cid=topic]{height:29vh!important}.log-entity{height:160px;width:110px;font-size:11px}.log-entity b{font-size:43px}#choices{width:calc(100% - 28px);max-width:none;max-height:65vh;top:auto;bottom:28px;transform:translateX(-50%);padding:5px 2px;gap:9px}.choice{font-size:13px;line-height:1.6;padding:14px 14px 14px 42px}.choice small{font-size:10px}.choice .effect-hint{font-size:9px}.choice::before{left:14px}.choice-locked{font-size:9px}
 #chapter-card{padding:35px 26px}#chapter-card .c1{font-size:12px}#chapter-card .c2{font-size:25px;letter-spacing:0}#cc2b{font-size:13px!important}#cc-board{padding:10px 13px}.cc-board-row{display:block;font-size:11px;padding:8px 0}.cc-board-label{display:block;font-size:10px;margin-bottom:3px}#chapter-card .c3{font-size:11px}#cutaway.asset-cut{inset:135px 12px calc(clamp(168px,28vh,220px) + 40px)}#cutaway.asset-cut .cf{max-width:100%;height:auto;max-height:100%;width:auto;padding:5px}#cutaway.asset-cut img{max-height:35vh;width:100%;object-fit:contain}#cutaway{z-index:4}
 #panel{padding:12px 10px}#panel .panel-card{border-radius:12px}.panel-head{padding:16px}.panel-head h2{font-size:16px}.panel-body{padding:16px}.panel-tabs{gap:5px}.panel-tabs .mbtn{font-size:11px;padding:8px 11px}.note-grid{grid-template-columns:1fr}.note-item{padding:13px}.note-item h3{font-size:13px}.arcade-grid{grid-template-columns:1fr 1fr}.arcade-card{padding:15px 12px}.arcade-card b{font-size:12px}#ending-zukan{inset:12px 10px;padding:20px 16px}#ending-zukan-grid{grid-template-columns:1fr}#scr-end{padding:30px 20px}.ending-stats{gap:13px;flex-wrap:wrap}.ending-stats strong{font-size:22px}#scr-end .end-title{font-size:25px!important}#scr-end .end-desc{font-size:12px!important}.save-slot{flex-wrap:wrap}.save-slot .slot-info{min-width:45%}.setting-row{font-size:12px;gap:10px}
 #mg-head{padding:12px 13px;flex-wrap:wrap;min-height:80px;gap:6px}#mg-head>span:first-child{font-size:12px;width:calc(100% - 85px)}#mg-hud{order:3;width:100%;font-size:11px;text-align:left;margin:3px 0 0}#mg-skip{margin-left:auto;font-size:10px;padding:7px}#mg-desc{padding:9px 13px;font-size:10px}.challenge-intro,.challenge-result{padding:24px}.challenge-intro h2,.challenge-result h2{font-size:22px}.challenge-intro p,.challenge-result p{font-size:13px}.challenge-icon{font-size:45px}.result-numbers{gap:21px;flex-wrap:wrap;justify-content:center}.result-numbers strong{font-size:24px}.challenge-buttons button{font-size:13px}.rank{font-size:75px}.type-play{padding:16px 14px;justify-content:center}.type-kana{font-size:20px;line-height:1.6}.type-roma{font-size:20px;line-height:1.7;letter-spacing:1px}.type-combo{font-size:12px;margin:13px 0}.type-race{margin:0 0 20px;gap:7px;flex-wrap:wrap}.type-race b{min-width:45px;font-size:10px}.type-race .race-track{min-width:65px}.type-input{font-size:12px;padding:8px;display:none}.virtual-keys{display:flex}.key-row{gap:3px}.key-row button{width:8.4vw;max-width:43px;height:42px;font-size:13px}.catch-board{max-width:none;width:auto;margin:18px 14px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:9px;max-height:440px}.catch-cell{min-height:65px;font-size:10px}.catch-cell .item-icon{font-size:28px}.catch-combo{font-size:12px}.timing-play{padding:20px 27px;gap:25px}.timing-feedback{font-size:16px}.timing-play .primary{min-width:220px}
 .investigate{grid-template-columns:1fr;grid-template-rows:minmax(130px,28vh) 1fr;padding:15px;gap:13px}.evidence-image img{max-height:25vh}.clue-panel{justify-content:flex-start;gap:7px}.clue-panel p{font-size:12px}.clue-btn{font-size:11px;padding:9px}.clue-text{font-size:11px;min-height:52px;padding:8px}.deduce-choices button{font-size:12px;padding:13px}.club-board{padding:20px 18px;justify-content:center;gap:17px}.club-greeting{gap:13px}.club-greeting img{height:75px}.club-greeting h2{font-size:19px}.club-greeting p{font-size:11px}.club-grid{gap:10px;grid-template-columns:1fr}.club-option{padding:14px}.club-option b{font-size:14px}.club-option small{font-size:11px}.club-note{font-size:11px}.design-board{grid-template-columns:1fr;grid-template-rows:minmax(180px,34%) 1fr;gap:17px;padding:20px}.design-preview{gap:9px;padding:14px}.design-preview .poster-hero{font-size:24px}.design-preview .poster-tag{font-size:9px}.design-preview .poster-detail{font-size:10px}.design-preview .poster-button{font-size:11px;padding:9px 22px}.design-controls{gap:10px}.design-controls h3{font-size:16px}.design-controls button{font-size:12px}
 .memory-v3{padding:20px 18px;gap:10px;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr)}.memory-v3 button .pair-label{font-size:10px}.apple-item{font-size:33px}.boss-health{left:15px;right:15px;top:13px;width:auto;font-size:11px}.boss-intent{left:15px;right:15px;top:77px;max-width:none;font-size:11px;padding:9px 12px}.boss-display{left:25%;top:125px;width:65%;height:200px}.boss-party{top:auto;bottom:185px;left:15px;width:180px;font-size:11px;padding:9px 11px}.boss-command{bottom:12px;left:12px;right:12px;grid-template-columns:1fr;gap:10px;padding:11px;min-height:155px}.boss-message{font-size:11px;min-height:38px}.command-grid button{font-size:10px;padding:10px 4px}.command-grid button small{font-size:9px}.skill-flash{font-size:23px}
}
@media (max-aspect-ratio:1/1) and (max-height:690px){.title-cast{bottom:164px;height:230px}.title-cast img{height:210px}.title-cast .title-topic{height:125px}.title-description{max-width:170px;font-size:10px}.title-copy h1{font-size:38px}.title-copy h1 span{font-size:20px}#scr-title{padding-top:49px}.investigate{grid-template-rows:minmax(100px,23vh) 1fr}.clue-panel{gap:5px}.clue-btn{padding:7px}.clue-text{min-height:43px}.boss-display{top:120px;height:140px}.club-option{padding:10px}.type-kana{font-size:18px}.type-play{padding:9px 12px}.virtual-keys{margin-top:8px}.key-row button{height:35px}.type-race{margin-bottom:10px}}

#scr-title{justify-content:flex-start}

/* v3.1: visible typing progress without opening IME text composition. */
.type-step{font-size:11px;color:var(--mint);margin:0 0 8px}.type-input{caret-color:transparent;cursor:default}.challenge-result button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}

/* v3.3: prepared images replace the frame in one commit; never flash old art. */
#bg-layer{position:absolute;inset:0;background:#102337}
.scene-background-image{display:block;width:100%;height:100%;object-fit:cover}
#cutaway{transition:none}
.title-copy h1.title-logo{width:430px;max-width:100%;height:auto;aspect-ratio:2022/778;margin:10px 0 8px;line-height:0;letter-spacing:0}
.title-logo img{display:block;width:100%;height:auto;visibility:hidden}
#scr-title:not(.art-ready){visibility:hidden}
#scr-title.art-ready .title-logo img{visibility:visible}
.title-description{margin-top:16px}
.title-actions{margin-top:18px}
@media(max-aspect-ratio:1/1){
 .title-copy h1.title-logo{width:100%;max-width:380px;margin:12px 0 9px}
 .title-description{margin-top:14px}
}
@media(max-aspect-ratio:1/1) and (max-height:690px){
 .title-description{max-width:100%}
 .title-cast img{height:190px}
}
