@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{font-family:DM Mono,monospace;color:#fff8ee;background:#291d4b}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit;border:0;cursor:pointer}main{min-height:100dvh;position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 25%,color-mix(in srgb,var(--glow) 29%,#302251),#201538 64%)}.cosmos{position:fixed!important;inset:0;z-index:-2;opacity:.72;pointer-events:none}header,.mission,.game-shell,footer{width:min(740px,calc(100% - 28px));margin-inline:auto}header{padding:17px 0 9px;display:flex;justify-content:space-between;align-items:center}.wordmark{font:700 26px/1 Fraunces,serif;letter-spacing:-1px}.wordmark span{color:var(--accent);font-size:37px;vertical-align:-4px}.new{color:#35234e;background:var(--accent);border-radius:99px;padding:11px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.mission{text-align:center;padding:11px 10px 15px}.eyebrow{color:var(--accent);margin:0 0 5px;font-size:10px;letter-spacing:.15em;text-transform:uppercase}h1{margin:0;font:700 clamp(31px,7.4vw,49px)/.98 Fraunces,serif;letter-spacing:-2px}.mission>p:last-child{max-width:500px;margin:11px auto 0;color:#f0e9fb;font-size:12px;line-height:1.55}.mission b{color:var(--accent)}.game-shell{position:relative;aspect-ratio:1.12 / 1;min-height:350px;max-height:570px;overflow:hidden;border:2px solid #ffffff38;border-radius:27px;background:linear-gradient(145deg,#433267dd,#201533e6);box-shadow:0 25px 60px #0c072444,inset 0 1px #ffffff3c}.board{position:absolute;inset:55px 15px 14px;transform:perspective(900px) rotateX(5deg);transform-origin:50% 48%}.board:before{content:"";position:absolute;inset:6% 5%;border-radius:24px;background-image:radial-gradient(circle,#ffffff2e 1.5px,transparent 1.7px);background-size:19% 19%;opacity:.9}.status{position:absolute;z-index:4;top:13px;left:15px;padding:8px 11px;display:flex;align-items:baseline;gap:7px;border-radius:13px;border:1px solid #ffffff2e;background:#281a45dd}.status b{color:var(--accent);font-size:19px}.status span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#efe7fa}.touch-tip{position:absolute;z-index:4;top:18px;right:16px;color:var(--accent);font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.wire-layer{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}.track{stroke:#8f86ab;stroke-width:3.2;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 4px 3px #100a2255);transition:stroke .14s ease,filter .14s ease}.track.on{stroke:var(--accent);filter:drop-shadow(0 0 8px var(--glow))}.track.candidate{stroke:#fff6d3;stroke-width:4.5;filter:drop-shadow(0 0 8px var(--accent));animation:cable-pulse .8s ease-in-out infinite alternate}.beacon{position:absolute;z-index:2;width:76px;height:76px;padding:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);display:grid;place-items:center;filter:drop-shadow(0 8px 8px #11092a88);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.beacon:focus-visible{outline:4px solid #fff;outline-offset:3px}.orb{width:58px;height:58px;border-radius:50%;display:grid;place-content:center;text-align:center;color:#38234f;background:radial-gradient(circle at 35% 27%,#fffef4 0 22%,#fff0b1 23% 65%,#e6a548);border:3px solid #fff9dc;box-shadow:inset -5px -7px #c8843477,0 0 0 3px #513566;transition:transform .17s ease,box-shadow .17s ease}.orb b{display:block;font:700 29px/.85 Fraunces,serif}.orb span{margin-top:5px;font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.counter{position:absolute;right:-4px;bottom:-1px;min-width:37px;padding:4px 5px;border-radius:99px;background:#281a46;color:#e9dff4;border:2px solid #ffffff5a;font-size:10px;text-align:center}.counter strong{color:var(--accent)}.beacon.selected .orb{transform:scale(1.16);box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 37%,transparent),0 0 27px var(--glow),inset -5px -7px #fff4}.beacon.possible .orb{animation:orb-pulse .8s ease-in-out infinite alternate}.beacon.complete .orb{background:radial-gradient(circle at 35% 27%,#f7ffec 0 22%,var(--accent) 25% 67%,var(--glow) 100%);box-shadow:0 0 23px var(--glow),inset -5px -7px #fff4}.beacon.complete .counter{background:#19624f}.beacon.complete .counter strong{color:#fff}.beacon.over .orb{background:radial-gradient(circle at 35% 27%,#fff2ef,#ff967f 66%,#d64f61)}.beacon.over .counter{background:#9a3450}.win{position:absolute;inset:0;z-index:8;display:grid;place-content:center;text-align:center;background:#261840e8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:pop .25s ease-out}.win>div{color:var(--accent);font-size:55px;text-shadow:0 0 28px var(--glow)}.win p{margin:3px 0;color:var(--accent);font-size:10px;letter-spacing:.16em}.win h2{margin:5px 0 20px;font:700 36px/.98 Fraunces,serif;letter-spacing:-1.4px}.win button{padding:14px 17px;border-radius:99px;background:var(--accent);color:#3a2450;font-weight:700}footer{padding:13px 0 19px;display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:9px;color:#e4d9ef;text-transform:uppercase;letter-spacing:.045em}footer button{color:var(--accent);padding:8px 0;background:transparent;font-weight:700}footer span{text-align:center;opacity:.9}@keyframes pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes orb-pulse{to{transform:scale(1.1);box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 35%,transparent),0 0 24px var(--glow)}}@keyframes cable-pulse{to{opacity:.72}}@media(max-width:480px){.game-shell{width:calc(100% - 20px);min-height:405px}.board{inset:54px 10px 12px}.beacon{width:72px;height:72px}.orb{width:55px;height:55px}.orb b{font-size:28px}.mission{padding-bottom:10px}.mission>p:last-child{font-size:11px}.status{top:10px;left:11px}.touch-tip{top:15px;right:11px;max-width:134px;text-align:right;line-height:1.3}.track.horizontal span{height:18px}.track.vertical span{width:18px}footer span{max-width:170px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.header-stats{font-size:10px;color:#eee1fa;text-transform:uppercase;letter-spacing:.05em}.update{padding:8px 10px;border-radius:10px;background:#fff0a9;color:#3a2651;font-size:9px;font-weight:800;text-transform:uppercase;animation:pulse 1.6s ease-in-out infinite}.challenge-controls{display:flex;align-items:end;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px auto 0}.challenge-controls label{display:grid;gap:4px;font-size:8px;text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#e5dbf0}.challenge-controls input,.challenge-controls select{height:36px;border:1px solid #ffffff45;border-radius:10px;background:#251a46;color:#fff8ee;font:500 13px DM Mono,monospace;padding:0 9px}.challenge-controls input{width:86px}.challenge-controls button{height:36px;padding:0 13px;border-radius:10px;background:var(--accent);color:#34204c;font-size:10px;font-weight:700;text-transform:uppercase}.run-stats{position:absolute;z-index:4;right:14px;bottom:10px;padding:7px 9px;border-radius:10px;background:#281a46d9;color:#f5ecff;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.header-actions{display:flex;align-items:center;gap:8px}.how-to{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #ffffff55;border-radius:50%;background:#ffffff14;color:#fff8ee;font:700 18px/1 Fraunces,serif}.how-to[aria-expanded=true]{background:#ffffff36}.help-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:end center;padding:20px;background:#0d09237a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.help-sheet{position:relative;width:min(520px,100%);padding:24px 22px 20px;border:1px solid #ffffff45;border-radius:25px;background:linear-gradient(145deg,#49336ddf,#261945f4);box-shadow:0 22px 60px #08041788;text-align:center}.help-sheet h2{margin:5px 0 12px;font:700 30px/.96 Fraunces,serif;letter-spacing:-1px}.help-sheet p:not(.eyebrow){margin:0 auto;color:#f0e9fb;font-size:13px;line-height:1.55}.close-help{position:absolute;top:11px;right:13px;width:30px;height:30px;border-radius:50%;background:#ffffff20;color:#fff;font-size:23px;line-height:1}.got-it{margin-top:16px;padding:10px 22px;border-radius:99px;background:var(--accent);color:#35234e;font-size:10px;font-weight:800;text-transform:uppercase}.update-toast{position:fixed;z-index:18;left:14px;right:14px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:520px;margin:auto;padding:10px 11px 10px 15px;border:1px solid #fff2b566;border-radius:15px;background:#2b1c49f2;box-shadow:0 14px 35px #09051699;color:#fff8ee;font-size:10px;text-transform:uppercase;letter-spacing:.06em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.update-toast button{padding:10px 13px;border-radius:10px;background:#fff0a9;color:#3a2651;font-size:10px;font-weight:800;text-transform:uppercase}.history{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #ffffff55;border-radius:50%;background:#ffffff14;color:#fff8ee;font:700 20px/1 DM Mono,monospace}.history-sheet{max-height:min(80dvh,650px);display:flex;flex-direction:column}.history-summary{margin:-3px 0 12px;color:#eee3f9;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.history-summary b{font-size:20px;color:var(--accent)}.history-list{display:grid;gap:7px;overflow:auto;margin:0 -4px;padding:3px 4px 0;list-style:none;text-align:left}.history-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #ffffff26;border-radius:12px;background:#ffffff0d}.history-list li div{display:grid;gap:3px}.history-list li b{font-size:10px;color:#fff8ee}.history-list li span{font-size:9px;color:#e4d8f1;text-transform:uppercase}.history-list li button{padding:8px 9px;border-radius:9px;background:var(--accent);color:#35234e;font-size:8px;font-weight:800;text-transform:uppercase}.record{margin:3px 0!important;color:var(--accent)!important;font-weight:800;letter-spacing:.12em}.history svg,.how-to svg,.clear-connections svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.clear-connections{display:grid!important;place-items:center;width:36px!important;padding:0!important;border:1px solid #ffffff55!important;border-radius:50%!important;background:#ffffff17!important;color:#fff8ee!important}.instruction-list{display:grid;gap:8px;margin:3px 0 12px;padding:0;list-style:none;text-align:left}.instruction-list li{position:relative;display:grid;gap:2px;padding:0 0 0 30px}.instruction-list li:before{position:absolute;left:0;top:0;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--accent);color:#33234b;content:counter(item);counter-increment:item;font-size:10px;font-weight:800}.instruction-list{counter-reset:item}.instruction-list b{font-size:12px;color:#fff8ee}.instruction-list span{font-size:11px;color:#e9dff5}.shared-note{padding-top:9px!important;border-top:1px solid #ffffff28;font-size:10px!important;color:#d9cbea!important}.feedback-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:10px;padding:9px;border:1px solid #ffffff35;border-radius:11px;background:#ffffff12;color:#f1e9fa;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.feedback-toggle svg{width:16px;height:16px;stroke:currentColor}.share-result{display:flex!important;align-items:center;justify-content:center;gap:7px;margin:8px auto!important;border:1px solid #ffffff66!important;background:#ffffff18!important;color:#fff8ee!important}.share-result svg{width:15px;height:15px;stroke:currentColor}.credit{display:block!important;width:min(740px,calc(100% - 28px));margin:8px auto 13px;text-align:center}.credit a{color:#dacde8;text-decoration:none;font-size:9px;letter-spacing:.03em;opacity:.72}.credit a:hover{opacity:1;text-decoration:underline}.credit span{color:#ff91b6;font-size:11px}@media(max-width:480px){.header-stats{display:none}.challenge-controls{gap:6px}.run-stats{right:9px;bottom:8px;font-size:8px}.game-shell{margin-top:2px}}
