:root{color-scheme:dark;--bg:#061321;--panel:#091b2a;--panel2:#0b2031;--line:#164058;--line-soft:#123146;--text:#e8f5fb;--muted:#82a2b7;--mint:#25e5d0;--blue:#2eb7ef;--good:#42e6b5;--bad:#ff718c;--amber:#f8c768;--radius:clamp(14px,1.2vw,20px);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI","Noto Sans SC",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{min-height:100dvh;margin:0;background:radial-gradient(ellipse at 68% 0%,#0a2940 0,transparent 42%),linear-gradient(160deg,#061321,#06101b 74%);color:var(--text);overflow-x:hidden}body:before{position:fixed;inset:0;z-index:-1;content:"";pointer-events:none;background-image:linear-gradient(#1c4f6915 1px,transparent 1px),linear-gradient(90deg,#1c4f6915 1px,transparent 1px);background-size:clamp(34px,4vw,62px) clamp(34px,4vw,62px);mask-image:linear-gradient(180deg,#000b,transparent 82%)}.ambient{position:fixed;width:32vw;aspect-ratio:1;border-radius:50%;filter:blur(100px);opacity:.09;pointer-events:none;z-index:-1}.ambient-one{background:#00d7db;top:15%;left:-18%;animation:drift 18s ease-in-out infinite alternate}.ambient-two{background:#187dee;right:-17%;top:48%;animation:drift 23s ease-in-out infinite alternate-reverse}@keyframes drift{to{transform:translate(10vw,-5vh) scale(1.12)}}
.shell{width:min(100% - clamp(28px,7vw,112px),1510px);margin:0 auto}.topbar{height:clamp(70px,7vw,96px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #17364a;gap:18px}.brand{display:flex;align-items:center;gap:12px;color:#f0fbff;text-decoration:none;font-weight:800;font-size:clamp(17px,1.7vw,25px);letter-spacing:.015em;white-space:nowrap}.brand b{color:#65ddf5;font-weight:700}.brand-mark{width:35px;height:35px;position:relative;border:1px solid #26cee1;border-radius:50%;box-shadow:0 0 18px #15bde044,inset 0 0 12px #15bde033}.brand-mark:before,.brand-mark:after{content:"";position:absolute;inset:6px;border:1px solid #26cee1;border-radius:50%;transform:rotate(55deg) scaleX(.44)}.brand-mark:after{transform:rotate(-55deg) scaleX(.44)}.brand-mark i{position:absolute;width:4px;height:4px;background:var(--mint);border-radius:50%;box-shadow:0 0 8px var(--mint)}.brand-mark i:nth-child(1){top:3px;left:15px}.brand-mark i:nth-child(2){right:3px;top:14px}.brand-mark i:nth-child(3){bottom:3px;left:15px}.brand-mark i:nth-child(4){left:3px;top:14px}.top-status{display:flex;align-items:center;gap:9px;color:#9ab4c5;font:11px "DM Mono",monospace;letter-spacing:.08em}.pulse,.hint-dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 12px #42e6b5aa;animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.45;box-shadow:0 0 3px #42e6b555}}.account{display:flex;align-items:center;gap:12px;color:#9ab3c4;font-size:11px}.account button{color:#b7d1df;border:1px solid #23465b;background:#0a1d2b;border-radius:8px;padding:7px 10px;cursor:pointer;font:inherit}.account button:hover{border-color:var(--mint);color:var(--mint)}
.hero-row{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(35px,5vw,68px) 0 clamp(21px,3vw,38px);position:relative}.hero-row h1{font-size:clamp(30px,4.1vw,58px);line-height:1.12;letter-spacing:-.045em;margin:0}.accent{background:linear-gradient(100deg,#4dddfa,#29e5cd 60%,#65f0bc);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-row p{font-size:clamp(13px,1.1vw,15px);margin:12px 0 0}.muted{color:var(--muted)}.hero-side{display:flex;align-items:center;gap:12px;border:1px solid #1b4054;border-radius:14px;background:#071a29c9;padding:11px 15px;min-width:max-content}.hero-side strong,.hero-side small{display:block}.hero-side strong{font-size:12px}.hero-side small{font-size:10px;color:var(--muted);margin-top:4px}.hero-orbit{display:block;position:relative;width:38px;height:38px;border:1px solid #26d6d8;border-radius:50%;box-shadow:inset 0 0 10px #28d7d833,0 0 14px #28d7d822}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;inset:6px;border:1px solid #26d6d8;border-radius:50%;transform:rotate(45deg) scaleX(.4)}.hero-orbit:after{transform:rotate(-45deg) scaleX(.4)}.hero-orbit i{position:absolute;width:4px;height:4px;background:#54f2dc;border-radius:50%;box-shadow:0 0 9px #54f2dc}.hero-orbit i:nth-child(1){top:2px;left:16px}.hero-orbit i:nth-child(2){right:2px;top:17px}.hero-orbit i:nth-child(3){bottom:2px;left:16px}
.panel{background:linear-gradient(145deg,#0b2030f2,#071827f2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 65px #0003,inset 0 1px #b6f3ff08;position:relative;overflow:hidden}.input-panel{padding:clamp(18px,2.4vw,32px);box-shadow:0 22px 60px #0003,0 0 32px #00cbce0a}.input-panel:after{position:absolute;top:0;left:8%;right:8%;height:1px;content:"";background:linear-gradient(90deg,transparent,#29e3d7aa,transparent)}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-index{color:#6db6ca;font:10px "DM Mono",monospace;letter-spacing:.14em}.panel-heading h2,.results-heading h2,.admin-title h2{margin:6px 0 19px;font-size:clamp(17px,1.65vw,22px);letter-spacing:-.025em}.protocol-tag{border:1px solid #1c6570;background:#0b2c39;color:#52e5d6;padding:6px 10px;border-radius:20px;font:10px "DM Mono",monospace;letter-spacing:.12em}.input-panel textarea{width:100%;min-height:clamp(100px,12vh,145px);resize:vertical;border:1px solid #1c455d;border-radius:12px;background:#061522;color:var(--text);padding:15px 16px;outline:none;font:13px/1.75 "DM Mono","Noto Sans SC",monospace;transition:border .2s,box-shadow .2s}.input-panel textarea:focus,.admin-form input:focus,.stack input:focus,.inline-password input:focus{border-color:#37dfcc;box-shadow:0 0 0 3px #25e5d01a}.input-panel textarea::placeholder{color:#57788d}.input-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:13px}.input-footer>span{display:flex;align-items:center;gap:9px;color:#8cabbc;font-size:11px}.hint-dot{width:6px;height:6px;flex:none}.action-row{display:flex;gap:9px}.button{border-radius:10px;border:1px solid transparent;padding:11px 16px;font-size:12px;font-family:inherit;font-weight:700;cursor:pointer;transition:transform .15s,background .18s,border-color .18s,box-shadow .18s}.button:active{transform:translateY(1px)}.button.primary{color:#042021;background:linear-gradient(105deg,#31e5cf,#37cdee);box-shadow:0 6px 22px #22dccc26}.button.primary:hover{box-shadow:0 7px 25px #22dccc55;filter:brightness(1.07)}.button.primary:disabled{opacity:.62;cursor:wait}.button.loading .button-icon{display:inline-block;animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.button.ghost{color:#a6c0ce;background:#0e2535;border-color:#23465b}.button.ghost:hover{border-color:#39809a;color:#e6f7ff}.button-icon{display:inline-block;margin-right:6px}.form-message{min-height:16px;margin:8px 0 0;color:var(--bad);font-size:11px}
.results-section{margin-top:clamp(30px,4vw,52px)}.results-heading{display:flex;justify-content:space-between;align-items:end;gap:16px}.results-title-line{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:clamp(8px,1.2vw,15px)}.results-heading h2{margin-bottom:15px}.results-note{margin:0 0 15px;color:var(--muted);font-size:clamp(10px,.88vw,12px);line-height:1.55}.result-key{display:flex;gap:14px;padding-bottom:18px;color:#89a7b8;font-size:10px}.result-key span{display:flex;align-items:center;gap:6px}.result-key i{width:7px;height:7px;border-radius:50%;display:block}.key-ok{background:var(--good);box-shadow:0 0 8px #42e6b5}.key-fail{background:var(--bad)}.key-idle{background:#628398}.result-banner{display:flex;align-items:center;gap:14px;border:1px solid #1b455a;border-radius:13px;padding:14px 17px;margin-bottom:13px;background:linear-gradient(100deg,#0a2434,#091c2a);transition:border-color .2s,background .2s}.result-banner.usable{border-color:#22785f;background:linear-gradient(100deg,#0c3029,#0a202b)}.result-banner.failed{border-color:#744354;background:linear-gradient(100deg,#301925,#0a1b29)}.result-banner.checking{border-color:#247180}.banner-mark{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;border:1px solid #2a6070;color:#6be7db;font-size:20px}.usable .banner-mark{color:var(--good);border-color:#2d936e}.failed .banner-mark{color:var(--bad);border-color:#8a5060}.checking .banner-mark{animation:spin 1.2s linear infinite}.result-banner strong{font-size:14px}.result-banner p{margin:3px 0 0;color:#91acbc;font-size:11px}.pass-count{margin-left:auto;color:#b5d5e2;font:12px "DM Mono",monospace;white-space:nowrap}.exit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.5vw,18px)}.exit-card{border:1px solid #18455a;border-radius:14px;background:linear-gradient(152deg,#0a2030,#071725);padding:clamp(14px,1.6vw,20px);min-width:0;position:relative;overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s}.exit-card:before{position:absolute;content:"";height:1px;top:0;left:12%;right:12%;background:linear-gradient(90deg,transparent,#2cbbd688,transparent)}.exit-card:hover{transform:translateY(-2px);border-color:#2d8091;box-shadow:0 12px 32px #0003}.exit-card.has-pass{border-color:#24856d;box-shadow:0 0 24px #28d8aa12}.exit-card.has-fail{border-color:#714052}.exit-card.is-checking:after{content:"";position:absolute;top:0;bottom:0;left:-45%;width:26%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,#31e5cf13,transparent);animation:scan 2.7s linear infinite;pointer-events:none}@keyframes scan{to{left:130%}}.exit-card-head{display:flex;align-items:center;gap:10px;min-height:45px}.route-icon{width:37px;height:37px;display:grid;place-items:center;flex:none;border:1px solid #226171;border-radius:50%;color:#53e2d6;font-size:20px;box-shadow:inset 0 0 12px #19d4ce16}.route-title{min-width:0;flex:1}.route-title h3{margin:0;overflow-wrap:anywhere;font-size:15px}.route-title small{display:block;margin-top:4px;color:#7696a9;font:10px "DM Mono","Noto Sans SC",monospace}.route-state{border-radius:16px;padding:5px 8px;font-size:9px;white-space:nowrap;background:#102837;color:#87a9ba}.route-state.ready{color:#55e3ba;background:#0d342d;border:1px solid #1d725d}.route-state.pending{color:#63e4ed;background:#0b2e3a;border:1px solid #1d6474}.route-state.idle{color:#8ba7b6}.attempt-list{margin-top:17px;border-top:1px solid #16384a}.attempt-row{display:grid;grid-template-columns:minmax(68px,.85fr) minmax(104px,1.1fr) auto;align-items:center;gap:6px;min-height:39px;border-bottom:1px solid #143347;font-size:10px}.attempt-row>span:first-child{color:#a1b8c7}.attempt-outcome{display:flex;align-items:center;gap:6px;min-width:0}.attempt-outcome i{font-style:normal;font-size:13px;font-weight:700}.attempt-row small{color:#8eabbc;text-align:right;font:9px "DM Mono",monospace;white-space:nowrap}.attempt-row.ok .attempt-outcome{color:var(--good)}.attempt-row.fail .attempt-outcome{color:#ff8495}.attempt-row.neutral .attempt-outcome{color:#829eb0}.exit-card-foot{display:flex;align-items:center;gap:8px;padding-top:13px;color:#83a4b4;font-size:9px}.exit-card-foot span:last-child{margin-left:auto}.foot-dot{width:6px;height:6px;border-radius:50%;background:#547487}.foot-dot.on{background:var(--good);box-shadow:0 0 8px var(--good)}
.admin-section{margin-top:clamp(42px,6vw,76px)}.admin-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.admin-title h2{margin-bottom:0}.admin-pill{color:#08322d;background:#5de3c5;border-radius:20px;padding:6px 10px;font-size:10px}.admin-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.7fr);gap:15px;align-items:start}.admin-card{padding:clamp(16px,2vw,23px)}.admin-card h3{margin:0;font-size:16px}.admin-card .panel-heading{margin-bottom:17px;align-items:flex-start}.admin-card .panel-heading p{font-size:10px;margin:6px 0 0;line-height:1.55}.admin-symbol{display:grid;place-items:center;width:31px;height:31px;border:1px solid #226070;border-radius:50%;color:#57e1d7;font-size:18px}.admin-form{display:grid;gap:10px}.admin-form label,.stack label{display:grid;gap:6px;color:#a9c1cf;font-size:10px}.admin-form input,.stack input{width:100%;min-width:0;border:1px solid #24485e;border-radius:8px;background:#061724;color:var(--text);padding:10px 11px;outline:none;font-size:12px}.managed-list,.exit-admin-list{display:grid;gap:10px;margin-top:16px}.managed-item{border-top:1px solid #1b394b;padding-top:11px}.managed-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.managed-top strong{font-size:11px;overflow-wrap:anywhere}.managed-top small{display:block;color:#819eb0;font-size:9px;margin-top:4px}.small-button{border:1px solid #294e62;border-radius:7px;background:#0e2737;color:#b8ced8;font-size:10px;padding:7px 9px;cursor:pointer;white-space:nowrap}.small-button:hover:not(:disabled){border-color:#4ad9c8;color:var(--mint)}.small-button:disabled{opacity:.4;cursor:default}.inline-password{display:flex;gap:6px;margin-top:9px}.inline-password input{min-width:0;flex:1;border:1px solid #24485e;border-radius:7px;background:#061724;color:var(--text);padding:8px;font-size:10px;outline:none}.slot-form{display:grid;gap:10px;padding:13px;border:1px solid #184157;border-radius:11px;background:#081a28}.slot-form-title{display:flex;align-items:center;gap:10px;margin-bottom:1px}.slot-number{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#0c3340;border:1px solid #1b6873;color:#58e6d8;font:12px "DM Mono",monospace}.slot-form-title strong,.slot-form-title small{display:block}.slot-form-title strong{font-size:11px}.slot-form-title small{margin-top:3px;color:#82a2b4;font-size:9px}.form-pair{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(76px,.6fr);gap:8px}.saved-note{color:#7897a9;font-size:9px;line-height:1.5}.slot-checks{display:flex;flex-wrap:wrap;gap:12px}.check-row{display:flex!important;align-items:center;gap:6px!important;font-size:9px!important}.check-row input{accent-color:var(--mint);width:13px;height:13px;margin:0}.slot-actions{display:flex;justify-content:space-between;gap:8px}.slot-actions .button{padding:8px 12px;font-size:10px}
.login-wrap{min-height:calc(100dvh - 160px);display:grid;place-items:center}.login-card{width:min(100%,420px);padding:clamp(24px,4vw,38px);text-align:left}.login-orbit{display:grid;place-items:center;width:56px;height:56px;border:1px solid #2799aa;border-radius:50%;margin-bottom:22px;color:var(--mint);font:15px "DM Mono",monospace;box-shadow:0 0 25px #27d9d426,inset 0 0 18px #27d9d41a}.login-card h1{font-size:25px;margin:0}.login-card>p{font-size:12px}.stack{display:grid;gap:14px;margin-top:23px}.stack input{padding:12px}.stack .button{margin-top:3px}footer{display:flex;justify-content:space-between;gap:12px;color:#567589;border-top:1px solid #163347;margin:clamp(40px,6vw,76px) 0 0;padding:15px 0 22px;font:9px "DM Mono","Noto Sans SC",monospace;letter-spacing:.04em}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,18px);opacity:0;pointer-events:none;background:#102b3d;border:1px solid #34708a;border-radius:10px;padding:11px 15px;color:#e9f7fb;font-size:12px;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px);z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:880px){.admin-grid{grid-template-columns:1fr}.exits-admin{grid-column:auto}.exit-admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}.exit-card{padding:14px}.attempt-row{grid-template-columns:minmax(66px,.8fr) minmax(96px,1fr) auto}}
@media(max-width:660px){.shell{width:calc(100% - 30px)}.topbar{height:66px}.brand{font-size:17px;gap:9px}.brand-mark{width:30px;height:30px}.top-status{display:none}.account{font-size:10px;gap:7px}.account button{padding:6px 8px}.hero-row{display:block;padding:34px 0 20px}.hero-side{margin-top:17px;width:max-content;max-width:100%}.hero-row h1{font-size:clamp(29px,8vw,42px)}.input-footer{align-items:flex-start;flex-direction:column}.action-row{width:100%}.action-row .button{flex:1}.results-heading{align-items:flex-start;flex-direction:column;gap:0}.result-key{padding:0 0 12px}.exit-grid{grid-template-columns:1fr}.exit-card{padding:15px 16px}.exit-card-foot{font-size:10px}.exit-admin-list{grid-template-columns:1fr}.admin-section{margin-top:43px}.admin-grid{gap:12px}.admin-card{padding:17px}.result-banner{padding:12px;gap:10px}.result-banner p{font-size:10px}.pass-count{font-size:10px}footer{font-size:8px}}
@media(max-width:390px){.shell{width:calc(100% - 24px)}.account span{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-pair{grid-template-columns:minmax(0,1.3fr) minmax(72px,.7fr)}.attempt-row{grid-template-columns:minmax(66px,.75fr) minmax(94px,1fr) auto;gap:4px}.attempt-row{font-size:9px}.attempt-row small{font-size:8px}.result-key{gap:10px}.result-key span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.exit-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.empty-exits{grid-column:1/-1;border:1px dashed #245065;border-radius:13px;padding:24px;color:#89a8b9;text-align:center;background:#081a27}
.node-add-form{padding:13px;border:1px solid #184157;border-radius:11px;background:#081a28}
.node-add-form label,.slot-form label{display:grid;gap:6px;color:#a9c1cf;font-size:10px}
.node-add-form input:not([type=checkbox]),.slot-form input:not([type=checkbox]){width:100%;min-width:0;border:1px solid #24485e;border-radius:8px;background:#061724;color:var(--text);padding:10px 11px;outline:none;font-size:12px}
.node-add-actions{display:flex;align-items:center;gap:12px;margin-top:10px}
.node-add-actions .button{margin-left:auto}
.node-add-form .check-row{display:flex}
.node-add-form .check-row input,.slot-form .check-row input{accent-color:var(--mint);width:13px;height:13px;padding:0;margin:0}

/* Motion layer: restrained network traffic keeps the controls readable. */
.network-field{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.62;mask-image:linear-gradient(180deg,#000 0%,#0009 54%,transparent 100%)}
.energy-scan{position:fixed;z-index:0;top:-24vh;left:0;width:100%;height:clamp(100px,20vh,220px);pointer-events:none;opacity:.2;background:linear-gradient(180deg,transparent,rgba(22,205,226,.2) 48%,rgba(47,235,218,.08) 58%,transparent);filter:blur(1px);animation:energy-sweep 18s linear infinite}
.shell{position:relative;z-index:1}
.cooldown-note{margin:9px 0 0;color:#7899aa;font:10px/1.5 "DM Mono","Noto Sans SC",monospace;letter-spacing:.025em;transition:color .2s}.cooldown-note.active{color:#62e6d0}
@keyframes energy-sweep{to{transform:translateY(150vh)}}
.hero-row>*{position:relative;z-index:1}
.hero-row:before{position:absolute;z-index:0;inset:0 0 0 38%;content:"";pointer-events:none;opacity:.32;background-image:radial-gradient(circle,#49e8ed 0 1px,transparent 1.8px),linear-gradient(26deg,transparent 48%,#27b8d427 49%,transparent 50%),linear-gradient(-22deg,transparent 63%,#27b8d421 64%,transparent 65%);background-size:32px 32px,100% 100%,100% 100%;mask-image:radial-gradient(ellipse at 72% 48%,#000 0,transparent 72%);animation:constellation-drift 28s linear infinite}
.hero-row:after{position:absolute;z-index:0;right:4%;top:50%;width:clamp(150px,27vw,370px);height:clamp(84px,13vw,170px);content:"";pointer-events:none;border:1px solid #41d9e127;border-radius:50%;transform:translateY(-50%) rotate(-15deg);box-shadow:0 0 30px #20c6df0d,inset 0 0 24px #20c6df0d;animation:orbit-halo 7s ease-in-out infinite}
@keyframes constellation-drift{to{background-position:32px 32px,0 0,0 0}}
@keyframes orbit-halo{50%{opacity:.45;box-shadow:0 0 44px #20c6df21,inset 0 0 30px #20c6df18}}
.brand{position:relative;isolation:isolate;letter-spacing:.03em}
.brand>span:last-child{font-size:clamp(17px,1.5vw,20px);letter-spacing:.12em}
.brand b{color:#47e1e3;text-shadow:0 0 18px #26d6d855}
.brand-mark:before{position:absolute;inset:-4px;content:"";border:1px solid #35d8e55c;border-left-color:transparent;border-radius:50%;animation:orbit-spin 8s linear infinite}
.brand-mark:after{position:absolute;inset:-7px;content:"";border:1px dashed #3884b344;border-radius:50%;animation:orbit-spin 15s linear infinite reverse}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
.hero-row h1 .accent{background-size:220% 100%;animation:aurora-text 6s ease-in-out infinite}
@keyframes aurora-text{0%,100%{background-position:0% 50%;filter:drop-shadow(0 0 0 #30e4d000)}50%{background-position:100% 50%;filter:drop-shadow(0 0 15px #30e4d044)}}
.hero-side{position:relative;overflow:hidden;box-shadow:0 0 0 1px #27d6d811,inset 0 0 24px #20bacc0c;animation:status-breathe 5s ease-in-out infinite}
.hero-side:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(110deg,transparent 18%,#40f2dd13 48%,transparent 78%);transform:translateX(-120%);animation:signal-glide 7s ease-in-out infinite}
.hero-orbit{animation:orbit-spin 18s linear infinite}
.hero-orbit i{animation:beacon-pulse 2.5s ease-in-out infinite}
.hero-orbit i:nth-child(2){animation-delay:.8s}.hero-orbit i:nth-child(3){animation-delay:1.6s}
@keyframes beacon-pulse{0%,100%{opacity:.55;transform:scale(.8);box-shadow:0 0 5px #54f2dc}50%{opacity:1;transform:scale(1.65);box-shadow:0 0 13px #54f2dc}}
@keyframes status-breathe{0%,100%{box-shadow:0 0 0 1px #27d6d811,inset 0 0 24px #20bacc0c}50%{box-shadow:0 0 20px #20cfce22,inset 0 0 28px #20bacc18}}
@keyframes signal-glide{0%,25%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
.input-panel:before{position:absolute;z-index:0;top:0;bottom:0;left:-40%;width:28%;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,#33dbe20c,transparent);transform:skewX(-12deg);animation:panel-scan 11s ease-in-out infinite}
.input-panel>*{position:relative;z-index:1}
@keyframes panel-scan{0%,22%{left:-40%}76%,100%{left:120%}}
.button.primary:not(:disabled){background-size:200% 100%;animation:button-charge 6s ease-in-out infinite}
.button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 25px #22dccc55,0 0 55px #167de522}
@keyframes button-charge{0%,100%{background-position:0% 50%;box-shadow:0 6px 22px #22dccc26}50%{background-position:100% 50%;box-shadow:0 6px 28px #22dccc42}}
.result-banner.checking{background-size:200% 100%;animation:banner-flow 2.4s linear infinite}
@keyframes banner-flow{to{background-position:200% 50%}}
.result-banner.usable{animation:success-glow 3.4s ease-in-out infinite}
@keyframes success-glow{50%{box-shadow:0 0 24px #22d99d20}}
.exit-card{transform:translateZ(0)}
.exit-card:after{position:absolute;inset:-40% auto -40% -35%;width:26%;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,#5ce9e509,transparent);transform:skewX(-18deg) translateX(-170%)}
.exit-card:hover:after{transform:skewX(-18deg) translateX(620%);transition:transform .9s ease}
.exit-card.is-checking{border-color:#2c94a6;box-shadow:0 0 26px #24d0dc20;animation:route-checking 2s ease-in-out infinite}
.exit-card.is-checking .route-icon{animation:orbit-spin 3s linear infinite}
.exit-card.is-checking .route-state{animation:beacon-pulse 1.6s ease-in-out infinite}
@keyframes route-checking{50%{box-shadow:0 0 34px #24d0dc33,inset 0 0 22px #24d0dc0b}}
.exit-card.has-pass{box-shadow:0 0 20px #28d59f16}
.exit-card.has-fail{box-shadow:0 0 18px #ff718c0d}
.admin-pill{box-shadow:0 0 17px #25e5d033;animation:status-breathe 4s ease-in-out infinite}
footer span:first-child{color:#73cbd5;letter-spacing:.1em}
@media(max-width:660px){.network-field{opacity:.48}.energy-scan{opacity:.18;height:13vh}.brand>span:last-child{font-size:17px}.hero-side{animation-duration:7s}.hero-row:before{inset:0 0 0 23%;opacity:.22}.hero-row:after{right:1%;top:32%;width:45vw;height:21vw;opacity:.55}}
@media(prefers-reduced-motion:reduce){.network-field{opacity:.18}.energy-scan{display:none}.brand-mark:before,.brand-mark:after,.hero-row:before,.hero-row:after,.hero-row h1 .accent,.hero-side,.hero-side:after,.hero-orbit,.hero-orbit i,.input-panel:before,.button.primary:not(:disabled),.result-banner.checking,.result-banner.usable,.exit-card.is-checking,.exit-card.is-checking .route-icon,.exit-card.is-checking .route-state,.admin-pill{animation:none!important}.exit-card:hover:after{transition:none}}

/* Second motion pass: layered aurora and signal rails add depth without covering controls. */
.aurora-field{position:fixed;inset:-12vh -12vw;z-index:0;overflow:hidden;pointer-events:none;opacity:.76;filter:saturate(1.25);mask-image:linear-gradient(180deg,#000 0%,#000c 54%,transparent 100%)}
.aurora-field i{position:absolute;display:block;width:clamp(260px,48vw,760px);aspect-ratio:1;border-radius:50%;filter:blur(clamp(55px,9vw,130px));mix-blend-mode:screen;opacity:.18;will-change:transform}
.aurora-field i:nth-child(1){left:-12%;top:5%;background:radial-gradient(circle,#09d9da 0%,#0b92dc55 36%,transparent 70%);animation:aurora-float-a 21s ease-in-out infinite alternate}
.aurora-field i:nth-child(2){right:-10%;top:26%;width:clamp(240px,39vw,600px);background:radial-gradient(circle,#2867ff 0%,#18d6e755 42%,transparent 72%);animation:aurora-float-b 26s ease-in-out infinite alternate}
.aurora-field i:nth-child(3){left:34%;bottom:-50%;width:clamp(270px,42vw,650px);background:radial-gradient(circle,#18e4b755 0%,#075a9e44 42%,transparent 73%);animation:aurora-float-c 24s ease-in-out infinite alternate}
@keyframes aurora-float-a{to{transform:translate(13vw,10vh) scale(1.24);opacity:.3}}
@keyframes aurora-float-b{to{transform:translate(-12vw,15vh) scale(.83);opacity:.28}}
@keyframes aurora-float-c{to{transform:translate(6vw,-15vh) scale(1.18);opacity:.26}}
.signal-rails{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:.19;background:repeating-linear-gradient(180deg,transparent 0 71px,#1e89a00a 72px,#4ad7e311 73px,transparent 74px);background-size:100% 148px;animation:rail-flow 18s linear infinite;mask-image:linear-gradient(180deg,#000,transparent 94%)}
.signal-rails:before,.signal-rails:after{position:absolute;top:-45%;bottom:-45%;width:2px;content:"";opacity:.45;background:linear-gradient(180deg,transparent,#34d9e900 35%,#37d9efaa 50%,#30e9d500 64%,transparent);filter:drop-shadow(0 0 7px #21cde9);animation:rail-beam 9s linear infinite}
.signal-rails:before{left:12%}.signal-rails:after{right:17%;animation-delay:-4.5s;animation-duration:12s}
@keyframes rail-flow{to{background-position:0 148px}}
@keyframes rail-beam{0%{transform:translateY(-30%);opacity:0}16%,80%{opacity:.55}100%{transform:translateY(70%);opacity:0}}
body:after{position:fixed;inset:0;z-index:0;content:"";pointer-events:none;opacity:.13;background:repeating-linear-gradient(180deg,transparent 0 4px,#62d9e808 5px,transparent 6px);background-size:100% 9px;mask-image:linear-gradient(180deg,#000,transparent 90%);animation:scan-texture 16s linear infinite}
@keyframes scan-texture{to{background-position:0 90px}}
.ambient{z-index:0;opacity:.13;filter:blur(88px)}
.topbar{position:relative}
.topbar:after{position:absolute;left:-22%;bottom:-1px;width:28%;height:1px;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,#48f2e9,#59bdff,transparent);box-shadow:0 0 12px #35dbe088;animation:header-signal 8s ease-in-out infinite}
@keyframes header-signal{0%,12%{transform:translateX(0);opacity:0}25%,75%{opacity:1}88%,100%{transform:translateX(520%);opacity:0}}
.input-panel:after{background-size:220% 100%;animation:panel-edge-flow 5.5s linear infinite}
@keyframes panel-edge-flow{to{background-position:220% 0}}
.admin-card{isolation:isolate}
.admin-card:before{position:absolute;z-index:-1;top:0;bottom:0;left:-45%;width:35%;content:"";pointer-events:none;background:linear-gradient(100deg,transparent,#3ce4dd0b,#4c9afa12,transparent);transform:skewX(-16deg);animation:admin-card-sweep 14s ease-in-out infinite}
.exits-admin:before{animation-delay:-6s}
@keyframes admin-card-sweep{0%,22%{left:-45%}78%,100%{left:120%}}
.result-key i{animation:legend-ping 2.4s ease-in-out infinite}
.result-key span:nth-child(2) i{animation-delay:.8s}.result-key span:nth-child(3) i{animation-delay:1.6s}
@keyframes legend-ping{0%,100%{filter:brightness(.8);box-shadow:0 0 0 transparent}50%{filter:brightness(1.45);box-shadow:0 0 10px currentColor}}
.route-icon{position:relative;animation:route-beacon 3.8s ease-in-out infinite}
.route-icon:after{position:absolute;inset:-5px;content:"";border:1px solid #41ded34a;border-radius:50%;transform:scale(.78);opacity:0;animation:route-ripple 3.8s ease-out infinite}
@keyframes route-beacon{50%{box-shadow:inset 0 0 14px #19d4ce25,0 0 14px #19d4ce20}}
@keyframes route-ripple{0%{transform:scale(.78);opacity:.6}80%,100%{transform:scale(1.55);opacity:0}}
@media(max-width:660px){.aurora-field{opacity:.62}.aurora-field i{filter:blur(64px);opacity:.16}.signal-rails{opacity:.13}.signal-rails:before{left:5%}.signal-rails:after{right:7%}body:after{opacity:.09}.topbar:after{width:38%}.route-icon{animation-duration:4.8s}}
@media(prefers-reduced-motion:reduce){.aurora-field,.signal-rails{opacity:.1;animation:none}.aurora-field i,.signal-rails:before,.signal-rails:after,body:after,.topbar:after,.input-panel:after,.admin-card:before,.result-key i,.route-icon,.route-icon:after{animation:none!important}.signal-rails{display:none}}
