html,body,#root{margin:0;height:100%;overflow:hidden;background:#111214}body{font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#f3efe7}.app{position:relative;width:100%;height:100%}.app canvas{display:block;touch-action:none}button{font:inherit;color:inherit;cursor:pointer}.enter{position:absolute;top:16px;right:16px;z-index:2;display:flex;gap:8px}.enter button{padding:9px 16px;border:0;border-radius:999px;background:#f3efe7;color:#161618;font-weight:700}.enter button:hover{background:#fff7e7}.overlay{position:absolute;left:16px;bottom:16px;width:330px;max-height:calc(100% - 84px);overflow-y:auto;box-sizing:border-box;padding:16px 18px 18px;border-radius:18px;background:#121214db;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 42px #00000061;border:1px solid rgba(255,255,255,.08)}.overlay h1{margin:0 0 12px;font-size:18px;font-weight:700;letter-spacing:-.01em;display:flex;justify-content:space-between;color:#fff3df}.summary{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#ffffff12;color:#e8dfcf;font-size:12px}.option{margin-bottom:14px}.option-name{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:700;color:#f1eadf}.option-name span{font-weight:500;color:#c9c0b2;text-align:right}.swatches{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.swatch{position:relative;width:30px;height:30px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.3);outline:3px solid transparent;outline-offset:3px;transition:outline-color .15s,transform .15s}.swatch span{position:absolute;left:50%;top:34px;transform:translate(-50%);font-size:9px;color:#cfc7ba;white-space:nowrap;pointer-events:none}.swatch:hover{transform:scale(1.08)}.swatch.selected{outline-color:#fff3cf}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:22px}.actions button{padding:7px 0;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;font-size:12px;font-weight:700;white-space:nowrap;color:#f3efe7}.actions button.on{background:#f3efe7;border-color:#f3efe7;color:#161618}@media(max-width:520px){.overlay{left:8px;right:8px;bottom:8px;width:auto}}
