:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fpga-bg:#f4f7fb;--fpga-bg-grid:#384b690b;--fpga-surface:#fff;--fpga-surface-soft:#f8fafc;--fpga-surface-muted:#f2f5f9;--fpga-border:#dce3ec;--fpga-border-strong:#c8d2df;--fpga-border-focus:#9fb4df;--fpga-text:#172033;--fpga-text-secondary:#526179;--fpga-text-muted:#7b899f;--fpga-primary:#2457d6;--fpga-primary-hover:#1c46b2;--fpga-primary-pressed:#183a91;--fpga-primary-soft:#eef3ff;--fpga-primary-border:#c9d7fb;--fpga-cyan:#0e9fbd;--fpga-purple:#6557d9;--fpga-success:#16834d;--fpga-success-text:#12633d;--fpga-success-soft:#eef9f3;--fpga-success-border:#bfe5ce;--fpga-warning:#c87a10;--fpga-warning-text:#8a520b;--fpga-warning-soft:#fff8ec;--fpga-warning-border:#f0d6a8;--fpga-danger:#d13c3c;--fpga-danger-text:#a22b2b;--fpga-danger-soft:#fff2f2;--fpga-danger-border:#efc1c1;--fpga-info:#2575a7;--fpga-radius-sm:6px;--fpga-radius:8px;--fpga-radius-lg:11px;--fpga-shadow-sm:0 1px 2px #17203309, 0 4px 12px #17203309;--fpga-shadow-md:0 14px 38px #17203316;--fpga-mono:"SFMono-Regular", "Cascadia Code", Consolas, "Liberation Mono", monospace;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--fpga-bg)}body{background:var(--fpga-bg);min-height:100vh;color:var(--fpga-text);margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.topbar{border-bottom:1px solid var(--fpga-border);z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;height:64px;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1380px,100% - 36px);height:100%;margin:0 auto;display:flex}.brand{align-items:center;gap:11px;min-width:0;text-decoration:none;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#2b64df 0%,#1d4ebf 72%);border:1px solid #1d4ebf;border-radius:8px;place-items:center;width:36px;height:36px;display:grid;position:relative;overflow:hidden;box-shadow:0 5px 15px #2457d62e}.brand-mark span{z-index:2;letter-spacing:-.02em;font-size:13px;font-weight:850;position:relative}.brand-mark:before,.brand-mark:after,.brand-mark i,.brand-mark b{content:"";background:#ffffff5c;position:absolute}.brand-mark:before{width:12px;height:1px;top:9px;left:0}.brand-mark:after{width:9px;height:1px;bottom:9px;right:0}.brand-mark i{width:1px;height:9px;top:0;right:8px}.brand-mark b{width:1px;height:8px;bottom:0;left:9px}.brand-copy{line-height:1.05;display:grid}.brand-copy strong{color:var(--fpga-text);letter-spacing:-.015em;font-size:15px}.brand-copy small{color:var(--fpga-text-muted);text-transform:uppercase;letter-spacing:.13em;margin-top:4px;font-size:8px;font-weight:800}.topnav{align-items:center;gap:2px;display:flex}.topnav a,.link-button{color:var(--fpga-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 11px;font-size:13px;font-weight:650;text-decoration:none;position:relative}.topnav a:hover,.link-button:hover{color:var(--fpga-text);background:var(--fpga-surface-muted)}.topnav a.active:after{content:"";background:var(--fpga-primary);border-radius:2px;height:2px;position:absolute;bottom:3px;left:11px;right:11px}.topnav form{display:inline}.nav-separator{background:var(--fpga-border);width:1px;height:22px;margin:0 6px}.product-signals{color:var(--fpga-text-muted);font:800 9px/1 var(--fpga-mono);letter-spacing:.1em;align-items:center;gap:9px;display:flex}.product-signals i{background:var(--fpga-border-strong);border-radius:50%;width:4px;height:4px}.container{width:min(1240px,100% - 40px);margin:36px auto 52px}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.page-head h1{color:var(--fpga-text);letter-spacing:-.035em;margin:5px 0 6px;font-size:clamp(28px,3vw,36px);line-height:1.1}.page-head p{max-width:720px;margin:0}.eyebrow{color:var(--fpga-primary);letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:900;line-height:1.2}.muted{color:var(--fpga-text-muted)}.small{font-size:11px}.mono-id{font-family:var(--fpga-mono);font-size:.92em}.button{appearance:none;border:1px solid var(--fpga-border-strong);color:#36445b;cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 14px;font-size:12px;font-weight:760;text-decoration:none;transition:background .14s,border-color .14s,color .14s,box-shadow .14s,transform .1s;display:inline-flex}.button:hover:not(:disabled){background:var(--fpga-surface-soft);color:var(--fpga-text);border-color:#aebacc}.button:active:not(:disabled){transform:translateY(1px)}.button:focus-visible,.icon-button:focus-visible,.file-item:focus-visible,.bottom-tabs button:focus-visible,.side-tabs button:focus-visible,.ai-mode-tabs button:focus-visible{outline-offset:2px;outline:3px solid #2457d629}.button:disabled{cursor:not-allowed;color:#9ba7b8;box-shadow:none;background:#f2f5f8;border-color:#dfe5ec}.button.primary{color:#fff;background:var(--fpga-primary);border-color:var(--fpga-primary);box-shadow:0 4px 11px #2457d629}.button.primary:active:not(:disabled){background:var(--fpga-primary-pressed)}.button.accent{color:#fff;background:var(--fpga-success);border-color:var(--fpga-success)}.button.accent:hover:not(:disabled){background:#116d40;border-color:#116d40}.button.accent:disabled{color:#98a5b7;background:#f2f5f8;border-color:#dfe5ec}.small-button{min-height:34px;color:var(--fpga-primary-hover);border-color:var(--fpga-primary-border);background:var(--fpga-primary-soft);padding:7px 10px}.small-button:hover:not(:disabled){color:var(--fpga-primary-pressed);background:#e3ebff;border-color:#aebff0}.stack{gap:14px;padding:20px;display:grid}.stack.compact{gap:12px;padding:0}.stack label{color:#46556c;gap:6px;font-size:11px;font-weight:760;display:grid}input,select,textarea{border:1px solid var(--fpga-border-strong);width:100%;color:var(--fpga-text);background:#fff;border-radius:7px;outline:none;padding:9px 10px;transition:border-color .14s,box-shadow .14s;box-shadow:inset 0 1px 1px #17203305}input::placeholder,textarea::placeholder{color:#a0aabc}input:focus,select:focus,textarea:focus{border-color:var(--fpga-primary);box-shadow:0 0 0 3px #2457d617}select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.alert{border-radius:8px;align-items:flex-start;gap:9px;margin-bottom:16px;padding:10px 13px;font-size:12px;display:flex}.alert-icon{border-radius:50%;flex:none;place-items:center;width:19px;height:19px;font-size:11px;font-weight:900;display:grid}.alert.success{color:var(--fpga-success-text);background:var(--fpga-success-soft);border:1px solid var(--fpga-success-border)}.alert.success .alert-icon{color:#fff;background:var(--fpga-success)}.alert.error{color:var(--fpga-danger-text);background:var(--fpga-danger-soft);border:1px solid var(--fpga-danger-border)}.alert.error .alert-icon{color:#fff;background:var(--fpga-danger)}.studio-shell>.alert{z-index:150;width:min(460px,100% - 32px);box-shadow:var(--fpga-shadow-md);margin:0;position:fixed;top:76px;right:16px}.auth-main{background:var(--fpga-bg);min-height:calc(100vh - 64px)}.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:calc(100vh - 64px);display:grid;position:relative;overflow:hidden}.auth-shell:before{content:"";pointer-events:none;background-image:linear-gradient(var(--fpga-bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--fpga-bg-grid) 1px, transparent 1px);background-size:38px 38px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000000a6 52%,#0000 82%);mask-image:linear-gradient(90deg,#000 0%,#000000a6 52%,#0000 82%)}.auth-hero{min-height:inherit;z-index:1;align-items:center;padding:54px clamp(48px,7vw,110px);display:grid;position:relative}.auth-hero-inner{max-width:690px}.auth-hero h1{max-width:650px;color:var(--fpga-text);letter-spacing:-.052em;margin:11px 0 17px;font-size:clamp(42px,5vw,64px);font-weight:780;line-height:.98}.auth-lead{max-width:650px;color:var(--fpga-text-secondary);margin:0;font-size:16px;line-height:1.65}.engineering-features{grid-template-columns:1fr 1fr;gap:16px 26px;max-width:660px;margin-top:38px;display:grid}.engineering-feature{grid-template-columns:46px 1fr;align-items:center;gap:12px;min-width:0;display:grid}.feature-symbol{border:1px solid var(--fpga-border);width:46px;height:34px;color:var(--fpga-primary);font:850 9px/1 var(--fpga-mono);letter-spacing:.04em;box-shadow:var(--fpga-shadow-sm);background:#ffffffc2;border-radius:6px;place-items:center;display:grid}.engineering-feature strong{color:var(--fpga-text);margin-bottom:3px;font-size:12px;display:block}.engineering-feature small{color:var(--fpga-text-muted);font-size:10px;line-height:1.35;display:block}.waveform-mark{opacity:.34;align-items:flex-end;height:28px;margin-top:40px;display:flex}.waveform-mark span{border-top:2px solid var(--fpga-primary);border-right:2px solid var(--fpga-primary);width:42px;height:12px}.waveform-mark span:nth-child(2n){border-top-color:var(--fpga-cyan);border-right-color:var(--fpga-cyan);height:25px}.auth-panel{min-height:inherit;z-index:2;background:linear-gradient(90deg,#f4f7fb47,#f4f7fbe6 28%,#f4f7fb 100%);place-items:center;padding:44px;display:grid;position:relative}.auth-card{border:1px solid var(--fpga-border);background:#fffffffa;border-radius:12px;width:min(430px,100%);padding:31px;box-shadow:0 16px 42px #17203317}.auth-card h2{color:var(--fpga-text);letter-spacing:-.035em;margin:8px 0 7px;font-size:27px;line-height:1.1}.auth-card>p{margin:0;line-height:1.5}.auth-chip{border:1px solid var(--fpga-border);width:max-content;max-width:100%;color:var(--fpga-text-muted);font:720 9px/1 var(--fpga-mono);background:#fbfcfe;border-radius:999px;align-items:center;gap:7px;margin-bottom:24px;padding:6px 9px;display:inline-flex}.status-led{background:var(--fpga-success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #16834d1a}.auth-form{gap:14px;padding:23px 0 0}.input-shell{border:1px solid var(--fpga-border-strong);background:#fff;border-radius:7px;grid-template-columns:31px 1fr;align-items:center;transition:border-color .14s,box-shadow .14s;display:grid;overflow:hidden}.input-shell:focus-within{border-color:var(--fpga-primary);box-shadow:0 0 0 3px #2457d617}.input-icon{color:#8c98aa;font:800 10px/1 var(--fpga-mono);border-right:1px solid #edf1f5;place-items:center;display:grid}.input-shell input{box-shadow:none;border:0;border-radius:0;padding:11px 10px}.input-shell input:focus{box-shadow:none}.auth-submit{width:100%;min-height:42px;margin-top:2px}.auth-footnote{color:#8c98aa;font:750 8px/1 var(--fpga-mono);letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;margin-top:20px;display:flex}.auth-footnote i{background:#c6ced9;border-radius:50%;width:4px;height:4px}.pipeline-strip{border:1px solid var(--fpga-border);border-radius:var(--fpga-radius-lg);box-shadow:var(--fpga-shadow-sm);background:#fff;grid-template-columns:repeat(9,auto);justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;padding:15px 18px;display:grid}.pipeline-strip>div{gap:2px;min-width:0;display:grid}.pipeline-strip>div>span{color:var(--fpga-primary);font:850 8px/1 var(--fpga-mono);letter-spacing:.08em}.pipeline-strip strong{color:var(--fpga-text);font-size:11px}.pipeline-strip small{color:var(--fpga-text-muted);font-size:9px}.pipeline-strip>i{color:#bcc6d3;font-size:14px;font-style:normal}.stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.stats-four{grid-template-columns:repeat(4,1fr)}.stat,.panel{border:1px solid var(--fpga-border);border-radius:var(--fpga-radius-lg);box-shadow:var(--fpga-shadow-sm);background:#fff}.stat{min-height:132px;padding:17px 18px;position:relative;overflow:hidden}.stat:after{content:"";background:#a9b5c5;width:3px;position:absolute;top:0;bottom:0;left:0}.stat[data-tone=primary]:after{background:var(--fpga-primary)}.stat[data-tone=success]:after{background:var(--fpga-success)}.stat[data-tone=danger]:after{background:var(--fpga-danger)}.stat-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.stat span{color:var(--fpga-text-secondary);font-size:11px;font-weight:700}.stat b{color:#8996a8;font:800 8px/1 var(--fpga-mono);letter-spacing:.08em}.stat strong{color:var(--fpga-text);letter-spacing:-.035em;margin-top:9px;font-size:29px;line-height:1;display:block}.stat small{color:var(--fpga-text-muted);margin-top:9px;font-size:9px;display:block}.panel{overflow:hidden}.panel-head{border-bottom:1px solid var(--fpga-border);background:#fbfcfe;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:13px 17px;display:flex}.panel-head h2{color:var(--fpga-text);letter-spacing:-.01em;margin:2px 0 0;font-size:14px}.panel-kicker{color:var(--fpga-primary);font:850 8px/1 var(--fpga-mono);letter-spacing:.1em}.panel-meta{color:var(--fpga-text-muted);font:700 9px/1.3 var(--fpga-mono)}.table-wrap{overflow:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;color:var(--fpga-text-secondary);border-bottom:1px solid #e8edf3;padding:12px 15px;font-size:11px}th{color:var(--fpga-text-muted);letter-spacing:.08em;text-transform:uppercase;background:#f8fafc;font-size:8px;font-weight:850}tbody tr:hover{background:#fafcff}tbody tr:last-child td{border-bottom:0}td a{color:var(--fpga-primary);font-weight:760;text-decoration:none}td a:hover{text-decoration:underline}.phase-label{font-family:var(--fpga-mono);color:#65748a;font-size:9px}.badge{border:1px solid var(--fpga-border);background:var(--fpga-surface-soft);color:var(--fpga-text-secondary);font:800 8px/1 var(--fpga-mono);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:5px;padding:4px 7px;display:inline-flex}.badge:before{content:"";background:#9ba7b8;border-radius:50%;width:5px;height:5px}.badge.success:before{background:var(--fpga-success)}.badge.failed:before{background:var(--fpga-danger)}.badge.running:before{background:var(--fpga-primary)}.badge.queued{color:var(--fpga-warning-text);background:var(--fpga-warning-soft);border-color:var(--fpga-warning-border)}.badge.queued:before{background:var(--fpga-warning)}.badge.idle{color:var(--fpga-text-muted)}.grid-two{grid-template-columns:1.5fr 1fr;gap:18px;display:grid}.project-workspace-grid{align-items:start}.project-list{padding:8px}.project-card{color:var(--fpga-text);border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:13px 12px;text-decoration:none;transition:background .14s,border-color .14s,transform .14s;display:flex}.project-card:hover{background:#f8fbff;border-color:#d7e2f3;transform:translate(2px)}.project-card-main{align-items:center;gap:11px;min-width:0;display:flex}.project-chip-icon{width:34px;height:34px;color:var(--fpga-primary);background:var(--fpga-primary-soft);border:1px solid var(--fpga-primary-border);font:850 9px/1 var(--fpga-mono);border-radius:7px;flex:none;place-items:center;display:grid}.project-card strong{font-size:12px;display:block}.project-card-meta{color:var(--fpga-text-muted);align-items:center;gap:7px;margin-top:4px;font-size:9px;display:flex}.project-card-meta i{background:#bbc4d0;border-radius:50%;width:3px;height:3px}.project-open{color:var(--fpga-primary);flex:none;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.project-open span{font-size:15px}.create-project-panel .stack{gap:15px}.project-form-note{border:1px solid var(--fpga-border);background:#f9fbfd;border-radius:7px;gap:4px;padding:10px 11px;display:grid}.project-form-note strong{color:var(--fpga-text-secondary);text-transform:uppercase;letter-spacing:.07em;font-size:9px}.project-form-note span{color:var(--fpga-text-muted);font:700 9px/1.4 var(--fpga-mono)}.empty{color:var(--fpga-text-muted);padding:24px}.professional-empty{text-align:center;align-content:center;place-items:center;gap:7px;min-height:210px;display:grid}.professional-empty strong{color:var(--fpga-text);font-size:12px}.professional-empty span{max-width:320px;font-size:10px;line-height:1.45}.empty-chip{width:44px;height:44px;color:var(--fpga-primary);font:850 10px/1 var(--fpga-mono);border:1px dashed #aab8ca;border-radius:8px;place-items:center;margin-bottom:4px;display:grid}.studio-shell{background:var(--fpga-bg);height:calc(100vh - 64px);overflow:hidden}#fpga-studio{height:100%;color:var(--fpga-text);background:#fff}.studio-toolbar{border-bottom:1px solid var(--fpga-border);background:#fff;justify-content:space-between;align-items:center;gap:18px;height:72px;padding:8px 15px 8px 17px;display:flex}.studio-project-identity{min-width:0}.studio-project-line{align-items:center;gap:10px;display:flex}.project-health{color:var(--fpga-text-muted);font:800 8px/1 var(--fpga-mono);letter-spacing:.06em;align-items:center;gap:5px;display:inline-flex}.project-health i{background:var(--fpga-success);border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 2px #16834d1a}.studio-project-title{align-items:baseline;gap:9px;min-width:0;margin-top:3px;display:flex}.studio-project-title strong{color:var(--fpga-text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.studio-project-title span{color:var(--fpga-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.studio-project-submeta{color:var(--fpga-text-muted);align-items:center;gap:7px;margin-top:3px;font-size:8px;display:flex}.studio-project-submeta i{background:#bdc6d1;border-radius:50%;width:3px;height:3px}.toolbar-actions{align-items:center;gap:7px;display:flex}.toolbar-actions .button{min-height:34px;padding:7px 11px}.save-state{align-items:center;gap:5px;margin-right:1px;display:inline-flex}.save-state i{background:#9ba7b8;border-radius:50%;width:5px;height:5px}.ai-spark{color:#fff;background:var(--fpga-purple);width:19px;height:19px;font:850 7px/1 var(--fpga-mono);border-radius:5px;place-items:center;display:grid}.ai-button{color:#5448bd;background:#f7f6ff;border-color:#d7d1f6}.ai-button:hover:not(:disabled){color:#493eb0;background:#f1efff;border-color:#beb6ed}.studio-grid{background:#fff;grid-template-rows:minmax(0,1fr) 220px;grid-template-columns:220px minmax(420px,1fr) 390px;height:calc(100vh - 136px);display:grid}.file-pane,.info-pane,.editor-pane,.bottom-pane{min-width:0;min-height:0;color:var(--fpga-text);background:#fff}.file-pane{border-right:1px solid var(--fpga-border);background:#fbfcfe;padding:9px 8px;overflow:auto}.info-pane{border-left:1px solid var(--fpga-border);background:#fbfcfe;padding:10px;overflow:auto}.pane-title{color:var(--fpga-text-muted);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;margin:5px 3px 9px;font-size:8px;font-weight:900;display:flex}.no-margin{margin:0}.icon-button{appearance:none;color:var(--fpga-text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;font-size:16px;line-height:1}.icon-button:hover{color:var(--fpga-primary);background:var(--fpga-primary-soft)}.explorer-root{color:var(--fpga-text-secondary);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:5px;padding:5px 6px 7px;font-size:9px;display:flex}.explorer-root strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.explorer-chevron{color:#8e9aab;font-size:12px}#file-list{gap:1px;display:grid}.file-item{width:100%;color:var(--fpga-text-secondary);text-align:left;font:650 10px/1.2 var(--fpga-mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:7px 8px;display:flex}.file-item:hover{color:var(--fpga-text);background:#f3f6fa}.file-item.active{color:#204bab;background:var(--fpga-primary-soft);border-color:var(--fpga-primary-border)}.file-item span{width:17px;color:var(--fpga-primary);font-family:var(--fpga-mono);text-align:center;font-weight:900}.board-card{border:1px solid var(--fpga-border);background:#fff;border-radius:7px;margin-top:18px;padding:10px}.board-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;display:flex}.board-card>strong{color:var(--fpga-text);font-size:11px;display:block}.board-card>small{color:var(--fpga-text-muted);font:650 8px/1.4 var(--fpga-mono);margin-top:3px;display:block}.dot{background:var(--fpga-success);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #16834d17}.dot.gray{background:#98a5b7;box-shadow:0 0 0 3px #98a5b71a}.dot.red{background:var(--fpga-danger);box-shadow:0 0 0 3px #d13c3c17}.dot.amber{background:var(--fpga-warning);box-shadow:0 0 0 3px #c87a101a}.editor-pane{background:#fff;position:relative}#editor-tabs{border-bottom:1px solid var(--fpga-border);height:35px;color:var(--fpga-text-secondary);background:#f7f9fc;align-items:center;gap:0;padding:0 10px;font-size:10px;display:flex}.editor-tab-prefix{color:#8290a3;border-right:1px solid var(--fpga-border);height:35px;font:850 8px/1 var(--fpga-mono);align-items:center;margin-left:-10px;padding:0 8px;display:inline-flex}#current-file-name{height:35px;color:var(--fpga-text);border-right:1px solid var(--fpga-border);border-top:2px solid var(--fpga-primary);font-family:var(--fpga-mono);background:#fff;align-items:center;padding:0 11px;font-size:9px;display:inline-flex}.ai-file-badge{color:#5c50c4;font:800 8px/1 var(--fpga-mono);margin-left:auto}#monaco-editor{background:#fcfdfe;position:absolute;inset:35px 0 0}.divider{background:var(--fpga-border);height:1px;margin:16px 0}.side-tabs{border:1px solid var(--fpga-border);background:#f2f5f9;border-radius:7px;grid-template-columns:1fr 1fr;gap:3px;margin:-1px -1px 11px;padding:3px;display:grid}.side-tabs button,.ai-mode-tabs button{appearance:none;color:var(--fpga-text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 8px;font-size:9px;font-weight:850}.side-tabs button:hover,.ai-mode-tabs button:hover{color:var(--fpga-text);background:#ffffffbf}.side-tabs button.active{color:var(--fpga-primary);background:#fff;box-shadow:0 1px 3px #17203312}.side-tabs button span{color:#fff;background:var(--fpga-purple);width:17px;height:17px;font:850 6px/1 var(--fpga-mono);border-radius:4px;place-items:center;margin-right:4px;display:inline-grid}.side-section{min-height:0}.agent-state{border:1px solid var(--fpga-border);background:#fff;border-radius:7px;align-items:center;gap:9px;margin-top:8px;padding:10px;display:flex}.agent-state strong{color:var(--fpga-text);font-size:10px;display:block}.agent-state small{color:var(--fpga-text-muted);font:650 8px/1.35 var(--fpga-mono);word-break:break-all;margin-top:2px;display:block}.agent-state[data-state=online]{border-color:var(--fpga-success-border);background:var(--fpga-success-soft)}.agent-state[data-state=offline]{border-color:var(--fpga-danger-border);background:var(--fpga-danger-soft)}.agent-state[data-state=checking]{border-color:var(--fpga-warning-border);background:var(--fpga-warning-soft)}.bottom-pane{border-top:1px solid var(--fpga-border);background:#fff;grid-column:1/-1;overflow:hidden}.bottom-tabs{border-bottom:1px solid var(--fpga-border);background:#f7f9fc;align-items:center;gap:1px;height:34px;padding:0 9px;display:flex}.bottom-tabs button{appearance:none;height:34px;color:var(--fpga-text-muted);font:850 8px/1 var(--fpga-mono);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 10px}.bottom-tabs button:hover{color:var(--fpga-text)}.bottom-tabs button.active{color:var(--fpga-primary);border-bottom-color:var(--fpga-primary)}.build-line{border-bottom:1px solid var(--fpga-border);height:34px;color:var(--fpga-text-secondary);background:#fff;align-items:center;gap:8px;padding:0 11px;font-size:9px;display:flex}.bottom-pane pre{color:#344158;height:150px;font:10px/1.55 var(--fpga-mono);white-space:pre-wrap;background:#fbfcfe;border:0;margin:0;padding:10px 12px;overflow:auto}.metrics-box,.problems-box{height:150px;color:var(--fpga-text-secondary);background:#fff;padding:12px;overflow:auto}.metrics-box{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start;gap:9px;display:grid}.metric-card{border:1px solid var(--fpga-border);background:#f9fbfd;border-radius:7px;padding:9px 10px}.metric-card strong{color:var(--fpga-text-muted);font:850 8px/1 var(--fpga-mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;display:block}.metric-card span{color:var(--fpga-primary-hover);font-size:13px;font-weight:760}.problem-item{border:1px solid var(--fpga-border);background:#f9fbfd;border-radius:7px;grid-template-columns:72px 1fr;gap:9px;margin-bottom:7px;padding:8px 9px;display:grid}.problem-item.error{border-color:var(--fpga-danger-border);background:var(--fpga-danger-soft)}.problem-item.warning{border-color:var(--fpga-warning-border);background:var(--fpga-warning-soft)}.problem-kind{color:var(--fpga-text-muted);font:850 8px/1 var(--fpga-mono);text-transform:uppercase}.problem-item.error .problem-kind{color:var(--fpga-danger-text)}.problem-item.warning .problem-kind{color:var(--fpga-warning-text)}.problem-message{color:var(--fpga-text-secondary);font-size:10px}.ai-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:9px;display:flex}.ai-provider-state{color:var(--fpga-text-muted);font:700 8px/1 var(--fpga-mono);align-items:center;gap:6px;margin-top:5px;display:inline-flex}.ai-provider-state.ready{color:var(--fpga-success-text)}.ai-provider-state.warning{color:var(--fpga-warning-text)}.ai-model-select{width:170px;max-width:54%;padding:6px 7px;font-size:9px;font-weight:700}.ai-mode-tabs{border:1px solid var(--fpga-border);background:#f2f5f9;border-radius:7px;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:9px;padding:3px;display:grid}.ai-mode-tabs button.active{color:var(--fpga-primary);background:#fff;box-shadow:0 1px 3px #17203312}.ai-chat-messages{border:1px solid var(--fpga-border);background:#f9fbfd;border-radius:7px;height:315px;padding:9px;overflow:auto}.ai-message{max-width:95%;margin-bottom:9px}.ai-message.user{margin-left:auto}.ai-message-label{color:var(--fpga-text-muted);font:900 7px/1 var(--fpga-mono);letter-spacing:.08em;margin:0 3px 4px}.ai-message.user .ai-message-label{text-align:right}.ai-message-body{border:1px solid var(--fpga-border);color:var(--fpga-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:7px;padding:8px 9px;font-size:10px;line-height:1.5}.ai-message.user .ai-message-body{color:#244a94;border-color:var(--fpga-primary-border);background:var(--fpga-primary-soft)}.ai-message.pending .ai-message-body{color:var(--fpga-text-muted);font-style:italic}.ai-message-meta{color:#9ca7b7;margin:3px 4px 0;font-size:7px}.ai-quick-actions{flex-wrap:wrap;gap:4px;margin:7px 0;display:flex}.ai-quick-actions button,.mini-action,.problem-ai-btn{appearance:none;color:#5b50be;cursor:pointer;background:#f7f6ff;border:1px solid #d9d5f5;border-radius:5px;padding:5px 7px;font-size:8px;font-weight:800}.ai-quick-actions button:hover,.mini-action:hover,.problem-ai-btn:hover{background:#efedff;border-color:#beb6ed}.ai-composer textarea{resize:vertical;min-height:68px;font-size:10px}.ai-composer-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.ai-composer-footer .small{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.ai-section-number{color:var(--fpga-text-secondary);font:900 8px/1.2 var(--fpga-mono);letter-spacing:.05em;margin:11px 0 6px}.ai-section-row{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.ai-section-row .ai-section-number{margin-bottom:6px}#ai-project-logic,#ai-prompt-preview{resize:vertical;font:10px/1.45 var(--fpga-mono)}.ai-detected-list{border:1px solid var(--fpga-border);color:var(--fpga-text-muted);background:#f9fbfd;border-radius:7px;padding:6px;font-size:9px}.ai-detected-row{color:var(--fpga-text-secondary);border-bottom:1px solid #e9eef4;justify-content:space-between;gap:8px;padding:5px;display:flex}.ai-detected-row:last-child{border-bottom:0}.ai-detected-row span:first-child{color:var(--fpga-success-text);font-weight:760}.ai-detected-row small{color:var(--fpga-text-muted);text-align:right}.ai-detected-row.pin code{color:var(--fpga-primary);font:700 8px/1 var(--fpga-mono)}.ai-detected-row.pin strong{color:var(--fpga-text);font-size:8px}.ai-generator-actions{gap:6px;margin-top:11px;display:grid}.ai-generation-summary{color:#5147aa;background:#f7f6ff;border:1px solid #d9d5f5;border-radius:7px;margin-top:9px;padding:8px 9px;font-size:9px;line-height:1.45}.ai-diagnostic-card{border:1px solid var(--fpga-border);background:#fff;border-radius:7px;padding:11px}.ai-build-state{justify-content:space-between;align-items:center;gap:10px;margin:8px 0;display:flex}.ai-build-state strong{color:var(--fpga-text);font-size:10px}.ai-diagnostic-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ai-diagnostic-result{border:1px solid var(--fpga-border);height:290px;color:var(--fpga-text-secondary);white-space:pre-wrap;font:9px/1.5 var(--fpga-mono);background:#fff;border-radius:7px;margin-top:9px;padding:9px;overflow:auto}.ai-disclaimer{color:var(--fpga-text-muted);margin:9px 2px 2px;font-size:8px;line-height:1.45}.ai-modal{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17203361;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ai-modal-card{border:1px solid var(--fpga-border);background:#fff;border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1280px,96vw);height:min(820px,90vh);display:grid;overflow:hidden;box-shadow:0 28px 80px #1720333d}.ai-modal-header{border-bottom:1px solid var(--fpga-border);background:#fbfcfe;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.ai-modal-header h3{color:var(--fpga-text);margin:3px 0 0;font-size:14px}.ai-modal-header .icon-button{font-size:22px}.ai-modal-body{grid-template-columns:300px minmax(0,1fr);min-height:0;display:grid}.ai-proposal-sidebar{border-right:1px solid var(--fpga-border);background:#f9fbfd;min-height:0;padding:11px;overflow:auto}.ai-proposal-summary p,.ai-proposal-warnings p{color:var(--fpga-text-secondary);margin:0 0 8px;font-size:9px;line-height:1.45}.ai-proposal-warnings{color:var(--fpga-warning-text);margin-top:11px}.ai-proposal-file{border:1px solid var(--fpga-border);cursor:pointer;background:#fff;border-radius:6px;grid-template-columns:20px 1fr;align-items:start;gap:7px;margin:6px 0;padding:8px;display:grid}.ai-proposal-file:hover{background:#fbfaff;border-color:#c8c2ef}.ai-proposal-file input{width:14px;height:14px;margin:2px 0 0}.ai-proposal-file strong{color:var(--fpga-text);overflow-wrap:anywhere;font-size:9px;display:block}.ai-proposal-file small{color:var(--fpga-text-muted);margin-top:2px;font-size:8px;display:block}.ai-code-preview{grid-template-rows:38px minmax(0,1fr);min-width:0;min-height:0;display:grid}.ai-preview-toolbar{border-bottom:1px solid var(--fpga-border);background:#f7f9fc;justify-content:space-between;align-items:center;gap:10px;padding:0 11px;font-size:9px;display:flex}.ai-diff-grid{grid-template-columns:1fr 1fr;min-height:0;display:grid}.ai-diff-grid>div{border-right:1px solid var(--fpga-border);grid-template-rows:28px minmax(0,1fr);min-width:0;min-height:0;display:grid}.ai-diff-grid>div:last-child{border-right:0}.ai-code-label{border-bottom:1px solid var(--fpga-border);color:var(--fpga-text-muted);font:900 8px/1 var(--fpga-mono);letter-spacing:.07em;background:#fff;align-items:center;padding:0 9px;display:flex}.ai-diff-grid pre{color:#27364d;font:10px/1.55 var(--fpga-mono);white-space:pre;background:#fcfdfe;margin:0;padding:10px;overflow:auto}.ai-modal-footer{border-top:1px solid var(--fpga-border);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.ai-modal-footer>div{gap:7px;display:flex}.problem-ai-btn{margin-top:6px}*{scrollbar-width:thin;scrollbar-color:#bcc7d5 #f4f7fb}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#bec8d5;border:2px solid #f4f7fb;border-radius:8px}@media (width<=1250px){.studio-grid{grid-template-columns:200px minmax(400px,1fr) 340px}.ai-model-select{width:145px}}@media (width<=1050px){.studio-grid{grid-template-columns:180px minmax(380px,1fr) 310px}.ai-model-select{width:130px}.pipeline-strip small{display:none}}@media (width<=940px){.auth-shell{grid-template-columns:1fr}.auth-hero{min-height:auto;padding:48px 34px 28px}.auth-hero h1{font-size:42px}.auth-panel{background:0 0;min-height:auto;padding:28px 24px 48px}.studio-grid{grid-template-rows:minmax(0,1fr) 210px;grid-template-columns:190px 1fr}.info-pane{display:none}.bottom-pane{grid-column:1/-1}.stats-four{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.ai-modal-body{grid-template-columns:250px minmax(0,1fr)}}@media (width<=700px){.topbar-inner{width:calc(100% - 24px)}.brand-copy small,.product-signals{display:none}.container{width:calc(100% - 22px);margin:24px auto 40px}.page-head{flex-direction:column;align-items:stretch}.pipeline-strip{grid-template-columns:1fr;gap:8px}.pipeline-strip>i{display:none}.stats-four,.stats,.engineering-features{grid-template-columns:1fr}.auth-hero{padding:38px 22px 18px}.auth-hero h1{font-size:36px}.auth-panel{padding:20px 14px 36px}.studio-toolbar{flex-wrap:wrap;height:auto;min-height:72px;padding:9px 10px}.toolbar-actions{width:100%;overflow-x:auto}.studio-grid{grid-template-columns:1fr;height:calc(100vh - 178px)}.file-pane{display:none}.ai-modal{padding:8px}.ai-modal-card{width:100%;height:94vh}.ai-modal-body{grid-template-rows:220px minmax(0,1fr);grid-template-columns:1fr}.ai-proposal-sidebar{border-right:0;border-bottom:1px solid var(--fpga-border)}.ai-diff-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.ai-modal-footer{flex-direction:column;align-items:stretch}.ai-modal-footer>div{grid-template-columns:1fr 1fr;display:grid}}.ai-proposal-check{accent-color:var(--fpga-primary)}.account-chip{border-left:1px solid var(--fpga-border,#dce3ec);flex-direction:column;min-width:110px;padding:5px 10px;line-height:1.15;display:flex}.account-chip strong{color:#172033;font-size:12px}.account-chip small{color:#6b7890;margin-top:2px;font-size:10px}.page-actions{align-items:center;gap:8px;display:flex}.dashboard-section{margin-top:20px}.static-card{cursor:default}.small-button{padding:7px 11px!important;font-size:12px!important}.role-badge{color:#44536a;background:#f8fafc;border:1px solid #dce3ec;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.role-super_admin{color:#2457d6;background:#eef3ff;border-color:#cbd9ff}.role-instructor{color:#6557d9;background:#f2efff;border-color:#ddd7ff}.role-lab_assistant{color:#087f99;background:#ecfbff;border-color:#bdebf5}.role-student{color:#526179;background:#f4f7fb}.admin-grid,.practicum-grid,.practicum-detail-grid{align-items:start}.single-focus{grid-template-columns:1fr!important}.inline-details summary{cursor:pointer;color:#2457d6;font-size:12px;font-weight:700}.inline-details[open]{position:relative}.compact-form{grid-template-columns:1fr 130px 110px 170px auto;align-items:end;gap:6px;margin-top:8px;display:grid}.compact-form input,.compact-form select{min-width:0}.warning-button{color:#9a5a00!important;background:#fff8eb!important;border-color:#f1c77d!important}.join-code-form{border-top:1px solid #e6ebf2;align-items:end;gap:8px;margin-top:14px;padding:16px;display:flex}.join-code-form label{flex:1}.join-code-card{text-align:center;background:#f8faff;border:1px dashed #b8c6dd;border-radius:8px;min-width:180px;padding:10px 14px}.join-code-card small{color:#7a879a;letter-spacing:.1em;font-size:10px;display:block}.join-code-card strong{color:#2457d6;letter-spacing:.08em;margin-top:4px;font:700 16px ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.assignment-list,.member-list{flex-direction:column;gap:8px;display:flex}.assignment-card,.member-row{background:#fff;border:1px solid #e1e7ef;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.assignment-card p{color:#5d6b82;margin:4px 0 7px;font-size:12px;line-height:1.45}.member-row small{color:#7a879a;margin-top:2px;display:block}.compact-section{border-top:1px solid #e1e7ef;margin-top:14px;padding-top:14px}.assignment-form{gap:12px;display:grid}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.form-grid-3{grid-template-columns:2fr 1fr 1fr;align-items:end;gap:10px;display:grid}.check-label{background:#f9fbfd;border:1px solid #dce3ec;border-radius:7px;align-items:center;gap:7px;min-height:42px;padding:8px 10px;display:flex!important}.check-label input{width:auto!important}.mono-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-size:12px!important}.readonly-banner{color:#8a5706;background:#fff9ec;border-bottom:1px solid #f1cf8c;align-items:center;gap:12px;padding:9px 16px;font-size:12px;display:flex}.readonly-banner strong{text-transform:uppercase;letter-spacing:.07em;font-size:10px}.toolbar-form{margin:0}.success-button{color:#157a46!important;background:#ecf9f1!important;border-color:#b7e3c8!important}.form-fieldset{border:0;margin:0;padding:0;display:contents}.form-fieldset:disabled{opacity:.65}.form-fieldset:disabled input,.form-fieldset:disabled select,.form-fieldset:disabled button{cursor:not-allowed}.pagination{margin-top:12px}@media (width<=1100px){.compact-form{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:1fr}.account-chip{display:none}}@media (width<=760px){.form-grid-2,.compact-form{grid-template-columns:1fr}.join-code-form{flex-direction:column;align-items:stretch}.assignment-card,.member-row{flex-direction:column;align-items:flex-start}}.guest-nav{align-items:center;gap:10px;display:flex}.guest-nav>a:not(.button){color:#526179;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none}.guest-nav>a:not(.button):hover{color:#2457d6}.school-context{border-left:1px solid var(--fpga-border);flex-direction:column;min-width:110px;max-width:190px;padding:4px 10px;line-height:1.15;display:flex}.school-context small{font:750 8px/1 var(--fpga-mono);letter-spacing:.1em;color:#8b97aa}.school-context strong{color:#344158;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10px;overflow:hidden}.account-menu{position:relative}.account-menu>summary{cursor:pointer;list-style:none}.account-menu>summary::-webkit-details-marker{display:none}.account-menu-popover{border:1px solid var(--fpga-border);z-index:200;background:#fff;border-radius:10px;width:240px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 14px 38px #1720331f}.account-menu-identity{border-bottom:1px solid #edf0f5;padding:9px 10px 12px}.account-menu-identity strong,.account-menu-identity span{display:block}.account-menu-identity strong{color:#172033;font-size:12px}.account-menu-identity span{color:#7a879a;margin-top:3px;font-size:10px}.account-menu-action{color:#b73535;text-align:left;width:100%;font:700 11px/1 var(--fpga-sans);cursor:pointer;background:0 0;border:0;border-radius:7px;margin-top:6px;padding:9px 10px}.account-menu-action:hover{background:#fff2f2}.school-register-main{background:#f4f7fb;min-height:calc(100vh - 64px)}.school-register-shell{background-image:linear-gradient(#4d689109 1px,#0000 1px),linear-gradient(90deg,#4d689109 1px,#0000 1px);background-size:30px 30px;grid-template-columns:minmax(380px,.9fr) minmax(520px,1.1fr);min-height:calc(100vh - 64px);display:grid}.school-register-hero{background:linear-gradient(145deg,#ffffffb8,#f4f7fbe6);border-right:1px solid #e0e6ee;flex-direction:column;justify-content:center;padding:64px clamp(42px,6vw,92px);display:flex}.school-register-hero h1{color:#172033;letter-spacing:-.048em;max-width:650px;margin:12px 0 18px;font-size:clamp(38px,4.2vw,58px);line-height:1.02}.school-register-hero>p{color:#5d6b82;max-width:650px;margin:0;font-size:15px;line-height:1.65}.tenant-feature-list{gap:12px;max-width:650px;margin-top:34px;display:grid}.tenant-feature-list>div{border-bottom:1px solid #cdd6e2a6;grid-template-columns:34px 1fr;column-gap:12px;padding:13px 0;display:grid}.tenant-feature-list>div>span{color:#2457d6;width:31px;height:31px;font:800 9px var(--fpga-mono);background:#fff;border:1px solid #cfd9e8;border-radius:7px;grid-row:1/3;place-items:center;display:grid}.tenant-feature-list strong{color:#27344a;font-size:12px}.tenant-feature-list small{color:#7b8798;margin-top:3px;font-size:10px;line-height:1.45}.tenant-isolation-note{color:#66758b;align-items:center;gap:8px;margin-top:28px;font-size:10px;display:flex}.tenant-isolation-note strong{color:#16834d}.school-register-panel{place-items:center;padding:46px clamp(28px,5vw,74px);display:grid}.registration-card{background:#fff;border:1px solid #dce3ec;border-radius:12px;width:min(650px,100%);padding:30px;box-shadow:0 18px 46px #17203314}.registration-head h2{letter-spacing:-.035em;margin:8px 0 6px;font-size:28px}.registration-head p{margin:0}.registration-progress{background:#f9fbfd;border:1px solid #e1e7ef;border-radius:9px;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;margin:26px 0;padding:13px 14px;display:grid}.registration-progress>i{background:#dfe5ee;height:1px}.registration-step{color:#8b97aa;cursor:default;background:0 0;border:0;align-items:center;gap:7px;font-size:10px;font-weight:750;display:flex}.registration-step b{width:24px;height:24px;font:800 9px var(--fpga-mono);background:#fff;border:1px solid #cfd8e5;border-radius:50%;place-items:center;display:grid}.registration-step.active b{color:#fff;background:#2457d6;border-color:#2457d6}.registration-step.complete b{color:#16834d;background:#eefaf2;border-color:#bce0ca}.registration-page{gap:13px;display:none}.registration-page.active{display:grid}.form-section-title{align-items:center;gap:11px;margin-bottom:4px;display:flex}.form-section-title>span{color:#2457d6;width:37px;height:37px;font:800 10px var(--fpga-mono);background:#eef3ff;border-radius:8px;place-items:center;display:grid}.form-section-title strong,.form-section-title small{display:block}.form-section-title strong{color:#172033;font-size:13px}.form-section-title small{color:#7c899c;margin-top:3px;font-size:10px}.registration-actions{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;margin-top:6px;padding-top:15px;display:flex}.role-preview-card{background:#f8fbfd;border:1px solid #dce4ef;border-left:3px solid #0ea5c6;border-radius:8px;padding:13px 14px}.role-preview-card>span{font:800 8px var(--fpga-mono);letter-spacing:.09em;color:#8491a3;display:block}.role-preview-card>strong{color:#223149;margin-top:4px;font-size:12px;display:block}.role-preview-card>p{color:#69778c;margin:5px 0 0;font-size:10px;line-height:1.5}.terms-check{background:#f9fbfd;border:1px solid #dce3ec;border-radius:8px;align-items:flex-start;gap:9px;padding:12px;display:flex!important}.terms-check input{margin-top:2px;width:auto!important}.terms-check span{color:#59687e;font-size:10px;line-height:1.5}.registration-summary{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.registration-summary>div{background:#fbfcfe;border:1px solid #e1e7ef;border-radius:7px;padding:10px}.registration-summary span,.registration-summary strong{display:block}.registration-summary span{font:750 8px var(--fpga-mono);color:#8793a6;letter-spacing:.07em}.registration-summary strong{color:#26344a;margin-top:5px;font-size:10px}.registration-login-link{color:#778498;text-align:center;border-top:1px solid #edf0f4;margin-top:17px;padding-top:15px;font-size:10px}.registration-login-link a{color:#2457d6;font-weight:750;text-decoration:none}.school-register-cta{background:#f8fafc;border:1px solid #dce3ec;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:13px;display:flex}.school-register-cta strong,.school-register-cta span{display:block}.school-register-cta strong{color:#344158;font-size:10px}.school-register-cta span{color:#8490a2;margin-top:3px;font-size:9px}.school-register-cta .button{flex:none}.school-dashboard-head{padding-bottom:4px}.school-stats{margin-top:16px}.tenant-principles{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.tenant-principles>div{border-right:1px solid #e2e7ef;padding:16px}.tenant-principles>div:last-child{border-right:0}.tenant-principles b{color:#2457d6;font:800 9px var(--fpga-mono);display:block}.tenant-principles strong{color:#223149;margin-top:8px;font-size:12px;display:block}.tenant-principles span{color:#728095;margin-top:4px;font-size:10px;line-height:1.5;display:block}.role-action-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.role-action-grid>a{background:#fff;border:1px solid #dfe5ed;border-radius:8px;grid-template-columns:38px 1fr;column-gap:11px;padding:15px;text-decoration:none;transition:all .15s;display:grid}.role-action-grid>a:hover{border-color:#9db5e8;transform:translateY(-1px);box-shadow:0 8px 20px #2457d612}.role-action-grid>a>span{color:#2457d6;width:38px;height:38px;font:800 9px var(--fpga-mono);background:#eef3ff;border-radius:8px;grid-row:1/3;place-items:center;display:grid}.role-action-grid strong{color:#243149;font-size:11px}.role-action-grid small{color:#7b8799;margin-top:3px;font-size:9px;line-height:1.4}.workflow-strip{align-items:center;gap:8px;padding:10px;display:flex}.workflow-strip>div{align-items:center;gap:7px;display:flex}.workflow-strip>div>b{color:#738095;width:25px;height:25px;font:800 9px var(--fpga-mono);border:1px solid #d4dce7;border-radius:50%;place-items:center;display:grid}.workflow-strip>div.active>b{color:#fff;background:#2457d6;border-color:#2457d6}.workflow-strip>div>span{color:#526179;font-size:10px;font-weight:700}.workflow-strip>i{background:#dde4ed;flex:1;height:1px}.student-context-card{background:linear-gradient(100deg,#fff,#f8faff);border:1px solid #dce3ec;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin-top:14px;padding:17px 20px;display:flex}.student-context-card h2{margin:5px 0 2px;font-size:20px}.student-context-card p{color:#738095;margin:0;font-size:10px}.student-access-badge{text-align:right;background:#eef3ff;border:1px solid #cfdcf8;border-radius:8px;padding:10px 13px}.student-access-badge span,.student-access-badge strong,.student-access-badge small{display:block}.student-access-badge span{font:800 8px var(--fpga-mono);color:#6f84b0}.student-access-badge strong{color:#2457d6;font:800 10px var(--fpga-mono);margin-top:4px}.student-access-badge small{color:#738095;margin-top:3px;font-size:8px}.student-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-assignment-card{background:#fff;border:1px solid #dfe5ed;border-radius:9px;padding:16px}.student-assignment-card h3{color:#202e45;margin:10px 0 5px;font-size:15px}.student-assignment-card>p{color:#6e7c90;min-height:40px;margin:0;font-size:10px;line-height:1.5}.assignment-status-line{align-items:center;gap:8px;display:flex}.assignment-status-line>small{color:#8490a1;font-size:9px}.assignment-meta-grid{grid-template-columns:1.4fr 1fr .8fr;gap:6px;margin:13px 0;display:grid}.assignment-meta-grid>div{background:#fafbfd;border:1px solid #e7ebf1;border-radius:6px;min-width:0;padding:8px}.assignment-meta-grid span,.assignment-meta-grid strong{display:block}.assignment-meta-grid span{font:750 7px var(--fpga-mono);letter-spacing:.06em;color:#919bad}.assignment-meta-grid strong{color:#495970;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:9px;overflow:hidden}.role-platform_super_admin{color:#2457d6!important;background:#eef3ff!important;border-color:#cbd9ff!important}.role-lab_head{color:#087f99!important;background:#ecfbff!important;border-color:#bdebf5!important}.role-teacher{color:#6557d9!important;background:#f2efff!important;border-color:#ddd7ff!important}.role-student{color:#526179!important;background:#f4f7fb!important;border-color:#dce3ec!important}.school-role-overview{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;display:grid}.school-role-overview>div{background:#fff;border:1px solid #dfe5ed;border-radius:9px;grid-template-columns:42px 1fr;gap:11px;padding:14px;display:grid}.school-role-overview>div>span{width:42px;height:42px;font:800 9px var(--fpga-mono);border-radius:8px;place-items:center;display:grid}.school-role-overview [data-role=lab]>span{color:#087f99;background:#ecfbff}.school-role-overview [data-role=teacher]>span{color:#6557d9;background:#f2efff}.school-role-overview [data-role=student]>span{color:#2457d6;background:#eef3ff}.school-role-overview strong,.school-role-overview small{display:block}.school-role-overview strong{color:#28364c;font-size:11px}.school-role-overview small{color:#7c889a;margin-top:3px;font-size:9px;line-height:1.45}.school-user-grid{grid-template-columns:minmax(0,1.8fr) minmax(310px,.8fr)}.school-account-actions{min-width:400px;padding:9px}.compact-school-form{gap:6px}.inline-password-reset{gap:6px;margin-top:7px;display:flex}.inline-password-reset input{flex:1}.school-account-actions .compact-form{grid-template-columns:1fr 120px 120px auto}.create-school-user-panel{position:sticky;top:80px}.class-management-grid{grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);align-items:start}.class-card-list{gap:11px;display:grid}.class-management-card{background:#fff;border:1px solid #dfe5ed;border-radius:9px;overflow:hidden}.class-management-card>header{background:#fafbfd;border-bottom:1px solid #e5eaf1;justify-content:space-between;align-items:flex-start;gap:15px;padding:14px;display:flex}.class-code{color:#2457d6;font:800 8px var(--fpga-mono);background:#eef3ff;border-radius:5px;padding:3px 6px;display:inline-flex}.class-management-card h3{margin:6px 0 1px;font-size:14px}.class-management-card header p{color:#8490a1;margin:0;font-size:9px}.class-student-count{text-align:right}.class-student-count strong,.class-student-count small{display:block}.class-student-count strong{color:#2457d6;font-size:20px}.class-student-count small{color:#8995a6;font:700 8px var(--fpga-mono);text-transform:uppercase}.class-teacher-line{border-bottom:1px solid #eef1f5;justify-content:space-between;gap:10px;padding:9px 14px;font-size:9px;display:flex}.class-teacher-line span{color:#8793a4}.class-teacher-line strong{color:#526179}.class-member-list{padding:7px 14px}.class-member-list>div{border-bottom:1px solid #f0f2f6;align-items:center;gap:9px;padding:7px 0;display:flex}.class-member-list>div:last-child{border-bottom:0}.avatar-mini{color:#2457d6;width:28px;height:28px;font:800 9px var(--fpga-mono);background:#eef3ff;border-radius:50%;place-items:center;display:grid}.class-member-list>div>div{flex:1;min-width:0}.class-member-list strong,.class-member-list small{display:block}.class-member-list strong{font-size:10px}.class-member-list small{color:#8a95a5;margin-top:2px;font-size:8px}.link-danger{color:#c04a4a;cursor:pointer;background:0 0;border:0;font-size:18px}.empty-line{color:#8b96a6;font-size:9px!important}.add-class-student{background:#fbfcfd;border-top:1px solid #e8ecf2;gap:7px;padding:10px 14px;display:flex}.add-class-student select{flex:1}.class-workflow-note{color:#778599;border:1px dashed #cdd8e7;border-radius:8px;margin-top:16px;padding:12px;font-size:9px;line-height:1.5}.class-workflow-note b{color:#2457d6;font:800 8px var(--fpga-mono);margin-bottom:4px;display:block}.device-grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,.75fr);align-items:start}.device-list{gap:9px;display:grid}.device-inventory-card{background:#fff;border:1px solid #dfe5ed;border-radius:9px;grid-template-columns:42px 1fr;gap:12px;padding:13px;display:grid}.device-chip{color:#2457d6;width:42px;height:42px;font:800 10px var(--fpga-mono);background:#eef3ff;border-radius:8px;place-items:center;display:grid}.device-main header{justify-content:space-between;gap:10px;display:flex}.device-main header strong{color:#2457d6;font:800 8px var(--fpga-mono);display:block}.device-main h3{margin:4px 0 0;font-size:12px}.device-meta{color:#788598;flex-wrap:wrap;align-items:center;gap:6px;margin:7px 0;font-size:8px;display:flex}.device-meta i{background:#c0c9d5;border-radius:50%;width:3px;height:3px}.device-update-form{grid-template-columns:1fr 1fr;gap:6px;margin-top:9px;display:grid}.device-update-form textarea,.device-update-form button{grid-column:1/-1}.school-status-form{align-items:center;gap:6px;display:flex}.school-status-form select{min-width:110px}.practicum-school-list{gap:9px;display:grid}.practicum-school-card{color:inherit;background:#fff;border:1px solid #dfe5ed;border-radius:9px;padding:14px;text-decoration:none;transition:all .15s;display:block}.practicum-card-header{align-items:center;gap:10px;display:flex}.practicum-card-header>div:nth-child(2){flex:1}.practicum-card-header strong,.practicum-card-header small{display:block}.practicum-card-header strong{color:#27354b;font-size:12px}.practicum-card-header small{color:#8190a2;margin-top:3px;font-size:9px}.practicum-card-context{color:#8490a2;background:#fafbfd;border:1px solid #edf0f4;border-radius:6px;gap:18px;margin:11px 0;padding:8px 10px;font-size:8px;display:flex}.practicum-card-context b{color:#47566d}.class-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.class-picker>label{background:#fafbfd;border:1px solid #dde4ed;border-radius:7px;align-items:center;gap:8px;padding:9px;display:flex!important}.class-picker input{width:auto!important}.class-picker strong,.class-picker small{display:block}.class-picker strong{font-size:10px}.class-picker small{color:#8995a7;margin-top:2px;font-size:8px}.practicum-show-head{align-items:flex-end}.practicum-class-chips{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.practicum-class-chips span{color:#50617a;background:#f8faff;border:1px solid #d7e0ee;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:700}.practicum-policy-bar{background:#fff;border:1px solid #dce3ec;border-radius:8px;grid-template-columns:repeat(3,1fr);margin:14px 0;display:grid;overflow:hidden}.practicum-policy-bar>div{border-right:1px solid #e6ebf1;padding:10px 13px}.practicum-policy-bar>div:last-child{border-right:0}.practicum-policy-bar span,.practicum-policy-bar strong{display:block}.practicum-policy-bar span{font:800 7px var(--fpga-mono);letter-spacing:.08em;color:#939cad}.practicum-policy-bar strong{color:#4b5a70;margin-top:4px;font-size:9px}.school-assignment-card{align-items:flex-start}.assignment-main{flex:1}.ai-policy-chip{color:#6557d9;font:750 7px var(--fpga-mono);background:#f2efff;border-radius:5px;padding:3px 6px}.practicum-class-list{gap:7px;display:grid}.practicum-class-list article{background:#fafbfd;border:1px solid #e1e7ef;border-radius:7px;justify-content:space-between;align-items:center;padding:10px;display:flex}.practicum-class-list article>div strong,.practicum-class-list article>div small{display:block}.practicum-class-list article>div strong{margin-top:5px;font-size:10px}.practicum-class-list article>div small{color:#8995a5;margin-top:2px;font-size:8px}.practicum-class-list article>b{color:#2457d6;text-align:center;font-size:17px}.practicum-class-list article>b small{color:#8793a5;font:700 7px var(--fpga-mono);display:block}.school-workspace-rule{background:#f5f8ff;border:1px solid #dbe5f6;border-radius:7px;gap:9px;margin-top:12px;padding:11px;display:flex}.school-workspace-rule>span{color:#2457d6;font:800 8px var(--fpga-mono)}.school-workspace-rule p{color:#68788f;margin:0;font-size:9px;line-height:1.5}.school-workspace-rule strong{color:#344259}.submission-review-list{gap:8px;display:grid}.submission-review-list article{border:1px solid #e0e6ee;border-radius:8px;grid-template-columns:minmax(220px,.65fr) 1.35fr;gap:14px;padding:12px;display:grid}.submission-review-list article>div strong,.submission-review-list article>div span,.submission-review-list article>div small{display:block}.submission-review-list article>div strong{font-size:11px}.submission-review-list article>div span{color:#596a82;margin-top:3px;font-size:9px}.submission-review-list article>div small{color:#8c97a7;margin-top:4px;font-size:8px}.submission-review-list form{gap:7px;display:flex}.submission-review-list textarea{flex:1;min-height:48px}.starter-code-grid{grid-template-columns:1.5fr .8fr;gap:10px;display:grid}@media (width<=1100px){.school-register-shell{grid-template-columns:1fr}.school-register-hero{border-bottom:1px solid #e0e6ee;border-right:0;padding:44px 34px 30px}.tenant-feature-list{grid-template-columns:1fr 1fr}.tenant-feature-list>div{border-bottom:0}.tenant-principles,.role-action-grid{grid-template-columns:repeat(2,1fr)}.school-user-grid,.class-management-grid,.device-grid{grid-template-columns:1fr}.create-school-user-panel{position:static}.student-assignment-grid{grid-template-columns:1fr}.topnav{gap:0}.school-context{display:none}}@media (width<=760px){.school-register-panel{padding:24px 14px 38px}.school-register-hero{padding:34px 20px 22px}.school-register-hero h1{font-size:35px}.tenant-feature-list{grid-template-columns:1fr}.registration-card{padding:20px 16px}.registration-progress{grid-template-columns:1fr 1fr 1fr}.registration-progress>i{display:none}.registration-step{justify-content:center}.registration-step span{display:none}.registration-summary,.tenant-principles,.role-action-grid,.school-role-overview,.practicum-policy-bar{grid-template-columns:1fr}.tenant-principles>div,.practicum-policy-bar>div{border-bottom:1px solid #e2e7ef;border-right:0}.tenant-principles>div:last-child,.practicum-policy-bar>div:last-child{border-bottom:0}.student-context-card{flex-direction:column;align-items:flex-start}.student-access-badge{text-align:left}.class-picker,.submission-review-list article{grid-template-columns:1fr}.submission-review-list form{flex-direction:column}.starter-code-grid{grid-template-columns:1fr}.topnav a{display:none}.topnav a.active{display:inline-flex}.guest-nav>a:not(.button){display:none}.account-chip{border-left:0}}:root{--spectrum-page:#f7f9fc;--spectrum-surface:#fff;--spectrum-surface-soft:#fbfcff;--spectrum-border:#e4e9f1;--spectrum-border-strong:#d6deea;--spectrum-text:#172033;--spectrum-muted:#64748b;--spectrum-blue:#2563eb;--spectrum-blue-soft:#eff6ff;--spectrum-indigo:#4f46e5;--spectrum-indigo-soft:#eef2ff;--spectrum-cyan:#0891b2;--spectrum-cyan-soft:#ecfeff;--spectrum-violet:#7c3aed;--spectrum-violet-soft:#f5f3ff;--spectrum-emerald:#059669;--spectrum-emerald-soft:#ecfdf5;--spectrum-amber:#d97706;--spectrum-amber-soft:#fffbeb;--spectrum-rose:#e11d48;--spectrum-rose-soft:#fff1f2;--spectrum-shadow:0 10px 28px #2d3b5b12;--spectrum-shadow-hover:0 16px 34px #2d3b5b1c;--fpga-bg:var(--spectrum-page);--fpga-primary:var(--spectrum-blue);--fpga-primary-hover:#1d4ed8;--fpga-primary-pressed:#1e40af;--fpga-primary-soft:var(--spectrum-blue-soft);--fpga-purple:var(--spectrum-violet);--fpga-cyan:var(--spectrum-cyan);--fpga-success:var(--spectrum-emerald);--fpga-warning:var(--spectrum-amber);--fpga-danger:var(--spectrum-rose);--fpga-border:var(--spectrum-border);--fpga-border-strong:var(--spectrum-border-strong)}html,body{background:var(--spectrum-page)}body{background-image:radial-gradient(circle at 8% 3%,#4f46e50b,#0000 24rem),radial-gradient(circle at 93% 8%,#0891b20b,#0000 26rem)}.topbar{border-bottom-color:#d6deeae6;box-shadow:0 1px #ffffffe6,0 7px 22px #1e293b06}.brand-mark{background:linear-gradient(145deg, var(--spectrum-blue) 0%, var(--spectrum-indigo) 58%, var(--spectrum-violet) 100%);border-color:#4338ca;box-shadow:0 7px 18px #4f46e533}.brand-mark:before,.brand-mark:after,.brand-mark i,.brand-mark b{background:#ffffff85}.brand-copy small{color:#66739a}.topnav a.active{color:#4338ca;background:var(--spectrum-indigo-soft)}.topnav a.active:after{background:linear-gradient(90deg, var(--spectrum-blue), var(--spectrum-indigo), var(--spectrum-violet))}.school-context{background:linear-gradient(135deg, #f7f7ff, var(--spectrum-indigo-soft));border:1px solid #dfe3ff;box-shadow:0 3px 10px #4f46e50b}.school-context small{color:#818cf8}.school-context strong{color:#3730a3}.account-chip{border-left-color:#e2e7f2}.button.primary{background:linear-gradient(135deg, var(--spectrum-blue), #3154db);border-color:#2454d1;box-shadow:0 6px 14px #2563eb29}.button.primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#4338ca);border-color:#1d4ed8}.button.accent,.success-button{background:var(--spectrum-emerald)!important;border-color:var(--spectrum-emerald)!important;color:#fff!important}.warning-button{background:var(--spectrum-amber-soft)!important;color:#9a5806!important;border-color:#f4d59d!important}.auth-main{background:radial-gradient(circle at 12% 14%,#4f46e51f,#0000 24rem),radial-gradient(circle at 40% 68%,#0891b21a,#0000 29rem),linear-gradient(135deg,#f9fbff 0%,#f3f6ff 48%,#f5fcfd 100%)}.auth-shell:before{background-image:linear-gradient(#4f46e50b 1px,#0000 1px),linear-gradient(90deg,#0891b20a 1px,#0000 1px);background-size:38px 38px}.auth-hero:before,.auth-hero:after{content:"";pointer-events:none;filter:blur(1px);border-radius:999px;position:absolute}.auth-hero:before{background:#7c3aed0e;width:300px;height:300px;bottom:8%;left:-140px}.auth-hero:after{background:#0891b20e;width:240px;height:240px;top:8%;right:2%}.auth-hero-inner{z-index:2;position:relative}.auth-hero .eyebrow{color:#4f46e5;background:#ffffffb8;border:1px solid #dfe3ff;border-radius:999px;width:max-content;padding:6px 9px}.auth-hero h1{background:linear-gradient(112deg,#172033 8%,#312e81 58%,#0e7490 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.engineering-features{gap:12px}.engineering-feature{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffbd;border:1px solid #dee4eff2;border-radius:10px;padding:11px 12px;box-shadow:0 8px 22px #1f293709}.feature-symbol{box-shadow:none;border:0}.feature-school .feature-symbol{color:#4338ca;background:var(--spectrum-indigo-soft)}.feature-hdl .feature-symbol{color:#1d4ed8;background:var(--spectrum-blue-soft)}.feature-ai .feature-symbol{color:#6d28d9;background:var(--spectrum-violet-soft)}.feature-jtag .feature-symbol{color:#a16207;background:var(--spectrum-amber-soft)}.feature-school{border-color:#e2e4ff}.feature-hdl{border-color:#dbeafe}.feature-ai{border-color:#e9ddff}.feature-jtag{border-color:#f7e5bd}.auth-panel{background:linear-gradient(90deg,#f7f9fc1f,#f7f9fcb8 30%,#f7f9fcfa)}.auth-card{border-color:#dfe5f0;box-shadow:0 24px 60px #2e395921}.auth-card:before{content:"";background:linear-gradient(90deg, var(--spectrum-blue), var(--spectrum-indigo), var(--spectrum-violet), var(--spectrum-cyan));border-radius:12px 12px 0 0;height:4px;margin:-31px -31px 26px;display:block}.school-register-cta{background:linear-gradient(135deg, #fbfaff, var(--spectrum-violet-soft));border-color:#e1ddff}.school-register-cta .button{color:#5b21b6;background:#fff;border-color:#ddd2ff}.school-register-main{background:radial-gradient(circle at 8% 10%, #4f46e51a, transparent 26rem), radial-gradient(circle at 84% 75%, #0891b214, transparent 28rem), var(--spectrum-page)}.school-register-shell{background-image:linear-gradient(#4f46e509 1px,#0000 1px),linear-gradient(90deg,#0891b208 1px,#0000 1px)}.school-register-hero{background:linear-gradient(145deg,#f7f8fff0,#eff6ffe6 48%,#ecfeffbd)}.school-register-hero h1{background:linear-gradient(115deg,#172033 5%,#3730a3 62%,#0e7490);color:#0000;-webkit-background-clip:text;background-clip:text}.tenant-feature-list>div{border-bottom-color:#d8dfebb3}.tenant-feature-list>div>span{border:0}.tenant-feature-list>div:first-child>span{background:var(--spectrum-indigo-soft);color:#4338ca}.tenant-feature-list>div:nth-child(2)>span{background:var(--spectrum-violet-soft);color:#6d28d9}.tenant-feature-list>div:nth-child(3)>span{background:var(--spectrum-cyan-soft);color:#0e7490}.tenant-feature-list>div:nth-child(4)>span{background:var(--spectrum-emerald-soft);color:#047857}.registration-card{border-color:#dfe5ef;box-shadow:0 22px 58px #2e39591a}.registration-card:before{content:"";background:linear-gradient(90deg, var(--spectrum-indigo), var(--spectrum-blue), var(--spectrum-cyan), var(--spectrum-emerald));border-radius:12px 12px 0 0;height:4px;margin:-30px -30px 25px;display:block}.registration-step.active{color:#4f46e5}.registration-step.active b{background:linear-gradient(135deg, var(--spectrum-blue), var(--spectrum-indigo));border-color:#4f46e5}.registration-step.complete{color:#047857}.registration-step.complete b{background:var(--spectrum-emerald-soft);color:#047857;border-color:#a7e5cb}.form-section-title>span{background:var(--spectrum-indigo-soft);color:#4338ca}.role-preview-card{border-left-color:var(--spectrum-cyan);background:linear-gradient(135deg, #fbfeff, var(--spectrum-cyan-soft))}.page-head .eyebrow,.panel-kicker{color:#4f46e5}.school-dashboard-head{box-shadow:var(--spectrum-shadow);background:radial-gradient(circle at 90% -15%,#0891b221,#0000 17rem),radial-gradient(circle at 72% 125%,#7c3aed17,#0000 18rem),linear-gradient(125deg,#fff 0%,#f8f9ff 50%,#f2fbfd 100%);border:1px solid #e0e5f2;border-radius:14px;padding:22px 24px;position:relative;overflow:hidden}.school-dashboard-head:after{content:"";opacity:.28;clip-path:polygon(0 55%,16% 55%,16% 10%,32% 10%,32% 72%,48% 72%,48% 28%,64% 28%,64% 88%,80% 88%,80% 45%,100% 45%,100% 50%,78% 50%,78% 93%,62% 93%,62% 33%,46% 33%,46% 77%,30% 77%,30% 15%,18% 15%,18% 60%,0 60%);background:linear-gradient(90deg,#0000 0 8%,#4f46e5 8% 10%,#0000 10% 22%,#0891b2 22% 24%,#0000 24% 36%,#059669 36% 38%,#0000 38%);width:116px;height:38px;position:absolute;bottom:14px;right:24px}.school-dashboard-head>*{z-index:1;position:relative}.stats{gap:15px}.stat{border-color:#e2e7f0;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 8px 24px #2c38580e}.stat:hover{box-shadow:var(--spectrum-shadow-hover);transform:translateY(-2px)}.stat:after{width:4px}.stat:before{content:"";background:#94a3b80e;border-radius:50%;width:112px;height:112px;position:absolute;top:-42px;right:-34px}.stat[data-tone=blue]{background:linear-gradient(145deg,#fff,#f7fbff);border-color:#deebff}.stat[data-tone=blue]:after{background:var(--spectrum-blue)}.stat[data-tone=blue] b,.stat[data-tone=blue] strong{color:#1d4ed8}.stat[data-tone=indigo]{background:linear-gradient(145deg,#fff,#f8f8ff);border-color:#e2e3ff}.stat[data-tone=indigo]:after{background:var(--spectrum-indigo)}.stat[data-tone=indigo] b,.stat[data-tone=indigo] strong{color:#4338ca}.stat[data-tone=violet]{background:linear-gradient(145deg,#fff,#fbf8ff);border-color:#eadfff}.stat[data-tone=violet]:after{background:var(--spectrum-violet)}.stat[data-tone=violet] b,.stat[data-tone=violet] strong{color:#6d28d9}.stat[data-tone=cyan]{background:linear-gradient(145deg,#fff,#f5fdff);border-color:#d7f1f6}.stat[data-tone=cyan]:after{background:var(--spectrum-cyan)}.stat[data-tone=cyan] b,.stat[data-tone=cyan] strong{color:#0e7490}.stat[data-tone=emerald]{background:linear-gradient(145deg,#fff,#f6fdf9);border-color:#d6f0e3}.stat[data-tone=emerald]:after{background:var(--spectrum-emerald)}.stat[data-tone=emerald] b,.stat[data-tone=emerald] strong{color:#047857}.stat[data-tone=amber]{background:linear-gradient(145deg,#fff,#fffaf0);border-color:#f5e5c4}.stat[data-tone=amber]:after{background:var(--spectrum-amber)}.stat[data-tone=amber] b,.stat[data-tone=amber] strong{color:#a16207}.stat[data-tone=rose]{background:linear-gradient(145deg,#fff,#fff7f8);border-color:#f7dce3}.stat[data-tone=rose]:after{background:var(--spectrum-rose)}.stat[data-tone=rose] b,.stat[data-tone=rose] strong{color:#be123c}.stat[data-tone=primary]{background:linear-gradient(145deg,#fff,#f7fbff)}.stat[data-tone=success]{background:linear-gradient(145deg,#fff,#f6fdf9)}.panel{border-color:#e1e7ef;box-shadow:0 8px 24px #2c38580b}.panel-head{background:linear-gradient(90deg,#fcfdff,#f8faff)}.role-action-grid>a{position:relative;overflow:hidden}.role-action-grid>a:after{content:"";opacity:.8;background:#cbd5e1;height:3px;position:absolute;inset:auto 0 0}.role-action-grid>a:first-child>span{background:var(--spectrum-violet-soft);color:#6d28d9}.role-action-grid>a:first-child:after{background:var(--spectrum-violet)}.role-action-grid>a:nth-child(2)>span{background:var(--spectrum-blue-soft);color:#1d4ed8}.role-action-grid>a:nth-child(2):after{background:var(--spectrum-blue)}.role-action-grid>a:nth-child(3)>span{background:var(--spectrum-amber-soft);color:#a16207}.role-action-grid>a:nth-child(3):after{background:var(--spectrum-amber)}.role-action-grid>a:nth-child(4)>span{background:var(--spectrum-emerald-soft);color:#047857}.role-action-grid>a:nth-child(4):after{background:var(--spectrum-emerald)}.tenant-principles>div:first-child b{color:#4338ca}.tenant-principles>div:nth-child(2) b{color:#0e7490}.tenant-principles>div:nth-child(3) b{color:#6d28d9}.tenant-principles>div:nth-child(4) b{color:#047857}.workflow-strip>div:first-of-type>b{background:var(--spectrum-blue);border-color:var(--spectrum-blue);color:#fff}.workflow-strip>div:nth-of-type(2)>b{color:#1d4ed8;background:var(--spectrum-blue-soft);border-color:#cfe1ff}.workflow-strip>div:nth-of-type(3)>b{color:#6d28d9;background:var(--spectrum-violet-soft);border-color:#e2d8ff}.workflow-strip>div:nth-of-type(4)>b{color:#047857;background:var(--spectrum-emerald-soft);border-color:#ccebdc}.student-context-card{box-shadow:var(--spectrum-shadow);background:radial-gradient(circle at 88% 10%,#0891b21f,#0000 14rem),linear-gradient(105deg,#fff 0%,#f7f7ff 54%,#f1fcfe 100%);border-color:#dfe3ff}.student-context-card .eyebrow{color:#4f46e5}.student-access-badge{background:linear-gradient(135deg, var(--spectrum-indigo-soft), var(--spectrum-violet-soft));border-color:#ddd7ff}.student-access-badge strong{color:#5b21b6}.student-assignment-card{border-color:#e2e7f0;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden;box-shadow:0 7px 22px #2c38580b}.student-assignment-card:before{content:"";background:linear-gradient(90deg, var(--spectrum-blue), var(--spectrum-violet), var(--spectrum-emerald));height:3px;position:absolute;top:0;left:0;right:0}.student-assignment-card:hover{box-shadow:var(--spectrum-shadow-hover);border-color:#cbd7ee;transform:translateY(-2px)}.assignment-meta-grid>div:first-child{background:var(--spectrum-blue-soft);border-color:#dbeafe}.assignment-meta-grid>div:nth-child(2){background:var(--spectrum-amber-soft);border-color:#f5e6c5}.assignment-meta-grid>div:nth-child(3){background:var(--spectrum-violet-soft);border-color:#e8ddff}.role-platform_super_admin,.role-super_admin{background:var(--spectrum-indigo-soft);color:#4338ca;border-color:#d8dbff}.role-lab_head{background:var(--spectrum-cyan-soft);color:#0e7490;border-color:#c8edf3}.role-teacher,.role-instructor{background:var(--spectrum-violet-soft);color:#6d28d9;border-color:#e4d8ff}.role-student{background:var(--spectrum-blue-soft);color:#1d4ed8;border-color:#dbeafe}.avatar-mini:nth-child(5n+1){background:var(--spectrum-blue-soft);color:#1d4ed8}.avatar-mini:nth-child(5n+2){background:var(--spectrum-violet-soft);color:#6d28d9}.avatar-mini:nth-child(5n+3){background:var(--spectrum-cyan-soft);color:#0e7490}.avatar-mini:nth-child(5n+4){background:var(--spectrum-emerald-soft);color:#047857}.avatar-mini:nth-child(5n+5){background:var(--spectrum-amber-soft);color:#a16207}.class-code{background:var(--spectrum-blue-soft);color:#1d4ed8}.class-management-card{box-shadow:0 6px 20px #2c38580a}.class-management-card:nth-child(4n+1){border-top:3px solid var(--spectrum-blue)}.class-management-card:nth-child(4n+2){border-top:3px solid var(--spectrum-violet)}.class-management-card:nth-child(4n+3){border-top:3px solid var(--spectrum-cyan)}.class-management-card:nth-child(4n+4){border-top:3px solid var(--spectrum-emerald)}.device-inventory-card{box-shadow:0 6px 20px #2c38580a}.device-chip{background:linear-gradient(135deg, var(--spectrum-amber-soft), #fff7dc);color:#a16207}.device-inventory-card:has(select option[value=available]:checked){border-left:3px solid var(--spectrum-emerald)}.practicum-school-card{position:relative;overflow:hidden}.practicum-school-card:before{content:"";background:var(--spectrum-emerald);width:3px;position:absolute;top:0;bottom:0;left:0}.practicum-school-card:hover{border-color:#b8dfcc;box-shadow:0 10px 26px #05966914}.ai-policy-chip{background:var(--spectrum-violet-soft);color:#6d28d9}.join-code-card{background:linear-gradient(135deg, #fbfbff, var(--spectrum-indigo-soft));border-color:#cfd7ff}.join-code-card strong{color:#4338ca}.school-workspace-rule{background:linear-gradient(135deg, #f9faff, var(--spectrum-indigo-soft));border-color:#dce3ff}.school-workspace-rule>span{color:#4338ca}.studio-shell{background:#f7f9fc}.studio-toolbar{background:linear-gradient(90deg,#fff,#fbfcff 62%,#f7fbff);border-bottom-color:#dde4ef}.studio-project-identity .eyebrow{color:#4f46e5}.file-pane,.editor-pane,.info-pane,.bottom-pane{border-color:#e2e7ef}.explorer-root>summary{color:#4338ca}.file-item.active{background:var(--spectrum-indigo-soft);color:#3730a3;border-left-color:var(--spectrum-indigo)}.file-item:hover{background:#f5f8ff}.board-card{background:linear-gradient(135deg, #fbfbff, var(--spectrum-indigo-soft));border-color:#dde0ff}.board-card-head .board-icon{background:var(--spectrum-indigo-soft);color:#4338ca}.agent-state[data-state=online]{background:var(--spectrum-emerald-soft);border-color:#caead9}.agent-state[data-state=offline]{background:var(--spectrum-rose-soft);border-color:#f4d3dc}.agent-state[data-state=checking]{background:var(--spectrum-amber-soft);border-color:#f2dfba}.ai-header{background:linear-gradient(120deg, #fbfaff, var(--spectrum-violet-soft) 58%, #f3f8ff);border-bottom:1px solid #e8e2ff;margin:-10px -10px 9px;padding:12px 10px 10px}.ai-brand-mark{background:linear-gradient(135deg, var(--spectrum-violet), var(--spectrum-indigo), var(--spectrum-blue));color:#fff;box-shadow:0 6px 14px #6d28d92e}.ai-mode-tabs{background:#f8f9fd}.ai-mode-tabs button[data-ai-tab=chat].active{color:#1d4ed8;background:var(--spectrum-blue-soft);border-color:#bfdbfe}.ai-mode-tabs button[data-ai-tab=generator].active{color:#6d28d9;background:var(--spectrum-violet-soft);border-color:#ddd2ff}.ai-mode-tabs button[data-ai-tab=diagnostics].active{color:#a16207;background:var(--spectrum-amber-soft);border-color:#f2dbad}.ai-message.assistant .ai-message-label{color:#6d28d9}.ai-message.assistant .ai-message-body{background:linear-gradient(135deg,#fff,#faf7ff);border-color:#e8ddff}.ai-quick-actions button{color:#5b21b6;background:var(--spectrum-violet-soft);border-color:#e1d6ff}#btn-ai-generate,#btn-ai-fix,#btn-ai-apply-build{background:linear-gradient(135deg, var(--spectrum-violet), var(--spectrum-indigo));border-color:#5b21b6;box-shadow:0 7px 16px #6d28d929}.ai-section-number:first-of-type{color:#1d4ed8}.ai-section-number:nth-of-type(2){color:#6d28d9}.ai-section-row .ai-section-number{color:#a16207}.ai-detected-list{background:#fbfdff}.ai-diagnostic-card{background:linear-gradient(135deg, #fff, var(--spectrum-amber-soft));border-color:#f0dfbd}.ai-modal-header{background:linear-gradient(90deg, #fbfaff, var(--spectrum-violet-soft))}.ai-proposal-sidebar{background:#faf9ff}.ai-diff-grid>div:last-child pre{background:#f5fcf8}.bottom-tabs button:first-child.active{color:#1d4ed8;border-bottom-color:var(--spectrum-blue)}.bottom-tabs button:nth-child(2).active{color:#be123c;border-bottom-color:var(--spectrum-rose)}.bottom-tabs button:nth-child(3).active{color:#047857;border-bottom-color:var(--spectrum-emerald)}.badge.running{color:#1d4ed8;background:var(--spectrum-blue-soft);border-color:#bfdbfe}.badge.success{color:#047857;background:var(--spectrum-emerald-soft);border-color:#bae6cf}.badge.failed{color:#be123c;background:var(--spectrum-rose-soft);border-color:#fecdd3}.badge.warning{color:#a16207;background:var(--spectrum-amber-soft);border-color:#fde3ad}.problems-box .problem-error,.problem-row.error{background:var(--spectrum-rose-soft);border-color:#f7d5dd}.problems-box .problem-warning,.problem-row.warning{background:var(--spectrum-amber-soft);border-color:#f4e0b8}.metrics-box .metric:nth-child(4n+1) .metric-bar>span{background:var(--spectrum-blue)}.metrics-box .metric:nth-child(4n+2) .metric-bar>span{background:var(--spectrum-cyan)}.metrics-box .metric:nth-child(4n+3) .metric-bar>span{background:var(--spectrum-violet)}.metrics-box .metric:nth-child(4n+4) .metric-bar>span{background:var(--spectrum-amber)}.alert.success{color:#166534;background:var(--spectrum-emerald-soft);border-color:#bbebd1}.alert.error{color:#9f1239;background:var(--spectrum-rose-soft);border-color:#f5cbd5}.professional-empty{background:radial-gradient(circle at 15% 20%,#2563eb12,#0000 12rem),radial-gradient(circle at 88% 78%,#7c3aed11,#0000 13rem),#fff}.professional-empty .empty-chip{background:linear-gradient(135deg, var(--spectrum-blue), var(--spectrum-indigo));color:#fff}*{scrollbar-color:#bec8dc #f7f9fc}::-webkit-scrollbar-track{background:#f7f9fc}::-webkit-scrollbar-thumb{background:#bec8dc;border-color:#f7f9fc}::-webkit-scrollbar-thumb:hover{background:#9daac4}@media (width<=940px){.school-dashboard-head:after{display:none}}@media (width<=700px){.engineering-feature{padding:10px}.school-dashboard-head{padding:18px}.auth-card:before{margin:-31px -31px 22px}.registration-card:before{margin:-20px -16px 20px}}:root{--dash-bg:#f6f9fe;--dash-blue:#2563eb;--dash-blue-soft:#eaf2ff;--dash-indigo:#4f46e5;--dash-indigo-soft:#eef2ff;--dash-violet:#7c3aed;--dash-violet-soft:#f4efff;--dash-cyan:#0891b2;--dash-cyan-soft:#e9fbff;--dash-emerald:#059669;--dash-emerald-soft:#eafaf3;--dash-amber:#d97706;--dash-amber-soft:#fff5e9;--dash-rose:#e11d48;--dash-rose-soft:#fff0f3;--dash-navy:#10295c;--dash-border:#dbe6f5;--dash-card-shadow:0 8px 28px #284a870d}.public-body{color:#12295b;background:#fff}.public-header{z-index:300;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-bottom:1px solid #dbe5f3;height:72px;position:sticky;top:0}.public-nav-wrap{justify-content:space-between;align-items:center;gap:28px;width:min(1180px,100% - 36px);height:100%;margin:0 auto;display:flex}.public-brand{color:#18376e;white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.public-brand b{color:#2d67e9}.public-brand-mark{color:#fff;letter-spacing:-.03em;background:linear-gradient(145deg,#3b82f6,#285dd7);border-radius:8px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:900;display:grid;position:relative;box-shadow:0 7px 17px #2563eb2e}.public-brand-mark:before{content:"";border:1px solid #ffffffa6;border-radius:2px;width:6px;height:6px;position:absolute;top:8px;left:7px}.public-brand-mark:after{content:"";background:#fff9;width:7px;height:1px;position:absolute;bottom:8px;right:4px}.public-nav{align-items:center;gap:28px;margin-left:auto;display:flex}.public-nav a,.public-login-link{color:#4d5f82;font-size:13px;font-weight:650;text-decoration:none;transition:all .15s}.public-nav a:hover,.public-login-link:hover{color:#2563eb}.public-actions{align-items:center;gap:16px;display:flex}.public-cta{min-height:42px;padding:10px 18px;box-shadow:0 8px 22px #2563eb2e}.public-mobile-toggle{color:#15356a;background:0 0;border:0;font-size:22px;display:none}.public-mobile-menu{background:#fff;border-bottom:1px solid #dbe5f3;padding:14px 20px 20px;display:none;position:absolute;top:71px;left:0;right:0;box-shadow:0 18px 40px #2343781a}.public-mobile-menu.open{gap:4px;display:grid}.public-mobile-menu a{color:#334d77;border-radius:8px;padding:10px;font-weight:700;text-decoration:none}.public-mobile-menu a:hover{color:#2563eb;background:#eff5ff}.public-alert{z-index:320;border:1px solid;border-radius:9px;gap:10px;width:min(760px,100% - 32px);margin:14px auto -4px;padding:11px 14px;font-size:13px;display:flex;position:relative}.public-alert.success{color:#166534;background:#ecfdf5;border-color:#bbf7d0}.public-alert.error{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.landing-page{background:#fff}.landing-hero{background:linear-gradient(115deg,#f8fbff 0%,#f5f9ff 58%,#edf4ff 100%);border-bottom:1px solid #dce7f6;min-height:610px;position:relative;overflow:hidden}.landing-grid-bg{opacity:.8;background-image:linear-gradient(#496aa718 1px,#0000 1px),linear-gradient(90deg,#496aa718 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#000c 72%,#0000 100%);mask-image:linear-gradient(#000 0%,#000c 72%,#0000 100%)}.landing-hero:after{content:"";background:radial-gradient(circle,#3f6cf51a,#0000 68%);border-radius:50%;width:560px;height:560px;position:absolute;top:-210px;right:-220px}.landing-hero-inner{z-index:2;grid-template-columns:1.08fr .92fr;align-items:center;gap:66px;width:min(1180px,100% - 40px);min-height:610px;margin:0 auto;padding:68px 0 74px;display:grid;position:relative}.landing-badge{color:#3463c7;width:max-content;max-width:100%;font:700 11px/1 var(--fpga-mono);background:#ffffffdb;border:1px solid #cddcf6;border-radius:999px;align-items:center;gap:9px;padding:8px 14px;display:flex;box-shadow:0 5px 13px #2457d60d}.landing-badge span{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #dcfce7}.landing-copy h1{letter-spacing:-.045em;color:#102b62;max-width:650px;margin:25px 0 19px;font-size:clamp(44px,5.1vw,70px);line-height:1.04}.landing-copy h1 em{color:#2d67e9;font-style:normal}.landing-copy>p{color:#536789;max-width:630px;margin:0;font-size:17px;line-height:1.67}.landing-hero-actions{gap:12px;margin-top:28px;display:flex}.hero-button,.hero-secondary{min-height:50px;padding:12px 20px;font-size:13px}.hero-button{box-shadow:0 12px 25px #2563eb33}.hero-secondary{border-color:#c9d8ed}.landing-capability-row{color:#4e6285;font:700 10px/1.2 var(--fpga-mono);flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px;display:flex}.landing-capability-row span{align-items:center;gap:8px;display:flex}.landing-capability-row span:not(:first-child):before{content:"";background:#8ea2c5;border-radius:50%;width:3px;height:3px}.landing-capability-row i{background:#22c55e;border-radius:50%;width:6px;height:6px}.landing-product-card{background:#fffffff5;border:1px solid #d7e2f2;border-radius:18px;padding:16px;box-shadow:0 26px 55px #2a467d21}.product-card-head{color:#697b99;font:650 10px/1 var(--fpga-mono);justify-content:space-between;align-items:center;padding:2px 2px 14px;display:flex}.product-card-head b{color:#15803d;font-size:9px}.product-card-head b i{background:#22c55e;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.product-card-body{background:#fbfdff;border:1px solid #d9e5f6;border-radius:12px;grid-template-columns:1.16fr .84fr;min-height:282px;display:grid;overflow:hidden}.mini-editor{border-right:1px solid #dbe6f4}.mini-tabs{color:#5c6f8e;height:34px;font:700 9px/1 var(--fpga-mono);background:#f4f8fe;border-bottom:1px solid #dbe6f4;padding:10px 13px}.mini-editor pre{color:#263f6b;font:500 11px/1.8 var(--fpga-mono);margin:0;padding:20px 16px}.mini-editor pre span{color:#6557d9;font-weight:800}.mini-pipeline{background:#f7faff;padding:16px 13px}.mini-pipeline>strong{color:#6b7c99;font:800 9px/1 var(--fpga-mono);letter-spacing:.12em;margin-bottom:12px;display:block}.pipeline-item{color:#314b75;border-bottom:1px solid #e2e9f4;grid-template-columns:21px 1fr auto;align-items:center;gap:7px;min-height:36px;font-size:10px;display:grid}.pipeline-item:last-child{border:0}.pipeline-item b{border-radius:6px;place-items:center;width:20px;height:20px;font-size:9px;display:grid}.pipeline-item.cyan b{color:#0891b2;background:#e7fbff}.pipeline-item.blue b{color:#2563eb;background:#ebf2ff}.pipeline-item.violet b{color:#7c3aed;background:#f3efff}.pipeline-item.amber b{color:#d97706;background:#fff4e4}.pipeline-item.green b{color:#059669;background:#e9fbf3}.pipeline-item span{font-weight:750}.pipeline-item small{font:650 8px/1 var(--fpga-mono);color:#8494ac}.product-metrics{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px;display:grid}.product-metrics div{background:#f7faff;border:1px solid #dce7f5;border-radius:10px;padding:12px}.product-metrics span{color:#8798b2;font:800 8px/1 var(--fpga-mono);letter-spacing:.08em;display:block}.product-metrics strong{color:#173568;margin-top:6px;font-size:18px;display:inline-block}.product-metrics small{color:#6c7e9b;margin-left:3px}.landing-audience-strip{color:#75839b;border-bottom:1px solid #e0e8f3;flex-wrap:wrap;justify-content:center;align-items:center;gap:34px;min-height:70px;padding:18px 28px;display:flex}.landing-audience-strip span{font:800 9px/1 var(--fpga-mono);letter-spacing:.16em}.landing-audience-strip b{color:#62718e;font-size:13px}.landing-section{width:min(1120px,100% - 40px);margin:0 auto;padding:92px 0}.section-eyebrow{color:#2864df;font:800 10px/1 var(--fpga-mono);letter-spacing:.16em;text-align:center}.section-eyebrow.purple{color:#7c3aed}.section-heading{text-align:center;max-width:760px;margin:13px auto 42px}.section-heading h2,.pipeline-copy h2,.ai-copy h2,.hardware-copy h2,.code-copy h2{color:#102b62;letter-spacing:-.035em;margin:0;font-size:clamp(30px,3.6vw,46px);line-height:1.12}.section-heading p,.pipeline-copy p,.ai-copy p,.hardware-copy p,.code-copy p{color:#657692;margin:13px auto 0;font-size:15px;line-height:1.7}.workspace-cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.workspace-card{background:#fff;border:1px solid #dce6f4;border-radius:15px;padding:28px;position:relative;overflow:hidden;box-shadow:0 12px 32px #25457c0b}.workspace-card:before{content:"";background:var(--tone);height:4px;position:absolute;top:0;left:0;right:0}.workspace-card.indigo{--tone:#4f46e5;--soft:#eef2ff}.workspace-card.violet{--tone:#7c3aed;--soft:#f5f3ff}.workspace-card.cyan{--tone:#0891b2;--soft:#ecfeff}.workspace-icon{background:var(--soft);width:46px;height:46px;color:var(--tone);font:900 11px/1 var(--fpga-mono);border-radius:12px;place-items:center;display:grid}.workspace-card>small{color:var(--tone);font:800 9px/1 var(--fpga-mono);letter-spacing:.13em;margin-top:22px;display:block}.workspace-card h3{color:#173568;margin:9px 0;font-size:23px}.workspace-card p{color:#667794;line-height:1.65}.workspace-card ul{color:#465c81;gap:9px;margin:20px 0 0;padding:0;list-style:none;display:grid}.workspace-card li:before{content:"✓";color:var(--tone);margin-right:8px;font-weight:900}.steps-section{border-top:1px solid #edf1f7}.fpga-steps{justify-content:center;align-items:stretch;gap:10px;display:flex}.fpga-steps article{text-align:center;background:#fff;border:1px solid #dce6f4;border-radius:13px;flex:1;min-width:0;padding:22px 16px}.fpga-steps>i{color:#a0adc2;align-self:center;font-style:normal}.fpga-steps article>b{text-align:left;color:#94a3b8;font:800 9px/1 var(--fpga-mono);display:block}.step-icon{color:#2563eb;background:#eef4ff;border-radius:12px;place-items:center;width:44px;height:44px;margin:15px auto 12px;font-weight:900;display:grid}.fpga-steps article:nth-of-type(2) .step-icon{color:#0891b2;background:#e9fbff}.fpga-steps article:nth-of-type(3) .step-icon{color:#7c3aed;background:#f3efff}.fpga-steps article:nth-of-type(4) .step-icon{color:#d97706;background:#fff5e9}.fpga-steps article:nth-of-type(5) .step-icon{color:#059669;background:#eafaf3}.fpga-steps h3{color:#173568;margin:0;font-size:16px}.fpga-steps p{color:#75859f;margin:7px 0 0;font-size:12px;line-height:1.5}.pipeline-section{background:linear-gradient(135deg,#f4f8ff,#f7fbff);border-top:1px solid #e1eaf6;border-bottom:1px solid #e1eaf6;grid-template-columns:.82fr 1.18fr;align-items:center;gap:72px;width:100%;max-width:none;padding:92px max(20px,50vw - 560px);display:grid}.pipeline-copy .section-eyebrow,.ai-copy .section-eyebrow,.hardware-copy .section-eyebrow,.code-copy .section-eyebrow{text-align:left}.pipeline-copy h2,.ai-copy h2,.hardware-copy h2,.code-copy h2{margin-top:14px}.feature-checks{grid-template-columns:1fr 1fr;gap:10px;margin:24px 0;display:grid}.feature-checks span{color:#486184;font-size:12px}.text-link{color:#2563eb;font-weight:800;text-decoration:none}.large-pipeline-card{background:#fff;border:1px solid #d8e5f5;border-radius:16px;padding:20px;box-shadow:0 18px 42px #23458014}.large-pipeline-head{font:750 10px/1 var(--fpga-mono);color:#6a7b99;border-bottom:1px solid #e5ebf3;justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.large-pipeline-head b{color:#15803d}.large-pipeline-row{border-bottom:1px solid #edf1f6;grid-template-columns:42px 140px 1fr 64px;align-items:center;gap:12px;min-height:58px;display:grid}.large-pipeline-row:last-child{border:0}.large-pipeline-row span{width:30px;height:30px;font:850 9px/1 var(--fpga-mono);border-radius:8px;place-items:center;display:grid}.large-pipeline-row.cyan span{color:#0891b2;background:#e8fbff}.large-pipeline-row.blue span{color:#2563eb;background:#eaf2ff}.large-pipeline-row.violet span{color:#7c3aed;background:#f3efff}.large-pipeline-row.amber span{color:#d97706;background:#fff4e5}.large-pipeline-row.green span{color:#059669;background:#e9fbf3}.large-pipeline-row strong{color:#29466f;font-size:13px}.large-pipeline-row i{background:linear-gradient(90deg,#2563eb 80%,#e5ebf3 80%);border-radius:99px;height:5px}.large-pipeline-row small{font:700 9px/1 var(--fpga-mono);color:#7889a3;text-align:right}.ai-landing-section{grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;display:grid}.ai-preview-card{background:linear-gradient(145deg,#fcfbff,#f8f7ff);border:1px solid #e0dcf8;border-radius:16px;padding:20px;box-shadow:0 18px 42px #5e43b414}.ai-preview-head{color:#594ab9;border-bottom:1px solid #e5e0f7;justify-content:space-between;padding-bottom:14px;font-weight:800;display:flex}.ai-preview-head b{font:800 9px/1 var(--fpga-mono);color:#15803d}.ai-msg{border-radius:12px;max-width:86%;margin-top:18px;padding:13px 15px;font-size:12px;line-height:1.6}.ai-msg.user{color:#2b4c80;background:#eaf2ff;margin-left:auto}.ai-msg.assistant{color:#465777;background:#fff;border:1px solid #dfdbf5}.ai-msg.assistant small{color:#7c3aed;font:850 9px/1 var(--fpga-mono);letter-spacing:.1em}.ai-msg pre{font:600 11px/1.6 var(--fpga-mono);color:#29415f;background:#f7f7fc;border:1px solid #eceaf7;border-radius:8px;margin:11px 0;padding:10px}.ai-msg button{color:#6557d9;background:#f4f1ff;border:1px solid #cec6f4;border-radius:7px;padding:7px 10px;font-weight:800}.ai-capabilities{flex-wrap:wrap;gap:8px;margin:22px 0;display:flex}.ai-capabilities span{color:#6d50c8;background:#f5f3ff;border:1px solid #e3dcfa;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:700}.purple-link{color:#7c3aed}.hardware-section{border-top:1px solid #edf1f7;grid-template-columns:1.05fr .95fr;align-items:center;gap:72px;display:grid}.browser-to-board{flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;display:flex}.browser-to-board span,.browser-to-board b{color:#3d567c;font:750 10px/1 var(--fpga-mono);background:#fff;border:1px solid #d8e4f4;border-radius:8px;padding:8px 10px}.browser-to-board b{color:#059669;background:#eafaf3;border-color:#c9ead9}.browser-to-board i{color:#93a4bf;font-style:normal}.device-preview{background:#fff;border:1px solid #dbe6f4;border-radius:16px;max-width:390px;margin-left:auto;padding:22px;box-shadow:0 18px 42px #23458012}.device-preview-head{color:#73839d;font:800 9px/1 var(--fpga-mono);justify-content:space-between;display:flex}.device-preview-head b{color:#15803d}.device-preview-head i{background:#22c55e;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.device-chip{color:#2563eb;background:linear-gradient(145deg,#ecfeff,#eef4ff);border:1px solid #d2e6f4;border-radius:17px;place-items:center;width:66px;height:66px;margin:25px auto 12px;font-weight:900;display:grid}.device-preview h3{text-align:center;color:#15356a;margin:0 0 22px;font-size:23px}.device-preview dl{margin:0 0 18px}.device-preview dl div{border-bottom:1px solid #edf1f6;justify-content:space-between;padding:10px 0;display:flex}.device-preview dt{color:#8190a8}.device-preview dd{color:#344e76;margin:0;font-weight:750}.device-preview .button{width:100%}.code-landing-section{background:#fbfcfe;grid-template-columns:.8fr 1.2fr;align-items:center;gap:72px;display:grid}.code-meta{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:23px;display:grid}.code-meta div{background:#fff;border:1px solid #dfe7f2;border-radius:9px;padding:11px}.code-meta span{color:#8997ac;font:750 8px/1 var(--fpga-mono);display:block}.code-meta b{color:#29466e;margin-top:5px;font-size:11px;display:block}.landing-code-card{background:#fcfdff;border:1px solid #d6e1ef;border-radius:15px;overflow:hidden;box-shadow:0 16px 38px #1d3c7011}.code-card-head{font:700 10px/1 var(--fpga-mono);color:#61728e;background:#f5f8fc;border-bottom:1px solid #dce5f1;justify-content:space-between;padding:12px 15px;display:flex}.landing-code-card pre{color:#203b67;font:550 12px/1.72 var(--fpga-mono);margin:0;padding:22px;overflow:auto}.use-case-section{border-top:1px solid #edf1f7}.use-case-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.use-case-grid article{background:#fff;border:1px solid #dce5f2;border-radius:13px;padding:24px}.use-case-grid article div{color:#2563eb;font:850 10px/1 var(--fpga-mono)}.use-case-grid article:nth-child(2) div{color:#7c3aed}.use-case-grid article:nth-child(3) div{color:#0891b2}.use-case-grid article:nth-child(4) div{color:#d97706}.use-case-grid h3{color:#193765;margin:15px 0 8px}.use-case-grid p{color:#71819a;margin:0;font-size:12px;line-height:1.6}.faq-section{padding-top:76px}.faq-list{border-top:1px solid #dfe7f2;max-width:850px;margin:0 auto}.faq-list details{border-bottom:1px solid #dfe7f2}.faq-list summary{cursor:pointer;color:#173568;padding:20px 4px;font-size:15px;font-weight:800;list-style:none}.faq-list summary:after{content:"+";float:right;color:#2563eb}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:#6d7e99;margin:0;padding:0 4px 20px;line-height:1.7}.landing-final-cta{color:#fff;background:linear-gradient(125deg,#173e90,#2868e9 58%,#4f46e5);border-radius:19px;justify-content:space-between;align-items:center;gap:40px;width:min(1120px,100% - 40px);margin:10px auto 92px;padding:44px 48px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 52px #2553b836}.landing-final-cta:after{content:"";border:1px solid #ffffff21;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-140px;right:-80px}.landing-final-cta span{font:800 10px/1 var(--fpga-mono);letter-spacing:.14em;color:#cfe0ff}.landing-final-cta h2{letter-spacing:-.03em;max-width:720px;margin:10px 0 7px;font-size:34px;line-height:1.15}.landing-final-cta p{color:#dce8ff;max-width:700px;margin:0}.landing-final-cta>div:last-child{z-index:2;white-space:nowrap;gap:10px;display:flex;position:relative}.white-cta{color:#2053b8!important;background:#fff!important;border-color:#fff!important}.outline-light{color:#fff!important;background:0 0!important;border-color:#ffffff7a!important}.public-footer{background:#f8faff;border-top:1px solid #dde6f2}.public-footer-grid{grid-template-columns:1.7fr repeat(3,1fr);gap:55px;width:min(1120px,100% - 40px);margin:0 auto;padding:54px 0 42px;display:grid}.public-footer-grid>div:not(:first-child){align-content:start;gap:11px;display:grid}.public-footer-grid strong{color:#213e6c;font-size:12px}.public-footer-grid a{color:#6b7c98;font-size:12px;text-decoration:none}.public-footer-grid a:hover{color:#2563eb}.public-footer-brand p{color:#6f809a;max-width:340px;font-size:12px;line-height:1.7}.public-footer-brand small{color:#8b99ad;font:750 9px/1 var(--fpga-mono)}.public-footer-bottom{color:#8a98ac;border-top:1px solid #e0e8f3;justify-content:space-between;width:min(1120px,100% - 40px);margin:0 auto;padding:17px 0 24px;font-size:10px;display:flex}.auth-main,.school-register-main{min-height:100vh;width:100%!important;margin:0!important}.auth-shell{grid-template-columns:1.08fr .92fr;min-height:100vh}.auth-hero{color:#fff;background:linear-gradient(135deg,#113674 0%,#1f53b7 58%,#2e6eeb 100%);position:relative;overflow:hidden}.auth-hero:before,.school-register-hero:before{content:"";background-image:linear-gradient(#fff1 1px,#0000 1px),linear-gradient(90deg,#fff1 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:0}.auth-hero:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:480px;height:480px;position:absolute;bottom:-230px;right:-190px;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}.auth-hero-inner{z-index:2;max-width:620px;margin:0 auto;padding:62px 55px;position:relative}.auth-hero .eyebrow{color:#c9dcff}.auth-hero h1{letter-spacing:-.045em;color:#fff;font-size:clamp(42px,4.4vw,64px);line-height:1.04}.auth-lead{color:#e1ebff;font-size:16px;line-height:1.72}.engineering-features{grid-template-columns:1fr 1fr;margin-top:30px}.engineering-feature{color:#fff;background:#ffffff14;border-color:#ffffff2b}.engineering-feature strong{color:#fff}.engineering-feature small{color:#cbdcff}.feature-symbol{color:#fff!important;background:#ffffff1f!important;border-color:#ffffff29!important}.auth-panel{background:#fff;padding:54px}.auth-card{width:min(460px,100%);box-shadow:none;border:0;padding:34px}.auth-card h2{color:#102b62;font-size:38px;line-height:1.1}.auth-chip{color:#2563eb;background:#eef4ff;border-color:#d5e2fa}.auth-submit{min-height:48px;font-size:13px}.school-register-cta{background:#f8faff;border-color:#dfe7f2;margin-top:22px}.auth-footnote{color:#8493a9}.school-register-shell{grid-template-columns:1.02fr .98fr;min-height:100vh}.school-register-hero{color:#fff;background:linear-gradient(135deg,#113674,#225ac7 62%,#387bf1);position:relative;overflow:hidden}.school-register-hero>*{z-index:2;position:relative}.school-register-hero .eyebrow{color:#cbdcff}.school-register-hero h1{color:#fff}.school-register-hero p{color:#dae7ff}.tenant-feature-list>div{background:#ffffff13;border-color:#ffffff29}.tenant-feature-list strong{color:#fff}.tenant-feature-list small{color:#cfddf7}.tenant-feature-list span{color:#cfe0ff}.tenant-isolation-note{color:#fff;background:#ffffff17;border-color:#ffffff29}.school-register-panel{background:#fff}.registration-card{box-shadow:none;border:0;max-width:600px}.registration-progress{background:#f7faff;border-radius:12px;padding:11px}.registration-step.active b{background:#2563eb}.registration-step.done b{background:#059669}.docs-page{background:#fff}.docs-shell{grid-template-columns:260px minmax(0,1fr);width:min(1420px,100%);min-height:calc(100vh - 72px);margin:0 auto;display:grid}.docs-sidebar{background:#fbfcfe;border-right:1px solid #e0e7f1;height:calc(100vh - 72px);padding:30px 22px;position:sticky;top:72px;overflow:auto}.docs-sidebar-title{color:#173568;margin-bottom:18px;font-size:18px;font-weight:850}.docs-home-link,.docs-nav-group a{color:#5c6f8f;border-radius:7px;padding:8px 10px;font-size:12px;text-decoration:none;display:block}.docs-home-link.active,.docs-home-link:hover,.docs-nav-group a.active,.docs-nav-group a:hover{color:#2563eb;background:#eef4ff}.docs-nav-group{margin-top:23px}.docs-nav-group>span{color:#93a0b4;font:850 8px/1 var(--fpga-mono);letter-spacing:.13em;margin:0 10px 6px;display:block}.docs-main{min-width:0;padding:56px 62px 90px}.docs-hero{background:linear-gradient(135deg,#f7faff,#edf4ff);border:1px solid #dce7f6;border-radius:18px;grid-template-columns:1.08fr .92fr;align-items:center;gap:50px;padding:38px 42px;display:grid;position:relative;overflow:hidden}.docs-hero:before{content:"";background-image:linear-gradient(#4669a90f 1px,#0000 1px),linear-gradient(90deg,#4669a90f 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0}.docs-hero>*{z-index:2;position:relative}.docs-hero .section-eyebrow{text-align:left}.docs-hero h1{color:#102b62;letter-spacing:-.04em;max-width:650px;margin:14px 0;font-size:clamp(34px,4vw,50px);line-height:1.08}.docs-hero p{color:#657692;line-height:1.65}.docs-search-launch{color:#7b8aa2;cursor:pointer;background:#fff;border:1px solid #cbd9ee;border-radius:10px;justify-content:space-between;align-items:center;width:100%;max-width:620px;margin-top:22px;padding:13px 14px;display:flex;box-shadow:0 6px 16px #274d8f0a}.docs-search-launch kbd,.docs-search-input kbd{font:700 9px/1 var(--fpga-mono);color:#697a95;background:#f2f5f9;border:1px solid #dce3ec;border-radius:5px;padding:5px 7px}.docs-popular{flex-wrap:wrap;gap:8px;margin-top:13px;font-size:10px;display:flex}.docs-popular span{color:#8a98ad}.docs-popular a{color:#2563eb;text-decoration:none}.docs-hero-visual{background:#fff;border:1px solid #d5e2f4;border-radius:12px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden;box-shadow:0 15px 30px #26498714}.docs-mini-source,.docs-mini-build{padding:16px}.docs-mini-source{border-right:1px solid #e0e8f3}.docs-mini-source>span,.docs-mini-build>span{color:#8998ae;font:850 8px/1 var(--fpga-mono);letter-spacing:.1em;margin-bottom:13px;display:block}.docs-mini-source pre{color:#31517f;font:600 9px/1.7 var(--fpga-mono);margin:0}.docs-mini-build{align-content:start;gap:9px;display:grid}.docs-mini-build b{color:#405a7e;font-size:9px}.docs-mini-build strong{color:#059669;font:850 9px/1 var(--fpga-mono);margin-top:5px}.docs-start-section,.docs-guides{padding-top:55px}.docs-section-title>span{color:#2563eb;font:850 9px/1 var(--fpga-mono);letter-spacing:.13em}.docs-section-title h2{color:#173568;margin:8px 0 24px;font-size:28px}.docs-start-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.docs-start-grid>a,.docs-guide-card{background:#fff;border:1px solid #dce5f2;border-radius:12px;padding:22px;text-decoration:none;transition:all .15s}.docs-start-grid>a:hover,.docs-guide-card:hover{border-color:#afc9f5;transform:translateY(-1px);box-shadow:0 11px 28px #234a8f12}.docs-start-grid b{color:#2563eb;font:850 10px/1 var(--fpga-mono)}.docs-start-grid h3,.docs-guide-card h3{color:#1d3b68;margin:14px 0 8px}.docs-start-grid p,.docs-guide-card p{color:#74839b;font-size:12px;line-height:1.6}.docs-start-grid span{color:#2563eb;font-size:11px;font-weight:800}.docs-guide-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.docs-guide-card b{color:#2563eb;font-size:10px}.docs-status{font:850 8px/1 var(--fpga-mono);letter-spacing:.07em;border-radius:6px;padding:5px 7px;display:inline-flex}.docs-status.stable{color:#059669;background:#e9fbf3}.docs-status.beta{color:#7c3aed;background:#f3efff}.docs-status.planned{color:#64748b;background:#f1f5f9}.docs-status-section{border-top:1px solid #e5ebf3;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:55px;padding-top:34px;display:grid}.docs-status-section>div{background:#f9fbfe;border-radius:10px;padding:18px}.docs-status-section h3{color:#29486f;margin:12px 0 7px}.docs-status-section p{color:#78879e;margin:0;font-size:11px;line-height:1.6}.docs-search-modal{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f204247;padding-top:13vh;position:fixed;inset:0}.docs-search-dialog{background:#fff;border:1px solid #d8e2ef;border-radius:14px;width:min(680px,100% - 32px);margin:0 auto;overflow:hidden;box-shadow:0 28px 70px #122d5a38}.docs-search-input{border-bottom:1px solid #e2e8f1;align-items:center;gap:11px;height:58px;padding:0 15px;display:flex}.docs-search-input input{color:#173568;border:0;outline:0;flex:1;font-size:15px}.docs-search-results{max-height:480px;padding:8px;overflow:auto}.docs-search-results a{border-radius:8px;gap:4px;padding:11px;text-decoration:none;display:grid}.docs-search-results a:hover{background:#eef4ff}.docs-search-results span{color:#8a98ac;font:750 8px/1 var(--fpga-mono)}.docs-search-results strong{color:#29486f;font-size:12px}.docs-search-results small{color:#7a899f;font-size:10px}.docs-search-results a[hidden]{display:none}.docs-article-shell{grid-template-columns:260px minmax(0,820px) 210px;justify-content:center}.docs-article{padding:54px 55px 90px}.docs-breadcrumb{color:#8a98ac;gap:8px;font-size:10px;display:flex}.docs-breadcrumb a{color:#2563eb;text-decoration:none}.docs-article-head{border-bottom:1px solid #e4eaf2;padding:24px 0 30px}.docs-article h1{color:#102b62;letter-spacing:-.035em;margin:13px 0 10px;font-size:42px}.docs-article-head p{color:#6c7d98;font-size:15px;line-height:1.65}.docs-article section{padding-top:30px}.docs-article section h2{color:#1b3b6c;margin:0 0 10px;font-size:23px}.docs-article section p{color:#536b8f;font-size:14px;line-height:1.8}.docs-code-block{background:#fbfdff;border:1px solid #d9e4f2;border-radius:12px;margin-top:30px;overflow:hidden}.docs-code-block>div{color:#687b99;font:750 9px/1 var(--fpga-mono);background:#f3f7fc;border-bottom:1px solid #dfe7f1;justify-content:space-between;align-items:center;padding:10px 13px;display:flex}.docs-code-block button{color:#2563eb;cursor:pointer;background:0 0;border:0;font-weight:800}.docs-code-block pre{color:#254571;font:600 12px/1.75 var(--fpga-mono);margin:0;padding:19px;overflow:auto}.docs-article-help{background:#f7faff;border:1px solid #d8e4f4;border-radius:12px;margin-top:40px;padding:21px}.docs-article-help strong{color:#24466f}.docs-article-help p{color:#6b7e9b}.docs-toc{align-self:start;padding:54px 20px;position:sticky;top:100px}.docs-toc>span{color:#9aa7b8;font:800 8px/1 var(--fpga-mono);margin-bottom:10px;display:block}.docs-toc a{color:#71829c;padding:6px 0;font-size:10px;text-decoration:none;display:block}.app-body{background:var(--dash-bg)}.dashboard-shell{background:var(--dash-bg);grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.dashboard-sidebar{border-right:1px solid var(--dash-border);z-index:250;background:#fff;flex-direction:column;height:100vh;transition:transform .2s;display:flex;position:sticky;top:0;overflow:auto}.dashboard-brand-wrap{border-bottom:1px solid #e2e9f3;align-items:center;height:82px;padding:0 18px;display:flex}.app-brand{color:#173568;align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:flex}.app-brand b{color:#2c66e5}.app-brand-mark{color:#fff;background:linear-gradient(145deg,#3b82f6,#285dd7);border-radius:8px;place-items:center;width:34px;height:34px;font-size:10px;font-weight:900;display:grid;box-shadow:0 7px 16px #2563eb29}.dashboard-nav{gap:3px;padding:18px 10px;display:grid}.dashboard-nav-label{color:#9aa7bb;font:850 8px/1 var(--fpga-mono);letter-spacing:.08em;margin:12px 10px 5px}.dashboard-nav a{color:#354f79;border-radius:9px;align-items:center;gap:10px;min-height:39px;padding:7px 10px;font-size:12px;text-decoration:none;display:flex}.dashboard-nav a b{font-weight:650}.dashboard-nav a:hover{background:#f5f8fd}.dashboard-nav a.active{color:#2563eb;background:#e9f1ff}.nav-icon{width:24px;height:24px;font:850 8px/1 var(--fpga-mono);color:#64748b;background:#f1f5f9;border-radius:7px;place-items:center;display:grid}.nav-icon.blue{color:#2563eb;background:#eaf2ff}.nav-icon.indigo{color:#4f46e5;background:#eef2ff}.nav-icon.violet{color:#7c3aed;background:#f4efff}.nav-icon.cyan{color:#0891b2;background:#e9fbff}.nav-icon.emerald{color:#059669;background:#eafaf3}.nav-icon.amber{color:#d97706;background:#fff5e9}.sidebar-context-card{background:linear-gradient(145deg,#f6f9ff,#eef4ff);border:1px solid #d8e5f6;border-radius:11px;margin:auto 10px 14px;padding:15px}.sidebar-context-card>span{color:#2563eb;font:800 8px/1 var(--fpga-mono);letter-spacing:.1em}.sidebar-context-card strong{color:#1d3d6b;margin-top:8px;font-size:12px;display:block}.sidebar-context-card p{color:#7a899f;font-size:10px;line-height:1.5}.sidebar-context-card a{color:#2563eb;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-workspace{flex-direction:column;min-width:0;min-height:100vh;display:flex}.dashboard-topbar{z-index:200;border-bottom:1px solid var(--dash-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;justify-content:space-between;align-items:center;height:64px;padding:0 22px;display:flex;position:sticky;top:0}.dashboard-topbar-left,.dashboard-topbar-right{align-items:center;gap:13px;display:flex}.sidebar-toggle{color:#24466f;cursor:pointer;background:0 0;border:0;padding:6px;font-size:20px}.topbar-context{line-height:1.15;display:grid}.topbar-context span{color:#2d4a72;font-size:11px;font-weight:750}.topbar-context small{color:#8a99ae;font-size:9px}.topbar-icon-button{color:#31517f;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;text-decoration:none;display:grid}.topbar-icon-button:hover{color:#2563eb;background:#eef4ff}.dashboard-account{position:relative}.dashboard-account summary{cursor:pointer;align-items:center;gap:9px;list-style:none;display:flex}.dashboard-account summary::-webkit-details-marker{display:none}.user-avatar{color:#fff;background:linear-gradient(145deg,#2563eb,#4f46e5);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.user-copy{max-width:190px;line-height:1.15;display:grid}.user-copy strong{white-space:nowrap;text-overflow:ellipsis;color:#203d69;font-size:11px;overflow:hidden}.user-copy small{white-space:nowrap;text-overflow:ellipsis;color:#8b98aa;font-size:9px;overflow:hidden}.dashboard-account summary i{color:#8b98aa;font-style:normal}.dashboard-account-menu{z-index:500;background:#fff;border:1px solid #dce5f2;border-radius:10px;width:230px;padding:9px;display:grid;position:absolute;top:45px;right:0;box-shadow:0 18px 38px #1d3a6c24}.dashboard-account-menu>div{border-bottom:1px solid #edf1f6;padding:9px 9px 12px;display:grid}.dashboard-account-menu>div strong{color:#29486f}.dashboard-account-menu>div span{color:#8a98ac;margin-top:3px;font-size:9px}.dashboard-account-menu a,.dashboard-account-menu button{text-align:left;color:#4b6283;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px;font-size:11px;text-decoration:none}.dashboard-account-menu a:hover,.dashboard-account-menu button:hover{color:#2563eb;background:#eef4ff}.dashboard-main{flex:1;min-width:0;padding:28px 28px 50px}.dashboard-footer{border-top:1px solid var(--dash-border);color:#8b98aa;background:#fff;justify-content:space-between;align-items:center;min-height:52px;padding:15px 28px;font-size:9px;display:flex}.dashboard-footer>span:last-child{gap:23px;display:flex}.dashboard-footer a{color:#5d7192;text-decoration:none}.dashboard-footer a:hover{color:#2563eb}.dashboard-welcome{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:22px;display:flex}.dashboard-welcome>div:first-child>span{color:#556b8d;margin-bottom:4px;font-size:10px;display:block}.dashboard-welcome h1{color:#102b62;letter-spacing:-.04em;margin:0;font-size:clamp(28px,3vw,38px)}.dashboard-welcome p{color:#75849c;margin:7px 0 0;font-size:12px}.dashboard-welcome-actions{white-space:nowrap}.dashboard-stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.dashboard-stat-card{border:1px solid var(--dash-border);min-height:108px;box-shadow:var(--dash-card-shadow);background:#fff;border-radius:13px;align-items:center;gap:15px;padding:17px;display:flex}.dashboard-stat-card .stat-icon{width:43px;height:43px;font:900 10px/1 var(--fpga-mono);border-radius:11px;place-items:center;display:grid}.dashboard-stat-card.blue .stat-icon{background:var(--dash-blue-soft);color:var(--dash-blue)}.dashboard-stat-card.violet .stat-icon{background:var(--dash-violet-soft);color:var(--dash-violet)}.dashboard-stat-card.cyan .stat-icon{background:var(--dash-cyan-soft);color:var(--dash-cyan)}.dashboard-stat-card.emerald .stat-icon{background:var(--dash-emerald-soft);color:var(--dash-emerald)}.dashboard-stat-card.amber .stat-icon{background:var(--dash-amber-soft);color:var(--dash-amber)}.dashboard-stat-card>div:last-child{display:grid}.dashboard-stat-card span{color:#7d8ca3;font-size:9px}.dashboard-stat-card strong{color:#153568;margin-top:2px;font-size:21px}.dashboard-stat-card small{color:#8290a5;margin-top:3px;font-size:9px}.dashboard-action-panel,.dashboard-table-panel,.student-active-panel{border:1px solid var(--dash-border);box-shadow:var(--dash-card-shadow);background:#fff;border-radius:13px;margin-top:18px;padding:19px}.dashboard-section-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:15px;display:flex}.dashboard-section-head h2{color:#173568;margin:0;font-size:19px}.dashboard-section-head p{color:#8290a5;margin:4px 0 0;font-size:10px}.dashboard-section-head>a{color:#2563eb;font-size:10px;font-weight:800;text-decoration:none}.dashboard-action-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.dashboard-action-grid>a{background:#fff;border:1px solid #dde6f3;border-radius:10px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:76px;padding:12px 14px;text-decoration:none;transition:all .14s;display:grid}.dashboard-action-grid>a:hover{background:#fafdff;border-color:#b7cef4;transform:translateY(-1px)}.action-icon{width:39px;height:39px;font:900 9px/1 var(--fpga-mono);border-radius:10px;place-items:center;display:grid}.action-icon.blue{background:var(--dash-blue-soft);color:var(--dash-blue)}.action-icon.violet{background:var(--dash-violet-soft);color:var(--dash-violet)}.action-icon.cyan{background:var(--dash-cyan-soft);color:var(--dash-cyan)}.action-icon.emerald{background:var(--dash-emerald-soft);color:var(--dash-emerald)}.action-icon.amber{background:var(--dash-amber-soft);color:var(--dash-amber)}.dashboard-action-grid div{display:grid}.dashboard-action-grid strong{color:#203d69;font-size:12px}.dashboard-action-grid small{color:#8592a7;margin-top:4px;font-size:9px;line-height:1.4}.dashboard-action-grid>a>b{color:#173568;font-size:17px}.student-practicum-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.student-practicum-card{background:linear-gradient(145deg,#fff,#fbfdff);border:1px solid #dce6f4;border-radius:11px;padding:16px}.student-practicum-top{justify-content:space-between;align-items:center;display:flex}.student-practicum-top small{color:#8594a9;font-size:9px}.student-practicum-card h3{color:#173568;margin:13px 0 8px}.student-practicum-card>p{color:#75859d;min-height:46px;font-size:10px;line-height:1.55}.student-practicum-info{gap:6px;margin:13px 0;display:grid}.student-practicum-info div{justify-content:space-between;gap:10px;display:flex}.student-practicum-info span{color:#8b98aa;font-size:9px}.student-practicum-info strong{color:#465e80;text-align:right;font-size:9px}.student-practicum-card form .button{width:100%;margin-top:5px}.dashboard-empty{text-align:center;background:#f9fbfe;border:1px dashed #cfdcec;border-radius:11px;grid-column:1/-1;padding:38px}.dashboard-empty>span{color:#2563eb;background:#eef4ff;border-radius:12px;place-items:center;width:48px;height:48px;margin:0 auto 10px;font-weight:900;display:grid}.dashboard-empty strong{color:#2c4b74;display:block}.dashboard-empty p{color:#8794a8;font-size:10px}.dashboard-table-panel table{min-width:720px}.dashboard-table-panel .table-wrap{border:1px solid #e0e7f1;border-radius:9px;overflow:auto}.app-studio-mode{background:#f4f7fb}.studio-appbar{z-index:300;background:#fff;border-bottom:1px solid #dce4ef;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:flex;position:relative}.studio-appbar .app-brand{font-size:14px}.studio-appbar .app-brand-mark{width:28px;height:28px;font-size:8px}.studio-appbar-context{color:#6f7f96;align-items:center;gap:9px;font-size:9px;display:flex}.studio-appbar-context i{background:#a5b0c0;border-radius:50%;width:3px;height:3px}.studio-appbar-context strong{color:#3d577b}.studio-appbar-actions{align-items:center;gap:6px;display:flex}.studio-appbar-actions a,.studio-appbar-actions button{color:#5f718d;cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:9px;text-decoration:none}.studio-appbar-actions a:hover,.studio-appbar-actions button:hover{color:#2563eb;background:#eef4ff;border-radius:6px}.app-studio-mode .studio-shell{height:calc(100vh - 52px)}@media (width<=1180px){.public-nav{gap:17px}.landing-hero-inner{gap:38px}.workspace-cards{gap:12px}.docs-main{padding-left:35px;padding-right:35px}.dashboard-stat-grid,.student-practicum-grid{grid-template-columns:1fr 1fr}}@media (width<=960px){.public-nav,.public-actions{display:none}.public-mobile-toggle{display:block}.landing-hero-inner,.pipeline-section,.ai-landing-section,.hardware-section,.code-landing-section{grid-template-columns:1fr}.landing-product-card{max-width:660px}.workspace-cards{grid-template-columns:1fr}.fpga-steps{grid-template-columns:1fr 1fr;display:grid}.fpga-steps>i{display:none}.use-case-grid{grid-template-columns:1fr 1fr}.public-footer-grid{grid-template-columns:1.5fr 1fr 1fr}.public-footer-grid>div:last-child{display:none}.auth-shell,.school-register-shell{grid-template-columns:1fr}.auth-hero,.school-register-hero{min-height:auto}.auth-hero-inner{padding:48px 35px}.auth-panel{padding:34px}.docs-shell,.docs-article-shell{grid-template-columns:1fr}.docs-sidebar,.docs-toc{display:none}.docs-main,.docs-article{padding:38px 25px 70px}.docs-hero,.dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar{position:fixed;left:0;transform:translate(-101%);box-shadow:0 0 40px #15305c26}.dashboard-shell.sidebar-open .dashboard-sidebar{transform:translate(0)}.student-practicum-grid{grid-template-columns:1fr}.dashboard-footer{padding-left:20px;padding-right:20px}}@media (width<=680px){.public-header{height:64px}.public-mobile-menu{top:63px}.public-nav-wrap{width:calc(100% - 24px)}.landing-hero-inner{width:calc(100% - 28px);padding:48px 0}.landing-copy h1{font-size:42px}.landing-copy>p{font-size:14px}.landing-hero-actions{flex-direction:column}.landing-hero-actions .button{width:100%}.product-card-body{grid-template-columns:1fr}.mini-editor{border-bottom:1px solid #dbe6f4;border-right:0}.landing-audience-strip{gap:14px}.landing-section{width:calc(100% - 28px);padding:62px 0}.pipeline-section{padding:62px 14px}.fpga-steps,.feature-checks,.use-case-grid{grid-template-columns:1fr}.landing-final-cta{flex-direction:column;align-items:flex-start;width:calc(100% - 28px);padding:30px 24px}.landing-final-cta>div:last-child{flex-wrap:wrap}.public-footer-grid{grid-template-columns:1fr;gap:28px}.public-footer-grid>div{display:grid!important}.public-footer-bottom{flex-direction:column;gap:7px}.engineering-features{grid-template-columns:1fr}.auth-hero-inner{padding:35px 24px}.auth-hero h1{font-size:38px}.auth-panel{padding:20px}.auth-card{padding:18px}.auth-card h2{font-size:31px}.docs-start-grid,.docs-guide-grid,.docs-status-section{grid-template-columns:1fr}.docs-hero{padding:28px 22px}.docs-hero-visual{grid-template-columns:1fr}.docs-mini-source{border-bottom:1px solid #e0e8f3;border-right:0}.dashboard-main{padding:20px 14px 38px}.dashboard-topbar{padding:0 13px}.topbar-context,.user-copy{display:none}.dashboard-welcome{flex-direction:column;align-items:flex-start}.dashboard-stat-grid,.dashboard-action-grid{grid-template-columns:1fr}.dashboard-footer{flex-direction:column;align-items:flex-start;gap:9px}.dashboard-footer>span:last-child{gap:14px}}.auth-product-brand{color:#fff;align-items:center;gap:10px;margin-bottom:72px;font-size:18px;text-decoration:none;display:inline-flex}.auth-product-brand>span{color:#2e67df;width:38px;height:38px;font:900 11px/1 var(--fpga-mono);background:#fffffff2;border-radius:9px;place-items:center;display:grid;box-shadow:0 10px 22px #0a245724}.auth-product-brand strong{font-weight:850}.auth-remember{color:#667894!important;align-items:center!important;gap:8px!important;font-size:11px!important;display:flex!important}.auth-remember input{width:15px!important;height:15px!important;box-shadow:none!important;margin:0!important}.school-register-hero>.auth-product-brand{z-index:2;margin-bottom:56px;position:relative}@media (width<=680px){.auth-product-brand{margin-bottom:40px}.school-register-hero>.auth-product-brand{margin-bottom:36px}}.guided-onboarding,.management-panel,.guided-alert,.guided-help,.quick-guide-card{background:var(--surface,#fff);border:1px solid var(--border,#dce3ec);border-radius:14px}.guided-onboarding{margin:0 0 22px;padding:22px;box-shadow:0 8px 24px #18387809}.onboarding-progress{grid-template-columns:minmax(180px,260px) 1fr;align-items:center;gap:20px;margin:18px 0;display:grid}.onboarding-progress strong,.onboarding-progress span{display:block}.onboarding-progress span{color:#64748b;margin-top:3px;font-size:13px}.progress-track{background:#e8eef8;border-radius:999px;height:8px;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#0891b2);height:100%;display:block}.onboarding-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.onboarding-step{color:#172033;background:#fff;border:1px solid #e2e8f0;border-radius:11px;grid-template-columns:36px 1fr auto;align-items:start;gap:10px;padding:15px;text-decoration:none;display:grid}.onboarding-step:hover{background:#f8fbff;border-color:#a9c2f7}.onboarding-step>span{color:#2563eb;background:#eff6ff;border-radius:9px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.onboarding-step.done>span{color:#059669;background:#ecfdf5}.onboarding-step strong,.onboarding-step small{display:block}.onboarding-step small{color:#64748b;margin-top:4px;line-height:1.45}.onboarding-step>b{color:#94a3b8}.guided-flow{background:linear-gradient(135deg,#f8fbff,#fafaff);border:1px solid #e2e8f0;border-radius:12px;align-items:stretch;gap:8px;margin:0 0 20px;padding:13px;display:flex;overflow:auto}.guided-flow>div{flex:1;grid-template-columns:30px 1fr;align-items:center;column-gap:9px;min-width:145px;display:grid}.guided-flow>div>span{color:#2563eb;background:#eef4ff;border-radius:9px;grid-row:1/3;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.guided-flow>div strong,.guided-flow>div small{display:block}.guided-flow>div small{color:#64748b}.guided-flow>i{color:#94a3b8;align-self:center;font-style:normal}.guided-flow>div.done>span,.guided-flow>div.accent>span{color:#059669;background:#ecfdf5}.guided-flow.wide>div{min-width:120px}.management-summary{grid-template-columns:minmax(210px,300px) 1fr;gap:16px;margin:0 0 18px;display:grid}.management-panel{margin:0 0 18px;padding:20px}.management-panel .dashboard-section-head{margin-bottom:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid label{gap:6px;font-size:13px;font-weight:700;display:grid}.form-grid .form-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.inline-import{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.inline-import input[type=file]{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:9px;max-width:420px;padding:10px}.guided-help{background:linear-gradient(135deg,#f8fbff,#f5f3ff);padding:16px 18px}.guided-help strong{color:#172033;display:block}.guided-help p{color:#5f6f87;margin:5px 0 0;line-height:1.55}.guided-alert{gap:5px;margin-bottom:16px;padding:14px 16px;display:grid}.guided-alert.success{background:#ecfdf5;border-color:#bbf7d0}.guided-alert.warning{background:#fffbeb;border-color:#fde68a}.guided-alert code{background:#fff;border:1px solid #dce3ec;border-radius:7px;width:max-content;padding:6px 9px;font-weight:800;display:inline-block}.guided-alert small{color:#64748b}.table-sub{color:#8190a6;margin-top:3px;font-size:12px;display:block}.table-actions form{margin:0}.row-archived{opacity:.65}.danger-button{color:#be123c!important;background:#fff1f2!important;border-color:#fecdd3!important}.danger-button:hover{background:#ffe4e6!important}.text-violet{color:#7c3aed!important}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.project-card{color:#172033;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:17px;display:block}.project-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.project-card h3{margin:12px 0 6px}.project-card p{color:#64748b;line-height:1.5}.project-card form{margin-top:12px}.topbar-guide-button{color:#44536a;height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dce3ec;border-radius:9px;align-items:center;gap:6px;padding:0 10px;font-weight:700;display:flex}.topbar-guide-button:hover{color:#2457d6;background:#f6f9ff;border-color:#bfd1f5}.quick-guide-modal{z-index:2000;background:#0f172a57;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.quick-guide-modal.hidden{display:none}.quick-guide-card{width:min(650px,100%);padding:24px;box-shadow:0 24px 80px #0f172a2e}.quick-guide-head{justify-content:space-between;gap:16px;display:flex}.quick-guide-head h2{margin:4px 0}.quick-guide-head p{color:#64748b;margin:0}.quick-guide-steps{counter-reset:guide;gap:10px;margin:20px 0;padding:0;list-style:none;display:grid}.quick-guide-steps li{counter-increment:guide;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:34px 1fr;gap:11px;padding:12px;display:grid}.quick-guide-steps li:before{content:counter(guide);color:#2563eb;background:#eef4ff;border-radius:8px;grid-row:1/3;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.quick-guide-steps b,.quick-guide-steps span{grid-column:2}.quick-guide-steps span{color:#64748b;font-size:13px}.quick-guide-footer{justify-content:flex-end;gap:8px;display:flex}.project-share-panel{scroll-margin-top:20px}.share-check-list{gap:6px;margin-top:7px;display:grid}.share-check-list.scroll{max-height:180px;padding-right:4px;overflow:auto}.check-row{align-items:center;gap:8px!important;font-weight:500!important;display:flex!important}.check-row input[type=checkbox]{width:16px;height:16px}.mini-warning{background:#fffbeb;border:1px solid #fde68a;border-radius:9px;margin:8px 0 12px;padding:10px 11px}.mini-warning strong,.mini-warning span{display:block}.mini-warning span{color:#7c5c13;margin-top:3px;font-size:12px}.guided-device-help{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;margin-top:10px;padding:11px}.guided-device-help strong{display:block}.guided-device-help ol{color:#64748b;margin:7px 0;padding-left:19px;font-size:12px}.guided-device-help small{color:#8190a6}@media (width<=1100px){.onboarding-grid,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.onboarding-grid,.card-grid,.form-grid,.management-summary,.onboarding-progress{grid-template-columns:1fr}.guided-flow{align-items:flex-start}.guided-flow>i,.topbar-guide-button span{display:none}.quick-guide-card{padding:18px}}.credential-grid{gap:5px;max-height:260px;margin-top:8px;display:grid;overflow:auto}.credential-grid code{white-space:normal;word-break:break-all;font-size:12px}.auth-standalone{place-items:center;min-height:calc(100vh - 150px);padding:30px;display:grid}.auth-password-card{width:min(460px,100%)}.ai-diagnostic-result{white-space:normal;font-family:var(--fpga-sans,Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-size:10px;line-height:1.55}.ai-diagnostic-result p{margin:4px 0 0}.ai-diagnostic-summary{color:var(--fpga-text-primary,#172033);font-size:11px;font-weight:750;margin:0 0 10px!important}.ai-diagnostic-finding,.ai-diagnostic-section{border-top:1px solid var(--fpga-border);padding:8px 0}.ai-diagnostic-finding strong,.ai-diagnostic-section strong{color:var(--fpga-text-primary,#172033);font-size:9px;display:block}.ai-diagnostic-finding small{color:var(--fpga-text-muted);margin-top:5px;line-height:1.45;display:block}.ai-diagnostic-section.warning{background:var(--spectrum-amber-soft,#fffbeb);border:1px solid #f0dfbd;border-radius:7px;margin-top:3px;padding:8px}.ai-diagnostic-section.next-action{border:1px solid var(--fpga-primary-border,#cbdaf8);background:var(--fpga-primary-soft,#eef4ff);border-radius:7px;margin-top:6px;padding:9px}.ai-diagnostic-technical{border-top:1px solid var(--fpga-border);color:var(--fpga-text-secondary);margin-top:8px;padding-top:8px}.ai-diagnostic-technical summary{cursor:pointer;color:var(--fpga-primary,#2563eb);font-weight:700}.ui-icon{flex:none;display:block}.nav-icon .ui-icon,.action-icon .ui-icon,.stat-icon .ui-icon{margin:auto}.sidebar-toggle{place-items:center;display:grid}.topbar-icon-button{place-items:center;display:grid!important}.dashboard-account summary>.ui-icon{color:#8a9ab2}.hidden{display:none!important}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.clear-page-head{align-items:flex-end}.page-head-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.page-head-actions .button{align-items:center;gap:7px;display:inline-flex}.list-first-panel{padding-top:18px}.collapsible-panel{scroll-margin-top:84px}.table-filter-bar{background:#f8fbff;border:1px solid #e2eaf6;border-radius:10px;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 15px;padding:11px;display:flex}.table-filter-bar input,.table-filter-bar select{min-height:38px}.table-search{flex:1;min-width:240px}.table-search input{width:100%}.clear-data-table td{vertical-align:middle}.person-cell{align-items:center;gap:10px;min-width:210px;display:flex}.person-cell>span:last-child{min-width:0}.person-cell strong,.person-cell small{display:block}.person-cell small{color:#7a8ba5;word-break:break-word;margin-top:3px}.person-avatar{letter-spacing:.02em;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:10px;font-weight:900;display:grid}.person-avatar.blue{color:#1d4ed8;background:#eaf2ff}.person-avatar.violet{color:#6d28d9;background:#f4efff}.person-avatar.cyan{color:#0e7490;background:#e9fbff}.row-action-menu{width:max-content;position:relative}.row-action-menu>summary{cursor:pointer;color:#2457d6;background:#fff;border:1px solid #dce6f5;border-radius:8px;padding:7px 10px;font-weight:750;list-style:none}.row-action-menu>summary::-webkit-details-marker{display:none}.row-action-menu[open]>summary{background:#eef4ff;border-color:#bfd2f7}.row-action-menu>div{z-index:40;background:#fff;border:1px solid #dbe6f5;border-radius:10px;min-width:190px;padding:7px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 45px #19325f24}.row-action-menu form{margin:0}.row-action-menu button{text-align:left;color:#344663;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-radius:7px;padding:9px 10px;display:block}.row-action-menu button:hover{color:#1d4ed8;background:#f3f7fd}.row-action-menu .danger-text{color:#be123c}.row-action-menu .danger-text:hover{color:#be123c;background:#fff1f2}.wide-action-popover{min-width:360px!important}.compact-form{gap:8px;display:grid}.compact-form label{gap:4px;font-size:11px;font-weight:700;display:grid}.empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.import-template-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.import-template-row>span{color:#71819a;font-size:12px}.import-upload-card{background:#f8fbff;border:1px dashed #bfd0ec;border-radius:11px;flex-wrap:wrap;align-items:end;gap:12px;padding:14px;display:flex}.import-upload-card label{flex:1;gap:7px;min-width:260px;font-size:12px;font-weight:750;display:grid}.import-upload-card input[type=file]{background:#fff;border:1px solid #dce6f5;border-radius:8px;padding:9px}.import-preview{border-top:1px solid #e5ebf4;margin-top:18px;padding-top:18px}.import-summary{grid-template-columns:repeat(4,minmax(100px,1fr));gap:9px;display:grid}.import-summary article{background:#fff;border:1px solid #dce6f5;border-radius:10px;padding:12px}.import-summary span,.import-summary strong{display:block}.import-summary span{color:#73839c;font-size:11px}.import-summary strong{margin-top:3px;font-size:20px}.import-summary article.ok{background:#ecfdf5;border-color:#bbf7d0}.import-summary article.warn{background:#fffbeb;border-color:#fde68a}.import-summary article.bad{background:#fff1f2;border-color:#fecdd3}.mapping-chips{color:#66768e;flex-wrap:wrap;align-items:center;gap:7px;margin:13px 0;font-size:11px;display:flex}.mapping-chips span{color:#435875;background:#fff;border:1px solid #dce6f5;border-radius:999px;padding:5px 8px}.import-preview-table{max-height:330px;overflow:auto}.import-preview-table .badge{white-space:normal;max-width:320px}.import-commit{background:#f8fbff;border:1px solid #dce6f5;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:12px 14px;display:flex}.import-commit>span{color:#63748e;font-size:12px}.tab-row{border-bottom:1px solid #e5ebf4;gap:4px;margin-bottom:16px;padding-bottom:12px;display:flex}.tab-row a{color:#61718a;border-radius:8px;padding:8px 12px;font-weight:750;text-decoration:none}.tab-row a.active{color:#2457d6;background:#eef4ff}.admin-safety-note{background:linear-gradient(135deg,#f7fbff,#f5f3ff);border:1px solid #c9ddf6;border-radius:12px;align-items:flex-start;gap:12px;margin:0 0 17px;padding:14px 16px;display:flex}.admin-safety-note>span{color:#4f46e5;background:#eef2ff;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.admin-safety-note strong,.admin-safety-note p{display:block}.admin-safety-note p{color:#60718a;margin:4px 0 0;line-height:1.5}.onboarding-complete{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:14px 16px;display:flex}.complete-icon{color:#047857;background:#d1fae5;border-radius:9px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.onboarding-complete strong{color:#14532d;display:block}.onboarding-complete p{color:#517066;margin:3px 0 0;font-size:12px}.onboarding-complete a{color:#047857;margin-left:auto;font-weight:800;text-decoration:none}.compact-guide{padding-bottom:16px}.dashboard-welcome-actions{position:relative}.dashboard-add-menu{z-index:50;background:#fff;border:1px solid #dbe6f5;border-radius:10px;min-width:190px;padding:7px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 18px 45px #19325f26}.dashboard-add-menu a{color:#344663;border-radius:7px;padding:9px 10px;font-weight:700;text-decoration:none;display:block}.dashboard-add-menu a:hover{color:#2457d6;background:#eef4ff}.mono-id{word-break:break-all}.admin-monitor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.read-only-banner{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;gap:10px;padding:12px 14px;display:flex}.source-readonly{color:#e2e8f0;font:12px/1.55 var(--fpga-mono,monospace);background:#0f172a;border-radius:10px;padding:14px;overflow:auto}.system-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.system-status-card{background:#fff;border:1px solid #dce6f5;border-radius:11px;padding:14px}.system-status-card strong,.system-status-card span,.system-status-card small{display:block}.system-status-card small{color:#73839c;margin-top:4px}.system-status-dot{background:#94a3b8;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block!important}.system-status-dot.ok{background:#10b981}.system-status-dot.bad{background:#e11d48}@media (width<=900px){.import-summary{grid-template-columns:repeat(2,minmax(100px,1fr))}.system-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-action-popover{min-width:280px!important}}@media (width<=650px){.page-head-actions{width:100%}.page-head-actions .button{flex:1;justify-content:center}.table-filter-bar{align-items:stretch}.table-filter-bar>*{width:100%}.import-summary,.system-status-grid{grid-template-columns:1fr}.import-commit{flex-direction:column;align-items:stretch}.import-commit .button{width:100%}.onboarding-complete{align-items:flex-start}.onboarding-complete a{margin-left:0}.wide-action-popover{min-width:0!important;position:fixed!important;inset:auto 14px 14px!important}.clear-data-table{min-width:760px}}.project-lab-tabs{border:1px solid var(--border,#dce3ec);background:#fff;border-radius:12px;align-items:center;gap:6px;margin-bottom:10px;padding:8px 10px;display:flex;overflow:auto}.project-lab-tabs button{color:#64748b;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-weight:700}.project-lab-tabs button:hover{color:#1d4ed8;background:#f5f8fd}.project-lab-tabs button.active{color:#2457d6;background:#eef4ff}.project-lab-flow{color:#7b899f;white-space:nowrap;margin-left:auto;padding-right:8px;font-size:11px}.project-lab-flow b{color:#2457d6}.project-workspace-panel{background:#fff;border:1px solid #dce3ec;border-radius:14px;min-height:610px;overflow:hidden}.project-workspace-panel.hidden{display:none!important}.lab-panel-head{background:linear-gradient(120deg,#f8fbff,#fff);border-bottom:1px solid #e6ebf2;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;display:flex}.lab-panel-head h2{color:#10234a;margin:3px 0 4px;font-size:24px}.lab-panel-head p{color:#64748b;max-width:800px;margin:0}.lab-panel-actions{border-top:1px solid #e6ebf2;justify-content:flex-end;padding:18px 22px;display:flex}.lab-status-line{color:#64748b;background:#f8fafc;border-bottom:1px solid #e6ebf2;padding:10px 22px;font-size:12px}.lab-loading{color:#64748b;place-items:center;height:560px;display:grid}.wiring-workspace{grid-template-columns:230px minmax(0,1fr);height:650px;display:grid}.component-palette{background:#fbfdff;border-right:1px solid #e2e8f0;padding:14px;overflow:auto}.component-palette>input{width:100%;margin:8px 0 12px}.component-palette>button{text-align:left;cursor:grab;color:#172033;background:#fff;border:1px solid #dce3ec;border-radius:10px;flex-direction:column;gap:2px;width:100%;margin-bottom:8px;padding:10px;display:flex}.component-palette>button:hover{background:#f7faff;border-color:#9db9fa}.component-palette>button span{letter-spacing:.08em;text-transform:uppercase;color:#7c3aed;font-size:9px}.component-palette>button small{color:#94a3b8}.wiring-canvas-wrap{background:#f8fbff;min-width:0;position:relative}.wiring-toolbar{z-index:8;background:#fffffff5;border:1px solid #dce3ec;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex;position:absolute;top:12px;left:12px;right:12px;box-shadow:0 8px 24px #1838780f}.wiring-toolbar>span{color:#64748b;font-size:11px}.wiring-toolbar>div{gap:6px;display:flex}.rf-hardware-node{color:#172033;background:#fff;border:1px solid #cdd8e7;border-radius:12px;min-width:128px;min-height:78px;padding:13px 16px;position:relative;box-shadow:0 8px 24px #18387814}.rf-hardware-node.fpga{background:linear-gradient(145deg,#eef4ff,#fff);border-color:#87a8f4;min-width:190px;min-height:150px}.rf-hardware-node.input{border-color:#93c5fd}.rf-hardware-node.output{border-color:#6ee7b7}.rf-hardware-node.communication{border-color:#c4b5fd}.rf-node-kicker{letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin-bottom:4px;font-size:9px}.rf-hardware-node strong{font-size:12px;display:block}.rf-hardware-node small{color:#94a3b8;margin-top:3px;font-size:9px;display:block}.rf-port-label{color:#64748b;pointer-events:none;font-size:8px;position:absolute;transform:translateY(-50%)}.rf-port-label.left{left:8px}.rf-port-label.right{right:8px}.react-flow__handle{background:#2457d6!important;border:2px solid #fff!important;width:8px!important;height:8px!important}.react-flow__edge-path{stroke:#6b8fe8;stroke-width:2px}.react-flow__minimap{border:1px solid #dce3ec;border-radius:8px;overflow:hidden}.react-flow__controls{box-shadow:none!important;border:1px solid #dce3ec!important}.pin-mapping-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px;padding:22px;display:grid}.pin-row{border-bottom:1px solid #edf1f6;grid-template-columns:minmax(180px,1fr) minmax(240px,1.3fr);align-items:center;gap:14px;padding:12px;display:grid}.pin-row:first-child{border-top:1px solid #edf1f6}.pin-row strong,.pin-row small{display:block}.pin-row small{color:#94a3b8;margin-top:2px}.verified-board-card{background:#f8fbff;border:1px solid #dce3ec;border-radius:12px;height:max-content;padding:16px}.verified-board-card>span{letter-spacing:.1em;color:#4f46e5;font-size:9px}.verified-board-card>strong,.verified-board-card>small{margin-top:4px;display:block}.verified-board-card>small{color:#64748b}.verified-board-card>div{margin-top:14px}.verified-board-card>div>div{border-top:1px solid #e5eaf1;justify-content:space-between;gap:10px;padding:7px 0;font-size:11px;display:flex}.verified-board-card>div>div strong{color:#2457d6;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.simulation-layout{grid-template-columns:290px minmax(0,1fr);gap:18px;padding:22px;display:grid}.simulation-layout>aside{background:#fbfdff;border:1px solid #dce3ec;border-radius:12px;padding:16px}.simulation-input-row{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.simulation-input-row select{width:120px}.simulation-output-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.simulation-output-grid>div{background:#fff;border:1px solid #dce3ec;border-radius:10px;padding:12px}.simulation-output-grid span,.simulation-output-grid strong{display:block}.simulation-output-grid strong{color:#059669;font-size:24px}.simulation-wave-title{margin-top:22px}.simulation-waveform{color:#e2e8f0;background:#0f172a;border:1px solid #dce3ec;border-radius:10px;min-height:160px;padding:12px;overflow:auto}.wave-row{grid-template-columns:120px minmax(max-content,1fr);align-items:center;gap:8px;margin-bottom:7px;display:grid}.wave-row>strong{color:#93c5fd;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.wave-row>div{display:flex}.wave-bit{border-right:1px solid #334155;place-items:center;width:20px;height:20px;font:9px ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.wave-bit.high{color:#6ee7b7;background:#064e3b}.wave-bit.low{color:#94a3b8;background:#172033}.real-hardware-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:18px;padding:22px;display:grid}.real-hardware-checklist,.real-hardware-diagram{background:#fff;border:1px solid #dce3ec;border-radius:12px;padding:18px}.real-hardware-checklist h3{margin-top:0}.real-hardware-checklist #real-hardware-checks{gap:8px;margin:14px 0;display:grid}.real-hardware-checklist #real-hardware-checks>div{color:#64748b;background:#f8fafc;border-radius:8px;padding:9px 11px}.real-hardware-checklist #real-hardware-checks>div.ok{color:#047857;background:#ecfdf5}.real-hardware-diagram{background:linear-gradient(135deg,#eef4ff,#ecfeff)}.real-hardware-diagram strong,.real-hardware-diagram span,.real-hardware-diagram small{display:block}.real-hardware-diagram strong{color:#1d4ed8;font-size:20px}.real-hardware-diagram span{color:#172033;margin:18px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.real-hardware-diagram small{color:#64748b;line-height:1.6}.lab-ai-card{max-width:900px}.lab-ai-body{gap:12px;padding:20px;display:grid}.lab-ai-body label textarea{width:100%;margin-top:8px}.lab-ai-result{background:#f8fafc;border:1px solid #dce3ec;border-radius:10px;min-height:100px;padding:14px}.lab-ai-counts{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.lab-ai-counts span{color:#4338ca;background:#eef2ff;border-radius:999px;padding:5px 8px;font-size:10px}.lab-ai-result .warning{color:#92400e;background:#fffbeb;border-radius:7px;padding:7px}.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.catalog-card{background:#fff;border:1px solid #dce3ec;border-radius:14px;padding:16px;box-shadow:0 8px 24px #18387809}.catalog-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.catalog-card h3,.catalog-card h2{margin:12px 0 6px}.catalog-card p{color:#64748b;min-height:44px;line-height:1.55}.catalog-meta,.example-checks{flex-wrap:wrap;gap:6px;margin:10px 0 14px;display:flex}.catalog-meta span,.example-checks span{color:#64748b;background:#f1f5f9;border-radius:999px;padding:5px 7px;font-size:9px}.catalog-card form label{margin-bottom:8px;display:block}.catalog-card form select{width:100%;margin-top:5px}.example-grid{padding:0}.example-board{background:#f8fbff;border:1px solid #e6ebf2;border-radius:10px;align-items:center;gap:9px;margin:12px 0;padding:10px;display:flex}.example-board small,.example-board strong{display:block}.example-board small{color:#94a3b8}.learning-flow-banner{color:#172033;background:linear-gradient(120deg,#eef4ff,#ecfeff);border:1px solid #dce3ec;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0 0 18px;padding:14px;display:flex}.learning-flow-banner b{color:#2563eb}@media (width<=1100px){.project-lab-flow{display:none}.wiring-workspace{grid-template-columns:180px minmax(0,1fr)}.pin-mapping-grid,.simulation-layout,.real-hardware-grid{grid-template-columns:1fr}.verified-board-card{order:-1}}@media (width<=760px){.wiring-workspace{grid-template-columns:1fr;height:760px}.component-palette{border-bottom:1px solid #e2e8f0;border-right:0;gap:8px;display:flex;overflow:auto}.component-palette>.pane-title,.component-palette>input{display:none}.component-palette>button{min-width:150px;margin:0}.wiring-canvas-wrap{min-height:650px}.project-lab-tabs{border-radius:8px}.lab-panel-head{flex-direction:column;align-items:flex-start}.pin-row{grid-template-columns:1fr}.simulation-layout,.real-hardware-grid,.pin-mapping-grid{padding:14px}.project-workspace-panel{min-height:520px}}.lms-builder-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;margin-bottom:20px;display:grid}.module-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.module-card{border:1px solid var(--border,#dce6f4);background:#fff;border-radius:14px;padding:18px}.module-card-top{color:var(--text-secondary,#64748b);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.module-card h3{margin:12px 0 8px;font-size:18px}.module-card p{color:var(--text-secondary,#64748b);line-height:1.65}.module-meta{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.module-meta span{background:#f8fafc;border-radius:10px;flex-direction:column;padding:10px;font-size:12px;display:flex}.module-use{border-top:1px solid #e2e8f0;margin-top:14px;padding-top:12px}.module-use summary,.inline-details summary{cursor:pointer;color:#2563eb;font-weight:700}.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.rubric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.rubric-strip>div{background:#fff;border:1px solid #dce6f4;border-radius:12px;flex-direction:column;gap:3px;padding:12px;display:flex}.rubric-strip strong{color:#4f46e5;font-size:20px}.rubric-strip span{color:#64748b;font-size:12px}.cell-note{color:#94a3b8;margin-top:3px;display:block}.inline-form{display:inline-block}.inline-details{margin-left:6px;display:inline-block;position:relative}.inline-details[open] form{z-index:20;background:#fff;border:1px solid #dce6f4;border-radius:12px;width:290px;padding:14px;position:absolute;right:0;box-shadow:0 14px 38px #0f172a1f}.report-create{justify-content:space-between;align-items:center;gap:20px;display:flex}.report-paper{background:#fff;border:1px solid #dce6f4;border-radius:12px;max-width:920px;margin:0 auto;padding:48px;box-shadow:0 12px 32px #0f172a0d}.report-section{margin-bottom:26px}.report-title-input{color:#172033;border:0;border-bottom:1px solid #e2e8f0;border-radius:0;width:100%;padding:8px 0;font-size:20px;font-weight:800}.report-body-input{resize:vertical;color:#334155;background:0 0;border:0;width:100%;padding:10px 0;line-height:1.65}.report-savebar{background:#fff;border:1px solid #dce6f4;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;max-width:920px;margin:14px auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px;box-shadow:0 10px 25px #0f172a14}.pairing-code-card{background:linear-gradient(120deg,#eef2ff,#eff6ff,#ecfeff);border:1px solid #c7d2fe;border-radius:16px;flex-direction:column;gap:6px;margin-bottom:18px;padding:22px;display:flex}.pairing-code-card>span{letter-spacing:.12em;color:#4f46e5;font-size:11px;font-weight:800}.pairing-code-card>strong{letter-spacing:.12em;color:#172033;font:800 34px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.plain-list{color:#475569;margin:12px 0 0;padding-left:20px;line-height:1.8}.help-text{color:#64748b;font-size:12px;line-height:1.6}.button-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.form-stack.compact{gap:8px}.page-heading .eyebrow{color:#4f46e5;letter-spacing:.1em;font-size:11px;font-weight:800}.report-actions{align-items:flex-start}@media (width<=1050px){.lms-builder-grid,.module-card-grid{grid-template-columns:1fr}.rubric-strip{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.rubric-strip{grid-template-columns:1fr}.report-paper{padding:22px}.report-create,.report-savebar{flex-direction:column;align-items:stretch}.pairing-code-card>strong{font-size:26px}}@media print{.dashboard-sidebar,.dashboard-topbar,.dashboard-footer,.report-actions .button-row,.report-savebar,.alert{display:none!important}.dashboard-main{margin:0!important;padding:0!important}.dashboard-content{padding:0!important}.report-paper{box-shadow:none;border:0;max-width:none;padding:0}.report-title-input,.report-body-input{resize:none;overflow:visible;border:0!important}.report-title-input{font-size:20pt}.report-body-input{font-size:11pt}}.module-builder-field{gap:10px;display:grid}.field-heading{gap:3px;display:grid}.field-heading strong{color:var(--text-main);font-size:14px}.field-heading span{color:var(--text-secondary);font-size:12px}.module-wiring-workspace{border:1px solid var(--border);background:var(--bg-surface);border-radius:14px;grid-template-columns:190px minmax(0,1fr);min-height:520px;display:grid;overflow:hidden}.module-wiring-canvas{background:#fbfdff;min-height:520px;position:relative}.module-wiring-canvas .react-flow{min-height:465px}.module-component-palette{max-height:520px;overflow:auto}.module-wiring-builder{min-width:0}@media (width<=900px){.module-wiring-workspace{grid-template-columns:1fr}.module-component-palette{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px;display:grid}.module-component-palette .pane-title,.module-component-palette input{grid-column:1/-1}.module-wiring-canvas{min-height:460px}}.wiring-react-root{height:780px}.pin-centric-workspace{background:#fff;border:1px solid #dce3ec;border-radius:14px;grid-template-columns:240px minmax(0,1fr) 300px;height:780px;display:grid;overflow:hidden}.pin-centric-workspace .component-palette{border-bottom:0;border-right:1px solid #dce3ec;min-width:0}.pin-component-palette{flex-direction:column;min-height:0;display:flex}.component-category-tabs{flex-wrap:wrap;gap:5px;margin:0 0 10px;display:flex}.component-category-tabs button{color:#64748b;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:#fff;border:1px solid #dce3ec;border-radius:7px;padding:5px 7px;font-size:9px}.component-category-tabs button.active{color:#2457d6;background:#eef4ff;border-color:#9db9fa;font-weight:700}.component-palette-list{min-height:0;padding-right:2px;overflow:auto}.wiring-main-column{background:#f8fbff;grid-template-rows:minmax(0,1fr) 230px;min-width:0;min-height:0;display:grid}.pin-centric-workspace .wiring-canvas-wrap{border-bottom:1px solid #dce3ec;height:auto;min-height:0}.wiring-status{align-items:center;gap:8px;min-width:0;display:flex}.wiring-status>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pin-centric-badge{white-space:nowrap;color:#4f46e5;letter-spacing:.08em;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;align-items:center;padding:4px 7px;font-size:8px;font-weight:800;display:inline-flex}.wiring-inspector{background:#fbfdff;border-left:1px solid #dce3ec;min-width:0;padding:14px;overflow:auto}.inspector-empty{color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;padding:13px}.inspector-empty strong{color:#172033}.inspector-empty p{margin:6px 0 0;font-size:11px;line-height:1.55}.inspector-node-title{background:#fff;border:1px solid #dce3ec;border-radius:10px;flex-direction:column;gap:4px;margin:8px 0;padding:12px;display:flex}.inspector-node-title span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.inspector-pin-list{flex-direction:column;gap:7px;display:flex}.inspector-pin{background:#fff;border:1px solid #e2e8f0;border-left:3px solid #94a3b8;border-radius:8px;padding:8px}.inspector-pin.kind-clock{border-left-color:#7c3aed}.inspector-pin.kind-power{border-left-color:#ef4444}.inspector-pin.kind-ground{border-left-color:#334155}.inspector-pin.kind-digital{border-left-color:#10b981}.inspector-pin.kind-communication{border-left-color:#2563eb}.inspector-pin>div{justify-content:space-between;gap:8px;display:flex}.inspector-pin .physical{color:#2457d6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.inspector-pin small{color:#64748b;margin-top:3px;line-height:1.35;display:block}.inspector-status{border-radius:999px;margin:8px 0;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.inspector-status.valid{color:#047857;background:#ecfdf5}.inspector-status.warning{color:#b45309;background:#fffbeb}.inspector-status.error{color:#be123c;background:#fff1f2}.inspector-dl{grid-template-columns:90px minmax(0,1fr);gap:7px 8px;margin:8px 0;font-size:11px;display:grid}.inspector-dl dt{color:#94a3b8}.inspector-dl dd{color:#172033;word-break:break-word;margin:0}.wire-legend{border-top:1px solid #e2e8f0;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px;padding-top:12px;display:grid}.wire-legend strong{text-transform:uppercase;letter-spacing:.06em;color:#64748b;grid-column:1/-1;font-size:10px}.wire-legend span{color:#475569;align-items:center;gap:6px;font-size:10px;display:flex}.wire-legend i,.wire-kind i{border-radius:999px;width:18px;height:3px;display:inline-block}.rf-pin-node{color:#172033;background:#fff;border:1px solid #cdd8e7;border-radius:12px;width:220px;position:relative;overflow:visible;box-shadow:0 9px 24px #18387817}.rf-pin-node.fpga-board-node{background:linear-gradient(145deg,#eef4ff 0%,#fff 60%);border-color:#7aa2f7;width:320px;box-shadow:0 12px 30px #2563eb1f}.rf-pin-node-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 14px 10px;display:flex}.rf-pin-node-header strong{font-size:12px;line-height:1.25;display:block}.rf-pin-node-header small{color:#94a3b8;margin-top:3px;font-size:9px;display:block}.rf-verified-badge{color:#047857;text-transform:uppercase;letter-spacing:.06em;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:800}.rf-pin-list{flex-direction:column;padding:6px 0;display:flex}.rf-pin-row{background:#ffffffb8;border-bottom:1px solid #f1f5f9;align-items:center;min-height:42px;padding:6px 14px;display:flex;position:relative}.rf-pin-row:last-child{border-bottom:0}.rf-pin-row:hover{background:#f8fbff}.rf-pin-row.reserved{opacity:.78;background:#fff7ed}.rf-pin-row-main{width:100%;min-width:0}.rf-pin-name-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.rf-pin-name{color:#172033;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;overflow:hidden}.rf-physical-pin{color:#2457d6;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;padding:2px 5px;font:800 9px ui-monospace,SFMono-Regular,Menlo,monospace}.rf-pin-meta-line{color:#94a3b8;flex-wrap:wrap;align-items:center;gap:5px;margin-top:3px;font-size:8px;display:flex}.rf-pin-kind{text-transform:uppercase;letter-spacing:.06em;font-size:7px;font-weight:800}.rf-pin-kind.kind-digital{color:#059669}.rf-pin-kind.kind-clock{color:#7c3aed}.rf-pin-kind.kind-power{color:#dc2626}.rf-pin-kind.kind-ground{color:#334155}.rf-pin-kind.kind-communication{color:#2563eb}.rf-mapped-signal{color:#4f46e5;background:#eef2ff;border-radius:4px;padding:1px 4px}.rf-pin-reserved{color:#c2410c}.rf-no-pins{color:#94a3b8;padding:12px 14px;font-size:10px}.react-flow__handle.rf-pin-handle{z-index:5;box-shadow:0 0 0 1px #0f172a29;border:3px solid #fff!important;width:12px!important;height:12px!important}.react-flow__handle.rf-pin-handle.kind-digital{background:#10b981!important}.react-flow__handle.rf-pin-handle.kind-clock{background:#7c3aed!important}.react-flow__handle.rf-pin-handle.kind-power{background:#ef4444!important}.react-flow__handle.rf-pin-handle.kind-ground{background:#334155!important}.react-flow__handle.rf-pin-handle.kind-communication{background:#2563eb!important}.react-flow__handle.rf-pin-handle.kind-bus{background:#d97706!important}.rf-pin-row .react-flow__handle-left{left:-7px}.rf-pin-row .react-flow__handle-right{right:-7px}.rf-pin-row .react-flow__handle{top:50%}.rf-wire-label{pointer-events:none;z-index:4;color:#475569;background:#ffffffeb;border:1px solid #dce3ec;border-radius:6px;padding:2px 5px;font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;box-shadow:0 2px 8px #0f172a0f}.rf-wire-label.selected{color:#2457d6;border-color:#2457d6}.rf-wire-label.kind-power{color:#dc2626}.rf-wire-label.kind-ground{color:#334155}.rf-wire-label.kind-clock{color:#7c3aed}.rf-wire-label.kind-digital{color:#047857}.rf-wire-label.kind-communication{color:#1d4ed8}.connection-panel{background:#fff;flex-direction:column;min-width:0;display:flex;overflow:hidden}.connection-panel-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.connection-panel-head>div{flex-direction:column;display:flex}.connection-panel-head strong{font-size:11px}.connection-panel-head span{color:#94a3b8;font-size:9px}.validation-pill{border-radius:999px;padding:4px 7px;font-weight:800;font-size:9px!important}.validation-pill.valid{color:#047857;background:#ecfdf5}.validation-pill.warning{color:#b45309;background:#fffbeb}.wiring-warning-list{background:#fffbeb;border-bottom:1px solid #fde68a;gap:6px;padding:6px 10px;display:flex;overflow:auto}.wiring-warning-list span{white-space:nowrap;color:#92400e;font-size:9px}.connection-table-wrap{min-height:0;overflow:auto}.connection-table{border-collapse:collapse;width:100%;font-size:10px}.connection-table th{color:#64748b;text-transform:uppercase;letter-spacing:.04em;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:7px 9px;font-size:8px;position:sticky;top:0}.connection-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:7px 9px}.connection-table code{color:#1e40af;background:#eff6ff;border-radius:4px;padding:2px 4px;font-size:9px}.wire-kind{text-transform:capitalize;align-items:center;gap:5px;display:inline-flex}.table-status{text-transform:uppercase;border-radius:999px;padding:3px 5px;font-size:8px;font-weight:800}.table-status.valid{color:#047857;background:#ecfdf5}.table-status.warning{color:#b45309;background:#fffbeb}.table-status.error{color:#be123c;background:#fff1f2}.table-icon-button{color:#94a3b8;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;width:24px;height:24px}.table-icon-button:hover{color:#be123c;background:#fff1f2;border-color:#fecdd3}.pin-centric-module-workspace{grid-template-columns:200px minmax(0,1fr)}.module-wiring-main{grid-template-rows:minmax(0,1fr) 105px;min-width:0;display:grid}.pin-centric-module-workspace .module-wiring-canvas{min-height:520px}.module-connection-summary{background:#fff;border-top:1px solid #e2e8f0;align-items:flex-start;gap:8px;padding:8px 10px;display:flex;overflow:auto}.module-connection-summary>strong,.module-connection-summary>span{white-space:nowrap;font-size:10px}.module-connection-summary small{white-space:nowrap;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:4px 6px}@media (width<=1280px){.pin-centric-workspace{grid-template-columns:200px minmax(0,1fr) 250px}.rf-pin-node.fpga-board-node{width:290px}}@media (width<=980px){.wiring-react-root{height:980px}.pin-centric-workspace{grid-template-rows:minmax(0,1fr) 220px;grid-template-columns:190px minmax(0,1fr);height:980px}.wiring-inspector{border-top:1px solid #dce3ec;border-left:0;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;display:grid}.wire-legend{border-top:0;margin-top:0;padding-top:0}.wiring-main-column{grid-template-rows:minmax(0,1fr) 215px}}@media (width<=720px){.wiring-react-root{height:1180px}.pin-centric-workspace{flex-direction:column;height:1180px;display:flex}.pin-centric-workspace .component-palette{height:180px;display:block;overflow:auto}.component-category-tabs{flex-wrap:nowrap;overflow:auto}.component-palette-list{gap:7px;display:flex}.component-palette-list>button{min-width:150px}.wiring-main-column{grid-template-rows:minmax(0,1fr) 250px;height:780px}.wiring-inspector{height:220px;display:block}.wiring-toolbar{align-items:flex-start}.wiring-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end}.rf-pin-node.fpga-board-node{width:265px}.connection-table{min-width:720px}}:root{--brand-navy:#061a3a;--brand-blue:#1265f5;--brand-cyan:#06bfe8}.brand-logo{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;height:auto;display:block}.brand-logo--xs{width:auto;height:20px}.brand-logo--sm{width:auto;height:32px}.brand-logo--md{width:auto;height:38px}.brand-logo--lg{width:auto;height:58px}.brand-logo--xl{width:auto;height:86px}.app-brand{align-items:center;min-width:0;text-decoration:none;display:inline-flex}.app-brand .brand-logo--compact{width:auto;max-width:154px}.dashboard-brand-wrap .app-brand .brand-logo{max-width:160px}.studio-appbar .app-brand .brand-logo{max-width:120px;height:28px}.public-brand{align-items:center;line-height:1;text-decoration:none;display:inline-flex}.public-brand .brand-logo--compact{max-width:168px;height:42px}.public-footer-brand .public-brand .brand-logo--horizontal{max-width:220px;height:62px}.auth-product-brand{z-index:2;align-items:center;margin-bottom:58px;text-decoration:none;display:inline-flex;position:relative}.auth-product-brand .brand-logo--horizontal{filter:drop-shadow(0 8px 18px #041c4824);width:min(265px,74vw);max-width:265px;height:auto}.school-register-hero>.auth-product-brand{margin-bottom:50px}.project-chip-icon,.device-chip,.empty-chip{place-items:center;display:grid}.project-chip-icon svg,.device-chip svg,.empty-chip svg{display:block}.brand-watermark{opacity:.025;pointer-events:none;background-image:url(/brand/logo-mark.svg);background-position:50%;background-repeat:no-repeat;background-size:min(34vw,320px)}@media (width<=900px){.public-brand .brand-logo--compact{max-width:146px;height:36px}.auth-product-brand .brand-logo--horizontal{width:min(230px,72vw)}.dashboard-brand-wrap .app-brand .brand-logo{max-width:145px}}@media (width<=680px){.auth-product-brand{margin-bottom:36px}.school-register-hero>.auth-product-brand{margin-bottom:32px}.public-footer-brand .public-brand .brand-logo--horizontal{max-width:190px;height:52px}}.report-brand-header{border-bottom:1px solid var(--fpga-border);justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;padding-bottom:20px;display:flex}.report-brand-header .brand-logo{max-width:220px;height:auto}.report-brand-header>div{text-align:right;display:grid}.report-brand-header strong{color:var(--brand-navy);font-size:15px}.report-brand-header span{color:#58708f;font:800 9px/1.2 var(--fpga-mono);letter-spacing:.16em;margin-top:5px}@media print{.report-brand-header{break-inside:avoid}.report-brand-header .brand-logo{max-width:190px}.report-actions,.report-savebar,.dashboard-sidebar,.dashboard-topbar,.dashboard-footer{display:none!important}}.auth-divider{color:#8a98ad;align-items:center;gap:12px;margin:18px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#e1e8f2;flex:1;height:1px}.auth-divider span{white-space:nowrap}.google-button{justify-content:center;align-items:center;gap:10px;color:#17305f!important;background:#fff!important;border:1px solid #d9e2ef!important;display:inline-flex!important;box-shadow:0 5px 14px #1936660d!important}.google-button:hover{background:#fbfdff!important;border-color:#b9c9e2!important}.auth-google{width:100%;min-height:46px}.google-g,.google-button>span:first-child{color:#fff;width:24px;height:24px;font:900 13px/1 var(--fpga-sans);background:linear-gradient(135deg,#4285f4,#34a853);border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #ffffff4d}.school-register-actions{flex-wrap:wrap;gap:8px;display:flex}.google-mini{min-width:92px}.register-google-button{width:100%;min-height:46px;margin-top:18px}.google-verified-card{background:#f5fcf8;border:1px solid #cfe9da;border-radius:12px;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;display:flex}.google-verified-card>div{flex:1;gap:2px;display:grid}.google-verified-card small{color:#5d708b}.google-security-note{border-left-color:#4285f4}.identity-panel{gap:0;padding:0;display:grid;overflow:hidden}.identity-row{border-bottom:1px solid #e5ebf4;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;display:flex}.identity-row:last-child{border-bottom:0}.identity-provider,.identity-status{align-items:center;gap:12px;display:flex}.identity-provider>div{gap:4px;display:grid}.identity-provider small{color:#718099;max-width:620px}.password-mark{color:#365682;background:#eef3fb;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.identity-status{flex-wrap:wrap;justify-content:flex-end}.status-pill.success{color:#047857;background:#ecfdf5;border-color:#bcebd7}.external-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.external-source-card{padding:20px}.external-source-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.external-source-head h2{margin:3px 0 4px}.external-source-head p{color:#73839c;word-break:break-all;font-size:12px}.external-source-meta{color:#60728f;flex-wrap:wrap;gap:16px;padding:14px 0;font-size:11px;display:flex}.warning-note{color:#8a5a12;background:#fffaf0;border:1px solid #f4dfae;border-radius:10px;padding:11px 12px;font-size:11px;line-height:1.55}.external-source-actions{gap:10px;margin-top:14px;display:grid}.inline-form{grid-template-columns:170px 1fr auto;gap:8px;display:grid}.table-sub{color:#8491a5;text-overflow:ellipsis;max-width:420px;margin-top:3px;font-size:10px;display:block;overflow:hidden}.table-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.button.small{min-height:30px;padding:6px 10px;font-size:10px}.button[disabled]{opacity:.45;cursor:not-allowed}.button.danger{color:#b4233f;background:#fff7f8;border-color:#f0c4cc}@media (width<=960px){.external-source-grid,.inline-form{grid-template-columns:1fr}.identity-row{flex-direction:column;align-items:flex-start}.identity-status{justify-content:flex-start}}.logic-react-root{border:1px solid var(--border,#dce6f4);background:#fff;border-radius:14px;min-height:650px;overflow:hidden}.logic-designer-shell{background:#f8fbff;grid-template-columns:230px minmax(480px,1fr) 330px;min-height:650px;display:grid}.logic-palette,.logic-preview{background:#fff;padding:14px;overflow:auto}.logic-palette{border-right:1px solid #dfe7f3}.logic-preview{border-left:1px solid #dfe7f3}.logic-palette input{width:100%;margin:10px 0}.logic-category-tabs,.catalog-filter-tabs{flex-wrap:wrap;gap:6px;margin:8px 0 12px;display:flex}.logic-category-tabs button,.catalog-filter-tabs a{text-transform:capitalize;color:#365070;background:#fff;border:1px solid #dbe5f3;border-radius:8px;padding:6px 9px;font-size:11px}.logic-category-tabs .active,.catalog-filter-tabs .active{color:#1559d6;background:#edf4ff;border-color:#9fc0ff}.logic-block-list{gap:8px;display:grid}.logic-block-list button{text-align:left;background:#fff;border:1px solid #dfe7f3;border-radius:10px;gap:3px;padding:10px;display:grid}.logic-block-list button:hover{background:#f8fbff;border-color:#87adff}.logic-block-list span{text-transform:uppercase;letter-spacing:.08em;color:#6b61d9;font-size:10px}.logic-block-list small{color:#8798b3}.logic-canvas-wrap{grid-template-rows:auto 1fr;min-width:0;display:grid}.logic-toolbar{background:#fff;border-bottom:1px solid #dfe7f3;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.logic-toolbar>div{flex-wrap:wrap;gap:7px;display:flex}.logic-flow{min-height:590px}.logic-node{background:#fff;border:1px solid #8db0fb;border-radius:11px;min-width:170px;overflow:hidden;box-shadow:0 7px 18px #214e9514}.logic-node.unsupported{border-color:#e7ad58}.logic-node-head{background:#f6f9ff;border-bottom:1px solid #e7edf7;gap:2px;padding:9px 11px;display:grid}.logic-node-head span{letter-spacing:.11em;color:#5a73a1;font-size:9px}.logic-node-head strong{color:#112b57;font-size:13px}.logic-node-body{grid-template-columns:auto 1fr auto;align-items:center;min-height:70px;padding:8px;display:grid}.logic-port-column{gap:7px;display:grid}.logic-port{color:#536986;min-width:35px;font-size:10px;position:relative}.logic-port-column.right{text-align:right}.logic-block-info{text-align:center;color:#8593a8;padding:0 8px}.logic-preview pre{white-space:pre-wrap;color:#d8e8ff;background:#0d1b2f;border-radius:10px;max-height:500px;padding:12px;font-size:11px;overflow:auto}.logic-warning{color:#8b6412;background:#fff9e8;border-radius:9px;gap:5px;margin:8px 0;padding:9px;display:grid}.file-button{cursor:pointer}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.source-card{background:#fff;border:1px solid #dce6f4;border-radius:14px;padding:16px}.source-card-actions{gap:10px;margin-top:12px;display:grid}.source-review-form{grid-template-columns:minmax(150px,.8fr) minmax(220px,1.7fr) auto;gap:8px;display:grid}.source-note{color:#806127;background:#fff9ea;border:1px solid #f2d895;border-radius:9px;padding:9px 10px;font-size:12px}.page-head-actions{flex-wrap:wrap;gap:8px;display:flex}.summary-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.data-table td small{color:#8391aa;overflow-wrap:anywhere;max-width:420px;margin-top:3px;display:block}.row-actions{align-items:center;gap:6px;display:flex}.button.small{padding:7px 10px;font-size:11px}@media (width<=1200px){.logic-designer-shell{grid-template-columns:200px minmax(420px,1fr)}.logic-preview{border-top:1px solid #dfe7f3;border-left:0;grid-column:1/-1}.summary-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.source-grid{grid-template-columns:1fr}}@media (width<=760px){.logic-designer-shell{display:block}.logic-palette,.logic-preview{max-height:280px}.logic-flow{height:520px}.logic-toolbar{flex-direction:column;align-items:flex-start}.summary-grid.five{grid-template-columns:1fr 1fr}.source-review-form{grid-template-columns:1fr}}
