*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#05091b}body{min-height:100svh}main{min-height:100svh;display:grid;place-items:center;padding:12px}.wheel{position:relative;width:min(calc(100vw - 24px),calc(100svh - 24px),1100px);aspect-ratio:1;isolation:isolate}.wheel img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}.hit-map{position:absolute;inset:0;width:100%;height:100%}.sector{fill:transparent;stroke:none;pointer-events:all}.glow{opacity:0;filter:brightness(1.65) saturate(1.12);pointer-events:none;transition:opacity .2s}.portion:hover .glow{opacity:1}@media(prefers-reduced-motion:reduce){.glow{transition:none}}

.nebula-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.nebula-portal{pointer-events:all;outline:none}.nebula-target{fill:transparent}.nebula-message{opacity:0;pointer-events:none;transition:opacity .25s ease}.nebula-message circle{fill:#000}.nebula-message text{fill:#edca75;font-family:Georgia,'Times New Roman',serif;font-size:46px;font-weight:500;letter-spacing:.5px}.nebula-portal:hover .nebula-message,.nebula-portal:focus .nebula-message{opacity:1}@media(prefers-reduced-motion:reduce){.nebula-message{transition:none}}

@font-face{font-family:Cuento;src:url('fonts/cuento.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}.nebula-message text{font-family:Cuento,Georgia,serif;font-size:66px;font-weight:400;letter-spacing:1px;fill:#f4ce78;filter:drop-shadow(0 0 5px #c58b3e88)}

.nebula-message text{transform-box:view-box;transform-origin:627px 605px}.nebula-portal:hover .nebula-message text,.nebula-portal:focus .nebula-message text{animation:dream-depth 3s linear infinite}@keyframes dream-depth{0%{transform:translateY(0) scale(1);opacity:1}65%{opacity:.85}90%,100%{transform:translateY(-32px) scale(.015);opacity:0}}@media(prefers-reduced-motion:reduce){.nebula-portal:hover .nebula-message text,.nebula-portal:focus .nebula-message text{animation:none;transform:none;opacity:1}}

.nebula-portal{cursor:pointer}.nebula-portal.departing .nebula-message{opacity:1;transition:none}.nebula-portal.departing .nebula-message text{animation:dream-click 1.5s linear forwards}@keyframes dream-click{from{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-32px) scale(.015);opacity:0}}@media(prefers-reduced-motion:reduce){.nebula-portal.departing .nebula-message text{animation:none;opacity:0}}

.portion{cursor:pointer;outline:none}.portion:focus-visible .glow{opacity:1}
