:root{--ink:#3a2b4d;--cream:#fff4e0;--sky-top:#7cc8f5;--sky-bottom:#c9ecff;--coral:#ff7a59;--coral-dark:#d9573a;--sun:#ffc94a;--berry:#b565d9;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:linear-gradient(var(--sky-top), var(--sky-bottom));height:100%;font-family:var(--font);color:var(--ink);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#game{inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed}#ui{pointer-events:none;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));place-items:center;display:grid;position:fixed;inset:0}#ui>*{pointer-events:auto}input{-webkit-user-select:text;user-select:text;touch-action:manipulation}.card{background:var(--cream);border:4px solid var(--ink);width:min(420px,100%);box-shadow:0 8px 0 var(--ink);text-align:center;border-radius:28px;padding:28px 24px 24px}.logo{letter-spacing:-.5px;color:var(--coral);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);margin:0;font-size:clamp(34px,10vw,44px);font-weight:900}.logo span{color:var(--sun)}.subtitle{opacity:.75;margin:6px 0 20px;font-weight:700}.field{text-align:left;margin-bottom:12px;font-size:14px;font-weight:800;display:block}.field input{width:100%;font:700 17px var(--font);color:var(--ink);border:3px solid var(--ink);background:#fff;border-radius:14px;outline:none;margin-top:4px;padding:12px 14px;display:block}.field input:focus{border-color:var(--coral)}.btn{width:100%;font:900 19px var(--font);color:#fff;background:var(--coral);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);cursor:pointer;border-radius:18px;margin-top:8px;padding:14px;transition:transform 60ms,box-shadow 60ms;display:block}.btn:active{box-shadow:0 2px 0 var(--ink);transform:translateY(4px)}.btn:disabled{opacity:.6}.link{font:800 14px var(--font);color:var(--ink);cursor:pointer;background:0 0;border:none;margin-top:16px;text-decoration:underline}.error{min-height:20px;color:var(--coral-dark);margin:4px 0 0;font-size:14px;font-weight:800}.message{font-size:18px;font-weight:800}#rotate{z-index:10;background:linear-gradient(var(--sky-top), var(--sky-bottom));text-align:center;align-content:center;place-items:center;gap:16px;font-size:20px;font-weight:900;display:none;position:fixed;inset:0}.rotate-phone{border:5px solid var(--ink);background:var(--cream);border-radius:14px;width:56px;height:96px;animation:1.6s ease-in-out infinite tilt}@keyframes tilt{0%,30%{transform:rotate(-90deg)}60%,to{transform:rotate(0)}}@media (orientation:landscape) and (max-height:520px){#rotate{display:grid}}.backdrop{background:#3a2b4d73;place-items:center;padding:16px;animation:.12s ease-out fade;display:grid;position:fixed;inset:0}.sheet-host{padding:0 0 max(16px, env(safe-area-inset-bottom));place-items:end center}.sheet{width:min(480px,100% - 24px);animation:.18s ease-out rise}.sheet .btn+.btn{margin-top:12px}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}.btn-berry{background:var(--berry)}.inventory h2{margin-bottom:0}.inv-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0 4px;display:grid}.inv-slot{aspect-ratio:1;border:3px solid var(--ink);font:900 12px var(--font);color:var(--ink);cursor:pointer;background:#f7e6c4;border-radius:14px;padding:4px;position:relative}.inv-slot img{width:100%;height:100%}.inv-slot span{position:absolute;bottom:2px;right:4px}.inv-slot.empty{opacity:.6;cursor:default;background:#efd6a8;border-style:dashed}.inv-slot.buy{background:#fff;align-content:center;place-items:center;display:grid}.inv-slot.buy b{font-size:26px;line-height:1}.inv-slot.buy span{position:static}.dialog h2{margin:0 0 8px;font-size:24px;font-weight:900}.dialog p{margin:0 0 20px;font-size:17px;font-weight:700}.row{gap:12px;display:flex}.row .btn{margin-top:0}.btn-secondary{background:var(--cream);color:var(--ink)}@keyframes fade{0%{opacity:0}}.booth-popup{text-align:left}.popup-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.popup-head img{width:88px;height:88px}.popup-head h2{margin:0}.muted{opacity:.6;margin:2px 0 0;font-weight:800}.stats{margin:0 0 16px;padding:0;list-style:none}.stats li{border-bottom:2px dashed #3a2b4d26;justify-content:space-between;padding:8px 0;font-weight:700;display:flex}.booth-popup h3{margin:0 0 8px;font-size:18px;font-weight:900}.ratios{gap:8px;margin-bottom:16px;display:grid}.ratio{grid-template-columns:40px 64px 1fr 48px;align-items:center;gap:8px;font-weight:800;display:grid}.ratio img{width:40px;height:40px}.ratio b{text-align:right}.bar{border:3px solid var(--ink);background:#fff;border-radius:10px;height:16px;overflow:hidden}.bar i{background:var(--coral);height:100%;display:block}.ic{vertical-align:-.25em;width:1.2em;height:1.2em}.inv-slot.buy .ic{vertical-align:-3px;width:16px;height:16px}.dev-toggle{top:max(8px, env(safe-area-inset-top));z-index:20;border:3px solid var(--ink);background:var(--sun);width:40px;height:40px;font:900 11px var(--font);color:var(--ink);cursor:pointer;border-radius:50%;position:fixed;right:8px}.dev-panel{top:calc(max(8px, env(safe-area-inset-top)) + 48px);z-index:20;background:var(--cream);border:3px solid var(--ink);border-radius:16px;gap:6px;width:190px;padding:10px;display:grid;position:fixed;right:8px}.dev-panel[hidden]{display:none}.dev-panel .btn{box-shadow:0 3px 0 var(--ink);margin:0;padding:8px;font-size:15px}.milestones{max-height:50vh;margin:8px 0 16px;padding:0;list-style:none;overflow-y:auto}.milestones li{border-radius:12px;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:6px 8px;font-weight:800;display:grid}.milestones li img{width:44px;height:44px}.milestones li.done{opacity:.5}.milestones li.next{outline:3px solid var(--mint);background:#d9f3ea}.region-preview{gap:8px;margin:8px 0 12px;display:grid}.region-booth{border:3px solid var(--ink);background:#f7e6c4;border-radius:14px;grid-template-columns:56px 1fr auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.region-booth>img{width:56px;height:56px}.region-booth div img{width:40px;height:40px}.stats li.ok b{color:#2e8a6e}.stats li.missing b{color:#d8402a}.convert-flow{justify-content:center;align-items:center;gap:12px;margin:8px 0 12px;display:flex}.convert-flow img{width:104px;height:104px}.convert-flow b{font-size:36px}.dialog p.version{text-align:center;margin:18px 0 0;font-size:13px}.booth-popup .btn+.stats{margin-top:16px}.dialog p.muted:empty{display:none}.tabs{gap:8px;margin-bottom:12px;display:flex}.tab{border:3px solid var(--ink);font:800 16px var(--font);color:var(--ink);cursor:pointer;background:#f7e6c4;border-radius:12px;flex:1;padding:8px}.tab.active{background:var(--sun)}.leaderboard{max-height:52vh;margin:0 0 8px;padding:0;list-style:none;overflow-y:auto}.leaderboard li{border-bottom:2px dashed #3a2b4d26;grid-template-rows:auto auto;grid-template-columns:36px 1fr auto;align-items:center;column-gap:10px;padding:6px 8px;display:grid}.leaderboard li.me{box-shadow:inset 0 0 0 3px var(--mint);background:#d9f3ea;border-radius:12px}.leaderboard .rank{border:3px solid var(--ink);background:#f7e6c4;border-radius:50%;grid-row:span 2;place-items:center;width:32px;height:32px;font-size:14px;font-weight:900;display:grid}.leaderboard .rank.r1{background:var(--sun)}.leaderboard .rank.r2{background:#d8dde6}.leaderboard .rank.r3{background:#e0a05a}.leaderboard div{flex-direction:column;min-width:0;display:flex}.leaderboard b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard small{opacity:.6;font-weight:700}.leaderboard .lvl{text-align:right;font-weight:900}.leaderboard .xp{text-align:right;grid-column:3}.profile .btn+.btn{margin-top:12px}
