@font-face{font-family:LocalUI;src:local('Segoe UI')}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#091019;color:#eef3f7;font-family:LocalUI,'Segoe UI',sans-serif;font-size:15px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #beff67;outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.app-shell{min-height:100vh;display:flex;flex-direction:column;padding:0 44px;background:radial-gradient(ellipse at 80% 36%,#1a193d66,transparent 55%)}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #26303b;gap:24px}.brand{display:flex;gap:13px;align-items:center;font-weight:850;letter-spacing:1px;font-size:22px;line-height:1.1}.brand-light{font-weight:350;margin-left:4px}.brand small{display:block;color:#82919e;letter-spacing:2px;font-size:8px;margin-top:7px;font-weight:600}.brand-symbol{display:grid;place-items:center;background:#bcff67;color:#111918;width:44px;height:44px;border-radius:10px;font-size:29px;position:relative;font-style:italic}.brand-symbol span{font-size:18px;position:absolute;right:0;top:0}nav{display:flex;gap:8px}.nav-button{background:none;border:none;padding:12px 18px;border-radius:8px;color:#a2adb9;font-size:14px}.nav-button.active{background:#202636;color:#fff}.nav-button:hover{color:#fff;background:#1a2230}.system-status{display:flex;align-items:center;gap:8px;color:#a5b3bf;font-size:10px;font-weight:700;letter-spacing:1px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#baff68;box-shadow:0 0 10px #baff6850}.icon-button{margin-left:8px;font-size:24px;background:none;border:1px solid #303949;border-radius:8px;width:36px;height:36px;line-height:1}main{width:100%;max-width:1550px;margin:auto;flex:1;padding:34px 0 28px}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #26303b;padding:19px 0;color:#798897;font-size:10px;letter-spacing:1.2px}footer span{display:flex;align-items:center;gap:8px}footer b{color:#adbac6;font-weight:500}.eyebrow{font-size:11px;letter-spacing:2px;color:#b8a2ff;font-weight:700;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:22px;height:2px;background:#ac8dff}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(50px,5.6vw,82px);line-height:.99;letter-spacing:-3px;margin:22px 0;font-weight:800}h1 em{font-style:normal;color:#bdff68}h2{font-size:32px;line-height:1.1;letter-spacing:-1px;margin-bottom:12px}h3{font-size:18px;margin-bottom:9px}.muted{color:#9aa8b6;line-height:1.65}.home-grid{display:grid;grid-template-columns:1.07fr .93fr;gap:72px;align-items:center;min-height:560px}.intro{max-width:580px}.intro>.muted{font-size:17px;max-width:470px}.quick-facts{display:flex;gap:26px;margin:29px 0;border-top:1px solid #29313f;padding-top:22px}.quick-facts strong{font-size:23px;display:block;font-variant-numeric:tabular-nums}.quick-facts small{color:#8193a2;display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;margin-top:4px}.name-form{background:#141e29;border:1px solid #2d3c49;padding:24px;border-radius:14px;max-width:540px}.field-label{display:block;font-size:11px;letter-spacing:1.4px;font-weight:700;color:#b8c5cf;margin-bottom:10px}.input-row{display:flex;gap:10px}input,select{background:#0c141f;border:1px solid #3b4a5b;border-radius:7px;color:#f0f5fa;padding:13px;min-width:0}input{flex:1}input::placeholder{color:#728393}select{width:100%}.primary,.secondary,.danger{border:0;border-radius:7px;padding:13px 22px;font-weight:700;white-space:nowrap}.primary{background:#bcff67;color:#12210e;box-shadow:0 4px 16px #baff670c}.primary:hover{background:#d0ff96}.secondary{background:#263143;border:1px solid #3b4a5d;color:#e8eff5}.secondary:hover{background:#34445a}.danger{background:#492332;color:#ffb5b6;border:1px solid #9c4a57}.micro{font-size:12px;color:#8d9aa9;line-height:1.5;margin:12px 0 0}.scene{border:1px solid #353545;border-radius:22px;background:linear-gradient(145deg,#1b2233,#131b27);padding:26px;position:relative;overflow:hidden}.scene:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#7d8da32a 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.scene>*{position:relative}.scene-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#9eacbd;letter-spacing:1.6px}.live-pill{background:#baff6710;border:1px solid #baff6730;color:#bcff67;border-radius:100px;padding:5px 9px;font-size:9px;letter-spacing:1px}.hero-device{margin:26px auto 0;max-width:345px;background:#101a25;border:1px solid #3f4e61;border-radius:13px;padding:20px;box-shadow:0 15px 30px #0003}.device-heading{display:flex;gap:14px;align-items:center;margin-bottom:18px}.device-icon{display:grid;place-items:center;width:50px;height:50px;background:#b497ff15;border:1px solid #b497ff40;border-radius:12px;color:#c7b2ff;flex-shrink:0}.device-icon svg{width:30px;height:30px}.device-heading h3{margin:0 0 5px}.device-heading small{color:#899dad;font-size:11px}.signal{padding:11px 0;border-top:1px solid #273443;display:flex;justify-content:space-between;align-items:center;gap:12px}.signal-label{color:#8ea0b1;font-size:12px}.signal-value{font-weight:600;font-size:13px}.good{color:#bdff7b}.bad{color:#ff8997}.signal-value .mark{display:inline-block;margin-right:6px}.connection-line{height:42px;width:2px;margin:auto;background:linear-gradient(#ac8dff,#bdff67)}.engine{margin:auto;width:180px;text-align:center;background:#211c38;border:1px solid #8e70df;border-radius:9px;padding:12px;letter-spacing:2px;font-size:11px;color:#ceb9ff;box-shadow:0 0 35px #966aff1c}.mini-routes{display:flex;gap:8px;margin-top:22px}.mini-routes span{flex:1;text-align:center;border:1px solid #364451;border-radius:7px;padding:13px 4px;font-size:11px;color:#94a3b4;background:#0c1520}.mini-routes .selected{border-color:#baff67;color:#bdff67;background:#baff670e}.scene-caption{font-size:11px;color:#93a1b2;text-align:center;margin:20px 0 0}.bottom-strip{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:#131c27;border:1px solid #293746;border-radius:10px}.bottom-strip strong{display:block;font-size:14px;margin-bottom:5px}.bottom-strip p{margin:0;color:#8496a8;font-size:12px}.text-button{border:0;background:none;color:#b9a3ff;font-size:13px;font-weight:600;padding:8px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:5px 0 26px}.page-head h2{margin:10px 0}.page-head p{margin:0}.tag{background:#1b2736;border:1px solid #344356;border-radius:6px;padding:8px 12px;color:#a9bacb;font-size:12px}.policy-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.policy-card{--accent:#b9a1ff;text-align:left;display:flex;flex-direction:column;background:#16202d;border:1px solid #354253;border-radius:12px;overflow:hidden;padding:0;position:relative;transition:border-color .1s,background .1s,transform .1s;min-width:0}.policy-card[data-slot="1"]{--accent:#70d4f5}.policy-card[data-slot="2"]{--accent:#ffca75}.policy-card[data-slot="3"]{--accent:#76dbc1}.policy-card[data-slot="4"]{--accent:#ff8798}.policy-top{border-top:3px solid var(--accent);padding:16px 16px 12px;display:flex;align-items:center;gap:10px}.slot{display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent),transparent 50%);background:color-mix(in srgb,var(--accent),transparent 90%);border-radius:7px;min-width:31px;height:31px;color:var(--accent);font-size:16px;font-weight:800}.policy-name{font-size:15px;line-height:1.2;font-weight:700}.policy-checks{list-style:none;padding:0 16px;margin:0 0 14px;flex:1}.policy-checks li{font-size:12px;color:#a3b3c3;padding:5px 0;line-height:1.45}.policy-access{padding:12px 16px;border-top:1px solid #2e3b4b;color:var(--accent);font-size:11px;background:#00000016;line-height:1.4}.policy-card.highlight{border-color:var(--accent);background:#29374b;transform:translateY(-3px);box-shadow:0 0 24px color-mix(in srgb,var(--accent),transparent 85%)}.policy-card.wrong{border-color:#ff526d;background:#49202a;animation:shake .2s}.tutorial-top{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:28px}.info-panel{padding:25px;background:#141e2a;border:1px solid #303e50;border-radius:12px}.info-panel ol{padding-left:20px;color:#aab8c6;line-height:2;margin-bottom:0}.step-label{color:#baff67;font-size:11px;font-weight:700;letter-spacing:1.5px}.tutorial-cta{display:flex;justify-content:space-between;align-items:center;margin-top:26px}.tutorial-cta p{margin:0}.hud{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;margin-bottom:20px}.hud-player strong{font-size:18px;display:block;margin-top:5px}.hud-center{text-align:center}.hud-center .timer{font-size:56px;line-height:1;letter-spacing:-2px;font-weight:750;font-variant-numeric:tabular-nums}.hud-center .timer small{font-size:20px;color:#8f9ba9;margin-left:4px}.hud-right{display:flex;justify-content:flex-end;align-items:center;gap:24px}.penalty{color:#ff9ba9;font-size:20px;font-variant-numeric:tabular-nums}.small-label{font-size:10px;letter-spacing:1.5px;color:#8ea0b2;display:block;margin-bottom:7px}.progress-track{height:4px;background:#263343;display:flex;gap:4px;margin-bottom:24px}.progress-track i{flex:1;background:#263343}.progress-track i.done{background:#bcff67}.arena{display:grid;grid-template-columns:1fr 390px 1fr;gap:30px;align-items:center;min-height:292px;margin:10px 0 22px}.queue-scene{display:flex;flex-direction:column;align-items:center;gap:16px;color:#617486}.queue-icons{display:flex;gap:12px;align-items:center}.queue-icons svg{width:34px;height:34px;color:#70849a}.queue-icons svg:first-child{opacity:.3}.queue-icons svg:nth-child(2){opacity:.6}.arrow{color:#a286eb;font-size:30px}.queue-scene p{font-size:10px;letter-spacing:1.8px}.active-device{background:linear-gradient(140deg,#1a2939,#121c2b);border:1px solid #64748e;border-radius:16px;padding:23px;box-shadow:0 12px 40px #0003;animation:arrive .15s ease-out}.active-device .signal{padding:12px 0}.active-device .signal-value{font-size:15px}.active-device .signal-label{font-size:12px}.active-device .device-heading h3{font-size:20px}.gate{display:flex;flex-direction:column;align-items:center;gap:16px}.gate-shape{border:2px solid #a38ae9;border-radius:65px 65px 12px 12px;width:105px;height:125px;display:grid;place-items:center;box-shadow:inset 0 0 30px #9976e317,0 0 45px #9976e310}.gate-shape svg{width:46px;height:46px;color:#b49bef}.gate-shape.accept{border-color:#baff67;box-shadow:0 0 45px #baff6730}.gate-shape.reject{border-color:#ff8798}.gate small{font-size:10px;letter-spacing:1.7px;color:#a99bc9}.game-instruction{display:flex;justify-content:space-between;color:#8c9fb0;font-size:11px;letter-spacing:.5px;margin:15px 0 11px}.feedback{height:23px;text-align:center;color:#baff67;font-weight:700;font-size:13px;margin-top:16px}.feedback.error{color:#ff8d9e}.overlay{position:fixed;inset:0;z-index:20;background:#080c15f2;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px}.count-number{font-size:min(40vw,350px);font-weight:850;line-height:1;color:#c1ff6b;letter-spacing:-15px;animation:countPulse .9s ease-out}.count-label{font-size:15px;letter-spacing:5px;color:#b7a2f4}.modal{max-width:640px;width:100%;padding:40px;background:#141e2c;border:1px solid #46546a;border-radius:18px}.modal h2{font-size:40px}.modal p{color:#a6b6c6;line-height:1.7}.actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.intermission{text-align:center;max-width:880px;margin:40px auto}.intermission h1{font-size:70px}.intermission .info-panel{margin:26px auto;max-width:660px}.result{text-align:center;max-width:950px;margin:12px auto}.result-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #baff6760;background:#baff6710;color:#baff67;border-radius:50px;padding:8px 16px;font-size:11px;letter-spacing:2px}.result h1{font-size:clamp(40px,4vw,62px);margin:24px 0 12px;letter-spacing:-2px}.result.quarantine .result-badge,.result.improve .result-badge{border-color:#ff9c7360;background:#ff9c7310;color:#ffa484}.result.quarantine h1{color:#ff8b9b}.result .final-time{font-size:94px;font-weight:800;letter-spacing:-5px;color:#beff70;font-variant-numeric:tabular-nums;line-height:1.2;margin:20px 0 6px}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#344357;border:1px solid #344357;border-radius:12px;overflow:hidden;margin:25px 0}.result-stats div{background:#14202c;padding:20px 10px}.result-stats strong{display:block;font-size:25px;margin-top:9px;font-variant-numeric:tabular-nums}.result-stats small{color:#91a5b7;font-size:10px;text-transform:uppercase;letter-spacing:1.3px}.board-controls{display:flex;gap:12px;align-items:center}.board-controls select{width:auto;max-width:260px}.boards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.board{border:1px solid #334151;border-radius:14px;background:#121d29;overflow:hidden}.board-title{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #334151}.board-title h3{margin:0;color:#beff75}.board.bottom .board-title h3{color:#ff99a5}.board-title small{color:#8095a8;font-size:10px;letter-spacing:1px}.board table{width:100%;border-collapse:collapse;font-size:13px}.board th{padding:12px 18px;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:#8da0b0}.board td{padding:12px 18px;border-top:1px solid #263545}.board td:nth-child(3),.board td:nth-child(4){font-variant-numeric:tabular-nums;text-align:right}.board th:nth-child(3),.board th:nth-child(4){text-align:right}.board td:first-child{color:#8a9fb0;width:50px}.board td:nth-child(2){font-weight:600;max-width:220px;overflow-wrap:anywhere}.board tr.me{background:#baff6710}.empty{color:#8599ab;text-align:center;padding:48px 24px;font-size:14px;line-height:1.7}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.setting{margin-bottom:22px}.setting input{width:100%}.setting label{display:block;font-size:13px;margin-bottom:9px;color:#b0c0cf}.setting input[type=checkbox]{width:auto;accent-color:#baff67}.mapping-list{display:flex;flex-direction:column;gap:8px;margin:18px 0}.mapping-row{display:flex;align-items:center;gap:15px;background:#0d1722;border:1px solid #2c3c4d;border-radius:8px;padding:10px 13px}.mapping-row strong{color:#c7b5ff}.mapping-row span:last-child{color:#92a5b8;font-size:12px}.library{margin-top:25px}.library summary{cursor:pointer;color:#b9a3ff;font-weight:600;padding:14px 0}.library-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.library-item{padding:16px;background:#101b27;border:1px solid #2a3a4a;border-radius:8px}.library-item h3{font-size:14px}.library-item p{color:#92a5b8;font-size:12px;line-height:1.5;margin:0}.toast{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);background:#253349;border:1px solid #64778a;padding:14px 24px;border-radius:10px;z-index:40;max-width:80vw;color:#eef6ff;box-shadow:0 10px 30px #0005}.practice-tag{color:#ffc979;font-size:12px}.mapping-number{font-size:90px;color:#baff67;font-weight:800;margin:12px}.mapping-progress{color:#b9a3ff;font-size:11px;letter-spacing:2px}.sound-label{display:flex;align-items:center;gap:9px}.form-error{color:#ff91a1;font-size:12px;margin-top:10px}.board-note{line-height:1.6;margin:20px 0;color:#8498ab;font-size:12px}@keyframes countPulse{from{transform:scale(1.13);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes arrive{from{transform:translateX(-12px);opacity:.5}to{transform:translateX(0);opacity:1}}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media(max-width:1200px){.app-shell{padding:0 26px}.home-grid{gap:32px}.arena{grid-template-columns:1fr 370px 1fr;gap:15px}.policy-top{padding:13px 10px 9px;gap:7px}.policy-name{font-size:13px}.policy-checks{padding:0 10px}.policy-access{padding:10px}.system-status{font-size:9px}.nav-button{padding:10px 12px}.hud-center .timer{font-size:47px}}@media(max-height:850px){.topbar{height:78px}main{padding-top:22px}.home-grid{min-height:490px}.quick-facts{margin:20px 0}.hero-device{margin-top:18px}.arena{min-height:245px;margin-bottom:12px}.active-device{padding:17px 21px}.active-device .signal{padding:9px 0}.hud{margin-bottom:12px}.progress-track{margin-bottom:10px}.policy-checks li{padding:3px 0}.policy-top{padding-top:12px;padding-bottom:10px}.result .final-time{font-size:75px}.result-stats{margin:18px 0}.result-stats div{padding:15px}footer{padding:15px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.spaced-title{margin-top:12px}
@media(max-height:950px){.home-grid h1{font-size:64px}.home-grid>.intro>.muted{font-size:16px}.home-grid .quick-facts{margin:20px 0;padding-top:17px}.home-grid .name-form{padding:20px}.home-grid{min-height:510px}.bottom-strip{margin-top:22px}.board td{padding-top:10px;padding-bottom:10px}.board-note{margin:15px 0}.board-title{padding:18px 24px}} @media(max-height:800px){.topbar{height:66px}.app-shell{padding:0 26px}main{padding:16px 0}.home-grid{min-height:440px}.home-grid h1{font-size:52px;margin:16px 0}.home-grid .quick-facts{margin:16px 0}.home-grid .name-form{padding:16px}.home-grid .intro>.muted{font-size:14px;line-height:1.5}.scene{padding:18px}.hero-device{padding:16px;margin-top:16px}.connection-line{height:24px}.mini-routes{margin-top:14px}.scene-caption{margin-top:12px}.hud-center .timer{font-size:40px}.arena{min-height:212px;margin:5px 0 8px}.active-device{padding:14px 18px}.active-device .device-heading{margin-bottom:12px}.active-device .signal{padding:8px 0}.game-instruction{margin-top:10px;font-size:10px}.policy-top{padding:10px}.policy-checks{margin-bottom:8px}.policy-checks li{font-size:11px;padding:3px 0}.policy-access{padding:9px 10px}.policy-grid{gap:9px}.feedback{margin-top:10px}.tutorial-top{gap:20px;margin-bottom:20px}.tutorial-top .info-panel{padding:18px}.tutorial-top p{font-size:13px}.page-head{margin-bottom:20px}.page-head h2{font-size:28px}.tutorial-cta{margin-top:15px}.board td{padding:8px 14px}.board th{padding:9px 14px}.board-title{padding:14px 18px}.board-note{margin:10px 0}.bottom-strip{padding:14px 20px;margin-top:16px}.result .final-time{font-size:67px}.result h1{font-size:43px}.result-stats{margin:15px 0}.result-stats div{padding:12px}.intermission{margin:20px auto}.intermission h1{font-size:55px}.intermission .info-panel{margin:20px auto;padding:20px}footer{padding:12px 0}}
