@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}html,body{margin:0;min-width:320px;touch-action:manipulation;-ms-touch-action:manipulation}body{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,.game-progress,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 0 0}.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-top:0;border-bottom:0;border-radius:0;background:linear-gradient(145deg,#433267dd,#201533e6);box-shadow:inset 0 1px #ffffff3c}.game-progress{display:grid;grid-template-columns:repeat(3,1fr);min-height:78px;padding:10px 12px;border:2px solid #ffffff38;border-top:1px solid #ffffff2b;border-radius:0 0 27px 27px;background:linear-gradient(145deg,#3c2b5ddd,#211637ed);box-shadow:0 25px 60px #0c072444,inset 0 -1px #ffffff24}.game-progress>div{display:grid;place-content:center;gap:5px;text-align:center}.game-progress>div+div{border-left:1px solid #ffffff2d}.game-progress b{color:var(--accent);font:700 24px/1 Fraunces,serif;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.game-progress span{color:#eee3f9;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.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){.mission,.game-shell,.game-progress{width:calc(100% - 20px)}.game-shell{min-height:405px}.game-progress{min-height:72px;padding-inline:7px}.game-progress b{font-size:22px}.board{inset:54px 10px 12px}.beacon{width:72px;height:72px}.orb{width:55px;height:55px}.orb b{font-size:28px}.mission{padding-bottom:0}.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}}.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:grid;grid-template-columns:1.08fr 1fr .92fr;width:100%;margin:20px auto 0;border:2px solid #ffffff38;border-bottom:1px solid #ffffff2b;border-radius:27px 27px 0 0;background:linear-gradient(145deg,#3c2b5ddd,#211637ed);box-shadow:inset 0 1px #ffffff24}.challenge-controls label{display:grid;align-content:center;gap:5px;min-height:68px;padding:8px 12px;color:#e5dbf0;font-size:8px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.09em}.challenge-controls label+label{border-left:1px solid #ffffff2d}.challenge-controls input,.challenge-controls select{width:100%;height:34px;border:1px solid #ffffff45;border-radius:10px;background:#251a46;color:#fff8ee;font:600 15px DM Mono,monospace;padding:0 9px}.challenge-controls select{appearance:auto}.challenge-controls .challenge-action{min-height:68px;padding:8px 7px;border-left:1px solid #ffffff2d;border-radius:0 25px 0 0;background:transparent;color:#fff0a9;font:700 clamp(15px,2.4vw,22px)/1 Fraunces,serif;letter-spacing:-.5px}.challenge-controls .challenge-action.restart{color:#6dd5fa}.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}.install-toast{position:fixed;z-index:19;left:14px;right:14px;bottom:max(16px,env(safe-area-inset-bottom));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;max-width:520px;margin:auto;padding:11px 11px 11px 13px;border:1px solid #ffffff40;border-radius:17px;background:#2b1c49f5;box-shadow:0 16px 42px #090516a8;color:#fff8ee;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.install-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent);color:#35234e}.install-mark svg{width:18px;height:18px;stroke-width:2.4}.install-copy{display:grid;gap:3px;min-width:0}.install-copy b{font:700 15px/1 Fraunces,serif}.install-copy p{margin:0;color:#eadff5;font-size:9px;line-height:1.35}.install-copy strong{color:var(--accent)}.install-action,.install-dismiss{padding:10px 11px;border-radius:10px;background:var(--accent);color:#35234e;font-size:9px;font-weight:800;text-transform:uppercase}.install-dismiss{border:1px solid #ffffff35;background:#ffffff16;color:#fff8ee}.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(84dvh,680px);display:flex;flex-direction:column;padding-inline:18px}.history-sheet h2{margin-bottom:14px}.history-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 14px;padding:12px 8px;border:1px solid #ffffff26;border-radius:16px;background:#ffffff0d}.history-summary div{display:grid;gap:4px;text-align:center}.history-summary div+div{border-left:1px solid #ffffff20}.history-summary b{color:var(--accent);font:700 20px/1 Fraunces,serif;letter-spacing:-.6px}.history-summary span{color:#e9def4;font-size:8px;text-transform:uppercase;letter-spacing:.055em}.history-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:13px}.history-filters button{min-height:34px;padding:6px 4px;border:1px solid #ffffff2d;border-radius:10px;background:#ffffff0d;color:#e9def4;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.history-filters button.active{border-color:var(--accent);background:var(--accent);color:#35234e}.history-scroll{overflow:auto;margin:0 -3px;padding:0 3px 3px}.history-day+.history-day{margin-top:15px}.history-day>p{margin:0 2px 6px;color:#bfaed1;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.history-list{display:grid;gap:7px;margin:0;padding:0;list-style:none;text-align:left}.history-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:0;border:0;background:transparent}.history-story{display:grid;place-items:center;gap:2px;min-width:52px;padding:7px 5px;border:1px solid #ffffff2c;border-radius:14px;background:#ffffff0d;color:var(--accent);font-size:7px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.history-story svg{width:16px;height:16px;stroke-width:2.4}.history-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;min-height:64px;padding:9px 9px 9px 11px;border:1px solid #ffffff2c;border-radius:14px;background:#ffffff0d;color:#fff8ee;text-align:left;transition:background .16s ease,border-color .16s ease,transform .16s ease}.history-entry:active{transform:scale(.985);background:#ffffff1b}.history-entry:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.history-time{color:var(--accent);font:700 19px/1 Fraunces,serif;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.history-entry-copy{display:grid;min-width:0;gap:4px}.history-entry-copy b{font-size:10px;line-height:1.1}.history-entry-copy span{color:#e4d8f1;font-size:8px;letter-spacing:.045em;text-transform:uppercase}.history-record{display:inline-flex;align-items:center;gap:3px;color:var(--accent);font-size:7px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.history-record svg{width:14px;height:14px;stroke-width:2.5}.history-chevron{width:17px;height:17px;color:#d9c9e7}.history-empty{margin:14px 0 10px;color:#eee3f9;font-size:12px;line-height:1.55}.record{margin:3px 0!important;color:var(--accent)!important;font-weight:800;letter-spacing:.12em}.history svg,.how-to svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.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}.install-help{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;margin-top:10px;padding:10px;border:1px solid #ffffff2e;border-radius:12px;background:#ffffff0d;text-align:left}.install-help svg{width:18px;height:18px;color:var(--accent);stroke-width:2.4}.install-help b{display:block;margin-bottom:3px;color:#fff8ee;font-size:10px}.install-help p{margin:0!important;color:#e9def4!important;font-size:9px!important;line-height:1.4!important}.install-help strong{color:var(--accent)}.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}.story-result{margin:0 auto 8px!important;border:1px solid var(--accent)!important;background:transparent!important;color:var(--accent)!important}.story-sheet{max-height:calc(100dvh - 30px);overflow:auto;padding-bottom:18px}.story-sheet h2{margin-bottom:13px}.story-preview{width:min(208px,58vw);margin:0 auto 13px;overflow:hidden;border:1px solid #ffffff52;border-radius:17px;box-shadow:0 13px 32px #0b061c88;aspect-ratio:9/16;background:conic-gradient(#ffffff10 25%,#ffffff04 0 50%,#ffffff10 0 75%,#ffffff04 0) 0/18px 18px}.story-preview img{display:block;width:100%;height:100%;object-fit:cover}.story-preview>span{display:grid;place-items:center;width:100%;height:100%;color:#f0e5fa;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.story-details{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:0 0 10px;padding:9px;border:1px solid #ffffff26;border-radius:12px;text-align:left}.story-details legend{padding:0 4px;color:#d9cbea;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.story-details label{display:flex;align-items:center;gap:6px;color:#f5effa;font-size:10px;font-weight:700}.story-details input{width:14px;height:14px;margin:0;accent-color:var(--accent)}.story-background-toggle{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 10px;color:#f5effa;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.story-background-toggle input{width:14px;height:14px;margin:0;accent-color:var(--accent)}.story-designs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.story-designs button{min-height:35px;border:1px solid #ffffff2f;border-radius:10px;background:#ffffff0d;color:#e9def4;font-size:9px;font-weight:800;text-transform:uppercase}.story-designs button.active{border-color:var(--accent);background:var(--accent);color:#35234e}.story-share{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:12px}.story-share svg{width:15px;height:15px;stroke:currentColor}@media(max-height:700px){.story-sheet{padding-top:18px}.story-sheet h2{margin-bottom:8px;font-size:26px}.story-preview{width:min(145px,42vw);margin-bottom:8px}.story-share{margin-top:9px}}.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}
