*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{background-color:#091330}body{color:#f1f5f9;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#091330 radial-gradient(140% 90% at 50% 0,#1d3170 0%,#0d1b3e 55%,#091330 100%) 0 0/100% 100vh no-repeat;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}button{font:inherit;cursor:pointer}.screen{min-height:100%;padding:max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex}.card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:18px;flex-direction:column;gap:12px;width:100%;max-width:400px;padding:22px 18px;display:flex}.title{text-align:center;margin:0;font-size:30px}.small-title{font-size:24px}.muted{color:#b6c2dc;text-align:center;margin:0;line-height:1.4}.small{font-size:13px}.rules{color:#cbd5e1;font-size:14px;line-height:1.45}.rules p{margin:6px 0 0}.primary,.secondary{border:none;border-radius:12px;padding:14px;font-size:18px;font-weight:600}.primary{color:#1e1b4b;background:#facc15}.secondary{color:#fff;background:#ffffff24}.link-button{color:#93a4c8;background:0 0;border:none;padding:6px;text-decoration:underline}.board-pick{flex-direction:column;gap:2px;display:flex}.pick-info{color:#cbd5e1;font-size:13px;font-weight:400}.levels{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.level{aspect-ratio:1;color:#fff;background:#ffffff24;border:2px solid #0000;border-radius:10px;font-size:18px;font-weight:600}.level.done{border-color:#4ade80}.level{position:relative}.level-check{color:#4ade80;display:flex;position:absolute;top:3px;right:4px}.with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.icon-button{color:#fff;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:flex}.icon-button.trophy{color:#facc15}.primary:disabled,.secondary:disabled{opacity:.4;cursor:default}.controls{gap:10px;width:100%;max-width:400px;display:flex}.controls button{flex:1;padding:12px;font-size:17px}.play{min-height:100%;padding:max(8px, env(safe-area-inset-top)) 10px max(12px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:6px;display:flex}.bar{color:#cbd5e1;justify-content:space-between;align-items:center;width:100%;max-width:480px;font-size:15px;display:flex}.bar-title{color:#f1f5f9;font-size:17px;font-weight:600}.status{text-align:center;line-height:1.35}.roles{font-size:17px;font-weight:600}.turn{color:#facc15;font-size:16px}.count{color:#b6c2dc;font-size:14px}.board{flex:auto;width:100%;max-width:480px;max-height:68vh}.play.done .board{max-height:46vh}.play.won .board{max-height:19vh}.road{stroke:#5b6b95;stroke-width:.13px;stroke-linecap:round}.node{fill:#f08a7e;stroke:#33415f;stroke-width:.05px}.den{fill:#3b2a1a;stroke:#a07850;stroke-width:.06px}.target{fill:#4ade802e;stroke:#4ade80;stroke-width:.06px;stroke-dasharray:.12 .08}.piece{transition:transform .3s}.dog{fill:#2c5bd6;stroke:#fff;stroke-width:.05px}.mouse{fill:#fde68a;stroke:#ea580c;stroke-width:.06px}.mouse.caught{fill:#b91c1c}.face{pointer-events:none}.ring{fill:none;stroke-width:.07px}.ring.movable{stroke:#ffffff8c;animation:1.2s ease-in-out infinite pulse}.ring.selected{stroke:#facc15;stroke-width:.09px}@keyframes pulse{50%{stroke-opacity:.15}}.hit{fill:#0000;cursor:pointer}.result{background:#ffffff14;border-radius:14px;flex-direction:column;gap:10px;width:100%;max-width:400px;padding:14px;display:flex}.result-title{text-align:center;margin:0;font-size:20px;font-weight:700}.score{margin:0;padding-left:20px;line-height:1.5}.top{flex-direction:column;gap:8px;display:flex}.top-note{color:#b6c2dc;text-align:center;margin:0;font-size:14px}.top-note.good{color:#4ade80}.top-list{flex-direction:column;gap:3px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.top-list li{min-height:30px;animation:.35s ease-out both top-in;animation-delay:calc(var(--i) * 45ms);background:#ffffff0a;border-radius:10px;align-items:center;gap:10px;padding:2px 6px 2px 8px;display:flex;position:relative;overflow:hidden}@keyframes top-in{0%{opacity:0;transform:translate(-14px)}}.top-list li.medal-gold,.top-list li.medal-silver,.top-list li.medal-bronze{min-height:40px;padding-left:4px;font-size:16px;font-weight:700}.top-list li.medal-gold{color:#fef9c3;background:linear-gradient(90deg,#facc1552,#facc150a 75%);box-shadow:inset 0 0 0 1px #facc1580,0 0 16px #facc152e}.top-list li.medal-silver{background:linear-gradient(90deg,#cbd5e142,#cbd5e108 75%);box-shadow:inset 0 0 0 1px #cbd5e161}.top-list li.medal-bronze{background:linear-gradient(90deg,#d9894a4d,#d9894a08 75%);box-shadow:inset 0 0 0 1px #d9894a73}.top-list li.medal-gold:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff38 50%,#0000 65%);animation:3.2s ease-in-out .6s infinite top-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes top-shine{60%,to{transform:translate(100%)}}.top-list li.me{box-shadow:inset 0 0 0 2px #4ade80}.top-list li.me .top-name{color:#bbf7d0}.medal-gold{--cup-light:#fef9c3;--cup-mid:#facc15;--cup-dark:#a16207;--cup-ink:#713f12;--cup-glow:#facc15b3}.medal-silver{--cup-light:#fff;--cup-mid:#cbd5e1;--cup-dark:#64748b;--cup-ink:#1e293b;--cup-glow:#e2e8f073}.medal-bronze{--cup-light:#fed7aa;--cup-mid:#e0894a;--cup-dark:#9a3412;--cup-ink:#431407;--cup-glow:#e0894a73}.cup{width:32px;height:32px;filter:drop-shadow(0 0 4px var(--cup-glow));flex:none}.cup-light{stop-color:var(--cup-light)}.cup-mid{stop-color:var(--cup-mid)}.cup-dark{stop-color:var(--cup-dark)}.cup-stem{fill:var(--cup-dark)}.cup-handle{fill:none;stroke-width:1.8px;stroke-linecap:round}.cup-rank{text-anchor:middle;fill:var(--cup-ink);font-size:7.5px;font-weight:800}.top-rank{color:#93a4c8;background:#ffffff0f;border:1px solid #ffffff29;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;margin:0 4px;font-size:13px;font-weight:700;display:flex}.top-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.top-moves{color:#b6c2dc;font-variant-numeric:tabular-nums;background:#00000047;border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:600}.top-moves b{color:#fff;font-size:15px}.medal-gold .top-moves b{color:#fde047}@media (prefers-reduced-motion:reduce){.top-list li,.top-list li.medal-gold:after{animation:none}}.top-ask{text-align:center;flex-direction:column;gap:6px;font-size:15px;display:flex}.top-ask-row{gap:8px;display:flex}.top-ask input{color:#fff;min-width:0;font:inherit;-webkit-user-select:text;user-select:text;background:#ffffff1a;border:1px solid #ffffff40;border-radius:10px;flex:1;padding:10px 12px;font-size:16px}.top-ask button{padding:10px 16px;font-size:16px}.sheet-backdrop{z-index:10;background:#050a1eb3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet{background:#13224d;border:1px solid #ffffff24;border-radius:16px;flex-direction:column;gap:12px;width:100%;max-width:400px;padding:14px;display:flex}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-title{align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.sheet-title svg{color:#facc15}.hub-link{color:#93a4c8;align-self:flex-start;margin:-8px 0 -4px;padding:4px 0;font-size:14px;text-decoration:none}
