:root{--tb-font: system-ui, sans-serif;--tb-ink: #22223b;--tb-ink-soft: #4a4e69;--tb-muted: #6c6a80;--tb-accent: #7b6cd9;--tb-highlight: #e56b8a;--tb-error: #c92a2a;--tb-veil: rgb(244 240 252 / 72%);--tb-glass: rgb(255 255 255 / 60%);--tb-sky: linear-gradient(180deg, #fbf4ff 0%, #e6ecfb 55%, #dde4f4 100%);--tb-hud-top: 0px}.hud,.fx-layer{position:absolute;inset:0;pointer-events:none}.fx-layer{overflow:hidden}.hud{z-index:1}.fx-text{position:absolute;top:0;left:0;font-size:1.5rem;font-weight:800;color:var(--tb-ink-soft);white-space:nowrap;will-change:transform,opacity}.fx-accent{font-size:1.9rem;color:var(--tb-highlight)}.hud-score{position:absolute;top:calc(var(--tb-hud-top) + 1rem);left:1.25rem;font-size:2.5rem;font-weight:700;font-variant-numeric:tabular-nums}.hud-best{position:absolute;top:calc(var(--tb-hud-top) + 3.9rem);left:1.3rem;transform-origin:left center;color:var(--tb-muted);font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums}.hud-best.is-new,.hud-best-final.is-new{color:var(--tb-highlight);font-weight:800}.hud-detail-final{margin-top:-.75rem;color:var(--tb-muted);font-size:1rem;font-weight:600}.hud-best-final{margin-top:-.75rem;color:var(--tb-muted);font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.hud-badge{position:absolute;top:calc(var(--tb-hud-top) + 5.5rem);left:1.25rem;transform-origin:left center;font-size:1.1rem;font-weight:800;color:var(--tb-highlight)}.hud-badge[data-level]{padding:.2rem .75rem;margin-left:-.25rem;border-radius:999px;color:#fff;background:var(--tb-highlight);box-shadow:0 2px 8px #e56b8a4d;font-size:1rem;letter-spacing:.01em}.hud-badge[data-level="2"]{background:linear-gradient(90deg,#e56b8a,#f19a6b);font-size:1.1rem}.hud-badge[data-level="3"]{background:linear-gradient(90deg,#7b6cd9,#e56b8a 55%,#f5b35c);box-shadow:0 2px 10px #e56b8a66,0 0 0 3px #ffffffb3;font-size:1.2rem}.hud-pop{animation:hud-pop .35s ease-out}@keyframes hud-pop{0%{transform:scale(1.5);opacity:0}60%{transform:scale(.95);opacity:1}to{transform:scale(1)}}.reduced-motion .hud-pop{animation:none}.hud-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center;background:var(--tb-veil);pointer-events:auto}.hud [hidden]{display:none}.hud-title{margin:0;font-size:2.25rem}.hud-hint{margin:0;color:var(--tb-muted)}.hud-final{font-size:3.5rem;font-weight:700;font-variant-numeric:tabular-nums}.hud-button{margin-top:.5rem;padding:.75rem 2rem;border:0;border-radius:999px;background:var(--tb-accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.hud-offers{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.hud-offers:empty{display:none}.hud-button-quiet{margin-top:0;background:#fff;color:var(--tb-accent);box-shadow:inset 0 0 0 2px var(--tb-accent)}.hud-error{color:var(--tb-error)}.hud-icon-button{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:50%;background:var(--tb-glass);color:var(--tb-ink-soft);cursor:pointer;pointer-events:auto}.hud-toasts{position:absolute;z-index:2;top:1rem;left:50%;display:flex;flex-direction:column;align-items:center;gap:.5rem;transform:translate(-50%);pointer-events:none}.hud-toast{padding:.6rem 1.2rem;border-radius:999px;background:#fff;box-shadow:0 4px 16px #22223b26;color:var(--tb-ink);font-weight:600;white-space:nowrap;transition:opacity .3s}.hud-toast-error{color:var(--tb-error)}.hud-toast-out{opacity:0}.hud-chip{position:absolute;bottom:calc(2rem + env(safe-area-inset-bottom));left:50%;padding:.5rem 1.1rem;border-radius:999px;background:var(--tb-glass);color:var(--tb-ink-soft);font-weight:600;white-space:nowrap;transform:translate(-50%);transition:opacity .3s}.hud-chip-out{opacity:0}html,body{margin:0;height:100%;overflow:hidden;font-family:var(--tb-font);background:var(--tb-sky);color:var(--tb-ink);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;inset:0}#app canvas{display:block;width:100%;height:100%;touch-action:none}.game-hud{position:absolute;inset:0;pointer-events:none}.world-hint-chip{position:absolute;top:calc(var(--tb-hud-top) + 1rem);right:1rem;z-index:1;padding:.4rem .9rem;border-radius:999px;background:var(--tb-glass);color:var(--tb-ink-soft);font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}#app.is-playing{--tb-hud-top: 3.25rem}.world-topbar{position:absolute;z-index:3;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:calc(.6rem + env(safe-area-inset-top)) .75rem .6rem;pointer-events:none}.world-topbar>*{pointer-events:auto}.world-topbar [hidden]{display:none}.world-brand{display:flex;align-items:baseline;gap:.5rem;padding:.35rem .5rem;color:var(--tb-ink);text-decoration:none}.world-wordmark{font-size:1.15rem;font-weight:800;letter-spacing:-.01em}.world-section{color:var(--tb-muted);font-weight:600}.world-map-button{padding:.55rem 1rem;border:0;border-radius:999px;background:var(--tb-glass);color:var(--tb-ink-soft);font:inherit;font-weight:700;cursor:pointer}.world-topbar-actions{display:flex;gap:.5rem;margin-left:auto}.map-hud{position:absolute;z-index:2;right:0;bottom:0;left:0;display:flex;justify-content:center;padding:0 1rem calc(1rem + env(safe-area-inset-bottom));pointer-events:none;transition:opacity .25s,transform .25s}.map-hud.is-hidden{opacity:0;transform:translateY(1.5rem)}.reduced-motion .map-hud{transition:opacity .15s;transform:none}.map-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:min(100%,24rem);box-sizing:border-box;padding:1rem 1.25rem 1.1rem;border-radius:1.25rem;background:#ffffffd1;box-shadow:0 8px 28px #22223b24;text-align:center;pointer-events:auto}.map-card-title{margin:0;font-size:1.5rem}.map-card-line{margin:0;color:var(--tb-muted)}.map-card-action{min-width:10rem;padding:.85rem 2.5rem;font-size:1.15rem}.map-card-action[hidden]{display:none}.map-card-action.is-loading{color:transparent;background-image:radial-gradient(circle,#fff 0 .2rem,transparent .22rem);background-position:center;background-repeat:no-repeat;animation:map-pulse .8s ease-in-out infinite alternate;cursor:progress}@keyframes map-pulse{to{background-size:2.6rem 2.6rem}}.map-plot-button{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.world-fade{position:absolute;z-index:4;inset:0;background:#f4f0fc;opacity:0;pointer-events:none;transition:opacity 75ms linear}.world-fade.is-shown{opacity:1}.world-nowebgl{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:34rem;height:100%;margin:0 auto;padding:3rem 1.5rem;overflow-y:auto;text-align:center;user-select:text;-webkit-user-select:text}.world-nowebgl p{margin:0;color:var(--tb-ink-soft);line-height:1.5}.world-nowebgl-games{display:flex;flex-direction:column;gap:.75rem;width:100%;margin:.5rem 0;padding:0;list-style:none}.world-nowebgl-games li{display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1rem;border-radius:1rem;background:var(--tb-glass)}.world-nowebgl-games span{color:var(--tb-muted)}.world-nowebgl .hud-button{text-decoration:none}.world-noscript{position:fixed;inset:0;max-width:34rem;margin:0 auto;padding:3rem 1.5rem;line-height:1.5}:root{--rail-w: 160px;--rail-edge: 16px;--rail-gap: 24px}.world-rail{display:none}.world-rail-ad{display:inline-block;width:var(--rail-w);height:600px}@media(min-width:1200px)and (min-height:640px)and (hover:hover)and (pointer:fine){.world-rail{position:fixed;top:50%;display:flex;flex-direction:column;align-items:center;gap:4px;width:var(--rail-w);transform:translateY(-50%)}.world-rail-left{left:var(--rail-edge)}.world-rail-right{right:var(--rail-edge)}.world-rail.is-collapsed,.world-rail:has(>ins[data-ad-status=unfilled]){display:none}.world-rail-left:not(.is-collapsed,:has(>ins[data-ad-status=unfilled]))~#app{left:calc(var(--rail-edge) + var(--rail-w) + var(--rail-gap))}.world-rail-right:not(.is-collapsed,:has(>ins[data-ad-status=unfilled]))~#app{right:calc(var(--rail-edge) + var(--rail-w) + var(--rail-gap))}}@media(min-width:1600px)and (min-height:640px)and (hover:hover)and (pointer:fine){:root{--rail-w: 300px}}.world-rail-label{color:var(--tb-muted);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}
