:root{--bg: #241b40;--bg-2: #34285c;--fg: #fff8f0;--muted: #bdb2d8;--accent: #ffd166;--radius: 24px;--topbar-h: 76px;--tap-min: 80px;--btn-min: 72px;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--tile-min: 190px;--tile-row: 170px;--grid-gap: 18px;--grid-pad: 22px;--tile-emoji: 60px;--tile-font: 20px}@media (max-width: 900px){:root{--tile-min: 140px;--tile-row: 128px;--grid-gap: 12px;--grid-pad: 14px;--tile-emoji: 42px;--tile-font: 15px;--topbar-h: 72px;--btn-min: 64px}}@media (max-width: 430px){:root{--tile-min: 104px;--tile-row: 112px;--grid-gap: 10px;--grid-pad: 10px;--tile-emoji: 36px;--tile-font: 13px}}@media (max-height: 520px){:root{--tile-min: 120px;--tile-row: 100px;--tile-emoji: 34px;--tile-font: 13px;--topbar-h: 62px;--btn-min: 62px}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--fg);font-family:var(--font);user-select:none;-webkit-user-select:none;touch-action:manipulation}#app{height:100%;height:100dvh;overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,var(--bg-2) 0%,var(--bg) 70%)}.screen{height:100%;display:flex;flex-direction:column;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l)}.big-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:var(--btn-min);min-height:var(--btn-min);padding:8px 14px;border:none;border-radius:20px;background:#ffffff1f;color:var(--fg);font-family:inherit;cursor:pointer;transition:transform .08s ease,background .15s ease}.big-btn:active{transform:scale(.93);background:#ffffff38}.big-btn-emoji{font-size:34px;line-height:1.1}.big-btn-label{font-size:15px;font-weight:700;opacity:.9}.home-btn{flex:0 0 auto}.back-btn{border:3px solid var(--group-color, rgba(255, 255, 255, .35))}.picker-btn{min-width:200px;min-height:200px;background:#ffffff24}.picker-btn .big-btn-emoji{font-size:76px}.picker-btn .big-btn-label{font-size:22px}.result-btn{min-width:150px;min-height:120px}.result-btn .big-btn-emoji{font-size:54px}.result-btn .big-btn-label{font-size:20px}.home-header{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:14px var(--grid-pad) 6px}.home-logo{font-size:30px}.home-title{margin:0;font-size:26px;letter-spacing:.5px}.group-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(var(--tap-min),1fr);gap:var(--grid-gap);padding:10px var(--grid-pad) var(--grid-pad);overflow-x:hidden;overflow-y:auto;touch-action:pan-y}@media (max-width: 560px){.group-grid{grid-template-columns:repeat(2,1fr)}}.group-tile .tile-emoji{font-size:clamp(38px,13vh,116px)}.group-tile .tile-title{font-size:clamp(14px,2.6vh,24px)}.group-header{gap:10px}.group-header .home-btn{margin-right:4px}.group-badge{font-size:30px;line-height:1}.group-screen .home-title{color:var(--group-color, var(--fg))}.group-screen .tile-grid{grid-auto-rows:minmax(var(--tile-row),1fr);align-content:stretch}.group-screen .tile-grid.has-cols{grid-template-columns:repeat(var(--cols),1fr)}.group-screen .tile{align-self:center;height:100%;max-height:400px}@media (max-width: 900px){.group-badge{font-size:24px}}@media (max-height: 520px){.group-badge{font-size:21px}}.tile-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tile-min),1fr));grid-auto-rows:var(--tile-row);align-content:start;gap:var(--grid-gap);padding:10px var(--grid-pad) var(--grid-pad);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}@media (max-width: 900px){.home-header{padding:8px var(--grid-pad) 4px}.home-logo{font-size:24px}.home-title{font-size:21px}}@media (max-height: 520px){.home-header{padding:6px var(--grid-pad) 2px}.home-logo{font-size:21px}.home-title{font-size:19px}}.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:var(--tap-min);border:none;border-radius:var(--radius);background:linear-gradient(160deg,var(--tile),color-mix(in srgb,var(--tile) 65%,#000));color:#17122b;font-family:inherit;cursor:pointer;box-shadow:0 8px color-mix(in srgb,var(--tile) 55%,#000),0 12px 24px #00000059;transition:transform .09s ease,box-shadow .09s ease}.tile:active{transform:translateY(6px);box-shadow:0 2px color-mix(in srgb,var(--tile) 55%,#000),0 6px 14px #00000059}.tile-emoji{font-size:var(--tile-emoji);line-height:1}.tile-title{font-size:var(--tile-font);font-weight:800;padding:0 4px;text-align:center;line-height:1.15}.install-btn{margin-left:auto;display:flex;align-items:center;gap:6px;min-width:48px;min-height:48px;padding:6px 14px;border:2px solid rgba(255,255,255,.35);border-radius:999px;background:#ffffff1a;color:var(--fg);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}.install-btn[hidden]{display:none}.install-btn:active{transform:scale(.94);background:#fff3}.install-btn-emoji{font-size:18px}@media (max-width: 430px){.install-btn-label{display:none}.install-btn{justify-content:center;padding:6px}}.home-version{margin-left:auto;flex:0 0 auto;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);opacity:.75;white-space:nowrap}.install-btn:not([hidden])+.home-version{margin-left:10px}.update-banner{flex:0 0 auto;display:flex;align-items:center;gap:10px;margin:0 var(--grid-pad);padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#ffffff14}.update-banner[hidden]{display:none}.update-emoji{font-size:18px;line-height:1}.update-text{flex:1;min-width:0;font-size:14px;font-weight:700}.update-btn{flex:0 0 auto;min-height:40px;padding:6px 14px;border:2px solid rgba(255,255,255,.35);border-radius:999px;background:#ffffff1f;color:var(--fg);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}.update-btn:active{transform:scale(.94);background:#ffffff3d}.install-hint{flex:0 0 auto;display:flex;align-items:flex-start;gap:10px;margin:0 var(--grid-pad) max(var(--grid-pad),8px);padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:#ffffff14}.hint-emoji{font-size:22px;line-height:1.2}.hint-body{flex:1;min-width:0}.hint-title{display:block;font-size:14px;margin-bottom:2px}.hint-text{margin:0;font-size:13px;line-height:1.35;color:var(--muted)}.hint-close{flex:0 0 auto;width:34px;height:34px;border:none;border-radius:50%;background:#ffffff1f;color:var(--fg);font-size:15px;font-family:inherit;cursor:pointer}.hint-close:active{background:#ffffff3d}@media (max-height: 520px){.update-banner:not([hidden])~.install-hint{display:none}.install-hint{gap:8px;margin-bottom:6px;padding:7px 10px}.hint-emoji{font-size:18px}.hint-title{font-size:13px}.hint-text{font-size:12px;line-height:1.25}}.rotate-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:calc(var(--safe-t) + 16px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 16px) calc(var(--safe-l) + 16px);background:var(--bg);text-align:center}.rotate-gate.show{display:flex}.rotate-icon{font-size:84px;line-height:1;animation:rotate-hint 2.2s ease-in-out infinite}.rotate-title{margin:0;font-size:26px;font-weight:800}.rotate-text{margin:0;font-size:18px;color:var(--muted)}@keyframes rotate-hint{0%,25%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.game-screen{--game-color: var(--accent)}.topbar{flex:0 0 var(--topbar-h);display:flex;align-items:center;gap:16px;padding:8px 16px}.topbar.bare .hud{display:none}.hud{flex:1;display:flex;align-items:center;justify-content:center;gap:18px}.game-container{flex:1;position:relative;overflow:hidden}.score-board{--accent: var(--game-color);display:flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:color-mix(in srgb,var(--accent) 25%,transparent);border:2px solid var(--accent)}.score-emoji{font-size:24px}.score-label{font-size:15px;opacity:.85}.score-value{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;display:inline-block}.score-value.bump{animation:bump .24s ease}@keyframes bump{50%{transform:scale(1.5)}}.timer{display:flex;align-items:center;gap:8px;min-width:190px}.timer-emoji{font-size:22px}.timer-value{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.timer-bar{flex:1;height:12px;border-radius:999px;background:#ffffff2e;overflow:hidden}.timer-bar-fill{display:block;height:100%;width:100%;border-radius:999px;background:var(--game-color);transition:width .1s linear}.timer.urgent .timer-value{color:#ff6b6b;animation:bump .3s ease}.timer.urgent .timer-bar-fill{background:#ff6b6b}.turn-banner{display:flex;align-items:center;gap:10px;margin:3px 0;padding:8px 20px;border-radius:999px;background:color-mix(in srgb,var(--accent) 30%,transparent);border:3px solid var(--accent);font-size:22px;font-weight:800}.turn-emoji{font-size:28px}.turn-banner.pulse{animation:turn-pulse .35s ease}@keyframes turn-pulse{50%{transform:scale(1.12)}}.picker{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px}.picker-title{margin:0;font-size:34px}.picker-row{display:flex;flex-wrap:wrap;justify-content:center;gap:26px}.result{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden}.result-emoji{font-size:84px;line-height:1;animation:pop-in .5s cubic-bezier(.2,1.4,.4,1)}.result-title{margin:4px 0 0;font-size:36px}.result-lines{margin:0;text-align:center}.result-line{margin:4px 0;font-size:24px;color:var(--muted)}.result-buttons{display:flex;gap:26px;margin-top:18px}@keyframes pop-in{0%{transform:scale(.2);opacity:0}}.confetti-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti-bit{position:absolute;top:-30px;border-radius:3px;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(720deg);opacity:.2}}@media (max-width: 900px),(max-height: 520px){.topbar{gap:8px;padding:4px 10px}.hud{flex-wrap:wrap;gap:8px;min-width:0;overflow:hidden}.timer{min-width:120px;gap:6px}.timer-emoji{font-size:17px}.timer-value{font-size:22px;min-width:32px}.score-board{padding:4px 10px;gap:5px}.score-emoji{font-size:18px}.score-label{font-size:12px}.score-value{font-size:22px}.turn-banner{padding:5px 12px;font-size:16px;gap:6px}.turn-emoji{font-size:20px}.big-btn-emoji{font-size:26px}.big-btn-label{font-size:13px}.picker{gap:16px;padding:8px}.picker-title{font-size:22px;text-align:center}.picker-row{gap:14px}.picker-btn{min-width:130px;min-height:120px}.picker-btn .big-btn-emoji{font-size:44px}.picker-btn .big-btn-label{font-size:15px}.result{gap:4px;padding:8px}.result-emoji{font-size:52px}.result-title{font-size:24px}.result-line{font-size:16px;margin:2px 0}.result-buttons{gap:14px;margin-top:10px}.result-btn{min-width:110px;min-height:80px}.result-btn .big-btn-emoji{font-size:34px}.result-btn .big-btn-label{font-size:14px}}@media (max-height: 520px){.topbar{padding:0 10px}.turn-banner{margin:2px 0;padding:2px 10px;gap:5px;border-width:2px;font-size:15px}.turn-emoji{font-size:18px;line-height:1.15}}.error-screen,.error-text{padding:30px;font-size:24px;text-align:center}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
