:root{--ink:#0b1724;--muted:#647284;--line:#d9e0e7;--blue:#0867df;--cyan:#18b7d8;--paper:#f4f6f8;--navy:#071625;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.top{height:74px;padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.logo{font-weight:850;font-size:21px;letter-spacing:-.04em}.logo b{color:var(--cyan);font-size:27px;margin-right:7px}.logo span{color:var(--blue)}.top nav{display:flex;gap:28px;font-size:13px;font-weight:650}.hero{background:linear-gradient(145deg,#fff 0 38%,#eef3f8);padding:70px max(24px,calc((100vw - 1200px)/2)) 90px}.intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;margin-bottom:42px}.kicker{font:750 11px ui-monospace,monospace;letter-spacing:.15em;color:var(--blue)}h1,h2{letter-spacing:-.05em;margin:.25em 0}.intro h1{font-size:clamp(48px,7vw,78px);line-height:.94}.intro p{font-size:17px;line-height:1.6;color:var(--muted);max-width:460px}.workspace{display:grid;grid-template-columns:1.5fr .75fr;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 25px 80px #1a38531b;overflow:hidden}.workspace>section{padding:24px}.drop{min-height:116px;border:1.5px dashed #aebac6;border-radius:11px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:7px 20px;padding:25px;cursor:pointer;background:#fafbfd}.drop input{position:absolute;opacity:0;pointer-events:none}.drop strong{font-size:16px}.drop span{color:var(--muted);font-size:12px}.drop button{grid-column:2;grid-row:1/3;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 15px}.viewer{height:390px;margin-top:16px;border-radius:12px;position:relative;background:radial-gradient(circle at 50% 30%,#193451,#071421 65%);color:#fff;display:grid;place-items:center;overflow:hidden}.cube{font-size:70px;font-weight:900;color:#42d2ec33;border:2px solid #44cfe96b;padding:35px;transform:rotate(-8deg);box-shadow:0 0 80px #00b7dc25}.viewer #progress{position:absolute;top:20px;left:20px;font:11px ui-monospace;color:#8ce8f8}.metrics{position:absolute;left:15px;right:15px;bottom:15px;display:grid;grid-template-columns:repeat(4,1fr);background:#071421d9;border:1px solid #ffffff20;border-radius:9px;backdrop-filter:blur(10px)}.metrics span{padding:13px;border-right:1px solid #ffffff1c;color:#8da3b7;font-size:10px}.metrics span:last-child{border:0}.metrics b{display:block;color:#fff;margin-top:5px;font-size:12px}.panel{padding:30px;border-left:1px solid var(--line)}.panel h2{font-size:27px}.panel label,.login-card label{display:grid;gap:7px;margin:18px 0;font-size:12px;font-weight:700}.panel label output{float:right;color:var(--blue)}input,select,textarea{width:100%;border:1px solid #ccd5de;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink)}input[type=range]{padding:0;accent-color:var(--blue)}.price{border-top:1px solid var(--line);margin-top:25px;padding:22px 0;display:flex;justify-content:space-between;align-items:center}.price span{font-size:12px;font-weight:700}.price small{display:block;color:var(--muted);margin-top:4px;font-weight:400}.price strong{font-size:26px;color:var(--blue)}.primary{border:0;border-radius:8px;background:var(--blue);color:#fff;padding:13px 18px;font-weight:750;display:inline-block;cursor:pointer}.primary:disabled{opacity:.45}.materials{max-width:1200px;margin:auto;padding:90px 24px}.materials h2{font-size:45px}.materials>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.materials article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.materials article i{width:12px;height:38px;background:var(--blue);border-radius:8px}.materials article span{display:grid;gap:4px}.materials small{color:var(--muted)}footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);padding:35px 24px 55px;display:flex;align-items:center;gap:30px}footer p{margin-right:auto;color:var(--muted)}dialog{border:0;border-radius:16px;padding:0;width:min(680px,calc(100% - 30px));box-shadow:0 40px 120px #0007}dialog::backdrop{background:#071625b5;backdrop-filter:blur(4px)}dialog form{padding:35px;position:relative}.close{position:absolute;right:22px;top:20px;border:0;background:#edf1f5;border-radius:50%;width:32px;height:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid label{display:grid;gap:7px;margin:8px 0;font-size:12px;font-weight:700}.wide{grid-column:1/-1}.error,.warning{padding:12px;border-radius:7px;margin:15px 0;background:#ffeded;color:#9e2424;font-size:13px}.warning{background:#fff3d8;color:#805700}.success{text-align:center;padding:30px}.success>span{font-size:50px;color:#16a36a}.install,.portal{min-height:100vh;background:radial-gradient(circle at 50% 0,#173b5e,#071321 62%);padding:35px}.install-card,.login-card{width:min(680px,100%);margin:4vh auto;background:#fff;border-radius:16px;padding:40px;box-shadow:0 25px 90px #0005}.install-card h1,.login-card h1{font-size:44px}.install-card>p,.login-card>p{color:var(--muted);line-height:1.6}.portal{padding:0}.portal-main{padding:40px}.dashboard{max-width:1200px;margin:auto;background:#f7f9fb;border-radius:15px;padding:30px}.dashboard-head{display:flex;justify-content:space-between;align-items:center}.dashboard h1{font-size:42px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;min-width:800px}th,td{padding:13px 15px;text-align:left;border-bottom:1px solid #e9edf1;font-size:13px}th{font:700 10px ui-monospace;color:var(--muted);background:#f8fafb}td small{display:block;color:var(--muted);margin-top:3px}.quote-result{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px;padding:18px;background:#eef5ff;border-radius:9px}.quote-result span{display:grid;gap:5px;font-size:11px;color:var(--muted)}.quote-result b{font-size:14px;color:var(--ink)}@media(max-width:800px){.top nav a:not(:first-child){display:none}.intro{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.panel{border-left:0;border-top:1px solid var(--line)}.viewer{height:330px}.materials>div{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.portal-main,.install,.portal{padding:15px}.install-card,.login-card{padding:25px}.quote-result{grid-template-columns:1fr}}

.viewer canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.viewer canvas:active{cursor:grabbing}.viewer-tools{position:absolute;z-index:3;top:14px;right:14px;display:flex;gap:5px;padding:4px;background:#071421b8;border:1px solid #ffffff20;border-radius:8px;backdrop-filter:blur(8px)}.viewer-tools button{border:0;background:transparent;color:#8da8ba;border-radius:5px;padding:6px 9px;font-size:10px;cursor:pointer}.viewer-tools button.active,.viewer-tools button:hover{background:#1471d9;color:#fff}.viewer #progress{z-index:3;pointer-events:none}.metrics{z-index:3;pointer-events:none}
.printer-target{margin:-3px 0 18px;color:var(--blue);font-size:12px;font-weight:750}.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.print-grid label{margin:9px 0}.project-note{margin:16px 0 0;padding:11px 12px;border-radius:8px;background:#edf5ff;color:#486176;font-size:11px;line-height:1.45}.project-note strong{color:var(--blue)}@media(max-width:1050px){.print-grid{grid-template-columns:1fr}}@media(max-width:800px){.print-grid{grid-template-columns:1fr 1fr}}
.install-card>section{margin:24px 0}.install-card>section>form,.install-card details form{display:grid;gap:12px;margin-top:16px}.install-card>section>form label,.install-card details form label{display:grid;gap:7px;font-size:13px;font-weight:700}.install-card hr{border:0;border-top:1px solid var(--line);margin:30px 0}.security-secret{padding:14px;background:#eef5ff;border-radius:8px;overflow-wrap:anywhere;letter-spacing:.08em}.install-card details{margin:15px 0}.install-card details code{display:block;margin-top:10px;overflow-wrap:anywhere;font-size:11px}
