:root{--bg:#101b26;--bg2:#152330;--panel:#1d2c3a;--panel2:#223443;--line:#354756;--muted:#9db0bf;--text:#f2f4f0;--lime:#d5e57d;--gold:#c6a471;--red:#e49d94;font-family:'DM Sans',Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 47%,#1e3440 0,transparent 36%),radial-gradient(circle at 87% 13%,#24323a 0,transparent 36%),var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:3px}h1,h2,h3,p{margin-top:0}.ambient{position:fixed;inset:0;pointer-events:none;opacity:.21;background-image:linear-gradient(#65808b1b 1px,transparent 1px),linear-gradient(90deg,#65808b1b 1px,transparent 1px);background-size:66px 66px;mask-image:linear-gradient(90deg,black,transparent 75%)}.app-shell{position:relative;min-height:100vh;display:flex;flex-direction:column;max-width:1600px;margin:auto;padding:0 clamp(22px,5.2vw,84px)}.topbar{height:95px;border-bottom:1px solid #52616b70;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:18px;background:none;border:0;color:var(--text);padding:0}.brand-mark{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:25px;letter-spacing:-2px}.brand-mark span{color:var(--lime)}.brand-label,.top-caption,.footer,.eyebrow,.panel-top,.step-label,.device-heading,.card-kicker,.device-form label,.validation-card label,.teacher-login label,.config-card label,.code-preview,.password-panel label{font-size:11px;font-weight:700;letter-spacing:.16em}.brand-label{color:var(--muted);border-left:1px solid #50606b;padding-left:18px}.top-actions{display:flex;align-items:center;gap:14px}.status-dot{width:6px;height:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 12px var(--lime)}.top-caption{color:var(--muted)}.settings-button{width:42px;height:42px;margin-left:22px;display:grid;place-items:center;color:var(--muted);background:#263744;border:1px solid #435663;border-radius:50%}.settings-button:hover{color:var(--lime);border-color:var(--lime)}.settings-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.4}main{flex:1;display:flex;flex-direction:column}.footer{min-height:72px;border-top:1px solid #52616b70;display:flex;align-items:center;justify-content:space-between;color:#78909e;font-size:10px}.footer b{color:var(--lime);padding:0 8px}.home-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:clamp(40px,7vw,120px);flex:1;padding:55px 0 70px}.eyebrow{color:var(--lime);display:flex;align-items:center;gap:16px}.eyebrow .line{width:45px;height:1px;background:#758b7c}.hero{position:relative;min-width:0}.hero h1,.stage-content h1,.completion h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(52px,5.2vw,88px);line-height:1.02;letter-spacing:-.07em;position:relative;margin:32px 0 30px;z-index:2;font-weight:600}.hero h1 em,.stage-content h1 em,.completion h1 em{font-style:normal;color:var(--lime)}.title-period,.accent{color:var(--lime)}.hero-text{max-width:530px;color:#afbfca;font-size:18px;line-height:1.65}.mission-statement{margin-top:45px;display:flex;gap:19px;max-width:480px;align-items:center;color:var(--text);font-size:15px;line-height:1.5}.mini-symbol{width:37px;height:37px;display:grid;place-items:center;flex:none;border:1px solid var(--lime);border-radius:50%;color:var(--lime);font-size:20px}.hero-graphic{position:absolute;right:0;top:-25px;width:340px;height:340px;opacity:.25}.orbit{position:absolute;border:1px solid #8da3aa42;border-radius:50%;transform:rotate(-25deg)}.orbit-one{inset:10px 30px}.orbit-two{inset:35px 4px}.sample{position:absolute;top:63px;left:80px;transform:rotate(-20deg);width:180px;height:182px;border-radius:12px 12px 22px 22px;background:linear-gradient(130deg,#f5d59b,#ad7a4a 45%,#4d402f 92%);box-shadow:inset 10px 0 30px #fff6,20px 25px 70px #0009}.sample-top{position:absolute;top:-12px;left:3px;right:3px;height:40px;transform:skewX(-18deg);border-radius:12px;background:linear-gradient(110deg,#fff0bd,#b9844a)}.sample-face{position:absolute;top:56px;left:54px;font-family:'Space Grotesk',Arial,sans-serif;font-weight:700;font-size:39px;color:#493b2b;text-shadow:0 1px #fff7}.sample-face span{display:block;text-align:center;font-size:17px}.diagram-mark{position:absolute;font-family:'Space Grotesk',Arial,sans-serif;font-size:18px;color:var(--lime)}.mark-one{right:7px;top:35px}.mark-two{left:35px;top:87px}.mark-three{right:58px;bottom:19px}.group-panel,.validation-card,.metal-card,.config-card,.teacher-login{background:linear-gradient(145deg,#21313f,#1b2a37);border:1px solid #405360;box-shadow:0 25px 85px #07111c55}.group-panel{padding:clamp(26px,3.2vw,48px);border-radius:5px;position:relative}.group-panel:before,.device-card:before{content:'';position:absolute;top:-1px;left:36px;width:55px;height:2px;background:var(--lime)}.panel-top{display:flex;gap:12px;color:#91a6b4;align-items:center;font-size:10px}.panel-index{color:var(--lime)}.tiny-line{height:1px;background:#738b94;flex:1;max-width:30px}.group-panel h2,.metal-card h2{font-family:'Space Grotesk',Arial,sans-serif;font-size:37px;letter-spacing:-.05em;margin:40px 0 10px}.group-panel p,.metal-card p,.validation-card p,.teacher-head p,.password-panel p{color:#aabbc5;line-height:1.6}.group-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:34px 0 30px}.group-button{display:flex;align-items:center;gap:13px;height:74px;padding:0 17px;color:var(--text);background:#283b49;border:1px solid #52626c;border-radius:3px;text-align:left;font-weight:700}.group-button:hover:not(:disabled){border-color:var(--lime);background:#334953;transform:translateY(-2px)}.group-num{font-size:11px;color:var(--lime);font-weight:700}.arrow{margin-left:auto;color:var(--lime);font-size:22px;font-weight:400}.video-button{display:flex;align-items:center;width:100%;gap:12px;border:0;border-top:1px solid #4a5d68;background:none;color:#bdcbd2;padding:23px 0 0;text-align:left}.video-button:hover{color:var(--lime)}.play-icon{border:1px solid #7d929d;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:9px;padding-left:2px}.video-arrow{margin-left:auto}.pending{color:var(--gold);font-size:13px;margin-bottom:24px;line-height:1.5}.stage-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,470px);gap:clamp(45px,8vw,140px);align-items:center;flex:1;padding:60px 0}.stage-content{align-self:center}.step-label{color:var(--gold);display:block;margin-top:70px}.stage-content h1{font-size:clamp(58px,5.4vw,86px);margin:24px 0 25px}.lead{font-size:19px;line-height:1.6;color:#bdcbd3;max-width:500px}.stage-note{display:flex;gap:14px;align-items:flex-start;max-width:450px;color:#91a4b0;font-size:13px;line-height:1.7;border-top:1px solid #435762;padding-top:22px;margin-top:70px}.note-icon{width:22px;height:22px;border:1px solid #8399a4;border-radius:50%;display:grid;place-items:center;flex:none;font-size:12px;font-style:italic}.device-card{position:relative;background:#1e2c38;border:1px solid #4a5c66;border-radius:6px;padding:25px;box-shadow:0 30px 100px #06101980}.device-heading{display:flex;justify-content:space-between;color:#91a5ae;font-size:10px}.device-led{color:var(--lime);font-size:9px}.vault-art{height:300px;display:grid;place-items:center;perspective:700px}.vault-door{position:relative;width:244px;height:244px;background:linear-gradient(130deg,#586e79,#253846 35%,#1b2b36 70%,#536674);border:12px solid #3e5360;border-radius:18px;box-shadow:inset 0 0 0 3px #82939a88,inset 0 0 45px #07151e,0 22px 40px #0008}.vault-ring{position:absolute;width:142px;height:142px;border:13px solid #6b8089;border-radius:50%;top:39px;left:39px;box-shadow:inset 0 0 0 3px #b7c6c87d,0 4px 14px #0008;display:grid;place-items:center;background:#263945}.vault-core{height:90px;width:90px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#647982,#243944 75%);border:3px solid #7e9199;display:grid;place-items:center;font-family:'Space Grotesk',Arial,sans-serif;font-weight:700;font-size:27px;letter-spacing:-2px}.vault-core span span{color:var(--lime)}.bolt{position:absolute;width:13px;height:13px;background:#a7b4b4;border:3px solid #455b65;border-radius:50%}.bolt-one{top:13px;left:14px}.bolt-two{top:13px;right:14px}.bolt-three{bottom:13px;left:14px}.bolt-four{bottom:13px;right:14px}.device-form{background:#263947;border:1px solid #536774;border-radius:4px;padding:23px}.device-form label,.validation-card label,.teacher-login label{display:block;color:#aebfc7;margin-bottom:13px}.code-entry{display:flex;align-items:center;border:1px solid #6e8791;background:#152631;height:65px;padding:0 15px}.code-entry input{width:100%;background:none;border:0;color:var(--lime);font-family:'Space Grotesk',Arial,sans-serif;font-size:35px;font-weight:700;letter-spacing:.23em;outline:none}.code-entry input::placeholder{color:#69818c}.code-suffix{white-space:nowrap;color:#8fa4ad;font-size:10px;letter-spacing:.1em}.primary-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:55px;margin-top:22px;padding:0 21px;background:var(--lime);color:#1b2a31;border:1px solid var(--lime);font-weight:700;border-radius:2px}.primary-button:hover{background:#e3ef9c}.primary-button span,.secondary-button span{font-size:23px;font-weight:400}.message{margin:14px 0 0;padding:11px 13px;font-size:13px;line-height:1.45;border-radius:2px}.message.error{background:#743d3b55;color:#ffc4bb;border:1px solid #b86960}.message.success{background:#48624755;color:#dcf1b0;border:1px solid #849e66}.validation-card,.metal-card{padding:38px;border-radius:5px}.card-symbol{color:var(--lime);font-size:45px}.card-kicker{display:block;color:var(--lime);margin-top:40px}.validation-card h2{font-family:'Space Grotesk',Arial,sans-serif;font-size:30px;letter-spacing:-.05em;margin:12px 0}.validation-card p{margin-bottom:40px}.validation-card input,.teacher-login input,.config-card input,.config-card select,.password-panel input{height:52px;width:100%;background:#172733;border:1px solid #5d727e;color:var(--text);border-radius:2px;padding:0 15px;outline:none}.validation-card input:focus,.teacher-login input:focus,.config-card input:focus,.config-card select:focus,.password-panel input:focus{border-color:var(--lime)}.card-foot{display:flex;gap:13px;align-items:center;color:#9baeb7;font-size:10px;margin-top:45px}.progress-track{height:2px;background:#556c72;flex:1}.progress-track i{display:block;width:66%;height:2px;background:var(--lime)}.metal-card h2{margin-top:35px}.metal-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}.metal-option{position:relative;display:flex;align-items:center;gap:10px;min-height:60px;border:1px solid #506572;background:#293b47;padding:0 12px;cursor:pointer}.metal-option:hover{border-color:var(--lime)}.metal-option:has(input:checked){border-color:var(--lime);background:#384d4b}.metal-option input{position:absolute;opacity:0;width:1px;height:1px}.metal-option:has(input:focus-visible){outline:2px solid var(--lime);outline-offset:2px}.metal-index{font-size:10px;color:var(--lime)}.radio-look{width:12px;height:12px;border:1px solid #8ca1aa;border-radius:50%;margin-left:auto}.metal-option:has(input:checked) .radio-look{background:var(--lime);box-shadow:inset 0 0 0 2px #384d4b}.completion{align-self:center;text-align:center;padding:90px 20px;max-width:720px}.completion .eyebrow{justify-content:center}.completion-symbol{font-size:70px;color:var(--lime)}.completion h1{margin:30px 0}.completion p{color:#a9bcc6;line-height:1.6}.completion .result{font-size:20px;color:var(--text)}.secondary-button{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 20px;min-height:50px;border:1px solid #728891;color:var(--text);background:#273b47;border-radius:2px}.secondary-button:hover{border-color:var(--lime);color:var(--lime)}.completion .secondary-button{margin:40px auto 0}.teacher-login{align-self:center;width:min(100%,480px);padding:45px;margin:70px 0}.login-symbol{color:var(--lime);font-size:50px;margin:35px 0}.teacher-login h1,.teacher-head h1{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(40px,4vw,60px);letter-spacing:-.06em;margin:0 0 12px}.teacher-login p{color:#aebfc8;line-height:1.6;margin-bottom:35px}.text-button{border:0;background:none;color:#b8c9cf;padding:10px 0}.text-button:hover{color:var(--lime)}.teacher-login .text-button{margin-top:20px}.teacher-area{width:100%;padding:60px 0 80px}.teacher-head{display:flex;justify-content:space-between;gap:30px;align-items:start}.teacher-head h1{margin:25px 0 12px}.teacher-head p{max-width:660px}.logout{margin-top:20px}.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:35px}.config-card{padding:27px;border-radius:4px}.config-heading{display:flex;align-items:center;gap:13px;border-bottom:1px solid #51636b;padding-bottom:20px;margin-bottom:25px}.config-heading h3{font-family:'Space Grotesk',Arial,sans-serif;font-size:23px;letter-spacing:-.04em;margin:0}.config-number{color:var(--lime);font-size:12px;font-weight:700}.config-dot{margin-left:auto;color:var(--lime);font-size:8px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.config-card label{color:#aec0c7;letter-spacing:.07em}.config-card label small{font-size:10px;letter-spacing:0;color:#8fa4ae}.config-card input,.config-card select{display:block;margin-top:8px;font-size:15px;letter-spacing:0}.config-card select{appearance:auto}.code-preview{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #526772;margin-top:25px;padding-top:19px;color:#95aab4;font-size:9px;letter-spacing:.1em}.code-preview strong{display:block;margin-top:7px;font-family:'Space Grotesk',Arial,sans-serif;font-size:21px;letter-spacing:.01em;color:var(--lime)}.save-row{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:25px 0 60px;color:#9eb0b9;font-size:13px}.save-row .primary-button{width:auto;min-width:265px;margin:0}.password-panel{border-top:1px solid #4c5f68;padding-top:35px;display:flex;justify-content:space-between;gap:50px}.password-panel h2{font-family:'Space Grotesk',Arial,sans-serif;font-size:26px;margin:0 0 8px}.password-panel form{display:flex;align-items:end;gap:12px}.password-panel label{min-width:150px;color:#aebfc7;letter-spacing:.04em}.password-panel input{display:block;margin-top:8px}.password-panel button{white-space:nowrap}.modal-backdrop{position:fixed;z-index:10;inset:0;background:#050c12cc;display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.video-modal{width:min(100%,900px);background:#1e303d;border:1px solid #657b85;box-shadow:0 40px 100px #000b}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;color:var(--lime);font-size:11px;font-weight:700;letter-spacing:.14em}.modal-head button{background:none;border:0;color:var(--text);font-size:28px;line-height:1}.video-modal video{display:block;width:100%;max-height:70vh;background:#000}.video-empty{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,#33494c,#162733 60%);padding:35px}.video-empty span{width:72px;height:72px;border:1px solid var(--lime);border-radius:50%;display:grid;place-items:center;color:var(--lime);font-size:22px;padding-left:4px}.video-empty h2{font-family:'Space Grotesk',Arial,sans-serif;font-size:36px;margin:24px 0 5px}.video-empty p{color:#aebfc7}.fatal{margin:auto;padding:40px;color:var(--red)}
@media(max-width:1050px){.hero-graphic{opacity:.35;right:-20px}.home-layout{gap:35px}.stage-layout{gap:35px}.stage-content h1{font-size:60px}.password-panel{display:block}.password-panel form{margin-top:25px}}
@media(max-width:760px){.app-shell{padding:0 20px}.topbar{height:72px}.brand-label,.top-caption,.status-dot{display:none}.footer{font-size:9px;gap:12px}.footer span:last-child{text-align:right}.home-layout,.stage-layout{display:block;padding:35px 0 60px}.hero h1{font-size:clamp(44px,11vw,72px);margin:25px 0}.hero-graphic{width:230px;height:230px;right:0;top:15px}.sample{transform:rotate(-20deg) scale(.65);transform-origin:top left}.orbit-one{inset:10px 20px}.orbit-two{inset:30px 0}.diagram-mark{display:none}.hero-text{font-size:16px}.mission-statement{margin:25px 0 45px}.group-panel{padding:25px}.group-panel h2{margin-top:26px}.group-grid{margin:25px 0}.step-label{margin-top:42px}.stage-content h1{font-size:clamp(52px,12vw,72px)}.stage-note{margin:35px 0}.device-card,.validation-card,.metal-card{max-width:530px;margin:auto}.teacher-area{padding:40px 0}.teacher-head{display:block}.config-grid{grid-template-columns:1fr}.save-row{display:block}.save-row .primary-button{width:100%;margin-top:20px}.password-panel form{flex-wrap:wrap}.password-panel label{flex:1;min-width:140px}.password-panel button{width:100%}}
@media(max-width:430px){.group-button{height:65px;padding:0 10px;gap:7px;font-size:13px}.group-num{font-size:10px}.hero h1{font-size:43px}.vault-art{height:245px}.vault-door{transform:scale(.82)}.validation-card,.metal-card{padding:25px}.fields{grid-template-columns:1fr}.code-preview{display:block}.code-preview span{display:block;margin:10px 0}.teacher-login{padding:27px;margin:40px 0}.metal-option{padding:0 7px;font-size:13px}}
@media(prefers-reduced-motion:no-preference){.group-button,.primary-button,.secondary-button{transition:background .2s,border-color .2s,transform .2s}.stage,.home-layout,.stage-layout,.completion,.teacher-area{animation:enter .35s ease-out}@keyframes enter{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
