:root{--paper:#f6f0e4;--paper-2:#ede3d0;--card:#faf6eee6;--ink:#221c18;--ink-2:#4b3f35;--muted:#6e6052;--faint:#9a8b79;--line:#221c1821;--line-strong:#221c184d;--shu:#c8402a;--shu-deep:#9c2f1d;--shu-soft:#c8402a1a;--gold:#a9803b;--gold-soft:#d8b46a;--moss:#5d6c33;--serif:"Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:"Sora", system-ui, sans-serif;--jp:"Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", "Noto Serif CJK JP", "MS Mincho", serif;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--ease:cubic-bezier(.22, .8, .24, 1);--slow:cubic-bezier(.33, 0, .12, 1);--tap:46px;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .28 0 0 0 0 .2 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--fibres:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.02 .3' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .42 0 0 0 0 .3 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--sans);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}button,input{font:inherit;color:inherit}#app{position:fixed;inset:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.board-wrap{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}.board-wrap:focus-visible{outline:none}.board-wrap:after{content:"";pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 48%, transparent 58%, #6e563a29 100%), var(--grain);mix-blend-mode:multiply;opacity:.5;position:absolute;inset:0}.board-wrap.can-grab{cursor:grab}.board-wrap.grabbing{cursor:grabbing}.board-canvas{display:block;position:absolute;inset:0}.block-layer{pointer-events:none;position:absolute;inset:0}.block-btn{opacity:0;pointer-events:none;background:0 0;border:0;border-radius:14px;padding:0;position:absolute;transform:translate(-50%,-50%)}.block-btn:focus-visible{opacity:1;outline:2px solid var(--shu);outline-offset:3px;box-shadow:0 0 0 6px #f6f0e499}.board-msg{z-index:3;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.board-msg[hidden]{display:none}.board-msg .inner{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:6px;justify-items:center;gap:14px;max-width:420px;padding:28px 30px;display:grid;box-shadow:0 20px 60px #46321e2e}.board-msg p{font-family:var(--serif);margin:0;font-size:1.3rem}.ui{pointer-events:none;z-index:2;position:fixed;inset:0}.ui button,.ui a,.ui input,.ui .panel{pointer-events:auto}.screen{animation:zen-in .9s var(--slow);position:absolute;inset:0}.screen[hidden]{display:none}@keyframes zen-in{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}.btn{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);min-height:48px;color:var(--ink);letter-spacing:.04em;cursor:pointer;transition:background .4s var(--ease), border-color .4s var(--ease), color .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);background:#fcf9f3b8;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:0 26px;font-size:.92rem;font-weight:500;display:inline-flex;position:relative}.btn:hover{border-color:var(--ink);background:#fffdf8}.btn:active{transform:translateY(1px)scale(.99)}.btn:focus-visible,.icon-btn:focus-visible,.level-tile:focus-visible,.seg button:focus-visible,.switch:focus-visible,.hud-home:focus-visible,input[type=range]:focus-visible{outline:2px solid var(--shu);outline-offset:3px}.btn-primary{color:#fff8ee;background:radial-gradient(120% 140% at 30% 0,#ffd2aa59,#0000 55%),linear-gradient(#d24b31,#b2361f);border-color:#0000;font-weight:600;box-shadow:inset 0 1px #ffe6cd73,inset 0 -2px #5a140840,0 10px 26px #b2361f47}.btn-primary:hover{background:radial-gradient(120% 140% at 30% 0,#ffdcb973,#0000 55%),linear-gradient(#d9553a,#b93a22);border-color:#0000;box-shadow:inset 0 1px #ffe6cd80,inset 0 -2px #5a140840,0 14px 34px #b2361f5c}.btn-primary small{letter-spacing:.2em;text-transform:uppercase;background:#fff5e62e;border-radius:999px;padding:3px 10px;font-size:.62rem;font-weight:600}.btn-ghost{-webkit-backdrop-filter:none;border-color:var(--line);background:0 0}.btn-sm{min-height:38px;padding:0 18px;font-size:.82rem}.icon-btn{width:var(--tap);height:var(--tap);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);color:var(--ink);cursor:pointer;transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);background:#fcf9f3c7;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-btn svg{width:20px;height:20px}.icon-btn:hover:not(:disabled){border-color:var(--ink);color:var(--shu);background:#fffdf8}.icon-btn:active:not(:disabled){transform:scale(.95)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn.big{--tap:60px}.icon-btn.big svg{width:24px;height:24px}.icon-btn.primary{color:#fff8ee;background:linear-gradient(#d24b31,#b2361f);border-color:#0000;box-shadow:0 10px 24px #b2361f4d}.icon-btn.primary:hover:not(:disabled){color:#fff;background:linear-gradient(#d9553a,#b93a22)}.icon-btn[data-action=hint][data-used=true]{border-color:var(--gold);color:var(--gold)}.icon-row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.seg{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);background:#fcf9f3b3;border-radius:999px;padding:3px;display:inline-flex}.seg button{min-width:46px;min-height:34px;color:var(--muted);letter-spacing:.16em;cursor:pointer;transition:background .35s var(--ease), color .35s var(--ease);background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:.72rem;font-weight:600}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.switch{appearance:none;border:1px solid var(--line-strong);background:var(--paper-2);cursor:pointer;width:48px;height:28px;transition:background .3s var(--ease);border-radius:999px;margin:0;position:relative}.switch:after{content:"";width:20px;height:20px;transition:transform .3s var(--ease);background:#fffdf8;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #28190a4d}.switch:checked{background:var(--ink)}.switch:checked:after{transform:translate(20px)}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:min(220px,46vw);height:28px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line-strong);height:2px}input[type=range]::-moz-range-track{background:var(--line-strong);height:2px}input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid var(--paper);background:var(--shu);border-radius:50%;width:18px;height:18px;margin-top:-8px;box-shadow:0 1px 4px #3c140a59}input[type=range]::-moz-range-thumb{border:2px solid var(--paper);background:var(--shu);border-radius:50%;width:16px;height:16px}.screen-home:before{content:"";pointer-events:none;background:linear-gradient(90deg,#f6f0e4f0 0%,#f6f0e4d1 30%,#f6f0e400 56%);position:absolute;inset:0}.home-left{top:50%;left:max(6vw, calc(28px + var(--safe-l)));flex-direction:column;align-items:flex-start;width:min(440px,40vw);display:flex;position:absolute;transform:translateY(-50%)}.logo-wrap{width:100%;margin:0;position:relative}.logo-wrap .logo{width:100%;height:auto;animation:ink-in 1.6s var(--slow) both;display:block}@keyframes ink-in{0%{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(3px)}to{opacity:1;clip-path:inset(0);filter:none}}.hanko{background:var(--shu);color:#fbeee2;width:46px;height:46px;font-family:var(--jp);box-shadow:inset 0 0 0 2px #fbeee2e6, inset 0 0 0 4px var(--shu);opacity:.92;animation:stamp .7s var(--ease) 1.2s both;border-radius:7px 5px 8px 6px;place-items:center;font-size:1.6rem;line-height:1;display:grid;position:absolute;bottom:-30px;right:-6px;transform:rotate(-5deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-5deg)scale(1.6)}60%{opacity:.95;transform:rotate(-5deg)scale(.94)}}.tagline{font-family:var(--serif);color:var(--ink-2);animation:zen-in 1.4s var(--slow) .5s both;margin:1.5rem 0 2rem;font-size:clamp(1.15rem,1.6vw,1.45rem);font-style:italic;font-weight:500;line-height:1.35}.menu-nav{width:min(300px,100%);animation:zen-in 1.4s var(--slow) .8s both;flex-direction:column;align-items:stretch;display:flex}.menu-nav .btn-primary{justify-content:space-between;min-height:56px;margin-bottom:14px;padding:0 14px 0 28px;font-size:1.02rem}.menu-nav .btn:not(.btn-primary){border:0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:none;min-height:50px;font-family:var(--serif);letter-spacing:.01em;background:0 0;border-radius:0;justify-content:flex-start;padding:0 4px;font-size:1.36rem;font-weight:500}.menu-nav .btn:not(.btn-primary):before{content:"";background:var(--ink);opacity:.25;width:7px;height:7px;transition:background .4s var(--ease), opacity .4s var(--ease), transform .5s var(--ease);border-radius:2px;transform:rotate(45deg)}.menu-nav .btn:not(.btn-primary):after{content:"";background:var(--shu);transform-origin:0;height:3px;transition:transform .6s var(--ease);border-radius:2px 6px 3px 8px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.menu-nav .btn:not(.btn-primary):hover{color:var(--shu-deep)}.menu-nav .btn:not(.btn-primary):hover:before{opacity:1;background:var(--shu);transform:rotate(135deg)}.menu-nav .btn:not(.btn-primary):hover:after{transform:scaleX(1)}.audio-hint{letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin:16px 0 0;font-size:.66rem}.home-toast{text-transform:none;letter-spacing:.04em;margin-top:.6rem!important}.home-lang{top:calc(20px + var(--safe-t));right:calc(84px + var(--safe-r));position:absolute}.home-sound{top:calc(20px + var(--safe-t));right:calc(24px + var(--safe-r));position:absolute}.signature{left:max(6vw, calc(28px + var(--safe-l)));bottom:calc(22px + var(--safe-b));letter-spacing:.3em;text-transform:uppercase;margin:0;font-size:.64rem;position:absolute}.signature a{color:var(--muted);transition:color .3s var(--ease);text-decoration:none}.signature a:hover{color:var(--shu)}.home-vert{top:50%;right:max(3.4vw, calc(22px + var(--safe-r)));writing-mode:vertical-rl;font-family:var(--jp);letter-spacing:.55em;color:#221c1880;animation:zen-in 2.4s var(--slow) 1.2s both;margin:0;font-size:1.05rem;position:absolute;transform:translateY(-50%)}.screen-home.dimmed .home-left,.screen-home.dimmed .home-vert{opacity:.2;transition:opacity .5s var(--ease)}.screen-panel{padding:calc(24px + var(--safe-t)) calc(20px + var(--safe-r)) calc(24px + var(--safe-b)) calc(20px + var(--safe-l));-webkit-backdrop-filter:blur(5px);pointer-events:auto;background:#e9e0cf80;place-items:center;display:grid}.panel{border:1px solid var(--line);background:var(--fibres), var(--card);width:min(1040px,100%);max-height:100%;animation:unroll .8s var(--ease);border-radius:4px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 30px 80px #50381e38,0 2px 10px #50381e14}@keyframes unroll{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(-8px)}to{opacity:1;clip-path:inset(0);transform:none}}.panel:before{content:"";border:1px solid var(--line);pointer-events:none;border-radius:2px;position:absolute;inset:9px}.panel:after{content:"";pointer-events:none;background:linear-gradient(90deg,#3a2a1f,#5b4331 50%,#3a2a1f);height:5px;position:absolute;top:0;left:0;right:0}.panel.narrow{width:min(500px,100%)}.panel.medium{width:min(640px,100%)}.panel-head{z-index:1;justify-content:space-between;align-items:center;gap:16px;padding:30px 34px 18px;display:flex;position:relative}.panel-head h2{font-family:var(--serif);letter-spacing:.01em;align-items:center;gap:14px;margin:0;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:600;line-height:1.1;display:flex}.panel-head h2:before{content:"";background:var(--shu);border-radius:2px;flex:none;width:12px;height:12px;transform:rotate(45deg)}.panel-body{z-index:1;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding:6px 34px 32px;position:relative;overflow:auto}.set-group{letter-spacing:.26em;text-transform:uppercase;color:var(--shu-deep);margin:26px 0 6px;font-size:.66rem;font-weight:600}.set-group:first-child{margin-top:4px}.set-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:56px;font-size:.92rem;display:flex}.set-ctrl{align-items:center;gap:12px;display:flex}.set-note{color:var(--muted);margin:10px 0 0;font-size:.84rem;line-height:1.55}.track-name{font-family:var(--serif);color:var(--ink-2);font-size:1.1rem;font-style:italic}.stack{justify-content:center;margin-top:24px;display:flex}.rules-list{counter-reset:r;margin:0 0 14px;padding:0;list-style:none}.rules-list li{border-bottom:1px solid var(--line);counter-increment:r;padding:14px 0 14px 52px;font-size:.95rem;line-height:1.55;position:relative}.rules-list li:before{content:counter(r);font-family:var(--serif);color:var(--shu);font-size:1.9rem;font-weight:600;line-height:1;position:absolute;top:10px;left:4px}.tier-head{font-family:var(--serif);align-items:baseline;gap:14px;margin:30px 0 14px;font-size:1.45rem;font-weight:600;display:flex}.tier-head:first-child{margin-top:4px}.tier-head:after{content:"";background:var(--line);flex:1;align-self:center;height:1px}.tier-head small{font-family:var(--sans);letter-spacing:.18em;color:var(--faint);order:2;font-size:.68rem;font-weight:500}.level-tiles{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:9px;margin:0;padding:0;list-style:none;display:grid}.level-tile{--k:var(--moss);aspect-ratio:1;border:1px solid var(--line-strong);width:100%;color:var(--ink);font-family:var(--serif);font-variant-numeric:lining-nums;cursor:pointer;transition:transform .35s var(--ease), border-color .35s var(--ease), background .35s var(--ease), box-shadow .35s var(--ease);background:#fcf9f3;border-radius:4px;place-items:center;padding:0;font-size:1.32rem;font-weight:600;display:grid;position:relative}.level-tile:before{content:"";background:var(--k);opacity:.55;border-radius:2px;height:2px;position:absolute;bottom:5px;left:6px;right:6px}.level-tile[data-tier=easy]{--k:#7d9a3f}.level-tile[data-tier=medium]{--k:var(--gold)}.level-tile[data-tier=advanced]{--k:#9a5b33}.level-tile[data-tier=expert]{--k:var(--shu)}.level-tile[data-tier=master]{--k:var(--ink)}.level-tile:hover:not(:disabled){border-color:var(--ink);transform:translateY(-2px);box-shadow:0 8px 18px #50381e24}.level-tile[data-done=true]{background:#f3ecdf}.level-tile[data-done=true]:after{content:"";background:var(--shu);opacity:.85;border-radius:2px;width:9px;height:9px;position:absolute;top:5px;right:5px;transform:rotate(-6deg)}.level-tile[data-next=true]{border-color:var(--shu);color:var(--shu-deep);box-shadow:0 0 0 3px var(--shu-soft);animation:3.6s ease-in-out infinite breathe}@keyframes breathe{50%{box-shadow:0 0 0 7px #c8402a0a}}.level-tile[data-locked=true]{border-style:dashed;border-color:var(--line);color:var(--faint);cursor:default;background:0 0}.lt-lock svg{opacity:.5;width:16px;height:16px}.series-bar{background:var(--paper-2);border-radius:4px;height:4px;overflow:hidden}.series-bar i{height:100%;width:calc(var(--k) * 100%);background:linear-gradient(90deg, var(--shu), var(--gold-soft));display:block}.hud-top{top:calc(18px + var(--safe-t));left:calc(22px + var(--safe-l));right:calc(22px + var(--safe-r));grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid;position:absolute}.hud-level{justify-self:start}.hud-right{justify-self:end}.hud-home{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);height:46px;color:var(--ink);cursor:pointer;transition:background .35s var(--ease), border-color .35s var(--ease);background:#fcf9f3c7;border-radius:999px;align-items:center;gap:8px;padding:0 18px 0 12px;display:inline-flex}.hud-home:hover{border-color:var(--ink);background:#fffdf8}.hud-home-arrow{width:18px;height:18px}.hud-home img{width:auto;height:24px;display:block}.hud-title{text-align:center;justify-items:center;gap:2px;margin:0;display:grid}.hud-title .num{font-family:var(--serif);color:var(--ink);text-shadow:0 1px 12px #f6f0e4e6;font-size:1.7rem;font-weight:600;line-height:1}.hud-title .name{letter-spacing:.3em;text-transform:uppercase;color:var(--shu-deep);font-size:.62rem;font-weight:600}.hud-stats{top:calc(86px + var(--safe-t));pointer-events:none;gap:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-stat{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);background:#fcf9f3b8;border-radius:999px;align-items:baseline;gap:10px;min-height:36px;padding:0 16px;line-height:36px;display:inline-flex}.hud-stat .lbl{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:.58rem;font-weight:600}.hud-stat strong{font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;min-width:2ch;font-size:1rem;font-weight:600}.hud-time{min-width:6ch!important}.hud-bottom{left:0;right:0;bottom:calc(22px + var(--safe-b));justify-content:center;display:flex;position:absolute}.hud-actions{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);background:#f6f0e480;border-radius:999px;gap:12px;padding:8px;display:flex}.screen-pause{background:#e9e0cf9e}.pause-box{border:1px solid var(--line);background:var(--fibres), var(--card);border-radius:4px;justify-items:center;gap:22px;padding:40px 44px;display:grid;box-shadow:0 30px 80px #50381e33}.pause-title{font-family:var(--serif);color:var(--ink);margin:0;font-size:2rem;font-style:italic;font-weight:500}.screen-result{background:radial-gradient(at 50% 45%,#f6f0e440,#e9e0cfb3)}.result-card{text-align:center;flex-direction:column;gap:8px;padding:40px 36px 32px;display:flex;overflow:visible}.result-kicker{z-index:1;letter-spacing:.32em;text-transform:uppercase;color:var(--shu-deep);margin:0;font-size:.66rem;font-weight:600;position:relative}.result-word{z-index:1;font-family:var(--serif);color:var(--ink);margin:2px 0 6px;font-size:clamp(2.6rem,8vw,3.8rem);font-style:italic;font-weight:500;line-height:1.05;position:relative}.result-word span{white-space:pre;animation:res-letter 1s var(--slow) both;animation-delay:calc(var(--i) * 55ms + .1s);display:inline-block}@keyframes res-letter{0%{opacity:0;filter:blur(8px);transform:translateY(.3em)}}.result-badge,.result-perfect{z-index:1;letter-spacing:.24em;text-transform:uppercase;border-radius:3px;place-self:center;margin:2px auto 0;padding:6px 16px;font-size:.66rem;font-weight:600;position:relative}.result-badge{color:#fff6ea;background:var(--shu);box-shadow:inset 0 0 0 2px #fff0e1bf, inset 0 0 0 4px var(--shu);animation:stamp-record .8s var(--ease) .6s both;transform:rotate(-2deg)}@keyframes stamp-record{0%{opacity:0;transform:rotate(-2deg)scale(1.8)}60%{opacity:1;transform:rotate(-2deg)scale(.95)}}.result-perfect{color:var(--gold);border:1px solid #a9803b80}.result-card.is-record{box-shadow:0 30px 80px #50381e3d,0 0 0 1px #c8402a4d}.result-stats{z-index:1;border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:16px 0 6px;display:grid;position:relative}.res-stat{border-bottom:1px solid var(--line);text-align:center;padding:14px 6px}.res-stat:nth-child(odd){border-right:1px solid var(--line)}.res-stat dt{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:.58rem;font-weight:600}.res-stat dd{font-variant-numeric:tabular-nums;color:var(--ink);margin:6px 0 0;font-size:1.35rem;font-weight:600}.res-stat.up dd{color:var(--shu)}.result-card .set-note{z-index:1;position:relative}.result-actions{z-index:1;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex;position:relative}.tuto-hand{border:2px solid var(--ink);background:radial-gradient(circle, var(--shu) 0 22%, #fcf9f399 23% 100%);opacity:0;pointer-events:none;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:fixed;box-shadow:0 6px 18px #3c281440}.tuto-hand.show{animation:tuto-swipe 2.6s var(--ease) infinite}@keyframes tuto-swipe{0%{opacity:0;transform:translate(0)scale(1.4)}14%{opacity:1;transform:translate(0)scale(1)}24%{transform:translate(0)scale(.8)}64%{opacity:1;transform:translate(var(--dx), var(--dy)) scale(.8)}80%,to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1.1)}}.fatal{z-index:50;text-align:center;background:var(--paper);color:var(--ink);place-content:center;gap:12px;padding:24px;display:grid;position:fixed;inset:0}.fatal p{font-family:var(--serif);font-size:1.5rem}.fatal pre{max-width:90vw;color:var(--muted);font-size:.75rem;overflow:auto}.reduce-motion .screen,.reduce-motion .panel,.reduce-motion .logo-wrap .logo,.reduce-motion .hanko,.reduce-motion .tagline,.reduce-motion .menu-nav,.reduce-motion .home-vert,.reduce-motion .result-word span,.reduce-motion .result-badge,.reduce-motion .level-tile[data-next=true]{animation:none}.reduce-motion .tuto-hand.show{opacity:1;animation:none}@media (prefers-reduced-motion:reduce){.screen,.panel,.logo-wrap .logo,.hanko,.tagline,.menu-nav,.home-vert,.result-word span,.result-badge{animation:none}}@media (max-width:1080px){.home-vert{display:none}}@media (max-width:900px){.screen-home:before{background:linear-gradient(#f6f0e4e6 0%,#f6f0e459 24%,#f6f0e400 40%,#f6f0e4bf 62%,#f6f0e4f0 100%)}.home-left{top:calc(66px + var(--safe-t));bottom:calc(24px + var(--safe-b));left:calc(20px + var(--safe-l));right:calc(20px + var(--safe-r));text-align:center;align-items:center;width:auto;transform:none}.logo-wrap{width:min(300px,70vw)}.tagline{margin-top:auto!important}.menu-nav{max-width:360px}.hanko{width:36px;height:36px;font-size:1.25rem;bottom:-22px}.tagline{margin:0 0 16px;font-size:1.12rem}.menu-nav{width:100%}.menu-nav .btn:not(.btn-primary){justify-content:center;min-height:46px;font-size:1.24rem}.menu-nav .btn:not(.btn-primary):before{display:none}.audio-hint{margin-top:10px}.home-lang{left:calc(16px + var(--safe-l));right:auto;top:calc(14px + var(--safe-t))}.home-sound{right:calc(16px + var(--safe-r));top:calc(14px + var(--safe-t))}.signature{display:none}}@media (max-width:720px){.hud-top{top:calc(12px + var(--safe-t));left:calc(12px + var(--safe-l));right:calc(12px + var(--safe-r))}.hud-home{padding:0 12px 0 8px}.hud-home img{height:19px}.hud-title .num{font-size:1.4rem}.hud-stats{top:calc(70px + var(--safe-t))}.hud-stat{min-height:32px;padding:0 12px;line-height:32px}.hud-bottom{bottom:calc(14px + var(--safe-b))}.panel-head{padding:24px 22px 14px}.panel-body{padding:4px 22px 26px}.level-tiles{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:7px}.result-card{padding:32px 22px 26px}}@media (max-width:400px){.hud-home img{display:none}}@media (max-height:640px) and (max-width:900px){.home-left{top:calc(56px + var(--safe-t))}.logo-wrap{width:min(230px,60vw)}.menu-nav{margin-top:auto}.menu-nav .btn:not(.btn-primary){min-height:40px;font-size:1.12rem}.menu-nav .btn-primary{min-height:50px;margin-bottom:8px}.tagline{display:none}}.logo-wrap>span:first-child{display:block}.records-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4px}.records-stats .res-stat:nth-child(odd){border-right:0}.records-stats .res-stat+.res-stat{border-left:1px solid var(--line)}.tier-list{gap:14px;margin:22px 0 6px;display:grid}.tier-progress{grid-template-columns:9.5em 1fr auto;align-items:center;gap:14px;display:grid}.tp-name{font-family:var(--serif);font-size:1.15rem;font-weight:600}.tp-count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.74rem}@media (max-width:520px){.records-stats{grid-template-columns:1fr}.records-stats .res-stat+.res-stat{border-left:0}.tier-progress{grid-template-columns:7em 1fr auto;gap:10px}}
