:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#100e18;--night:#191523;--plum:#282033;--plum-light:#38283b;--line:#65505b;--paper:#f1e4c8;--paper-deep:#dfc99f;--text:#fff7e7;--muted:#c7b7ae;--gold:#f1c56f;--red:#e56856;--jade:#85d2ad;--radius:5px;font-synthesis:none;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 50% -14%, #4a2437 0, transparent 47%), radial-gradient(ellipse at 100% 80%, #252036 0, transparent 40%), var(--ink);min-height:100vh;color:var(--text);margin:0}body:before{content:"";pointer-events:none;opacity:.11;background-image:repeating-linear-gradient(0deg,#0000 0 4px,#f5dba0 5px,#0000 6px);position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}main{max-width:1120px;margin:auto;padding:18px 26px 8px;position:relative}button,select,input{font:inherit}button,select{cursor:pointer}button{border-radius:var(--radius);letter-spacing:.015em;border:1px solid #0000;min-height:46px;padding:10px 16px;font-weight:800;transition:transform .14s,filter .14s,background-color .14s}button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:default;opacity:.56}button:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.hidden{display:none!important}h1,h2,h3,p{margin-top:0}h2{line-height:1.3}h2:focus{outline:none}.muted{color:var(--muted);font-size:13px;line-height:1.7}.primary{color:#231a1a;background:linear-gradient(110deg, #f4d38f, var(--gold) 58%, #e9aa58);box-shadow:0 4px #80583b,0 10px 28px #db9c4c20}.secondary{color:var(--paper);background:#332a36;border-color:#80606a;box-shadow:inset 0 1px #ffffff10}.text-button{color:var(--gold);background:0 0;padding-inline:4px}.danger{color:#ff9b91}.full{width:100%}.app-header{justify-content:space-between;align-items:center;gap:14px;max-width:1040px;margin:0 auto 18px;display:flex}.app-header h1{letter-spacing:.07em;white-space:nowrap;text-shadow:0 2px #000;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(18px,3vw,23px)}.app-header h1:before{content:"✦";color:var(--red);margin-right:9px;font-size:22px}.app-header em{color:var(--gold);font-style:normal}.header-actions{align-items:center;gap:8px;display:flex}.icon-button{min-width:44px;color:var(--paper);background:#2b2435;border:1px solid #655064;padding:7px}.screen{background:linear-gradient(150deg,#211b2a 0%,#191622 100%);border:1px solid #65515b;border-radius:6px;padding:25px;position:relative;box-shadow:0 18px 55px #0005,inset 0 1px #ffffff09}.screen:after{content:"";pointer-events:none;border:1px solid #f1c56f20;border-radius:3px;position:absolute;inset:5px}.setup-screen{padding:17px}.intro{background:#15131d;border:1px solid #9c6b64;border-radius:4px;justify-content:space-between;align-items:center;gap:20px;min-height:255px;padding:28px 34px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #0908129e}.intro-art{z-index:0;object-fit:cover;object-position:center 45%;opacity:.74;width:100%;height:100%;position:absolute;inset:0}.intro:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#15131def 0%,#171420dd 44%,#17142045 100%);position:absolute;inset:0}.intro:after{content:"封印の間";z-index:3;letter-spacing:.35em;color:#f1d8a966;font:11px Yu Mincho,serif;position:absolute;bottom:12px;right:18px}.intro>div:first-of-type,.intro>.portrait-duel{z-index:2;position:relative}.eyebrow{color:var(--gold);letter-spacing:.18em;margin-bottom:13px;font:700 12px Yu Gothic,sans-serif}.intro h2{color:#fff5e1;letter-spacing:.055em;text-shadow:0 3px 18px #000;margin-bottom:12px;font:700 clamp(31px,5vw,49px)/1.33 Yu Mincho,Hiragino Mincho ProN,serif}.intro p:not(.eyebrow){color:#e1d1c5;margin:0;font-size:14px;line-height:1.85}.portrait-duel{flex:none;align-items:center;gap:8px;padding-bottom:19px;display:flex}.hero-portrait{filter:drop-shadow(0 0 17px #53bde450);border-bottom:2px solid #64c7dd;flex:none;place-items:center;width:128px;height:150px;margin:0;display:grid;overflow:hidden}.hero-portrait img{object-fit:contain;width:100%;height:100%}.versus-mark{color:var(--gold);text-shadow:0 0 12px #ffb350aa;font:italic 800 12px Yu Mincho,serif}.demon-portrait{background:#20172c55;border:1px solid #e8bd75;border-radius:50%;flex:none;width:160px;height:160px;margin:0;position:relative;overflow:visible;box-shadow:0 0 0 6px #e8bd751b,0 0 42px #fa566b49}.demon-portrait img{object-fit:contain;width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}.demon-portrait figcaption{color:#f2d69f;white-space:nowrap;text-shadow:0 1px 5px #000;font-size:10px;position:absolute;bottom:-21px;left:50%;transform:translate(-50%)}.progress-strip{color:var(--paper);border-bottom:1px solid #59434c;flex-wrap:wrap;gap:24px;padding:15px 8px 11px;font-size:13px;display:flex}.progress-strip span:first-child:first-letter,.progress-strip b{color:var(--gold)}.goal-heading{color:#cdbfb6;justify-content:space-between;margin:13px 4px 7px;font-size:12px;display:flex}.level-meter{background:#433743;border:1px solid #68515a;border-radius:2px;height:8px;overflow:hidden}.level-meter>div{background:linear-gradient(90deg,#c86e52,#f2ca76);width:10%;height:100%;box-shadow:0 0 12px #f2ca76}#progressnote{margin:7px 4px 20px;font-size:12px}.setup-grid{border-top:1px solid #5e4a52;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);gap:0;display:grid}.setup-form{padding:22px 28px 20px 8px}.setup-form label,.settings-content>label{color:#e9d9c3;letter-spacing:.04em;flex-direction:column;gap:8px;margin-bottom:15px;font-size:12px;font-weight:800;display:flex}select{color:#fff5e5;background:#211c29;border:1px solid #79606a;border-radius:3px;width:100%;min-height:47px;padding:10px 13px;box-shadow:inset 0 2px 8px #0004}.field-row{grid-template-columns:1.3fr 1fr;gap:12px;display:grid}.weapon-info{border-left:3px solid var(--gold);min-height:48px;color:var(--paper);margin:0 0 13px;padding:1px 12px;font-size:12px;line-height:1.65}.weapon-info p{margin:0 0 3px}.weapon-info small{color:var(--muted)}.start-button{justify-content:space-between;align-items:center;width:100%;min-height:56px;margin-top:13px;font-size:15px;display:flex}#tutorial-start{font-size:12px}.learning-summary{border:1px solid #665157;border-top:2px solid var(--gold);background:linear-gradient(150deg,#302532,#241f2a);margin:19px 0 19px 5px;padding:18px 20px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-heading h2,.section-heading h3{margin:0}.section-heading h3{color:var(--paper);font:700 15px Yu Mincho,serif}.section-heading>span{color:var(--gold);white-space:nowrap;font-size:13px}.learning-summary>p{color:var(--muted);font-size:12px;line-height:1.65}.skill-row{border-bottom:1px solid #55454f;justify-content:space-between;gap:12px;padding:10px 0;font-size:12px;display:flex}.skill-row span{color:var(--muted)}.badges{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.badge{color:var(--gold);border:1px solid #876d4c;border-radius:2px;padding:5px 7px;font-size:10px}.settings-panel{border-top:1px solid #5d4b52;padding-top:12px}.settings-panel summary{color:#d1c0b2;cursor:pointer;padding:8px 2px;font-size:12px}.settings-content{padding-top:14px}.settings-content .check-label{flex-direction:row;align-items:center;gap:12px;line-height:1.7;display:flex}input[type=checkbox]{width:21px;height:21px;accent-color:var(--gold);flex:none}.hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:1040px;margin:0 auto 12px;display:grid}.hud>div{background:linear-gradient(110deg,#332936,#252231);border:1px solid #63515c;border-radius:3px;justify-content:center;align-items:center;gap:10px;padding:9px 12px;display:flex;box-shadow:inset 0 1px #ffffff0c}.hud b{color:var(--paper);font:700 20px Yu Mincho,serif}.row,.bosshud{justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.row{color:var(--gold)}.quiz-screen{max-width:900px;margin:0 auto;padding:clamp(20px,4vw,38px)}.timer-row{align-items:center;gap:12px;margin-top:15px;display:flex}.bar{background:#493b47;border:1px solid #745960;border-radius:2px;flex:1;height:8px;overflow:hidden}.bar>div{background:var(--jade);width:100%;height:100%}.clock{color:var(--gold);white-space:nowrap;font-size:14px;font-weight:900}.question{color:var(--paper);letter-spacing:.06em;text-align:center;text-shadow:0 4px 22px #f0ad5250;margin:26px 0 29px;font:700 clamp(36px,8vw,58px) Yu Mincho,Hiragino Mincho ProN,serif}.answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.choice{color:#251c24;background:linear-gradient(135deg, #f5ead3, var(--paper-deep));text-align:left;text-shadow:0 1px #fff8;touch-action:manipulation;border:1px solid #f9e4ae;border-bottom:3px solid #9b714a;border-radius:3px;min-height:72px;padding:12px 18px;font:800 clamp(20px,4vw,28px) Yu Gothic,sans-serif}.choice:disabled{opacity:1}.choice.correct{color:#152b26;background:linear-gradient(130deg,#a8e4bc,#6db994);border-color:#b8f0ca}.choice.wrong{color:#381e22;background:linear-gradient(130deg,#ffc0a6,#e78479);border-color:#ffd1b2}.feedback{color:#e6dbca;border-left:3px solid var(--jade);background:#17151f;min-height:58px;margin-top:16px;padding:12px 14px;font-size:13px;line-height:1.65}.quiz-actions{justify-content:space-between;gap:12px;margin-top:12px;display:flex}.keyboard-help{text-align:center;margin:12px 0 0;font-size:11px}.battle-ready-screen{max-width:670px;margin:0 auto}.battle-ready-screen h2{color:var(--paper);font:700 28px Yu Mincho,serif}.battle-ready-screen>p{line-height:1.8}.instructions{color:#e5d6c8;padding-left:26px;font-size:14px;line-height:2.1}.bosshud{color:#ffe1ca;letter-spacing:.04em;font:700 14px Yu Mincho,serif}.bossbar{background:#3a2534;border:1px solid #90615e;border-radius:2px;height:12px;margin:9px 0 12px;overflow:hidden;box-shadow:inset 0 2px 4px #0008}.bossbar>div{background:linear-gradient(90deg,#a73346,#ef725b 60%,#f2bf73);width:100%;height:100%;transition:width .16s;box-shadow:0 0 12px #ee6658}.battle-screen{background:linear-gradient(155deg,#211a29,#15141e);max-width:1040px;margin:auto;padding:17px}.battle-screen:before{content:"";z-index:1;pointer-events:none;border:1px solid #e2b76a55;position:absolute;inset:7px}.arena{position:relative}canvas{aspect-ratio:700/420;touch-action:none;background:#171426;border:2px solid #b08a68;border-radius:3px;width:100%;display:block;box-shadow:0 0 0 4px #2e2430,0 8px 26px #0009}.message{color:#e3d6c7;min-height:31px;padding:10px 3px 4px;font-size:12px;line-height:1.5}.controls{justify-content:space-between;align-items:center;gap:16px;padding:5px 6px 2px;display:flex}.pad{grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,48px);gap:3px;display:grid}.pad i{color:#bda994;place-items:center;font-style:normal;display:grid}.dir{color:var(--paper);touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#4a3a47,#2e2a38);border:1px solid #92756e;border-bottom:3px solid #755346;border-radius:3px;padding:0;font-size:18px}.dir.active{color:#271a24;background:var(--gold)}.acts{gap:10px;display:flex}.act{color:#fff6e8;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;min-width:106px;min-height:72px;padding:9px;display:flex;box-shadow:0 4px #0006,inset 0 1px #fff2}.act span{margin-top:3px;font-size:10px;font-weight:600;line-height:1.6}.fire{background:linear-gradient(145deg,#c84c4c,#8e3146);border-color:#f0846b}.dodge{background:linear-gradient(145deg,#78609a,#483858);border-color:#ae8fbb}.dodge[aria-disabled=true]{background:#45404b;border-color:#766c71}.result{text-align:center}.trophy{margin-bottom:12px;font-size:48px}.result>p{line-height:1.8}.earned{color:var(--gold)}.review{text-align:left;margin-top:24px}.review h3{color:var(--paper);font:700 17px Yu Mincho,serif}.mistake{border:1px solid #69545d;border-left:3px solid var(--red);background:#201a26;border-radius:3px;margin-top:12px;padding:16px}.mistake .tag{color:#f29b8a;font-size:12px}.mistake .expr{color:var(--paper);margin:8px 0;font-size:21px;font-weight:850}.mistake>p{font-size:13px;line-height:1.7}.tip{color:#d9f4de;border-left:3px solid var(--jade);background:#1d342c;margin:12px 0;padding:12px;font-size:13px;line-height:1.7}.result-actions{gap:12px;margin-top:24px;display:flex}.result-actions>button{flex:1}.barrage{border:1px solid var(--red);background:#381b28;height:160px;margin-bottom:16px;position:relative;overflow:hidden}.barrage>strong{z-index:2;font-size:28px;position:absolute;top:40%;left:0;right:0}.flying{color:#ffd0d9;white-space:nowrap;pointer-events:none;animation:linear infinite fly;position:absolute;left:100%}@keyframes fly{to{transform:translate(-1450px)}}.public-footer{color:#bcaeb0;flex-wrap:wrap;justify-content:center;gap:16px;margin:19px 0;font-size:11px;display:flex}.public-footer a{color:#d9c7af}body:not([data-screen=setup]) .public-footer{display:none}dialog{width:min(560px,100% - 32px);max-height:85dvh;color:var(--text);background:#211a28;border:1px solid #aa816c;border-radius:5px;padding:24px;overflow:auto;box-shadow:0 24px 100px #000a}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#090811c9}dialog h2{color:var(--paper);font:700 22px Yu Mincho,serif}dialog p{font-size:14px;line-height:1.7}dialog .skill-row{font-size:12px}@media (width<=680px){main{padding:11px 12px 6px}.app-header{margin-bottom:11px}.app-header h1{letter-spacing:.035em;min-width:0;font-size:13px}.app-header h1:before{margin-right:5px}.header-actions{gap:5px}.header-actions .secondary{padding:8px 9px;font-size:11px}.header-actions #pause,.header-actions #home{white-space:nowrap;width:40px;min-width:40px;padding:7px 0;font-size:0;overflow:hidden}.header-actions #pause:before{content:"Ⅱ";font-size:16px}.header-actions #home:before{content:"⌂";font-size:19px}.screen{padding:15px}.setup-screen{padding:8px}.intro{min-height:272px;padding:16px 15px 108px;display:block}.intro>div:first-of-type{width:100%}.intro-art{object-position:55% center}.intro h2{font-size:clamp(26px,7vw,34px)}.intro p:not(.eyebrow){font-size:11px}.intro .eyebrow{margin-bottom:8px;font-size:10px}.portrait-duel{gap:5px;padding-bottom:15px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.hero-portrait{width:78px;height:88px}.versus-mark{font-size:10px}.demon-portrait{border-width:1px;width:86px;height:86px;box-shadow:0 0 0 4px #e8bd7520,0 0 22px #fa566b55}.demon-portrait figcaption{font-size:8px;bottom:-17px}.intro:after{font-size:9px}.progress-strip{gap:10px 16px;padding:12px 4px 9px;font-size:11px}.setup-grid{grid-template-columns:1fr}.setup-form{padding:18px 5px 15px}.learning-summary{margin:5px 0 14px;padding:15px}.field-row{grid-template-columns:1.2fr 1fr;gap:8px}.field-row label{font-size:11px}.hud{gap:5px;margin-bottom:8px}.hud>div{gap:5px;padding:7px 4px}.hud span{font-size:9px}.hud b{font-size:17px}.quiz-screen{padding:18px 14px}.question{margin:22px 0 25px}.answers{gap:8px}.choice{min-height:63px;padding:10px 12px}.feedback{min-height:53px;margin-top:11px;font-size:12px}.quiz-actions{margin-top:8px}.keyboard-help{display:none}.battle-screen{padding:12px}.bosshud{font-size:12px}.bossbar{height:10px;margin:7px 0 9px}.controls{gap:7px;padding:5px 0 0}.pad{grid-template-rows:repeat(3,38px);grid-template-columns:repeat(3,42px);gap:2px}.acts{gap:6px}.act{min-width:72px;min-height:67px;padding:7px 5px;font-size:13px}.act span{font-size:9px}.message{min-height:27px;padding-top:8px;font-size:11px}.result-actions{flex-direction:column}#exit-trial{margin-top:8px}.battle-ready-screen h2{font-size:23px}}@media (width<=360px){main{padding:8px 8px 4px}.screen{padding:11px}.setup-screen{padding:6px}.app-header{gap:4px;margin-bottom:8px}.app-header h1{letter-spacing:.02em;font-size:11px}.app-header .icon-button{min-width:40px;padding:4px}.header-actions .secondary{padding:6px;font-size:10px}.intro{min-height:250px;padding:13px 12px 96px}.intro h2{font-size:25px}.portrait-duel{gap:3px}.hero-portrait{width:68px;height:75px}.demon-portrait{width:73px;height:73px}.field-row{grid-template-columns:1fr}.battle-screen{padding:9px}.pad{grid-template-rows:repeat(3,36px);grid-template-columns:repeat(3,39px)}.controls{gap:4px}.act{min-width:64px}.progress-strip{gap:8px}}@media (height<=500px) and (width>=600px){body[data-screen=battle] main{max-width:1180px}.battle-screen{padding-right:225px;position:relative}body[data-screen=battle] .hud{grid-template-columns:1fr;width:190px;position:absolute;top:70px;right:26px}body[data-screen=battle] .hud>div{padding:4px}.battle-screen .controls{flex-direction:column;position:absolute;top:150px;right:12px}.battle-screen .message{min-height:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.barrage{display:none}}:root{--ink:#100e18;--night:#171724;--plum:#252436;--line:#786858;--paper:#fff0d4;--paper-deep:#e9d4aa;--text:#fff7e9;--muted:#d4c5b5;--gold:#f5c96e;--red:#f07a68;--jade:#89dfbf;--radius:10px}body{background:radial-gradient(at 50% -10%,#5a2d3d 0,#0000 47%),radial-gradient(at 90% 70%,#28334c 0,#0000 44%),#100e18}main{max-width:1180px;padding:max(18px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left))}button{border-radius:var(--radius)}button:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,canvas:focus-visible{outline-offset:3px;outline:3px solid #fff3ae;box-shadow:0 0 0 6px #201626}.app-header{border-bottom:1px solid #a78a6840;max-width:1080px;padding:3px 0 8px}.app-header h1{font-size:clamp(18px,2.6vw,26px)}.screen{background:linear-gradient(145deg,#272332,#191a28 65%);border-color:#8d755d;border-radius:14px;box-shadow:0 20px 55px #06060d8c,inset 0 1px #fff6d51b}.screen:after{border-radius:10px}.intro{border-color:#d2a56e;border-radius:10px}.intro h2{text-wrap:balance}.progress-strip{border-bottom:0;gap:8px;padding:16px 4px 12px}.progress-strip span{background:#40314291;border:1px solid #ad86645c;border-radius:999px;align-items:center;min-height:34px;padding:5px 12px;display:inline-flex}.progress-strip b{margin-left:4px;font-size:15px}.goal-heading{font-size:13px}.level-meter{border-radius:999px;height:10px}.setup-grid{border-top-color:#b4976857}.setup-form label,.settings-content>label{font-size:13px}select{background:#191a29;border-color:#aa8c71;border-radius:8px;min-height:52px}.weapon-info{border-left-width:4px;font-size:13px}.start-button{min-height:62px;font-size:16px}.learning-summary{border-top-width:3px;border-radius:10px}.settings-panel summary{align-items:center;min-height:44px;font-size:13px;display:flex}.hud{gap:10px;max-width:1080px;margin-bottom:14px}.hud>div{background:linear-gradient(120deg,#383145,#282734);border-color:#988369;border-radius:10px;justify-content:space-between;min-height:60px;padding:10px 18px}.hud>div:first-child{border-left:4px solid #f1887e}.hud>div:nth-child(2){border-left:4px solid #f5c96e}.hud>div:nth-child(3){border-left:4px solid #89dfbf}.hud span{color:#f0ded1;font-size:13px}.hud b{font-variant-numeric:tabular-nums;font-size:25px}.quiz-screen{padding:clamp(24px,4vw,42px)}.question{margin-block:32px;font-size:clamp(42px,8vw,70px)}.choice{border-radius:9px;min-height:82px}.choice:focus-visible{outline-offset:2px;outline:4px solid #fff3ae}.feedback{border-radius:0 8px 8px 0;font-size:14px}.battle-screen{max-width:1080px;padding:22px}.battle-screen:before{border-radius:9px}.bosshud{font-size:16px}.bosshud #bosstitle{overflow-wrap:anywhere}.bossbar{border-radius:999px;height:16px}.arena{max-width:940px;margin-inline:auto}canvas{border-color:#d0ab75;border-radius:8px}.message{text-align:center;min-height:42px;font-size:14px}.controls{justify-content:space-between;gap:24px;max-width:780px;margin:0 auto;padding:8px 4px 4px}.pad{grid-template-rows:repeat(3,50px);grid-template-columns:repeat(3,54px);gap:4px}.pad i{color:#d7bc8d;font-size:20px}.dir{background:linear-gradient(145deg,#51485c,#303243);border-color:#b7a28b;border-radius:10px;min-height:50px;font-size:22px;box-shadow:0 3px #15111f}.dir.active,.dir:active{color:#261b21;background:#f5c96e;box-shadow:inset 0 2px 4px #3d281a70}.acts{align-items:center;gap:14px}.act{border-width:2px;border-radius:16px;min-width:132px;min-height:88px;font-size:20px}.act span{font-size:12px}.act:active,.act.active{filter:brightness(1.25);transform:translateY(2px);box-shadow:inset 0 3px 12px #1e122d78}.dodge[aria-disabled=true]{opacity:.75}.result-actions>button{min-height:54px}dialog{border-radius:14px}@media (width>=901px) and (height>=501px){.battle-screen{grid-template-columns:minmax(0,1fr) 178px;column-gap:20px;display:grid}.battle-screen .bosshud,.battle-screen .bossbar{grid-column:1/-1}.battle-screen .arena{grid-area:3/1;width:100%}.battle-screen .message{grid-area:4/1}.battle-screen .controls{flex-direction:column;grid-area:3/2/span 2;align-self:center;padding:0}.battle-screen .pad{grid-template-rows:repeat(3,48px);grid-template-columns:repeat(3,50px)}.battle-screen .acts{flex-direction:column;width:100%}.battle-screen .act{width:100%;min-height:74px}.battle-screen #exit-trial{grid-column:1/-1}}@media (width<=680px){main{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.app-header h1{font-size:clamp(13px,3.5vw,18px)}.intro{min-height:282px}.intro>.portrait-duel{position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.intro p:not(.eyebrow){font-size:12px}.progress-strip{gap:7px}.progress-strip span{min-height:31px;padding:4px 9px}.hud{gap:6px}.hud>div{flex-direction:column;gap:2px;min-height:53px;padding:7px 8px}.hud span{white-space:nowrap;font-size:11px}.hud b{font-size:20px}.quiz-screen{padding:18px 14px}.question{margin-block:28px}.choice{min-height:70px}.battle-screen{padding:12px}.bosshud{font-size:13px}.bossbar{height:13px}.message{font-size:12px}.controls{gap:10px}.pad{grid-template-rows:repeat(3,48px);grid-template-columns:repeat(3,48px);gap:2px}.dir{min-height:48px}.acts{gap:7px}.act{min-width:72px;min-height:78px;padding:6px;font-size:16px}.act span{font-size:10px}}@media (width<=370px){body:not([data-screen=setup]) .app-header h1 em{display:none}.quiz-screen .question{margin-block:18px;font-size:40px}.quiz-screen .choice{min-height:64px}.hud>div{min-height:48px}.battle-screen .message{min-height:32px;padding-top:5px}.controls{gap:6px;padding-inline:0}.pad{grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px)}.dir{min-height:44px}.acts{gap:4px}.act{min-width:60px;min-height:70px;padding:3px;font-size:15px}.act span{font-size:9px}}@media (height<=500px) and (width>=600px){body[data-screen=battle] .hud{top:70px;right:22px}.battle-screen{padding-right:225px}.battle-screen .controls{top:150px;right:12px}.pad{grid-template-rows:repeat(3,46px);grid-template-columns:repeat(3,46px)}.act{min-width:90px;min-height:62px}}
