:root{--bg:#0b0e14;--grid:#151b29;--ink:#0d1019;--mint:#4dffb8;--teal:#1fd1c9;--cyan:#53e8ff;--blue:#4d9fff;--purple:#b04dff;--magenta:#ff4dd2;--red:#ff3d5e;--orange:#ff7a3d;--amber:#ffc93d;--yellow:#ffe14d;--lime:#a6ff4d;--green:#3dff6e;--white:#f4f7ff;--steel:#8a93b0;--panel:#101522;--panel-2:#141b2d;--edge:#2a3450;--steel-lt:#aab3cf;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--font:"Cascadia Mono", Consolas, "JetBrains Mono", "Roboto Mono", "DejaVu Sans Mono", Menlo, monospace;font-size:clamp(14px,.55vw + 9px,18px)}.hidden{display:none!important}.ui-root{font-family:var(--font);color:var(--white);background:linear-gradient(#151b298c 1px, transparent 1px), linear-gradient(90deg, #151b298c 1px, transparent 1px), radial-gradient(ellipse 90% 70% at 50% 30%, #0e1320 0%, var(--bg) 70%);background-position:0 0,0 0,50%;background-size:48px 48px,48px 48px,cover;animation:22s linear infinite bg-drift;display:flex;position:absolute;inset:0;overflow-y:auto}@keyframes bg-drift{to{background-position:48px 48px,48px 48px,50%}}.ui-root.screen-game{pointer-events:none;background:0 0;animation:none;overflow:hidden}.screen{padding:var(--s6) var(--s4);transform-origin:top;transform:scale(var(--fit-scale,1));margin:auto;animation:.28s ease-out both screen-in}.screen-landing{padding:clamp(var(--s4), 3vh, var(--s6)) var(--s4)}.panel-landing .chase-strip{margin:clamp(var(--s3), 2.2vh, var(--s5)) 0}.panel-landing .fact-list{margin:clamp(var(--s3), 2vh, var(--s4)) 0}.panel-landing .actions{margin-top:clamp(var(--s4), 2.4vh, var(--s5))}.screen-presession{padding:clamp(var(--s2), 2vh, var(--s6)) var(--s4)}.panel-presession{padding:clamp(var(--s4), 2.6vh, var(--s6))}.panel-presession .flow-track{margin-bottom:clamp(var(--s2), 1.6vh, var(--s5))}.panel-presession .eyebrow{margin-bottom:clamp(4px, .9vh, var(--s3))}.panel-presession h2{margin-bottom:clamp(var(--s1), 1.1vh, var(--s4))}.panel-presession>p{margin:clamp(var(--s1), 1.1vh, var(--s4)) 0}.panel-presession .controls-diagram{margin:clamp(var(--s2), 1.7vh, var(--s5)) 0;padding:clamp(var(--s2), 1.5vh, var(--s4)) var(--s3)}.panel-presession .cast-guide{margin:clamp(var(--s2), 1.7vh, var(--s5)) 0}.panel-presession .fact-list{margin:clamp(var(--s2), 1.4vh, var(--s4)) 0}.panel-presession .fact-list li{margin-bottom:clamp(2px, .6vh, var(--s2))}.panel-presession .actions{margin-top:clamp(var(--s3), 1.8vh, var(--s5))}.panel-presession .footnote,.panel-presession .note{margin-top:clamp(var(--s2), 1.2vh, var(--s4))}.screen-questionnaire{padding:clamp(var(--s2), 2vh, var(--s6)) var(--s4)}.panel-questionnaire{padding:clamp(var(--s4), 2.4vh, var(--s6))}.panel-questionnaire .flow-track{margin-bottom:clamp(var(--s2), 1.5vh, var(--s5))}.panel-questionnaire h2{margin-bottom:clamp(var(--s1), 1vh, var(--s4))}.panel-questionnaire>p,.panel-questionnaire .likert-legend{margin:clamp(var(--s1), 1vh, var(--s3)) 0}.panel-questionnaire .likert-list{gap:clamp(var(--s1), 1.1vh, var(--s3))}.panel-questionnaire .likert-row{padding:clamp(var(--s1), .9vh, var(--s3)) 0}.panel-questionnaire .likert-q{margin-bottom:clamp(2px, .7vh, var(--s2))}.panel-questionnaire .actions{margin-top:clamp(var(--s3), 1.6vh, var(--s5))}.panel-questionnaire .footnote{margin-top:clamp(var(--s2), 1.1vh, var(--s4))}@keyframes screen-in{0%{opacity:0;transform:translateY(10px) scale(var(--fit-scale,1))}to{opacity:1;transform:translateY(0) scale(var(--fit-scale,1))}}.panel{width:min(42rem,94vw);padding:var(--s6);background:var(--panel);border:2px solid var(--edge);box-shadow:0 0 0 2px var(--ink), 10px 10px 0 #00000073, 0 0 42px #1fd1c912;outline:none;position:relative}.panel:after{content:"";pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#00000024 2px 3px);position:absolute;inset:0}.panel:before{content:"";background:linear-gradient(90deg, var(--teal), var(--mint) 50%, var(--teal));height:4px;position:absolute;top:-2px;left:-2px;right:-2px;box-shadow:0 0 12px #1fd1c98c}.panel h1,.panel h2{margin:0 0 var(--s4);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.panel h1{font-size:2.9rem;line-height:1.05}.panel h2{color:var(--white);text-shadow:0 0 10px #f4f7ff40;font-size:1.35rem}.logotype{animation:.7s step-end both crt-on}@keyframes crt-on{0%{opacity:0}18%{opacity:1}30%{opacity:.35}44%{opacity:1}58%{opacity:.7}70%,to{opacity:1}}.logotype span{color:var(--mint);text-shadow:4px 4px 0 var(--ink), 0 0 6px #4dffb8cc, 0 0 24px #4dffb859}.logotype .logotype-alt{color:var(--magenta);text-shadow:4px 4px 0 var(--ink), 0 0 6px #ff4dd2cc, 0 0 24px #ff4dd259}.eyebrow{margin:0 0 var(--s3);letter-spacing:.28em;text-transform:uppercase;color:var(--teal);font-size:.72rem}.lede{margin:0 0 var(--s4);color:var(--white);font-size:1.02rem;line-height:1.55}.panel p{line-height:1.55}.muted{color:var(--steel)}.footnote{margin:var(--s4) 0 0;color:var(--steel-lt);font-size:.82rem}.stats-panel{z-index:41;border:2px solid var(--edge);width:22rem;max-height:calc(100vh - 110px);color:var(--steel-lt);pointer-events:none;background:#0a0c14e6;padding:10px 12px;font-size:.72rem;line-height:1.5;position:fixed;top:92px;left:12px;overflow-y:auto}.sp-head{justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:6px;display:flex}.sp-title{color:var(--teal);letter-spacing:.18em;font-weight:700}.sp-hint{opacity:.6}.sp-section{border-top:1px solid var(--edge);margin-top:8px;padding-top:6px}.sp-section h4{letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin:0 0 4px;font-size:.66rem;font-weight:400}.sp-body{grid-template-columns:auto 1fr;column-gap:10px;display:grid}.sp-grid6{grid-template-columns:auto auto auto auto auto auto;column-gap:9px}.sp-k{opacity:.7}.sp-v,.sp-grid6 .sp-cell{color:var(--white);font-variant-numeric:tabular-nums}.sp-th{opacity:.55;color:var(--steel-lt);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.sp-derived{color:var(--teal)}.sp-cap{color:var(--amber)}.sp-fast{color:var(--magenta)}.sp-locked{opacity:.4}.dev-row{gap:6px;margin-top:6px;display:flex}.dev-row .btn{flex:1}.demo-badge-paused{color:var(--amber);letter-spacing:.16em;font-weight:700}.demo-choices{margin-top:var(--s4);gap:var(--s2);display:grid}.demo-choices-grid{grid-template-columns:1fr 1fr}.demo-choice-wide{width:100%;margin-top:var(--s2);border-color:color-mix(in srgb, var(--teal) 45%, var(--edge))}.demo-length-row{margin-top:var(--s4);padding-top:var(--s3);border-top:2px solid var(--edge);align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.demo-lengths{align-items:stretch;gap:6px;display:flex}.demo-length{min-width:2.4rem;padding:var(--s2) var(--s3)}.demo-length-custom{appearance:none;-moz-appearance:textfield;font-family:var(--font);letter-spacing:.12em;padding:var(--s2) var(--s3);text-align:center;width:3.4rem;color:var(--white);background:var(--panel-2);border:2px solid var(--steel);cursor:text;font-size:.78rem;font-weight:700;transition:border-color .12s,box-shadow .12s}.demo-length-custom::-webkit-outer-spin-button{appearance:none;margin:0}.demo-length-custom::-webkit-inner-spin-button{appearance:none;margin:0}.demo-length-custom::placeholder{color:var(--steel);letter-spacing:.12em}.demo-length-custom:hover{border-color:var(--white);box-shadow:0 0 14px #f4f7ff40}.demo-length.on,.demo-length-custom.on{border-color:var(--teal);color:var(--teal)}.demo-length-or{color:var(--steel-lt);align-self:center;padding:0 2px;font-size:.78rem}.demo-length-note{color:var(--steel-lt);margin-left:auto;font-size:.8rem}.screen-demo{padding:clamp(var(--s2), 2vh, var(--s6)) var(--s4)}.panel-demo{padding:clamp(var(--s4), 2.4vh, var(--s6))}.panel-demo h2{margin-bottom:clamp(var(--s1), 1vh, var(--s4))}.panel-demo .note{margin:clamp(var(--s2), 1.2vh, var(--s4)) 0}.panel-demo .controls-diagram{margin:clamp(var(--s2), 1.6vh, var(--s5)) 0;padding:clamp(var(--s2), 1.4vh, var(--s4)) var(--s3)}.panel-demo .cast-guide{margin:clamp(var(--s2), 1.6vh, var(--s5)) 0}.panel-demo .demo-choices{margin-top:clamp(var(--s2), 1.6vh, var(--s4))}.panel-demo .demo-length-row{margin-top:clamp(var(--s2), 1.5vh, var(--s4))}.panel-demo .footnote{margin-top:clamp(var(--s2), 1.1vh, var(--s4))}.demo-choice{text-align:left;text-transform:none;letter-spacing:normal;padding:var(--s3) var(--s4);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.demo-choice-name{letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;font-weight:700}.demo-choice-blurb{color:var(--steel-lt);font-size:.82rem;font-weight:400}.demo-choice:hover .demo-choice-blurb{color:inherit}.demo-badge{z-index:40;align-items:center;gap:var(--s3);border:2px solid var(--edge);letter-spacing:.08em;color:var(--steel-lt);pointer-events:none;background:#0a0c14d1;padding:6px 10px;font-size:.78rem;display:flex;position:fixed;top:56px;left:12px}.demo-badge-tag{letter-spacing:.18em;color:var(--teal);font-weight:700}.demo-badge-diff{color:var(--white);text-transform:uppercase}.demo-badge-keys{opacity:.65}.handover{margin-top:var(--s5);padding-top:var(--s4);border-top:2px solid var(--edge)}.handover-quiet{margin-top:var(--s4);padding-top:var(--s3);border-top-color:color-mix(in srgb, var(--edge) 55%, transparent)}.handover .actions{margin-top:var(--s3)}.handover-confirm .footnote{margin-top:0}.linkish{appearance:none;font-family:var(--font);color:var(--steel-lt);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:.82rem;text-decoration:underline}.linkish:hover,.linkish:focus-visible{color:var(--teal)}.note{margin:var(--s4) 0;padding:var(--s3) var(--s4);border:2px solid var(--edge);border-left:4px solid var(--teal);background:var(--panel-2);color:var(--steel);font-size:.9rem}.note p{margin:0}.fact-list{margin:var(--s4) 0;padding:0;list-style:none}.fact-list li{margin:0 0 var(--s2);padding-left:var(--s5);line-height:1.5;position:relative}.fact-list li:before{content:"▸";color:var(--teal);text-shadow:0 0 6px #1fd1c999;position:absolute;left:0}.fact-list b{color:var(--mint);font-weight:700}.actions{margin-top:var(--s5);gap:var(--s3);display:flex}.btn{appearance:none;font-family:var(--font);letter-spacing:.12em;text-transform:uppercase;padding:var(--s3) var(--s5);color:var(--white);background:var(--panel-2);border:2px solid var(--steel);cursor:pointer;font-size:.95rem;font-weight:700;transition:transform 60ms,box-shadow .12s,border-color .12s}.btn:hover:not(:disabled){border-color:var(--white);box-shadow:0 0 14px #f4f7ff40}.btn-primary{color:var(--ink);background:var(--mint);border-color:var(--mint);box-shadow:3px 3px 0 var(--ink), 0 0 18px #4dffb859}.btn-primary:hover:not(:disabled){background:var(--white);border-color:var(--white);box-shadow:4px 4px 0 var(--ink), 0 0 26px #4dffb899;transform:translate(-1px,-1px)}.btn:active:not(:disabled){box-shadow:none;transform:translate(2px,2px)}.btn:disabled{color:var(--steel);background:var(--panel-2);border-color:var(--edge);box-shadow:none;cursor:not-allowed}.btn-small{padding:var(--s2) var(--s3);font-size:.78rem}.btn-lg{padding:var(--s4) var(--s6);font-size:1.05rem}.btn-primary.btn-copied{color:var(--ink);background:var(--white);border-color:var(--white);box-shadow:3px 3px 0 var(--ink), 0 0 26px #4dffb899}.px-sprite{flex:none;display:inline-block;position:relative}.px-cell{display:block;position:absolute;top:0;left:0}.bob{animation:.9s steps(2,jump-none) infinite sprite-bob}@keyframes sprite-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.bob-d0{animation-delay:0s}.bob-d1{animation-delay:-180ms}.bob-d2{animation-delay:-360ms}.bob-d3{animation-delay:-540ms}.bob-d4{animation-delay:-720ms}.chase-strip{align-items:flex-end;gap:var(--s4);margin:var(--s5) 0;padding:0 var(--s4) var(--s2);border-bottom:2px solid var(--edge);display:flex}.chase-trail{min-width:var(--s7);background:repeating-linear-gradient(90deg, var(--steel) 0 8px, transparent 8px 20px);opacity:.45;flex:1;align-self:flex-end;height:4px;margin-bottom:22px}.flow-track{gap:var(--s2);margin:0 0 var(--s5);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;padding:0;font-size:.68rem;list-style:none;display:flex}.flow-step{border:2px solid var(--edge);background:var(--panel-2);color:var(--steel);align-items:center;gap:6px;padding:4px 9px;display:flex}.flow-mark:empty{display:none}.flow-active{color:var(--ink);background:var(--mint);border-color:var(--mint);font-weight:700;box-shadow:0 0 12px #4dffb866}.flow-complete{color:var(--teal);border-color:#1fd1c973}.flow-ahead{opacity:.55}.cast-guide{gap:var(--s4);margin:var(--s5) 0;flex-wrap:wrap;display:flex}.cast-group{gap:var(--s3);padding:var(--s4);border:2px solid var(--edge);background:var(--panel-2);flex-direction:column;display:flex}.cast-hostile{border-left:4px solid var(--magenta);flex:20rem}.cast-friendly{border-left:4px solid var(--green);flex:0 auto}.cast-sprites{justify-content:space-evenly;align-items:flex-end;gap:var(--s3);min-height:45px;padding:0 var(--s2) var(--s2);border-bottom:2px solid var(--edge);display:flex}.cast-caption{letter-spacing:.18em;text-transform:uppercase;color:var(--steel);font-size:.7rem}.btn:focus-visible,select:focus-visible,input:focus-visible,.seg-btn:focus-visible,.dev-toggle:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.check-group{margin:var(--s4) 0;gap:var(--s3);flex-direction:column;display:flex}.check-row{gap:var(--s3);padding:var(--s3);border:2px solid var(--edge);background:var(--panel-2);cursor:pointer;align-items:flex-start;line-height:1.45;transition:border-color .12s;display:flex}.check-row:hover{border-color:var(--steel)}.check-row input[type=checkbox]{appearance:none;border:2px solid var(--steel);background:var(--ink);cursor:pointer;flex:none;place-content:center;width:1.25rem;height:1.25rem;margin:2px 0 0;transition:border-color .12s,background .12s;display:grid}.check-row input[type=checkbox]:before{content:"✓";color:var(--ink);font-size:.9rem;font-weight:700;transition:transform .1s;transform:scale(0)}.check-row input[type=checkbox]:checked{background:var(--mint);border-color:var(--mint);box-shadow:0 0 10px #4dffb880}.check-row input[type=checkbox]:checked:before{transform:scale(1)}.check-row:has(input:checked){border-color:#4dffb880}.field{margin:0 0 var(--s4);display:block}.field-label{margin-bottom:var(--s2);letter-spacing:.14em;text-transform:uppercase;color:var(--steel);font-size:.8rem;display:block}.select-wrap{display:block;position:relative}.select-wrap:after{content:"▼";right:var(--s3);color:var(--teal);pointer-events:none;font-size:.7rem;position:absolute;top:50%;transform:translateY(-50%)}select{appearance:none;width:100%;font-family:var(--font);padding:var(--s3);padding-right:var(--s6);color:var(--white);background:var(--panel-2);border:2px solid var(--edge);cursor:pointer;font-size:.95rem;transition:border-color .12s}select:hover{border-color:var(--steel)}select option{background:var(--panel);color:var(--white)}.seg{display:flex}.seg-btn{appearance:none;padding:var(--s3) 0;font-family:var(--font);color:var(--steel);background:var(--panel-2);border:2px solid var(--edge);cursor:pointer;flex:1 1 0;font-size:1rem;font-weight:700;transition:color .12s,background .12s,border-color .12s}.seg-btn+.seg-btn{margin-left:-2px}.seg-btn:hover{color:var(--white);border-color:var(--steel);z-index:1;position:relative}.seg-btn[aria-pressed=true]{color:var(--ink);background:var(--mint);border-color:var(--mint);z-index:2;position:relative;box-shadow:0 0 14px #4dffb880}.seg-ends{margin-top:var(--s1);letter-spacing:.1em;text-transform:uppercase;color:var(--steel);justify-content:space-between;font-size:.72rem;display:flex}.form-error{margin:var(--s3) 0 0;padding:var(--s2) var(--s3);border:2px solid var(--red);color:var(--red);text-shadow:0 0 8px #ff3d5e66;background:#ff3d5e14;font-size:.85rem}.controls-diagram{place-items:start center;gap:clamp(var(--s2), 1.6vw, var(--s5));margin:var(--s5) 0;padding:var(--s4) var(--s3);border:2px solid var(--edge);background:var(--panel-2);grid-template-columns:repeat(4,1fr);display:grid}.controls-block{align-items:center;gap:var(--s3);text-align:center;flex-direction:column;min-width:0;display:flex}.controls-block .controls-caption,.controls-block .controls-sub{text-wrap:balance;max-width:19ch;line-height:1.35}.key-grid{gap:var(--s1);grid-template-columns:repeat(3,auto);display:grid}.key{width:2.4rem;height:2.4rem;color:var(--mint);text-shadow:0 0 8px #4dffb899;background:var(--ink);border:2px solid var(--edge);box-shadow:0 3px 0 var(--ink), inset 0 -3px 0 #00000080;place-content:center;font-weight:700;display:inline-grid}.key-wide{width:5rem}.key-anim{animation:2.8s infinite key-press}@keyframes key-press{0%,12%,to{box-shadow:0 3px 0 var(--ink), inset 0 -3px 0 #00000080;transform:none}4%,8%{box-shadow:0 0 0 var(--ink), inset 0 -2px 0 #00000080;transform:translateY(3px)}}.key-t0{animation-delay:0s}.key-t1{animation-delay:.35s}.key-t2{animation-delay:.7s}.key-t3{animation-delay:1.05s}.mouse-glyph{border:2px solid var(--edge);background:var(--ink);width:2.6rem;height:3.6rem;box-shadow:0 3px 0 var(--ink), inset 0 -3px 0 #00000080;position:relative}.mouse-lmb{background:var(--yellow);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:50%;height:40%;animation:1.2s ease-in-out infinite lmb-pulse;position:absolute;top:0;left:0;box-shadow:0 0 10px #ffe14d8c}@keyframes lmb-pulse{0%,to{opacity:1}50%{opacity:.45}}.mouse-rmb{background:var(--amber);border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);width:50%;height:40%;animation:1.2s ease-in-out infinite lmb-pulse;position:absolute;top:0;right:0;box-shadow:0 0 10px #ffc93d8c}.mouse-dim{background:var(--steel);box-shadow:none;opacity:.3;animation:none}.mouse-body{background:var(--steel);width:4px;height:30%;position:absolute;top:48%;left:50%;transform:translate(-50%)}.controls-caption{letter-spacing:.22em;color:var(--steel);font-size:.72rem}.controls-sub{letter-spacing:.08em;color:var(--steel);opacity:.8;font-size:.68rem}.controls-pip-row{align-items:center;gap:var(--s2);display:flex}.pip-demo{background:var(--ink);border:2px solid var(--edge);width:36px;height:10px;display:inline-block;position:relative;overflow:hidden}.pip-demo-fill{background:var(--yellow);width:0%;position:absolute;inset:0 auto 0 0;box-shadow:0 0 8px #ffe14d80}.pip-recharge-shotgun{animation:1.6s linear infinite pip-recharge}.pip-recharge-bomb{animation:8s linear infinite pip-recharge}@keyframes pip-recharge{0%{width:0%}92%{background:var(--yellow);width:100%}to{background:var(--white);width:100%}}.controls-strip{justify-content:space-evenly;align-items:flex-end;gap:clamp(var(--s2), 2.2vw, var(--s5));margin:var(--s3) 0 var(--s4);padding:var(--s2) var(--s3);border:2px solid var(--edge);background:var(--panel-2);flex-wrap:nowrap;display:flex}.controls-strip-item{flex-direction:column;align-items:center;gap:6px;display:flex}.controls-strip-label{letter-spacing:.18em;text-transform:uppercase;color:var(--steel);font-size:.66rem}.key-row{align-items:center;gap:3px;display:inline-flex}.key-sm{width:1.5rem;height:1.5rem;box-shadow:0 2px 0 var(--ink), inset 0 -2px 0 #00000080;font-size:.7rem}.key-wide-sm{width:3.4rem}.mouse-glyph-sm{width:1.7rem;height:2.3rem;box-shadow:0 2px 0 var(--ink), inset 0 -2px 0 #00000080;display:inline-block}.countdown{z-index:5;background:#0b0e14e0;place-content:center;display:grid;position:absolute;inset:0}.countdown-digit{color:var(--mint);text-shadow:0 0 12px #4dffb8e6,0 0 48px #4dffb866;font-size:6rem;font-weight:700}.countdown-digit.go{color:var(--yellow);text-shadow:0 0 12px #ffe14de6,0 0 48px #ffe14d66}.countdown-digit.pop{animation:.35s ease-out both digit-pop}@keyframes digit-pop{0%{opacity:0;transform:scale(1.7)}to{opacity:1;transform:scale(1)}}.likert-legend{margin:var(--s4) 0 var(--s2);letter-spacing:.12em;text-transform:uppercase;color:var(--steel);justify-content:space-between;font-size:.75rem;display:flex}.likert-list{border-top:2px solid var(--edge)}.likert-row{padding:var(--s3) 0;border:none;border-bottom:2px solid var(--edge);justify-content:space-between;align-items:center;gap:var(--s4);margin:0;display:flex}.likert-q{float:left;max-width:60%;padding:0 0 0 1.5em;font-size:.92rem;line-height:1.45;position:relative}.likert-q:before{content:"✓";color:var(--mint);text-shadow:0 0 6px #4dffb899;opacity:0;transition:opacity .15s;position:absolute;top:0;left:0}.likert-row:has(input:checked) .likert-q:before{opacity:1}.likert-scale{gap:var(--s2);margin-left:auto;display:flex}.likert-opt{cursor:pointer;place-content:center;display:grid;position:relative}.likert-opt input[type=radio]{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.likert-box{border:2px solid var(--edge);background:var(--panel-2);place-content:center;width:2rem;height:2rem;transition:border-color .12s,background .12s;display:grid}.likert-num{color:var(--steel);pointer-events:none;place-content:center;font-size:.85rem;font-weight:700;transition:color .12s;display:grid;position:absolute;inset:0}.likert-opt:hover .likert-box{border-color:var(--steel)}.likert-opt:hover .likert-num{color:var(--white)}.likert-opt input:checked~.likert-box{background:var(--mint);border-color:var(--mint);box-shadow:0 0 12px #4dffb88c}.likert-opt input:checked~.likert-num{color:var(--ink)}.likert-opt input:focus-visible~.likert-box{outline:2px solid var(--amber);outline-offset:2px}.done-hero{align-items:center;gap:var(--s4);margin-bottom:var(--s4);display:flex}.done-hero h2{margin:0}.code-box{gap:var(--s2);margin:var(--s5) 0;padding:var(--s4);border:2px dashed var(--teal);background:var(--panel-2);text-align:center;flex-direction:column;display:flex;position:relative}.code-box:before,.code-box:after{content:"✦";color:var(--cyan);text-shadow:0 0 8px #53e8ffb3;pointer-events:none;font-size:.9rem;animation:1.8s ease-in-out infinite sparkle;position:absolute}.code-box:before{top:-.65rem;left:-.45rem}.code-box:after{animation-delay:-.9s;bottom:-.65rem;right:-.45rem}@keyframes sparkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.code-label{letter-spacing:.28em;text-transform:uppercase;color:var(--steel);font-size:.72rem}.code-value{letter-spacing:.18em;color:var(--cyan);text-shadow:0 0 10px #53e8ffb3,0 0 36px #53e8ff4d;-webkit-user-select:all;user-select:all;font-size:1.6rem;font-weight:700;animation:.45s cubic-bezier(.2,1.6,.4,1) .15s both code-pop}@keyframes code-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.hud{z-index:10;pointer-events:none;font-family:var(--font);color:var(--white);position:absolute;inset:0}.hud:before{content:"";pointer-events:none;background:linear-gradient(#0b0e14d1,#0b0e1400);height:5.5rem;position:absolute;top:0;left:0;right:0}.hud-top{top:var(--s4);left:var(--s5);right:var(--s5);letter-spacing:.12em;justify-content:space-between;align-items:baseline;font-weight:700;display:flex;position:absolute}.hud-wave{color:var(--teal);text-shadow:0 0 10px #1fd1c999}.hud-timer{color:var(--white);text-shadow:0 0 10px #f4f7ff66;font-variant-numeric:tabular-nums;font-size:1.35rem}.hud-timer.warn{color:var(--amber);text-shadow:0 0 10px #ffc93d99}.hud-timer.crit{color:var(--red);text-shadow:0 0 12px #ff3d5ecc;animation:.5s steps(2,jump-none) infinite timer-blink}@keyframes timer-blink{50%{opacity:.35}}.hud-score{color:var(--cyan);text-shadow:0 0 10px #53e8ff99;font-variant-numeric:tabular-nums}.hud-right{align-items:baseline;gap:var(--s4);display:flex}.hud-level{color:var(--mint);text-shadow:0 0 10px #4dffb899;font-variant-numeric:tabular-nums}.hud-deaths{align-items:center;gap:var(--s2);color:var(--white);text-shadow:0 0 8px #8a93b099;font-variant-numeric:tabular-nums;display:flex}.hud-deaths .px-sprite{transform:translateY(1px)}.hud-hp{left:var(--s5);bottom:var(--s5);align-items:center;gap:var(--s3);display:flex;position:absolute}.hp-label{letter-spacing:.2em;color:var(--steel);font-size:.8rem;font-weight:700}.hpbar{background:var(--ink);border:2px solid var(--edge);width:clamp(200px,22vw,320px);height:1.35rem;box-shadow:0 0 0 2px var(--ink), 0 0 16px #3dff6e1f;position:relative;overflow:hidden}.hp-ghost{background:var(--red);opacity:.65;width:100%;position:absolute;inset:0 auto 0 0}.hp-fill{background:linear-gradient(180deg, var(--green), #26c452);width:100%;transition:none;position:absolute;inset:0 auto 0 0;box-shadow:0 0 12px #3dff6e99}.hp-segments{pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 2px),#0d1019cc calc(10% - 2px) 10%);position:absolute;inset:0}.hp-text{color:var(--white);text-shadow:0 0 4px var(--ink), 0 0 4px var(--ink);font-variant-numeric:tabular-nums;place-content:center;font-size:.78rem;font-weight:700;display:grid;position:absolute;inset:0}.alt-wrap{align-items:center;gap:var(--s2);margin-left:var(--s3);display:flex}.alt-pip{background:var(--ink);border:2px solid var(--edge);width:36px;height:10px;position:relative;overflow:hidden}.alt-pip-fill{background:var(--yellow);width:0%;transition:none;position:absolute;inset:0 auto 0 0;box-shadow:0 0 8px #ffe14d80}.alt-pip.ready{border-color:var(--yellow);animation:.8s ease-in-out infinite alt-ready}@keyframes alt-ready{0%,to{box-shadow:0 0 4px #ffe14d4d}50%{box-shadow:0 0 14px #ffe14de6}}.hud.low .hpbar{animation:.9s ease-in-out infinite hp-alarm}@keyframes hp-alarm{0%,to{box-shadow:0 0 0 2px var(--ink), 0 0 10px #ff3d5e4d}50%{box-shadow:0 0 0 2px var(--red), 0 0 26px #ff3d5eb3}}.vignette{pointer-events:none;opacity:0;transition:opacity .14s ease-out;position:absolute;inset:0;box-shadow:inset 0 0 140px 40px #ff3d5e80}.vignette.hit{opacity:1;transition:opacity 50ms ease-in}.hud.low .vignette{opacity:.55;animation:1.4s ease-in-out infinite vignette-pulse}.hud.low .vignette.hit{opacity:1;animation:none}@keyframes vignette-pulse{0%,to{opacity:.3}50%{opacity:.65}}.wave-banner{text-align:center;opacity:0;pointer-events:none;position:absolute;top:26%;left:50%;transform:translate(-50%)}.wave-banner.show{animation:2.6s ease-out both banner}.wave-banner-title{letter-spacing:.3em;color:var(--teal);text-shadow:0 0 14px #1fd1c9e6,0 0 56px #1fd1c966;padding-left:.3em;font-size:2.6rem;font-weight:700}.wave-banner-sub{margin-top:var(--s2);letter-spacing:.32em;color:var(--steel);text-shadow:0 0 8px #8a93b080;padding-left:.32em;font-size:.85rem}@keyframes banner{0%{opacity:0;filter:blur(3px);transform:translate(-50%)scale(1.35)}10%{opacity:1;filter:blur();transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-8px)}}.level-toast{letter-spacing:.3em;color:var(--mint);text-shadow:0 0 12px #4dffb8e6,0 0 40px #4dffb866;opacity:0;pointer-events:none;padding-left:.3em;font-size:1.6rem;font-weight:700;position:absolute;top:38%;left:50%;transform:translate(-50%)}.level-toast.show{animation:2s ease-out both level-toast}@keyframes level-toast{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.85)}12%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-10px)}}.respawn-overlay{justify-content:center;align-items:center;gap:var(--s3);background:radial-gradient(#0b0e148c,#0b0e14d9);flex-direction:column;display:flex;position:absolute;inset:0}.respawn-title{letter-spacing:.4em;color:var(--red);text-shadow:0 0 14px #ff3d5ee6,0 0 48px #ff3d5e66;padding-left:.4em;font-size:2rem;font-weight:700}.respawn-num{color:var(--amber);text-shadow:0 0 14px #ffc93de6,0 0 48px #ffc93d59;font-variant-numeric:tabular-nums;font-size:5rem;font-weight:700}.respawn-sub{letter-spacing:.28em;color:var(--steel);padding-left:.28em;font-size:.75rem}.params-overlay{top:4rem;left:var(--s5);padding:var(--s3);font-family:var(--font);color:var(--cyan);border:2px solid var(--edge);text-shadow:0 0 6px #53e8ff66;background:#0d1019e0;margin:0;font-size:.75rem;line-height:1.6;position:absolute}.probe-backdrop{z-index:40;font-family:var(--font);pointer-events:auto;background:#0b0e14b8;place-content:center;display:grid;position:fixed;inset:0}.probe-modal{min-width:20rem;padding:var(--s5) var(--s6);border:2px solid var(--cyan);box-shadow:6px 6px 0 var(--ink), 0 0 26px #53e8ff4d;text-align:center;background:#0d1019f5;animation:.18s ease-out both probe-in}@keyframes probe-in{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.probe-question{gap:var(--s4);flex-direction:column;display:flex}.probe-choices{gap:var(--s3);flex-direction:column;display:flex}.probe-prompt{letter-spacing:.08em;color:var(--cyan);text-shadow:0 0 8px #53e8ff80;white-space:nowrap;font-size:1rem;font-weight:700}.probe-btn{pointer-events:auto;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);font-family:var(--font);color:var(--white);background:var(--panel-2);border:2px solid var(--edge);cursor:pointer;white-space:nowrap;font-size:.85rem;display:flex}.probe-btn-lg{padding:var(--s3) var(--s4);justify-content:flex-start;font-size:1.05rem}.probe-btn:hover,.probe-btn:focus-visible{color:var(--ink);background:var(--mint);border-color:var(--mint)}.probe-key{min-width:1.3em;height:1.3em;color:var(--mint);border:2px solid var(--mint);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.probe-btn:hover .probe-key,.probe-btn:focus-visible .probe-key{color:var(--ink);border-color:var(--ink)}.probe-resume{align-items:center;gap:var(--s3);flex-direction:column;justify-content:center;min-height:6rem;display:flex}.probe-resume-digit{color:var(--mint);text-shadow:0 0 12px #4dffb8e6,0 0 48px #4dffb866;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:700}.probe-resume-digit.pop{animation:.35s ease-out both digit-pop}.dev-menu{right:var(--s3);bottom:var(--s3);z-index:60;width:13.5rem;font-family:var(--font);color:var(--white);border:2px solid var(--purple);pointer-events:auto;background:#0d1019f0;font-size:.78rem;position:fixed;box-shadow:0 0 18px #b04dff4d}.dev-head{padding:var(--s1) var(--s2);border-bottom:2px solid var(--purple);letter-spacing:.24em;color:var(--purple);background:#b04dff29;justify-content:space-between;align-items:center;font-weight:700;display:flex}.dev-toggle{appearance:none;width:1.4rem;height:1.4rem;font-family:var(--font);color:var(--purple);border:2px solid var(--purple);cursor:pointer;background:0 0;padding:0;font-weight:700}.dev-toggle:hover{color:var(--ink);background:var(--purple)}.dev-body{gap:var(--s2);padding:var(--s3);flex-direction:column;display:flex}.dev-field{justify-content:space-between;align-items:center;gap:var(--s2);color:var(--steel);display:flex}.dev-field .dev-input{width:7.5rem;padding:var(--s1) var(--s2);font-family:var(--font);color:var(--white);background:var(--panel-2);border:2px solid var(--edge);font-size:.78rem}.dev-check{align-items:center;gap:var(--s2);color:var(--steel);cursor:pointer;display:flex}.dev-check input{accent-color:var(--purple)}@media (max-width:860px){.panel{padding:var(--s5)}.controls-diagram{gap:var(--s5)}.likert-row{align-items:flex-start;gap:var(--s2);flex-direction:column}.likert-q{max-width:100%}.likert-scale{margin-left:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
