:root{--bg:#06142d;--bg2:#091b3a;--panel:rgba(8,27,58,.72);--ink:#f4f8ff;--muted:#8193b3;--line:rgba(120,164,230,.16);--blue:#3f82ff;--cyan:#43d9ff;--green:#42e596;--orange:#ffad55;--purple:#aa76ff;--navw:176px;--top:90px}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#020713;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{overflow:hidden}
button,a{font:inherit;color:inherit}
.app-shell{position:relative;width:100%;height:100vh;height:100dvh;margin:0;overflow:hidden}
#networkCanvas,.ambient-grid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ambient-grid{opacity:.22;background-image:linear-gradient(rgba(100,151,230,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(100,151,230,.07) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 88%)}
.boot{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#020713;transition:opacity .7s ease,visibility .7s}
.boot.is-done{opacity:0;visibility:hidden}
.boot-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(70,126,220,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(70,126,220,.08) 1px,transparent 1px);background-size:42px 42px}
.boot-mark{position:relative;width:min(250px,48vw);height:min(340px,64vw);overflow:hidden;filter:drop-shadow(0 0 32px rgba(63,130,255,.35))}
.boot-mark:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#020713 0 0);animation:weaveReveal 2.15s cubic-bezier(.68,0,.25,1) forwards}
.boot-mark img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}
.boot p{position:absolute;bottom:10%;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.34em;color:#7792bd}
.kicker{margin:0;color:var(--cyan);font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.24em}
.kicker span{display:inline-block;width:24px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}
em{font-style:normal;color:var(--blue)}
button{border:0}
.status{display:inline-flex;align-items:center;gap:8px;font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em}
.status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 14px currentColor}
.status-live{color:var(--green)}
.status-prototype{color:var(--orange)}
.status-hardware{color:var(--blue)}
