:root{--bg:#f8fafc;--panel:#ffffffe6;--panel-strong:#fffffffa;--text:#334155;--text-h:#0f172a;--muted:#64748b;--border:#0f172a1f;--accent:#0ea5e9;--accent-2:#10b981;--shadow:0 24px 70px #0f172a21;--shadow-soft:0 14px 35px #0f172a14;color:var(--text);background:radial-gradient(circle at top left, #0ea5e938, transparent 28rem), radial-gradient(circle at bottom right, #10b9812e, transparent 26rem), var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px;min-height:100%}body{min-width:320px;min-height:100svh;margin:0}button:focus-visible{outline-offset:3px;outline:3px solid #0ea5e980}#root{min-height:100svh}::selection{color:#fff;background:var(--accent)}.app-shell{min-height:100svh;color:var(--text);padding:18px}button{font:inherit}.landing-card,.draft-board{width:min(1180px,100%);margin:0 auto}.landing-card{border:1px solid var(--border);background:radial-gradient(circle at 18% 16%,#22c55e59,#0000 34%),radial-gradient(circle at 84% 4%,#0ea5e959,#0000 30%),linear-gradient(145deg,#0f172afa,#1e293bf5);border-radius:32px;align-content:center;gap:20px;min-height:min(720px,100svh - 36px);padding:clamp(20px,4vw,44px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 90px #0f172a47}.landing-card:before{content:"";pointer-events:none;border:1px solid #ffffff1f;border-radius:24px;position:absolute;inset:18px}.landing-hero-copy{gap:14px;max-width:760px;display:grid}.landing-card .eyebrow{color:#7dd3fc}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}h1,h2,p{margin-top:0}.landing-card h1,.top-bar h1{max-width:820px;color:var(--text-h);letter-spacing:-.08em;margin-bottom:0;font-size:clamp(2.6rem,12vw,6.4rem);line-height:.88}.landing-card h1{color:#f8fafc;text-wrap:balance}.landing-copy{color:#dbeafe;max-width:650px;margin-bottom:0;font-size:clamp(1.05rem,3vw,1.35rem);line-height:1.32}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px;display:grid}.mode-card,.player-card,.assignment-button,.ghost-button,.spin-button{border:1px solid var(--border);min-height:54px;color:var(--text-h);background:var(--panel);cursor:pointer;border-radius:20px;transition:transform .18s,border-color .18s,background .18s}.mode-card{text-align:left;gap:8px;padding:22px;display:grid}.landing-card .mode-card{color:#f8fafc;background:#0f172ac7;border-color:#ffffff3d;box-shadow:inset 0 1px #ffffff14}.mode-card.primary,.spin-button{background:linear-gradient(135deg,#0ea5e9,#10b981);border-color:#22c55ea6}.landing-card .mode-card.primary{background:linear-gradient(135deg,#0369a1,#047857);border-color:#bef264d1}.mode-card:hover,.player-card:hover,.assignment-button:not(:disabled):hover,.ghost-button:hover,.spin-button:hover{border-color:var(--accent);transform:translateY(-2px)}.mode-card span,.score-label,.position-pill,.slot-name{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:800}.landing-card .mode-card span{color:#bae6fd}.mode-card strong{font-size:1.35rem}.landing-card .mode-card strong{color:#fff}.mode-card small,.slot-card small,.player-card small,.player-card em,.assignment-button small,.reveal-card small,.drawer-copy,.warning-copy{color:var(--muted)}.landing-card .mode-card small{color:#e0f2fe;font-weight:700;line-height:1.35}.guardrail-strip{flex-wrap:wrap;gap:10px;display:flex}.guardrail-strip span{color:#e0f2fe;background:#0ea5e929;border:1px solid #7dd3fc66;border-radius:999px;padding:8px 12px;font-size:.84rem;font-weight:700}.landing-card .ghost-button{color:#f8fafc;background:#0f172adb;border-color:#ffffff47}.draft-board{gap:18px;display:grid}.top-bar,.score-card,.roster-panel,.spin-panel,.result-card,.disclaimer,.how-to-modal{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-soft);border-radius:28px}.top-bar{justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.help-button{width:fit-content}.top-bar h1{font-size:clamp(2.1rem,7vw,4.8rem)}.ghost-button{background:var(--panel-strong);padding:10px 16px}.score-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.score-card>div{background:#0ea5e90f;gap:8px;padding:18px;display:grid}.score-card strong{color:var(--text-h);font-size:1.8rem}.content-grid{grid-template-columns:minmax(360px,1.08fr) minmax(300px,.92fr);align-items:start;gap:18px;display:grid}.roster-panel,.spin-panel{padding:18px}.compact-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.inline-spin{white-space:nowrap;width:auto;min-width:118px;margin-top:0}.section-heading{margin-bottom:16px}.section-heading h2{color:var(--text-h);margin:4px 0 0}.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.slot-card{text-align:left;background:#f8fafcd9;border:1px dashed #94a3b873;border-radius:18px;align-content:space-between;gap:8px;min-height:104px;padding:14px;display:grid}.slot-card.filled{background:linear-gradient(150deg,#10b98129,#fffffff2);border-style:solid;border-color:#22c55e7a}.slot-card strong{color:var(--text-h)}.reveal-card{border:1px solid color-mix(in srgb, var(--pool-color) 58%, transparent);background:radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--pool-color) 26%, transparent), transparent 38%), linear-gradient(135deg, #fffffffa, #eff6ffe0);border-radius:24px;gap:10px;min-height:154px;padding:22px;display:grid}.reveal-card.spinning{animation:.45s ease-in-out infinite alternate pulseSpin}.reveal-card span{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.reveal-card strong{color:var(--text-h);font-size:clamp(1.6rem,6vw,3.2rem);line-height:1}.spin-button{color:#fff;width:100%;margin-top:12px;padding:16px 20px;font-weight:900}.spin-button:disabled,.assignment-button:disabled{cursor:not-allowed;opacity:.44}.player-list{gap:10px;margin-top:14px;display:grid}.player-card{text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;padding:16px;display:grid}.player-card strong,.player-card small,.player-card em{text-overflow:ellipsis;white-space:nowrap;grid-column:2;min-width:0;overflow:hidden}.player-card em{font-style:normal}.disabled-card{opacity:.4;cursor:not-allowed}.position-pill{color:#0369a1;text-align:center;background:#0ea5e91f;border-radius:14px;grid-row:1/span 3;min-width:62px;padding:10px 8px}.drawer-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:#0f172a3d;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.assignment-drawer{border:1px solid var(--border);background:#fff;border-radius:28px;width:min(720px,100%);margin:0 auto;padding:22px;box-shadow:0 8px 60px #00000059}.assignment-drawer h2{color:var(--text-h);margin:4px 0 8px}.assignment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.assignment-button{place-content:center;gap:4px;min-height:76px;padding:12px;display:grid}.assignment-button strong{font-size:1.15rem}.full-width{width:100%}.warning-copy{margin-bottom:14px}.result-card{gap:16px;margin-top:18px;padding:22px;display:grid}.result-card h2{color:var(--accent);margin:4px 0 8px;font-size:clamp(3.2rem,9vw,6.2rem);line-height:.9}.result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.result-stats span{background:#0ea5e914;border-radius:16px;gap:6px;padding:14px;display:grid}.result-stats strong{color:var(--text-h)}.result-stats small{color:var(--muted)}.disclaimer{width:min(1180px,100%);color:var(--muted);margin:18px auto 0;padding:18px;font-size:.92rem}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30;background:#0f172a42;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.how-to-modal{background:#fff;width:min(560px,100%);padding:22px}.modal-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.icon-button{border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--text-h);background:var(--panel-strong);cursor:pointer;border-radius:999px;font-size:1.7rem;line-height:1}.how-to-list{color:var(--muted);gap:12px;padding-left:1.4rem;display:grid}button:focus-visible,[tabindex="-1"]:focus-visible{outline-offset:3px;outline:3px solid #0ea5e980}@keyframes pulseSpin{0%{transform:scale(.99)rotate(-.4deg)}to{transform:scale(1.01)rotate(.4deg)}}@media (width<=820px){.app-shell{padding:10px}.landing-card{border-radius:24px;align-content:start;gap:16px;min-height:auto;padding:18px}.landing-card:before{border-radius:18px;inset:10px}.mode-grid,.content-grid,.result-stats{grid-template-columns:1fr}.top-bar{border-radius:18px;flex-direction:row;align-items:center;gap:10px;padding:8px 12px}.top-bar h1{display:none}.top-bar .eyebrow{letter-spacing:.08em;margin:0;font-size:.74rem}.top-bar .ghost-button{border-radius:14px;min-height:34px;padding:5px 10px;font-size:.82rem}.roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slot-card{min-height:76px;padding:10px}.reveal-card{min-height:100px;padding:16px}.reveal-card strong{font-size:clamp(1.3rem,5vw,2rem)}.player-card em{display:none}.player-card{padding:10px 12px}.content-grid{flex-direction:column;align-items:stretch;gap:12px;display:flex}.spin-panel,.roster-panel{width:100%;min-width:0;overflow:hidden}.spin-panel{order:1}.roster-panel{order:2}.reveal-card strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.draft-board{gap:10px}}@media (width<=430px){.app-shell{padding:8px}.landing-card{gap:14px;padding:16px}.landing-hero-copy{gap:10px}.mode-grid{gap:10px;margin-top:0}.mode-card{border-radius:18px;min-height:0;padding:16px}.mode-card strong{font-size:1.18rem}.guardrail-strip{gap:8px}.guardrail-strip span{padding:7px 10px;font-size:.78rem}.player-card{grid-template-columns:auto 1fr;padding:12px}.landing-card h1,.top-bar h1{font-size:clamp(2rem,15vw,3.8rem)}}
