@font-face{font-family:Outfit;src:url(./outfit-latin-Bc-8i84L.woff2) format("woff2");font-style:normal;font-weight:800;font-display:swap}@font-face{font-family:Outfit;src:url(./outfit-latin-Bc-8i84L.woff2) format("woff2");font-style:normal;font-weight:900;font-display:swap}@font-face{font-family:Space Mono;src:url(./space-mono-latin-mWgeinG7.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,Source Han Sans SC,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;color:#211427;background:#fff8ee;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #211427;--muted: #665b68;--pink: #ef4b81;--rose: #f06565;--cyan: #1ca7b8;--violet: #5b4cc4;--amber: #f2b13d;--mint: #38a66a;--paper: #fffaf0;--paper-strong: #fffdf8;--paper-warm: #f7eddb;--line: #241827;--soft-line: rgba(36, 24, 39, .16);--shadow: 7px 7px 0 rgba(36, 24, 39, .18)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:var(--paper);overscroll-behavior:none}button,input,select{font:inherit}button{cursor:pointer}.app-shell{position:relative;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:linear-gradient(90deg,rgba(36,24,39,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(36,24,39,.03) 1px,transparent 1px),repeating-linear-gradient(-8deg,transparent 0 24px,rgba(239,75,129,.045) 24px 26px),#fff8ee;background-size:28px 28px,28px 28px,auto,auto}.stage-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.55;background-image:radial-gradient(circle,rgba(36,24,39,.13) 1px,transparent 1.6px),repeating-linear-gradient(110deg,transparent 0 62px,rgba(28,167,184,.08) 62px 64px);background-size:18px 18px,auto;-webkit-mask-image:linear-gradient(to bottom,transparent,black 8%,black 88%,transparent);mask-image:linear-gradient(to bottom,transparent,black 8%,black 88%,transparent)}.home-screen,.panel-screen,.play-screen,.result-screen,.countdown-screen{position:relative;min-height:100vh;min-height:100dvh;padding:max(clamp(20px,3vw,42px),env(safe-area-inset-top)) max(clamp(20px,3vw,42px),env(safe-area-inset-right)) max(clamp(20px,3vw,42px),env(safe-area-inset-bottom)) max(clamp(20px,3vw,42px),env(safe-area-inset-left))}.home-screen{display:grid;grid-template-rows:auto minmax(250px,1fr);gap:clamp(10px,1.6vh,20px);gap:clamp(10px,1.6dvh,20px);min-height:100vh;min-height:100dvh;overflow-y:auto;overflow-x:hidden}.home-stage{display:grid;grid-template-rows:auto auto;align-content:start;gap:clamp(10px,1.6vh,20px);gap:clamp(10px,1.6dvh,20px);min-height:0}.top-bar,.panel-header,.play-header{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2}.kicker{margin:0 0 8px;color:var(--pink);font-size:14px;font-weight:900;letter-spacing:0}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(30px,5vw,66px);line-height:1;letter-spacing:0}h2{font-size:clamp(22px,2.4vw,32px);letter-spacing:0}.top-actions{display:flex;align-items:center;gap:0}.top-actions>*+*{margin-left:10px}.segmented{display:flex;padding:4px;gap:0;border:2px solid var(--line);border-radius:14px;background:var(--paper-strong);box-shadow:4px 4px #2418271f}.segmented button+button{margin-left:2px}.segmented button{min-width:42px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-size:14px;font-weight:900;padding:8px 9px;transition:background .18s ease,color .18s ease,transform .18s ease}.segmented button.active{color:#fff;background:var(--line)}.icon-button,.back-button,.exit-button{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--line);color:var(--ink);background:var(--paper-strong);box-shadow:4px 4px #24182724;transition:transform .18s ease,box-shadow .18s ease}.icon-button{width:52px;height:52px;border-radius:14px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.icon-button svg path:first-child{fill:currentColor;stroke:none}.hero-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,25vw);align-items:end;gap:18px;min-height:0;margin:0}.hero-copy p{margin:0;min-width:0;max-width:780px;font-size:clamp(28px,4.4vw,58px);font-weight:1000;line-height:.95;color:var(--ink);text-shadow:4px 4px 0 rgba(242,177,61,.5)}.hero-title-row{display:flex;align-items:flex-start;gap:clamp(7px,1vw,12px)}.home-endless-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:clamp(28px,2.6vw,36px);height:clamp(20px,2vw,26px);border:2px solid var(--line);border-radius:999px;color:var(--ink);background:#fff;box-shadow:2px 2px #24182724;transform:translateY(-18%)}.home-endless-badge b{font-family:Outfit,sans-serif;font-size:clamp(16px,1.7vw,21px);line-height:.7}.hero-line{width:min(520px,58vw);height:12px;margin-top:6px;border:2px solid var(--line);border-radius:0;background:repeating-linear-gradient(90deg,var(--pink) 0 34px,var(--amber) 34px 68px,var(--cyan) 68px 102px);box-shadow:4px 4px #2418271f}.arcade-ticket{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:100%;min-height:130px;height:100%;border:3px solid var(--line);border-radius:16px;background:var(--pink);color:#fff;box-shadow:var(--shadow);transform:rotate(3deg);overflow:hidden;padding:14px 12px}.arcade-ticket:before,.arcade-ticket:after{content:"";position:absolute;top:50%;width:16px;height:16px;border:3px solid var(--line);background:var(--paper-warm);border-radius:50%;z-index:2}.arcade-ticket:before{left:-10px;transform:translateY(-50%)}.arcade-ticket:after{right:-10px;transform:translateY(-50%)}.ticket-header{font-size:clamp(8px,1.2vw,11px);font-weight:1000;letter-spacing:2px;text-align:center;border-bottom:2px dashed rgba(255,255,255,.4);padding-bottom:6px;color:#ffffffe6}.ticket-body{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:4px 0}.ticket-title{font-family:Outfit,sans-serif;font-size:clamp(26px,3.2vw,38px);font-weight:900;line-height:1}.ticket-sub{font-size:11px;font-weight:900;opacity:.85;margin-top:2px}.ticket-footer{display:flex;justify-content:center;border-top:2px dashed rgba(255,255,255,.4);padding-top:8px}.ticket-barcode{display:flex;align-items:stretch;gap:2px;width:min(82%,120px);height:14px;color:#fff}.ticket-barcode span{display:block;flex-basis:0;min-width:1px;background:currentColor}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-content:start;align-items:stretch;gap:clamp(16px,2.2vw,28px);min-height:0}.game-grid.game-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.game-grid.game-count-1{grid-template-columns:minmax(0,1fr)}.game-card{position:relative;display:grid;grid-template-rows:min-content minmax(0,1fr) min-content;align-content:start;row-gap:clamp(12px,1.4vw,18px);min-height:0;height:auto;border:3px solid var(--line);border-radius:16px;padding:clamp(16px,2vw,24px);overflow:hidden;text-align:left;color:var(--ink);box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.game-card:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:2px dashed rgba(36,24,39,.2);border-radius:10px;pointer-events:none}.game-card:after{content:"PLAY";position:absolute;right:20px;top:20px;z-index:1;padding:4px 8px;border:2px solid var(--line);border-radius:8px;color:var(--ink);background:#fffdf8e0;font-size:10px;font-weight:1000;line-height:1;box-shadow:2px 2px #2418271f}.game-card-art{position:relative;z-index:1;display:grid;align-items:start}.game-card-copy,.game-card-copy span,.game-card-copy small{position:relative;z-index:1;display:block}.game-card-copy{display:grid;gap:12px;align-self:start}.game-card-copy span{font-size:clamp(24px,2.8vw,38px);font-weight:1000;line-height:1.15}.game-ca.result-copy small{display:block;font-size:clamp(14px,1.8vw,20px);font-weight:700;opacity:.6}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#120b26bf}.dialog-box{width:min(400px,85%);padding:30px;border:2px solid var(--line);border-radius:30px;background:var(--paper);box-shadow:var(--shadow);text-align:center}.dialog-box p{margin:0 0 24px;font-size:clamp(18px,2.4vw,24px);font-weight:1000;color:var(--ink)}.dialog-actions{display:flex;gap:0;justify-content:center}.dialog-actions button+button{margin-left:16px}.dialog-actions button{flex:1}.record-dialog p small{display:block;margin-top:6px;color:var(--muted);font-size:14px}.record-edit-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:24px;text-align:left;font-weight:1000}.record-edit-field input{text-align:right;font-size:28px;font-weight:1000}button:disabled{cursor:not-allowed;opacity:.45;transform:none!important}.game-card-copy small{font-size:clamp(14px,1.45vw,18px);font-weight:800;line-height:1.4;color:var(--muted);opacity:1}.game-copyright,.intro-copyright,.play-copyright{color:var(--ink);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,Source Han Sans SC,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;font-size:12px;font-style:normal;font-weight:1000;letter-spacing:0;text-align:center;opacity:.58}.game-copyright{position:relative;z-index:1;grid-column:1 / -1;justify-self:stretch;margin-bottom:-2px;padding-top:4px;line-height:1.25}.theme-sakura{background:linear-gradient(135deg,rgba(239,75,129,.13) 0 25%,transparent 25% 100%),repeating-linear-gradient(-12deg,rgba(239,75,129,.12) 0 8px,transparent 8px 18px),#fff3f4}.theme-cyan{background:linear-gradient(135deg,rgba(28,167,184,.15) 0 25%,transparent 25% 100%),repeating-linear-gradient(-12deg,rgba(28,167,184,.12) 0 8px,transparent 8px 18px),#eefbfd}.theme-amber{background:linear-gradient(135deg,rgba(242,177,61,.2) 0 25%,transparent 25% 100%),repeating-linear-gradient(-12deg,rgba(242,177,61,.16) 0 8px,transparent 8px 18px),#fff6df}.game-illustration-img{position:relative;z-index:1;width:clamp(156px,13.5vw,190px);border:2px solid var(--line);border-radius:12px;background:var(--paper-strong);box-shadow:4px 4px #24182724;overflow:hidden}.game-illustration-img img{display:block}.game-illustration-img.klotski-ill{aspect-ratio:var(--board-aspect);padding:clamp(8px,1vw,12px)}.game-illustration-img.klotski-card-ill{width:clamp(150px,12vw,180px)}.preview-piece{position:absolute;left:calc(clamp(8px,1vw,12px) + var(--piece-x) * ((100% - 2 * clamp(8px,1vw,12px)) / var(--board-cols)));top:calc(clamp(8px,1vw,12px) + var(--piece-y) * ((100% - 2 * clamp(8px,1vw,12px)) / var(--board-rows)));width:calc(var(--piece-w) * ((100% - 2 * clamp(8px,1vw,12px)) / var(--board-cols)) - clamp(2px,.45vw,6px));height:calc(var(--piece-h) * ((100% - 2 * clamp(8px,1vw,12px)) / var(--board-rows)) - clamp(2px,.45vw,6px));background-size:100% 100%;background-position:center;background-repeat:no-repeat}.game-illustration-img.memory-ill{display:grid;aspect-ratio:1.12;grid-template-columns:repeat(3,1fr);place-content:center;gap:10px;padding:14px}.game-illustration-img.memory-ill img{width:100%;height:auto;aspect-ratio:var(--card-aspect, 63 / 88);object-fit:contain;background:#fff;border-radius:4px;box-shadow:0 4px 8px #21144533}.panel-screen{display:flex;flex-direction:column;gap:0;min-height:100vh;min-height:100dvh;overflow-y:auto;overflow-x:hidden}.panel-screen>*+*{margin-top:clamp(14px,2vh,22px)}.panel-header{justify-content:flex-start;gap:0}.panel-header>*+*{margin-left:20px}.panel-header h1{font-size:clamp(30px,4vw,54px)}.back-button{width:54px;height:54px;border-radius:14px}.pin-panel,.settings-section,.game-settings-form,.result-panel{border:3px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.pin-panel{display:grid;gap:18px;width:min(520px,100%);margin:auto;padding:32px}input,select{width:100%;min-height:52px;border:2px solid var(--line);border-radius:12px;padding:0 16px;color:var(--ink);background:#fff;outline:none}input:focus,select:focus{border-color:var(--violet);box-shadow:4px 4px #5b4cc429}.pin-input{-webkit-text-security:disc}.primary-button,.secondary-button,.danger-button{min-height:50px;border:2px solid var(--line);border-radius:12px;padding:0 22px;font-weight:1000;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.primary-button{color:#fff;background:var(--pink);box-shadow:4px 4px #24182729}.secondary-button{color:var(--ink);background:var(--paper-warm);box-shadow:4px 4px #2418271a}.danger-button{color:#fff;background:#e7356b}.wide{width:min(460px,100%)}.error-text,.danger-text{color:#d91d55}.settings-layout{display:grid;grid-template-columns:.85fr 1.25fr;gap:22px;align-items:start;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:6px}.settings-section{padding:16px}.section-title,.settings-row,.mini-table div{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-list{display:grid;gap:12px}.settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:92px;border:2px solid var(--soft-line);border-radius:12px;padding:12px 14px;background:var(--paper-strong)}.settings-row strong,.settings-row span{display:block}.settings-row span{color:var(--muted);margin-top:4px}.settings-row-actions,.game-visibility-control{display:flex;align-items:center}.settings-row-actions{justify-content:flex-end;gap:14px}.game-visibility-control{gap:8px}.settings-row .game-visibility-control>span{margin-top:0;color:var(--ink);font-weight:1000}.switch-toggle{position:relative;width:54px;height:30px;flex:0 0 auto;border:2px solid var(--line);border-radius:999px;background:#8d83a7;box-shadow:inset 0 1px 2px #2418272e;transition:background .16s ease}.switch-toggle:after{content:"";position:absolute;top:1px;left:0;width:20px;height:20px;border:2px solid var(--line);border-radius:50%;background:#fff;box-shadow:2px 2px #24182729;transition:transform .16s ease}.switch-toggle.active{background:var(--mint)}.switch-toggle.active:after{transform:translate(24px)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.game-stat-list{display:grid;gap:10px}.stats-section-title{margin-bottom:12px}.game-stat-row{display:grid;gap:8px;padding:10px;border:2px solid var(--soft-line);border-radius:12px;background:var(--paper-strong)}.stat-card{min-height:64px;border:2px solid var(--soft-line);border-radius:12px;padding:10px;background:#fff}.stat-card span,.stat-card strong{display:block}.stat-card span{color:var(--muted);font-size:14px;font-weight:800}.stat-card strong{margin-top:6px;font-size:26px}.best-record-stat{display:grid;grid-template-rows:max-content max-content;align-content:start;justify-items:start;color:var(--ink);text-align:left;cursor:pointer;background:var(--paper-warm);box-shadow:3px 3px #f2b13d66;transition:transform .16s ease,box-shadow .16s ease}.best-record-stat:hover{transform:translateY(-2px);box-shadow:5px 5px #f2b13d80}.mini-table{display:grid;gap:10px;margin-top:18px}.mini-table div{padding:12px 4px;border-bottom:1px solid var(--soft-line)}.compact-controls{grid-column:1 / -1;display:grid;grid-template-columns:max-content max-content minmax(240px,1fr) auto;gap:clamp(20px,3vw,44px);align-items:center}.compact-control{display:flex;align-items:center;gap:12px;min-width:0;font-weight:1000}.compact-pin-control .pin-input{flex:1;min-width:0;width:auto}.compact-controls label,.game-settings-form label{font-weight:1000}.toggle{min-width:92px;min-height:44px;border:2px solid var(--line);border-radius:999px;color:#fff;background:#8d83a7;font-weight:1000}.toggle.active{background:var(--mint)}.game-settings-form{display:grid;gap:18px;width:min(720px,100%);padding:clamp(18px,3vw,26px)}.game-settings-form label{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:14px}.intro-stage{display:grid;flex:1;align-items:start}.intro-card{display:grid;justify-items:center;gap:22px;width:min(860px,100%);margin:0 auto auto;padding:clamp(18px,3vw,26px);color:var(--ink);border:3px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.intro-card p{max-width:620px;margin:0;text-align:center;font-size:clamp(20px,2.2vw,30px);font-weight:1000}.intro-card p.intro-copyright{margin:-8px 0;font-size:12px;line-height:1.25}.intro-hero{display:grid;place-items:center;width:100%}.instruction-image{display:grid;place-items:center;width:min(560px,100%);aspect-ratio:16 / 9;border-radius:14px;margin:auto}.instruction-image .game-illustration-img.memory-ill{gap:16px;padding:24px;aspect-ratio:auto}.instruction-image .game-illustration-img:not(.klotski-ill){width:min(290px,62%);border-radius:14px}.instruction-image .game-illustration-img.klotski-ill{width:min(220px,62%);aspect-ratio:var(--board-aspect);border-radius:14px}.countdown-screen{display:grid;place-items:center}.countdown-burst{display:grid;place-items:center;width:min(42vw,360px);aspect-ratio:1;border:4px solid var(--line);border-radius:50%;color:#fff;background:var(--pink);font-size:clamp(70px,13vw,180px);font-weight:1000;line-height:.86;box-shadow:10px 10px #2418272e;animation:pop-in .65s cubic-bezier(.34,1.56,.64,1)}.countdown-burst-small{animation:count-pop .42s cubic-bezier(.34,1.56,.64,1)}.play-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(12px,2vh,20px);height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow-y:auto;overflow-x:hidden;padding-bottom:max(12px,env(safe-area-inset-bottom))}.play-copyright{position:relative;z-index:2;justify-self:center;text-align:center;line-height:1.2}.play-header{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;min-height:54px}.exit-button{min-width:116px;min-height:48px;border-radius:12px;gap:8px;font-weight:1000}.timer-wrap{height:24px;border-radius:999px;overflow:hidden;border:2px solid var(--line);background:var(--paper-strong)}.timer-bar{height:100%;border-radius:inherit;background:var(--cyan);transition:width .9s linear,background .18s ease}.timer-bar.danger{background:#e7356b}.best-record-display{display:grid;gap:2px;min-width:132px;padding:7px 12px;border:2px solid var(--line);border-radius:10px;background:var(--paper-strong);box-shadow:4px 4px #f2b13d66;line-height:1}.best-record-display span{font-size:11px;font-weight:1000;letter-spacing:.05em}.best-record-display strong{font-size:20px;white-space:nowrap}.play-time-remaining{min-width:72px;text-align:right;font-size:30px}.klotski-wrap,.memory-wrap{--metric-rail: clamp(112px, 12vw, 150px);display:grid;grid-template-columns:var(--metric-rail) minmax(0,1fr) var(--metric-rail);align-items:start;align-content:start;gap:clamp(14px,2.2vw,26px);height:100%;min-height:0}.klotski-wrap{overflow:hidden}.klotski-board{position:relative;grid-column:2;--board-pad: clamp(10px, 1.6vh, 16px);--piece-gap: clamp(3px, .55vh, 5px);display:block;width:min(52vw,calc(100dvh - 130px),520px);max-width:100%;max-height:calc(100dvh - 130px);aspect-ratio:var(--board-aspect, var(--board-cols) / var(--board-rows));margin:auto;padding:var(--board-pad);border:4px solid #111;border-radius:clamp(18px,3vh,26px);background-color:#111;box-shadow:var(--shadow);overflow:hidden}.board-cell{position:absolute;left:calc(var(--board-pad) + var(--cell-x) * ((100% - 2 * var(--board-pad)) / var(--board-cols)));top:calc(var(--board-pad) + var(--cell-y) * ((100% - 2 * var(--board-pad)) / var(--board-rows)));width:calc((100% - 2 * var(--board-pad)) / var(--board-cols));height:calc((100% - 2 * var(--board-pad)) / var(--board-rows));z-index:0;pointer-events:none}.board-cell.tone-light{background:#cbb893}.board-cell.tone-dark{background:#a18a5e}.target-cell{position:absolute;left:calc(var(--board-pad) + var(--target-x) * ((100% - 2 * var(--board-pad)) / var(--board-cols)));bottom:0;z-index:1;width:calc(var(--target-w) * ((100% - 2 * var(--board-pad)) / var(--board-cols)));height:var(--board-pad);background:linear-gradient(90deg,#a18a5e 0,#a18a5e 50%,#cbb893 50%,#cbb893);pointer-events:none}.piece{position:absolute;left:calc(var(--board-pad) + var(--piece-x) * ((100% - 2 * var(--board-pad)) / var(--board-cols)) + var(--piece-gap) / 2);top:calc(var(--board-pad) + var(--piece-y) * ((100% - 2 * var(--board-pad)) / var(--board-rows)) + var(--piece-gap) / 2);width:calc(var(--piece-w) * ((100% - 2 * var(--board-pad)) / var(--board-cols)) - var(--piece-gap));height:calc(var(--piece-h) * ((100% - 2 * var(--board-pad)) / var(--board-rows)) - var(--piece-gap));z-index:2;border:0;color:#fff;font-size:clamp(20px,3.8vh,38px);font-weight:1000;touch-action:none;box-shadow:inset 0 -8px #00000029,4px 4px #21144529;transition:transform .18s ease,filter .18s ease}.piece.has-img{background-size:100% 100%;background-position:center;background-repeat:no-repeat;font-size:0;box-shadow:none;border-radius:6px;overflow:hidden}.piece.has-img:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #111;border-radius:inherit;pointer-events:none}.accent-hero{background:#ef4b81}.accent-blue{background:#1ca7b8}.accent-violet{background:#5b4cc4}.accent-pink{background:#ef4b81}.accent-cyan{background:#1ca7b8}.accent-amber{background:#f2b13d}.accent-mint{background:#38a66a}.accent-red{background:#e7356b}.live-metric{grid-column:3;justify-self:end;display:grid;place-items:center;width:clamp(112px,12vw,150px);aspect-ratio:1;border:3px solid var(--line);border-radius:16px;color:#fff;background:#211445;font-size:clamp(40px,5.4vw,76px);font-weight:1000;line-height:.88;box-shadow:8px 8px #f2b13d73;transform:translateY(-2px)}.klotski-controls{grid-column:3;display:flex;width:var(--metric-rail);flex-direction:column;align-items:stretch;gap:0}.klotski-controls>*+*{margin-top:14px}.klotski-controls .live-metric{grid-column:auto;width:100%}.klotski-reset-button{display:grid;place-items:center;width:100%;min-height:0;aspect-ratio:1;padding:0;border:1.5px solid #111;border-radius:12px;color:#111;background:#fff;box-shadow:8px 8px #f2b13d73}.klotski-reset-button img{display:block;width:clamp(36px,48%,52px);height:auto;object-fit:contain}.memory-board{display:grid;grid-column:2;grid-template-columns:repeat(var(--memory-cols),1fr);gap:clamp(10px,1.2vw,18px);width:min(70vw,820px,calc((100vh - 170px) * var(--memory-cols) * var(--memory-card-ratio, .714) / var(--memory-rows)));width:min(70vw,820px,calc((100dvh - 170px) * var(--memory-cols) * var(--memory-card-ratio, .714) / var(--memory-rows)));max-width:100%;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);margin:auto;perspective:1200px}.memory-wrap{overflow:visible}.memory-card{position:relative;aspect-ratio:var(--card-aspect, 5 / 7);min-height:0;border:0;border-radius:16px;background:transparent;transform-style:preserve-3d}@supports not (aspect-ratio: 1 / 1){.memory-card:before{content:"";display:block;padding-top:calc(100% / var(--memory-card-ratio, .714))}}.memory-card.has-card-img{border-radius:clamp(4px,.8vw,8px)}.memory-card.has-card-img .card-back,.memory-card.has-card-img .card-face{background-color:#fff;background-position:center;background-repeat:no-repeat;box-shadow:4px 4px #21144524}.memory-card.has-card-img .card-back{background-size:100% 100%}.memory-card.has-card-img .card-face{background-size:cover}.memory-card>span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:inherit;backface-visibility:hidden;transition:transform .36s cubic-bezier(.175,.885,.32,1.275)}.card-back{background:linear-gradient(90deg,rgba(255,255,255,.16) 0 1px,transparent 1px 100%),linear-gradient(180deg,rgba(255,255,255,.14) 0 1px,transparent 1px 100%),radial-gradient(circle at 50% 32%,rgba(255,255,255,.68),transparent 18%),linear-gradient(145deg,#151a2f,#f6f2ea 48%,#111524 49%,#202846);background-size:18px 18px,18px 18px,auto,auto;box-shadow:4px 4px #21144524}.back-emblem{display:grid;place-items:center;width:42%;aspect-ratio:1;border-radius:50%;color:#f6f2ea;background:#211445;font-size:clamp(22px,3.4vw,46px);font-weight:1000}.card-face{grid-template-rows:auto 1fr auto;padding:clamp(8px,1.1vw,14px);color:#fff;font-weight:1000;transform:rotateY(180deg);box-shadow:inset 0 -9px #00000029,4px 4px #2418271f}.card-rank,.card-name{justify-self:stretch;border-radius:10px;text-align:center;color:#211445;background:#ffffffc7}.card-rank{font-size:clamp(18px,2.4vw,34px)}.card-name{padding:4px 0;font-size:clamp(9px,1.1vw,14px);letter-spacing:0}.wing-mark{width:74%;aspect-ratio:1.5;border-radius:50% 50% 46% 46%;background:radial-gradient(ellipse at 35% 52%,rgba(255,255,255,.95) 0 28%,transparent 29%),radial-gradient(ellipse at 65% 52%,rgba(255,255,255,.95) 0 28%,transparent 29%),linear-gradient(90deg,#161a2d 0,#161a2d 48%,#f7f2e8 48%,#f7f2e8 52%,#161a2d 52%,#161a2d);box-shadow:inset 0 0 0 3px #ffffff6b}.memory-card.flipped .card-back{transform:rotateY(180deg)}.memory-card.flipped .card-face{transform:rotateY(360deg)}.face-A,.face-F{background:#ef4b81}.face-B,.face-G{background:#1ca7b8}.face-C,.face-H{background:#38a66a}.face-D,.face-I{background:#5b4cc4}.face-E,.face-J{background:#f2b13d}.result-screen{display:grid;place-items:center}.result-bg-fireworks{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.halftone-overlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.1;background-image:radial-gradient(var(--line) 16%,transparent 16%);background-size:16px 16px;animation:pulse-halftone 5.5s cubic-bezier(.16,1,.3,1) infinite alternate}.firework-explosion{position:absolute;transform:translate(-50%,-50%);width:1px;height:1px}.firework-trail{position:absolute;left:50%;top:50%;width:3px;height:68px;border-left:2px dashed var(--fw-color);-webkit-mask-image:linear-gradient(to top,transparent 15%,black 100%);mask-image:linear-gradient(to top,transparent 15%,black 100%);opacity:0;animation:firework-trail-rise .3s linear forwards}.firework-trail:after{content:"✦";position:absolute;top:-12px;left:-7px;font-size:14px;color:#fff;animation:fuse-sparkle .12s linear infinite alternate}.firework-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);width:82px;height:82px;border:3px solid var(--fw-color);border-radius:50%;opacity:0;animation:firework-ring-expand 1.1s cubic-bezier(.1,.8,.3,1) .3s backwards}.firework-spark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(0) scale(0);color:var(--fw-color);font-size:var(--spark-size);font-weight:1000;line-height:1;text-shadow:-1.5px -1.5px 0 var(--line),1.5px -1.5px 0 var(--line),-1.5px 1.5px 0 var(--line),1.5px 1.5px 0 var(--line),2.5px 2.5px 0 var(--line);opacity:0;animation:firework-spark-burst 1.3s cubic-bezier(.05,.75,.15,1) .3s backwards}@keyframes firework-trail-rise{0%{transform:translate(-50%,-50%) translateY(calc(100dvh - var(--target-y))) scaleY(1.3);opacity:0}15%{opacity:.95}70%{opacity:.95;transform:translate(-50%,-50%) translateY(9dvh) scaleY(1.05)}85%{opacity:0;transform:translate(-50%,-50%) translateY(4.5dvh) scaleY(.7)}to{transform:translate(-50%,-50%) translateY(0) scaleY(.4);opacity:0}}@keyframes fuse-sparkle{0%{transform:translate(-50%) scale(.8) rotate(0)}to{transform:translate(-50%) scale(1.2) rotate(15deg)}}@keyframes firework-ring-expand{0%{transform:translate(-50%,-50%) scale(0);opacity:0;border-width:6px}1%{opacity:.95}65%{opacity:.55;border-width:2.5px}to{transform:translate(-50%,-50%) scale(2.3);opacity:0;border-width:1px}}@keyframes firework-spark-burst{0%{transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(0) scale(0);opacity:0}1%{transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(0) scale(.4);opacity:1}50%{opacity:1}75%{opacity:.85}to{transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(var(--spark-dist)) scale(.9) rotate(45deg);opacity:0}}@keyframes pulse-halftone{0%{opacity:.07;transform:scale(1)}to{opacity:.13;transform:scale(1.015)}}.result-panel{position:relative;z-index:1;display:grid;justify-items:center;gap:22px;width:min(680px,100%);padding:clamp(28px,4vw,48px);text-align:center;transform:translateY(clamp(-40px,-4vh,-20px));transform:translateY(clamp(-40px,-4dvh,-20px))}.result-panel h1{font-size:clamp(54px,8vw,116px)}.result-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(520px,100%)}.result-metric{display:grid;place-items:center;min-width:220px;min-height:170px;border:3px solid var(--line);border-radius:16px;color:#fff;background:#211445;box-shadow:8px 8px #f2b13d8f}.result-metric.is-record{background:var(--pink);box-shadow:8px 8px #f2b13db8}.result-metric span{font-size:20px;font-weight:900}.result-metric strong{font-size:70px;line-height:1}.result-time strong{font-size:clamp(32px,4.5vw,48px)}.result-metric em{padding:5px 10px;border:2px solid currentColor;border-radius:999px;color:#fff3a0;font-size:14px;font-style:normal;font-weight:1000;line-height:1}.result-actions{display:flex;gap:0;flex-wrap:wrap;justify-content:center}.result-actions button+button{margin-left:14px}@media(hover:hover){.game-card:hover,.primary-button:hover,.secondary-button:hover,.danger-button:hover,.icon-button:hover,.back-button:hover,.exit-button:hover,.piece:hover{transform:translateY(-3px);filter:saturate(1.06)}}@media(min-width:901px){.hero-title-row{transform:translateY(-24px)}.home-screen:lang(en) .hero-copy p{font-size:clamp(28px,3.8vw,50px)}.home-screen:lang(ja) .hero-copy p{font-size:clamp(28px,3.1vw,42px)}.home-screen:lang(ko) .hero-copy p{font-size:clamp(26px,2.9vw,38px)}.game-settings-section,.stats-settings-section{align-self:stretch}.game-settings-section .settings-row{min-height:110px}.stats-settings-section .stat-card strong{margin-top:4px;font-size:22px}}.app-shell.layout-portrait-large .klotski-wrap,.app-shell.layout-portrait-wide .klotski-wrap,.app-shell.layout-portrait-large .memory-wrap,.app-shell.layout-portrait-wide .memory-wrap{--metric-rail: clamp(104px, 10vw, 116px);grid-template-columns:var(--metric-rail) minmax(0,1fr) var(--metric-rail);gap:clamp(12px,1.5vw,18px)}.app-shell.layout-portrait-large .klotski-board,.app-shell.layout-portrait-wide .klotski-board{width:min(66vw,700px,calc(100vh - 170px));width:min(66vw,700px,calc(100dvh - 170px))}.app-shell.layout-portrait-large .memory-board,.app-shell.layout-portrait-wide .memory-board{grid-column:2;width:min(72vw,860px,calc((100vh - 170px) * var(--memory-cols) * var(--memory-card-ratio, .714) / var(--memory-rows)));width:min(72vw,860px,calc((100dvh - 170px) * var(--memory-cols) * var(--memory-card-ratio, .714) / var(--memory-rows)))}.app-shell.layout-portrait-large .memory-wrap>.live-metric,.app-shell.layout-portrait-wide .memory-wrap>.live-metric{width:var(--metric-rail)}.app-shell.layout-narrow .intro-stage,.app-shell.layout-portrait-large .intro-stage,.app-shell.layout-portrait-wide .intro-stage,.app-shell.layout-wide .intro-stage{align-items:center;padding-bottom:clamp(40px,8vh,80px);padding-bottom:clamp(40px,8dvh,80px)}.app-shell.layout-wide .home-stage.game-count-3{align-content:center;padding-bottom:clamp(40px,8vh,80px);padding-bottom:clamp(40px,8dvh,80px)}.app-shell.layout-wide .game-card,.app-shell.layout-short .game-card{min-height:390px}.app-shell.layout-wide .game-copyright,.app-shell.layout-short .game-copyright{margin-bottom:-8px}.app-shell.layout-portrait-large .home-stage.game-count-3{justify-items:center}.app-shell.layout-portrait-large .home-stage.game-count-3 .hero-band,.app-shell.layout-portrait-large .home-stage.game-count-3 .game-grid{width:min(860px,100%)}.app-shell.layout-portrait-large .home-stage.game-count-3 .game-grid{grid-template-columns:minmax(0,1fr);gap:18px}.app-shell.layout-portrait-large .home-stage.game-count-3 .game-card{grid-template-columns:minmax(180px,25%) minmax(0,1fr);grid-template-rows:auto;align-items:center;height:clamp(184px,11.5vh,220px);padding:20px;column-gap:24px;row-gap:0}.app-shell.layout-portrait-large .home-stage.game-count-3 .game-card-art{justify-items:center}.app-shell.layout-narrow .intro-card,.app-shell.layout-portrait-large .intro-card,.app-shell.layout-portrait-wide .intro-card,.app-shell.layout-wide .intro-card{margin:0 auto}.app-shell.layout-narrow .game-grid{align-content:start}.app-shell.layout-narrow .game-card{grid-template-columns:minmax(150px,24%) minmax(0,1fr);grid-template-rows:minmax(0,1fr) min-content;align-items:center;height:clamp(190px,14vh,230px);min-height:0;padding:clamp(18px,2.5vw,26px);column-gap:clamp(18px,3vw,28px);row-gap:0}.app-shell.layout-narrow .game-card-art{justify-items:center}.app-shell.layout-narrow .game-illustration-img,.app-shell.layout-narrow .game-illustration-img.klotski-card-ill{width:clamp(132px,20vw,176px)}@media(max-width:900px){body{overflow-x:hidden;overflow-y:auto}.home-screen{height:auto;min-height:100vh;min-height:100dvh;grid-template-rows:auto minmax(250px,1fr);overflow-y:auto}.panel-screen{height:auto;min-height:100vh;min-height:100dvh;overflow-y:auto}.settings-layout{overflow:visible;padding-right:0}.hero-band,.game-grid,.game-grid.game-count-2,.settings-layout,.compact-controls{grid-template-columns:1fr}.compact-control{justify-content:space-between}.compact-controls>.primary-button{justify-self:end;width:auto;min-width:120px}.hero-band{display:block;min-height:auto}.hero-copy p{font-size:clamp(24px,4.5vw,40px);line-height:1}.hero-line{margin-top:10px}.play-screen{height:auto;min-height:100vh;min-height:100dvh;overflow-y:auto}.klotski-wrap,.memory-wrap{--metric-rail: clamp(84px, 12vw, 112px);grid-template-columns:var(--metric-rail) minmax(0,1fr) var(--metric-rail);height:100%;min-height:0;overflow:hidden}.memory-wrap{overflow:visible}.klotski-board{width:min(calc(100vw - 150px),calc(100dvh - 130px),440px);max-height:none}.memory-board{width:min(calc(100vw - 150px),calc((100vh - 130px) * var(--memory-cols) * var(--memory-card-ratio, .714) / var(--memory-rows)));width:min(calc(100vw - 150px),calc((100dvh - 130px) * var(--memory-cols) * var(--memory-card-ratio, .714) / var(--memory-rows)));max-height:none}.mascot-frame,.arcade-ticket{display:none}.section-title{align-items:flex-start;flex-direction:column}.top-bar{align-items:flex-start;justify-content:space-between;flex-direction:row}.stat-grid{grid-template-columns:repeat(2,1fr)}.game-settings-form label{grid-template-columns:1fr}.live-metric{width:clamp(84px,12vw,112px);margin:auto;font-size:clamp(32px,6vw,54px)}}@media(max-width:640px){.game-copyright,.intro-copyright,.play-copyright,.intro-card p.intro-copyright{font-size:10px}.home-screen,.panel-screen,.play-screen,.result-screen,.countdown-screen{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.home-screen{grid-template-rows:auto minmax(250px,1fr);gap:10px}.home-stage{gap:10px}h1{font-size:clamp(20px,6.6vw,40px)}.home-screen h1{font-size:clamp(19px,5.8vw,40px)}.top-bar,.panel-header{gap:10px}.top-bar{display:block;padding-right:146px}.top-actions{position:absolute;top:0;right:0;margin-left:0;width:auto;flex:0 0 auto;justify-content:flex-end;gap:0}.top-actions>*+*{margin-left:2px}.segmented{padding:1px;gap:0;border-radius:10px}.segmented button+button{margin-left:1px}.panel-header{gap:0}.panel-header>*+*{margin-left:10px}.intro-screen .panel-header h1{font-size:clamp(19px,5.5vw,26px);line-height:1.12}.segmented button{min-width:24px;min-height:28px;padding:3px 4px;font-size:9px}.icon-button,.back-button{width:34px;height:34px}.hero-band{display:block;min-height:auto}.hero-copy p{max-width:18em;font-size:clamp(18px,4.6vw,26px);line-height:1.02;text-shadow:2px 2px 0 rgba(242,177,61,.45)}.hero-line{width:100%;height:8px;margin-top:8px}.game-grid{grid-template-columns:1fr;align-content:start;gap:10px}.game-card{grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0,1fr) min-content;align-items:start;min-height:126px;height:auto;padding:14px;column-gap:14px;row-gap:clamp(4px,1vw,6px)}.game-card:before{top:7px;right:7px;bottom:7px;left:7px}.game-card:after{right:8px;top:8px;padding:3px 7px;font-size:9px}.game-illustration-img,.game-illustration-img.klotski-card-ill{width:min(100%,108px)}.game-illustration-img.memory-ill{gap:5px;padding:8px}.game-card-copy{gap:clamp(6px,2vw,8px);padding-right:0}.game-card-copy>span{padding-right:clamp(36px,8vw,46px);font-size:clamp(18px,5.35vw,26px);line-height:1.15}.game-card-copy small{font-size:clamp(11px,3vw,13px);line-height:1.35}.settings-row,.section-title,.dialog-actions,.compact-controls label{align-items:stretch;flex-direction:column}.dialog-actions button{width:100%}.dialog-actions button+button{margin-top:10px;margin-left:0}.settings-row{grid-template-columns:1fr}.settings-row .secondary-button{justify-self:end;width:auto;min-width:120px}.settings-row-actions{justify-content:space-between;width:100%}.stats-section-title{align-items:center;flex-direction:row}.stats-section-title .danger-button{width:auto;min-width:120px}.stat-grid{grid-template-columns:1fr 1fr}.intro-card{gap:12px;margin-top:0}.intro-card p{font-size:clamp(17px,5vw,22px);line-height:1.25}.instruction-image{aspect-ratio:auto;min-height:0}.intro-hero{align-self:start}.play-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:8px;min-height:46px}.best-record-display{grid-column:2;grid-row:1;justify-self:end;min-width:116px;padding:5px 9px}.best-record-display strong{font-size:17px}.timer-wrap{grid-column:1 / -1;grid-row:2;justify-self:start;width:calc(100% - 64px)}.exit-button{grid-column:1;grid-row:1;justify-self:start;min-width:84px;min-height:44px;padding:0 12px}.timer-wrap{height:20px}.play-time-remaining{grid-column:1 / -1;grid-row:2;justify-self:end;min-width:52px;text-align:right;font-size:22px}.klotski-wrap,.memory-wrap{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center;align-items:start;align-content:start;gap:10px;height:auto;overflow:visible}.klotski-controls{grid-column:1;grid-row:2;width:auto;flex-direction:row;align-items:center;justify-content:center;gap:0}.klotski-controls>*+*{margin-top:0;margin-left:10px}.klotski-controls .live-metric{width:88px}.klotski-reset-button{width:88px;min-width:0;min-height:0}.klotski-board{grid-column:1;width:min(92vw,calc(100dvh - 188px),360px)}.memory-board{grid-column:1;width:min(94vw,calc((100vh - 188px) * var(--memory-cols) * var(--memory-card-ratio, .714) / var(--memory-rows)));width:min(94vw,calc((100dvh - 188px) * var(--memory-cols) * var(--memory-card-ratio, .714) / var(--memory-rows)));gap:clamp(6px,2.2vw,10px)}.live-metric{grid-column:1;width:88px;font-size:30px;transform:translateY(0)}.result-panel{gap:14px;padding:18px}.result-panel h1{font-size:clamp(38px,14vw,70px)}.result-metric{min-width:0;min-height:130px}.result-metrics{gap:10px}.result-metric strong{font-size:clamp(42px,13vw,58px)}.result-time strong{font-size:clamp(24px,7.5vw,36px)}}@media(max-width:420px){.kicker{margin-bottom:6px;font-size:clamp(12px,3.6vw,14px)}.segmented button{font-size:clamp(8px,2.4vw,9px)}.hero-copy p,.hero-line{display:none}.home-screen{gap:8px}.hero-band{height:0;overflow:hidden}.hero-band.has-endless-mode{height:auto;overflow:visible}.hero-band.has-endless-mode .hero-title-row{justify-content:flex-end}.game-card{min-height:112px;padding:clamp(12px,3.5vw,14px);column-gap:clamp(10px,3.5vw,14px)}.game-card:after{font-size:clamp(8px,2.4vw,9px)}.game-illustration-img,.game-illustration-img.klotski-card-ill{width:min(100%,94px)}.game-copyright{font-size:clamp(9px,2.7vw,10px)}}@media(min-width:901px)and (max-height:660px){.home-screen{padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom));gap:6px}.arcade-ticket{min-height:104px;padding:8px 10px}.ticket-header{padding-bottom:3px}.ticket-footer{padding-top:4px}.ticket-barcode{height:10px}}@media(orientation:landscape){.intro-stage,.klotski-wrap,.memory-wrap{width:calc(100% - 48px);max-width:1200px;margin-right:auto;margin-left:auto}.home-stage{width:100%}.game-grid{width:calc(100% - 48px);max-width:1200px;margin-right:auto;margin-left:auto}.game-grid.game-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.game-grid.game-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.layout-narrow .game-card{grid-template-columns:1fr;grid-template-rows:min-content minmax(0,1fr) min-content;align-items:start;min-height:0;height:auto;padding:clamp(12px,2vw,18px);column-gap:0;row-gap:clamp(8px,1.4vw,12px)}.app-shell.layout-narrow .game-card-art{justify-items:start}}@media(orientation:landscape)and (max-height:660px){.home-screen,.panel-screen{height:100vh;height:100dvh;min-height:0;overflow:hidden}.home-screen{grid-template-rows:auto minmax(0,1fr)}.home-stage{grid-template-rows:auto minmax(0,1fr);min-height:0}.game-grid,.game-grid.game-count-2,.game-grid.game-count-1{grid-template-rows:auto;grid-auto-rows:auto;align-content:center;min-height:0}.game-grid.game-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.game-grid.game-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.layout-short .game-card,.app-shell.layout-compact .game-card,.app-shell.layout-narrow .game-card{grid-template-columns:1fr;grid-template-rows:min-content minmax(0,1fr) min-content;align-items:start;min-height:0;height:auto;padding:clamp(8px,2.4vh,14px);padding:clamp(8px,2.4dvh,14px);column-gap:0;row-gap:clamp(3px,1.2vh,7px);row-gap:clamp(3px,1.2dvh,7px)}.game-card-art{align-self:start;justify-items:start}.game-illustration-img.klotski-ill{padding:6px}.game-illustration-img.memory-ill{gap:4px;padding:6px}.game-card-copy{align-self:start;gap:2px}.game-card-copy>span{font-size:clamp(12px,3.8vh,19px);font-size:clamp(12px,3.8dvh,19px);line-height:1.05}.game-card-copy small{font-size:clamp(8px,2.3vh,12px);font-size:clamp(8px,2.3dvh,12px);line-height:1.15}.game-copyright{align-self:end;margin-bottom:0;padding-top:0;font-size:9px}.panel-screen>*+*{margin-top:clamp(6px,1.8vh,10px);margin-top:clamp(6px,1.8dvh,10px)}.intro-stage{min-height:0;align-items:stretch;padding-bottom:0}.intro-card{grid-template-rows:minmax(0,1fr) auto auto auto auto;width:100%;height:100%;min-height:0;margin:0 auto;padding:clamp(9px,2.4vh,14px);padding:clamp(9px,2.4dvh,14px);gap:clamp(4px,1.2vh,8px);gap:clamp(4px,1.2dvh,8px);overflow:hidden}.intro-hero,.instruction-image{min-height:0}.intro-hero{align-self:stretch;overflow:hidden}.instruction-image{height:100%;aspect-ratio:auto}.instruction-image .game-illustration-img.memory-ill{gap:4px;padding:6px}.instruction-image .game-illustration-img.klotski-ill{padding:6px}.intro-badges{margin:0}.intro-badge{padding:4px 9px;font-size:11px}.intro-card p{font-size:clamp(14px,3.8vh,19px);font-size:clamp(14px,3.8dvh,19px);line-height:1.2}.intro-card>.primary-button{min-height:40px;padding-top:8px;padding-bottom:8px}.intro-card p.intro-copyright{margin:0;font-size:9px}.result-screen{height:100vh;height:100dvh;min-height:0;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:hidden}.result-panel{grid-template-rows:auto auto minmax(0,auto) auto;max-height:100%;gap:clamp(8px,2.2vh,14px);gap:clamp(8px,2.2dvh,14px);padding:clamp(14px,3.5vh,22px);padding:clamp(14px,3.5dvh,22px);transform:none}.result-panel .kicker{margin:0;padding:0;font-size:clamp(10px,2.8vh,14px);font-size:clamp(10px,2.8dvh,14px)}.result-panel h1{font-size:clamp(42px,13vh,76px);font-size:clamp(42px,13dvh,76px);line-height:.92}.result-metrics{gap:clamp(8px,2.2vh,14px);gap:clamp(8px,2.2dvh,14px)}.result-metric{min-width:0;min-height:clamp(104px,34vh,142px);min-height:clamp(104px,34dvh,142px);padding:clamp(8px,2vh,12px);padding:clamp(8px,2dvh,12px)}.result-metric span{font-size:clamp(12px,3.6vh,17px);font-size:clamp(12px,3.6dvh,17px)}.result-metric strong{font-size:clamp(38px,13vh,58px);font-size:clamp(38px,13dvh,58px)}.result-time strong{font-size:clamp(26px,9vh,42px);font-size:clamp(26px,9dvh,42px)}.result-metric em{padding:3px 8px;font-size:11px}.result-actions button{min-height:clamp(42px,9vh,48px);min-height:clamp(42px,9dvh,48px);padding-right:18px;padding-left:18px}}@media(max-width:420px),(max-height:660px){.klotski-wrap,.memory-wrap{grid-template-columns:1fr;gap:8px}.klotski-board{grid-column:1;width:min(92vw,calc(100dvh - 170px),320px)}.memory-board{grid-column:1;width:min(92vw,calc((100vh - 170px) * var(--memory-cols) * var(--memory-card-ratio, .714) / var(--memory-rows)));width:min(92vw,calc((100dvh - 170px) * var(--memory-cols) * var(--memory-card-ratio, .714) / var(--memory-rows)))}.live-metric{grid-column:1;width:72px;border-width:2px;border-radius:12px;font-size:24px;box-shadow:4px 4px #f2b13d73}.klotski-controls .live-metric{width:72px}.klotski-reset-button{width:72px;box-shadow:4px 4px #f2b13d73}}@media(orientation:landscape)and (max-height:660px){.klotski-wrap,.memory-wrap{grid-template-columns:var(--metric-rail) minmax(0,1fr) var(--metric-rail);grid-template-rows:minmax(0,1fr);justify-items:stretch;align-items:start;align-content:start;height:100%;overflow:hidden}.klotski-board,.memory-board{grid-column:2;grid-row:1;justify-self:center}.klotski-controls{grid-column:3;grid-row:1;justify-self:end;align-self:start;width:var(--metric-rail);flex-direction:column;align-items:stretch;margin:0}.klotski-controls>*+*{margin-top:14px;margin-left:0}.memory-wrap>.live-metric{grid-column:3;grid-row:1;justify-self:end;align-self:start;margin:0}}@media(min-width:641px){.memory-wrap>.live-metric{align-self:start;margin-top:0;margin-bottom:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@keyframes pop-in{0%{opacity:0;transform:scale(.72) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes count-pop{0%{transform:scale(.98) rotate(-1.6deg)}to{transform:scale(1) rotate(0)}}@keyframes spin-slow{to{transform:rotate(360deg)}}.live-metric,.countdown-burst,.result-metric strong,.best-record-display strong,.play-time-remaining{font-family:Outfit,Space Mono,monospace,sans-serif;font-weight:900}.game-card:active,.primary-button:active,.secondary-button:active,.danger-button:active,.icon-button:active,.back-button:active,.exit-button:active{transform:translate(1px,3px)!important;box-shadow:1px 1px #24182724!important}.intro-badges{display:flex;gap:0;justify-content:center;flex-wrap:wrap;margin:-6px 0 6px}.intro-badge+.intro-badge{margin-left:12px}.intro-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:2px solid var(--line);border-radius:999px;font-size:14px;font-weight:900;color:var(--ink);background:var(--paper-strong);box-shadow:2px 2px 0 var(--line)}.custom-assets-section{grid-column:1 / -1;display:flex;flex-direction:column;gap:20px}.custom-assets-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;width:100%}.section-desc-para{font-size:14px;color:var(--ink);opacity:.8;margin-top:4px}.assets-bulk-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.import-btn-label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;height:50px}.trilingual-config-card{background:var(--paper);border:3px solid var(--line);border-radius:16px;padding:24px;box-shadow:4px 4px 0 var(--line);width:100%}.lang-inputs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:900px){.lang-inputs-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media(max-width:640px){.lang-inputs-grid{grid-template-columns:1fr}}.lang-input-column{display:flex;flex-direction:column;gap:14px;background:var(--paper-strong);border:2px solid var(--line);border-radius:12px;padding:14px}.lang-column-label{font-size:14px;font-weight:900;color:var(--ink);border-bottom:2px dashed var(--line);padding-bottom:6px;display:block}.lang-field{display:flex;flex-direction:column;gap:6px}.lang-field label{font-size:12px;font-weight:800;color:var(--ink);opacity:.85}.lang-field input{font-family:inherit;font-size:14px;font-weight:700;padding:8px 12px;border:2px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);outline:none;transition:box-shadow .15s ease}.lang-field input:focus{box-shadow:2px 2px 0 var(--line)}.copyright-setting-field{width:100%}.copyright-settings-grid{display:grid;gap:12px}.custom-game-assets-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%}@media(max-width:900px){.custom-assets-header{align-items:stretch}.assets-bulk-controls{justify-content:flex-start;width:100%}.custom-game-assets-cards-grid{grid-template-columns:1fr;gap:16px}}.custom-game-card{display:flex;align-items:center;gap:16px;padding:20px;border:3px solid var(--line);border-radius:16px;cursor:pointer;text-align:left;box-shadow:4px 4px 0 var(--line);transition:transform .18s ease,box-shadow .18s ease;font-family:inherit;color:var(--ink)}.custom-game-card:hover{transform:translateY(-3px);box-shadow:7px 7px 0 var(--line)}.custom-game-card:active{transform:translate(1px,3px)!important;box-shadow:1px 1px #24182724!important}.card-game-icon{width:52px;height:52px;border-radius:12px;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:2px 2px 0 var(--line)}.card-game-info{display:flex;flex-direction:column;gap:4px}.card-game-info strong{font-size:16px;font-weight:900}.card-game-info span{font-size:12px;opacity:.8}.assets-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#24182799;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.assets-modal-box{background:var(--paper);border:4px solid var(--line);border-radius:24px;width:min(840px,95vw);max-height:90vh;box-shadow:8px 8px 0 var(--line);display:flex;flex-direction:column;overflow:hidden;position:relative;animation:modalPop .25s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes modalPop{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:3px solid var(--line);background:var(--paper-strong)}.modal-header h2{font-size:20px;font-weight:900;margin:0;color:var(--ink)}.close-modal-button{font-size:32px;font-weight:800;background:transparent;color:var(--ink);cursor:pointer;line-height:1;padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid transparent;border-radius:50%;transition:all .15s ease;transform-origin:center;box-sizing:border-box}.close-modal-button:hover{background:var(--paper);border-color:var(--line);transform:rotate(90deg)}.close-modal-button svg{width:20px;height:20px;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;display:block}.modal-scroll-content{padding:24px;overflow-y:auto;flex:1}.modal-subheading{font-size:14px;margin:0 0 20px;color:var(--ink);opacity:.95;font-weight:700}.modal-footer-actions{display:flex;justify-content:space-between;padding:16px 24px;border-top:3px solid var(--line);background:var(--paper-strong)}.klotski-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px;margin-top:8px}.klotski-slot-item{display:flex;flex-direction:column;gap:8px;align-items:center;background:var(--paper-strong);border:2px solid var(--line);border-radius:12px;padding:12px;box-shadow:2px 2px 0 var(--line)}.slot-label{font-size:12px;font-weight:800;text-align:center;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.compact-back-row{display:flex;align-items:center;gap:20px;background:var(--paper-strong);border:2px solid var(--line);border-radius:16px;padding:16px;box-shadow:3px 3px 0 var(--line);margin-bottom:24px;width:100%}.compact-back-card{width:110px!important;max-width:110px!important;flex-shrink:0;margin:0!important}.compact-back-card .asset-upload-card{max-width:110px!important;box-shadow:2px 2px 0 var(--line)!important}.compact-back-info{display:flex;flex-direction:column;gap:6px;flex:1}.compact-back-info h3{font-size:16px;font-weight:900;margin:0;color:var(--ink)}.compact-back-desc{font-size:13px;color:var(--ink);opacity:.85;margin:0;line-height:1.4}.modal-section-divider{height:3px;border-bottom:2px dashed var(--line);margin:16px 0;width:100%}.modal-section-title{font-size:16px;font-weight:900;color:var(--ink);margin:0 0 16px;padding-bottom:6px}.asset-upload-card{position:relative;width:100%;max-width:240px;margin:0 auto;border:3px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper-strong);box-shadow:4px 4px 0 var(--line);transition:transform .18s ease,box-shadow .18s ease}.asset-upload-card:hover{transform:translateY(-3px);box-shadow:7px 7px 0 var(--line)}.asset-preview-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#fff;display:block}.asset-upload-container{display:flex;flex-direction:column;gap:10px;width:100%;align-items:center}.asset-upload-controls{display:flex;gap:6px;width:100%;justify-content:center}.compact-btn{flex:1;min-height:32px;height:32px;padding:0 4px;font-size:11px;font-weight:900;border-radius:6px;border:1.5px solid var(--line)!important;box-shadow:2px 2px 0 var(--line)!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:transform .1s ease,box-shadow .1s ease!important}.compact-btn:active{transform:translate(1px,1px)!important;box-shadow:0 0 0 var(--line)!important}.card-faces-thumbnail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;width:100%}.card-face-thumb{position:relative;width:100%;min-width:0;border:2px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper-strong);box-shadow:2px 2px 0 var(--line);transition:transform .18s ease,box-shadow .18s ease}.card-face-thumb:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--line)}.card-face-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#fff;display:block}.thumb-char-label{position:absolute;bottom:2px;right:2px;background:#211445d9;color:#fff;border-radius:3px;padding:1px 4px;font-size:10px;font-weight:900;font-family:Outfit,sans-serif;pointer-events:none}.card-face-cell{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%}.card-face-controls{display:flex;gap:6px;width:100%;justify-content:center}.card-face-controls .compact-btn{min-width:0}.delete-face-btn{flex:0 0 auto;min-width:42px;padding-inline:6px}
