@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#193c3c;--muted:#74817f;--line:#dfe6e2;--green:#24645e;--soft:#eef4f1}*{box-sizing:border-box}body{margin:0;background:#f8faf8;color:var(--ink);font:13px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer;background:white;color:var(--ink);border:1px solid var(--line);padding:10px 13px;border-radius:6px;transition:.15s}button:hover{border-color:#7aa49a;background:#f0f6f2}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--green);color:white;border-color:var(--green)}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 27px;background:#fff;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;font:20px Manrope,sans-serif;white-space:nowrap}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:5px;color:var(--muted)}.logo{background:var(--green);color:#fff;font-size:34px;width:43px;height:43px;border-radius:12px;text-align:center;line-height:40px}.header-actions{display:flex;align-items:center;gap:8px}.privacy{font-size:11px;color:#718680;margin-right:15px}nav{height:63px;display:flex;align-items:stretch;padding:0 26px;background:#fff;border-bottom:1px solid var(--line);gap:20px}nav button{border:0;border-radius:0;background:none;font-weight:600;padding:0 8px;color:var(--muted);border-bottom:3px solid transparent}nav button.active{color:var(--green);border-bottom-color:var(--green)}nav i{font-style:normal;display:inline-block;background:#edf1ed;padding:4px 6px;border-radius:4px;font-size:10px;margin-right:7px}#help{margin-left:auto;font-size:11px}main{display:grid;grid-template-columns:290px minmax(300px,1fr) 250px;height:calc(100vh - 179px);min-height:620px}aside{background:#fff;padding:27px 23px;overflow-y:auto}#panel{border-right:1px solid var(--line)}#inspector{border-left:1px solid var(--line)}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:24px;margin:6px 0}h2{font-size:19px;margin:8px 0 12px}h3{font-size:13px;margin:24px 0 12px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:700;color:#7a8c85}p{line-height:1.65;color:var(--muted);font-size:12px}.intro{margin-bottom:22px}label{display:block;color:#536b64;font-size:11px;margin:14px 0 8px}input[type=number],select{width:100%;padding:9px;border:1px solid var(--line);border-radius:5px;background:#fafcfb;color:var(--ink);margin-top:7px}input[type=range]{width:100%;accent-color:var(--green);margin-top:12px}.check{display:flex;gap:8px;align-items:center;font-size:12px}.check input{accent-color:var(--green)}.row{display:flex;gap:7px}.row>*{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:8px}.full{width:100%;margin-top:12px}.upload{width:100%;padding:24px 10px;border:1px dashed #a9c7bc;background:#f6faf7;line-height:1.8}.upload b{display:block}.upload span{font-size:11px;color:var(--muted)}.pill{font-size:10px;border-radius:20px;background:#eaf3ee;padding:5px 8px}.hint{background:#f4f7f4;padding:12px;border-radius:6px;font-size:11px;line-height:1.7;color:#637970;margin-top:15px}.warn{background:#fbf5e9;color:#80652e}.tool-on{background:#e0eee7!important;border-color:#4d9183!important}.landmark{display:flex;align-items:center;gap:6px;margin:7px 0}.landmark button:first-child{flex:1;text-align:left;font-size:11px}.landmark button:last-child{padding:9px}.landmark .done{color:#328675}.small{font-size:10px}.divider{border-top:1px solid var(--line);margin:22px 0}.stat{display:flex;justify-content:space-between;border-bottom:1px solid #eef1ee;padding:12px 0;font-size:11px}.stat b{font-weight:500}.course-note{margin-top:30px;background:#f0f5ed;padding:19px;border-radius:8px}.course-note h3{font-size:18px;margin:10px 0}.course-note button{border:0;background:none;padding:0;font-size:11px;font-weight:600}#viewport{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#fafbf8,#e9eee7)}#canvasHost{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}.view-heading{position:absolute;top:25px;left:28px;right:25px;display:flex;justify-content:space-between;z-index:1;pointer-events:none}.view-heading p{margin:5px 0;font-size:11px}.tag{font-size:9px;align-self:flex-start;border:1px solid #ccd7cf;color:#7b8d80;padding:6px 8px;border-radius:4px}#viewtools{position:absolute;bottom:78px;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:5px;background:#ffffffed;box-shadow:0 5px 30px #25452b0e;border:1px solid #dce4da;border-radius:8px;white-space:nowrap}#viewtools button{font-size:10px;border:0;padding:8px 10px;background:transparent}#viewtools button:hover{background:#e7f0e8}#status{position:absolute;bottom:19px;left:25px;right:20px;color:#60796d;font-size:11px;max-width:85%;line-height:1.4}.legend{position:absolute;bottom:127px;left:50%;transform:translateX(-50%);display:flex;gap:18px;font-size:10px;color:#677d70}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;border-radius:50%}.axis-note{position:absolute;left:25px;bottom:45px;font-size:9px;color:#89968e}footer{height:32px;padding:0 25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#859088;letter-spacing:.3px;background:white}.dot{width:5px;height:5px;display:inline-block;background:#549679;border-radius:50%;margin-right:5px}#labels{position:absolute;inset:0;pointer-events:none}.label3d{position:absolute;font-size:9px;background:#fffffff0;color:#37675e;border:1px solid #d1ddd5;padding:3px 5px;border-radius:4px;white-space:nowrap}dialog{max-width:830px;width:90vw;border:1px solid var(--line);border-radius:15px;padding:35px;box-shadow:0 30px 100px #14382b33;color:var(--ink)}dialog::backdrop{background:#123a3550;backdrop-filter:blur(4px)}dialog h2{font-size:25px}.close{float:right;font-size:22px;border:0;padding:0 7px}table{border-collapse:collapse;width:100%;font-size:12px;margin:20px 0}td,th{text-align:left;padding:10px;border-bottom:1px solid var(--line)}th{background:var(--soft)}.metric{background:#f0f6f2;padding:9px;margin-top:6px;font-size:11px}.error{color:#a4483b}.success{color:#2d7f68}@media(max-width:1150px){main{grid-template-columns:260px minmax(300px,1fr)}#inspector{display:none}.privacy{display:none}nav{gap:8px;padding:0 14px}nav button{font-size:11px}.brand{font-size:17px}}@media(max-width:740px){header{height:auto;min-height:80px;padding:15px;flex-wrap:wrap}.header-actions{flex-wrap:wrap}.header-actions button{font-size:10px;padding:7px}nav{overflow:auto;height:55px;gap:8px}nav button{white-space:nowrap}#help{display:none}main{display:flex;flex-direction:column;height:auto;min-height:0}#viewport{height:65vh;min-height:420px;order:-1}#panel{max-height:none}footer{height:auto;padding:10px;gap:10px}footer span:nth-child(2){display:none}.tag{display:none}.view-heading{left:18px;top:18px}h1{font-size:20px}}

