*{box-sizing:border-box}body{color:#ecf0ee;background:#18221f;margin:0;font-family:Arial,Microsoft JhengHei,sans-serif;font-size:16px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,summary:focus-visible{outline-offset:3px;outline:2px solid #d7ed98}header{border-bottom:1px solid #35403c;justify-content:space-between;align-items:center;height:86px;padding:0 32px;display:flex}.brand{letter-spacing:.03em;align-items:center;gap:15px;font-size:21px;font-weight:600;display:flex}.brand small{color:#97a69f;letter-spacing:.12em;margin-top:6px;font-size:12px;display:block}.mark{color:#d7ed98;border-right:1px solid #4c5951;padding-right:18px;font-size:35px}.project{letter-spacing:.16em;color:#a8b3ad;font-size:12px}.scale{font-family:monospace;font-size:14px}.workspace{grid-template-columns:316px 1fr;height:calc(100dvh - 86px);min-height:640px;display:grid}aside{flex-direction:column;padding:30px 24px 20px;display:flex;overflow:auto}.eyebrow{letter-spacing:.18em;color:#adc778;font-size:12px}h1{margin:12px 0;font-size:26px;font-weight:500}.intro{color:#9daaa3;margin:0 0 31px;font-size:14px}.section-label{color:#b4c3ba;margin-bottom:16px;font-size:14px}.options{gap:9px;margin-bottom:32px;display:grid}.option{text-align:left;color:#dce5de;background:0 0;border:1px solid #46534b;border-radius:6px;align-items:center;gap:14px;padding:16px 13px;display:flex}.option b{font-size:24px;font-weight:400}.option span{font-size:14px}.option small{color:#a0b1a6;margin-top:7px;font-size:12px;display:block}.option i{color:#99ab9d;margin-left:auto;font-style:normal}.option.active{background:#29372c;border-color:#cee69a}.option.active b,.option.active i{color:#d7ed98}.slider{margin-bottom:28px}.slider label{flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:16px;display:flex}.slider small{color:#9caf9f;letter-spacing:.12em;margin-top:6px;font-size:12px;display:block}.slider output{font-variant-numeric:tabular-nums;color:#d7ed98;font-size:32px;font-weight:300}.slider em{margin-left:4px;font-size:14px;font-style:normal}.slider input{accent-color:#d7ed98;cursor:ew-resize;width:100%;height:5px;margin:23px 0 12px}.range-label{color:#9eafa4;justify-content:space-between;font-size:12px;display:flex}.measure{border-top:1px solid #3e4b42;border-bottom:1px solid #3e4b42;gap:13px;padding:17px 0;font-size:14px;display:grid}.measure div{justify-content:space-between;display:flex}.measure span{color:#9faea5}.measure b{font-family:monospace;font-weight:400}details{margin-top:23px;font-size:14px}summary{cursor:pointer;color:#c5d1c8}details img{border-radius:3px;width:100%;margin-top:13px}details p{color:#abb8af;font-size:12px;line-height:1.7}.aside-foot{letter-spacing:.08em;color:#bec9c1;margin-top:auto;padding-top:30px;font-size:12px}.aside-foot span{color:#91a597;letter-spacing:.08em;margin-top:7px;font-size:12px;display:block}.viewport{color:#34423b;background:#e4e7e9;position:relative;overflow:hidden}.scene{touch-action:none;position:absolute;inset:0}.scene canvas{width:100%;height:100%;display:block}.viewbar{z-index:2;justify-content:space-between;gap:12px;display:flex;position:absolute;top:24px;left:26px;right:26px}.segmented{background:#f8faf9;border:1px solid #cad1cf;border-radius:7px;padding:4px;display:flex;box-shadow:0 3px 10px #34423b08}.segmented button,.reset{color:#53645a;background:0 0;border:0;border-radius:4px;padding:10px 14px;font-size:14px}.segmented button[aria-pressed=true]{color:#fff;background:#243c30}.reset{background:#f8faf9;border:1px solid #cad1cf}.view-label{pointer-events:none;position:absolute;bottom:35px;left:30px}.view-label span{letter-spacing:.14em;color:#596c60;margin-bottom:10px;font-size:12px;display:block}.view-label b{font-size:18px;font-weight:500}.view-label i{color:#617168;font-size:14px;font-style:normal}.hint{color:#59695f;pointer-events:none;font-size:12px;position:absolute;top:88px;left:30px}.hint span{margin-left:18px}.axis{color:#66786a;font:13px/1.5 monospace;position:absolute;bottom:30px;right:32px}.error{color:#833;z-index:3;background:#fff;border:1px solid #a55;padding:24px;position:absolute;top:40%;left:10%;right:10%}@media (width<=900px){.project{display:none}.workspace{grid-template-columns:270px 1fr}aside{padding:24px 18px}.hint span{margin:8px 0;display:block}.viewbar{left:15px;right:15px}.segmented button,.reset{padding:9px;font-size:14px}}@media (width<=640px){header{height:72px;padding:0 18px}.brand{font-size:18px}.scale{font-size:12px}.workspace{flex-direction:column-reverse;height:auto;min-height:0;display:flex}.viewport{height:60dvh;min-height:390px}aside{overflow:visible}.options{grid-template-columns:1fr 1fr}.option{gap:9px;padding:13px 9px}.option i{display:none}.aside-foot{margin-top:20px}.view-label{bottom:22px;left:18px}.hint{left:18px}.eyebrow{margin-top:5px}}.upload-block{border-top:1px solid #45564a;margin-bottom:26px;padding:16px 0}.upload-block label{font-size:14px;display:block}.upload-block input[type=file]{color:#b8c8bd;width:100%;margin:12px 0;font-size:12px;display:block}.upload-block input::file-selector-button{color:#243c30;background:#d7ed98;border:0;border-radius:4px;margin-right:8px;padding:8px}.upload-block small{overflow-wrap:anywhere;color:#d1dfd5;display:block}.upload-block p,.export-note{color:#b5c5ba;font-size:12px;line-height:1.6}.check{align-items:center;gap:8px;display:flex!important}.check input{accent-color:#d7ed98}.material-select{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;font-size:14px;display:flex}.material-select select{color:#eaf0e8;min-width:0;max-width:190px;font:inherit;background:#29372c;border:1px solid #657369;border-radius:4px;padding:9px}.export{color:#243c30;background:#d7ed98;border:0;border-radius:5px;width:100%;margin-top:12px;padding:13px;font-size:15px}.export:disabled{opacity:.65;cursor:wait}.cancel{color:#d7ed98;background:0 0;border:1px solid #899980;margin-top:8px;padding:8px}.export-note{margin:8px 0 22px}.lighting{margin-bottom:28px}.light-values{justify-content:space-between;margin-top:20px;font-size:14px;display:flex}.light-values output{color:#d7ed98;font-variant-numeric:tabular-nums}.light-control{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;height:40px;display:flex;position:relative}.light-track{background:#536356;border-radius:4px;width:100%;height:5px;position:relative}.light-indicator{background:#f6ce75;border-radius:4px;height:100%;position:absolute}.light-thumb{cursor:ew-resize;background:#f6ce75;border:2px solid #263d30;border-radius:5px;width:18px;height:24px;display:block}.light-thumb:focus-visible{outline-offset:3px;outline:2px solid #fff}
