*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(115deg,rgba(248,193,74,.09),transparent 34%),linear-gradient(245deg,rgba(98,214,167,.11),transparent 38%),linear-gradient(135deg,#0b1118,#172033 48%,#0e171c);color:#f7fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=light] body{background:linear-gradient(115deg,rgba(248,193,74,.13),transparent 34%),linear-gradient(245deg,rgba(20,137,103,.1),transparent 38%),linear-gradient(135deg,#f6f8fb,#eaf0f7 52%,#f8fbfd);color:#14212d}button,input,textarea{font:inherit}main{width:min(1220px,calc(100vw - 32px));margin:0 auto;padding:30px 0 48px}.skip-link{position:absolute;top:10px;left:10px;transform:translateY(-140%);border-radius:8px;padding:10px 14px;background:#f8c14a;color:#101820;font-weight:900;text-decoration:none;z-index:20}.skip-link:focus{transform:translateY(0)}.toast-stack{position:fixed;top:18px;right:18px;z-index:30;display:grid;gap:10px;width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:12px 14px;background:#101820f5;color:#f7fafc;box-shadow:0 18px 42px #0000003d}.toast-good svg{color:#62d6a7}.toast-warn svg{color:#f8c14a}.toast-bad svg{color:#ff7a7a}.ad-slot{min-height:96px;display:grid;place-items:center;margin:18px 0;overflow:hidden}.results .ad-slot{min-height:120px;margin:0 0 16px}.login-shell{min-height:100vh;display:grid;place-items:center}.login-card{width:min(460px,100%);display:grid;gap:16px;padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:linear-gradient(135deg,#ffffff1c,#ffffff0a);box-shadow:0 24px 54px #00000042}[data-theme=light] .login-card,[data-theme=light] .hero,[data-theme=light] .module-board,[data-theme=light] .workspace-toolbar,[data-theme=light] .status-panel,[data-theme=light] .mission-grid article,[data-theme=light] .panel,[data-theme=light] .component-card,[data-theme=light] .metric,[data-theme=light] .shackle-table,[data-theme=light] .dimension-list,[data-theme=light] .calc-row{border-color:#14212d29;background:#ffffffc7;color:#14212d;box-shadow:0 18px 42px #172a4314}.login-card h1{font-size:clamp(2.4rem,8vw,4.2rem)}.login-card p:not(.eyebrow){margin:0;color:#cbd5e1}.login-form{display:grid;gap:14px}.password-field{position:relative;display:block}.password-field input{padding-right:48px}.password-toggle{position:absolute;top:50%;right:7px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#cbd5e1;cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:10px}.checkbox-label input{width:18px;min-height:18px;accent-color:#62d6a7}.secondary-action{width:100%;min-height:46px;border:1px solid rgba(98,214,167,.35);border-radius:8px;background:#62d6a714;color:#dffcf0;cursor:pointer;font-weight:800}.analysis-action{margin:14px 0 10px}.hero{min-height:260px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:end;padding:32px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:linear-gradient(135deg,#ffffff1c,#ffffff0a);box-shadow:0 24px 54px #00000042}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;color:#f8c14a;font-size:.78rem;font-weight:800;text-transform:uppercase}h1,h2,h3,p{letter-spacing:0}h1{margin:0;max-width:780px;font-size:clamp(2.7rem,6vw,5.9rem);line-height:.95}h2{margin:0;font-size:1.45rem}h3{margin:0 0 14px}.hero p:not(.eyebrow){max-width:760px;color:#d8dee9;font-size:1.08rem;line-height:1.65}.status-panel,.mission-grid article,.panel,.component-card,.metric{border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#fff1}.status-panel{padding:18px}.status-panel span{display:flex;gap:8px;align-items:center;color:#cbd5e1}.status-panel strong{display:block;margin-top:12px;word-break:break-word}.status-panel small{display:block;margin-top:10px;color:#9fb0c5}.logout-button{width:100%;min-height:42px;margin-top:16px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#f7fafc;cursor:pointer;font-weight:800}.mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.workspace-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin:18px 0;padding:14px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0e}.breadcrumb,.toolbar-actions{display:flex;align-items:center;gap:10px;min-width:0}.breadcrumb{color:#cbd5e1;font-size:.88rem;font-weight:800}.breadcrumb span:after{content:"/";margin-left:10px;color:#77869a}.breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f8c14a}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.project-select{min-width:220px;color:#cbd5e1}.mission-grid article{padding:18px}.mission-grid svg{color:#62d6a7}.mission-grid b{display:block;margin:10px 0 6px}.mission-grid span,.summary{color:#c7d2df}[data-theme=light] .mission-grid span,[data-theme=light] .summary,[data-theme=light] .login-card p:not(.eyebrow),[data-theme=light] .status-panel span,[data-theme=light] .status-panel small,[data-theme=light] .breadcrumb,[data-theme=light] label,[data-theme=light] .project-select,[data-theme=light] .calc-row span,[data-theme=light] .shackle-table span,[data-theme=light] .shackle-table small{color:#415267}.workbench{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:18px}.module-board{margin:18px 0;padding:20px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0b}.module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.module-card{min-height:262px;display:grid;grid-template-rows:112px auto auto minmax(44px,1fr);gap:8px;text-align:left;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:10px;color:#f7fafc;background:linear-gradient(180deg,#ffffff1f,#ffffff0b),linear-gradient(145deg,#62d6a714,#f8c14a0f);cursor:pointer;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.module-card:hover{transform:translateY(-2px);border-color:#62d6a77a;box-shadow:0 16px 34px #00000038}.module-card.selected{border-color:#f8c14a;box-shadow:0 0 0 1px #f8c14a33}.module-card span{color:#f8c14a;font-size:.72rem;font-weight:800;text-transform:uppercase}.module-card small{color:#a9b6c7;line-height:1.35;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.stackup-visual{position:relative;min-height:340px;width:100%;overflow:hidden;border-radius:8px;background:linear-gradient(180deg,#ffffff14,#050a102e),linear-gradient(135deg,#62d6a71a,#f8c14a14)}.stackup-visual.compact{min-height:112px;background:linear-gradient(180deg,#ffffff14,#050a1033),linear-gradient(135deg,#62d6a714,#f8c14a0f)}.stackup-visual canvas{width:100%;height:100%;display:block}.active-visual-stage{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:18px;align-items:stretch;margin:18px 0;padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:linear-gradient(110deg,#ffffff1a,#ffffff09),linear-gradient(180deg,#0c131cb8,#1018206b);box-shadow:0 24px 54px #0000003d}[data-theme=light] .active-visual-stage,[data-theme=light] .module-card{border-color:#14212d29;background:linear-gradient(110deg,#ffffffdb,#ffffff94),linear-gradient(180deg,#dee8f2cc,#ffffffb8);color:#14212d;box-shadow:0 18px 42px #172a4314}.active-visual-copy{display:grid;align-content:center;gap:14px;padding:10px 6px}.active-visual-copy p:not(.eyebrow){margin:0;color:#d8dee9;line-height:1.6}[data-theme=light] .active-visual-copy p:not(.eyebrow){color:#415267}.visual-check-grid{display:grid;gap:10px;margin-top:4px}.visual-check-grid span{display:grid;gap:6px;border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:12px;background:#ffffff0e;color:#c7d2df;line-height:1.45}.visual-check-grid b{color:#f8c14a}[data-theme=light] .visual-check-grid span{border-color:#14212d24;background:#ffffffa8;color:#415267}.module-placeholder{min-height:280px;display:grid;place-items:center;align-content:center;text-align:center}.module-placeholder p{max-width:680px;color:#cbd5e1;line-height:1.65}.panel{padding:20px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.icon-button,.primary-action,.ghost-button{border:1px solid rgba(255,255,255,.18);color:#f7fafc;border-radius:8px;background:linear-gradient(180deg,#ffffff21,#ffffff12);cursor:pointer}.icon-button{display:inline-flex;align-items:center;gap:8px;padding:10px 14px}.danger-action{border-color:#fb718561;color:#fecdd3;background:#7f1d1d33}.primary-action{width:100%;min-height:52px;margin-top:14px;font-weight:800;background:linear-gradient(135deg,#f8c14a,#62d6a7);color:#101820}.report-action{display:inline-flex;align-items:center;justify-content:center;gap:8px}.wide-label{margin-bottom:14px}.wide-button{width:100%;justify-content:center}.primary-action:disabled,.ghost-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.48}.fastener-grid,.component-fields,.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.result-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:6px;color:#cbd5e1;font-size:.85rem;font-weight:700}.field-error input{border-color:#fb7185;box-shadow:0 0 0 1px #fb718559}.input-error{color:#fecdd3;background:#7f1d1d70;border:1px solid rgba(251,113,133,.45);border-radius:8px;padding:6px 8px;font-size:.78rem;line-height:1.25}input,select,textarea{width:100%;min-height:42px;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:9px 11px;background:#080d12b3;color:#f7fafc}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{border-color:#14212d2e;background:#ffffffeb;color:#14212d}[data-theme=light] .icon-button,[data-theme=light] .ghost-button,[data-theme=light] .logout-button,[data-theme=light] .secondary-action{border-color:#14212d2e;background:#ffffffb8;color:#14212d}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(98,214,167,.72);outline-offset:2px}select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}textarea{min-height:108px;resize:vertical;line-height:1.5}.component-list{display:grid;gap:12px;margin-top:14px}.form-section{margin:14px 0}.form-section h3{color:#f8c14a;font-size:1rem}.unit-selector{width:100%;margin:6px 0;text-align:left}.padeye-layout{display:grid;gap:16px}.shackle-preview{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(240px,1fr);gap:14px;align-items:start;margin-top:12px}.shackle-preview img{width:100%;max-height:320px;object-fit:contain;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#fffffff0}.shackle-table,.dimension-list{border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0e;padding:12px}.shackle-table{display:grid;gap:8px}.shackle-table span,.shackle-table small{color:#cbd5e1}.dimension-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dimension-list span{display:grid;gap:3px;color:#dbe6f3;font-size:.86rem}.dimension-list b{color:#f8c14a}.info-panel{border:1px solid rgba(98,214,167,.26);border-radius:8px;margin-bottom:14px;padding:12px 14px;background:#62d6a70f;color:#dbe6f3}.info-panel summary{display:flex;align-items:center;gap:8px;cursor:pointer;color:#62d6a7;font-weight:900}.info-panel p{margin:8px 0 12px;color:#cbd5e1;line-height:1.55}.info-panel b{color:#f8c14a}.component-card{padding:14px}.component-title{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}.drawing-upload{grid-column:span 2}.drawing-markup{margin-top:14px;border:1px solid rgba(98,214,167,.24);border-radius:8px;overflow:hidden;background:#080d128c}.markup-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid rgba(255,255,255,.12);color:#cbd5e1;font-size:.82rem;font-weight:800}.markup-toolbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-tabs{display:flex;gap:6px;overflow-x:auto;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.12)}.attachment-tabs button{max-width:190px;min-height:32px;flex:0 0 auto;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:0 10px;background:#ffffff12;color:#cbd5e1;cursor:pointer;font-size:.78rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-tabs button.selected{border-color:#62d6a7b8;background:#62d6a729;color:#f7fafc}.color-tools{display:flex;gap:6px}.color-tools button{width:24px;height:24px;border:2px solid rgba(255,255,255,.26);border-radius:999px;cursor:pointer}.color-tools button.selected{border-color:#f7fafc;box-shadow:0 0 0 2px #f8c14a57}.mini-button{min-height:32px;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:0 10px;background:#ffffff14;color:#f7fafc;cursor:pointer;font-weight:800}.drawing-markup canvas{width:100%;max-height:520px;display:block;object-fit:contain;background:#f8fafc;touch-action:none;cursor:crosshair}.image-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:22px;background:#03070cd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.image-zoom-panel{width:min(1180px,96vw);max-height:92vh;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid rgba(255,255,255,.18);border-radius:8px;overflow:hidden;background:#0b1118;box-shadow:0 24px 90px #0000006b}.image-zoom-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;color:#f7fafc;font-weight:900;border-bottom:1px solid rgba(255,255,255,.14)}.image-zoom-toolbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-zoom img{width:100%;height:100%;max-height:calc(92vh - 54px);display:block;object-fit:contain;background:#f8fafc}.ghost-button{width:42px;height:42px;display:grid;place-items:center}.metric{padding:14px}.metric span{display:block;color:#a9b6c7;font-size:.78rem;font-weight:800;text-transform:uppercase}.metric strong{display:block;margin-top:8px;font-size:1.3rem}.metric-good strong,.good-icon,.verdict.good{color:#62d6a7}.metric-warn strong,.warn-icon,.verdict.warn{color:#f8c14a}.metric-bad strong,.verdict.bad{color:#ff7a7a}.verdicts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 12px}.verdicts.single{grid-template-columns:1fr}.verdict{border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:12px;background:#0000002e;font-weight:800}.notice{border:1px solid rgba(248,193,74,.35);border-radius:8px;margin-bottom:14px;padding:12px;color:#f8c14a;background:#f8c14a14}.bell-card{border:1px solid rgba(255,255,255,.15);border-radius:8px;margin:16px 0;padding:0;overflow:hidden;background:#111827}.bell-title{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;color:#f7fafc;background:#00000029}.bell-title span,.bell-card small{color:#f7fafc}.bell-title>span{border:1px solid rgba(98,214,167,.35);border-radius:8px;background:#62d6a71a;padding:4px 10px;font-size:clamp(.95rem,2.4vw,1.35rem);font-weight:900}.bell-card svg{width:100%;height:auto;display:block}.empty-state{min-height:420px;display:grid;place-items:center;align-content:center;gap:12px;color:#cbd5e1;text-align:center}.result-skeleton{display:grid;gap:14px}.result-skeleton span{height:70px;border-radius:8px;background:linear-gradient(90deg,#ffffff14,#ffffff2e,#ffffff14);background-size:220% 100%;animation:skeleton-shimmer 1.2s linear infinite}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.contributors{margin-top:18px}.analysis-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:75;display:grid;place-items:center;padding:22px;background:#03070cc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.analysis-panel{width:min(720px,96vw);max-height:92vh;overflow:auto;display:grid;gap:14px;border:1px solid rgba(98,214,167,.28);border-radius:8px;padding:16px;background:#101822;box-shadow:0 24px 90px #0000006b}.analysis-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.analysis-header h3{margin:4px 0 0}.flexible-list,.optimization-result,.proposal-list{display:grid;gap:10px}.flexible-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0b}.flexible-option input{width:18px;min-height:18px;accent-color:#62d6a7}.flexible-option small{display:block;margin-top:4px;color:#a9b6c7;line-height:1.35}.proposal-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 10px;border-radius:8px;background:#ffffff0e;color:#dbe6f3}.proposal-list b{color:#f8c14a;white-space:nowrap}.calculation-steps{margin-top:20px;display:grid;gap:10px}.calculation-steps h3{margin:0}.calc-row{display:grid;grid-template-columns:minmax(150px,.36fr) minmax(0,1fr);gap:12px;align-items:start;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0b}.calc-row b{color:#f8c14a}.calc-row span{color:#dbe6f3;line-height:1.45}.bar-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1.2fr) 58px;gap:10px;align-items:center;padding:8px 0;color:#d7e0ec;font-size:.88rem}.bar-row div{height:10px;border-radius:999px;background:#ffffff1a;overflow:hidden}.bar-row i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#62d6a7,#f8c14a)}.bar-row b{text-align:right}@media (max-width: 920px){.hero,.workbench,.workspace-toolbar,.active-visual-stage{grid-template-columns:1fr}.toolbar-actions{justify-content:stretch}.toolbar-actions .icon-button,.toolbar-actions .project-select{flex:1 1 180px}.mission-grid,.fastener-grid,.component-fields,.result-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shackle-preview{grid-template-columns:1fr}.dimension-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){main{width:min(100vw - 20px,1220px);padding-top:18px}.module-grid{grid-template-columns:1fr}.module-card{min-height:238px}.active-visual-stage{padding:12px}.stackup-visual{min-height:260px}}:root{color-scheme:light}html{scroll-behavior:smooth}body,[data-theme=light] body{background:linear-gradient(125deg,rgba(255,224,102,.55),transparent 30%),linear-gradient(235deg,rgba(14,165,233,.23),transparent 38%),linear-gradient(180deg,#fffef8,#eef8ff 46%,#f7fbff);color:#111827}[data-theme=dark] body{background:linear-gradient(120deg,rgba(255,204,51,.18),transparent 34%),linear-gradient(245deg,rgba(45,212,191,.16),transparent 38%),linear-gradient(135deg,#0f172a,#172033 48%,#0b1120);color:#f8fafc}main{width:min(1460px,calc(100vw - 32px));padding-top:22px}.hero{min-height:620px;grid-template-columns:minmax(300px,.86fr) minmax(440px,1.22fr) minmax(250px,.52fr);align-items:stretch;gap:18px;padding:18px;border:1px solid rgba(15,23,42,.09);background:linear-gradient(135deg,#fffffff0,#ffffffad),linear-gradient(160deg,#ffd84d5c,#0ea5e929);box-shadow:0 34px 90px #0f172a21}.hero-copy{display:grid;align-content:center;padding:clamp(18px,3vw,44px)}.hero h1{max-width:620px;color:#0f172a;font-size:clamp(3.8rem,7vw,7.5rem);line-height:.9}.hero p:not(.eyebrow){max-width:620px;color:#334155;font-size:clamp(1rem,1.4vw,1.24rem);line-height:1.65}.eyebrow,.module-card span,.calc-row b,.visual-check-grid b,.dimension-list b,.form-section h3{color:#e06f00}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.hero-primary,.hero-secondary{min-height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0 20px;font-weight:900;text-decoration:none}.hero-primary{background:#111827;color:#fff;box-shadow:0 18px 32px #0f172a2e}.hero-secondary{border:1px solid rgba(15,23,42,.16);background:#ffffff9e;color:#111827}.hero-visual-panel{position:relative;min-height:100%;display:grid;overflow:hidden;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:linear-gradient(155deg,#ffffffeb,#e2f6ffad),linear-gradient(45deg,#ffc6292e,#2dd4bf2e);box-shadow:inset 0 0 0 1px #fff9,0 30px 70px #0f172a29}.hero-visual-panel .stackup-visual{min-height:100%;border-radius:0;background:linear-gradient(180deg,#ffffff1a,#0ea5e914),linear-gradient(135deg,#ffd60a1f,#2dd4bf1f)}.hero-visual-badge{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(15,23,42,.1);border-radius:8px;padding:12px 14px;background:#ffffffc7;color:#111827;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-visual-badge span{color:#64748b;font-size:.76rem;font-weight:900;text-transform:uppercase}.status-panel,.mission-grid article,.workspace-toolbar,.module-board,.active-visual-stage,.panel,.component-card,.metric,.shackle-table,.dimension-list,.calc-row,.visual-check-grid span,[data-theme=light] .status-panel,[data-theme=light] .mission-grid article,[data-theme=light] .workspace-toolbar,[data-theme=light] .module-board,[data-theme=light] .panel,[data-theme=light] .component-card,[data-theme=light] .metric,[data-theme=light] .shackle-table,[data-theme=light] .dimension-list,[data-theme=light] .calc-row{border-color:#0f172a1a;background:#ffffffc7;color:#111827;box-shadow:0 20px 50px #0f172a14}.status-panel{align-self:stretch;display:grid;align-content:center;padding:22px}.status-panel span,.status-panel small,.breadcrumb,label,.project-select,.mission-grid span,.summary,.calc-row span,.shackle-table span,.shackle-table small,.active-visual-copy p:not(.eyebrow),.visual-check-grid span,[data-theme=light] .status-panel span,[data-theme=light] .status-panel small,[data-theme=light] .breadcrumb,[data-theme=light] label,[data-theme=light] .project-select,[data-theme=light] .calc-row span,[data-theme=light] .shackle-table span,[data-theme=light] .shackle-table small{color:#475569}.logout-button,.icon-button,.secondary-action,[data-theme=light] .icon-button,[data-theme=light] .ghost-button,[data-theme=light] .logout-button,[data-theme=light] .secondary-action{border-color:#0f172a1f;background:#ffffffb8;color:#111827}.primary-action{background:linear-gradient(135deg,#111827,#0f766e);color:#fff}input,select,textarea,[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{border-color:#0f172a21;background:#ffffffe6;color:#111827}.mission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mission-grid article{display:grid;min-height:120px;align-content:center}.module-board{padding:24px}.module-grid{grid-template-columns:repeat(5,minmax(180px,1fr))}.module-card,[data-theme=light] .module-card{min-height:314px;grid-template-rows:154px auto auto minmax(54px,1fr);border-color:#0f172a1a;background:linear-gradient(180deg,#fffffff0,#f6faffd1),linear-gradient(135deg,#ffd60a33,#0ea5e91c);color:#111827;box-shadow:0 18px 34px #0f172a14}.module-card:hover{transform:translateY(-4px);border-color:#0ea5e980;box-shadow:0 28px 58px #0e74902e}.module-card.selected{border-color:#e06f00;box-shadow:0 0 0 2px #e06f0033,0 28px 58px #e06f0029}.module-card small{color:#475569}.stackup-visual{min-height:410px;background:linear-gradient(180deg,#ffffffc7,#e2f6ff7a),linear-gradient(135deg,#ffd60a29,#0ea5e91f)}.stackup-visual.compact{min-height:154px;background:linear-gradient(180deg,#ffffffb3,#e2f6ff7a),linear-gradient(135deg,#ffd60a29,#0ea5e91f)}.active-visual-stage,[data-theme=light] .active-visual-stage{grid-template-columns:1fr;padding:24px;background:linear-gradient(135deg,#ffffffdb,#ecfdf5b8),linear-gradient(120deg,#ffd60a2e,#0ea5e91a)}.active-visual-copy{padding:0}.visual-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-check-grid span{background:#ffffffad}.workbench{grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr)}.panel{padding:24px}.metric strong{color:#0f172a}.verdict{background:#ffffffa8;border-color:#0f172a1a}.bell-card,.drawing-markup,.analysis-panel{background:#fff;color:#111827}[data-theme=dark] .hero h1,[data-theme=dark] .hero p:not(.eyebrow),[data-theme=dark] .hero-secondary,[data-theme=dark] .hero-visual-badge,[data-theme=dark] .module-card,[data-theme=dark] .active-visual-stage,[data-theme=dark] .panel,[data-theme=dark] .status-panel,[data-theme=dark] .workspace-toolbar,[data-theme=dark] .module-board{color:#f8fafc}@media (max-width: 1100px){.hero{grid-template-columns:1fr}.hero-visual-panel{min-height:460px}.status-panel{align-content:start}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){main{width:min(100vw - 20px,1460px)}.hero{min-height:0;padding:12px}.hero-copy{padding:18px 8px}.hero h1{font-size:clamp(3.1rem,18vw,4.6rem)}.hero-visual-panel{min-height:330px}.mission-grid,.visual-check-grid,.workbench,.module-grid{grid-template-columns:1fr}}body,[data-theme=light] body{background:linear-gradient(125deg,rgba(125,211,252,.34),transparent 30%),linear-gradient(235deg,rgba(167,139,250,.18),transparent 38%),linear-gradient(180deg,#f8fbff,#edf7ff 48%,#fbfdff)}.hero,.status-panel,.mission-grid article,.workspace-toolbar,.module-board,.active-visual-stage,.panel,.component-card,.metric,.shackle-table,.dimension-list,.calc-row,.visual-check-grid span,.module-card,[data-theme=light] .hero,[data-theme=light] .status-panel,[data-theme=light] .mission-grid article,[data-theme=light] .workspace-toolbar,[data-theme=light] .module-board,[data-theme=light] .panel,[data-theme=light] .component-card,[data-theme=light] .metric,[data-theme=light] .shackle-table,[data-theme=light] .dimension-list,[data-theme=light] .calc-row,[data-theme=light] .module-card{border-color:#0f172a1a;background:#ffffff94;box-shadow:0 24px 70px #0f172a1a;-webkit-backdrop-filter:blur(22px) saturate(1.25);backdrop-filter:blur(22px) saturate(1.25)}.hero{min-height:560px;grid-template-columns:minmax(320px,.9fr) minmax(430px,1.2fr) minmax(250px,.52fr)}.hero-visual-panel{background:linear-gradient(145deg,#ffffffbd,#e0f2fe6b),linear-gradient(45deg,#6366f11f,#14b8a61f);-webkit-backdrop-filter:blur(28px) saturate(1.3);backdrop-filter:blur(28px) saturate(1.3)}.model-slot{position:relative;min-height:410px;display:grid;place-items:center;overflow:hidden;border-radius:8px;border:1px solid rgba(15,23,42,.1);background:linear-gradient(145deg,#ffffffc2,#e0f2fe75),linear-gradient(45deg,#6366f11c,#14b8a61f);box-shadow:inset 0 1px #ffffffe0,inset 0 -1px #0f172a0a}.model-slot.compact{min-height:154px}.model-slot-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;background-image:linear-gradient(rgba(15,23,42,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.06) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 72%);mask-image:radial-gradient(circle at center,black,transparent 72%)}.model-slot-core{position:relative;z-index:1;display:grid;justify-items:center;gap:10px;color:#0f172a;text-align:center}.model-slot-core b{font-size:clamp(1rem,1.5vw,1.35rem)}.model-slot-core small{color:#64748b;font-weight:800}.model-cube{width:76px;height:76px;position:relative;display:block;transform:rotateX(58deg) rotate(42deg);transform-style:preserve-3d}.model-cube i{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border:1px solid rgba(15,23,42,.16);background:linear-gradient(135deg,#ffffffb8,#7dd3fc57);box-shadow:0 20px 48px #0f172a21}.model-cube i:nth-child(1){transform:translateZ(34px)}.model-cube i:nth-child(2){transform:rotateY(90deg) translateZ(34px)}.model-cube i:nth-child(3){transform:rotateX(90deg) translateZ(34px)}.model-slot.compact .model-cube{width:44px;height:44px}.model-slot.compact .model-cube i:nth-child(1){transform:translateZ(20px)}.model-slot.compact .model-cube i:nth-child(2){transform:rotateY(90deg) translateZ(20px)}.model-slot.compact .model-cube i:nth-child(3){transform:rotateX(90deg) translateZ(20px)}.model-slot.compact .model-slot-core{gap:6px}.model-slot.compact .model-slot-core b{font-size:.86rem}.file-action{position:relative;overflow:hidden;cursor:pointer}.file-action input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.toolbar-actions{gap:8px}.toolbar-actions .icon-button,.toolbar-actions .file-action{min-height:44px;justify-content:center}.hero-visual-badge{background:#ffffffad;box-shadow:0 18px 48px #0f172a1a}.module-card,[data-theme=light] .module-card{background:#ffffff8a}:root{color-scheme:light;--page-bg: linear-gradient(125deg, rgba(125, 211, 252, .28), transparent 32%), linear-gradient(235deg, rgba(99, 102, 241, .13), transparent 40%), linear-gradient(180deg, #f8fbff 0%, #eef7ff 48%, #fbfdff 100%);--surface: rgba(255, 255, 255, .72);--surface-strong: rgba(255, 255, 255, .9);--surface-soft: rgba(248, 250, 252, .68);--border: rgba(15, 23, 42, .12);--text: #0f172a;--muted: #475569;--faint: #64748b;--accent: #0f766e;--accent-strong: #0f172a;--accent-warm: #b45309;--danger: #b91c1c;--shadow: 0 24px 70px rgba(15, 23, 42, .1);--field: rgba(255, 255, 255, .94)}[data-theme=dark]{color-scheme:dark;--page-bg: linear-gradient(125deg, rgba(20, 184, 166, .16), transparent 34%), linear-gradient(235deg, rgba(96, 165, 250, .14), transparent 40%), linear-gradient(180deg, #0b1120 0%, #111827 50%, #0f172a 100%);--surface: rgba(15, 23, 42, .78);--surface-strong: rgba(17, 24, 39, .94);--surface-soft: rgba(30, 41, 59, .72);--border: rgba(226, 232, 240, .18);--text: #f8fafc;--muted: #cbd5e1;--faint: #94a3b8;--accent: #5eead4;--accent-strong: #f8fafc;--accent-warm: #fbbf24;--danger: #fca5a5;--shadow: 0 24px 80px rgba(0, 0, 0, .32);--field: rgba(2, 6, 23, .72)}body,[data-theme=light] body,[data-theme=dark] body{background:var(--page-bg);color:var(--text)}main{width:min(1320px,calc(100vw - 32px))}.hero{min-height:390px;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:stretch;gap:18px;border-color:var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px) saturate(1.18);backdrop-filter:blur(22px) saturate(1.18)}.hero-copy{padding:clamp(18px,4vw,52px)}.hero h1,[data-theme=dark] .hero h1{max-width:760px;color:var(--text)}.hero p:not(.eyebrow),[data-theme=dark] .hero p:not(.eyebrow){max-width:760px;color:var(--muted)}.status-panel,.mission-grid article,.workspace-toolbar,.module-board,.active-visual-stage,.panel,.component-card,.metric,.shackle-table,.dimension-list,.calc-row,.visual-check-grid span,.module-card,[data-theme=light] .status-panel,[data-theme=light] .mission-grid article,[data-theme=light] .workspace-toolbar,[data-theme=light] .module-board,[data-theme=light] .panel,[data-theme=light] .component-card,[data-theme=light] .metric,[data-theme=light] .shackle-table,[data-theme=light] .dimension-list,[data-theme=light] .calc-row,[data-theme=light] .module-card,[data-theme=dark] .status-panel,[data-theme=dark] .mission-grid article,[data-theme=dark] .workspace-toolbar,[data-theme=dark] .module-board,[data-theme=dark] .active-visual-stage,[data-theme=dark] .panel,[data-theme=dark] .component-card,[data-theme=dark] .metric,[data-theme=dark] .shackle-table,[data-theme=dark] .dimension-list,[data-theme=dark] .calc-row,[data-theme=dark] .module-card{border-color:var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px) saturate(1.12);backdrop-filter:blur(18px) saturate(1.12)}.status-panel span,.status-panel small,.breadcrumb,label,.project-select,.mission-grid span,.summary,.calc-row span,.shackle-table span,.shackle-table small,.active-visual-copy p:not(.eyebrow),.visual-check-grid span,.module-card small,.flexible-option small,[data-theme=light] .status-panel span,[data-theme=light] .status-panel small,[data-theme=light] .breadcrumb,[data-theme=light] label,[data-theme=light] .project-select,[data-theme=light] .calc-row span,[data-theme=light] .shackle-table span,[data-theme=light] .shackle-table small,[data-theme=dark] .status-panel span,[data-theme=dark] .status-panel small,[data-theme=dark] .breadcrumb,[data-theme=dark] label,[data-theme=dark] .project-select,[data-theme=dark] .calc-row span,[data-theme=dark] .shackle-table span,[data-theme=dark] .shackle-table small{color:var(--muted)}.eyebrow,.module-card span,.calc-row b,.visual-check-grid b,.dimension-list b,.form-section h3,.breadcrumb strong{color:var(--accent-warm)}.mission-grid svg,.good-icon,.metric-good strong,.verdict.good{color:var(--accent)}.warn-icon,.metric-warn strong,.verdict.warn{color:var(--accent-warm)}.metric-bad strong,.verdict.bad,.danger-action{color:var(--danger)}.metric strong,[data-theme=dark] .metric strong{color:var(--text)}input,select,textarea,[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{border-color:var(--border);background:var(--field);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--faint)}.icon-button,.ghost-button,.logout-button,.secondary-action,.file-action,[data-theme=light] .icon-button,[data-theme=light] .ghost-button,[data-theme=light] .logout-button,[data-theme=light] .secondary-action,[data-theme=dark] .icon-button,[data-theme=dark] .ghost-button,[data-theme=dark] .logout-button,[data-theme=dark] .secondary-action{border-color:var(--border);background:var(--surface-strong);color:var(--text)}.primary-action,.hero-primary{background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#fff}[data-theme=dark] .primary-action,[data-theme=dark] .hero-primary{color:#06111a;background:linear-gradient(135deg,#f8fafc,#5eead4)}.hero-secondary{border-color:var(--border);background:var(--surface-strong);color:var(--text)}.module-card,[data-theme=light] .module-card,[data-theme=dark] .module-card{background:var(--surface-strong)}.model-slot{background:linear-gradient(145deg,var(--surface-strong),var(--surface-soft)),linear-gradient(45deg,#6366f11a,#14b8a61a);border-color:var(--border)}.model-slot-core{color:var(--text)}.model-slot-core small{color:var(--muted)}.notice{border-color:color-mix(in srgb,var(--accent-warm) 45%,transparent);background:color-mix(in srgb,var(--accent-warm) 10%,transparent);color:var(--accent-warm)}.verdict,.bell-card,.drawing-markup,.analysis-panel,.proposal-list div,.toast,[data-theme=dark] .toast{border-color:var(--border);background:var(--surface-strong);color:var(--text)}@media (max-width: 1100px){.hero{grid-template-columns:1fr;min-height:0}}.contributors,.calculation-steps,.optimization-result,.proposal-list,.flexible-list,.empty-state,.contributors h3,.calculation-steps h3,.analysis-header h3,.empty-state p,.bar-row,.bar-row span,.bar-row b{color:var(--text)}.bar-row div{background:color-mix(in srgb,var(--muted) 20%,transparent)}.bar-row i{background:linear-gradient(90deg,var(--accent),var(--accent-warm))}.calc-row span,.proposal-list div,.proposal-list span,.flexible-option,.flexible-option small,.optimization-result,.empty-state{color:var(--muted)}.proposal-list b{color:var(--accent-warm)}.result-grid .metric span,.metric span{color:var(--muted)}.result-grid .metric strong,.metric strong,.verdict{color:var(--text)}.summary{color:var(--muted)}.report-action,.primary-action.report-action{color:#fff}[data-theme=dark] .report-action,[data-theme=dark] .primary-action.report-action{color:#06111a}.drawing-markup{border-color:var(--border);background:var(--surface-strong);color:var(--text);overflow:visible}.markup-toolbar{border-bottom-color:var(--border);background:var(--surface-soft);color:var(--text)}.markup-toolbar span{color:var(--text)}.attachment-tabs{border-bottom-color:var(--border);background:var(--surface-soft)}.attachment-tabs button,.mini-button{border-color:var(--border);background:var(--surface-strong);color:var(--text)}.attachment-tabs button:hover,.mini-button:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface-strong))}.attachment-tabs button.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface-strong));color:var(--text)}.color-tools button{border-color:var(--border)}.color-tools button.selected{border-color:var(--text);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-warm) 44%,transparent)}.drawing-markup canvas{max-height:min(520px,58vh);background:#f8fafc}.image-zoom{z-index:10000;width:100vw;height:100vh;isolation:isolate;padding:clamp(10px,2vw,24px);background:#020617d1}.image-zoom-panel{width:min(1280px,calc(100vw - 24px));height:min(920px,calc(100vh - 24px));max-height:calc(100vh - 24px);overflow:hidden;border-color:#ffffff38;background:#0f172a;box-shadow:0 28px 120px #0000008c}.image-zoom-toolbar{min-height:52px;border-bottom-color:#ffffff29;background:#0f172af5;color:#f8fafc}.image-zoom-toolbar .mini-button{border-color:#ffffff38;background:#ffffff1a;color:#f8fafc}.image-zoom img{width:100%;height:100%;max-height:none;min-height:0;object-fit:contain;background:#f8fafc}
