:root{color:#edf6ff;font-synthesis:none;text-rendering:optimizelegibility;background:#050b14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 50% 14%,#3c679e2e,#0000 36%),linear-gradient(#081321 0%,#050b14 100%);min-height:100dvh;overflow-x:hidden}button{font:inherit}.app-shell{width:min(100%,31rem);min-height:100dvh;padding:max(1.1rem, env(safe-area-inset-top)) 1.1rem max(1rem, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto;gap:.75rem;margin:0 auto;display:grid}.mock-interstitial-overlay{z-index:100;text-align:center;background:#050b14;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.mock-interstitial-overlay p{color:#edf6ff;letter-spacing:.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,7vw,2.4rem)}.game-header,.game-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.eyebrow{color:#78d9ff;letter-spacing:.18em;text-transform:uppercase;margin:0 0 .2rem;font-size:.68rem;font-weight:700}.level-label{color:#b5cee0;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .18rem;font-size:.78rem;font-weight:650}h1{letter-spacing:.01em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,6vw,2rem);font-weight:500}.lives{color:#8ba6bc;letter-spacing:.04em;align-items:center;gap:.32rem;margin-top:.3rem;font-size:.7rem;display:flex}.life{color:#daedfa2e;font-style:normal}.life--active{color:#d9edf9;text-shadow:0 0 7px #b9e4ff73}.reset-button{color:#cfeaff;cursor:pointer;background:#10243ab3;border:1px solid #a4d5ff42;border-radius:999px;min-width:44px;min-height:44px;padding:.5rem .8rem}.reset-button:hover,.reset-button:focus-visible{border-color:#a4d5ff9e;outline:none}.board-frame{place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.level-one-instruction{z-index:1;color:#b8cfe0;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#07111fb8;border:1px solid #a4d5ff29;border-radius:.75rem;width:min(22rem,100% - 2rem);margin:0;padding:.45rem .7rem;font-size:.72rem;line-height:1.4;position:absolute;top:.35rem;left:50%;transform:translate(-50%)}.connection{pointer-events:none}.connection--converging{transform-box:fill-box;transform-origin:50%;animation:.36s linear forwards successful-thread}.connection--impact,.token-motion--impact{opacity:0}.puzzle-board{width:100%;height:100%;max-height:calc(100dvh - 10.5rem);display:block;overflow:visible}.token{cursor:pointer;outline:none}.token--disabled{pointer-events:none}.token-motion{transform-box:fill-box;transform-origin:50%}.token-motion--converging{animation:.36s linear forwards successful-token}.token-motion--blocked{animation:.36s ease-out token-blocked-bounce}.token-hit-area{fill:#0000;stroke:#0000}.underpass--flashing{animation:.36s ease-out underpass-flash}.healing-dashes{animation:.18s ease-out forwards healing-dashes}.healing-solid{filter:drop-shadow(0 0 6px);animation:.18s ease-out forwards healing-sweep}.thread-impact{pointer-events:none;filter:drop-shadow(0 0 8px #e6faffe6)}.thread-impact__ring{fill:none;stroke:#eefbff;stroke-width:4px;transform-box:fill-box;transform-origin:50%;animation:.18s ease-out forwards impact-ring}.thread-impact__core{fill:#fff;animation:.18s ease-out forwards impact-core}.result-card{z-index:2;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07111fed;border:1px solid #a4d5ff4d;border-radius:1rem;width:min(16rem,100% - 2rem);padding:1.2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1rem 3rem #0000006b}.result-card>.result-title{margin:0 0 .9rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.result-card button{color:#edf6ff;cursor:pointer;background:#36638759;border:1px solid #a4d5ff61;border-radius:999px;min-height:44px;padding:.55rem 1rem}.result-actions{justify-content:center;gap:.55rem;display:flex}.result-actions--stacked{flex-direction:column;align-items:stretch}.mock-ad-state,.interstitial-debug,.result-debug-summary{color:#8fa9bd;margin:.75rem 0 0;font-size:.68rem;line-height:1.4}.interstitial-debug{color:#b9d5e8}.result-card .result-button--secondary{color:#aac2d5;background:0 0}@keyframes successful-token{0%{opacity:1;filter:brightness();transform:translate(0)scale(1)}18%{opacity:1;filter:brightness(1.65);transform:translate(0)scale(1.14)}28%{opacity:1;filter:brightness(1.25);animation-timing-function:cubic-bezier(.72,0,1,.55);transform:translate(0)scale(1.04)}to{transform:translate(var(--move-x), var(--move-y)) scale(1.32);opacity:.3;filter:brightness(2.4)}}@keyframes token-blocked-bounce{0%,to{transform:translate(0)}38%{transform:translate(var(--nudge-x), var(--nudge-y))}65%{transform:translate(calc(var(--nudge-x) * -.22), calc(var(--nudge-y) * -.22))}}@keyframes starter-cue-breathe{0%,to{opacity:.28;transform:scale(.94)}50%{opacity:.58;transform:scale(1.06)}}.starter-cue{fill:none;stroke:#dcefffc7;stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite starter-cue-breathe}@keyframes successful-thread{0%{opacity:.82;stroke-width:4px;transform:scale(1)}18%{opacity:1;stroke-width:6px;filter:brightness(1.55);transform:scale(1)}30%{opacity:.92;stroke-width:4px;animation-timing-function:cubic-bezier(.72,0,1,.55);transform:scale(1)}to{opacity:.15;stroke-width:3px;filter:brightness(2);transform:scale(0)}}@keyframes impact-ring{0%{opacity:1;transform:scale(.35)}to{opacity:0;transform:scale(3.2)}}@keyframes impact-core{0%{opacity:1;r:5}55%{opacity:.9;r:9}to{opacity:0;r:2}}@keyframes healing-dashes{0%{opacity:1}to{opacity:0}}@keyframes healing-sweep{0%{stroke-dashoffset:50px;opacity:.4}55%{opacity:1;stroke-width:7px}to{stroke-dashoffset:0;opacity:1;stroke-width:4px}}@keyframes underpass-flash{0%,to{stroke-width:4px;opacity:1}45%{stroke-width:9px;opacity:.35}}.game-footer{color:#a9c1d7;align-items:flex-end;min-height:2.5rem;font-size:.78rem}.game-footer p{max-width:66%;margin:0;line-height:1.35}.game-footer>p:only-child{max-width:100%}.game-footer span{color:#7692aa;font-variant-numeric:tabular-nums;flex:none}.debug-stats{text-align:right;justify-items:end;gap:.15rem;display:grid}.debug-stats .attempt-metrics{color:#5f7c94;font-size:.64rem}.test-session{color:#8fa9bd;background:#07111fb8;border:1px solid #a4d5ff29;border-radius:.75rem;padding:.55rem .7rem;font-size:.68rem}.test-session summary{color:#b9d5e8;cursor:pointer;min-height:28px}.test-session pre{white-space:pre-wrap;word-break:break-word;max-height:9rem;margin:.5rem 0;overflow:auto}.test-session button{color:#cfeaff;cursor:pointer;background:#3663874d;border:1px solid #a4d5ff4d;border-radius:999px;min-height:40px;padding:.45rem .75rem}.test-session p{margin:.4rem 0 0}@media (width>=42rem){.app-shell{padding-inline:1.5rem}}@media (prefers-reduced-motion:no-preference){.token,.reset-button{transition:filter .16s,opacity .16s,border-color .16s}}@media (prefers-reduced-motion:reduce){.starter-cue{opacity:.42;animation:none}}
