:root{color:#f5f7fb;font-synthesis:none;background:#101820;font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body{background:#101820;min-height:100%;margin:0;overflow:auto}body.camera-on{height:100%;overflow:hidden}button,a{font:inherit}:focus-visible{outline-offset:3px;outline:2px solid #7eb6ff}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#camera{object-fit:cover;background:#0c1218;width:100%;height:100%;position:fixed;inset:0}#gate{z-index:5;padding:max(24px, env(safe-area-inset-top)) 28px 8px;background:radial-gradient(circle at 20% 0,#2cb6d62e,#0000 28%),#101820;justify-items:start;gap:0;display:grid;position:relative}.dots{grid-template-columns:14px 14px;gap:6px;margin-bottom:22px;display:grid}.dots i{border-radius:50%;width:14px;height:14px;display:block}.dots i:first-child{background:#2cb6d6}.dots i:nth-child(2){background:#1d6fdb}.dots i:nth-child(3){background:#163e9a}.dots i:nth-child(4){background:#0e4e9c}.eyebrow{letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-family:IBM Plex Mono,monospace;font-size:12px}#gate h2{max-width:10ch;margin:0;font-family:Barlow Condensed,sans-serif;font-size:clamp(36px,9vw,52px);font-weight:600;line-height:.86}.lede{color:#d5deea;max-width:28ch;margin:14px 0 22px;font-size:16px;line-height:1.4}button{appearance:none;color:#fff;cursor:pointer;background:#1d6fdb;border:0;min-height:48px;padding:0 18px;font-family:Manrope,sans-serif;font-size:16px;font-weight:600}.gate-error{color:#ffb4a8;max-width:36ch;margin:14px 0 0;font-size:14px}.back{color:#f5f7fb;margin-top:22px}.hud{z-index:4;top:calc(12px + env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;left:12px;right:12px}.hud p{letter-spacing:.04em;background:#101820c7;margin:0;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:12px}#stop{pointer-events:auto;background:#101820c7;border:1px solid #ffffff59;min-height:36px;font-size:13px}.stage{z-index:2;transform-origin:50% 100%;perspective:900px;pointer-events:none;width:min(86vw,380px);position:fixed;top:0;left:0}.stage a{pointer-events:auto}.stage.is-fallback{width:min(92vw,400px);margin:8px auto 32px;position:relative;top:auto;left:auto;transform:none!important}body.camera-on .stage.is-fallback{z-index:3;width:min(90vw,360px);max-height:74vh;margin:0;position:fixed;top:46%;left:50%;overflow:auto;transform:translate(-50%,-50%)!important}.stage-card{color:#142033;background:linear-gradient(#fffffffa,#e8f4fcf0);border:1px solid #2ec4dcb3;padding:14px 14px 12px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb3,0 22px 48px #06122461,0 0 28px #1a6fd459}.sheen,.frame,.lock-ring{pointer-events:none}.sheen{z-index:3;background:linear-gradient(105deg,#0000 32%,#ffffffd9 48%,#0000 62%);position:absolute;inset:0;transform:translate(-130%)}.frame{z-index:2;opacity:0;background:linear-gradient(#2ec4dc,#2ec4dc) 0 0/16px 2px no-repeat,linear-gradient(#2ec4dc,#2ec4dc) 0 0/2px 16px no-repeat,linear-gradient(#1a6fd4,#1a6fd4) 100% 0/16px 2px no-repeat,linear-gradient(#1a6fd4,#1a6fd4) 100% 0/2px 16px no-repeat,linear-gradient(#7eb6e8,#7eb6e8) 0 100%/16px 2px no-repeat,linear-gradient(#7eb6e8,#7eb6e8) 0 100%/2px 16px no-repeat,linear-gradient(#0e4e9c,#0e4e9c) 100% 100%/16px 2px no-repeat,linear-gradient(#0e4e9c,#0e4e9c) 100% 100%/2px 16px no-repeat;position:absolute;inset:7px}.lock-ring{border:1px solid #0000;position:absolute;inset:0}.stage.is-in .stage-card{transform-origin:50% 100%;animation:.72s cubic-bezier(.16,1,.3,1) both materialize}.stage.is-lock .sheen{animation:.85s .2s both sheen}.stage.is-lock .frame{animation:.5s .28s forwards frame-in}.stage.is-lock .lock-ring{animation:.9s both lockburst}body.is-holding .scan{opacity:0}body.is-holding .grid{opacity:.45}@keyframes materialize{0%{opacity:0;filter:blur(8px);transform:translateY(40px)scale(.78)rotateX(16deg)}55%{filter:blur()}to{opacity:1;filter:none;transform:none}}@keyframes sheen{to{transform:translate(130%)}}@keyframes frame-in{0%{opacity:0;transform:scale(1.12)}to{opacity:1;transform:none}}@keyframes lockburst{0%{opacity:1;border-color:#2ec4dcf2;inset:10px;box-shadow:0 0 #2ec4dc8c}to{opacity:0;border-color:#2ec4dc00;inset:-28px;box-shadow:0 0 0 18px #2ec4dc00}}.live{z-index:1;pointer-events:none;background:radial-gradient(at 50% 46%,#0000 38%,#0612249e 100%);position:fixed;inset:0;overflow:hidden}.grid{background-image:linear-gradient(#7eb6e824 1px,#0000 1px),linear-gradient(90deg,#7eb6e824 1px,#0000 1px);background-size:32px 32px;animation:16s linear infinite grid-drift;position:absolute;inset:-64px 0 0;-webkit-mask-image:radial-gradient(at 50% 46%,#0000 30%,#000 78%);mask-image:radial-gradient(at 50% 46%,#0000 30%,#000 78%)}.scan{background:linear-gradient(#0000,#2ec4dc1a);border-bottom:1px solid #2ec4dc8c;height:28vh;animation:6s cubic-bezier(.45,0,.55,1) infinite sweep;position:absolute;top:0;left:0;right:0}.net{width:100%;height:100%;position:absolute;inset:0}.links path,.packets path{fill:none;stroke-linecap:round;stroke-linejoin:round}.links path{stroke:#7eb6e847;stroke-width:1px}.packets path{stroke:#7fe3f5;stroke-width:2px;stroke-dasharray:5 95;animation:4.5s linear infinite packet}.packets path:nth-child(2){animation-duration:5.2s;animation-delay:-1.1s}.packets path:nth-child(3){animation-duration:5.8s;animation-delay:-2.3s}.packets path:nth-child(4){animation-duration:3.4s;animation-delay:-.6s}.packets path:nth-child(5){animation-duration:4s;animation-delay:-3s}.packets path:nth-child(6){animation-duration:4.6s;animation-delay:-1.8s}.packets path:nth-child(7){animation-duration:6.2s;animation-delay:-2.7s}.nodes circle{fill:#2ec4dc}.halos circle{fill:none;stroke:#2ec4dc;stroke-width:1px;transform-box:fill-box;transform-origin:50%;animation:3.2s ease-out infinite halo}.halos circle:nth-child(2){animation-delay:-.8s}.halos circle:nth-child(3){animation-delay:-1.6s}.halos circle:nth-child(4){animation-delay:-2.4s}.launch{justify-items:center;width:16px;animation:9s cubic-bezier(.5,0,.9,.6) infinite launch;display:grid;position:absolute;bottom:0}.launch svg{width:16px;height:27px}.launch path{fill:#e8f4ff}.launch circle{fill:#1a6fd4}.launch i{background:linear-gradient(#2ec4dcf2,#1a6fd400);width:2px;height:140px}.l1{left:9%}.l2{animation-duration:10s;animation-delay:-4.5s;right:9%}.corner{border:0 solid #7eb6e8bf;width:26px;height:26px;position:absolute}.tl{top:calc(64px + env(safe-area-inset-top));border-top-width:2px;border-left-width:2px;left:16px}.tr{top:calc(64px + env(safe-area-inset-top));border-top-width:2px;border-right-width:2px;right:16px}.bl{bottom:calc(40px + env(safe-area-inset-bottom));border-bottom-width:2px;border-left-width:2px;left:16px}.br{bottom:calc(40px + env(safe-area-inset-bottom));border-bottom-width:2px;border-right-width:2px;right:16px}.readout{left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));color:#d5deead9;letter-spacing:.18em;text-align:center;text-transform:uppercase;margin:0;font-family:IBM Plex Mono,monospace;font-size:10px;position:absolute}.readout b{color:#2ec4dc;margin:0 8px;font-weight:500}.readout b:before{content:"";vertical-align:1px;background:#2ec4dc;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:1.6s ease-in-out infinite blink;display:inline-block}@keyframes grid-drift{to{transform:translateY(32px)}}@keyframes sweep{0%{opacity:0;transform:translateY(-28vh)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translateY(100vh)}}@keyframes packet{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes halo{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(5)}}@keyframes launch{0%{opacity:0;transform:translateY(30vh)}10%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(-110vh)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.stage-card header{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand-live{flex:none;display:block}.stage-card .brand-live img{object-fit:contain;background:#fff;width:auto;max-width:none;height:48px}.stage.is-in .stage-card li{animation:.6s both arrive}.stage.is-in .stage-card li:first-child{animation-delay:.32s}.stage.is-in .stage-card li:nth-child(2){animation-delay:.44s}.stage.is-in .stage-card li:nth-child(3){animation-delay:.56s}.stage.is-in .stage-card li:nth-child(4){animation-delay:.68s}@keyframes arrive{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.stage-card img{object-fit:contain;width:auto;max-width:58%;height:40px;display:block}.stage-card .marks{flex:none;align-items:center;gap:6px;display:flex}.stage-card .marks img{max-width:none;height:36px}.stage-card .techno-mark{background:#102033}.stage-card p{margin:10px 0 12px;font-size:15px;font-weight:600;line-height:1.3}.stage-card ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.stage-card li{background:#fff;gap:2px;padding:8px 10px 9px;display:grid}.stage-card li:first-child{border-top:3px solid #2ec4dc}.stage-card li:nth-child(2){border-top:3px solid #1a6fd4}.stage-card li:nth-child(3){border-top:3px solid #7eb6e8}.stage-card li:nth-child(4){border-top:3px solid #0e4e9c}.stage-card .industries{color:#5d6d7c;margin:10px 0 0;font-size:12px;font-weight:500;line-height:1.35}.stage-card strong{font-size:13px}.stage-card li span{font-size:13px;line-height:1.35}.stage-card footer{justify-content:space-between;gap:10px;margin-top:10px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.stage-card a{color:#163e9a}.stage-card .play{color:#fff;background:#1a6fd4;justify-content:center;align-items:center;min-height:44px;margin-top:10px;font-size:15px;font-weight:700;text-decoration:none;animation:1.8s ease-in-out infinite glow;display:flex}@keyframes glow{0%,to{box-shadow:0 0 #1a6fd480}70%{box-shadow:0 0 0 10px #1a6fd400}}#previewNote{color:#142033;text-align:center;width:min(92vw,420px);margin:0 auto 40px;font-family:IBM Plex Mono,monospace;font-size:12px}[hidden]{display:none!important}body.is-preview{background:#c5d0dc;height:auto;min-height:100%;overflow:auto}body.is-preview #camera{display:none}.stage.is-preview{width:min(92vw,420px);margin:10vh auto 18px;position:relative;transform:none!important}@media (prefers-reduced-motion:reduce){.stage.is-in .stage-card,.stage.is-in .stage-card li,.stage.is-lock .sheen,.stage.is-lock .frame,.stage.is-lock .lock-ring,.grid,.scan,.packets path,.halos circle,.launch,.readout b:before,.stage-card .play{animation:none}.scan,.launch,.packets{visibility:hidden}.stage.is-lock .frame{opacity:1}}
