@font-face{font-family:Montserrat;src:url('assets/montserrat-0.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Montserrat;src:url('assets/montserrat-1.ttf') format('truetype');font-weight:700;font-display:swap}
:root{color-scheme:light;--blue:#006cff;--ink:#23272e;--muted:#6c737e;--border:#dce0e5;--soft:#f4f6f8}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);padding:9px 12px;transition:background .15s,border-color .15s}button:hover{background:var(--soft);border-color:#b5bdc8}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,#canvas-host:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button.selected,button.active{background:#edf4ff;border-color:var(--blue);color:#004fba}a{color:inherit;text-decoration:none}.topbar{height:72px;max-width:1504px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:9px;font:700 16px/1 Montserrat,Arial,sans-serif;letter-spacing:.3px}.color-logo{position:relative;width:44px;height:35px;overflow:hidden;display:block}.color-logo img{position:absolute;width:84px;height:84px;max-width:none;left:-19px;top:-16px}.help-btn{border-color:transparent;color:var(--muted);padding:8px 10px}main{max-width:1504px;margin:auto;padding:0 32px}.project-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 0 21px;gap:20px}.project-heading p{font-size:12px;color:var(--muted);margin:0 0 4px}.project-heading h1{font:600 26px/1.25 Montserrat,Arial,sans-serif;letter-spacing:-.6px;margin:0}.review-tag{font-size:12px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 268px;border:1px solid var(--border);border-radius:8px;overflow:hidden;align-items:stretch}.viewport{position:relative;min-width:0;height:min(70vh,820px);min-height:530px;background:#181b20;overflow:hidden;color:#dce3ec}.viewport.light{background:#d3d4d6;color:#4a515c}#canvas-host{position:absolute;inset:0;touch-action:none;outline-offset:-4px}#canvas-host canvas{display:block;width:100%;height:100%}#scale-guides{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.stage-heading{position:absolute;left:18px;top:20px;z-index:3;font-size:11px;font-weight:bold;letter-spacing:.6px;pointer-events:none}.stage-actions{position:absolute;right:12px;top:12px;z-index:3;display:flex;gap:6px}.stage-actions button{width:44px;height:44px;padding:11px;background:#fffffff0;border-color:#cdd1d6;color:#333b46}.stage-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.stage-bottom{position:absolute;left:18px;right:18px;bottom:15px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.view-label{font-size:11px}.view-label small{display:block;font-size:9px;opacity:.65;margin-top:2px}.floating-tools{display:flex;pointer-events:auto;background:#fff;border:1px solid #d2d6dc;border-radius:6px;overflow:hidden}.floating-tools button{border:0;border-radius:0;min-width:44px;height:44px;padding:8px 12px;font-size:13px}.floating-tools button+button{border-left:1px solid #e2e5e9}.floating-tools #zoom-in,.floating-tools #zoom-out{font-size:20px}.model-label{position:absolute;z-index:3;transform:translate(-50%,-100%);pointer-events:none;white-space:nowrap;background:#fffffff0;border:1px solid #cdd1d6;border-radius:4px;padding:5px 9px;color:#454e59;font-size:11px}.model-label strong{font-weight:600}[hidden]{display:none!important}#loading{position:absolute;inset:0;z-index:5;background:#d3d4d6;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px;text-align:center;color:#444c58}#loading.hidden{display:none}#loading h2{font:600 20px/1.3 Montserrat,Arial,sans-serif;margin:0 0 10px}#loading p{max-width:340px;font-size:13px;line-height:1.7;margin:0 0 18px;color:#626b77}.progress-track{width:200px;max-width:70%;height:3px;background:#bfc4cb;border-radius:9px;overflow:hidden}#progress{width:0;height:100%;background:var(--blue);transition:width .2s}.panel{border-left:1px solid var(--border);padding:21px 18px;background:#fff;display:flex;flex-direction:column;gap:23px;min-width:0}.control-group h2{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;margin:0 0 10px}.control-group h2 span{font-size:10px;color:var(--muted);font-weight:400}.size-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.size-buttons button{font-size:11px;min-width:0;padding:8px 4px}.compare-button{grid-column:1/-1}.scale-key{font-size:10px;color:var(--muted);line-height:1.65;margin:10px 0 0}.materials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.materials button{padding:8px 2px;min-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:10px}.materials i{width:25px;height:25px;border-radius:50%;display:block;box-shadow:inset 0 0 0 1px #00000012}.materials .stone{background:radial-gradient(circle at 30% 25%,#7a6769,#564346 70%,#33272a)}.materials .bronze{background:radial-gradient(ellipse at 30% 26%,#a18a6b,#705237 30%,#503622 65%,#2f211a)}.materials .gold{background:linear-gradient(135deg,#72501c,#eac264 23%,#fff2bc 33%,#9a6c22 45%,#d4a23c 58%,#ffe8a0 73%,#a47624)}.materials .silver{background:linear-gradient(135deg,#807d75,#b5b2a8 22%,#e4e2da 40%,#9c9991 58%,#d6d3ca 77%,#a4a198)}.advanced-controls{border-top:1px solid var(--border);padding-top:4px}.advanced-controls summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:12px;font-weight:600}.advanced-controls summary::-webkit-details-marker{display:none}.advanced-controls summary:after{content:'+';font-size:18px;font-weight:400}.advanced-controls[open] summary:after{content:'−'}.advanced-content{padding-top:8px}.view-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.view-buttons button{font-size:10px;padding:8px 3px}.toggles{margin-top:12px}.toggle-row{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:12px;cursor:pointer}.toggle-row input{width:18px;height:18px;accent-color:var(--blue);cursor:pointer;margin:0}.save-view{width:100%;font-size:12px;background:var(--blue);border-color:var(--blue);color:#fff}.save-view:hover{background:#005bd6;border-color:#005bd6}.panel>.save-view{margin-top:auto}.below-viewer{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;padding:13px 0}.below-viewer p{margin:0}.below-viewer span{margin:0 7px}footer{max-width:1504px;margin:15px auto 0;padding:16px 32px 24px;color:#9298a1;font-size:11px;display:flex;align-items:center;gap:4px}footer a{color:#6c737e}footer span{margin-left:auto}dialog{width:min(500px,calc(100% - 32px));border:1px solid var(--border);border-radius:9px;padding:32px;color:var(--ink);max-height:85dvh;overflow:auto}dialog::backdrop{background:#10172466}dialog h2{font:600 20px Montserrat,Arial,sans-serif;margin:0 30px 20px 0}dialog p{font-size:13px;color:#626b77;line-height:1.75}.close-dialog:not(.save-view){position:absolute;right:8px;top:7px;width:44px;height:44px;border:0;font-size:24px;background:transparent}dialog .save-view{margin-top:10px}#toast{position:fixed;z-index:1200;bottom:25px;left:50%;transform:translate(-50%,15px);background:#27313f;color:#fff;font-size:13px;max-width:calc(100vw - 32px);padding:11px 17px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.viewport.immersive{position:fixed!important;inset:0!important;z-index:1000!important;width:100vw!important;height:100dvh!important;max-height:none!important;min-height:0!important;border-radius:0!important}body.viewer-expanded{overflow:hidden}.immersive .stage-actions{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right))}.immersive .stage-bottom{bottom:calc(15px + env(safe-area-inset-bottom))}.immersive .stage-heading{top:calc(20px + env(safe-area-inset-top))}
@media(min-width:1450px){.viewport{min-height:660px}}
@media(max-width:950px){.topbar,main{padding-left:20px;padding-right:20px}.workspace{grid-template-columns:minmax(0,1fr) 248px}.panel{padding:18px 14px}.viewport{min-height:560px}footer{padding-left:20px;padding-right:20px}}
@media(max-width:720px){.topbar{height:60px;padding:0 16px}.brand{font-size:13px;gap:6px}.color-logo{width:35px;height:29px}.color-logo img{width:70px;height:70px;left:-16px;top:-13.5px}main{padding:0 12px}.project-heading{padding:18px 3px 15px;gap:12px}.project-heading h1{font-size:22px}.project-heading p{font-size:11px}.review-tag{font-size:10px}.workspace{display:flex;flex-direction:column;overflow:hidden}.viewport,.viewport.comparing{height:clamp(370px,55svh,510px);min-height:370px;width:100%}.stage-heading{left:12px;top:20px;font-size:10px}.stage-actions{right:8px;top:8px}.stage-bottom{left:11px;right:11px;bottom:11px}.view-label{font-size:10px}.view-label small{font-size:8px}.model-label{font-size:10px;padding:4px 7px}.panel{border-left:0;border-top:1px solid var(--border);padding:16px;gap:20px}.control-group h2{font-size:12px}.size-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.compare-button{grid-column:auto}.size-buttons button{font-size:11px;min-height:46px}.scale-key{font-size:10px}.materials{gap:8px}.materials button{min-height:72px;font-size:11px}.materials i{width:27px;height:27px}.view-buttons button{font-size:12px}.advanced-controls{padding-top:2px}.advanced-controls summary{font-size:12px}.advanced-content{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}.toggles{margin:0}.toggle-row{font-size:11px}.below-viewer{padding:12px 4px;display:block;font-size:10px}.below-viewer #size-caption{display:none}footer{margin:6px auto 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));font-size:10px}dialog{padding:27px}#toast{text-align:center;width:max-content;font-size:12px}}
@media(max-width:360px){.review-tag{display:none}.advanced-content{grid-template-columns:1fr}.panel{padding:12px}.size-buttons button{font-size:10px}.brand{font-size:12px}.viewport,.viewport.comparing{min-height:350px;height:350px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:721px){.panel{height:min(70vh,820px);min-height:530px;overflow-y:auto;scrollbar-width:thin}}
@media(min-width:721px) and (max-width:950px){.panel{min-height:560px}}
@media(min-width:1450px){.panel{min-height:660px}}

#loading .save-view{width:auto;min-width:160px;max-width:100%;padding:10px 22px}
