:root{--navy: #0b2a64;--blue: #143d8f;--gold: #c18d39;--gold-soft: #ead2a4;--cream: #f7f4ec;--paper: #fffdf8;--ink: #10213f;--muted: #65708a;--line: rgba(11, 42, 100, .14);font-family:Avenir Next,Gill Sans,Trebuchet MS,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 10% 5%,rgba(193,141,57,.2),transparent 28rem),radial-gradient(circle at 86% 2%,rgba(20,61,143,.15),transparent 30rem),linear-gradient(135deg,#fbf7ed,#edf2fb)}button,input{font:inherit}button{cursor:pointer}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 80% 10%,rgba(193,141,57,.22),transparent 18rem),linear-gradient(145deg,#07183e,#0b2a64 54%,#031027)}.auth-card{width:min(520px,100%);padding:30px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:linear-gradient(160deg,#fffdf8f5,#edf2fbe6),#ffffffeb;box-shadow:0 32px 90px #03102761}.auth-card h1{font-size:clamp(3.2rem,8vw,6rem)}.auth-card p{margin:18px 0 0;color:var(--muted);font-size:1.02rem;line-height:1.55}.auth-form{display:grid;gap:14px;margin-top:24px}.auth-form label{display:grid;gap:7px}.auth-form label span{color:var(--navy);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.auth-form input{min-height:48px;width:100%;border:1px solid rgba(11,42,100,.18);border-radius:12px;padding:0 13px;color:var(--ink);background:#ffffffb8;outline:none}.auth-form input:focus{border-color:#143d8fb8;box-shadow:0 0 0 3px #143d8f1f}.auth-message{padding:10px 12px;border:1px solid rgba(180,42,42,.22);border-radius:12px;color:#7a1f1f;background:#b42a2a14;font-size:.9rem;font-weight:800}.auth-form button,.admin-exit{min-height:44px;border:0;border-radius:999px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.auth-form button{margin-top:4px;color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue))}.lab-shell{width:min(1360px,calc(100% - 34px));margin:0 auto;padding:30px 0 54px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:stretch;margin-bottom:18px}.hero>div,.hero-status,.factory-card{border:1px solid var(--line);box-shadow:0 24px 80px #0b2a6417}.hero>div{min-height:222px;padding:30px;border-radius:30px;background:linear-gradient(135deg,#fffdf8f5,#f7f4ecdb),repeating-linear-gradient(120deg,rgba(11,42,100,.045) 0 1px,transparent 1px 18px)}.eyebrow{margin:0 0 12px;color:var(--gold);font-size:.74rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}h1,h2{margin:0;color:var(--navy);letter-spacing:-.055em}h1{font-size:clamp(4rem,9vw,8.4rem);line-height:.8}.hero-text{max-width:850px;margin:22px 0 0;color:var(--muted);font-size:clamp(1.02rem,1.5vw,1.26rem);line-height:1.42}.hero-status{display:flex;flex-direction:column;justify-content:flex-end;min-height:222px;padding:24px;border-radius:30px;color:#fff;background:radial-gradient(circle at 82% 10%,rgba(193,141,57,.5),transparent 13rem),linear-gradient(160deg,#0b2a64fa,#143d8feb)}.hero-status span,.hero-status small,.factory-copy span,footer span{font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hero-status span{color:var(--gold-soft)}.hero-status strong{display:block;margin-top:10px;color:#fff;font-size:2rem;line-height:.94;letter-spacing:-.06em}.hero-status p,.hero-status small{color:#fffdf8c2}.admin-exit{width:fit-content;margin-top:14px;padding:0 16px;color:var(--navy);background:#fffdf8e6}.factory-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.factory-mode{display:grid;gap:9px;min-height:150px;padding:22px;border:1px solid rgba(11,42,100,.14);border-radius:24px;text-align:left;background:#fffdf8d1;box-shadow:0 18px 48px #0b2a6412;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.factory-mode:hover,.factory-mode.is-active{transform:translateY(-2px);border-color:#c18d3994;box-shadow:0 24px 64px #0b2a641f}.factory-mode--crypto.is-active{border-color:#43b8c4b8;box-shadow:0 24px 72px #064c5e2e}.factory-mode span,.factory-overview span,.blind-test-board span{color:var(--gold);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.factory-mode strong{color:var(--navy);font-size:clamp(1.45rem,3vw,2.3rem);line-height:.95;letter-spacing:-.055em}.factory-mode small{color:var(--muted);font-size:.92rem;line-height:1.35}.factory-mode--crypto{background:radial-gradient(circle at 92% 8%,rgba(67,184,196,.18),transparent 13rem),linear-gradient(145deg,#fffdf8f0,#e9f8fbe0)}.factory-overview{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:14px;margin-bottom:18px}.factory-overview article{min-height:150px;padding:20px;border:1px solid rgba(11,42,100,.12);border-radius:24px;background:#fffdf8e6;box-shadow:0 18px 52px #0b2a640f}.factory-overview--crypto article{background:linear-gradient(145deg,#fffdf8eb,#e8fafad1)}.factory-overview strong{display:block;margin-top:9px;color:var(--navy);font-size:clamp(1.35rem,2.2vw,2rem);line-height:1;letter-spacing:-.045em}.factory-overview p,.section-heading>p,.blind-test-board p{margin:10px 0 0;color:var(--muted);font-size:.94rem;line-height:1.45}.factory-map{position:relative;min-height:780px;overflow:hidden;border:1px solid rgba(11,42,100,.1);border-radius:34px;background:linear-gradient(145deg,#fffdf8d6,#ead2a433),radial-gradient(circle at 75% 28%,rgba(20,61,143,.08),transparent 22rem);perspective:1400px}.factory-map--crypto{background:linear-gradient(145deg,#f7fdfdeb,#43b8c41f),radial-gradient(circle at 78% 20%,rgba(20,61,143,.12),transparent 24rem)}.factory-map:before{content:"";position:absolute;top:72px;right:80px;bottom:52px;left:80px;border-radius:44px;background:linear-gradient(90deg,rgba(11,42,100,.055) 1px,transparent 1px),linear-gradient(180deg,rgba(11,42,100,.055) 1px,transparent 1px);background-size:44px 44px;transform:rotateX(62deg) rotate(-7deg);transform-origin:center}.route-map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.route-line,.route-shadow{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.route-shadow{stroke:#0b2a6424;stroke-width:9}.route-line{stroke:var(--gold);stroke-width:4;stroke-dasharray:9 10;animation:routeFlow 1.2s linear infinite}.route-dot{fill:var(--navy);stroke:var(--paper);stroke-width:.55;vector-effect:non-scaling-stroke}.factory-card{position:absolute;z-index:2;width:176px;min-height:252px;padding:12px;border-radius:22px;background:linear-gradient(155deg,#fffdf8fa,#ead2a42e),radial-gradient(circle at 95% 0%,rgba(20,61,143,.1),transparent 9rem);transform:translate(-50%,-50%) rotateX(7deg) rotateY(-8deg) rotate(-1deg);transform-style:preserve-3d;transition:transform .24s ease,box-shadow .24s ease}.factory-card:after{content:"";position:absolute;top:16px;right:-9px;bottom:-14px;left:18px;z-index:-1;border-radius:24px;background:#0b2a641f;filter:blur(10px);transform:translateZ(-34px)}.factory-card.is-active{border-color:#c18d39b8;box-shadow:0 30px 90px #c18d3947;animation:activeHover 2.4s ease-in-out infinite}.factory-workbench{margin-top:20px;padding:24px;border:1px solid rgba(11,42,100,.12);border-radius:28px;background:linear-gradient(135deg,#fffdf8f5,#edf2fbd6),repeating-linear-gradient(90deg,rgba(11,42,100,.035) 0 1px,transparent 1px 22px);box-shadow:0 24px 70px #0b2a6414}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.section-heading h2{max-width:760px;font-size:clamp(2rem,4vw,4.2rem);line-height:.92}.section-heading>div{min-width:0}.section-heading>p{max-width:420px;margin-bottom:4px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.library-panel,.assembly-panel{border:1px solid var(--line);border-radius:18px;background:#fffdf8e6;box-shadow:0 18px 50px #0b2a6412}.library-panel{padding:14px}.library-panel header,.assembly-panel header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.library-panel header span,.assembly-panel header span{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.library-panel header strong,.assembly-panel header strong{color:var(--navy);font-size:1.18rem}.library-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:start;min-height:72px;padding:10px;border:1px solid rgba(11,42,100,.1);border-radius:12px;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.library-row+.library-row{margin-top:8px}.library-row:hover,.library-row.is-selected{border-color:#c18d398c;background:#ead2a433}.library-row:hover{transform:translateY(-1px)}.library-row input{width:16px;height:16px;margin:3px 0 0;accent-color:var(--blue)}.library-row span{min-width:0}.library-row strong,.library-row small{display:block}.library-row strong{color:var(--navy);font-size:.96rem;line-height:1.15}.library-row small{margin-top:5px;color:var(--muted);font-size:.76rem;line-height:1.3;overflow-wrap:anywhere}.library-row em{align-self:start;padding:4px 7px;border-radius:999px;background:#143d8f14;color:var(--blue);font-size:.66rem;font-style:normal;font-weight:900;text-transform:uppercase}.assembly-panel{margin-top:14px;padding:18px}.assembly-panel header{margin-bottom:16px}.assembly-panel header small{color:var(--muted);font-size:.78rem}.assembly-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:16px}.assembly-flow span{min-height:42px;padding:9px;border:1px solid rgba(11,42,100,.1);border-radius:12px;background:linear-gradient(145deg,#0b2a640f,#c18d391f);color:var(--navy);font-size:.76rem;font-weight:900;line-height:1.12;text-transform:uppercase}.assembly-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.assembly-panel dl div{min-width:0;padding:12px;border-left:3px solid var(--gold);background:#0b2a640b}.assembly-panel dt{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.assembly-panel dd{margin:6px 0 0;color:var(--ink);font-size:.94rem;font-weight:700;line-height:1.32}.blind-test-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.blind-test-board article{min-height:148px;padding:16px;border:1px solid rgba(11,42,100,.12);border-radius:18px;background:radial-gradient(circle at top right,rgba(67,184,196,.12),transparent 11rem),#fffdf8e6;box-shadow:0 18px 50px #0b2a640f}.blind-test-board strong{display:block;margin-top:9px;color:var(--navy);font-size:1.1rem;line-height:1.08}.factory-card.is-complete .progress-track span{background:linear-gradient(90deg,var(--gold),var(--gold-soft))}.factory-scene{position:relative;height:118px;margin-bottom:10px;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#143d8f17,#fffdf82e),linear-gradient(90deg,rgba(11,42,100,.07) 0 2px,transparent 2px 16px)}.factory-shadow{position:absolute;left:18px;right:18px;bottom:14px;height:16px;border-radius:50%;background:#0b2a6421;filter:blur(3px)}.factory-building{position:absolute;left:13px;bottom:28px;width:62px;transform:skewY(-5deg)}.factory-roof{width:0;height:0;border-right:31px solid transparent;border-bottom:22px solid var(--gold);border-left:31px solid transparent}.factory-body{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;height:38px;padding:9px 7px;border:3px solid var(--navy);border-radius:0 0 12px 12px;background:var(--paper)}.factory-body span{border-radius:5px;background:#143d8f38}.scene-prop{position:absolute}.robot{position:absolute;right:16px;bottom:27px;width:42px;height:66px;animation:robotBob 1.7s ease-in-out infinite}.robot-head{position:relative;display:flex;justify-content:center;gap:7px;width:39px;height:30px;margin:0 auto;padding-top:11px;border:3px solid var(--navy);border-radius:13px;background:var(--gold-soft)}.robot-head:before{content:"";position:absolute;top:-10px;left:50%;width:3px;height:10px;background:var(--navy)}.robot-head span{width:6px;height:6px;border-radius:50%;background:var(--navy)}.robot-body{width:32px;height:30px;margin:4px auto 0;border:3px solid var(--navy);border-radius:11px;background:#fff}.robot-arm{position:absolute;top:37px;width:22px;height:6px;border-radius:999px;background:var(--gold);transform-origin:center left;animation:armWork .9s ease-in-out infinite}.robot-arm-left{left:-5px}.robot-arm-right{right:-7px;animation-delay:.2s}.scene-freeze .factory-body,.scene-freeze .robot-body{background:#e7f4ff}.scene-freeze .prop-a,.scene-freeze .prop-b,.scene-freeze .prop-c{width:18px;height:18px;border:3px solid #7db8dc;border-radius:50%;animation:iceFloat 2.2s ease-in-out infinite}.scene-freeze .prop-a{left:84px;top:18px}.scene-freeze .prop-b{left:102px;top:40px;animation-delay:.4s}.scene-freeze .prop-c{left:72px;top:56px;animation-delay:.8s}.scene-cache .prop-a,.scene-cache .prop-b,.scene-cache .prop-c{left:76px;width:34px;height:13px;border-radius:4px;background:var(--gold);box-shadow:0 0 0 2px #0b2a642e}.scene-cache .prop-a{top:28px}.scene-cache .prop-b{top:46px;animation:shelfSlide 1.4s ease-in-out infinite}.scene-cache .prop-c{top:64px}.scene-mixer .prop-a{left:76px;top:44px;width:52px;height:34px;border:4px solid var(--navy);border-top:0;border-radius:0 0 28px 28px;background:#c18d3952}.scene-mixer .prop-b{left:96px;top:20px;width:6px;height:46px;border-radius:999px;background:var(--navy);transform-origin:bottom center;animation:mixerSpin .85s linear infinite}.scene-mixer .prop-c{left:105px;top:33px;width:14px;height:14px;border-radius:50%;background:var(--gold);animation:iceFloat 1.6s ease-in-out infinite}.scene-signal .prop-a{left:86px;top:25px;width:5px;height:58px;border-radius:999px;background:var(--navy)}.scene-signal .prop-b,.scene-signal .prop-c{left:72px;top:15px;width:34px;height:34px;border:3px solid var(--gold);border-radius:50%;opacity:.7;animation:ping 1.5s ease-out infinite}.scene-signal .prop-c{animation-delay:.5s}.scene-oracle .prop-a{left:80px;top:34px;width:48px;height:48px;border:4px solid var(--navy);border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff,#ead2a48c 28%,#143d8f38);animation:oracleGlow 2s ease-in-out infinite}.scene-oracle .prop-b{left:92px;top:84px;width:24px;height:8px;border-radius:999px;background:var(--navy)}.scene-matrix .prop-a{left:76px;top:30px;width:60px;height:48px;border:3px solid var(--navy);border-radius:10px;background:linear-gradient(90deg,transparent 30%,rgba(11,42,100,.22) 31%,transparent 32%,transparent 64%,rgba(11,42,100,.22) 65%,transparent 66%),linear-gradient(180deg,transparent 30%,rgba(11,42,100,.22) 31%,transparent 32%,transparent 64%,rgba(11,42,100,.22) 65%,transparent 66%),#c18d3938;animation:matrixTilt 1.8s ease-in-out infinite}.scene-sorter .prop-a,.scene-sorter .prop-b,.scene-sorter .prop-c{left:78px;width:52px;height:9px;border-radius:999px;background:var(--gold);animation:shelfSlide 1.2s ease-in-out infinite}.scene-sorter .prop-a{top:35px}.scene-sorter .prop-b{top:52px;width:42px;animation-delay:.2s}.scene-sorter .prop-c{top:69px;width:32px;animation-delay:.4s}.scene-evidence .prop-a,.scene-evidence .prop-b,.scene-evidence .prop-c{width:38px;height:48px;border:3px solid var(--navy);border-radius:7px;background:#fff}.scene-evidence .prop-a{left:77px;top:35px;transform:rotate(-8deg)}.scene-evidence .prop-b{left:93px;top:28px;transform:rotate(8deg);background:var(--gold-soft)}.scene-evidence .prop-c{left:110px;top:41px;transform:rotate(16deg)}.factory-copy{min-height:74px}.factory-copy span{color:var(--gold)}.factory-copy h2{margin-top:7px;font-size:1.16rem;line-height:.95}.factory-copy p{margin:8px 0 0;color:var(--muted);font-size:.82rem;line-height:1.2}.progress-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:8px}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#0b2a641a}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--gold));transition:width .7s ease}.progress-row strong{color:var(--navy);font-size:.82rem}footer{display:flex;justify-content:space-between;gap:8px;margin-top:10px;color:var(--muted)}footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes routeFlow{to{stroke-dashoffset:-19}}@keyframes activeHover{0%,to{transform:translate(-50%,-50%) rotateX(7deg) rotateY(-8deg) rotate(-1deg) translateY(0)}50%{transform:translate(-50%,-50%) rotateX(7deg) rotateY(-8deg) rotate(-1deg) translateY(-8px)}}@keyframes robotBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes armWork{0%,to{transform:rotate(26deg)}50%{transform:rotate(-18deg)}}@keyframes iceFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shelfSlide{50%{transform:translate(8px)}}@keyframes mixerSpin{to{transform:rotate(360deg)}}@keyframes ping{to{opacity:0;transform:scale(1.75)}}@keyframes oracleGlow{50%{box-shadow:0 0 24px #c18d398c;transform:translateY(-4px)}}@keyframes matrixTilt{50%{transform:rotateX(18deg) rotate(-5deg)}}@media (max-width: 980px){.hero,.factory-selector,.factory-overview,.library-grid,.assembly-panel dl,.blind-test-board{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.assembly-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.factory-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:auto;padding:16px;overflow:visible}.factory-map:before,.route-map{display:none}.factory-card{position:relative;left:auto!important;top:auto!important;width:auto;transform:none}.factory-card.is-active{animation:none}}@media (max-width: 620px){.lab-shell{width:min(100% - 20px,1360px);padding-top:16px}.factory-map{grid-template-columns:1fr}.hero>div,.hero-status,.factory-mode,.factory-overview article{border-radius:20px;padding:18px}.factory-workbench{padding:16px}.section-heading{display:block}.assembly-flow{grid-template-columns:1fr}}
