.builder{--accent:#8b488f;--soft:#eee2f0;--pop:#f3bd9f}.builder-top{justify-content:space-between;align-items:end;gap:2rem;display:flex}.builder-top h2{margin:0}.builder-kicker,.panel-label{letter-spacing:.17em;color:#8b488f;font-size:.75rem;font-weight:600}.step-label{font-weight:600}.progress{background:#e2d6e1;height:3px;margin:2rem 0}.progress i{background:#8b488f;height:100%;transition:width .35s;display:block}.builder-layout{grid-template-columns:minmax(420px,1.1fr) minmax(380px,.9fr) 240px;align-items:start;gap:1.25rem;display:grid}.builder-stage{background:linear-gradient(155deg,#fff8fb,#f9eff6 45%,#fffdf9);border:1px solid #8b488f1f;border-radius:1.5rem;flex-direction:column;justify-content:space-between;min-height:640px;padding:1.5rem;display:flex;position:sticky;top:1rem;overflow:hidden;box-shadow:0 12px 36px #8b488f14}.party-name{z-index:2;text-align:center;flex-direction:column;display:flex;position:relative}.party-name span{letter-spacing:.15em;text-transform:uppercase;color:#8b488f;font-size:.85rem;font-weight:600}.party-name strong{color:var(--accent);margin-top:.2rem;font-family:DM Serif Display,serif;font-size:clamp(1.8rem,3vw,3.2rem);font-weight:400;line-height:1.15}.snack-canvas-container{justify-content:center;align-items:center;width:100%;min-height:420px;display:flex;position:relative}.counter{background:linear-gradient(to bottom,transparent 62%,#35213f21 62% 65%,var(--accent) 65% 72%,#fff9f2 72%);border-radius:16rem 16rem 1rem 1rem;height:310px;margin-top:auto;position:relative}.backboard{background:var(--pop);border-radius:12rem 12rem 0 0;width:62%;height:76%;position:absolute;bottom:28%;left:19%;box-shadow:0 18px 35px #35213f21}.jar{background:#ffffffc2;border:3px solid #fff;border-radius:1rem 1rem .45rem .45rem;width:16%;height:28%;position:absolute;bottom:23%}.jar-a{left:24%}.jar-b{height:35%;left:42%}.jar-c{left:60%}.choice-dot{aspect-ratio:1;z-index:2;border-radius:50%;width:10%;position:absolute;bottom:30%;box-shadow:0 5px 16px #35213f33}.preview-note{color:#564858;text-align:center;margin:0;font-size:.78rem}.builder-controls,.builder-summary{background:#fff;border:1px solid #d9c9d7;border-radius:1.25rem;padding:1.5rem}.panel{min-height:480px}.panel h3{font-size:2rem}.panel label{margin:1.15rem 0;font-size:.86rem;font-weight:600;display:block}.panel input{touch-action:manipulation;background:#fff9f2;border:1px solid #cbbac9;border-radius:.6rem;width:100%;min-height:48px;margin-top:.35rem;padding:.7rem .8rem;display:block}.panel input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent);box-shadow:0 0 0 4px #8b488f38}.helper{color:#564858;font-size:.9rem}.choice-grid{gap:.65rem;display:grid}.choice{text-align:left;color:#35213f;cursor:pointer;touch-action:manipulation;background:#fff9f2;border:1px solid #d9c9d7;border-radius:.8rem;grid-template-columns:42px 1fr 26px;align-items:center;gap:.75rem;width:100%;min-height:72px;padding:.6rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}.choice:hover{border-color:#b583b9;transform:translateY(-1px)}.choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #8b488f40}.choice:active{transform:scale(.985)}.choice.active{background:#fffdfa;border-color:#8b488f;box-shadow:0 0 0 2px #92529b38}.choice>i{aspect-ratio:1;border-radius:50%;width:42px;box-shadow:0 2px 6px #0000001f}.choice span{flex-direction:column;display:flex}.choice small{color:#564858;font-size:.76rem}.choice b{font-size:1.2rem}.palette-grid{gap:.65rem;margin-bottom:1.5rem;display:grid}.palette{cursor:pointer;touch-action:manipulation;background:#fff9f2;border:1px solid #d9c9d7;border-radius:.8rem;justify-content:space-between;align-items:center;min-height:60px;padding:.7rem;transition:all .15s;display:flex}.palette:hover{border-color:#8b488f}.palette:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #8b488f40}.palette:active{transform:scale(.985)}.palette.active{border-color:#8b488f;box-shadow:0 0 0 2px #92529b2e}.palette>span{display:flex}.palette i{aspect-ratio:1;border:2px solid #fff;border-radius:50%;width:28px;margin-right:-5px;display:block}.builder-actions{border-top:1px solid #e4dae3;justify-content:space-between;gap:.75rem;padding-top:1.25rem;display:flex}.builder-actions button,.builder-actions a{cursor:pointer;touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:.7rem 1.25rem;font-weight:600;text-decoration:none;transition:transform .15s,background-color .2s;display:inline-flex}.builder-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.builder-actions button:active{transform:scale(.98)}.back{background:#fff;border:1px solid #d9c9d7}.back:disabled{opacity:.35;cursor:not-allowed}.next{color:#fff;background:#35213f;border:1px solid #35213f}.builder-summary{position:sticky;top:1rem}.builder-summary>p{letter-spacing:.14em;text-transform:uppercase;color:#8b488f;font-size:.75rem;font-weight:700}.builder-summary>strong,.builder-summary>span{display:block}.builder-summary ul{color:#564858;padding-left:1rem;font-size:.83rem}.builder-summary>div{border-top:1px solid #d9c9d7;justify-content:space-between;gap:1rem;padding-top:1rem;display:flex}.quote-box{background:#eee2f0;border-radius:.8rem;margin-top:1rem;padding:1rem}.quote-box span,.quote-box strong,.quote-box small{display:block}.quote-box strong{margin:.2rem 0;font-family:DM Serif Display,serif;font-size:1.35rem;font-weight:400}@media (width<=1150px){.builder-layout{grid-template-columns:1fr 1fr}.builder-summary{grid-column:2}.builder-stage{grid-row:1/3}}@media (width<=820px){.builder-top{flex-direction:column;align-items:start}.builder-layout{grid-template-columns:1fr}.builder-stage{grid-row:auto;min-height:500px;padding:1rem;position:relative;top:auto}.snack-canvas-container{min-height:360px}.counter{height:230px}.builder-summary{display:none}.panel{min-height:0}.builder-controls{padding:1.1rem}.builder-actions{z-index:4;background:#fff;margin:1rem -1.1rem -1.1rem;padding:1rem;position:sticky;bottom:0}.next{flex:1}}
