:root{color-scheme:dark;--bg: #07090c;--panel: rgba(11, 15, 22, .78);--panel-strong: rgba(8, 12, 18, .92);--line: rgba(255, 255, 255, .11);--text: #f4f7fb;--muted: #8c99aa;--soft: #c8d3de;--accent: #62d7ff;--accent-2: #78f0c6;--measure: #ffcc72;--shadow: 0 18px 60px rgba(0, 0, 0, .42);--safe-b: max(env(safe-area-inset-bottom), 12px);--safe-t: max(env(safe-area-inset-top), 12px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;background:var(--bg);color:var(--text);overflow:hidden}button,input,select,textarea{font:inherit}button{border:0;background:transparent;color:inherit;cursor:pointer}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.glass{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}.app-fullscreen{display:grid;grid-template-rows:56px 1fr;width:100vw;height:100vh;height:100dvh;background:radial-gradient(circle at 52% 18%,rgba(98,215,255,.11),transparent 34%),linear-gradient(180deg,#0a0e14,#050608)}.topbar-cad{display:grid;grid-template-columns:auto minmax(300px,680px) auto;align-items:center;gap:16px;min-width:0;padding:8px 14px;border-bottom:1px solid var(--line);background:#090d13e0;z-index:30}.brand-cad,.topbar-actions{display:flex;align-items:center;min-width:0}.brand-cad{gap:10px}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(145deg,#bdf7ff,#49c9f5);color:#061219;font-size:14px;font-weight:900}.brand-text strong,.brand-text small{display:block}.brand-text strong{font-size:14px;line-height:1.05}.brand-text small{margin-top:2px;color:var(--muted);font-size:10px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.topbar-actions{justify-content:flex-end;gap:7px}.status-pill{min-width:118px;padding:7px 10px;border-radius:999px;background:#62d7ff1a;color:#bcefff;font-size:11px;font-weight:760;text-align:center;white-space:nowrap}.icon-btn{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;color:#c9d3de}.icon-btn:hover,.icon-btn:focus-visible,.tool-btn:hover,.tool-btn:focus-visible,.hud-btn:hover,.launch-box:hover,.launch-box:focus-visible{background:#ffffff14;outline:none}.workflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;min-width:0}.step{position:relative;min-width:0;min-height:38px;display:grid;place-items:center;align-content:center;gap:1px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#ffffff06;color:var(--muted)}.step b,.step span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.step b{color:var(--soft);font-size:11px}.step span{font-size:9px;font-weight:720}.step.active{border-color:#62d7ff6b;background:#62d7ff21}.step.done b{color:var(--accent-2)}.stage-container{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:#05070a}.app-fullscreen[data-source=empty] .measurement-panel,.app-fullscreen[data-source=empty] .cad-toolbar,.app-fullscreen[data-source=empty] .capture-strip,.app-fullscreen[data-source=empty] .manual-hint{display:none}#stage{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:manipulation}.empty-state-cad{position:absolute;inset:0;z-index:12;display:grid;place-items:center;align-content:center;gap:20px;padding:80px 18px 36px;text-align:center;background:linear-gradient(90deg,#07090ced,#07090c8c,#07090ced),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 34px)}.launcher-copy{display:grid;gap:12px;max-width:680px}.eyebrow{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.launcher-copy h1{margin:0;font-size:clamp(38px,5vw,72px);line-height:.96;letter-spacing:0}.launcher-copy p{max-width:590px;margin:0 auto;color:#aeb9c6;font-size:15px;line-height:1.55}.launch-card-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;width:min(520px,calc(100vw - 32px))}.launch-box{min-height:142px;display:grid;place-items:center;align-content:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:#0a0e14ad;color:var(--text)}.launch-box svg{width:32px;height:32px}.launch-box span{font-size:14px;font-weight:820}.launch-box small{margin-top:-6px;color:var(--muted);font-size:11px}.drop-label{padding:7px 10px;border-radius:7px;color:#728093;font-size:12px;font-weight:760}.drop-hint{position:absolute;inset:18px;z-index:60;display:grid;place-items:center;border:2px dashed rgba(98,215,255,.65);border-radius:10px;background:#040b10e0;color:#d9f8ff;font-weight:860}.measurement-panel{position:absolute;left:16px;top:16px;z-index:15;width:min(312px,calc(100vw - 108px));padding:12px;border-radius:10px}.panel-heading,.comparison-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-heading span{font-size:13px;font-weight:900}.panel-heading small,.comparison-header small{color:var(--muted);font-size:10px;line-height:1.35;text-align:right}.side-field{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.side-field select{min-width:92px;height:30px;border:1px solid var(--line);border-radius:8px;background:#05080cd6;color:var(--text);padding:0 8px;outline:none}.measure-list{display:grid;gap:6px}.measure-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:7px 9px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:#ffffff09}.measure-row span{min-width:0;overflow:hidden;color:#c0cbd8;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.measure-row b{color:#fff;font-size:18px;font-variant-numeric:tabular-nums}.measure-row b span{margin-left:3px;color:var(--measure);font-size:10px}.cad-toolbar{position:absolute;right:16px;top:16px;z-index:16;display:flex;flex-direction:column;gap:10px;padding:8px;border-radius:12px}.toolbar-group{display:grid;gap:6px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.08)}.toolbar-group:last-child{padding-bottom:0;border-bottom:0}.toolbar-header{color:#607084;font-size:8px;font-weight:930;letter-spacing:.14em;text-align:center;text-transform:uppercase}.tool-btn{width:52px;height:50px;display:grid;place-items:center;align-content:center;gap:3px;border-radius:9px;color:#aab6c4}.tool-btn small{font-size:8px;font-weight:790}.tool-btn b{display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#ffffff14;color:#fff;font-size:12px}.tool-btn.active{background:#62d7ff24;color:var(--accent)}.capture-btn{border:1px solid rgba(255,204,114,.2);color:#ffd88d}.capture-btn.captured{border-color:#78f0c657;background:#78f0c61f;color:var(--accent-2)}.capture-btn.current{box-shadow:inset 0 0 0 1px #62d7ff7a,0 0 22px #62d7ff1f}.report-tool.ready{color:var(--accent);background:#62d7ff1f}.capture-strip{position:absolute;left:50%;bottom:20px;z-index:14;width:min(420px,calc(100vw - 150px));padding:8px;border-radius:12px;transform:translate(-50%)}.snapshot-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.snapshot-summary span{min-height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--muted);font-size:11px;font-weight:780;text-align:center}.snapshot-summary span.captured{border-color:#78f0c63d;color:#bdfbe5;background:#78f0c614}.snapshot-summary span.current{border-color:#62d7ff66;color:#d9f8ff}.video-hud{position:absolute;left:50%;bottom:78px;z-index:18;display:flex;align-items:center;gap:9px;width:min(540px,calc(100vw - 150px));padding:8px 12px;border-radius:999px;transform:translate(-50%)}.hud-btn{min-width:44px;height:28px;padding:0 8px;border-radius:7px;background:#ffffff0f;color:#dce8f2;font-size:11px;font-weight:780}.video-hud input[type=range]{min-width:0;flex:1;accent-color:var(--accent)}.hud-time{min-width:48px;color:var(--muted);font-size:10px;font-weight:780;text-align:right;font-variant-numeric:tabular-nums}.comparison{position:absolute;left:16px;right:88px;bottom:80px;z-index:17;padding:12px;border-radius:12px}.comparison-header h2{margin:3px 0 0;font-size:18px;letter-spacing:0}.comparison-grid{display:grid;grid-template-columns:160px 160px minmax(0,1fr);gap:10px;margin-top:10px;align-items:stretch}.snapshot-card{position:relative;min-height:128px;display:grid;grid-template-rows:auto 1fr;gap:6px;padding:8px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:#ffffff09}.snapshot-card b{font-size:11px}.snapshot-card img{width:100%;height:92px;object-fit:contain;border-radius:6px;background:#05070a}.snapshot-card span{position:absolute;inset:42px 8px auto;color:var(--muted);font-size:11px;font-weight:760;text-align:center}.table-wrap{min-width:0;overflow:auto;border:1px solid rgba(255,255,255,.075);border-radius:8px}table{width:100%;min-width:500px;border-collapse:collapse;font-size:12px}th,td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.07);text-align:right;font-variant-numeric:tabular-nums}th:first-child,td:first-child{text-align:left}th{color:#728093;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}tr:last-child td{border-bottom:0}.report-sheet{position:absolute;right:88px;top:16px;z-index:20;width:min(520px,calc(100vw - 118px));padding:14px;border-radius:12px}.sheet-close{width:30px;height:30px;border-radius:8px;background:#ffffff0f;color:#95a4b6;font-size:18px}.report-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.field{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:780}.field-wide{grid-column:1 / -1}.field input,.field textarea{width:100%;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#05080ce0;color:var(--text);padding:9px 10px;outline:none}.field textarea{resize:vertical}.primary-action{width:100%;min-height:40px;margin-top:12px;border-radius:8px;background:linear-gradient(145deg,#bdf7ff,#49c9f5);color:#061219;font-weight:900}.manual-hint{position:fixed;left:16px;bottom:16px;z-index:25;max-width:min(360px,calc(100vw - 32px));padding:8px 10px;border-radius:8px;color:#a9b7c7;font-size:11px;line-height:1.35}.toast{position:fixed;right:16px;bottom:16px;z-index:70;max-width:min(360px,calc(100vw - 32px));padding:10px 12px;border-radius:8px;color:#fff;font-size:12px;font-weight:780}[hidden]{display:none!important}@media(max-width:980px){.topbar-cad{grid-template-columns:auto 1fr auto;gap:10px}.workflow{grid-template-columns:repeat(5,minmax(48px,1fr))}.step span{display:none}.measurement-panel{width:min(300px,calc(100vw - 94px))}.comparison{right:16px}.comparison-grid{grid-template-columns:1fr 1fr}.table-wrap{grid-column:1 / -1}.report-sheet{right:16px;width:min(520px,calc(100vw - 32px))}}@media(max-width:720px){.app-fullscreen{grid-template-rows:auto 1fr}.topbar-cad{grid-template-columns:1fr auto;padding:8px 10px}.workflow{grid-column:1 / -1;order:3;margin-top:8px}.status-pill{display:none}.brand-text small{font-size:9px}.topbar-actions{gap:3px}.icon-btn{width:32px;height:32px}.measurement-panel{left:10px;right:74px;top:10px;width:auto;padding:10px}.measure-list{grid-template-columns:1fr 1fr}.measure-row{min-height:42px;align-content:center}.measure-row span{font-size:10px}.measure-row b{font-size:16px}.cad-toolbar{right:10px;top:10px;gap:7px;padding:6px}.toolbar-header{display:none}.tool-btn{width:46px;height:42px}.capture-strip{left:10px;right:10px;bottom:calc(var(--safe-b));width:auto;transform:none}.video-hud{left:10px;right:10px;bottom:calc(var(--safe-b) + 54px);width:auto;transform:none}.hud-time{display:none}.comparison{left:10px;right:10px;bottom:calc(var(--safe-b) + 112px);max-height:48vh;overflow:auto}.comparison-grid,.report-fields,.launch-card-grid{grid-template-columns:1fr}.report-sheet{left:10px;right:10px;top:10px;width:auto}.manual-hint{display:none}}@media(max-width:520px){.launcher-copy h1{font-size:38px}.launcher-copy p{font-size:13px}.empty-state-cad{padding-top:46px}.measurement-panel{right:64px}.measure-list{grid-template-columns:1fr}.capture-strip{font-size:10px}}
