.party{--party-ink:#615975}.party-nav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}.party-nav a{display:flex;align-items:center;gap:7px;font-size:12px;background:#fff;border:1px solid #e7e2ef;padding:10px 17px;border-radius:99px;color:#9a8ba9}.party-nav svg{width:16px;height:16px}.party-nav a[aria-current]{background:#eae4f6;border-color:#dcd1ee;color:#7e6b9d}.party-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start}.party fieldset{border:0;padding:0;margin:0;min-width:0}.party-controls .field textarea{line-height:1.85;resize:vertical}.party-controls .work-panel-head{gap:8px}.party-controls .work-panel-head h2{font-size:14px}.step-dot{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#eee6f5;color:#9f85bb;font-size:11px;margin-right:5px}.party-tip{background:#faf6f0;border:1px solid #f0e7db;border-radius:12px;padding:15px;font-size:11px;color:#887152;line-height:1.8}.party .party-run{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;background:#9a88b9;border-color:#9a88b9;border-radius:13px;margin-top:21px;color:#fff}.party-run svg{width:17px;height:17px}.party .party-stage{padding:25px;background:#fffdfb;min-height:540px;border-color:#eae4ef;overflow:hidden}.stage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #f0e9f0;padding-bottom:17px;margin-bottom:22px}.stage-label{font-size:10px;color:#84708f;letter-spacing:1.4px;font-weight:650}.stage-dot{font-size:9px;color:#837087}.stage-dot:before{content:'';display:inline-block;width:5px;height:5px;background:#a6cbbd;border-radius:50%;margin-right:5px}.party-welcome{text-align:center;padding:70px 12px 50px}.party-welcome h2{font-size:21px!important;color:#8a769c;letter-spacing:-.7px;margin:28px 0 12px!important}.party-welcome p{font-size:12px;line-height:1.9;color:#82708b}.party-mascots{display:flex;gap:12px;justify-content:center;align-items:flex-end;height:96px}.mascot{display:block;position:relative;width:69px;height:73px;background:#cde6dc;border-radius:45% 45% 37% 37%;border:1px solid #bfd6cc;transform:rotate(-8deg);box-shadow:0 7px 0 #f0e8ed}.mascot.lavender{width:82px;height:91px;background:#ded3ef;border-color:#d3c5e9;transform:rotate(4deg)}.mascot.peach{background:#f6ddc8;border-color:#ecd1b8;transform:rotate(9deg)}.mascot i:before,.mascot i:after{content:'';position:absolute;width:5px;height:7px;background:#87738e;border-radius:50%;top:35%;left:30%}.mascot i:after{left:auto;right:30%}.mascot b{position:absolute;top:40%;left:0;width:100%;font:22px sans-serif;color:#9a7c9b}.party-result-actions{display:flex;justify-content:center;gap:9px;border-top:1px solid #f0e9f0;padding-top:20px;margin-top:25px}.party-result-actions button{border-radius:99px!important;font-size:11px!important;background:#f5f0f8!important;color:#79618a!important}.board-hint{text-align:center;font-size:11px;color:#796387;margin:0 0 20px}.ladder-scroll{overflow-x:auto;padding:5px 0 12px}.ladder-inner{max-width:none;margin:auto}.ladder-labels{display:grid;gap:7px;padding:0 5px}.ladder-labels button,.ladder-labels>span{min-width:0;font-size:11px;border-radius:12px;padding:9px 4px;background:#ede4f7;border:1px solid #dfd2ee;color:#9176a8;text-align:center;word-break:break-all;white-space:normal;line-height:1.5;overflow-wrap:anywhere}.ladder-labels button:hover{background:#e0d4ef}.ladder-prizes>span{background:#f8ecd9;border-color:#eee0c4;color:#8b744a;min-height:38px}.ladder-prizes>span.revealed{background:#dceee4;border-color:#c7dfd3;color:#4d7862}.ladder-labels button.revealed{background:#e2d7ef}.ladder-svg{display:block;width:100%;height:auto;max-width:none}.ladder-rail{fill:none;stroke:#e0d8e9;stroke-width:3;stroke-linecap:round}.trace-play{stroke-dasharray:1800;animation:trace-draw 1s ease-out both}@keyframes trace-draw{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}.party-reveal-controls{text-align:center;margin-top:12px}.party-reveal-controls button{background:#eee5f6!important;border-color:#e2d7ed!important;color:#9279a7!important;border-radius:99px!important}.party-result{color:#8e789f;font-size:12px;text-align:center;margin-top:20px}.party-result h3{font-size:12px;font-weight:550}.assignment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assignment-list>div{background:#f6f2f8;border:1px solid #ede5f3;border-radius:10px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-size:11px}.assignment-list strong,.assignment-list b{overflow-wrap:anywhere;font-weight:550}.assignment-list span{color:#c0adce;flex-shrink:0}.wheel-wrap{position:relative;max-width:350px;margin:25px auto 22px;aspect-ratio:1}.wheel-wrap canvas{display:block;width:100%;height:100%;filter:drop-shadow(0 8px 0 #ede5ec);will-change:transform}.wheel-pointer{position:absolute;z-index:2;left:calc(50% - 12px);top:-3px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:29px solid #8f77a3;filter:drop-shadow(0 3px 0 #ffffff)}.wheel-face{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:65px;height:65px;background:#fff9f2;border:4px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#a68aab;box-shadow:0 2px 8px #80618c12}.wheel-legend{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.wheel-legend span{font-size:10px;color:#786482;background:white;border:2px solid;border-radius:99px;padding:3px 9px;overflow-wrap:anywhere;max-width:100%}.winner{border:1px solid #e6d7ec;background:#f6eef9;padding:22px;border-radius:17px;animation:winner-in .4s ease-out}.winner>span{font-size:11px;letter-spacing:.8px;color:#866c95}.winner strong{display:block;margin:9px 0;font-size:28px;letter-spacing:-1px;color:#90739e;overflow-wrap:anywhere}.winner p{font-size:11px;color:#856c90;margin:0}@keyframes winner-in{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.team-card{border:1px solid #e9e2ec;border-radius:17px;background:white;overflow:hidden}.team-card h3{margin:0;display:flex;align-items:center;gap:4px;padding:13px 17px;background:var(--team-color);font-size:14px;color:#6e607a}.team-card h3>span{font-size:18px}.team-card small{margin-left:auto;font-size:10px;font-weight:400}.team-card ul{list-style:none;margin:0;padding:13px 17px;color:#796388;font-size:12px}.team-card li{padding:6px 0;overflow-wrap:anywhere}.party-guide ol{padding-left:18px}
@media(max-width:850px){.party-layout{grid-template-columns:1fr}.party .party-stage{min-height:420px}.party-controls .field textarea{min-height:140px}.party-welcome{padding-top:40px}}
@media(max-width:580px){.party-nav{gap:7px;margin-bottom:19px}.party-nav a{font-size:11px;padding:8px 12px}.party .party-stage{padding:20px 16px;border-radius:19px}.stage-dot{display:none}.stage-label{font-size:9px}.party-welcome h2{font-size:19px!important}.assignment-list{grid-template-columns:1fr}.wheel-face{width:53px;height:53px;font-size:21px}.team-grid{gap:9px}.team-card h3{padding:11px 13px}.team-card ul{padding:10px 13px}.party-controls .field textarea{font-size:16px}.party-welcome{padding:45px 5px 25px}.party-mascots{gap:9px}.mascot{width:58px;height:65px}.mascot.lavender{width:70px;height:80px}}
@media(prefers-reduced-motion:reduce){.party *, .party *:before,.party *:after{animation:none!important;transition:none!important}}

.stage-label:before{content:"•ᴗ•";display:inline-grid;place-items:center;width:28px;height:28px;margin-right:9px;border-radius:11px 11px 9px 9px;background:#e8dcf3;color:#a18ab5;font-size:13px;letter-spacing:0;vertical-align:middle}

/* Playful, result-preserving reveals. */
.party-reveal-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.party-reveal-controls .text-button{font-size:10px}.ladder-labels button:disabled{cursor:wait;opacity:.7}.played-path{opacity:.85}.deal-station{background:radial-gradient(ellipse at center,#f6f0fb,#fffdfb 73%);border:1px dashed #e6dced;border-radius:20px;text-align:center;padding:20px 15px 17px;margin-bottom:21px}.deal-caption{font-size:11px;color:#a088b0;letter-spacing:.6px}.deal-deck{display:flex;justify-content:center;margin:21px 0 18px;position:relative}.deal-deck:before,.deal-deck:after{content:'';position:absolute;width:118px;height:91px;border:1px solid #e1d7e9;border-radius:17px;background:#f0e8f6;transform:rotate(-8deg);top:3px}.deal-deck:after{transform:rotate(7deg);background:#f8f2fc}.deal-card{position:relative;z-index:1;width:118px;min-height:91px;padding:13px 10px;background:#e6dbf1;border:2px solid #fff;border-radius:17px;box-shadow:0 5px 12px #8b6a9e12;color:#7e638d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.deal-card strong{font-size:15px;overflow-wrap:anywhere;max-width:100%;line-height:1.4}.deal-face{font-size:22px;line-height:1}.flying-card{position:fixed;z-index:100;pointer-events:none;margin:0}.deal-station .board-hint{margin:0 0 12px;color:#8c729d}.deal-station progress{width:min(240px,90%);height:5px;display:block;margin:auto;accent-color:#af99c6}.team-waiting{color:#b4a4be;font-size:11px}.team-arrival{animation:card-arrive .3s ease-out both}.team-complete{border-color:#cebbdf}.team-complete h3:after{content:'✓';font-size:13px;color:#6e7b62}.team-card{transition:border-color .25s}.team-card ul{min-height:55px}@keyframes card-arrive{from{opacity:0;transform:translateY(-8px) scale(.92)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.team-arrival{animation:none}}

.deal-station progress{appearance:none;border:0;border-radius:99px;background:#eee6f4;overflow:hidden}.deal-station progress::-webkit-progress-bar{background:#eee6f4;border-radius:99px}.deal-station progress::-webkit-progress-value{background:#af99c6;border-radius:99px}.deal-station progress::-moz-progress-bar{background:#af99c6;border-radius:99px}
