:root{--bg:#0f0f14;--surface:#1a1a24;--surface-2:#22222e;--border:#ffffff1a;--text:#f5f5f7;--text-dim:#9b9ba8;--danger:#f94144;--warn:#ffb703;--good:#06d6a0;--radius:14px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input{color:inherit;font-family:inherit}.app-root{background:var(--bg);min-height:100vh}.tabular-nums{font-variant-numeric:tabular-nums}.btn{appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:10px;min-height:44px;padding:.6rem 1rem;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,transform .15s,opacity .15s}.btn:hover:not(:disabled){border-color:var(--accent,#9d4edd)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-accent{background:var(--accent,#9d4edd);border-color:var(--accent,#9d4edd);color:#0f0f14}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-ghost{background:0 0}.btn-lg{padding:.85rem 1.5rem;font-size:1.15rem}.btn-chip{border-radius:999px;padding:.5rem .9rem;font-weight:700}.btn-chip.active{background:var(--accent,#9d4edd);border-color:var(--accent,#9d4edd);color:#0f0f14}.chip{letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:.2rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.chip-onblock{color:var(--accent,#9d4edd);border-color:var(--accent,#9d4edd)}.chip-full{color:var(--danger);border-color:var(--danger)}.avatar{border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.avatar-sm{width:32px;height:32px;font-size:.9rem}.avatar-md{width:48px;height:48px;font-size:1.3rem}.avatar-lg{width:72px;height:72px;font-size:2rem}.avatar-xl{width:clamp(90px,14vw,140px);height:clamp(90px,14vw,140px);font-size:clamp(2.2rem,6vw,3.6rem)}.setup-screen{flex-direction:column;gap:1.5rem;max-width:900px;margin:0 auto;padding:2rem 1.25rem 4rem;display:flex}.app-title{margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:800}.app-tagline{color:var(--text-dim);margin:-1rem 0 0}.section-heading{margin:0 0 .75rem;font-size:1.1rem;font-weight:700}.field-label{font-weight:600;display:block}.field-hint{color:var(--text-dim);margin-top:.15rem;font-size:.85rem;font-weight:400;display:block}.field-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.field-row input[type=number],.field-row input[type=text]{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;width:6rem;min-height:40px;padding:.5rem .7rem}.field-row input[type=checkbox]{width:24px;height:24px}.toggle-row{align-items:flex-start}.field-static{color:var(--text-dim)}.shuffle-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.9rem 1rem}.btn-start{align-self:stretch}.resume-gate{text-align:center;justify-content:center;align-items:center;min-height:90vh}.resume-copy{color:var(--text-dim)}.resume-actions{gap:.75rem;display:flex}.pool-warning-banner{border:1px solid var(--warn);color:var(--warn);background:#ffb7031f;border-radius:10px;padding:.75rem 1rem;font-size:.9rem}.pool-warning-banner.blocking{border-color:var(--danger);color:var(--danger);background:#f941441f}.pack-gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.pack-card{--pack-accent:#9d4edd;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);text-align:left;cursor:pointer;flex-direction:column;gap:.35rem;min-height:44px;padding:1rem;transition:border-color .15s,transform .15s;display:flex}.pack-card:hover{border-color:var(--pack-accent)}.pack-card.selected{border-color:var(--pack-accent);background:color-mix(in srgb, var(--pack-accent) 14%, var(--surface))}.pack-icon{font-size:1.75rem}.pack-name{font-weight:700}.pack-desc{color:var(--text-dim);font-size:.82rem}.pack-count{color:var(--pack-accent);font-size:.78rem;font-weight:700}.team-count-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.stepper{align-items:center;gap:.75rem;display:flex}.stepper button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:1.3rem}.stepper-value{text-align:center;min-width:2ch;font-size:1.4rem;font-weight:800}.team-name-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;display:grid}.team-name-row{align-items:center;gap:.6rem;display:flex}.swatch{border-radius:50%;flex-shrink:0;width:18px;height:18px}.team-name-row input{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex:1;min-height:44px;padding:.5rem .7rem}.house-rules-toggle{color:var(--text);cursor:pointer;background:0 0;border:none;padding:.5rem 0;font-size:1rem;font-weight:700}.house-rules-body{padding-top:.5rem}.draft-screen{flex-direction:column;height:100vh;display:flex}.top-bar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.top-bar-pack{align-items:center;gap:.6rem;font-weight:700;display:flex}.top-bar-icon{font-size:1.4rem}.top-bar-actions{gap:.6rem;display:flex}.draft-tabbar{display:none}.draft-layout{flex:1;grid-template-columns:4fr 3fr 3fr;gap:1rem;min-height:0;padding:1rem;display:grid}.zone{min-height:0;overflow-y:auto}.pool-zone{flex-direction:column;gap:.75rem;display:flex}.pool-zone-header{align-items:center;gap:.75rem;display:flex}.pool-search{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex:1;min-height:44px;padding:.6rem .9rem}.pool-count{color:var(--text-dim);white-space:nowrap;font-size:.85rem}.pool-zone-actions{gap:.6rem;display:flex}.custom-entry-form{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:.5rem;padding:.75rem;display:flex}.custom-entry-form input{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex:1;min-width:140px;min-height:44px;padding:.5rem .7rem}.custom-entry-form-actions{gap:.5rem;display:flex}.pool-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;display:grid}.pool-empty{color:var(--text-dim);grid-column:1/-1}.pool-card-item{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;align-items:center;gap:.35rem;min-height:44px;padding:.85rem .6rem;transition:transform .15s,border-color .15s;display:flex}.pool-card-item:hover:not(:disabled){border-color:var(--accent,#9d4edd);transform:translateY(-2px)}.pool-card-item.on-block{border-color:var(--accent,#9d4edd);background:color-mix(in srgb, var(--accent,#9d4edd) 16%, var(--surface));cursor:default}.pool-card-name{font-size:.9rem;font-weight:700}.pool-card-tagline{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;overflow:hidden}.lot-zone-inner{height:100%;position:relative}.lot-spotlight{text-align:center;background:var(--surface);border:2px solid var(--accent,#9d4edd);border-radius:var(--radius);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.25rem;display:flex}.lot-spotlight.dragging{cursor:grabbing;opacity:.85;z-index:50}.lot-empty{border-style:dashed;border-color:var(--border);color:var(--text-dim);cursor:default;justify-content:center;min-height:220px}.lot-name{margin:0;font-size:clamp(2.5rem,6vw,5rem);font-weight:800;line-height:1.05}.lot-tagline{color:var(--text-dim);margin:0;font-size:1.1rem}.lot-actions{gap:.6rem;margin-top:.5rem;display:flex}.lot-drag-hint{color:var(--text-dim);margin:.25rem 0 0;font-size:.8rem}.sold-stamp{color:var(--danger);border:6px solid var(--danger);pointer-events:none;background:#0f0f14bf;border-radius:12px;padding:.2rem 1rem;font-size:clamp(2.5rem,8vw,5rem);font-weight:900;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards sold-stamp-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}@keyframes sold-stamp-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(-20deg)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.15)rotate(-6deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-8deg)}}.team-panels-zone{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.team-panels-zone.teams-9,.team-panels-zone.teams-10,.team-panels-zone.teams-11,.team-panels-zone.teams-12{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.team-panel{--team-color:#9d4edd;background:var(--surface);border:2px solid var(--border);border-left:6px solid var(--team-color);border-radius:var(--radius);flex-direction:column;gap:.6rem;padding:.9rem;transition:opacity .15s,border-color .15s;display:flex;position:relative}.team-panel-collapse{color:var(--text-dim);cursor:pointer;background:0 0;border:none;min-width:32px;min-height:32px;font-size:1rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.team-panels-zone.compact{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));align-content:start}.team-tile{--team-color:#9d4edd;background:var(--surface);border:2px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;gap:.15rem;min-height:44px;padding:.55rem .65rem .55rem .9rem;transition:opacity .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.team-tile-bar{width:6px;position:absolute;top:0;bottom:0;left:0}.team-tile-name{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700;overflow:hidden}.team-tile-budget{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800}.team-tile-dots{color:var(--team-color);letter-spacing:.15em;font-size:.8rem}.team-tile.assignable:hover,.team-tile.drop-over{border-color:var(--team-color)}.team-tile.full{opacity:.55}.team-panel.assignable{cursor:pointer}.team-panel.assignable:hover,.team-panel.drop-over{border-color:var(--team-color)}.team-panel.full{opacity:.55}.team-panel-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.team-name{cursor:text;margin:0;font-size:1.05rem}.team-panel-header input{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;width:100%;min-height:40px;padding:.3rem .5rem;font-size:1.05rem}.team-budget{font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800}.budget-healthy{color:var(--good)}.budget-low{color:var(--warn)}.budget-minimum{color:var(--danger)}.budget-full{color:var(--text-dim)}.roster-slots{flex-direction:column;gap:.4rem;display:flex}.roster-slot{border-radius:8px;min-height:44px}.roster-slot.empty{border:1px dashed var(--border)}.roster-slot.filled{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;text-align:left;align-items:center;gap:.5rem;width:100%;padding:.35rem .5rem;display:flex}.roster-slot-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}.roster-slot-price{font-variant-numeric:tabular-nums;font-weight:700}.assign-hint{color:var(--accent,#9d4edd);text-align:center;font-size:.75rem;font-weight:700}.sheet-backdrop{z-index:100;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-panel{background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:20px 20px 0 0;flex-direction:column;gap:.75rem;width:100%;max-width:480px;padding:1.5rem;animation:.2s ease-out sheet-up;display:flex}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.sheet-kicker{margin:0;font-size:1.1rem;font-weight:700}.sheet-hint{color:var(--text-dim);margin:0;font-size:.85rem}.bid-amount-readout{text-align:center;font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,8vw,3.5rem);font-weight:800}.quick-amounts,.steppers-row,.team-picker{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.sheet-error{color:var(--danger);text-align:center;margin:0;font-weight:700}.sheet-actions{gap:.6rem;margin-top:.5rem;display:flex}.sheet-actions .btn{flex:1}.results-screen{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 4rem}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.results-actions{gap:.6rem;display:flex}.results-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.results-team-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:1rem}.results-team-name{margin:0 0 .25rem}.results-team-leftover{color:var(--text-dim);margin:0 0 .75rem;font-size:.85rem}.results-roster{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.results-roster li{align-items:center;gap:.5rem;display:flex}.results-roster-name{flex:1;font-size:.9rem}.results-roster-price{font-weight:700}.results-roster-empty{color:var(--text-dim)}.results-team-card.winner{box-shadow:0 0 0 2px gold,0 0 24px #ffd70059}.crown-badge{filter:drop-shadow(0 0 4px #ffd70099)}.vote-controls{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.75rem;display:flex}.vote-count{font-variant-numeric:tabular-nums;text-align:center;min-width:2ch;font-size:1.3rem;font-weight:800}.fun-stats-strip{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;margin-top:1.5rem;display:grid}.fun-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:.6rem;padding:.85rem 1rem;display:flex}.fun-stat-icon{font-size:1.4rem;line-height:1}.fun-stat-label{font-size:.9rem;line-height:1.4}.vote-section{justify-content:center;align-items:center;gap:.75rem;margin-top:1.75rem;display:flex}.vote-prompt{gap:.75rem;display:flex}.vote-crowned-note{color:var(--text-dim);font-weight:700}.export-section{justify-content:center;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.confetti-burst{pointer-events:none;z-index:200;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{transform:translateY(110vh) rotate(var(--confetti-rotate,360deg));opacity:.9}}@media (width<=768px){.draft-tabbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.draft-tabbar button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;min-height:44px;padding:.85rem;font-weight:700}.draft-tabbar button.active{color:var(--text);border-bottom-color:var(--accent,#9d4edd)}.draft-layout{padding:.75rem;display:block}.zone{display:none}.zone[data-tab-active=true]{display:block}}