.measurement-caption{display:block;margin-top:5px;font-size:10px;line-height:1.45;font-weight:400;color:#62796d}.measurement-help{margin:0 0 12px;padding:12px;border-left:3px solid #7da99a;background:#f0f6f2;border-radius:0 5px 5px 0;color:#405d52;font-size:11px;line-height:1.65}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

#viewtools{flex-wrap:wrap;justify-content:center;max-width:calc(100% - 24px);width:max-content}#saveViewToolbar,#setPathToolbar{color:#24645e!important;background:#eff5ee!important}

.axis-widget{position:absolute;right:16px;bottom:76px;width:120px;height:120px;pointer-events:auto;z-index:4}

.axis-views{position:absolute;right:16px;bottom:18px;width:120px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;z-index:5}.axis-views button{padding:4px 0;min-height:25px;font-size:12px;background:#fff;border:1px solid #d6e0dc;border-radius:5px}.axis-views button[data-axis="X"]{color:#aa3030}.axis-views button[data-axis="Y"]{color:#236947}.axis-views button[data-axis="Z"]{color:#2561a0}.axis-views button:hover{background:#e5f0ed}.axis-views button:focus-visible{outline:2px solid #326b65;outline-offset:1px}

.design-checks{padding-left:18px;color:#80652e;font-size:11px;line-height:1.65}.design-checks li{margin:7px 0}#rimReadiness{border-top:1px solid var(--line);margin-top:18px}
