@import url('https://fonts.googleapis.com/css2?family=Black+Han+Sans&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{color-scheme:dark;--bg:#101117;--panel:#1b1c23;--line:#34343f;--muted:#a5a6b5;--lime:#ceff5e;--pink:#ff79ba;--blue:#9ea9ff;--ink:#101117;font-family:'Noto Sans KR',sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f7f7fa}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:5px}button{color:inherit}a{color:inherit;text-decoration:none}.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.2%}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:900;letter-spacing:1px}.brand-mark{display:grid;place-items:center;width:33px;height:37px;border-radius:7px;background:var(--lime);color:var(--ink);font-size:37px;line-height:1}.brand-star{font-size:25px;color:var(--lime);margin-left:3px}.top-actions{display:flex;align-items:center;gap:23px}.icon-button{border:1px solid var(--line);background:transparent;border-radius:50%;width:42px;height:42px;font-size:21px}.text-button{border:0;background:none;font-size:14px;font-weight:700;padding:10px 0}.text-button span{margin-left:12px}.screen{max-width:1320px;margin:auto;padding:35px 32px}.hidden{display:none!important}.home-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:800}.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:100%;margin-right:8px}.edition{font-size:12px;color:var(--muted);letter-spacing:1.3px}.lobby-grid{display:grid;grid-template-columns:1.48fr 1fr;gap:22px}.hero-panel{background:var(--lime);color:var(--ink);border-radius:24px;min-height:514px;position:relative;overflow:hidden;padding:34px 35px 0;display:flex;flex-direction:column;isolation:isolate}.hero-copy{position:relative;z-index:2;pointer-events:none}.label-pill{border:1px solid #10111760;border-radius:25px;display:inline-block;padding:6px 13px;font-size:12px;font-weight:800}h1{font-family:'Black Han Sans','Noto Sans KR',sans-serif;font-weight:900;font-size:clamp(60px,6.6vw,92px);line-height:1.14;letter-spacing:-4px;margin:28px 0 17px}.title-star{display:inline-block;font-family:Arial;font-size:73px;vertical-align:10px;margin-left:18px;line-height:.6}.outlined{-webkit-text-stroke:2px var(--ink);color:var(--lime)}.title-dot{color:var(--ink)}.hero-copy p{font-size:14px;font-weight:600;line-height:1.9;margin:0 0 29px}.hero-footer{margin-top:auto;padding:21px 0;border-top:1px solid #10111740;display:flex;gap:25px;font-size:10px;letter-spacing:.6px;position:relative;z-index:2}.hero-footer b{font-size:22px;letter-spacing:-1px;margin-right:6px}.hero-orbit{position:absolute;right:22px;top:50px;width:215px;height:285px;transform:rotate(12deg);z-index:1}.orbit{position:absolute;display:grid;place-items:center;width:84px;height:84px;border:2px solid var(--ink);border-radius:20px;font-family:Arial;font-weight:900;font-size:52px;box-shadow:0 7px 0 var(--ink)}.orbit-a{top:0;right:22px;background:#f4f0e7;transform:rotate(10deg)}.orbit-b{top:101px;left:0;background:var(--pink);transform:rotate(-17deg)}.orbit-c{top:167px;right:16px;background:var(--blue);transform:rotate(7deg)}.orbit-d{top:79px;right:-43px;background:var(--ink);color:var(--lime);transform:rotate(16deg)}.orbit-label{position:absolute;top:259px;left:29px;font-size:12px;letter-spacing:2px;transform:rotate(-12deg)}.orbit-label b{font-size:31px;font-style:italic;letter-spacing:-1px}.spark{position:absolute}.spark-one{font-size:40px;top:-35px;left:55px}.spark-two{font-size:36px;bottom:-2px;right:-19px}.setup-panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:27px 29px;display:flex;flex-direction:column}.section-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.small-star{color:var(--lime);font-size:24px}.setup-panel h2{font-size:25px;letter-spacing:-1px;margin:4px 0 20px}.mode-picker{display:flex;gap:10px;margin-bottom:21px}.mode-card{position:relative;flex:1;text-align:left;background:#23242d;border:1px solid #40404e;border-radius:13px;padding:16px 12px;min-width:0;display:flex;flex-direction:column;gap:12px}.mode-card.selected{border-color:var(--lime);background:#ceff5e0a}.mode-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:var(--lime);color:var(--ink);font-weight:900;font-size:23px}.duo-icon{background:var(--pink)}.mode-card b{font-size:16px;display:block}.mode-card small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.radio-dot{position:absolute;width:15px;height:15px;border:1px solid #656574;border-radius:100%;right:13px;top:16px}.selected .radio-dot{background:var(--lime);border:4px solid var(--panel);outline:1px solid var(--lime)}.setting-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:15px;gap:12px}.setting-row label{color:var(--muted)}select{background:transparent;border:0;color:#f7f7fa;max-width:75%;font-size:13px;text-align:right;padding:4px}option{background:var(--panel)}.start-button{background:var(--lime);color:var(--ink);border:0;border-radius:12px;padding:17px 22px;font-size:19px;font-weight:900;display:flex;justify-content:space-between;align-items:center;width:100%;transition:transform .15s,box-shadow .15s}.start-button:hover{transform:translateY(-2px);box-shadow:0 5px 25px #ceff5e20}.start-button span{font-size:26px;line-height:1}.control-hint{text-align:center;color:var(--muted);font-size:12px;margin:13px 0 19px}.best-row{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);padding-top:17px;margin-top:auto}.best-row span:first-child{color:var(--lime);font-size:11px;font-weight:800;letter-spacing:1px}.best-row strong{font-size:17px}.best-row span:last-child{font-size:11px;margin-left:auto;color:var(--muted)}.lineup{margin-top:33px}.lineup-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.lineup h2{font-size:18px;letter-spacing:-.5px;margin:0}.lineup h2 span{font-size:10px;color:var(--muted);margin-left:18px;letter-spacing:1.2px;font-weight:500}.game-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.game-card{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:18px;transition:transform .15s,border-color .15s;min-width:0}.game-card:hover{transform:translateY(-4px);border-color:var(--accent)}.card-head{display:flex;align-items:center;justify-content:space-between}.card-art{height:62px;color:var(--accent);font-size:37px;font-weight:900;letter-spacing:2px;display:flex;align-items:center}.game-index{font-size:11px;color:var(--muted);font-family:monospace}.game-card h3{font-size:16px;margin:12px 0 6px}.game-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.card-category{font-size:10px;padding:4px 7px;border:1px solid var(--line);border-radius:5px;color:var(--muted);margin-top:16px;display:inline-block}.footer{display:flex;justify-content:space-between;font-size:11px;color:#828391;padding:27px 0 10px}.footer b{font-weight:500;letter-spacing:1px;margin-left:15px}.play-top{display:flex;gap:20px;align-items:center;margin:0 0 22px}.play-top h2{margin:5px 0 0;font-size:25px}.round-dots{display:flex;gap:7px;margin-left:auto}.round-dots i{width:9px;height:9px;border-radius:50%;background:var(--line)}.round-dots i.done{background:var(--lime)}.round-dots i.now{background:var(--pink);box-shadow:0 0 13px #ff79ba50}.time-track{height:7px;border-radius:9px;background:var(--line);overflow:hidden}.time-track>div{height:100%;background:var(--lime);width:100%;transition:background .2s}.instruction{text-align:center;color:#d1d1da;font-size:16px;margin:23px 0}.arenas{display:flex;gap:20px}.arena{flex:1;min-width:0;border:1px solid var(--line);border-radius:22px;background:var(--panel);overflow:hidden;position:relative}.arena-top{padding:18px 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.player-label{color:var(--accent);font-size:13px;font-weight:900;letter-spacing:1px}.arena-score{margin-left:auto;font-size:29px;font-weight:900;font-variant-numeric:tabular-nums}.combo{font-size:12px;color:var(--muted)}.game-surface{position:relative;height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;overflow:hidden}.stimulus{font-family:Arial,sans-serif;font-weight:900;font-size:95px;line-height:1.2;display:flex;align-items:center;justify-content:center;gap:12px;max-width:100%}.stimulus span{display:inline-grid;place-items:center}.stimulus.sequence{font-size:37px;gap:9px}.stimulus.sequence .consumed{color:var(--lime);opacity:.3}.stimulus.sequence .current{background:var(--lime);color:var(--ink);border-radius:9px;padding:4px}.game-sub{font-size:15px;color:var(--muted);text-align:center;min-height:23px}.prompt-tag{font-size:13px;font-weight:800;letter-spacing:1px;padding:7px 14px;border-radius:30px;background:#ffffff09;border:1px solid var(--line)}.feedback{position:absolute;bottom:18px;font-size:16px;font-weight:900;letter-spacing:1px;color:var(--lime);transition:opacity .1s}.feedback.bad{color:var(--pink)}.touch-controls{display:flex;gap:20px;margin-top:20px}.pad{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pad button{height:69px;background:#25262f;border:1px solid #444450;border-bottom:5px solid #3c3d49;border-radius:12px;font-size:30px;position:relative;touch-action:none;user-select:none;-webkit-user-select:none}.pad button small{font-size:10px;position:absolute;right:9px;top:7px;color:var(--muted)}.pad button:active,.pad button.pressed{background:var(--accent);color:var(--ink);border-bottom-color:var(--accent);transform:translateY(3px)}.play-footnote{text-align:center;color:var(--muted);font-size:12px;line-height:1.9}.play-footnote span{margin-left:25px}.target-grid{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,56px);gap:7px}.target-grid span{border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;font-size:28px;font-weight:900}.target-grid .lit{background:var(--lime);color:var(--ink);border-color:var(--lime)}.target-grid .danger{background:var(--pink);color:var(--ink);border-color:var(--pink)}.timing-track{height:37px;width:90%;max-width:450px;border-radius:8px;background:#33343e;position:relative;margin:27px 0}.timing-zone{position:absolute;height:100%;background:var(--lime);opacity:.85;left:39%;width:22%;border-radius:4px}.timing-marker{position:absolute;top:-9px;height:55px;width:5px;background:#fff;border-radius:5px;box-shadow:0 0 12px #fff8}.count-dots{display:flex;flex-wrap:wrap;justify-content:center;max-width:280px;gap:10px}.count-dots i{width:26px;height:26px;border-radius:50%;background:var(--lime)}.answers{display:flex;gap:18px;font-size:18px;font-weight:800}.answers span{background:#ffffff08;padding:9px 11px;border-radius:8px}.energy{width:85%;height:20px;background:#34343f;border-radius:30px;overflow:hidden}.energy>div{height:100%;background:var(--lime);border-radius:30px;transition:width .1s}.rhythm{width:90%;height:70px;position:relative;background:#ffffff05;border-radius:12px;overflow:hidden}.rhythm-target{position:absolute;left:45%;width:10%;height:100%;background:#ceff5e22;border-left:2px solid var(--lime);border-right:2px solid var(--lime)}.rhythm-note{position:absolute;font-size:35px;top:12px;transform:translateX(-50%);color:var(--lime)}dialog{border:1px solid #555563;background:#1b1c23;color:white;border-radius:24px;max-width:min(92vw,540px);width:540px;padding:32px;box-shadow:0 30px 160px #0008}dialog::backdrop{background:#090a10b8;backdrop-filter:blur(9px)}dialog h2{font-size:28px;letter-spacing:-1px;margin:12px 0}dialog p{color:#bbbbc8;line-height:1.9;font-size:15px}.dialog-actions{display:flex;gap:12px;margin-top:25px}.secondary-button{border:1px solid #525260;background:transparent;padding:15px 20px;border-radius:12px;font-weight:700;flex:1}.dialog-actions .start-button{flex:1;justify-content:center;font-size:16px}.big-count{font-size:110px;color:var(--lime);font-weight:900;text-align:center;line-height:1.2}.round-summary{display:flex;gap:15px;margin:22px 0}.summary-player{flex:1;background:#ffffff05;border:1px solid var(--line);border-radius:15px;padding:18px;text-align:center}.summary-player strong{display:block;font-size:35px;color:var(--accent)}.summary-player small{color:var(--muted);font-size:12px}.result-head{text-align:center;padding:20px 0}.result-head .result-star{font-size:64px;color:var(--lime)}.result-head h1{font-family:'Noto Sans KR',sans-serif;font-size:45px;letter-spacing:-2px;margin:12px 0}.result-head p{color:var(--muted)}.result-sheet{max-width:700px;margin:auto}.result-table{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0}.result-table th,.result-table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:right}.result-table th:first-child,.result-table td:first-child{text-align:left}.result-table th{color:var(--muted);font-weight:500}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);padding:13px 22px;background:#eee;color:var(--ink);border-radius:10px;font-size:14px;z-index:9;transition:transform .2s;max-width:90vw}.toast.show{transform:translateX(-50%) translateY(0)}.flash-good{animation:good .22s}.flash-bad{animation:bad .25s}@keyframes good{50%{box-shadow:inset 0 0 45px #ceff5e30}}@keyframes bad{30%{transform:translateX(-3px);box-shadow:inset 0 0 40px #ff79ba30}70%{transform:translateX(3px)}}@media(min-width:1400px){.hero-orbit{right:43px}}@media(max-width:1050px){.hero-orbit{opacity:.85;transform:rotate(12deg) scale(.8);right:-10px;top:90px}.hero-copy h1{font-size:70px}.hero-copy p{position:relative}.hero-footer{gap:13px}.hero-footer b{font-size:18px}.hero-footer span{font-size:9px}.setup-panel{padding:24px 20px}.screen{padding:28px 24px}.hero-panel{padding:30px 25px 0}.mode-card{padding:13px 10px}.mode-card small{font-size:11px}}
@media(max-width:760px){.topbar{height:68px;padding:0 20px}.brand{font-size:12px;gap:8px;letter-spacing:.7px}.brand-star{display:none}.brand-mark{width:28px;height:31px;font-size:31px}.top-actions{gap:15px}.text-button{font-size:12px}.icon-button{width:36px;height:36px;font-size:18px}.screen{padding:24px 18px}.edition{display:none}.eyebrow{font-size:10px}.lobby-grid{grid-template-columns:1fr;gap:16px}.hero-panel{min-height:355px;padding:24px 25px 0;border-radius:20px}.hero-copy h1{font-size:65px;margin:18px 0 12px;line-height:1.06}.title-star{font-size:49px;vertical-align:8px;margin-left:12px}.hero-copy p{font-size:12px;margin-bottom:19px}.label-pill{font-size:10px;padding:4px 10px}.hero-orbit{right:8%;top:42px;transform:rotate(12deg) scale(.69);transform-origin:top right;opacity:1}.hero-footer{padding:13px 0;gap:24px}.hero-footer b{font-size:19px}.setup-panel{padding:22px;border-radius:20px}.setup-panel h2{font-size:23px}.mode-picker{margin-bottom:18px}.mode-card{flex-direction:row;align-items:center;padding:16px 12px;gap:9px}.mode-card b{font-size:15px}.mode-card small{font-size:10px}.mode-card .radio-dot{display:none}.mode-icon{flex-shrink:0}.setting-row{margin-bottom:11px}.control-hint{margin-bottom:17px}.lineup{margin-top:27px}.lineup h2{font-size:16px}.lineup h2 span{display:none}.game-cards{grid-template-columns:repeat(2,1fr);gap:11px}.game-card{padding:14px}.card-art{height:48px;font-size:32px}.footer{font-size:10px;line-height:1.7}.footer>span:last-child{display:none}.play-top{gap:12px}.play-top h2{font-size:21px}.round-dots{gap:4px}.round-dots i{width:6px;height:6px}.instruction{font-size:14px;line-height:1.6;min-height:23px}.arenas{gap:10px}.arena-top{padding:13px 14px;flex-wrap:wrap;gap:5px}.arena-score{font-size:24px}.game-surface{height:300px;padding:15px}.stimulus{font-size:80px}.touch-controls{gap:10px}.pad{gap:7px}.pad button{height:66px}.pad button small{font-size:9px;right:5px}.arenas.duo .game-surface{height:275px;padding:10px}.duo .stimulus{font-size:55px}.duo .stimulus.sequence{font-size:22px;gap:3px}.duo .game-sub{font-size:12px}.duo .prompt-tag{font-size:10px;padding:5px 9px}.duo .arena-top{padding:10px}.duo .combo{font-size:10px}.duo .player-label{font-size:11px}.duo .arena-score{font-size:21px}.duo .target-grid{grid-template-columns:repeat(3,35px);grid-template-rows:repeat(3,35px);gap:4px}.duo .target-grid span{font-size:21px}.duo .answers{gap:4px;font-size:12px}.duo .answers span{padding:7px 4px}.duo .count-dots{gap:5px;max-width:130px}.duo .count-dots i{width:18px;height:18px}.touch-controls.duo .pad{grid-template-columns:repeat(2,1fr)}.touch-controls.duo .pad button{height:54px}.result-head h1{font-size:33px}.result-table{font-size:12px}.play-footnote span{display:block;margin:0}dialog{padding:25px}.round-summary{gap:10px}.summary-player{padding:15px 10px}}
@media(max-width:390px){.hero-orbit{right:-6px;transform:rotate(12deg) scale(.6)}.hero-copy h1{font-size:58px}.hero-footer{gap:17px}.mode-card{padding:13px 9px}.mode-icon{width:26px;height:28px;font-size:20px}.mode-card b{font-size:14px}}
.hero-copy p{font-size:16px}.game-card p{font-size:14px}.setting-row,.setting-row select{font-size:14px}.mode-card small{font-size:12px}.control-hint{font-size:13px}.pad button{touch-action:none}.screen{padding-bottom:max(28px,env(safe-area-inset-bottom))}
@media(max-width:760px){.hero-copy p{font-size:14px}.duo .stimulus.sequence{font-size:19px;gap:3px}.duo .stimulus.sequence .current{padding:2px}.game-card p{font-size:12px}.mode-card small{font-size:11px}.setting-row,.setting-row select{font-size:13px}.play-top{margin-bottom:14px}.game-surface{height:clamp(220px,38dvh,310px)}.arenas.duo .game-surface{height:clamp(230px,35dvh,300px)}.play-footnote{margin-bottom:0}.instruction{margin:16px 0}}
.game-surface{background-image:radial-gradient(#ffffff09 1px,transparent 1px);background-size:19px 19px}.mode-card small{word-break:keep-all}.hero-orbit{pointer-events:none}
@media(max-width:760px){.duo .stimulus{font-size:32px!important}.duo .stimulus.sequence{font-size:19px!important}.duo .game-sub{font-size:11px}.mode-card small{letter-spacing:-.4px;font-size:10px}}
@media(max-width:420px){.mode-card small{display:none}.mode-card b{font-size:15px}.mode-card{min-height:69px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
:root[data-theme=light]{color-scheme:light;--bg:#f5f3eb;--panel:#fff;--line:#d7d4ca;--muted:#686974}
:root[data-theme=light] body{color:#171820}
:root[data-theme=light] .mode-card{background:#f0eee7;border-color:#d0cdc3}
:root[data-theme=light] .mode-card.selected{background:#eff8d9}
:root[data-theme=light] select{color:#171820}
:root[data-theme=light] option{background:#fff}
:root[data-theme=light] .instruction{color:#4f5059}
:root[data-theme=light] .footer{color:#70717a}
:root[data-theme=light] .prompt-tag,:root[data-theme=light] .answers span,:root[data-theme=light] .rhythm,:root[data-theme=light] .summary-player{background:#10111708}
:root[data-theme=light] .game-surface{background-image:radial-gradient(#1011170d 1px,transparent 1px)}
:root[data-theme=light] .pad button{background:#eeece5;border-color:#ccc9bf;border-bottom-color:#bbb8ae}
:root[data-theme=light] .timing-track,:root[data-theme=light] .energy{background:#dedbd2}
:root[data-theme=light] dialog{background:#fff;color:#171820;border-color:#cfccc2;box-shadow:0 30px 120px #2224}
:root[data-theme=light] dialog::backdrop{background:#edeae0b8}
:root[data-theme=light] dialog p{color:#62636d}
:root[data-theme=light] .secondary-button{border-color:#c9c6bc}
:root[data-theme=light] .toast{background:#171820;color:#fff}
:root[data-theme=light] .arena:first-child .player-label,:root[data-theme=light] .summary-player:first-child strong{color:#587200}
:root[data-theme=light] .arena:nth-child(2) .player-label,:root[data-theme=light] .summary-player:nth-child(2) strong{color:#c42e79}
.game-surface:has(.stack-tower){height:350px}
.stack-tower{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:flex-end}
.stack-block{display:grid;place-items:center;width:142px;height:28px;border:2px solid #101117;border-radius:5px;color:#101117;font-family:Arial,sans-serif;font-size:21px;font-weight:900;box-shadow:0 3px 0 #101117;transition:opacity .12s,transform .12s}
.stack-block.red{background:#ff625f}.stack-block.blue{background:#5fa8ff}.stack-block.current{outline:3px solid var(--lime);outline-offset:2px;transform:translateX(5px)}.stack-block.consumed{opacity:.12}
.stack-legend{position:absolute;right:16px;top:14px;display:grid;gap:5px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:11px;font-weight:800;z-index:2}.stack-legend span{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}.stack-legend i{width:10px;height:10px;border-radius:50%;border:1px solid #101117;display:inline-block}.stack-legend i.blue{background:#5fa8ff}.stack-legend i.red{background:#ff625f}.stack-legend b{min-width:24px;font-size:10px;color:var(--muted)}
@media(max-width:760px){.game-surface:has(.stack-tower),.arenas.duo .game-surface:has(.stack-tower){height:310px}.stack-tower{gap:3px}.stack-block{width:112px;height:22px;font-size:16px;box-shadow:0 2px 0 #101117}.duo .stack-block{width:92px;height:20px;font-size:14px}}
.pad{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,58px);max-width:340px;margin-inline:auto;gap:8px}
.pad button{height:auto}.pad button:nth-of-type(1){grid-column:2;grid-row:1}.pad button:nth-of-type(2){grid-column:1;grid-row:2}.pad button:nth-of-type(3){grid-column:2;grid-row:2}.pad button:nth-of-type(4){grid-column:3;grid-row:2}
.touch-controls.duo .pad{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,54px);max-width:none;margin:0;padding:9px;background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:6px}
@media(max-width:760px){.touch-controls{margin-top:13px}.pad{max-width:270px;grid-template-rows:repeat(2,50px);gap:6px}.touch-controls.duo{gap:7px}.touch-controls.duo .pad{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,45px);padding:6px;gap:4px}.touch-controls.duo .pad button{height:auto;font-size:22px;border-bottom-width:4px}.touch-controls.duo .pad button small{font-size:8px;right:4px;top:4px}}
