:root{--bg:#0b0d10;--fg:#e9edf2;--muted:#8b94a3;--line:#232833;--accent:#5b9dff;--panel:#101319d1}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0;font:14px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#stage{background:#000;margin:auto;position:absolute;inset:0;overflow:hidden}#cam,#gl{width:100%;height:100%;display:block;position:absolute;inset:0}#cam{object-fit:fill;transform:scaleX(-1)}#gl{pointer-events:none}.hint{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;white-space:nowrap;background:#0000009e;border-radius:999px;padding:10px 18px;transition:opacity .25s;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.hint.hidden{opacity:0}#gate{background:var(--bg);z-index:30;place-items:center;transition:opacity .4s;display:grid;position:fixed;inset:0}#gate.gone{opacity:0;pointer-events:none}.gate-card{text-align:center;max-width:380px;padding:32px}.gate-card h1{letter-spacing:-.01em;margin:0 0 12px;font-size:26px;font-weight:650}.gate-card p{color:var(--muted);margin:0 0 24px}#start{background:var(--accent);color:#06101f;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:12px 28px;font-weight:650}#start:disabled{opacity:.5;cursor:default}#gate-msg{color:var(--muted);min-height:1.4em;margin-top:16px;display:block}#panel{z-index:20;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-left:1px solid var(--line);width:272px;height:100%;padding:18px 16px;transition:transform .3s;position:fixed;top:0;right:0;overflow-y:auto}#panel.collapsed{transform:translate(272px)}#toggle-panel{z-index:21;border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--fg);cursor:pointer;border-radius:9px;font-size:15px;transition:transform .3s;position:fixed;top:14px;right:14px}#toggle-panel.pushed{transform:translate(-272px)}.group{margin-bottom:22px}.group>h2{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:10px;font-weight:650}.garments{grid-template-columns:1fr 1fr;gap:8px;display:grid}.garment{border:1px solid var(--line);color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:9px;padding:10px 8px;font-size:13px;transition:border-color .15s,background .15s}.garment:hover{border-color:#3a4152}.garment.on{border-color:var(--accent);background:#5b9dff24}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:8px;width:30px;height:30px;padding:0}.swatch.on{border-color:var(--fg)}.row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px;display:flex}.row label{color:var(--muted);font-size:13px}.row output{font-variant-numeric:tabular-nums;color:var(--fg);text-align:right;min-width:36px;font-size:12px}.row input[type=range]{accent-color:var(--accent);flex:1;min-width:0}.row input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.row select{color:var(--fg);border:1px solid var(--line);font:inherit;background:#161a21;border-radius:7px;padding:4px 7px;font-size:12px}.stats{font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr;gap:4px 14px;font-size:12px;display:grid}.stats dt{color:var(--muted)}.stats dd{text-align:right;margin:0}.note{color:var(--muted);margin:0;font-size:11.5px;line-height:1.5}
