body{overflow:hidden;background:#eef2f5}#app{height:100vh;display:grid;grid-template-columns:minmax(0,1fr) 370px}#viewport{position:relative;min-height:300px}canvas{display:block}.hud{position:absolute;z-index:2;top:16px;left:16px;padding:12px 15px;background:#fffc;border:1px solid #ccd5df;border-radius:9px}.hud h1{font-size:17px;margin:0 0 4px}.hud p{font-size:12px;color:var(--muted);margin:0}aside{overflow:auto;background:#fff;border-left:1px solid var(--border);padding:18px}.brand{margin-bottom:14px}.brand h2{margin:0;font-size:19px}.brand p,.note{font-size:12px;color:var(--muted)}.panel{padding:14px 0;border-top:1px solid #e1e6ec}.panel h3{margin:0 0 10px;font-size:13px}.field{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:8px;align-items:center;margin:9px 0;font-size:12px}.field input,.field select{width:100%}.parameter-group{border:0;border-top:1px solid #e1e6ec;margin:15px 0 0;padding:10px 0 0}.parameter-group:first-child{margin-top:0}.parameter-group legend{padding:0 8px 0 0;color:var(--accent);font-size:12px;font-weight:700}.parameter{margin:12px 0}.parameter>label{display:block;margin-bottom:5px;font-size:12px}.parameter-controls{display:grid;grid-template-columns:minmax(100px,1fr) 112px;gap:10px;align-items:center}.parameter-controls input[type=range]{width:100%}.number-wrap{display:flex;align-items:center;border:1px solid var(--control-border);border-radius:6px;background:var(--control-bg);overflow:hidden}.number-wrap input{width:70px;min-width:0;padding:7px;border:0;background:transparent;font:inherit}.number-wrap span{padding-right:7px;color:var(--muted);font-size:11px;white-space:nowrap}.buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.file-button{text-align:center;font-size:13px}.file-button input{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.fit-indicator{display:grid;gap:3px;margin:0 0 12px;padding:10px 11px;border:1px solid;border-radius:7px;font-size:12px}.fit-indicator strong{font-size:13px}.fit-indicator span{line-height:1.35}.fit-indicator.fits{background:#e5f7eb;border-color:#76bd8d;color:#175c2e}.fit-indicator.does-not-fit{background:#ffe4e4;border-color:#e78b8b;color:#8b1717}.spec{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:12px}.spec b{font-variant-numeric:tabular-nums}.color input{height:30px;padding:1px}.active{background:var(--accent);color:#fff;border-color:var(--accent)}.issue{padding:8px;margin:9px 0 0;border-radius:6px;font-size:12px;line-height:1.35}.issue.warning{background:#fff5d9;color:#654900}.issue.error{background:#ffe4e4;color:#8b1717}.wide-button{width:100%}.viewer-error{position:absolute;left:50%;top:50%;max-width:420px;transform:translate(-50%,-50%);margin:0;padding:16px 18px;border:1px solid #e78b8b;border-radius:8px;background:#ffe4e4;color:#8b1717;text-align:center}@media(max-width:800px){body{overflow:auto}#app{height:auto;min-height:100vh;grid-template-columns:1fr;grid-template-rows:55vh auto}aside{border-left:0;border-top:1px solid #ddd}}
