@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600;700;800;900&family=Outfit:wght@500;600;700;800;900&display=swap');
:root{--bg:#f7f5ec;--ink:#214c45;--muted:#809387;--line:#e0e5d9;--green:#215e51;--yellow:#e7edb7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Outfit,'Noto Sans JP',sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #d8b75b;outline-offset:3px}.app{max-width:1560px;margin:auto}header{height:98px;display:flex;justify-content:space-between;align-items:center;padding:0 38px;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;border:0;background:none;color:var(--ink);font-size:42px;font-weight:900}.logo>span{color:#c5a15a;font-size:23px;margin:-20px 16px 0 -7px}.logo div{font-size:21px;text-align:left;letter-spacing:1px}.logo small{display:block;font-size:9px;letter-spacing:3px;margin-top:3px}.header-right{display:flex;gap:30px;align-items:center}.season{font-size:10px;color:#8fa08a;letter-spacing:1px}.season b{display:inline-block;padding:6px 10px;margin-left:10px;background:#e8eddb;color:#637c59;border-radius:4px;font-size:9px}.icon{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #cfdacc;border-radius:10px;background:#fffdf5;color:var(--ink);font-size:22px}.shell{display:grid;grid-template-columns:190px minmax(0,1fr) 258px}.sidebar{padding:35px 17px 25px;border-right:1px solid var(--line)}.sidebar>small{font-size:8px;letter-spacing:1.5px;color:#8f9c8b;padding-left:15px;display:block;margin-bottom:18px}.sidebar>button{display:flex;width:100%;align-items:center;gap:13px;padding:14px 12px;border:0;background:transparent;border-radius:8px;text-align:left;font-size:12px;font-weight:700;color:#6c8474;margin-bottom:5px}.sidebar>button>span{font-size:20px;width:22px;text-align:center}.sidebar>button:hover{background:#edf0e2}.sidebar>button.active{color:#285946;background:#e6edcf}.sidebar-bottom{margin:90px 12px 0;font-size:8px;letter-spacing:1px;color:#698269}.sidebar-bottom i{display:inline-block;background:#8cab65;width:5px;height:5px;border-radius:50%;margin-right:7px}.sidebar-bottom small{display:block;font-size:9px;letter-spacing:0;margin-top:10px;color:#9aa494}main{min-width:0;padding:32px 30px 40px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:1.8px;color:#82967d;margin:0 0 15px}h1{font-size:36px;line-height:1.5;letter-spacing:-1px;margin:0 0 15px;font-weight:900}h1 em{font-style:normal;color:#4b8d72}.welcome{display:grid;grid-template-columns:1.05fr 1fr;min-height:365px;align-items:center}.welcome p:not(.eyebrow){font-size:11px;line-height:2.1;color:#82917d}.primary{border:0;background:var(--green);color:#fff9df;border-radius:9px;padding:15px 22px;font-size:12px;font-weight:800;box-shadow:0 4px 0 #123d34;display:inline-flex;align-items:center;justify-content:center;gap:20px}.primary:hover{background:#2e7460}.primary:disabled{opacity:.5}.primary span{font-size:8px;color:#b4ceaf;letter-spacing:1px}.welcome .primary{margin:12px 0 16px}.welcome-note{font-size:8px;color:#9aa38e}.hero-character{height:350px;position:relative;display:grid;place-items:center}.halo{position:absolute;width:260px;height:260px;border-radius:50%;background:#e6ebd0;border:18px solid #eef0de;box-shadow:0 0 0 1px #dde5cb}.hero-character canvas{width:100%;max-width:310px;position:relative;z-index:1}.nameplate{position:absolute;bottom:6px;font-size:11px;font-weight:800;letter-spacing:3px;text-align:center;z-index:2}.nameplate small{display:block;font-size:9px;letter-spacing:0;margin-top:5px;color:#8a9b80}.spark{position:absolute;color:#c9aa5b;font-size:35px;z-index:2}.one{top:20px;right:5px}.two{left:10px;bottom:60px}.home-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}.mode-card{text-align:left;padding:23px;border-radius:12px;border:1px solid #d8dfca;color:var(--ink);background:#edf0dc;position:relative}.mode-card.story{background:#ede6d7;border-color:#e1d8c6}.mode-card small{font-size:8px;letter-spacing:1.6px;color:#7d9574}.mode-card>span{position:absolute;right:22px;top:20px;font-size:31px;color:#91a277}.mode-card h2{font-size:18px;margin:24px 0 8px}.mode-card p{font-size:9px;color:#87927c}.mode-card b{display:block;border-top:1px solid #d5ddc8;padding-top:15px;margin-top:20px;font-size:10px}.roster-preview{margin-top:25px;display:flex;align-items:center;flex-wrap:wrap;gap:15px;border-top:1px solid var(--line);padding-top:23px}.roster-preview .eyebrow{font-size:8px;margin-bottom:8px}.roster-preview h3{font-size:12px;margin:0}.roster-mini{display:flex;align-items:center;gap:5px;margin-left:auto}.roster-mini img,.roster-mini>span{height:46px;width:38px;object-fit:contain}.roster-mini>span{display:grid;place-items:center;border:1px dashed #cbd4bf;border-radius:7px;background:#eef1e6;font-size:20px;color:#b2bda6}.text-button{color:#77936d;font-size:10px;border:0;background:none;padding:8px 0;font-weight:700}.right-panel{border-left:1px solid var(--line);padding:34px 22px}.rank-heading h2{font-size:15px;margin:8px 0}.rank-heading h2 span{float:right;color:#b7a05e}.rank-heading small{font-size:7px;letter-spacing:1px;color:#a0aa94}.rank-heading .eyebrow{font-size:9px}.ranking-list{margin-top:20px}.rank-row{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0;font-size:11px}.rank-row>span{color:#a9b399;font-size:12px}.rank-row:first-child>span{color:#bb9a40}.rank-row b{font-size:11px;font-weight:600;word-break:break-all}.rank-row strong{font-size:12px}.empty{font-size:11px;line-height:1.9;color:#96a28b;padding:20px 0}.personal{border-block:1px solid var(--line);margin:26px 0 20px;padding:20px 0}.personal small{font-size:8px;letter-spacing:1px;color:#8b9c82}.personal strong{display:block;font-size:33px;margin:7px 0;color:#355f4a}.personal span{font-size:9px;color:#9ca58e}.tip{background:#eaf0dc;padding:17px;border-radius:9px}.tip small{font-size:8px;letter-spacing:1.5px;color:#87a072}.tip p{font-size:10px;line-height:2;color:#889e77}.tip b{font-size:14px;color:#688956}.sub{font-size:12px;color:#84967f;line-height:1.9}.character-detail{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;background:#eaf0dc;border:1px solid #d9e2c8;border-radius:14px;padding:25px;margin:25px 0;gap:24px}.character-detail>img{width:100%;max-height:290px;object-fit:contain}.character-detail small{font-size:8px;color:#8ba17b;letter-spacing:1px}.character-detail h2{font-size:32px;margin:10px 0}.character-detail h3{font-size:13px;margin-top:22px}.character-detail p{font-size:10px;color:#819777;line-height:2}.badge{font-size:9px;background:#d9e9bd;color:#5a7a47;border-radius:15px;padding:5px 12px}.stats{display:flex;gap:25px;margin:22px 0}.stats span{font-size:9px;color:#859978}.stats b{display:block;font-size:13px;margin-top:6px;color:#456638}.character-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.slot{border:1px dashed #cbd8bd;background:#edf0e3;border-radius:10px;color:#a0af91;min-height:145px;padding:10px}.slot.selected{border:2px solid #729365;background:#f5f8eb;color:#45663b}.slot img{height:80px;width:100%;object-fit:contain}.slot>span{display:block;font-size:42px;height:80px;padding-top:10px;color:#bdc7ae}.slot b{display:block;font-size:10px}.slot small{display:block;font-size:7px;margin-top:6px;letter-spacing:.8px}.challenge{background:linear-gradient(120deg,#e5edcf,#f2efdb);border-radius:14px;text-align:center;padding:35px 20px;margin-top:30px}.challenge-icon{font-size:65px;color:#a4b36d}.challenge h2{font-size:22px}.challenge-stats{display:flex;justify-content:center;gap:30px;margin:28px 0}.challenge-stats span{font-size:9px;color:#8b9b78}.challenge-stats b{display:block;font-size:32px;color:#65815b;margin-bottom:8px}.challenge p{font-size:11px;line-height:2;color:#859776}.chapters{display:grid;gap:18px;margin-top:30px}.chapters button{position:relative;text-align:left;padding:25px 30px;border:1px solid #d8e2cb;border-radius:12px;background:#e9efdc;color:#395f41}.chapters button:nth-child(2){background:#f1e6d7}.chapters button:nth-child(3){background:#e1e6ee}.chapters button>span{float:right;font-size:70px;color:#8ca884}.chapters small{font-size:9px;letter-spacing:2px}.chapters h2{font-size:22px;margin:15px 0}.chapters p{font-size:11px;line-height:1.9;color:#839179}.chapters b{font-size:10px}.chapters button:disabled{opacity:.55}.play-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:11px}.play-title>div{display:flex;gap:8px}.game-wrap{position:relative;border-radius:12px;overflow:hidden;border:5px solid #285f50;background:#173e35}#game{width:100%;display:block;touch-action:none;outline:none}.hud{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;gap:10px;padding:15px 20px;color:#fff9e1;text-shadow:0 2px 3px #254e4699;pointer-events:none}.hud>div{display:flex;flex-direction:column;gap:5px}.hud small{font-size:9px}.hud b{font-size:23px}.hud-middle{text-align:center}.hud-middle b{font-size:14px}.hud>div:last-child{text-align:right}.hud #gameLives{color:#ffe693;font-size:18px}.fever-track{position:absolute;bottom:0;width:100%;height:6px;background:#234c3e44}#feverFill{height:100%;background:#ffe294;width:0;transition:width .1s}#toast{position:absolute;top:25%;width:100%;text-align:center;font-size:17px;font-weight:900;color:#fff5b4;text-shadow:0 2px #395c48;pointer-events:none}.play-controls{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:15px}.play-controls span{font-size:9px;color:#83947c}.play-controls kbd{background:#e4ead8;padding:4px 6px;border-radius:3px}#jump{min-width:130px;touch-action:none}.run-help{font-size:10px;color:#98a48a;margin-top:22px;text-align:center}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f1f4e5f0;padding:18px;text-align:center}.game-overlay h2{font-size:30px;margin:0 0 10px}.game-overlay p{font-size:11px;line-height:1.8;white-space:pre-line}.game-overlay .eyebrow{font-size:8px;margin-bottom:10px}.result-actions{display:flex;gap:12px;margin-top:15px}.secondary{border:1px solid #b8c9aa;background:#f8faef;color:#6d8960;padding:12px 18px;border-radius:8px;font-size:11px;font-weight:700}#registration{width:100%;max-width:400px}#registration label{font-size:10px;display:block;margin-bottom:7px}#playerName{padding:9px 12px;border:1px solid #b9c9ae;border-radius:7px;width:220px;max-width:100%;background:#fffdf5;color:#345a3d;font-size:12px}#registration>div{display:flex;justify-content:center;gap:10px;margin:12px 0}#registration button{font-size:10px;padding:12px 15px}#submitMessage{display:block;font-size:9px;color:#859b79;line-height:1.5}footer{border-top:1px solid var(--line);padding:20px 38px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#a2ad97}dialog{padding:25px;border:1px solid #c9d6bd;border-radius:15px;background:#f7f8ed;color:var(--ink);width:min(430px,92vw)}dialog::backdrop{background:#193b32aa;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h2{font-size:22px;margin:0}.setting{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px}.setting input{width:20px;height:20px;accent-color:#35765d}dialog>p,.instructions p{font-size:11px;color:#8b9b7d;line-height:2}.instructions{margin-top:25px}.instructions>b{font-size:13px}[hidden]{display:none!important}.playing .right-panel{display:none}.playing .shell{grid-template-columns:170px minmax(0,1fr)}.playing main{padding:22px}.playing .game-wrap{max-width:1100px;margin:auto}.playing .play-controls{max-width:1100px;margin:15px auto}.view{animation:appear .25s ease}@keyframes appear{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}@media(min-width:1500px){h1{font-size:43px}.welcome{min-height:400px}}@media(max-width:1100px){.shell{grid-template-columns:160px minmax(0,1fr)}.right-panel{display:none}.sidebar{padding-inline:10px}main{padding:25px}.playing .shell{grid-template-columns:150px minmax(0,1fr)}}@media(max-width:720px){header{height:76px;padding:0 18px}.logo{font-size:32px}.logo div{font-size:16px}.logo small{font-size:8px}.header-right{gap:10px}.season{display:none}.shell,.playing .shell{display:flex;flex-direction:column}.sidebar{order:2;display:flex;position:sticky;bottom:0;z-index:10;padding:6px;background:#f8f8eef5;border-right:0;border-top:1px solid #d9e1cd;overflow:auto;justify-content:space-around}.sidebar>small,.sidebar-bottom{display:none}.sidebar>button{flex-direction:column;gap:3px;padding:7px 8px;min-width:58px;width:auto;font-size:8px;margin:0;white-space:nowrap}.sidebar>button>span{font-size:17px}.sidebar>button[data-start]{display:none}main,.playing main{padding:23px 17px;order:1;min-height:70vh}.welcome{grid-template-columns:1fr;min-height:0;text-align:center}.welcome h1{font-size:35px}.welcome .eyebrow{font-size:8px}.hero-character{height:290px;margin-top:10px}.hero-character canvas{width:270px}.halo{width:235px;height:235px}.one{right:40px}.two{left:35px}.nameplate{bottom:0}.home-cards{gap:10px;margin-top:20px}.mode-card{padding:17px 13px}.mode-card h2{font-size:15px}.mode-card p{font-size:8px;line-height:1.7}.mode-card>span{font-size:23px;right:15px}.mode-card small{font-size:7px}.roster-preview{gap:15px}.roster-preview h3{font-size:11px}.roster-mini{margin-left:0}.roster-mini img,.roster-mini>span{width:33px;height:40px}.roster-preview .text-button{margin-left:auto}.character-detail{grid-template-columns:1fr;text-align:center;gap:10px;padding:20px}.character-detail>img{height:230px}.stats{justify-content:center}.character-slots{gap:5px}.slot{padding:6px;min-height:120px}.slot img,.slot>span{height:65px}.slot b{font-size:8px}.slot small{font-size:5px;letter-spacing:0}.challenge h2{font-size:18px}.challenge-stats{gap:20px}.challenge p{font-size:10px}h1{font-size:29px}.sub{font-size:11px}.chapters button{padding:22px}.hud{padding:10px}.hud b{font-size:18px}.hud small{font-size:7px}.hud-middle b{font-size:10px}.hud #gameLives{font-size:14px}.game-wrap{border-width:3px;overflow:visible}#game{border-radius:9px}.game-overlay{min-height:340px;z-index:4;border:1px solid #bdcfb4;border-radius:10px;inset:-15px 0 auto;padding:18px 10px}.game-overlay h2{font-size:23px}.game-overlay p{font-size:10px;margin:8px 0}.result-actions{gap:8px}#toast{font-size:10px}.play-controls{margin-top:18px}.play-controls>span{display:none}#jump{width:100%;padding:18px}.run-help{font-size:9px;line-height:1.7}.play-title{font-size:10px}.play-title .icon{width:32px;height:32px}.playing main{padding:17px 10px}footer{padding:20px;letter-spacing:0}footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.gimmick-guide{margin-top:26px;padding-top:25px;border-top:1px solid var(--line)}.gimmick-guide h2{font-size:19px;margin:0 0 20px}.gimmick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gimmick-grid article{background:#edf0e2;border:1px solid #dce4cf;border-radius:10px;padding:15px 8px;text-align:center}.gimmick-grid article:nth-child(3n+1){background:#f1e8d7}.gimmick-grid article:nth-child(3n+2){background:#e2eee5}.gimmick-grid span{font-size:30px;display:block;color:#869967;margin-bottom:7px}.gimmick-grid b{display:block;font-size:10px}.gimmick-grid small{display:block;font-size:8px;color:#899c7d;margin-top:6px}#guestNotice p{font-size:10px}#guestNotice a{display:inline-block;padding:10px}.game-overlay:has(#guestNotice:not([hidden])){min-height:340px}@media(max-width:720px){.gimmick-grid{grid-template-columns:repeat(2,1fr)}.gimmick-guide h2{font-size:18px}}
.character-detail>canvas{width:100%;max-height:300px;object-fit:contain}.slot canvas{width:100%;height:90px;object-fit:contain}.roster-mini button{border:1px solid #c4d3ba;background:#edf2e2;border-radius:8px;padding:0;width:42px;height:50px}.roster-mini canvas{width:100%;height:100%;object-fit:contain}.playing .play-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.play-controls .primary,#jump{width:100%;min-width:0;padding:13px 8px;min-height:57px;font-size:12px;white-space:pre-line}.play-controls small{font-size:8px}.play-controls #duck{background:#5b688c}.play-controls #skill{background:#916e38}.control-status{text-align:center;font-size:11px;color:#69836c;margin:13px 0}.run-help{margin-top:10px}#heroName{font-size:14px}.slot{min-width:0}#characterSlots .slot b{overflow-wrap:anywhere}@media(max-width:720px){.character-detail>canvas{height:230px}.slot canvas{height:65px}.play-controls .primary,#jump{font-size:10px;padding:12px 3px;min-height:57px}.control-status{font-size:9px}.playing .play-controls{gap:7px}}
.play-controls #duck{flex-direction:column;gap:4px}.play-controls #duck small{white-space:nowrap;letter-spacing:0}
.gimmick-guide{margin-top:45px}.gimmick-guide summary{cursor:pointer;font-weight:800;padding:18px;background:#e7ecda;border-radius:10px;margin-bottom:15px}.novel-scene{height:310px;position:relative;background:linear-gradient(150deg,#badbd2,#e4e8ba);border-radius:16px 16px 0 0;overflow:hidden}.novel-scene canvas{height:100%;position:relative;z-index:1}.novel-decor{position:absolute;right:25px;top:45%;color:#5e9386;font-weight:900;letter-spacing:4px}.novel-box{border:3px solid #325c53;border-radius:0 0 16px 16px;background:#fffdf2;padding:25px;min-height:190px;box-shadow:0 6px 0 #ced9c7}.novel-box>b{background:#2d6557;color:#fff;padding:8px 20px;border-radius:6px}.novel-box p{font-size:19px;line-height:1.9;min-height:64px}.novel-box button{margin-right:12px}.chapters{display:grid;grid-template-columns:1fr 1fr;gap:15px}#accountDialog{max-width:480px}#accountForm{display:grid;gap:14px;margin:22px 0}#accountName{width:100%;padding:14px;border:1px solid #b8c9b2;border-radius:8px;background:#fff}#accountDialog small{display:block;line-height:1.8;color:#6e8073}#accountOpen{max-width:150px;overflow-wrap:anywhere}.slot small{letter-spacing:0}.game-overlay #resultText{white-space:pre-line}@media(max-width:720px){.chapters{grid-template-columns:1fr}.novel-scene{height:240px}.novel-decor{font-size:9px;right:10px;letter-spacing:1px}.novel-box{padding:20px 16px}.novel-box p{font-size:16px}.header-right{gap:4px}#accountOpen{font-size:10px;max-width:100px}.gimmick-guide{margin-bottom:25px}}
/* Prevent browser gestures from stealing game controls, while leaving menus scrollable. */
#playView,#playView button,#game{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#playView button{-webkit-tap-highlight-color:transparent}#playView .game-overlay{touch-action:pan-y;overscroll-behavior:contain}#playView .game-overlay button{touch-action:manipulation}.mobile-play{overflow:hidden!important;overscroll-behavior:none;position:fixed;inset:0;width:100%;height:var(--play-height,100dvh)}
.mobile-play .app{max-width:none}.mobile-play .app>header,.mobile-play .sidebar,.mobile-play .right-panel,.mobile-play footer,.mobile-play .gimmick-guide{display:none!important}.mobile-play .shell{display:block}.mobile-play main{padding:0!important;min-height:0}.mobile-play #playView{position:fixed;inset:0;height:var(--play-height,100dvh);width:100%;overflow:hidden;background:#204654;animation:none}.mobile-play .game-wrap{position:absolute;inset:0;max-width:none;border:0;border-radius:0;overflow:hidden;margin:0}.mobile-play #game{width:100%;height:100%;border-radius:0}.mobile-play .play-title{position:absolute;z-index:5;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));margin:0;color:#fff;font-size:10px;pointer-events:none}.mobile-play .play-title button{pointer-events:auto;min-height:42px;min-width:42px;background:#153e48dc;border:1px solid #aad4c470;color:#fff;padding:7px 12px;border-radius:10px}.mobile-play .play-title>div{gap:6px}.mobile-play .hud{top:calc(60px + env(safe-area-inset-top));padding:8px 16px}.mobile-play .hud b{font-size:22px}.mobile-play .hud small{font-size:10px}.mobile-play .hud-middle b{font-size:13px}.mobile-play .hud #gameLives{font-size:17px}.mobile-play #toast{top:21%;padding:0 16px;font-size:14px;line-height:1.6}.mobile-play .play-controls{position:absolute;z-index:5;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));margin:0;gap:10px;pointer-events:none}.mobile-play .play-controls button{pointer-events:auto;min-height:66px;font-size:13px;box-shadow:0 4px 0 #092934aa;border:1px solid #e5f6da55}.mobile-play .play-controls small{font-size:10px}.mobile-play .control-status{position:absolute;bottom:calc(87px + env(safe-area-inset-bottom));left:0;right:0;font-size:11px;color:#e0fff3;margin:0;text-shadow:0 1px 3px #132d39;pointer-events:none}.mobile-play .run-help{display:none}.mobile-play .fever-track{bottom:0}.mobile-play .game-overlay{position:absolute;inset:0;z-index:7;min-height:0;border:0;border-radius:0;padding:calc(68px + env(safe-area-inset-top)) 18px calc(26px + env(safe-area-inset-bottom));overflow-y:auto;justify-content:safe center}.mobile-play .game-overlay p{font-size:13px}.mobile-play .result-actions{flex-wrap:wrap;justify-content:center}.mobile-play .game-overlay button{min-height:44px}.mobile-play #registration label,.mobile-play #submitMessage{font-size:12px}@media(max-height:500px){.mobile-play .hud{top:50px;padding:0 16px}.mobile-play .hud b{font-size:16px}.mobile-play .hud small{font-size:8px}.mobile-play #toast{top:30%;font-size:11px}.mobile-play .play-controls{left:35%;bottom:10px}.mobile-play .play-controls button{min-height:48px;font-size:11px}.mobile-play .control-status{left:10px;right:auto;bottom:18px;width:30%;font-size:10px}.mobile-play .game-overlay{justify-content:flex-start;padding-top:60px}.mobile-play .game-overlay h2{font-size:23px}}

.landscape-start{display:flex;flex-direction:column;gap:4px;margin:0 0 16px;min-height:54px;border:2px solid #a5bd93;background:#e7efda;color:#2b654e}.landscape-start small{font-size:9px;font-weight:500}.mobile-play.landscape-rotated{height:100dvh}.landscape-rotated #playView{inset:auto!important;left:50%!important;top:50%!important;width:var(--play-width)!important;height:var(--play-height)!important;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center}.compact-play .hud{top:50px;padding:0 16px}.compact-play .hud b{font-size:16px}.compact-play .hud small{font-size:8px}.compact-play #toast{top:30%;font-size:11px}.compact-play .play-controls{left:35%;bottom:10px}.compact-play .play-controls button{min-height:48px;font-size:11px}.compact-play .control-status{left:10px;right:auto;bottom:18px;width:30%;font-size:10px}.compact-play .game-overlay{justify-content:flex-start;padding-top:60px}.compact-play .game-overlay h2{font-size:23px}@media(max-width:720px){.landscape-start{margin-inline:auto}} 
