:root{--bg: #14161a;--panel: #1b1e23;--panel-2: #23272e;--line: #32373f;--text: #e9ebee;--muted: #9aa1ab;--accent: #d9a441;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}@supports (height: 100dvh){html,body,#root{height:100dvh}}body{font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app{display:flex;height:100%}.viewport{position:relative;flex:1;min-width:0}.viewport canvas{display:block;touch-action:none}.overlay{position:absolute;z-index:5}.top-left{top:16px;left:16px}.top-right{top:16px;right:16px}.bottom-left{bottom:16px;left:16px}.bottom-right{bottom:16px;right:16px}.badge{background:#14161ab8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:10px;padding:9px 13px;display:flex;flex-direction:column;gap:2px}.badge strong{font-size:13px;letter-spacing:.3px}.badge span{font-size:11px;color:var(--muted)}.viewbar{display:flex;flex-wrap:wrap;gap:2px;max-width:70vw;justify-content:flex-end;background:#14161ab8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:10px;padding:4px}.viewbar button{background:none;border:0;color:var(--muted);font:inherit;font-size:12px;padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap}.viewbar button:hover{color:var(--text);background:#ffffff0f}.viewbar button.on{background:var(--accent);color:#1a1407;font-weight:600}.planmap{background:#14161ac7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:10px;padding:6px}.planmap svg{display:block}.pm-lbl{font:700 8px system-ui;fill:#6f6a60;letter-spacing:.8px;text-anchor:middle}.pm-dim{font:600 10px system-ui;fill:var(--muted);text-anchor:middle}.panel{width:340px;flex:none;background:var(--panel);border-left:1px solid var(--line);overflow-y:auto;padding:20px 18px 40px}.panel header{margin-bottom:22px}.panel h1{font-size:21px;margin:0 0 3px;letter-spacing:-.2px}.panel header p{margin:0;font-size:12px;color:var(--muted)}.panel section{margin-bottom:24px}.panel h2{font-size:10.5px;text-transform:uppercase;letter-spacing:1.1px;color:var(--muted);margin:0 0 10px;font-weight:600}.looks{display:grid;grid-template-columns:1fr 1fr;gap:6px}.look{display:flex;align-items:center;gap:8px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;color:var(--text);font:inherit;font-size:11.5px;text-align:left;padding:7px 8px;cursor:pointer}.look:hover{border-color:#4a5058}.look.active{border-color:var(--accent);background:#2a2619}.look-swatch{display:flex;flex:none;border-radius:4px;overflow:hidden}.look-swatch i{width:8px;height:20px;display:block}.seg{display:flex;gap:4px}.seg button{flex:1;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;color:var(--muted);font:inherit;font-size:12px;padding:7px 4px;cursor:pointer}.seg button.on{background:var(--accent);border-color:var(--accent);color:#1a1407;font-weight:600}.group{border-bottom:1px solid var(--line)}.group:first-of-type{border-top:1px solid var(--line)}.group-head{width:100%;display:flex;align-items:center;gap:9px;background:none;border:0;color:var(--text);font:inherit;padding:11px 2px;cursor:pointer;text-align:left}.group-head:hover{color:#fff}.dot{width:15px;height:15px;border-radius:4px;flex:none;box-shadow:inset 0 0 0 1px #ffffff2e}.group-label{font-size:12.5px}.group-value{margin-left:auto;font-size:11px;color:var(--muted)}.caret{color:var(--muted);width:12px;text-align:center;font-size:13px}.swatches{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:2px 0 12px}.swatch{display:flex;align-items:center;gap:7px;background:var(--panel-2);border:1px solid transparent;border-radius:7px;color:var(--text);font:inherit;font-size:11px;text-align:left;padding:5px 6px;cursor:pointer;overflow:hidden}.swatch:hover{border-color:#4a5058}.swatch.active{border-color:var(--accent)}.chip{width:20px;height:20px;border-radius:4px;flex:none;box-shadow:inset 0 0 0 1px #ffffff2e}.chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:5px 0;cursor:pointer;color:#cfd4da}.check input{accent-color:var(--accent);width:15px;height:15px}.spec dl{margin:0}.spec dl>div{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:12px}.spec dt{color:var(--muted);width:92px;flex:none}.spec dd{margin:0}@media(max-width:900px){.app{flex-direction:column}.viewport{flex:none;height:56dvh;min-height:0}.panel{width:100%;flex:1 1 auto;min-height:0;max-height:none;border-left:0;border-top:1px solid var(--line);padding:16px 14px 32px}.top-left{top:8px;left:8px}.badge{padding:5px 9px}.badge strong{font-size:11.5px}.badge span{font-size:9.5px}.top-right{top:56px;left:8px;right:8px}.viewbar{flex-wrap:nowrap;max-width:none;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.viewbar::-webkit-scrollbar{display:none}.viewbar button{flex:0 0 auto;padding:6px 10px}.bottom-left{bottom:8px;left:8px}.planmap{transform:scale(.55);transform-origin:bottom left}.bottom-right{bottom:8px;right:8px}.bottom-centre,#camdbg{display:none}.looks,.swatches{grid-template-columns:1fr 1fr}}@media(max-width:380px){.planmap{transform:scale(.46);transform-origin:bottom left}}
