.bcards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(16px,2vw,28px);gap:clamp(16px,2vw,28px)}@media (max-width:1000px){.bcards{grid-template-columns:1fr;max-width:640px}}.bcard{border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-rows:auto 1fr;background:var(--paper)}.bcard__media{aspect-ratio:1;background:var(--paper-2);display:grid;place-items:center;overflow:hidden}.bcard__media img{width:88%;height:auto;filter:drop-shadow(0 20px 26px rgba(63,36,27,.25));transition:transform 1.6s var(--ease-out)}.bcard:hover .bcard__spin{transform:rotate(40deg) scale(1.04)}.bcard__media video{width:100%;height:100%;object-fit:cover}.bcard__body{padding:22px;display:grid;grid-gap:12px;gap:12px;align-content:start}.bcard__body p{margin:0}.bcard__sizes{display:flex;flex-wrap:wrap;gap:6px}.bcard__sizes .chip[aria-checked=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bcard__foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}.bcard__price{font-family:var(--f-display);font-weight:900;font-size:26px}.builder{-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-top:clamp(80px,10vw,150px);padding:clamp(70px,9vw,130px) 0;background:var(--paper-2);border-top:2px solid var(--ink)}.builder__head{display:grid;grid-gap:14px;gap:14px;margin-bottom:40px}.builder__grid{display:grid;grid-template-columns:.95fr 1.05fr;grid-gap:clamp(20px,4vw,60px);gap:clamp(20px,4vw,60px);align-items:start}@media (max-width:960px){.builder__grid{grid-template-columns:1fr}.bstage{order:-1;position:static!important}}.sizes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.sizes .chip[aria-checked=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pgroup{margin-bottom:18px}.pgroup .h4{margin-bottom:10px}.tokens{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:10px;gap:10px}.token{display:grid;justify-items:center;grid-gap:4px;gap:4px;padding:10px 6px;border:2px solid transparent;border-radius:14px;background:var(--paper);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab;transition:border-color .2s,transform .2s var(--ease-out)}.token:hover{border-color:var(--ink);transform:translateY(-2px)}.token:active{cursor:-webkit-grabbing;cursor:grabbing}.token img{width:64px;height:64px;pointer-events:none}.token span{font-size:12.5px;font-weight:600;text-align:center;line-height:1.2}.token small{font-size:11px;opacity:.7}.bstage{position:-webkit-sticky;position:sticky;top:90px;display:grid;grid-gap:16px;gap:16px}.wood{position:relative;aspect-ratio:1;width:100%;touch-action:none}.wood__disc{position:absolute;inset:calc((1 - var(--d)) * 50%);border-radius:50%;transition:inset .5s var(--ease-out);background:repeating-radial-gradient(circle at 46% 54%,rgba(120,72,34,0) 0 9px,rgba(120,72,34,.1) 9px 11px),radial-gradient(circle at 40% 35%,#f0c995,#d9a46a 55%,#b77e48 100%);box-shadow:inset 0 0 0 10px rgba(110,62,28,.18),inset 0 -16px 40px rgba(80,40,10,.25),0 30px 50px rgba(63,36,27,.25)}.wood.is-target .wood__disc{box-shadow:inset 0 0 0 10px rgba(110,62,28,.18),0 0 0 4px var(--rust),0 30px 50px rgba(63,36,27,.25)}.wood__hint{position:absolute;inset:0;display:grid;place-items:center;margin:0;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(63,36,27,.6);pointer-events:none}.piece{position:absolute;width:22%;aspect-ratio:1;transform:translate(-50%,-50%);border:0;padding:0;background:none;border-radius:50%;touch-action:none;cursor:-webkit-grab;cursor:grab;animation:drop .45s var(--ease-out);filter:drop-shadow(0 6px 8px rgba(63,36,27,.35))}.piece--s{width:15%}.piece img{width:100%;height:100%;pointer-events:none}.piece.is-drag{opacity:.25}.piece:focus-visible{outline:3px solid var(--rust)}@keyframes drop{0%{transform:translate(-50%,-50%) scale(1.35);opacity:0}}.ghost{position:fixed;z-index:100;width:96px;height:96px;transform:translate(-50%,-50%) scale(1.08);pointer-events:none;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))}.ghost img{width:100%;height:100%}.bsum{padding:20px;display:grid;grid-gap:10px;gap:10px}.bsum__row{display:flex;justify-content:space-between;gap:10px}.bsum__total{border-top:2px solid var(--ink);padding-top:10px;font-size:18px}.bsum__total strong{font-family:var(--f-display);font-weight:900;font-size:24px}.builder img{-webkit-user-drag:none}.builder ::selection{background:transparent}