:root{--bg:#F4EFEA;--floor:#E8E0D8;--card:#FFFFFF;--ink:#1F1A17;--muted:#7C716A;--line:#E6DED7;--accent:#B4485E;--wa:#1E9E55;--sel:#1F1A17;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",system-ui,-apple-system,sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#191513;--floor:#120F0D;--card:#221D1A;--ink:#F5EEE8;--muted:#A99D95;--line:#342C27;--accent:#E07A8E;--sel:#F5EEE8}}:root[data-theme=dark]{--bg:#191513;--floor:#120F0D;--card:#221D1A;--ink:#F5EEE8;--muted:#A99D95;--line:#342C27;--accent:#E07A8E;--sel:#F5EEE8}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}.app{min-height:100svh;display:flex;flex-direction:column;padding-bottom:84px}.stage{position:sticky;top:0;z-index:0;height:54svh;min-height:320px;background:radial-gradient(90% 70% at 50% 38%,#FFFFFF 0%,var(--bg) 55%,var(--floor) 100%)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .stage{background:radial-gradient(90% 70% at 50% 38%,#2E2622 0%,var(--bg) 55%,var(--floor) 100%)}}.stage canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;pointer-events:none}.brand{display:flex;align-items:center;gap:4px;font-family:var(--serif);font-weight:600;font-size:17px;letter-spacing:.01em;color:inherit;text-decoration:none;pointer-events:auto;padding:6px 8px 6px 0}.brand svg{width:18px;height:18px}.topbar .cart-btn{pointer-events:auto}.bar .add-cart{flex:0 0 auto}.stage .demo-note{display:none}.hint{position:absolute;right:14px;bottom:30px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);pointer-events:none;transition:opacity .4s}.hint svg{width:16px;height:16px}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:13px;color:var(--muted);pointer-events:none}.loading span{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--ink);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stage.static{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.fallback{max-width:100%;max-height:80%;object-fit:contain}.fallback-note{margin:0 16px;font-size:13px;color:var(--muted);text-align:center}body[data-step=listo] .stage{background:radial-gradient(60% 55% at 50% 42%,#fff,#f9e3e6 45%,#ebcbcf)}body[data-step=listo] .hint{opacity:0}.panel{position:relative;z-index:1;margin-top:-20px;background:var(--card);border-radius:22px 22px 0 0;box-shadow:0 -10px 30px #28190f12;padding:14px 16px 8px;flex:1}.progress{display:flex;gap:4px;margin:0 0 14px}.progress .dot{flex:1;height:3px;border:0;border-radius:2px;background:var(--line);padding:0}.progress .dot[aria-current=true],.progress .dot.done{background:var(--ink)}.stephead{display:flex;align-items:center;gap:10px;margin-bottom:6px}.back{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;flex:0 0 auto}.back svg{width:18px;height:18px}.back:disabled{opacity:.3;cursor:default}.stepnum{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}h1{margin:2px 0 0;font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:-.01em}.pane{animation:fade .25s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.group{margin-top:16px}.label{font-size:13px;color:var(--muted);margin-bottom:8px}.grid{display:grid;gap:8px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}.seg{display:flex;gap:8px}.card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:12px 8px;background:var(--card);border:1px solid var(--line);border-radius:14px;font-weight:500;font-size:14px;transition:border-color .15s,box-shadow .15s,transform .1s}.card:active,.swatch:active,.pill:active{transform:scale(.97)}.card[aria-pressed=true]{border-color:var(--sel);box-shadow:inset 0 0 0 1px var(--sel)}.card svg{width:44px;height:36px;fill:var(--ink);opacity:.85}.card.row{flex-direction:row;justify-content:flex-start;min-height:52px;padding:10px 12px;gap:10px}.crumb{width:26px;height:26px;border-radius:8px;background:var(--c);box-shadow:inset 0 0 0 1px #00000014;flex:0 0 auto;background-image:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35) 0 2px,transparent 3px),radial-gradient(circle at 70% 60%,rgba(0,0,0,.12) 0 2px,transparent 3px)}.card.deco{min-height:118px;padding:8px}.card.deco img{width:64px;height:64px;object-fit:contain}.card.deco em{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:var(--card)}.card.deco[aria-pressed=true] em{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--ink)}.swatch{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:4px 0;font-size:12px;color:var(--muted)}.swatch .sw{width:42px;height:42px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000001a}.swatch .sw.none{background:linear-gradient(135deg,transparent 46%,var(--muted) 47% 53%,transparent 54%)!important;box-shadow:inset 0 0 0 1px var(--line)}.swatch[aria-pressed=true]{color:var(--ink);font-weight:500}.swatch[aria-pressed=true] .sw{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--sel)}.pill{flex:1;min-height:44px;border:1px solid var(--line);background:var(--card);border-radius:99px;font-weight:500}.pill[aria-pressed=true]{background:var(--ink);color:var(--card);border-color:var(--ink)}.field{width:100%;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px 14px;min-height:48px;font-size:16px}.field:focus{outline:none;border-color:var(--ink)}.summary{margin:14px 0 0;padding:0}.summary div{display:grid;grid-template-columns:96px 1fr auto;gap:8px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line)}.summary dt{font-size:13px;color:var(--muted)}.summary dd{margin:0;font-weight:500}.summary .edit{background:none;border:0;padding:0;font-size:13px;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.ghost{width:100%;margin-top:10px;min-height:48px;border:1px solid var(--line);background:var(--card);border-radius:12px;font-weight:500}.small{font-size:13px;color:var(--muted);margin:12px 0 0}.info{margin-top:20px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.bar{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}.sum{flex:1;min-width:0}.sum b{display:block;font-weight:600;font-size:15px}.sum span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next{min-height:50px;padding:0 26px;border:0;border-radius:14px;background:var(--ink);color:var(--card);font-weight:600}.next[hidden]{display:none}.wa{display:none;align-items:center;gap:8px;min-height:50px;padding:0 18px;border-radius:14px;background:var(--wa);color:#fff;font-weight:600;text-decoration:none}.wa svg{width:20px;height:20px}body[data-step=listo] .wa{display:inline-flex}@media (min-width:900px){.app{display:grid;grid-template-columns:1fr 440px;min-height:100svh;padding-bottom:0}.stage{position:sticky;height:100svh}.panel{margin:0;border-radius:0;box-shadow:-10px 0 30px #28190f0d;padding:28px 28px 120px;overflow:auto;height:100svh}.bar{left:auto;width:440px}}@media (prefers-reduced-motion: reduce){.pane{animation:none}.card,.swatch,.pill{transition:none}}.demo-note{position:absolute;top:calc(78px + env(safe-area-inset-top));bottom:auto}
