html,body{color:#e8ecff;background:#0a0e1e;min-height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}body{background-color:#0a0e1e;background-image:radial-gradient(80% 60% at 50% 0,#1a2247 0%,#0000 70%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}main{box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:2rem .5rem;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.layout{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(1rem,4vw,2.5rem);width:100%;max-width:74rem;display:flex}#app{box-sizing:border-box;flex-direction:column;flex:28rem;align-items:center;gap:clamp(.75rem,3vmin,2rem);min-width:0;max-width:36rem;padding:clamp(.75rem,3vmin,2rem);display:flex;position:relative}#map{aspect-ratio:1;flex:none;width:min(85vmin,32rem);max-width:100%;height:min(85vmin,32rem);position:relative}#hub{appearance:none;cursor:pointer;background:radial-gradient(circle at 35% 30%,#1c2650,#10152e 75%);border:none;border-radius:50%;justify-content:center;align-items:center;width:clamp(6rem,28vmin,10rem);height:clamp(6rem,28vmin,10rem);padding:0;transition:box-shadow .2s,transform .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 2px #2c3766,0 6px 18px #00000073}#hub:hover{box-shadow:inset 0 0 0 2px #4a5aa8,0 0 20px #4a5aa880,0 6px 18px #00000073}#hub:active{transform:translate(-50%,-50%)scale(.96)}#hub:disabled{cursor:default}#app.active #hub{box-shadow:inset 0 0 0 2px #2c3766,0 0 22px #4ade8059,0 6px 18px #00000073}#hub.spinning{animation:.5s ease-in-out infinite hub-pick;box-shadow:inset 0 0 0 2px #ffd166,0 0 28px #ffd166a6,0 6px 18px #00000073}@keyframes hub-pick{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.05)}}#ring{pointer-events:none;position:absolute;inset:0;transform:rotate(-90deg)}.ring-track{fill:none;stroke:#2c3766;stroke-width:6px}#ring-progress{fill:none;stroke:#4ade80;stroke-width:6px;stroke-linecap:round;stroke-dasharray:282.6;stroke-dashoffset:0;transition:stroke .2s}#reel-window{width:clamp(2.6rem,7.5vmin,3.8rem);height:clamp(2.6rem,7.5vmin,3.8rem);position:relative;overflow:hidden}#reel-window:before,#reel-window:after{content:"";z-index:1;pointer-events:none;background:#ffd166;height:2px;position:absolute;left:-15%;right:-15%;box-shadow:0 0 6px #ffd166b3}#reel-window:before{top:0}#reel-window:after{bottom:0}#reel-strip{will-change:transform;flex-direction:column;align-items:center;display:flex}#reel-strip span{color:#ffd166;text-shadow:0 0 12px #ffd16680;height:clamp(2.6rem,7.5vmin,3.8rem);font-size:clamp(2rem,5.8vmin,2.9rem);font-weight:800;line-height:clamp(2.6rem,7.5vmin,3.8rem)}.node{box-sizing:border-box;background:#131a37;border:2px solid #2c3766;border-radius:.9rem;flex-direction:column;align-items:center;gap:.3rem;width:clamp(6.5rem,24vmin,9rem);padding:.5rem .5rem .65rem;transition:border-color .15s,box-shadow .15s;display:flex;position:absolute;box-shadow:0 0 14px #5b6fd859,0 4px 12px #0006}.node-nw{top:8%;left:8%;transform:translate(-50%,-50%)}.node-ne{top:8%;left:92%;transform:translate(-50%,-50%)}.node-sw{top:92%;left:8%;transform:translate(-50%,-50%)}.node-se{top:92%;left:92%;transform:translate(-50%,-50%)}.node-label{letter-spacing:.1em;text-transform:uppercase;color:#8891c9;font-size:.7rem}.node input{box-sizing:border-box;text-align:center;color:#e8ecff;background:0 0;border:none;border-top:1px solid #2c3766;width:100%;padding:.4rem .3rem .05rem;font-size:clamp(.85rem,2.8vmin,1.05rem);transition:color .15s,border-color .15s}.node input:focus{outline:none}.node:focus-within{border-color:#5b6fd8;box-shadow:0 0 0 3px #5b6fd859,0 0 14px #5b6fd859,0 4px 12px #0006}.node:focus-within input{border-color:#5b6fd8}.node.locked{border-color:#4ade80;box-shadow:0 0 16px #4ade804d,0 4px 12px #0006}.node.locked input{color:#4ade80;opacity:.9;border-color:#4ade80}.node.rejected{border-color:#f87171;animation:.3s shake;box-shadow:0 0 16px #f8717159,0 4px 12px #0006}.node.rejected input{border-color:#f87171}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}#app.lost .node,#app.lost #hub{pointer-events:none;opacity:.4}.lost-banner{cursor:pointer;z-index:2;background:#0a0e1ed9;border:none;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:none;position:absolute;inset:0}#app.lost .lost-banner{display:flex}.lost-banner .score{color:#ffd166;text-shadow:0 0 24px #ffd16673;font-size:clamp(3rem,14vmin,5rem);font-weight:800;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}#score-badge{background:#141a33;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem 1rem;display:flex;position:fixed;top:.75rem;left:.75rem;box-shadow:inset 0 0 0 2px #2c3766}#score-badge:before{content:"";background:#ffd166;border-radius:50%;width:.6rem;height:.6rem;box-shadow:0 0 8px #ffd166b3}#score-live{color:#ffd166;text-align:left;min-width:1.2em;font-size:clamp(.95rem,2.5vmin,1.15rem);font-weight:800}#best-badge{background:#141a33;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem 1rem;display:flex;position:fixed;bottom:.75rem;right:6.55rem;box-shadow:inset 0 0 0 2px #2c3766}#best-badge:before{content:"";background:#4ade80;border-radius:50%;width:.6rem;height:.6rem;box-shadow:0 0 8px #4ade80b3}#best-label{letter-spacing:.1em;text-transform:uppercase;color:#8891c9;font-size:.65rem;font-weight:700}#best-live{color:#4ade80;text-align:left;min-width:1.2em;font-size:clamp(.95rem,2.5vmin,1.15rem);font-weight:800}#history{box-sizing:border-box;background:#10152e;border:1px solid #232d59;border-radius:1rem;flex:16rem;width:100%;max-width:22rem;max-height:min(70vh,32rem);margin-left:clamp(.5rem,3vw,2rem);padding:clamp(.75rem,2vmin,1.25rem);overflow-y:auto}.history-header,.history-item{grid-template-columns:1.8rem repeat(4,minmax(0,1fr));align-items:center;gap:.5rem;display:grid}.history-header{letter-spacing:.1em;text-transform:uppercase;color:#8891c9;padding:0 .6rem .5rem;font-size:.65rem}#history-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.history-item{background:#141a33;border-radius:.6rem;padding:.5rem .6rem}.history-letter{color:#ffd166;background:#232d59;border-radius:50%;justify-content:center;align-items:center;width:1.8rem;height:1.8rem;font-size:.9rem;font-weight:800;display:flex}.history-cell{color:#c7cdf5;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.82rem;overflow:hidden}#brand{background:#141a33;border-radius:50%;justify-content:center;align-items:center;padding:.4rem;display:flex;position:fixed;top:.75rem;right:.75rem;box-shadow:inset 0 0 0 2px #2c3766}#brand svg{flex:none;width:1.7rem;height:1.7rem}#refresh,#end-game{color:#8891c9;cursor:pointer;background:#141a33;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;transition:color .15s,transform .15s;display:flex;position:fixed;bottom:.75rem;right:.75rem;box-shadow:inset 0 0 0 2px #2c3766}#end-game{right:3.65rem}#refresh:hover,#end-game:hover{color:#e8ecff}#refresh:hover{transform:rotate(-25deg)}#end-game:hover{color:#f87171}#refresh svg,#end-game svg{fill:currentColor;width:1.2rem;height:1.2rem}@media (width<=640px){main{padding:3.5rem .5rem 1.5rem}#history{max-height:40vh;margin-left:0}}@media (width>=1400px){.layout{max-width:82rem}#history{max-width:26rem}}
