:root{--navy: #1b2170;--navy-deep: #0e1230;--paper: #f6f7fb;--mist: #e7ebf6;--solder: #f5a524;--periwinkle: #9faaff;--surface: #f6f7fb;--raised: #ffffff;--sunken: #e7ebf6;--hairline: #d5daea;--border-strong: #7c84a8;--ink: #14183a;--ink-muted: #4a5073;--brand: #1b2170;--action: #1b2170;--on-action: #ffffff;--accent-text: #8a5200;--success: #0b7a62;--danger: #b3360b;--focus: #1b2170;--wire-power: #c62a2a;--wire-ground: #14183a;--wire-signal: #c77700;--wire-data: #2f6bff;--is-color-brand-primary: #1b2170;--is-color-brand-primary-hover: #141857;--is-color-brand-primary-on-dark: #9faaff;--is-color-text-brand: var(--brand);--is-color-brand-volt: #f5a524;--is-color-brand-volt-hover: #dc8e12;--is-color-brand-secondary: #0b7a62;--is-color-brand-secondary-hover: #085e4b;--is-color-brand-accent: #f5a524;--is-color-brand-electric: #2f6bff;--is-color-success: #0b7a62;--is-color-warning: #c77700;--is-color-danger: #b3360b;--is-color-info: #1b2170;--is-color-circuit-board: #0e1230;--is-color-circuit-wire-red: var(--wire-power);--is-color-circuit-wire-black: var(--wire-ground);--is-color-circuit-wire-blue: var(--wire-data);--is-color-circuit-wire-yellow: var(--wire-signal);--is-color-circuit-snap: #0b7a62;--is-color-bg-canvas: #0e1230;--is-color-bg-surface: #f6f7fb;--is-color-bg-subtle: #e7ebf6;--is-color-bg-card: #ffffff;--is-color-border-subtle: #d5daea;--is-color-border-strong: #7c84a8;--is-color-text-main: #14183a;--is-color-text-muted: #4a5073;--is-color-text-inverse: #ffffff;--font-display: "Sora", system-ui, -apple-system, sans-serif;--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--is-font-family-display: var(--font-display);--is-font-family-body: var(--font-sans);--is-font-family-code: var(--font-mono);--is-font-size-xs: .75rem;--is-font-size-sm: .875rem;--is-font-size-base: 1rem;--is-font-size-lg: 1.125rem;--is-font-size-xl: 1.25rem;--is-font-size-2xl: 1.5rem;--is-font-size-3xl: 1.875rem;--is-font-size-4xl: 2.25rem;--is-font-weight-regular: 400;--is-font-weight-medium: 500;--is-font-weight-semibold: 600;--is-font-weight-bold: 700;--is-line-height-tight: 1.2;--is-line-height-normal: 1.5;--is-line-height-relaxed: 1.7;--is-space-1: .25rem;--is-space-2: .5rem;--is-space-3: .75rem;--is-space-4: 1rem;--is-space-5: 1.25rem;--is-space-6: 1.5rem;--is-space-8: 2rem;--is-space-10: 2.5rem;--is-space-12: 3rem;--is-space-16: 4rem;--is-touch-min-size: 48px;--is-radius-sm: 6px;--is-radius-md: 10px;--is-radius-lg: 16px;--is-radius-xl: 24px;--is-radius-full: 9999px;--is-shadow-card: 0 4px 16px rgba(14, 18, 48, .06), 0 0 1px rgba(27, 33, 112, .12);--is-shadow-elevated: 0 12px 32px rgba(14, 18, 48, .14), 0 0 1px rgba(27, 33, 112, .14);--is-shadow-comic: 4px 4px 0px #0e1230;--is-shadow-comic-pressed: 2px 2px 0px #0e1230;--is-transition-snappy: .15s cubic-bezier(.4, 0, .2, 1);--is-ease-out: cubic-bezier(.2, .7, .2, 1);--is-transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark],.dark-surface{--surface: #0e1230;--raised: #171c45;--sunken: #090c22;--hairline: #2a3166;--border-strong: #6670a8;--ink: #f1f3fb;--ink-muted: #a9b0d6;--brand: #9faaff;--action: #f5a524;--on-action: #0e1230;--accent-text: #f5a524;--success: #4cc9a7;--danger: #ff8a65;--focus: #f5a524;--wire-power: #ff7a7a;--wire-ground: #f1f3fb;--wire-signal: #f5a524;--wire-data: #7fa6ff;--is-color-text-brand: var(--is-color-brand-primary-on-dark)}@media(prefers-reduced-motion:reduce){:root{--is-transition-snappy: 0ms;--is-transition-spring: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:var(--is-font-family-body);background-color:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}button{font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline:3px solid var(--focus, #1b2170);outline-offset:3px}.visually-hidden{position:absolute!important;clip-path:inset(50%)!important;overflow:hidden!important;inline-size:1px!important;block-size:1px!important;white-space:nowrap!important}.stage{position:relative;color:#fff;background:radial-gradient(70% 90% at 50% 100%,rgba(94,128,255,.5),transparent 70%),linear-gradient(180deg,#1b2170,#2433a6 55%,#2c46cf);overflow:hidden}.stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.26) 1px,transparent 1.5px);background-size:22px 22px;-webkit-mask-image:radial-gradient(80% 100% at 50% 100%,#000,transparent 80%);mask-image:radial-gradient(80% 100% at 50% 100%,#000,transparent 80%);pointer-events:none}.app-page{min-height:calc(100dvh - 64px);background:var(--surface);color:var(--ink)}.page-stage{padding:var(--is-space-6) var(--is-space-4) 92px}.page-stage .stage-inner{position:relative;max-width:1200px;margin-inline:auto;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--is-space-4)}.page-stage .stage-inner h1{font-family:var(--font-display);font-size:clamp(1.6rem,3.8vw,2.4rem);line-height:1.12;letter-spacing:-.01em;text-wrap:balance;color:#fff;margin:0 0 var(--is-space-2)}.page-stage .stage-inner p{max-width:64ch;margin:0;line-height:1.55;color:#ffffffe0}.page-stage .stage-inner nav a,.page-stage .stage-inner>a,.page-stage .stage-inner>div>a{color:var(--periwinkle);font-size:var(--is-font-size-sm);transition:color var(--is-transition-snappy)}.page-stage .stage-inner nav a:hover,.page-stage .stage-inner>a:hover,.page-stage .stage-inner>div>a:hover{color:#fff}.page-sheet{position:relative;max-width:1200px;margin:-64px auto 0;padding:calc(28px + var(--is-space-4)) var(--is-space-5) var(--is-space-12);background:linear-gradient(var(--surface),var(--surface)) 0 28px/100% 100% no-repeat}.page-sheet:before{content:"";position:absolute;inset:0 0 auto;height:28px;background:var(--surface);clip-path:polygon(28px 0,calc(100% - 28px) 0,100% 100%,0 100%)}@media(max-width:1240px){.page-sheet{margin-inline:var(--is-space-3)}}@media(max-width:640px){.page-stage{padding-top:var(--is-space-5)}.page-sheet{margin-inline:var(--is-space-2);padding-inline:var(--is-space-3)}}.page-sheet :is([class*=grid],[class*=stack])>*{min-width:0}.page-sheet :has(>table){overflow-x:auto}.app-page :is(input,select,textarea).input-control,.app-page .control{background:var(--raised);transition:border-color var(--is-transition-snappy),box-shadow var(--is-transition-snappy)}.app-page :is(input,select,textarea).input-control:hover,.app-page .control:hover{border-color:var(--brand)}.app-page :is(input,select,textarea).input-control:focus,.app-page .control:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px #9faaff59}.app-page .auth-card{margin-inline:auto;border-radius:var(--is-radius-xl);box-shadow:var(--is-shadow-card)}.app-page :is(button,a[class*=btn]){transition:transform var(--is-transition-snappy),background var(--is-transition-snappy),border-color var(--is-transition-snappy),color var(--is-transition-snappy),box-shadow var(--is-transition-snappy)}.app-page :is(button,a[class*=btn]):active:not(:disabled){transform:scale(.98)}.modal-backdrop{position:fixed;inset:0;background:#0e12309e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--is-space-4);z-index:60;animation:fade-in .2s ease-out}.modal-backdrop>*{animation:modal-in .35s var(--is-ease-out)}.drawer-modal{width:100%;max-width:780px;max-height:85vh;overflow-y:auto;background:var(--raised);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--is-radius-xl);box-shadow:var(--is-shadow-elevated);padding:var(--is-space-6)}.drawer-modal h3{font-family:var(--font-display)}.confirm-btn,.secondary-btn{min-height:var(--is-touch-min-size);min-width:var(--is-touch-min-size);padding:0 var(--is-space-5);border-radius:var(--is-radius-md);font-weight:var(--is-font-weight-semibold);cursor:pointer;transition:transform var(--is-transition-snappy),background var(--is-transition-snappy),border-color var(--is-transition-snappy),box-shadow var(--is-transition-snappy)}.confirm-btn:active,.secondary-btn:active{transform:scale(.98)}.confirm-btn{background:var(--solder);color:var(--navy-deep);border:1px solid var(--solder)}.confirm-btn:hover{background:var(--is-color-brand-volt-hover);transform:translateY(-2px);box-shadow:0 10px 24px #f5a52459}.secondary-btn{background:transparent;color:var(--ink);border:1px solid var(--border-strong)}.secondary-btn:hover{border-color:var(--brand);color:var(--brand)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:var(--is-space-3);margin-bottom:var(--is-space-4)}.modal-head h2{margin:0;font-family:var(--font-display);font-size:var(--is-font-size-xl)}.modal-head .close-btn{min-height:var(--is-touch-min-size);min-width:var(--is-touch-min-size);padding:0 var(--is-space-3);border-radius:var(--is-radius-md);background:var(--sunken);color:var(--ink);border:1px solid var(--hairline);cursor:pointer;font-weight:var(--is-font-weight-semibold)}.modal-head .close-btn:hover{border-color:var(--brand);color:var(--brand)}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(18px) scale(.97)}}@keyframes enter{0%{opacity:0;transform:translateY(16px)}}.stage-inner>*{animation:enter .6s var(--is-ease-out) both}.stage-inner>*:nth-child(2){animation-delay:80ms}.stage-inner>*:nth-child(3){animation-delay:.16s}.page-sheet{animation:enter .7s var(--is-ease-out) .18s both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
