:root{font-family:Inter,"SF Pro Display","PingFang SC",system-ui,sans-serif;color:#e7f0f8;background:#050b14;--panel:rgba(13,25,39,.86);--line:rgba(148,184,210,.16);--cyan:#36d7e8;--mint:#52e0ad;--amber:#f7be55;--muted:#8ea4b7}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 13% 7%,rgba(22,104,128,.22),transparent 32%),radial-gradient(circle at 88% 32%,rgba(89,60,131,.18),transparent 30%),#050b14;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(80,154,180,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(80,154,180,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}button,input,select,textarea{font:inherit}.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.16;pointer-events:none}.ambient-a{width:340px;height:340px;background:#16c6d9;top:25%;left:-180px}.ambient-b{width:420px;height:420px;background:#7952c9;right:-220px;bottom:4%}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1440px)/2));border-bottom:1px solid var(--line);background:rgba(4,10,18,.78);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.brand{display:flex;gap:13px;align-items:center}.brand-mark{width:38px;height:38px;border:1px solid rgba(54,215,232,.5);border-radius:12px;display:grid;place-items:center;color:var(--cyan);font:800 20px/1 Georgia;box-shadow:inset 0 0 22px rgba(54,215,232,.13)}.brand strong{display:block;letter-spacing:.02em}.brand small{display:block;color:#6f8da1;font-size:9px;letter-spacing:.2em;margin-top:4px}.system-state{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.system-state b{color:var(--cyan);border:1px solid var(--line);padding:5px 8px;border-radius:99px}.pulse{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 6px rgba(82,224,173,.08);animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(82,224,173,0)}}.shell{max-width:1440px;margin:auto;padding:44px 28px 72px}.hero{display:grid;grid-template-columns:1fr minmax(430px,.75fr);align-items:end;gap:60px;margin-bottom:38px}.eyebrow,.section-heading span{font-size:10px;letter-spacing:.2em;color:var(--cyan);font-weight:700}.hero h1{font-size:clamp(40px,5vw,70px);line-height:1.02;letter-spacing:-.055em;margin:12px 0 18px;font-weight:640}.hero h1 em{font-style:normal;color:transparent;background:linear-gradient(90deg,#aeeef2,#63deba 55%,#f4c76e);background-clip:text}.hero-copy{max-width:650px;color:#8fa6b8;line-height:1.75;font-size:15px}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px;background:rgba(9,18,29,.62);overflow:hidden}.hero-metrics div{padding:20px;border-right:1px solid var(--line);min-width:0}.hero-metrics div:last-child{border:0}.hero-metrics span{display:block;color:#668296;font-size:10px;letter-spacing:.12em;margin-bottom:10px}.hero-metrics strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-nav{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:18px 18px 0 0;overflow:hidden;background:rgba(6,14,24,.72)}.stage{border:0;border-right:1px solid var(--line);background:transparent;color:#718a9d;padding:18px;display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer;transition:.25s}.stage:last-child{border:0}.stage i{font-style:normal;font-size:10px;border:1px solid var(--line);border-radius:7px;padding:5px}.stage span{font-size:13px;font-weight:650}.stage small{display:block;font-weight:400;font-size:10px;margin-top:5px;color:#526b7e}.stage:hover,.stage.active{background:linear-gradient(135deg,rgba(29,90,110,.34),rgba(15,36,53,.18));color:#e9fbff}.stage.active i{color:#05121a;background:var(--cyan);border-color:var(--cyan)}.workspace{border:1px solid var(--line);border-top:0;border-radius:0 0 20px 20px;background:linear-gradient(145deg,rgba(12,24,38,.92),rgba(7,14,24,.88));box-shadow:0 28px 90px rgba(0,0,0,.28);min-height:650px}.tab-panel{display:none;grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr);min-height:650px}.tab-panel.active{display:grid;animation:reveal .3s ease}@keyframes reveal{from{opacity:0;transform:translateY(6px)}}.control-panel,.visual-panel{padding:30px}.control-panel{border-right:1px solid var(--line)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.section-heading h2{font-size:20px;margin:5px 0 0;letter-spacing:-.02em}.chip{font-size:9px!important;letter-spacing:.1em!important;color:#98acbc!important;border:1px solid var(--line);border-radius:99px;padding:7px 9px;white-space:nowrap}.chip.mint{color:var(--mint)!important;border-color:rgba(82,224,173,.28)}.chip.amber{color:var(--amber)!important;border-color:rgba(247,190,85,.28)}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}label{display:flex;flex-direction:column;gap:7px;color:#8fa5b7;font-size:11px}input,select,textarea{width:100%;border:1px solid rgba(144,177,199,.19);border-radius:10px;background:rgba(3,10,18,.58);color:#e8f5fa;padding:11px 12px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:rgba(54,215,232,.6);box-shadow:0 0 0 3px rgba(54,215,232,.06)}textarea{resize:vertical;line-height:1.6}.action-row{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}button{border:0;border-radius:10px;padding:11px 15px;cursor:pointer;font-weight:700;transition:transform .18s,filter .18s,opacity .18s}button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}button:disabled{opacity:.42;cursor:not-allowed}.primary{background:linear-gradient(135deg,#42d9e7,#4bcea6);color:#041219;box-shadow:0 8px 24px rgba(54,215,232,.13)}.secondary{background:rgba(54,215,232,.11);border:1px solid rgba(54,215,232,.25);color:#8cecf5}.ghost{background:rgba(146,176,197,.07);border:1px solid var(--line);color:#a8bac7}.wide{width:100%;margin-top:16px}.inline-status{color:#7892a4;font-size:11px;line-height:1.5;min-height:17px}.preview-box,.photo-stage{min-height:440px;border:1px solid var(--line);border-radius:16px;background:#07111f;display:grid;place-items:center;overflow:hidden;position:relative}.preview-box:before,.photo-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(54,215,232,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(54,215,232,.04) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.preview-box img,.photo-stage>img{display:block;max-width:100%;max-height:570px;object-fit:contain;position:relative;z-index:1}.empty-visual{text-align:center;color:#597184;position:relative;z-index:2}.lens-icon,.scan-icon,.photo-icon,.diff-icon,.shield-icon{display:block;width:72px;height:34px;border:2px solid #285469;border-radius:45% 45% 42% 42%;margin:0 auto 18px;position:relative}.lens-icon:after{content:"";position:absolute;width:28px;border-top:2px solid #285469;left:70px;top:9px;box-shadow:72px 0 0 -1px #285469}.scan-icon:after{content:"";position:absolute;inset:-12px;border:1px dashed #285469;border-radius:10px}.photo-icon{height:52px;border-radius:9px}.diff-icon{border-radius:6px;height:50px}.shield-icon{height:64px;width:56px;border-radius:28px 28px 36px 36px}.artifact-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.artifact-list a{font-size:10px;text-decoration:none;color:#82dfe8;padding:8px 10px;border:1px solid rgba(54,215,232,.2);border-radius:8px;background:rgba(54,215,232,.05)}.report-strip{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:10px;color:#7893a5}.report-strip b{color:var(--mint)}.upload-card{border:1px dashed rgba(54,215,232,.28);border-radius:14px;padding:20px;display:grid;gap:15px;background:rgba(54,215,232,.025)}.upload-card input{display:none}.upload-card label{cursor:pointer}.upload-card label b{color:#d9edf3;font-size:13px}.upload-card small{color:#627e91}.assignment-list{display:grid;gap:9px;margin-top:20px;max-height:360px;overflow:auto}.assignment{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:rgba(3,10,18,.35)}.assignment.needs-confirmation{border-color:rgba(247,190,85,.32)}.assignment b{font-size:11px}.assignment span{font-size:9px;color:#718c9f}.assignment input{grid-column:1/2;font-size:9px;padding:8px}.assignment .mini{grid-column:2;grid-row:2;padding:7px 9px;font-size:9px;background:rgba(54,215,232,.12);color:#83e7ef}.stack-form{display:grid;gap:14px}.file-field input{padding:10px}.calibration-controls{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.calibration-controls p,.boundary-note p{font-size:11px;line-height:1.65;color:#7590a3}.calibration-controls .secondary{width:100%;margin-top:12px}.readiness{display:flex;justify-content:space-between;padding:12px;margin-top:16px;border:1px solid var(--line);border-radius:10px;font-size:10px;color:#718da1}.readiness b{color:#cbdde7}.photo-stage{cursor:crosshair}.point-overlay{position:absolute;inset:0;z-index:3;pointer-events:none}.point-overlay i{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:9px;color:#041219;background:var(--cyan);box-shadow:0 0 0 4px rgba(54,215,232,.18)}.point-overlay .contour-point{background:var(--mint)}.plan-box{min-height:440px;border:1px solid var(--line);border-radius:16px;padding:18px;background:rgba(3,10,18,.38)}.plan-box.empty{display:grid;place-items:center}.diff-row{display:grid;grid-template-columns:1fr auto 20px auto 46px;align-items:center;gap:12px;padding:15px 4px;border-bottom:1px solid var(--line)}.diff-row b{font-size:12px}.diff-row small{display:block;color:#607b8e;font-size:9px;margin-top:5px;max-width:360px}.diff-row span{color:#7c95a7;text-decoration:line-through}.diff-row i{font-style:normal;color:#4c6d80}.diff-row strong{color:var(--mint)}.diff-row em{font-style:normal;font-size:9px;color:#7993a6}.delivery-actions{display:grid;gap:11px}.boundary-note{margin-top:28px;padding:16px;border-left:2px solid var(--amber);background:rgba(247,190,85,.045)}.boundary-note b{color:#e7c67d;font-size:11px}.validation-results{min-height:400px}.validation-results.empty{display:grid;place-items:center;border:1px solid var(--line);border-radius:16px}.rule-row{display:grid;grid-template-columns:1fr 1.7fr auto;align-items:center;gap:14px;padding:12px;border-bottom:1px solid var(--line)}.rule-row b{font-size:10px}.rule-row span{font-size:10px;color:#7c94a6}.rule-row em{font-style:normal;font-size:8px;padding:5px 7px;border-radius:99px;border:1px solid var(--line)}.rule-row.failed.hard em{color:#ff8c96;border-color:rgba(255,93,107,.3)}.rule-row.failed.soft em,.rule-row.failed.design em{color:var(--amber)}.rule-row.passed em{color:var(--mint)}.blocking-reasons{padding:15px;margin-top:14px;border-radius:12px;background:rgba(255,90,105,.055);border:1px solid rgba(255,90,105,.15)}.blocking-reasons b{color:#ff919b;font-size:11px}.blocking-reasons p{font-size:10px;color:#8ea4b4;margin:8px 0 0}#toast{position:fixed;right:24px;bottom:24px;z-index:50;max-width:380px;padding:13px 17px;border:1px solid var(--line);border-radius:12px;background:#102131;color:#cde2eb;box-shadow:0 14px 50px rgba(0,0,0,.4);transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s;font-size:12px}#toast.show{transform:none;opacity:1}#toast.success{border-color:rgba(82,224,173,.35)}#toast.error{border-color:rgba(255,90,105,.38)}#toast.warn{border-color:rgba(247,190,85,.38)}@media(max-width:980px){.hero{grid-template-columns:1fr}.stage-nav{grid-template-columns:repeat(5,minmax(120px,1fr));overflow:auto}.tab-panel{grid-template-columns:1fr}.control-panel{border-right:0;border-bottom:1px solid var(--line)}.hero-metrics{max-width:650px}}@media(max-width:620px){.topbar{padding:0 16px}.system-state span:not(.pulse){display:none}.shell{padding:28px 14px 48px}.hero h1{font-size:40px}.hero-metrics{grid-template-columns:1fr}.hero-metrics div{border-right:0;border-bottom:1px solid var(--line)}.field-grid{grid-template-columns:1fr}.control-panel,.visual-panel{padding:20px}.stage{min-width:125px;padding:13px}.stage small{display:none}.preview-box,.photo-stage{min-height:320px}.diff-row{grid-template-columns:1fr auto 15px auto}.diff-row em{display:none}.rule-row{grid-template-columns:1fr auto}.rule-row span{grid-row:2;grid-column:1/3}}
