:root{--bg:#f9f6f0;--ink:#3a3a3a;--ink-soft:#8a8580;--coral:#e57367;--coral-dark:#d0655a;--panel:#fffaf3;--outline:#3a3a3a;--outline-soft:#d5cec4;--shadow:#3c32281f;--btn-bg:#fffcf7;--btn-shadow-a:#3c322814;--btn-shadow-b:#3c32281f;--sheet-bg:#fff;--overlay-bg:#f9f6f0d6;--overlay-clear-bg:#f9f6f038;--glass-bg:#fffcf78c;--glass-border:#3c322824;--card-bg:#fffaf3f0;--card-border:#e5736759;--btn-primary-shadow:#b4504159;--btn-primary-glow:#e5736759;--theme-bg-image:none;--theme-btn-image:none;--font-ui:"Nunito", "Quicksand", "Segoe UI", system-ui, sans-serif;font-family:var(--font-ui);color:var(--ink);background:var(--bg)}:root.has-paper-art,:root.has-paper-art body{background-color:var(--bg);background-image:var(--theme-bg-image);background-position:top;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}:root.has-paper-art #app{background-color:#0000;background-image:var(--theme-bg-image);background-position:top;background-repeat:no-repeat;background-size:cover}:root.has-paper-art .screen.play,:root.has-paper-art .screen.home{background:0 0}:root:not([data-theme]) button:not(.text-button):not(.theme-swatch),:root[data-theme=""] button:not(.text-button):not(.theme-swatch){text-transform:uppercase;letter-spacing:.08em;color:#4a5560;background:#fffcf7;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex;box-shadow:0 3px #3c322814,0 8px 18px #3c32281f}:root:not([data-theme]) button.primary:not(.text-button),:root[data-theme=""] button.primary:not(.text-button){background:var(--coral);color:#fffaf8;box-shadow:0 3px #b4504159,0 10px 22px #e5736759}:root:not([data-theme]) button .btn-ico,:root[data-theme=""] button .btn-ico{stroke:#5d7a94;fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px;display:block}:root:not([data-theme]) button.primary .btn-ico,:root[data-theme=""] button.primary .btn-ico{stroke:#fffaf8}:root:not([data-theme]) #foldsLabel,:root[data-theme=""] #foldsLabel{color:var(--coral);font-weight:800}:root:not([data-theme]) .hint,:root[data-theme=""] .hint{letter-spacing:.02em;text-transform:none;color:var(--ink-soft);background:#fffcf7b8;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin:4px 0 2px;padding:10px 16px;font-size:.78rem;font-weight:600;display:flex;box-shadow:0 2px 10px #3c32280f}:root[data-theme=blood]{--bg:#f2ece4;--ink:#1a1a1a;--ink-soft:#6a5e58;--coral:#c84c44;--coral-dark:#a33832;--panel:#fffcf7;--outline:#1a1a1a;--outline-soft:#d2c7bb;--shadow:#5a141224;--btn-bg:#fffcf7;--btn-shadow-a:#5a141229;--btn-shadow-b:#c84c442e;--sheet-bg:#fffcf7;--overlay-bg:#f2ece4d1;--overlay-clear-bg:#f2ece438;--glass-bg:#fffcf78c;--glass-border:#c84c4459;--card-bg:#fffcf7e6;--card-border:#c84c4473;--btn-primary-shadow:#8c282459;--btn-primary-glow:#c84c4447;--theme-bg-image:none;--theme-btn-image:none;--font-ui:"Share Tech Mono", "IBM Plex Mono", "Consolas", monospace;font-family:var(--font-ui);letter-spacing:.04em}:root[data-theme=blood].has-blood-art,:root[data-theme=blood].has-blood-art body{background-color:var(--bg);background-image:var(--theme-bg-image);background-position:top;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}:root[data-theme=blood] button:not(.text-button):not(.theme-swatch){font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;border:2px solid var(--coral);color:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:6px;font-weight:700;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex;box-shadow:0 3px #8c282438,0 8px 18px #5a141229}:root[data-theme=blood] .actions button:not(.text-button):not(.theme-swatch){letter-spacing:.04em;gap:4px;padding-inline:4px}:root[data-theme=blood] button:not(.text-button):not(.theme-swatch):hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px #8c282433,0 14px 24px #5a141233}:root[data-theme=blood] button:not(.text-button):not(.theme-swatch):active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #8c282438,0 4px 10px #5a141224}:root[data-theme=blood].has-blood-art button:not(.text-button):not(.theme-swatch){background-color:#0000;background-image:var(--theme-btn-image);background-position:50%;background-size:cover}:root[data-theme=blood] button.primary:not(.text-button){background-color:var(--btn-bg);color:var(--ink);border:2.5px solid var(--coral);box-shadow:0 3px #8c28244d,0 10px 22px #c84c4447}:root[data-theme=blood] button.primary:not(.text-button):hover:not(:disabled){filter:none;transform:translateY(-2px);box-shadow:0 5px #8c282447,0 16px 28px #c84c4452}button .btn-ico{display:none}:root[data-theme=blood] button .btn-ico{width:18px;height:18px;stroke:var(--coral);fill:none;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;flex:none;display:block}:root[data-theme=blood] .play-top>span{border:2px solid var(--coral);font-family:var(--font-ui);letter-spacing:.08em;background:#fffcf7e0;border-radius:8px;padding:6px 10px;position:relative;box-shadow:inset 0 0 0 1px #1a1a1a0f,0 2px #8c28242e}:root[data-theme=blood] .play-top>span:before,:root[data-theme=blood] .play-top>span:after{content:"";border:2px solid var(--coral);pointer-events:none;width:10px;height:10px;position:absolute}:root[data-theme=blood] .play-top>span:before{border-bottom:0;border-right:0;top:-3px;left:-3px}:root[data-theme=blood] .play-top>span:after{border-top:0;border-left:0;bottom:-3px;right:-3px}:root[data-theme=blood] .score-line{font-family:var(--font-ui);letter-spacing:.1em;text-align:center;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;padding:4px 22px;display:block;position:relative}:root[data-theme=blood] .score-line:before,:root[data-theme=blood] .score-line:after{content:"";border:2px solid var(--coral);width:18px;height:12px;position:absolute;top:50%;transform:translateY(-50%)}:root[data-theme=blood] .score-line:before{border-right:0;left:-4px}:root[data-theme=blood] .score-line:after{border-left:0;right:-4px}:root[data-theme=blood] .hint{font-family:var(--font-ui);letter-spacing:.02em;text-transform:none;position:relative}:root[data-theme=blood] .hint:after{content:"✕";color:var(--coral);opacity:.85;margin-top:4px;font-size:.7rem;display:block}:root[data-theme=blood] .play-audio input[type=range]{accent-color:var(--coral)}:root[data-theme=blood] .play-audio input[type=range]::-webkit-slider-runnable-track{background:var(--coral);border-radius:2px;height:4px}:root[data-theme=blood] .play-audio input[type=range]::-webkit-slider-thumb{appearance:none;background:#1a1a1a;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin-top:-5px}:root[data-theme=blood].has-blood-art .sheet{background-image:var(--theme-btn-image);border:2px solid var(--coral);background-position:50%;background-size:180%;box-shadow:0 10px 28px #5a141224}:root[data-theme=blood] h2,:root[data-theme=blood] .brand,:root[data-theme=blood] .home-actions,:root[data-theme=blood] .desk-grid,:root[data-theme=blood] .menu-list{font-family:var(--font-ui)}:root[data-theme=graffiti]{--bg:#e6dcc8;--ink:#1a1a1a;--ink-soft:#4a4038;--coral:#c84c44;--coral-dark:#8b3dcc;--panel:#f7f2ea;--outline:#1a1a1a;--outline-soft:#a89888;--shadow:#281e1438;--btn-bg:#f7f2ea;--btn-shadow-a:#281e1438;--btn-shadow-b:#c84c442e;--sheet-bg:#f7f2ea;--overlay-bg:#463a308c;--overlay-clear-bg:#463a3038;--glass-bg:#f7f2eae0;--glass-border:#c84c4466;--card-bg:#f7f2eaf0;--card-border:#1a1a1a2e;--btn-primary-shadow:#8c282459;--btn-primary-glow:#c84c4447;--theme-bg-image:none;--theme-btn-image:none;--font-ui:"Share Tech Mono", "IBM Plex Mono", "Consolas", monospace;font-family:var(--font-ui);letter-spacing:.04em;color:var(--ink)}:root[data-theme=graffiti].has-graffiti-art,:root[data-theme=graffiti].has-graffiti-art body{background-color:var(--bg);background-image:var(--theme-bg-image);background-position:top;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}:root[data-theme=graffiti].has-graffiti-art #app,:root[data-theme=graffiti].has-graffiti-art .screen.play,:root[data-theme=graffiti].has-graffiti-art .screen.home{background:0 0}:root[data-theme=graffiti] button:not(.text-button):not(.theme-swatch){font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:#1a1a1a;background-color:var(--btn-bg);border:2.5px solid #1a1a1a;border-radius:14px;justify-content:center;align-items:center;gap:6px;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 4px #1a1a1a8c,0 12px 20px #281c1247}:root[data-theme=graffiti] .actions{gap:5px;padding-inline:0}:root[data-theme=graffiti] .actions button:not(.text-button):not(.theme-swatch){letter-spacing:.02em;border-width:2px;padding:10px 3px;font-size:.7rem;box-shadow:0 3px #1a1a1a80,0 8px 14px #281c1238}:root[data-theme=graffiti] .actions button .btn-ico{width:15px;height:15px}:root[data-theme=graffiti] .actions button .btn-label{text-overflow:clip;white-space:nowrap;overflow:hidden}:root[data-theme=graffiti].has-graffiti-art button:not(.text-button):not(.theme-swatch){background-color:#0000;background-image:var(--theme-btn-image);background-position:50%;background-size:108% 108%}:root[data-theme=graffiti] button:not(.text-button):not(.theme-swatch):hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #1a1a1a8c,0 16px 26px #281c1252}:root[data-theme=graffiti] button:not(.text-button):not(.theme-swatch):active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #1a1a1a8c,0 4px 10px #281c1233}:root[data-theme=graffiti] button.primary:not(.text-button){color:#1a1a1a;border-color:#8b3dcc;box-shadow:0 4px #5a1e8c8c,0 12px 22px #8b3dcc47}:root[data-theme=graffiti] button.primary:not(.text-button):hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #5a1e8c8c,0 16px 26px #8b3dcc57}:root[data-theme=graffiti] button .btn-ico{stroke:#1a1a1a;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px;display:block}:root[data-theme=graffiti] .play-top>span{color:#1a1a1a;font-family:var(--font-ui);letter-spacing:.08em;background:#f7f2eaeb;border:2px solid #1a1a1a;border-radius:10px;padding:6px 10px;box-shadow:0 3px #1a1a1a59}:root[data-theme=graffiti] .score-line{color:#1a1a1a;text-shadow:0 1px #f7f2ea8c;font-family:var(--font-ui)}:root[data-theme=graffiti] .hint{font-family:var(--font-ui);color:#1a1a1a;background:#f7f2eac7;border-radius:10px;padding:8px 12px;box-shadow:0 2px 10px #14121624}:root[data-theme=graffiti] .sheet{background:var(--sheet-bg);border:2.5px solid #1a1a1a;box-shadow:0 12px 32px #281c1247}:root[data-theme=graffiti].has-graffiti-art .sheet{background-image:var(--theme-btn-image);background-position:50%;background-size:160%}:root[data-theme=graffiti] h2,:root[data-theme=graffiti] .brand,:root[data-theme=graffiti] .home-actions,:root[data-theme=graffiti] .desk-grid,:root[data-theme=graffiti] .menu-list{font-family:var(--font-ui)}:root[data-theme=retro]{--bg:#080218;--ink:#f0eaf6;--ink-soft:#a898b8;--coral:#5cfff8;--coral-dark:#ff6ec7;--panel:#120820;--outline:#5cfff8;--outline-soft:#2a1a48;--shadow:#0006;--btn-bg:#120820;--btn-shadow-a:#00000059;--btn-shadow-b:transparent;--sheet-bg:#120820;--overlay-bg:#04010ce6;--overlay-clear-bg:#04010c66;--glass-bg:#0c061cb8;--glass-border:#5cfff859;--card-bg:#0c061cf0;--card-border:#5cfff847;--btn-primary-shadow:#5cfff847;--btn-primary-glow:#5cfff833;--font-ui:"Share Tech Mono", ui-monospace, monospace}:root[data-theme=retro].has-retro-art,:root[data-theme=retro].has-retro-art body{background-color:#080218}:root[data-theme=retro].has-retro-art #app{background-color:#0000;background-image:var(--theme-bg-image);background-position:top;background-repeat:no-repeat;background-size:cover}:root[data-theme=retro].has-retro-art .screen.play,:root[data-theme=retro].has-retro-art .screen.home{background:0 0}:root[data-theme=retro] button:not(.text-button):not(.theme-swatch){color:var(--ink);box-shadow:none;font-family:var(--font-ui);letter-spacing:.06em;text-shadow:none;background:#0e061ceb;border:1px solid #a078dc8c;border-radius:999px}:root[data-theme=retro] button.primary:not(.text-button),:root[data-theme=retro].has-retro-art button.primary:not(.text-button){color:#080218;text-shadow:none;background:#3ad8d8;border:1px solid #5cfff8;font-weight:800;box-shadow:0 0 12px #5cfff859}:root[data-theme=retro] button .btn-ico{stroke:currentColor;fill:none}:root[data-theme=retro] button.primary .btn-ico{stroke:#080218}:root[data-theme=retro] .play-top>span{box-shadow:none;font-family:var(--font-ui);letter-spacing:.1em;background:#0e061ce0;border:1px solid #a078dc8c;border-radius:999px;align-items:center;padding:.32rem .8rem;font-size:.72rem;display:inline-flex}:root[data-theme=retro] .score-line{font-family:var(--font-ui);letter-spacing:.12em;color:#f0eaf6cc;text-shadow:none}:root[data-theme=retro] .hint{font-family:var(--font-ui);color:#a898b8;letter-spacing:.03em}:root[data-theme=retro] .play-audio label span{color:#f0eaf6b3;font-family:var(--font-ui);letter-spacing:.08em}:root[data-theme=retro] .play-audio input[type=range]{accent-color:#5cfff8}:root[data-theme=retro] .play-audio input[type=range]::-webkit-slider-runnable-track{height:4px;box-shadow:none;background:#5cfff847;border-radius:999px}:root[data-theme=retro] .play-audio input[type=range]::-moz-range-track{background:#5cfff847;border-radius:999px;height:4px}:root[data-theme=retro] .play-audio input[type=range]::-webkit-slider-thumb{box-shadow:none;background:#5cfff8;border:1px solid #5cfff8}:root[data-theme=retro] .play-audio input[type=range]::-moz-range-thumb{box-shadow:none;background:#5cfff8;border:1px solid #5cfff8}:root[data-theme=retro] .icon-btn{color:#5cfff8;box-shadow:none;background:#0e061ce6;border-color:#a078dc80;border-radius:999px}:root[data-theme=retro] .actions{box-shadow:none;background:#0a0416e0;border:1px solid #a078dc66;border-radius:999px;gap:6px;padding:5px}:root[data-theme=retro] .actions button{border-radius:999px}:root[data-theme=retro] .sheet{box-shadow:none;border:1px solid #5cfff838}:root[data-theme=retro] h2,:root[data-theme=retro] .brand,:root[data-theme=retro] .home-actions,:root[data-theme=retro] .desk-grid,:root[data-theme=retro] .menu-list{font-family:var(--font-ui)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.hidden{display:none!important}html,body{background:var(--bg);height:100%;min-height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;transition:background .25s,color .25s;overflow:hidden}input,textarea,select,button,label{-webkit-user-select:auto;user-select:auto;-webkit-touch-callout:default}input[type=range]{appearance:none;cursor:pointer;touch-action:none;background:0 0;min-height:28px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--ink-soft) 45%, transparent);border-radius:999px;height:6px}input[type=range]::-moz-range-track{background:color-mix(in srgb, var(--ink-soft) 45%, transparent);border-radius:999px;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--coral);border:2px solid #fff;border-radius:50%;width:26px;height:26px;margin-top:-10px;box-shadow:0 1px 4px #00000040}input[type=range]::-moz-range-thumb{background:var(--coral);border:2px solid #fff;border-radius:50%;width:26px;height:26px;box-shadow:0 1px 4px #00000040}body{justify-content:center;align-items:stretch;display:flex}#app{background:var(--bg);flex-direction:column;width:min(440px,100vw);height:100%;max-height:100dvh;margin:0 auto;padding:14px 18px 16px;display:flex;position:relative;overflow:hidden}:root[data-theme=blood].has-blood-art #app{background-color:#0000;background-image:var(--theme-bg-image);background-position:top;background-repeat:no-repeat;background-size:cover}:root[data-theme=blood].has-blood-art .screen.play,:root[data-theme=blood].has-blood-art .screen.home{background:0 0}@media (width<=820px),(pointer:coarse){html,body{overscroll-behavior:none;width:100%;height:100dvh}body{display:block}#app{width:100%;max-width:none;height:100dvh;max-height:none;padding:max(8px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) max(8px, env(safe-area-inset-bottom,0px)) max(10px, env(safe-area-inset-left,0px));margin:0;overflow:hidden}.play .brand{display:none}.play .play-hud{gap:6px;padding-top:0}.play .play-top{gap:8px;padding-top:0;font-size:.78rem}.play .play-audio{z-index:3;gap:8px;min-width:0;padding:2px 0 4px}.play .play-audio label{gap:5px;font-size:.55rem}.play .play-audio input[type=range]{width:min(96px,28vw);height:28px;min-height:28px}.play .icon-btn{width:30px;height:30px}.play .score-line{margin-bottom:0;font-size:.68rem}.play .hint{min-height:1em;margin:2px 0 6px;font-size:.74rem}.play .actions{box-sizing:border-box;gap:6px;width:100%;max-width:100%;padding-inline:0}.play .actions button{letter-spacing:0;box-shadow:0 2px 0 var(--btn-shadow-a);border-width:2px;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:10px 4px;font-size:.58rem;overflow:visible}.play .actions button:active{box-shadow:0 1px 0 var(--btn-shadow-a)}.play .actions button .btn-ico{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px;display:block!important}:root[data-theme=blood] .play .actions button .btn-ico{stroke:var(--coral)}:root[data-theme=graffiti] .play .actions button .btn-ico{stroke:#1a1a1a}.play .actions button .btn-label{display:none}:root[data-theme=blood] .play .actions button:not(.text-button):not(.theme-swatch),:root[data-theme=graffiti] .play .actions button:not(.text-button):not(.theme-swatch),:root:not([data-theme]) .play .actions button:not(.text-button):not(.theme-swatch),:root[data-theme=""] .play .actions button:not(.text-button):not(.theme-swatch){letter-spacing:0;box-shadow:0 2px 0 var(--btn-shadow-a);border-width:2px;gap:0;padding:10px 4px}:root[data-theme=graffiti] .play .actions{gap:6px;padding-inline:0}@media (width>=430px){.play .actions button .btn-label{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.55rem;display:block;overflow:hidden}.play .actions button{gap:2px;padding:8px 2px}}#board{max-height:none}}.screen{flex-direction:column;flex:auto;width:100%;min-width:0;min-height:0;display:flex}.screen.hidden{display:none!important}.home{z-index:1;justify-content:center;align-items:stretch;gap:10px;padding:8px 4px 12px}.home-brand{text-align:center;margin-bottom:18px}.home-logo{background:0 0;width:min(220px,58vw);height:auto;margin:0 auto 4px;display:block}.home-brand p{color:var(--ink-soft);letter-spacing:.06em;margin:10px 0 0;font-size:.95rem;font-weight:600}.home-art{opacity:.9;justify-content:center;gap:14px;margin:8px 0 28px;display:flex}.home-art span{width:28px;height:28px;display:block}.home-art .s-circle{background:#e9806e;border-radius:50%}.home-art .s-square{background:#5d7a94;border-radius:5px}.home-art .s-triangle{background:0 0;border-bottom:26px solid #98a684;border-left:14px solid #0000;border-right:14px solid #0000;width:0;height:0}.home-art .s-diamond{background:#e8a84e;width:22px;height:22px;margin-top:3px;transform:rotate(45deg)}.home-actions{flex-direction:column;gap:12px;width:min(280px,100%);margin:0 auto;display:flex}.home-actions button{width:100%}.home-foot{text-align:center;color:var(--ink-soft);letter-spacing:.04em;margin-top:auto;padding-top:24px;font-size:.72rem}.play-hud{flex-direction:column;flex:none;gap:4px;padding:4px 2px 0;display:flex}.play-top{letter-spacing:.1em;justify-content:space-between;align-items:center;gap:8px;font-size:.92rem;font-weight:800;display:flex}.play-top>span{white-space:nowrap;flex:none}.play-audio{justify-content:center;align-items:center;gap:10px;width:100%;margin:0;padding:0;display:flex}.brand{text-align:center;flex:none;padding:2px 0 4px}.play-logo{background:0 0;width:min(112px,30vw);height:auto;margin:0 auto;display:block}.brand p{letter-spacing:.06em;color:var(--ink-soft);margin:2px 0 0;font-size:.85rem}.score-line{text-align:center;letter-spacing:.08em;color:var(--ink-soft);flex:none;margin:0 0 2px;font-size:.72rem;font-weight:700}.tutorial-card{border:2px solid var(--card-border);background:var(--card-bg);box-shadow:0 5px 18px var(--shadow);z-index:2;border-radius:16px;flex:none;margin:2px 0 8px;padding:12px 14px}.tutorial-topline{justify-content:space-between;align-items:center;display:flex}.tutorial-step{color:var(--coral-dark);letter-spacing:.12em;font-size:.72rem;font-weight:800}.tutorial-card h2{margin:2px 0 3px;font-size:1rem}.tutorial-card p{color:var(--ink-soft);margin:0;font-size:.78rem;line-height:1.35}.tutorial-next{width:100%;margin-top:9px;padding:8px 10px}.board-wrap{touch-action:none;flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}#board{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:4px;outline:none;width:100%;height:100%;max-height:min(92vw,460px);display:block}#board:focus,#board:focus-visible{outline:none}.hint{text-align:center;color:var(--ink-soft);flex:none;min-height:1.2em;margin:4px 0 8px;font-size:.8rem}.play-audio label{letter-spacing:.03em;color:var(--ink-soft);align-items:center;gap:4px;font-size:.58rem;font-weight:700;display:flex}.play-audio label span{flex:none}.play-audio input[type=range]{width:56px;height:28px;accent-color:var(--coral);margin:0}.icon-btn{border:1.5px solid var(--card-border);background:var(--card-bg);width:28px;height:28px;color:var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--btn-shadow-a);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn svg{fill:currentColor;width:14px;height:14px}.icon-btn:hover,.icon-btn:focus-visible{color:var(--coral-dark);border-color:var(--coral)}.icon-btn:active{box-shadow:none;transform:translateY(1px)}.settings-media-row{gap:8px;margin:10px 0 4px;display:flex}.settings-media-row .icon-text-btn{flex:1;padding:8px 10px;font-size:.75rem}.actions{padding-bottom:env(safe-area-inset-bottom,0);box-sizing:border-box;flex:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%;min-width:0;max-width:100%;padding-inline:0;display:grid}.actions button{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:12px 6px;font-size:.85rem;overflow:visible}.actions button .btn-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}button{font:inherit;background:var(--btn-bg);color:var(--ink);letter-spacing:.04em;cursor:pointer;box-shadow:0 3px 0 var(--btn-shadow-a), 0 6px 14px var(--btn-shadow-b);-webkit-tap-highlight-color:transparent;border:1px solid #2c3e5014;border-radius:14px;outline:none;padding:14px 12px;font-weight:700;transition:transform 80ms,box-shadow 80ms,background .15s,border-color .15s,color .15s}button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}button:active{box-shadow:0 1px 0 var(--btn-shadow-a), 0 2px 6px var(--btn-shadow-a);transform:translateY(2px)}button:disabled{opacity:.45;cursor:default;box-shadow:none}button.primary{background:var(--coral);color:#fffaf8;box-shadow:0 3px 0 var(--btn-primary-shadow), 0 8px 18px var(--btn-primary-glow);border:1px solid #0000}button.primary:active{box-shadow:0 1px 0 var(--btn-primary-shadow), 0 3px 8px var(--btn-primary-glow)}button.primary:hover:not(:disabled){filter:brightness(1.03)}.text-button{color:var(--ink-soft);box-shadow:none;background:0 0;border:0;padding:4px;font-size:.74rem}.text-button:active{box-shadow:none;transform:none}.settings-block{text-align:left;flex-direction:column;gap:10px;margin:8px 0 4px;display:flex}.settings-block label{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;font-size:.8rem;display:flex}.settings-block input[type=range]{width:min(160px,42vw);height:32px;accent-color:var(--coral)}.settings-block .slider-wrap{align-items:center;gap:8px;display:flex}.settings-block .slider-val{text-align:right;font-variant-numeric:tabular-nums;min-width:36px;color:var(--ink);font-size:.78rem;font-weight:700}.settings-block input[type=checkbox]{width:18px;height:18px;accent-color:var(--coral)}.theme-block{text-align:left;margin-top:4px}.theme-block>span{color:var(--ink-soft);margin-bottom:8px;font-size:.8rem;display:block}.theme-picker{grid-template-columns:1fr 1fr;gap:8px;display:grid}.theme-swatch{letter-spacing:.02em;text-align:left;box-shadow:0 2px 0 var(--btn-shadow-a), 0 4px 10px var(--btn-shadow-b);align-items:center;gap:8px;padding:10px;font-size:.72rem;display:flex}.theme-swatch .dot{border-radius:50%;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #2c3e501f}.theme-swatch.is-active{border-color:var(--coral);background:var(--panel);box-shadow:0 0 0 2px var(--card-border), 0 4px 12px var(--shadow);border-width:1px}.now-playing{text-align:center;color:var(--ink-soft);margin:6px 0 0;font-size:.7rem}.overlay{background:var(--overlay-bg);z-index:20;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.overlay-clear{background:var(--overlay-clear-bg)}.sheet{background:var(--sheet-bg);border:2px solid var(--outline-soft);text-align:center;width:min(320px,100%);box-shadow:0 10px 28px var(--shadow);border-radius:20px;max-height:min(86dvh,560px);padding:26px 22px;overflow:auto}.sheet-glass{background:var(--glass-bg);border-color:var(--glass-border);box-shadow:0 8px 24px var(--shadow);-webkit-backdrop-filter:blur(10px)}@media (pointer:coarse),(prefers-reduced-motion:reduce){.sheet-glass{-webkit-backdrop-filter:none}}.sheet h2{letter-spacing:.1em;margin:0 0 8px}.sheet .stars{letter-spacing:.2em;color:#d4a017;margin:8px 0 12px;font-size:1.8rem}.sheet p{color:var(--ink-soft);margin:0 0 14px}.sheet .row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.menu-list{flex-direction:column;gap:8px;margin-top:4px;display:flex}.menu-list button{width:100%}.desk-grid button{width:100%;padding:12px 8px;font-size:.85rem}.desk-grid button.desk-ot:not(.primary){opacity:.95;border-style:dashed}.desk-grid{grid-template-columns:1fr 1fr;gap:8px;max-height:min(52dvh,360px);margin:8px 0 12px;display:grid;overflow:auto}.how-guide{text-align:left;max-height:min(52dvh,380px);margin:0 0 16px;padding-right:4px;overflow:auto}.how-guide h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:14px 0 4px;font-size:.82rem}.how-guide h3:first-child{margin-top:0}.how-guide p,.how-guide li{color:var(--ink-soft);margin:0 0 8px;font-size:.84rem;line-height:1.45}.how-guide ol{margin:0;padding-left:18px}.how-guide li{margin-bottom:8px}.how-guide strong{color:var(--ink);font-weight:700}.sheet-wide{width:min(340px,100%)}@media (width>=900px){#app{box-shadow:0 0 0 1px #0000000a, 0 20px 60px var(--shadow)}}@media (orientation:landscape) and (height<=560px){#app{padding:max(4px, env(safe-area-inset-top,0px)) max(8px, env(safe-area-inset-right,0px)) max(4px, env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px))}.screen.play{grid-template:"hud board"minmax(0,1fr)"actions board"/minmax(150px,32vw) minmax(0,1fr);align-items:stretch;gap:6px 12px;display:grid}.screen.play .play-hud{grid-area:hud;align-self:start}.screen.play .brand,.screen.play .score-line,.screen.play .hint,.screen.play .tutorial-card{display:none}.screen.play .board-wrap{grid-area:1/board/span 2;min-height:0}.screen.play #board{height:100%;max-height:none}.screen.play .actions{grid-area:actions;grid-template-columns:1fr;align-self:stretch;gap:6px;width:100%;max-width:100%}.screen.play .actions button{letter-spacing:.04em;flex-direction:row;justify-content:flex-start;gap:8px;padding:10px 12px;font-size:.75rem}.screen.play .play-audio{flex-wrap:wrap;gap:6px}.screen.play .play-audio label span{font-size:.65rem}}
