@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Noto+Sans+SC:wght@400;500;600&display=swap";:root{color:#ecfaff;background:#030608;font-family:Noto Sans SC,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit}.game-shell{position:relative;isolation:isolate;width:100%;height:100%;min-height:36rem;overflow:hidden;background:#030608}.game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.game-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 52% 48%,transparent 34%,rgba(0,2,4,.55) 100%)}.game-header,.status,.actions,.game-overlay,.paused{position:absolute;z-index:2}.game-header{top:max(1.4rem,env(safe-area-inset-top));left:clamp(1.2rem,3vw,2.8rem);right:clamp(1.2rem,3vw,2.8rem);display:flex;align-items:center;justify-content:space-between;animation:drift-in .7s cubic-bezier(.16,1,.3,1) both}.brand{display:flex;align-items:center;gap:.7rem;font-size:.76rem;font-weight:600;letter-spacing:.16em}.brand>span{width:.48rem;height:.48rem;border-radius:50%;background:#74e8ff;box-shadow:0 0 18px #74e8ff}.brand small{color:#daf3fa5c;font:500 .54rem IBM Plex Mono,monospace;letter-spacing:.13em}.game-header button{padding:.7rem .9rem;border:0;color:#e1f7fc9e;background:transparent;font:500 .62rem IBM Plex Mono,monospace;letter-spacing:.12em;cursor:pointer}.status{top:max(5.1rem,calc(env(safe-area-inset-top) + 4rem));left:clamp(1.2rem,3vw,2.8rem);display:flex;gap:2.3rem}.status div{display:grid;gap:.2rem}.status span,.actions small{color:#cfebf166;font:400 .55rem IBM Plex Mono,monospace;letter-spacing:.12em}.status b{font:500 1rem IBM Plex Mono,monospace;letter-spacing:.08em}.status .identity b{display:flex;align-items:center;gap:.42rem;font-size:.72rem}.identity i{width:.42rem;height:.42rem;border-radius:50%;background:#f4fbff;box-shadow:0 0 12px #f4fbffe6}.actions{right:clamp(1.2rem,3vw,2.8rem);bottom:max(1.5rem,env(safe-area-inset-bottom));display:flex;gap:.55rem}.selection-readout{min-width:7.4rem;padding:.72rem 1rem;border-radius:.8rem;color:#e5f7fb75;background:#0e181c80;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.selection-readout span,.selection-readout b{display:block}.selection-readout span{font:400 .55rem IBM Plex Mono,monospace;letter-spacing:.1em}.selection-readout b{margin-top:.18rem;font:500 .9rem IBM Plex Mono,monospace}.selection-readout.is-ready{color:#f4fbff;background:#f4fbff1a;box-shadow:0 12px 42px #f4fbff0f}.actions button{min-width:9.5rem;padding:.8rem 1rem;border:0;border-radius:.8rem;color:#e5f7fb9e;background:#0e181ca3;box-shadow:0 12px 32px #0000002e;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);text-align:left;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease}.actions button:hover{transform:translateY(-2px);background:#18272db8}.actions button:disabled{opacity:.28;cursor:default;transform:none}.actions button.is-ready{color:#dffbff;background:#3988973d;box-shadow:0 12px 42px #42cde71a}.actions span,.actions small{display:block}.actions span{margin-bottom:.25rem;font-size:.72rem;letter-spacing:.06em}.game-overlay{top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;background:radial-gradient(circle at 50% 48%,#14474f14,#030608b3);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:reveal .6s ease both}.eyebrow{margin:0;color:#74e8ff;font:500 .58rem IBM Plex Mono,monospace;letter-spacing:.24em;text-transform:uppercase}.game-overlay h1{margin:.9rem 0 0;font-size:clamp(4.8rem,14vw,9.6rem);font-weight:500;line-height:.9;letter-spacing:-.08em;text-shadow:0 0 80px rgba(116,232,255,.16)}.overlay-copy{max-width:32rem;margin:1.7rem 0 0;color:#def1f694;font-size:.8rem;line-height:1.8;letter-spacing:.04em}.game-overlay>button,.paused button{min-width:10.5rem;min-height:3.25rem;margin-top:1.8rem;border:0;border-radius:999px;color:#071215;background:#dffbff;box-shadow:0 18px 50px #53cee233;font-size:.72rem;font-weight:600;letter-spacing:.14em;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.game-overlay>button:hover,.paused button:hover{transform:translateY(-3px);box-shadow:0 22px 60px #53cee24d}.controls{position:absolute;bottom:max(1.6rem,env(safe-area-inset-bottom));margin:0;color:#d6edf247;font:400 .55rem IBM Plex Mono,monospace;letter-spacing:.08em}.map-overlay{justify-content:flex-start;padding:clamp(5rem,10vh,7rem) clamp(1rem,4vw,3rem) 5rem;overflow-y:auto}.map-intro{display:grid;justify-items:center}.map-overlay .map-intro h1{margin-top:.55rem;font-size:clamp(2.6rem,7vw,5.2rem)}.map-overlay .overlay-copy{margin-top:.7rem}.map-picker{display:grid;grid-template-columns:repeat(5,minmax(8.5rem,11rem));gap:.65rem;width:min-content;max-width:100%;margin-top:clamp(1.5rem,4vh,3rem);overflow-x:auto;padding:.4rem}.map-picker>button{display:grid;gap:.75rem;min-height:10.5rem;padding:.85rem;border:0;border-radius:.9rem;color:#e8f7fb80;background:#0a12168c;box-shadow:0 14px 38px #00000029;text-align:left;cursor:pointer;transition:color .18s ease,background .18s ease,transform .18s ease}.map-picker>button:hover{color:#f4fbffd1;transform:translateY(-3px)}.map-picker>button.is-selected{color:#f4fbff;background:#f4fbff17;box-shadow:0 16px 48px #7fdff114}.mini-map{position:relative;display:block;width:100%;height:6.2rem;border-radius:.55rem;background:radial-gradient(circle at 50% 50%,rgba(116,232,255,.04),transparent 70%)}.map-star{position:absolute;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:#68727c;box-shadow:0 0 6px currentColor}.map-star.player{color:#f4fbff;background:currentColor}.map-star.ember{color:#ff725e;background:currentColor}.map-star.violet{color:#9e7bff;background:currentColor}.map-picker button>span:last-child{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.map-picker b{font-size:.72rem;font-weight:500;letter-spacing:.04em}.map-picker small{color:#daeff459;font:400 .5rem IBM Plex Mono,monospace}.map-action{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:min(58rem,100%);margin-top:clamp(1rem,3vh,2rem);text-align:left}.map-action p{display:grid;gap:.3rem;margin:0}.map-action p b{font-size:.82rem;font-weight:500}.map-action p span{color:#def1f673;font-size:.68rem}.map-action>button{min-width:10.5rem;min-height:3.25rem;border:0;border-radius:999px;color:#071215;background:#dffbff;box-shadow:0 18px 50px #53cee233;font-size:.7rem;font-weight:600;letter-spacing:.12em;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.map-action>button:hover{transform:translateY(-3px);box-shadow:0 22px 60px #53cee24d}.paused{top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;background:#0306088a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.paused span{font-size:clamp(2.8rem,8vw,5rem);font-weight:500;letter-spacing:-.06em}.paused button{min-height:3rem}@keyframes reveal{0%{opacity:0;transform:scale(1.03)}}@keyframes drift-in{0%{opacity:0;transform:translateY(-10px)}}@media (max-width: 640px){.brand small{display:none}.game-overlay:not(.map-overlay){justify-content:flex-end;padding-bottom:max(8rem,calc(env(safe-area-inset-bottom) + 7rem))}.game-overlay h1{font-size:clamp(5rem,25vw,7rem)}.map-overlay{padding-top:4.5rem}.map-overlay .map-intro h1{font-size:2.8rem}.map-picker{grid-template-columns:repeat(5,8.2rem);width:100%;justify-content:flex-start}.map-action{align-items:stretch;gap:.8rem}.map-action p{flex:1}.map-action>button{min-width:8rem}.actions{left:1rem;right:1rem}.actions button{min-width:0;flex:1}.selection-readout{min-width:6.4rem}.status{gap:1.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
