:root{font-family:ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eef2ff;background:#0b1029;font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 50% 0,#273869 0,#141c3d 35%,#0b1029 72%)}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #bdff80;outline-offset:3px}[hidden]{display:none!important}.shell{max-width:680px;margin:0 auto;padding:18px 15px 36px}header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.mark{display:flex;align-items:center;gap:9px;font-size:.76rem;font-weight:1000;letter-spacing:.12em;color:#d5ffa1}.orb{font-size:2.5rem;line-height:1;color:#c5fa80;text-shadow:0 0 18px #b2fc84}.header-note{text-align:right;color:#a9bad7;font-size:.73rem;line-height:1.35}.panel{background:linear-gradient(160deg,#1b2851,#172047);border:1px solid #6678ad;border-radius:24px;padding:26px;box-shadow:0 18px 50px #03091f77}.eyebrow,.prompt-label{font-size:.73rem;font-weight:950;letter-spacing:.17em;color:#bdff80}.start h1{font-size:clamp(2.7rem,10vw,4.6rem);line-height:1.03;letter-spacing:-.065em;margin:16px 0 20px;max-width:12ch}.start h1 em{font-style:normal;color:#c6ff7e;text-shadow:0 0 23px #97eb784d}.lead{font-size:1.12rem;line-height:1.55;color:#e1e9fc;max-width:52ch}.rule{background:#111936;border-left:4px solid #d9a7fa;padding:13px 15px;border-radius:9px;display:grid;gap:6px;margin:22px 0;color:#d8deed;line-height:1.45}.rule strong{color:#f7e4ff}.primary{display:block;width:100%;border:0;border-radius:13px;background:#c6ff7e;color:#14283b;font-weight:1000;min-height:60px;padding:13px 16px;letter-spacing:.03em;box-shadow:0 5px 0 #56894b;margin:18px 0 0}.primary:active{transform:translateY(4px);box-shadow:0 1px 0 #56894b}.small{font-size:.8rem;line-height:1.45;color:#aebfda;margin:17px 0 0}.topline{display:flex;justify-content:space-between;gap:8px;font-size:.77rem;font-weight:950;letter-spacing:.1em;color:#d0edff}.topline span:last-child{color:#b6f88b;text-align:right}.progress{height:9px;border-radius:99px;background:#3c4b75;overflow:hidden;margin:14px 0 26px}.progress span{display:block;height:100%;background:#c6ff7e;transition:width .28s}.eye{height:86px;width:86px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#defebc,#9ce767 40%,#5fbd83 76%);box-shadow:0 0 34px #9cf5839c;margin:3px auto 22px;display:grid;place-items:center;animation:breathe 3s ease-in-out infinite}.eye span{height:32px;width:32px;background:#172448;border-radius:50%;box-shadow:inset 4px 3px 0 #0a1128}@keyframes breathe{50%{box-shadow:0 0 54px #a7fb9ec8;transform:scale(1.05)}}.prompt-label{text-align:center;margin:0 0 8px}.play h2{font-size:clamp(1.65rem,6vw,2.4rem);line-height:1.2;letter-spacing:-.035em;text-align:center;margin:0 auto 27px;max-width:26ch;min-height:2.4em}.answers{display:grid;gap:11px}.answer{width:100%;min-height:65px;padding:11px 14px;display:flex;align-items:center;gap:13px;text-align:left;background:#f7f6ed;border:2px solid #c8d3df;border-radius:13px;color:#192c48;font-size:1.04rem;font-weight:820;line-height:1.3}.answer:hover:not(:disabled){background:#eaffd4;border-color:#b5ef7e}.answer.chosen{background:#ddf8bf;border-color:#8cd04f}.answer:disabled{cursor:default}.letter{flex:none;display:grid;place-items:center;width:31px;height:31px;background:#dde7ed;border-radius:8px;font-weight:1000;font-size:.85rem}.reaction{background:#263960;color:#d9ffba;padding:14px 16px;border-radius:10px;line-height:1.4;margin:17px 0 0}.play .primary{margin-top:18px}.end{text-align:center}.result-icon{font-size:4rem;color:#c6ff7e;text-shadow:0 0 30px #9dff71;margin:10px}.end h2{font-size:clamp(2rem,8vw,3rem);line-height:1.1;letter-spacing:-.045em;margin:6px 0 18px}.end .lead{margin:0 auto}.tension{text-align:left;margin:24px 0;background:#2f2850;border:1px solid #b498e0;border-radius:13px;padding:15px 17px;line-height:1.45}.tension strong{color:#eed5ff}.tension p{margin:7px 0 0}.end .small{text-align:left;margin-top:24px}footer{font-size:.7rem;letter-spacing:.06em;text-align:center;color:#869bbc;margin:22px auto}@media(max-width:420px){.shell{padding:12px 10px 27px}.panel{padding:21px 17px;border-radius:19px}header{align-items:flex-start}.header-note{font-size:.68rem}.mark{font-size:.66rem}.answer{font-size:1rem;min-height:60px}}
.shell{padding-bottom:calc(185px + env(safe-area-inset-bottom))}.header-actions{display:flex;align-items:center;gap:12px}.sound{border:1px solid #8fa6d4;background:#23365b;color:#e9f4ff;border-radius:9px;min-height:38px;padding:6px 10px;font-size:.75rem;font-weight:900;white-space:nowrap}.signal{position:relative;text-align:center;overflow:hidden;min-height:470px;display:flex;flex-direction:column;justify-content:center;isolation:isolate}.signal:before{content:"";position:absolute;inset:-30%;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 18px,#a4ff7a13 19px 20px),radial-gradient(circle,#8ae38c38,transparent 49%);animation:drift 10s linear infinite}.signal-line{width:100%;height:1px;background:#baff81;box-shadow:0 0 22px #acff77;animation:sweep 4s ease-in-out infinite}.signal h2{font-size:clamp(1.7rem,6vw,2.55rem);line-height:1.22;letter-spacing:-.035em;margin:25px 0;text-wrap:balance;text-shadow:0 0 25px #96ff8899}.signal .small{margin:0 auto 16px}.signal .primary{margin-top:20px}@keyframes drift{to{transform:translateY(20px)}}@keyframes sweep{50%{transform:translateY(22px);opacity:.35}}.future{margin:23px 0 12px;text-align:left;background:#102d3f;border:1px solid #78c7bc;border-radius:13px;padding:17px 18px;box-shadow:inset 0 0 25px #8cf4bc18}.future strong{font-size:.76rem;letter-spacing:.13em;color:#a9ffce}.future p{font-size:1.12rem;line-height:1.5;margin:10px 0 0;color:#e5ffed}.play .primary,.signal .primary,.end .primary,.start .primary{scroll-margin-bottom:170px}@media(max-width:420px){.header-actions{display:block;text-align:right}.sound{margin-bottom:5px}.shell{padding-bottom:calc(185px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.eye,.signal:before,.signal-line{animation:none}}
.insights{display:grid;gap:10px;text-align:left;margin:22px 0}.insight{border:1px solid #647fac;background:#1b3353;border-radius:12px;padding:14px 16px}.insight strong{color:#c6ff7e;font-size:.77rem;letter-spacing:.11em}.insight p{margin:7px 0 0;line-height:1.45;color:#e1eaff}
.cipher{position:relative;overflow:hidden;text-align:center;min-height:480px;display:flex;flex-direction:column;justify-content:center;isolation:isolate}.cipher:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 40%,#bdff8a55,transparent 60%);animation:codepulse .9s ease-out both}.cipher-glyph{font-size:4rem;color:#c8ff83;line-height:1;text-shadow:0 0 24px #a2ff78}.cipher-label{font-size:.8rem;font-weight:900;letter-spacing:.15em;color:#c9dfff;margin:14px 0 0}.cipher h2{font-size:clamp(3.3rem,16vw,5.5rem);letter-spacing:.1em;line-height:1;margin:15px 0;color:#c6ff7e;text-shadow:0 0 27px #adff79}.cipher .lead{margin:0 auto}.cipher .small{margin:18px auto}.cipher .primary{margin-top:14px}@keyframes codepulse{0%{opacity:.9;background-color:#d9ffb366}30%{opacity:.2}100%{opacity:1}}.code-result{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #b3f87e;border-radius:12px;background:#273b4d;padding:14px 16px;margin-top:20px;text-align:left}.code-result span{font-size:.75rem;letter-spacing:.12em;font-weight:900;color:#b3ebd3}.code-result strong{font-size:1.45rem;letter-spacing:.08em;color:#c6ff7e}.share-card{text-align:left;margin:26px 0 20px;padding:16px;background:#122f45;border:1px solid #76c6bc;border-radius:13px}.share-card label{display:block;font-weight:900;margin-bottom:12px}.share-row{display:flex;gap:9px}.share-row input{min-width:0;width:96px;min-height:50px;border:2px solid #8ab7c3;border-radius:9px;background:#f8fcf5;color:#182c42;text-align:center;font-size:1.15rem;font-weight:900;letter-spacing:.1em}.share-row button{flex:1;border:0;border-radius:9px;background:#c6ff7e;color:#14283b;font-weight:950;padding:10px}.share-card .small{margin:10px 0 0}.share-card textarea{width:100%;height:150px;margin-top:10px;background:#f8fcf5;color:#182c42;border-radius:8px;padding:10px;font:inherit}@media(prefers-reduced-motion:reduce){.cipher:before{animation:none}}
/* Title signal: typographic treatment only. */
.start h1{position:relative;max-width:13ch;margin:20px 0 25px;padding:21px 0 18px;border-bottom:1px solid #79ccba70;font-family:"Arial Narrow","Segoe UI",system-ui,sans-serif;font-size:clamp(2.6rem,9vw,4.5rem);font-weight:950;line-height:.98;letter-spacing:-.045em;color:#f3f7ff;text-shadow:0 2px 0 #080e25,0 0 28px #91bcff66;text-wrap:balance}
.start h1::before{content:"";position:absolute;top:0;left:0;width:min(60%,225px);height:3px;background:linear-gradient(90deg,#aaff73,#8edac8 60%,transparent);box-shadow:0 0 15px #aaff7399}
.start h1::after{content:"";position:absolute;bottom:-2px;left:0;width:42px;height:3px;background:#baff77;box-shadow:0 0 14px #a7ff82}
.start h1 em{font-style:normal;letter-spacing:-.025em;color:#caff91;text-shadow:0 0 9px #aaff75aa,0 0 34px #8dfd8577;-webkit-text-stroke:.35px #d9ffb0}
@media(max-width:420px){.start h1{font-size:clamp(2.55rem,11vw,3.5rem);max-width:12ch;padding-top:17px}}
/* Readable supporting copy, a stationary transmission rule, and clear copy feedback. */
.small{font-size:.92rem}
.header-note{font-size:.82rem}
footer{font-size:.85rem;line-height:1.5}
.signal-line{width:78%;margin:0 auto 18px;animation:signalGlow 4s ease-in-out infinite}
@keyframes signalGlow{50%{opacity:.35}}
#share-status.copied{padding:12px 14px;border:1px solid #a7f0af;border-radius:9px;background:#dfffe1;color:#163b32;font-weight:900;line-height:1.4}
@media(max-width:420px){.header-note{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.signal-line{animation:none}}
/* Rare intrusions are visual only and never take input or focus. */
.rare-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;pointer-events:none;overflow:hidden;background:#03070de8;color:#caff9b;text-align:center;font-size:clamp(1.1rem,4vw,2rem);font-weight:950;letter-spacing:.13em;text-shadow:0 0 16px #a8ff91;padding:24px;animation:rareFlash .66s steps(2,end) both}
.rare-overlay:not(.intrusion)::before{content:"";position:absolute;inset:0;opacity:.22;background:repeating-linear-gradient(0deg,transparent 0 5px,#a8ff90 6px);mix-blend-mode:screen}
.rare-overlay #rare-message{position:relative;max-width:32ch}
.rare-overlay.intrusion{background:#010804;animation:intrusionFlash .78s steps(3,end) both}
.rare-overlay.intrusion::before{content:"";position:absolute;inset:0;background:url('/intrusion-v9.jpg') center/cover no-repeat;filter:contrast(1.35) saturate(.72) hue-rotate(13deg);animation:intrusionShift .78s steps(4,end) both}
.rare-overlay.intrusion #rare-message{position:absolute;bottom:13%;font-size:.83rem;background:#07150dc9;padding:6px 12px;animation:messageFlicker .78s steps(2,end) both}
body.is-intruding .shell{filter:contrast(1.3) hue-rotate(45deg);transform:translateX(2px)}
@keyframes rareFlash{0%,100%{opacity:0}12%,80%{opacity:1}}
@keyframes intrusionFlash{0%,100%{opacity:0}8%,84%{opacity:1}18%,26%,61%{opacity:.62}}
@keyframes intrusionShift{0%{transform:translateX(-5px) scale(1.07)}30%{transform:translateX(6px) scale(1.12)}62%{transform:translateX(-3px) scale(1.08)}100%{transform:scale(1.06)}}
@keyframes messageFlicker{0%,25%,85%,100%{opacity:0}26%,84%{opacity:1}}
@media(prefers-reduced-motion:reduce){.rare-overlay,.rare-overlay.intrusion,.rare-overlay.intrusion::before,.rare-overlay.intrusion #rare-message{animation:none;opacity:1}body.is-intruding .shell{filter:none;transform:none}}
.rare-overlay.corrupt{background:#041323a8;align-items:start;padding-top:18vh;font-size:.85rem}
.play h2.question-corrupt{filter:contrast(1.5);text-shadow:-3px 0 #77ffc8,3px 0 #ec75ff;transform:skewX(-2deg)}
@media(prefers-reduced-motion:reduce){.play h2.question-corrupt{transform:none}}
.cipher h2.long-code{font-size:clamp(1.65rem,7vw,2.6rem);letter-spacing:.04em;overflow-wrap:anywhere}
