@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700;900&family=Zen+Antique+Soft&display=swap");:root{--washi:#fff;--ink:#262626;--vermillion:#c0392b;--gold:#ea580c;--shadow:hsla(0,0%,6%,.1);--card-bg:#fff;--green:#2d6a4f;--cpu-blue:#2563eb;--border:#e5e5e5;--border-strong:#d4d4d4;--muted:#6b7280;--muted-light:#9ca3af;--tile-bg:#f5f5f5;--overlay-scrim:hsla(0,0%,8%,.55)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:#fff;font-family:M PLUS Rounded\ 1c,sans-serif;color:var(--ink);min-height:100vh;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain}.screen{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);display:flex;flex-direction:column;min-height:100vh}#screen-settings,#screen-title{background-image:url(/images/mode-select-bg.jpg);background-size:cover;background-position:50%;background-repeat:no-repeat}#screen-title{align-items:center;justify-content:center;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow-y:auto;gap:clamp(20px,4vh,36px);padding:clamp(16px,4vh,48px) 24px;text-align:center}.logo h1{font-family:Zen Antique Soft,serif;font-size:clamp(32px,7vw,58px);letter-spacing:.2em;line-height:1.2}.logo .sub{margin-top:10px;font-size:13px;color:var(--muted);letter-spacing:.15em}.logo:after{content:"";display:block;width:140px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:18px auto 0}.start-panel{background:hsla(0,0%,100%,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:10px;padding:32px 32px 28px;width:100%;max-width:380px;box-shadow:0 2px 16px var(--shadow);display:flex;flex-direction:column;gap:20px;animation:start-panel-fade-in .45s ease-out both}@keyframes start-panel-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.start-panel h2{font-size:15px;color:var(--gold);letter-spacing:.12em;text-align:center}#screen-title .start-panel{max-width:clamp(440px,46vw,620px);padding:clamp(30px,4.5vh,44px) clamp(30px,5vw,46px) clamp(26px,4vh,40px);gap:clamp(22px,3.4vh,30px)}#screen-title .start-panel h2{font-size:17px}#screen-title .mode-group{gap:clamp(16px,2.6vh,24px)}#screen-title .mode-btn{min-height:clamp(76px,12vh,104px);padding:clamp(20px,3vh,30px) clamp(26px,4vw,34px);gap:clamp(14px,2vw,18px)}#screen-title .mode-icon{width:clamp(30px,4.4vh,40px);height:clamp(30px,4.4vh,40px)}#screen-title .mode-name{font-size:clamp(20px,2.8vh,24px)}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-group label{position:relative;display:flex;align-items:center;gap:10px;font-size:13.5px;cursor:pointer;padding:8px 12px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:8px;box-shadow:0 1px 3px var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease}@media (hover:hover){.radio-group label:hover{transform:translateY(-2px);box-shadow:0 4px 10px var(--shadow)}}.radio-group label:active{transform:translateY(0)}.radio-group label:has(input:checked){border-color:var(--gold);background:rgba(234,88,12,.05);box-shadow:inset 0 0 0 1px var(--gold),0 3px 10px rgba(234,88,12,.16)}.radio-group label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}.radio-group input[type=radio]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.radio-group label small{color:var(--muted);font-size:11px;display:block}.setting-group{gap:8px}.setting-group,.settings-actions{display:flex;flex-direction:column}.settings-actions{gap:10px}.btn-start{font-family:M PLUS Rounded\ 1c,sans-serif;font-size:16px;padding:14px;background:var(--gold);color:var(--washi);border:none;border-radius:6px;cursor:pointer;letter-spacing:.15em;transition:all .2s}.btn-start:hover{background:#c2410c;transform:translateY(-1px)}.btn-back{font-family:M PLUS Rounded\ 1c,sans-serif;font-size:13px;padding:10px 20px;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:6px;cursor:pointer;letter-spacing:.08em;transition:all .2s}.btn-back:hover{background:rgba(234,88,12,.06)}.mode-group{display:flex;flex-direction:column;gap:14px}.mode-btn{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-height:68px;gap:10px;text-align:left;font-family:M PLUS Rounded\ 1c,sans-serif;padding:20px 24px;border:1px solid rgba(0,0,0,.06);border-radius:8px;background:var(--mode-color);box-shadow:0 3px 8px var(--mode-shadow),0 1px 3px var(--shadow);cursor:pointer;transition:background-color .2s,box-shadow .2s,transform .1s;touch-action:manipulation}.mode-btn-normal{--mode-color:#2878c8;--mode-color-hover:#4288cf;--mode-color-active:#236ab0;--mode-shadow:rgba(32,96,160,.4);--mode-shadow-hover:rgba(32,96,160,.45)}.mode-btn-battle{--mode-color:#e04444;--mode-color-hover:#e45a5a;--mode-color-active:#c53c3c;--mode-shadow:rgba(179,54,54,.4);--mode-shadow-hover:rgba(179,54,54,.45)}.mode-btn-study{--mode-color:#45a85a;--mode-color-hover:#5bb26e;--mode-color-active:#3d944f;--mode-shadow:rgba(55,134,72,.4);--mode-shadow-hover:rgba(55,134,72,.45)}.mode-icon{width:26px;height:26px;object-fit:contain;flex-shrink:0}@media (hover:hover){.mode-btn:not(.disabled):hover{background:var(--mode-color-hover);transform:translateY(-1px);box-shadow:0 4px 10px var(--mode-shadow-hover),0 1px 3px var(--shadow)}}.mode-btn:not(.disabled):active{transform:scale(.97);background:var(--mode-color-active);box-shadow:0 1px 3px var(--mode-shadow)}.mode-name{font-size:19px;font-weight:800;color:#fff;letter-spacing:.06em}.mode-btn small{color:hsla(0,0%,100%,.88);font-size:13px}.mode-btn.disabled{opacity:.5;cursor:not-allowed}#screen-game{flex-direction:column}.game-header{background:var(--card-bg);border-bottom:1px solid var(--border);padding:10px 18px;display:flex;align-items:center;gap:14px}.game-title{font-family:Zen Antique Soft,serif;font-size:15px;letter-spacing:.12em;color:var(--gold);flex:1 1}#screen-game .game-title,#screen-study .game-title{font-family:fot-tsukuardgothic-std,sans-serif;font-weight:700;font-style:normal}.progress-text{color:var(--muted);letter-spacing:.08em}.progress-text,.score-text{font-size:12px;white-space:nowrap}.score-text{font-weight:700;color:var(--vermillion);letter-spacing:.05em}.btn-quit{font-family:M PLUS Rounded\ 1c,sans-serif;font-size:11px;padding:5px 12px;border:1px solid var(--border-strong);background:transparent;color:var(--gold);border-radius:4px;cursor:pointer}.btn-quit:hover{background:rgba(234,88,12,.1)}.yomifuda-wrap{padding:16px 20px 10px;display:flex;flex-direction:column;align-items:center;gap:12px}.yomifuda-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:20px 60px 18px 22px;width:100%;max-width:460px;box-shadow:0 3px 16px var(--shadow);position:relative}.yomi-char{font-family:fot-tsukuardgothic-std,sans-serif;font-weight:700;font-style:normal;font-size:50px;color:var(--vermillion);line-height:1;margin-bottom:8px}.yomi-char.hidden{color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.yomi-reading{font-size:16px;line-height:1.9;letter-spacing:.06em;min-height:2em}.yomi-reading.hidden{color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.play-btn{position:absolute;top:18px;right:16px;width:44px;height:44px;border-radius:50%;background:rgba(234,88,12,.12);border:1px solid rgba(234,88,12,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.play-icon{width:50%;height:auto;display:block;transition:filter .2s}@media (hover:hover){.play-btn:hover .play-icon{filter:brightness(0) invert(1)}}.play-btn.playing .play-icon{filter:brightness(0) invert(1)}.play-btn:hover{background:var(--gold)}.play-btn.playing{background:var(--vermillion);border-color:var(--vermillion);animation:ringpulse .8s ease infinite}@keyframes ringpulse{0%,to{box-shadow:0 0 0 0 rgba(192,57,43,.4)}50%{box-shadow:0 0 0 8px rgba(192,57,43,0)}}.instruction{font-size:13px;color:var(--muted);letter-spacing:.1em;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.efuda-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;padding:4px 16px 28px;max-width:460px;margin:0 auto;width:100%}.efuda{cursor:pointer;border-radius:6px;overflow:hidden;background:var(--tile-bg);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:4px;box-shadow:0 2px 8px var(--shadow),0 0 0 1px var(--border);transition:transform .15s,box-shadow .15s,opacity .4s;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation}@media (hover:hover){.efuda:hover{transform:translateY(-3px);box-shadow:0 6px 18px var(--shadow),0 0 0 1px var(--border-strong)}}.efuda:active{transform:scale(.96)}.efuda.gone{opacity:0;pointer-events:none}.efuda.correct{box-shadow:0 0 0 3px var(--green)!important;transform:scale(1.06)!important;transition:transform .15s,box-shadow .15s}.efuda.wrong{box-shadow:0 0 0 3px var(--vermillion)!important;animation:shake .4s ease}.efuda.cpu{box-shadow:0 0 0 3px var(--cpu-blue)!important;transform:scale(1.06)!important;transition:transform .15s,box-shadow .15s}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}.efuda img{width:100%;height:100%;object-fit:contain;display:block}#screen-study{flex-direction:column}.study-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;padding:16px 16px 32px;max-width:720px;margin:0 auto;width:100%}.study-card{cursor:pointer;border-radius:8px;overflow:hidden;background:var(--tile-bg);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:6px;box-shadow:0 2px 8px var(--shadow),0 0 0 1px var(--border);transition:transform .15s,box-shadow .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation}@media (hover:hover){.study-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px var(--shadow),0 0 0 1px var(--border-strong)}}.study-card:active{transform:scale(.96)}.study-card img{width:100%;height:100%;object-fit:contain;display:block}@media (min-width:1024px){.study-grid{max-width:900px;gap:20px}}@media (max-width:480px){.study-grid{gap:8px;padding:10px 10px 24px}}.btn-replay{font-family:M PLUS Rounded\ 1c,sans-serif;font-size:13px;padding:9px 14px;background:rgba(234,88,12,.12);color:var(--gold);border:1px solid rgba(234,88,12,.3);border-radius:6px;cursor:pointer;letter-spacing:.06em;transition:all .2s}.btn-replay:hover{background:var(--gold);color:var(--washi)}.overlay{display:none;position:fixed;inset:0;background:var(--overlay-scrim);z-index:200;align-items:center;justify-content:center;padding:20px}.overlay.active{display:flex}.overlay-box{background:var(--card-bg);border-radius:10px;padding:24px 24px 22px;max-width:360px;width:100%;box-shadow:0 8px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:12px;text-align:center}.ov-kana{font-family:fot-tsukuardgothic-std,sans-serif;font-weight:700;font-style:normal;font-size:60px;color:var(--vermillion);line-height:1}.ov-reading{font-size:15px;line-height:1.85;letter-spacing:.06em}.ov-img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:4px}.ov-img,.ov-meaning{background:var(--tile-bg);border-radius:6px}.ov-meaning{font-size:13px;color:var(--muted);line-height:1.7;text-align:left;padding:10px 12px}.ov-meaning .label{font-size:10px;color:var(--muted-light);letter-spacing:.18em;display:block;margin-bottom:3px}.ov-winner{font-size:14px;font-weight:700;letter-spacing:.06em;padding:8px;border-radius:6px}.ov-winner.player{color:var(--green);background:rgba(45,106,79,.1)}.ov-winner.cpu{color:var(--cpu-blue);background:rgba(37,99,235,.1)}.btn-next{font-family:M PLUS Rounded\ 1c,sans-serif;font-size:15px;padding:12px;background:var(--gold);color:var(--washi);border:none;border-radius:6px;cursor:pointer;letter-spacing:.12em;transition:all .2s}.btn-next:hover{background:#c2410c}#screen-result{align-items:center;justify-content:center;gap:18px;padding:36px 24px 32px;text-align:center}@media (max-width:480px){#screen-result{gap:8px;padding:14px 16px 16px}}.result-sub{font-size:14px;color:var(--muted);letter-spacing:.08em}.result-hero{position:relative;padding:4px 0 10px;max-width:94vw;transform:translateX(6.9%)}.result-hero-image{display:block;width:clamp(280px,88vw,480px);height:auto}@media (max-width:480px){.result-hero-image{width:clamp(170px,56vw,250px)}}.result-bubble-text{position:absolute;left:3%;top:15.3%;width:77%;height:26.5%;display:flex;align-items:center;justify-content:center;text-align:center;font-family:M PLUS Rounded\ 1c,sans-serif;font-weight:700;font-size:clamp(16px,4.6vw,24px);color:var(--washi);letter-spacing:.05em;line-height:1.3;padding:0 2%}.battle-score-board{display:flex;gap:32px;justify-content:center}.score-col{display:flex;flex-direction:column;align-items:center;gap:4px}.score-label{font-size:12px;color:var(--muted);letter-spacing:.1em}.score-value{font-size:42px;font-weight:900;color:var(--vermillion)}.result-tap-hint{font-family:M PLUS Rounded\ 1c,sans-serif;font-weight:700;font-size:15px;color:var(--gold);letter-spacing:.08em;margin-top:-24px}@media (max-width:480px){.result-tap-hint{margin-top:-14px}}.result-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.results-grid{width:100%;max-width:min(94vw,620px);margin:0 auto;display:grid;grid-template-columns:1fr;grid-gap:22px;gap:22px}.results-grid.results-grid--split{grid-template-columns:1fr 1fr;gap:14px}@media (max-width:480px){.results-grid.results-grid--split{gap:10px}}.results-section{min-width:0;display:flex;flex-direction:column;gap:8px}.results-section h2{font-size:clamp(13px,4vw,16px);letter-spacing:.06em;font-weight:700;text-align:center}.results-section--taken h2{color:var(--vermillion)}.results-section--cpu h2,.results-section--mistake h2{color:var(--cpu-blue)}.results-count{color:var(--muted);font-weight:400;font-size:.82em;letter-spacing:.04em;margin-left:2px}.results-carousel-viewport{display:flex;width:min(100%,300px);margin:0 auto;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;border-radius:10px;scrollbar-width:none}@media (max-width:480px){.results-carousel-viewport{width:min(40vw,150px)}}.results-carousel-viewport::-webkit-scrollbar{display:none}.results-carousel-card{flex:0 0 100%;width:100%;scroll-snap-align:start;cursor:pointer}.results-carousel-card img{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 4px 14px var(--shadow);transition:transform .15s ease}@media (hover:hover){.results-carousel-card:hover img{transform:translateY(-2px)}}.results-carousel-card:active img{transform:scale(.98)}.results-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:4px}.results-carousel-page{flex:1 1;text-align:center;font-size:15px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.carousel-arrow{flex:0 0 auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--gold);font-size:26px;line-height:1;cursor:pointer;touch-action:manipulation;transition:opacity .2s ease,transform .15s ease}.carousel-arrow:active:not(:disabled){transform:scale(.9)}.carousel-arrow:disabled{opacity:.25;cursor:default}.btn-again{font-family:M PLUS Rounded\ 1c,sans-serif;font-size:15px;padding:13px 36px;background:var(--gold);color:var(--washi);border:none;border-radius:6px;cursor:pointer;letter-spacing:.12em;transition:all .2s}.btn-again:hover{background:#c2410c;transform:translateY(-1px)}.btn-title{font-family:M PLUS Rounded\ 1c,sans-serif;font-size:13px;padding:10px 24px;background:transparent;color:var(--gold);border:1px solid var(--border-strong);border-radius:6px;cursor:pointer;letter-spacing:.1em;transition:all .2s}.btn-title:hover{background:rgba(234,88,12,.1)}.quit-overlay{display:none;position:fixed;inset:0;background:var(--overlay-scrim);z-index:260;align-items:center;justify-content:center;padding:20px}.quit-box,.quit-overlay.active{display:flex}.quit-box{background:var(--card-bg);border-radius:10px;padding:28px 24px 24px;max-width:340px;width:100%;box-shadow:0 8px 40px rgba(0,0,0,.35);flex-direction:column;gap:20px;text-align:center}.quit-message{font-size:16px;line-height:1.6;letter-spacing:.04em}.quit-actions{display:flex;gap:12px;justify-content:center}.btn-quit-no,.btn-quit-yes{flex:1 1;font-family:M PLUS Rounded\ 1c,sans-serif;font-size:15px;padding:12px;border-radius:6px;cursor:pointer;letter-spacing:.1em;transition:all .2s;touch-action:manipulation}.btn-quit-yes{background:var(--vermillion);color:var(--washi);border:none}@media (hover:hover){.btn-quit-yes:hover{background:#9c2e21}}.btn-quit-no{background:transparent;color:var(--gold);border:1px solid var(--border-strong)}@media (hover:hover){.btn-quit-no:hover{background:rgba(234,88,12,.1)}}.btn-quit-no:active,.btn-quit-yes:active{transform:scale(.97)}#screen-settings{align-items:center;justify-content:center;text-align:center;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow-y:auto;padding:clamp(8px,1.5vh,24px) 16px;gap:clamp(8px,2vh,24px)}#screen-settings .start-panel{width:100%;gap:clamp(13px,2.6vh,30px);padding:clamp(16px,3.2vh,36px) clamp(18px,4.5vw,44px)}#screen-settings .start-panel h2{font-size:clamp(13.5px,2.2vh,19px)}#screen-settings .setting-group{gap:clamp(6px,1.3vh,12px)}#screen-settings .radio-group{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(7px,1.4vh,12px);gap:clamp(7px,1.4vh,12px)}#screen-settings .radio-group.radio-group--2col{grid-template-columns:repeat(2,1fr)}#screen-settings .radio-group label{flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;min-height:clamp(50px,9vh,78px);padding:clamp(6px,1.5vh,13px) 6px;font-size:clamp(13.5px,1.9vh,17px);font-weight:700}#screen-settings .radio-group label:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--gold),0 3px 12px rgba(234,88,12,.2)}#screen-settings .radio-group label:not(:has(small)){min-height:clamp(40px,6.5vh,58px);padding:clamp(6px,1.2vh,10px) 6px}#screen-settings .radio-group label small{font-size:clamp(10.5px,1.4vh,12px);line-height:1.25;font-weight:400}#screen-settings .settings-actions{gap:clamp(8px,1.5vh,13px);margin-top:clamp(2px,1vh,8px)}#screen-settings .btn-start{padding:clamp(12px,2.2vh,19px);font-size:clamp(16px,2.4vh,20px);font-weight:700;border-radius:10px}#screen-settings .btn-back{padding:clamp(7px,1.3vh,11px) 20px;font-size:clamp(12px,1.6vh,14px)}@media (min-width:641px){#screen-settings .start-panel{max-width:560px}}@media (min-width:1024px){#screen-settings .start-panel{max-width:720px}#screen-game{height:100vh;height:100dvh;overflow:hidden}#screen-game .efuda-grid,#screen-game .yomifuda-card{max-width:min(94vw,58vh,900px)!important;max-width:min(94vw,58dvh,900px)!important}#screen-game .game-header{flex:0 0 auto;padding:4px 18px;gap:8px}#screen-game .game-title{font-size:12px}#screen-game .progress-text,#screen-game .score-text{font-size:10px}#screen-game .btn-quit{font-size:10px;padding:3px 9px}#screen-game .yomifuda-wrap{flex:0 0 auto;padding:6px 20px 4px;gap:4px}#screen-game .yomifuda-card{padding:14px 54px 12px 18px}#screen-game .play-btn{top:10px;right:10px;width:38px;height:38px}#screen-game .yomi-char{font-size:40px;margin-bottom:6px}#screen-game .yomi-reading{font-size:15px;line-height:1.6;min-height:1.6em}#screen-game .instruction{font-size:11px}#screen-game .efuda-grid{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 16px 8px}}@media (max-width:480px){.efuda-grid{gap:8px;padding:4px 10px 20px}.yomi-char{font-size:38px}.yomi-reading{font-size:14px}.yomifuda-card{padding:16px 52px 14px 16px}.game-header{padding:8px 12px;gap:8px}.game-title{font-size:13px}.progress-text{font-size:11px}.btn-quit{font-size:10px;padding:5px 10px}}#screen-splash{position:relative;align-items:center;justify-content:center;overflow:hidden;padding:0;background:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.splash-stage{position:relative;width:min(92vw,calc(92dvh * .5678),560px);aspect-ratio:767/1351;transform:translateY(-3.7%)}.splash-card{width:34%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.15));animation-duration:.65s;animation-timing-function:cubic-bezier(.34,1.56,.64,1);animation-fill-mode:both}.splash-card,.splash-ka,.splash-title{position:absolute;height:auto;display:block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.splash-ka,.splash-title{animation-duration:.7s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}.card-ma{top:23%;left:15%;width:37%;--end-rot:-26deg;animation-name:popFromTopLeft;animation-delay:.3s}.card-ma,.card-na{transform:translate(-50%,-50%);z-index:1}.card-na{top:13%;left:51%;width:34%;--end-rot:-53deg;animation-name:popFromTop;animation-delay:.38s}.card-ko{top:24%;left:91%;width:35%;--end-rot:29deg;transform:translate(-50%,-50%);animation-name:popFromTopRight;animation-delay:.46s;z-index:1}.card-i{left:8%;width:34%;--end-rot:17deg;animation-name:popFromLeft;animation-delay:.54s}.card-i,.card-mi{top:52%;transform:translate(-50%,-50%);z-index:1}.card-mi{left:96%;width:36%;--end-rot:-13deg;animation-name:popFromRight;animation-delay:.62s}.card-me{top:81%;left:11%;width:34%;--end-rot:-17deg;transform:translate(-50%,-50%);animation-name:popFromBottomLeft;animation-delay:.7s;z-index:1}.card-ku{top:82%;left:96%;--end-rot:-18deg;animation-name:popFromBottomRight;animation-delay:.78s}.card-ki,.card-ku{width:35%;transform:translate(-50%,-50%);z-index:1}.card-ki{top:93%;left:53%;--end-rot:44deg;animation-name:popFromBottom;animation-delay:.86s}.splash-title{top:31%;width:27%;animation-name:splashTitleIn;animation-delay:.1s;z-index:3}.splash-ka,.splash-title{left:50%;transform:translate(-50%,-50%)}.splash-ka{top:72%;width:57%;animation-name:splashKaIn;animation-delay:0s;z-index:2}.splash-tap-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;text-align:center;font-size:13px;letter-spacing:.16em;color:var(--muted);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:3;opacity:0;animation:fadeIn .5s ease-out .95s both,pulse 1.8s ease-in-out 1.45s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes splashKaIn{0%{opacity:0;transform:translate(-50%,-50%) translateY(70px) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1)}}@keyframes splashTitleIn{0%{opacity:0;transform:translate(-50%,-50%) translateY(-60px)}to{opacity:1;transform:translate(-50%,-50%) translateY(0)}}@keyframes popFromTop{0%{opacity:0;transform:translate(-50%,-50%) translateY(-120px) rotate(calc(var(--end-rot) - 12deg)) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) translate(0) rotate(var(--end-rot)) scale(1)}}@keyframes popFromBottom{0%{opacity:0;transform:translate(-50%,-50%) translateY(120px) rotate(calc(var(--end-rot) + 19deg)) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) translate(0) rotate(var(--end-rot)) scale(1)}}@keyframes popFromLeft{0%{opacity:0;transform:translate(-50%,-50%) translate(-120px) rotate(calc(var(--end-rot) - 19deg)) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) translate(0) rotate(var(--end-rot)) scale(1)}}@keyframes popFromRight{0%{opacity:0;transform:translate(-50%,-50%) translate(120px) rotate(calc(var(--end-rot) + 19deg)) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) translate(0) rotate(var(--end-rot)) scale(1)}}@keyframes popFromTopLeft{0%{opacity:0;transform:translate(-50%,-50%) translate(-95px,-95px) rotate(calc(var(--end-rot) - 23deg)) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) translate(0) rotate(var(--end-rot)) scale(1)}}@keyframes popFromTopRight{0%{opacity:0;transform:translate(-50%,-50%) translate(95px,-95px) rotate(calc(var(--end-rot) + 19deg)) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) translate(0) rotate(var(--end-rot)) scale(1)}}@keyframes popFromBottomLeft{0%{opacity:0;transform:translate(-50%,-50%) translate(-95px,95px) rotate(calc(var(--end-rot) - 23deg)) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) translate(0) rotate(var(--end-rot)) scale(1)}}@keyframes popFromBottomRight{0%{opacity:0;transform:translate(-50%,-50%) translate(95px,95px) rotate(calc(var(--end-rot) + 25deg)) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) translate(0) rotate(var(--end-rot)) scale(1)}}@media (min-width:1024px){.splash-tap-prompt{font-size:14px}}.ready-overlay{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:24px;cursor:pointer;-webkit-tap-highlight-color:transparent;opacity:1;transition:opacity .28s ease}.ready-overlay.ready-exit{opacity:0}.ready-overlay:before{content:"";position:absolute;inset:0;background:rgba(234,88,12,.62);opacity:0;animation:readyBgFadeIn .5s ease-out both}@keyframes readyBgFadeIn{0%{opacity:0}to{opacity:1}}.ready-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(28px,7vh,64px);width:min(92vw,520px);padding:24px}.ready-tap-prompt{margin:0;font-size:clamp(15px,2.3vh,20px);font-weight:700;letter-spacing:.18em;color:hsla(0,0%,100%,.95);text-align:center;text-shadow:0 1px 8px rgba(0,0,0,.22);opacity:0;animation:readyTextFadeIn .5s ease-out .15s both}.ready-logo{width:min(70vw,62vh,380px);height:auto;display:block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 4px 16px rgba(0,0,0,.2));opacity:0;animation:readyLogoFadeIn .55s ease-out .4s both}@keyframes readyTextFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(clamp(8px,2vh,16px))}}@keyframes readyLogoFadeIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}