:root{--ink:#17123b;--cream:#fff8e8;--paper:#fffdf8;--orange:#ff6534;--yellow:#ffd43b;--blue:#58c7ff;--green:#68df9d;--purple:#8967ff;--pink:#ff7eb6;--shadow:6px 7px 0 #21194a;font-family:"Arial Rounded MT Bold","Trebuchet MS",ui-rounded,system-ui,sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0,#fff1a8 0,transparent 24rem),radial-gradient(circle at 100% 30%,#d6cfff 0,transparent 27rem),var(--cream);font-size:16px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid #fff;box-shadow:0 0 0 7px var(--ink)}[hidden]{display:none!important}.topbar{max-width:1240px;margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;font-size:1.5rem;font-weight:1000;letter-spacing:-.06em}.ball{display:grid;place-items:center;width:46px;height:46px;border:3px solid var(--ink);border-radius:50%;background:var(--orange);font-size:1rem;box-shadow:3px 3px 0 var(--ink)}.database-count{border:2px solid var(--ink);border-radius:99px;background:var(--paper);padding:9px 14px;font-size:.78rem;font-weight:800;box-shadow:3px 3px 0 var(--ink)}main{max-width:1240px;margin:auto;padding:16px 24px 60px}.screen{animation:pop .28s ease}@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
.home-screen{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px;align-items:center;min-height:calc(100vh - 150px)}.hero-copy{padding:20px 0}.kicker{font-size:.76rem;font-weight:1000;letter-spacing:.18em;margin:0 0 10px}.hero-copy h1,.challenge-box h1{font-size:clamp(3.4rem,7vw,6.6rem);line-height:.85;letter-spacing:-.08em;margin:0}.hero-copy h1 em{font-style:normal;color:var(--orange);text-shadow:3px 3px 0 var(--ink)}.hero-copy>p:last-child{font-family:system-ui,sans-serif;font-weight:650;line-height:1.6;max-width:530px;font-size:1.06rem;margin-top:28px}.mode-shell{background:var(--paper);border:3px solid var(--ink);border-radius:28px;padding:18px;box-shadow:var(--shadow)}.daily-banner{background:var(--yellow);border:3px solid var(--ink);border-radius:18px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.daily-banner b,.daily-banner small{display:block}.daily-banner small{font-family:system-ui,sans-serif;margin-top:4px;font-size:.75rem;font-weight:650}.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff3a4c;margin-right:7px;box-shadow:0 0 0 4px rgba(255,58,76,.16)}.daily-play{border:2px solid var(--ink);border-radius:12px;background:var(--ink);color:#fff;padding:12px 14px;font-size:.78rem;font-weight:1000}.section-label{font-size:.68rem;letter-spacing:.15em;font-weight:1000;margin:18px 3px 8px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mode-card{min-height:125px;border:2px solid var(--ink);border-radius:16px;background:#fff;text-align:left;padding:13px;transition:.16s}.mode-card:hover,.mode-card.selected{transform:translateY(-3px);box-shadow:4px 5px 0 var(--ink)}.mode-card.selected{background:var(--blue)}.mode-icon{display:block;font-size:1.45rem;margin-bottom:11px}.mode-card b,.mode-card small{display:block}.mode-card small{font-family:system-ui,sans-serif;font-weight:650;font-size:.71rem;line-height:1.35;margin-top:3px}.era-ribbon{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:14px 0}.era-ribbon span{text-align:center;border:2px solid var(--ink);border-radius:9px;padding:7px 2px;font-size:.7rem;font-weight:1000}.e80{background:#ff8a5b}.e90{background:#63dce0}.e00{background:#a996ff}.e10{background:#ffd54a}.e20{background:#71e59e}.setup-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.setup-row>div:only-child{grid-column:1/-1}label{display:block;font-size:.65rem;letter-spacing:.12em;font-weight:1000;margin:0 0 6px 3px}input,select{width:100%;height:48px;border:2px solid var(--ink);border-radius:12px;background:#fff;padding:0 12px;font-family:system-ui,sans-serif;font-weight:750}.start-button,.ghost-button{border:3px solid var(--ink);border-radius:14px;min-height:54px;padding:0 18px;font-weight:1000;letter-spacing:.02em}.start-button{width:100%;margin-top:10px;background:var(--orange);box-shadow:4px 5px 0 var(--ink);display:flex;align-items:center;justify-content:space-between}.start-button:hover{transform:translate(2px,2px);box-shadow:2px 3px 0 var(--ink)}.ghost-button{background:#fff}.full{width:100%}
.draft-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:16px}.draft-top>div:nth-child(2){display:flex;align-items:center;gap:10px}.back-link{justify-self:start;border:0;background:none;font-size:.75rem;font-weight:1000}.mode-chip{background:var(--purple);color:#fff;border:2px solid var(--ink);border-radius:99px;padding:7px 10px;font-size:.65rem;font-weight:1000}.round-dots{justify-self:end;display:flex;gap:5px}.round-dots i{width:13px;height:13px;border:2px solid var(--ink);border-radius:50%;background:#fff}.round-dots i.done{background:var(--orange)}.draft-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:18px;align-items:start}.draw-stage{position:relative;min-height:245px;border:3px solid var(--ink);border-radius:25px;background:linear-gradient(135deg,var(--yellow),#ffec8a);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;text-align:center;padding:25px}.draw-stage:before,.draw-stage:after{content:"";position:absolute;width:160px;height:160px;border:18px solid rgba(33,25,74,.08);border-radius:50%}.draw-stage:before{left:-80px;top:-75px}.draw-stage:after{right:-70px;bottom:-105px}.draw-overline{position:relative;z-index:1;font-size:.7rem;font-weight:1000;letter-spacing:.2em}.draw-question{position:relative;z-index:1;font-size:6rem;font-weight:1000;line-height:1}.draw-result{position:relative;z-index:1;display:flex;align-items:center;gap:18px;text-align:left}.draw-result>span{font-size:clamp(3rem,8vw,6.5rem);line-height:.8;font-weight:1000;letter-spacing:-.08em}.draw-result b,.draw-result strong{display:block}.draw-result b{font-family:system-ui,sans-serif;font-size:1rem}.draw-result strong{font-size:1.5rem;margin-top:5px}.reveal-button{position:relative;z-index:1;border:3px solid var(--ink);border-radius:13px;background:var(--ink);color:#fff;min-height:50px;padding:0 20px;font-weight:1000;box-shadow:4px 5px 0 rgba(255,255,255,.75)}.players-wrap{margin-top:25px}.players-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.players-head .kicker{margin:0}.players-head h2{font-size:2rem;letter-spacing:-.055em;margin:2px 0 0}.players-head>span{font-size:.75rem;font-weight:1000}.player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.player-card{position:relative;min-height:252px;border:3px solid var(--ink);border-radius:19px;background:#fff;padding:14px;overflow:hidden;box-shadow:4px 5px 0 var(--ink);transition:.17s}.player-card:hover{transform:translateY(-4px);box-shadow:6px 8px 0 var(--ink)}.player-card.unavailable{opacity:.38;filter:grayscale(.8);box-shadow:none}.player-top{display:flex;justify-content:space-between;gap:10px}.player-identity{display:flex;gap:10px;align-items:center}.initials{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--ink);border-radius:13px;background:var(--card-accent,var(--blue));font-size:.8rem;font-weight:1000;transform:rotate(-3deg)}.player-name{font-family:system-ui,sans-serif;font-weight:900;line-height:1.05}.player-meta{display:block;font-size:.68rem;font-weight:800;margin-top:5px;color:#5b5675}.ovr{font-size:1.7rem;font-weight:1000;letter-spacing:-.08em}.ovr small{display:block;font-size:.5rem;letter-spacing:.08em;text-align:right}.stat-line{display:grid;grid-template-columns:repeat(5,1fr);border:2px solid var(--ink);border-radius:11px;overflow:hidden;margin-top:13px}.stat-line span{text-align:center;padding:7px 2px;border-right:1px solid var(--ink);font-size:.6rem;font-weight:1000}.stat-line span:last-child{border:0}.stat-line b{display:block;font-size:.82rem;margin-bottom:2px}.abilities{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.ability{border:1.5px solid var(--ink);border-radius:99px;background:var(--yellow);padding:4px 7px;font-size:.58rem;font-weight:1000}.assign-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}.assign{border:2px solid var(--ink);border-radius:8px;background:var(--card-accent,var(--blue));padding:7px 8px;font-size:.62rem;font-weight:1000}.assign:hover{background:var(--ink);color:#fff}.court-panel{position:sticky;top:15px;border:3px solid var(--ink);border-radius:25px;background:var(--green);padding:14px;box-shadow:var(--shadow)}.court-head{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:1000}.court-head b{background:#fff;border:2px solid var(--ink);border-radius:99px;padding:7px 9px}.court{position:relative;height:480px;margin-top:12px;border:3px solid var(--ink);border-radius:160px 160px 20px 20px;background:linear-gradient(90deg,rgba(255,255,255,.15) 49.5%,var(--ink) 50%,rgba(255,255,255,.15) 50.5%);overflow:hidden}.court:before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:125px;height:155px;border:3px solid var(--ink);border-top:0}.court:after{content:"";position:absolute;left:50%;top:138px;transform:translateX(-50%);width:105px;height:55px;border:3px solid var(--ink);border-radius:0 0 80px 80px}.court-slot{position:absolute;z-index:2;width:104px;min-height:82px;border:2px solid var(--ink);border-radius:13px;background:#fff;padding:8px;text-align:center;box-shadow:3px 3px 0 var(--ink)}.court-slot b{display:block;font-family:system-ui,sans-serif;font-size:.7rem;line-height:1.05;margin-top:5px}.court-slot small{font-size:.57rem;font-weight:850}.court-slot.empty{background:rgba(255,255,255,.65);box-shadow:none}.court-slot.empty b{color:#6b8e7a}.court-slot[data-pos="PG"]{left:50%;bottom:25px;transform:translateX(-50%)}.court-slot[data-pos="SG"]{right:16px;bottom:145px}.court-slot[data-pos="SF"]{left:16px;bottom:145px}.court-slot[data-pos="PF"]{left:32px;top:105px}.court-slot[data-pos="C"]{right:32px;top:55px}.court-tip{font-family:system-ui,sans-serif;font-size:.67rem;text-align:center;font-weight:700;margin:12px 8px 2px}
.result-screen{max-width:1050px;margin:auto}.result-hero{text-align:center;padding:30px 15px}.result-hero h1{font-size:clamp(2.1rem,5vw,4rem);letter-spacing:-.07em;margin:0}.big-record{font-size:clamp(5.8rem,18vw,11rem);font-weight:1000;line-height:.84;letter-spacing:-.1em;color:var(--orange);text-shadow:5px 6px 0 var(--ink);margin:18px 0}.result-hero>p:not(.kicker){font-family:system-ui,sans-serif;font-weight:750}.rating-pill{display:inline-block;border:3px solid var(--ink);border-radius:99px;background:var(--yellow);padding:10px 15px;font-size:.76rem;font-weight:1000;box-shadow:3px 3px 0 var(--ink)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.result-card{border:3px solid var(--ink);border-radius:22px;background:#fff;padding:17px;box-shadow:var(--shadow)}.card-title{display:flex;align-items:center;justify-content:space-between}.card-title h2{margin:0;font-size:1.1rem}.card-title span{font-size:.7rem;font-weight:1000}.final-five{display:grid;gap:7px;margin-top:12px}.final-player{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:9px;border:2px solid var(--ink);border-radius:11px;padding:8px;background:var(--paper)}.final-player>span:first-child{display:grid;place-items:center;width:35px;height:30px;border:2px solid var(--ink);border-radius:8px;background:var(--blue);font-size:.63rem;font-weight:1000}.final-player b,.final-player small{display:block;font-family:system-ui,sans-serif}.final-player b{font-size:.77rem}.final-player small{font-size:.6rem;margin-top:2px}.final-player em{font-style:normal;font-size:.7rem;font-weight:1000}.rating-row{display:grid;grid-template-columns:90px 1fr 28px;gap:8px;align-items:center;margin:12px 0;font-size:.68rem;font-weight:1000}.meter{height:11px;border:2px solid var(--ink);border-radius:99px;background:#eee;overflow:hidden}.meter i{display:block;height:100%;background:var(--orange);border-right:2px solid var(--ink)}.ability-cloud{display:flex;flex-wrap:wrap;gap:6px;margin-top:17px}.ability-cloud .ability{font-size:.65rem;padding:6px 8px}.versus-card{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:17px;border:3px solid var(--ink);border-radius:18px;background:var(--purple);color:#fff;padding:15px;box-shadow:var(--shadow)}.versus-card>div{text-align:center}.versus-card span,.versus-card b{display:block}.versus-card b{font-size:2rem}.result-actions,.challenge-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:17px}.result-actions .start-button,.challenge-actions .start-button{margin:0}.challenge-screen{max-width:850px;margin:70px auto}.challenge-box{border:3px solid var(--ink);border-radius:28px;background:var(--yellow);padding:clamp(25px,6vw,55px);box-shadow:var(--shadow)}.challenge-box h1{font-size:clamp(2.5rem,6vw,5.3rem)}.challenge-box h1 span:last-child{color:var(--orange);text-shadow:3px 3px 0 var(--ink)}.challenge-box>p:not(.kicker){font-family:system-ui,sans-serif;font-weight:700}.mini-roster{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:20px 0 10px}.mini-slot{border:2px solid var(--ink);border-radius:10px;background:#fff;padding:8px;min-height:80px}.mini-slot span,.mini-slot b,.mini-slot small{display:block}.mini-slot span{font-size:.58rem;font-weight:1000}.mini-slot b{font-family:system-ui,sans-serif;font-size:.7rem;margin-top:7px}.mini-slot small{font-size:.56rem;margin-top:4px}.watch-status{text-align:center;font-family:system-ui,sans-serif;font-size:.72rem;font-weight:750}.toast{position:fixed;z-index:20;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:#fff;border:2px solid #fff;border-radius:12px;padding:11px 16px;font-weight:900;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:15}.confetti i{position:absolute;top:-20px;width:12px;height:22px;background:var(--c);animation:fall var(--t) linear forwards;transform:rotate(var(--r))}@keyframes fall{to{transform:translate(var(--x),110vh) rotate(720deg)}}footer{text-align:center;padding:0 20px 25px;font-family:system-ui,sans-serif;font-size:.68rem;color:#6a6480}
@media(max-width:900px){.home-screen{grid-template-columns:1fr;gap:5px}.hero-copy{padding:25px 0 8px}.hero-copy h1{font-size:clamp(3.8rem,15vw,6rem)}.draft-layout{grid-template-columns:1fr}.court-panel{position:relative;top:0;order:-1}.court{height:270px;border-radius:120px 120px 18px 18px}.court-slot{width:88px;min-height:62px}.court-slot[data-pos="PG"]{bottom:12px}.court-slot[data-pos="SG"],.court-slot[data-pos="SF"]{bottom:86px}.court-slot[data-pos="PF"]{left:18px;top:55px}.court-slot[data-pos="C"]{right:18px;top:35px}.result-grid{grid-template-columns:1fr}}
@media(max-width:768px){.topbar,main{padding-left:12px;padding-right:12px}.database-count{font-size:.62rem}.home-screen{min-height:auto}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:82px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-content:center}.mode-icon{grid-row:1/3;margin:0}.era-ribbon{overflow-x:auto;grid-template-columns:repeat(5,minmax(72px,1fr))}.setup-row{grid-template-columns:1fr}.setup-row>div{grid-column:1/-1}.draft-top{grid-template-columns:auto 1fr}.draft-top>div:nth-child(2){justify-self:end}.round-dots{display:none}.draw-stage{min-height:215px}.draw-result{flex-direction:column;gap:8px;text-align:center}.player-grid{grid-template-columns:1fr}.player-card{min-height:auto}.result-actions,.challenge-actions{grid-template-columns:1fr}.mini-roster{grid-template-columns:repeat(5,minmax(85px,1fr));overflow-x:auto}.big-record{text-shadow:3px 4px 0 var(--ink)}}
.respin-row{position:relative;z-index:2;display:flex;gap:7px;margin-top:17px}.respin-row button{border:2px solid var(--ink);border-radius:10px;background:#fff;min-height:38px;padding:0 11px;font-size:.65rem;font-weight:1000;box-shadow:2px 3px 0 var(--ink)}.respin-row button:hover:not(:disabled){transform:translate(1px,1px);box-shadow:1px 2px 0 var(--ink)}.respin-row button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.respin-row b{display:inline-grid;place-items:center;margin-left:5px;width:20px;height:20px;border-radius:50%;background:var(--yellow);font-size:.62rem}
@media(max-width:768px){
.topbar,main{padding-left:10px;padding-right:10px}.topbar{height:54px;padding-top:7px;padding-bottom:7px}.brand{font-size:1.1rem}.ball{width:36px;height:36px;font-size:.75rem;box-shadow:2px 2px 0 var(--ink)}.database-count{font-size:.57rem;padding:7px 9px}.home-screen{min-height:calc(100dvh - 70px);display:flex;flex-direction:column;justify-content:center;gap:8px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(2.6rem,13vw,4rem);line-height:.88}.hero-copy>p:last-child{display:none}.hero-copy .kicker{margin-bottom:5px}.mode-shell{padding:11px;border-radius:20px;box-shadow:4px 5px 0 var(--ink)}.daily-banner{padding:9px 10px}.daily-banner small{font-size:.62rem}.daily-play{padding:9px;font-size:.65rem}.section-label{margin:10px 3px 6px}.mode-grid{grid-template-columns:repeat(3,1fr);gap:5px}.mode-card{display:block;min-height:74px;padding:8px;text-align:center}.mode-icon{font-size:1.15rem;margin:0 0 4px}.mode-card b{font-size:.68rem}.mode-card small{display:none}.era-ribbon{grid-template-columns:repeat(5,1fr);margin:8px 0;gap:3px;overflow:visible}.era-ribbon span{font-size:.58rem;padding:5px 1px}.setup-row{grid-template-columns:1fr 1fr}.setup-row>div{grid-column:auto}.setup-row label{display:none}input,select{height:41px;font-size:.78rem}.start-button{min-height:47px;margin-top:7px;font-size:.76rem}.draft-top{grid-template-columns:auto 1fr;height:38px;margin:0}.draft-top>div:nth-child(2){justify-self:end}.round-dots{display:none}.draw-result{flex-direction:row;gap:9px;text-align:left}.draw-result>span{font-size:2.8rem}.draw-result b{font-size:.72rem}.draw-result strong{font-size:1rem}.respin-row{margin-top:8px}.respin-row button{min-height:31px;padding:0 8px;font-size:.56rem}.player-grid{grid-template-columns:1fr}.result-actions,.challenge-actions{grid-template-columns:1fr}.mini-roster{grid-template-columns:repeat(5,minmax(85px,1fr));overflow-x:auto}.big-record{text-shadow:3px 4px 0 var(--ink)}footer{display:none}
body.game-active,body.result-active{height:100dvh;overflow:hidden}body.game-active main,body.result-active main{height:calc(100dvh - 54px);padding-top:0;padding-bottom:7px}body.game-active .draft-screen{height:100%;display:flex;flex-direction:column}.draft-layout{min-height:0;flex:1;display:flex;flex-direction:column;gap:6px}.court-panel{position:static;order:-1;padding:7px 8px;border-radius:14px;box-shadow:3px 3px 0 var(--ink)}.court-head{font-size:.58rem}.court-head b{padding:4px 7px}.court{height:auto;margin-top:5px;border:0;border-radius:0;background:none;overflow:visible;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.court:before,.court:after{display:none}.court-slot,.court-slot[data-pos]{position:static;transform:none;width:auto;min-width:0;min-height:50px;padding:4px 2px;border-radius:8px;box-shadow:1px 2px 0 var(--ink)}.court-slot b{font-size:.56rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.court-slot small{font-size:.48rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.court-tip{display:none}.draft-main{min-height:0;flex:1;display:flex;flex-direction:column}.draw-stage{min-height:124px;padding:9px;border-radius:15px;box-shadow:3px 3px 0 var(--ink);flex:0 0 auto}.draw-stage:before,.draw-stage:after{width:90px;height:90px;border-width:10px}.draw-overline{font-size:.55rem}.draw-question{font-size:3.3rem}.reveal-button{min-height:41px;font-size:.7rem;padding:0 13px;box-shadow:2px 3px 0 rgba(255,255,255,.75)}.players-wrap{min-height:0;flex:1;display:flex;flex-direction:column;margin-top:7px}.players-head{margin:0 2px 6px;flex:0 0 35px}.players-head .kicker{display:none}.players-head h2{font-size:1.05rem}.players-head>span{font-size:.58rem}.player-grid{min-height:0;flex:1;display:flex;gap:9px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:1px 5px 6px}.player-grid::-webkit-scrollbar{display:none}.player-card{flex:0 0 calc(100vw - 32px);height:100%;min-height:0;scroll-snap-align:center;padding:10px;border-radius:15px;box-shadow:3px 4px 0 var(--ink);overflow:hidden}.player-card:hover{transform:none;box-shadow:3px 4px 0 var(--ink)}.initials{width:39px;height:39px}.player-name{font-size:.88rem}.player-meta{font-size:.58rem}.ovr{font-size:1.35rem}.stat-line{margin-top:8px}.stat-line span{padding:5px 1px}.abilities{margin-top:7px}.ability{padding:3px 6px}.assign-row{margin-top:7px}.assign{padding:6px 7px}.result-screen{height:100%;display:flex;flex-direction:column}.result-hero{padding:5px 8px 10px;flex:0 0 auto}.result-hero h1{font-size:1.45rem}.result-hero .kicker{margin-bottom:2px}.big-record{font-size:4.6rem;margin:6px 0;text-shadow:3px 3px 0 var(--ink)}.result-hero>p:not(.kicker){font-size:.72rem;margin:5px}.rating-pill{padding:6px 9px;font-size:.6rem}.result-grid{display:flex;min-height:0;flex:1;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:9px;padding:2px 4px 8px;scrollbar-width:none}.result-grid::-webkit-scrollbar{display:none}.result-card{flex:0 0 calc(100vw - 28px);height:100%;scroll-snap-align:center;padding:11px;box-shadow:3px 4px 0 var(--ink);overflow:hidden}.final-five{gap:4px;margin-top:7px}.final-player{padding:5px}.rating-row{margin:8px 0}.ability-cloud{margin-top:9px}.versus-card{flex:0 0 auto;padding:8px;margin-top:4px}.versus-card b{font-size:1.2rem}.result-actions{display:grid;grid-template-columns:1fr auto;flex:0 0 auto;margin-top:7px}.result-actions .start-button,.result-actions .ghost-button{min-height:43px}
}

/* Async head-to-head rooms, spectating and reveal ceremony */
.football-link{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:8px;padding:10px 14px;text-decoration:none;color:var(--ink);background:#b8eee2;border:2px solid var(--ink);border-radius:11px;font-size:.8rem;font-weight:950}.football-link small{display:block;font-size:.65rem;font-weight:700}.football-link strong{white-space:nowrap;font-size:.72rem}
.recap-play-link{display:inline-block;margin-top:10px;padding:8px 13px;border:2px solid var(--ink);border-radius:9px;background:var(--yellow);color:var(--ink);text-decoration:none;font-weight:900;font-size:.75rem}
.waiting-screen,.reveal-screen{max-width:920px;margin:24px auto}.waiting-card{border:3px solid var(--ink);border-radius:26px;background:linear-gradient(145deg,var(--yellow),#fff8d3);padding:clamp(20px,5vw,48px);box-shadow:var(--shadow);text-align:center}.waiting-card h1{font-size:clamp(2.2rem,7vw,5rem);margin:8px 0}.waiting-card>p{font-family:system-ui,sans-serif;font-weight:750}.waiting-score{display:inline-flex;align-items:center;gap:15px;border:3px solid var(--ink);border-radius:16px;background:#fff;padding:10px 16px;margin:12px}.waiting-score small{font-size:.62rem;font-weight:1000}.waiting-score b{font-size:2rem}.spectator-five{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:18px 0}.spectator-pick{min-height:90px;border:2px solid var(--ink);border-radius:12px;background:rgba(255,255,255,.65);padding:8px;display:flex;flex-direction:column;justify-content:center;transition:.3s}.spectator-pick.live{background:var(--green);animation:pick-land .45s both}.spectator-pick span,.spectator-pick b,.spectator-pick small{display:block}.spectator-pick span{font-size:.58rem;font-weight:1000}.spectator-pick b{font-family:system-ui,sans-serif;font-size:.72rem;margin:6px 0}.spectator-pick small{font-size:.55rem}.waiting-actions{display:grid;grid-template-columns:1fr auto;gap:9px}.waiting-actions .start-button{margin:0}.waiting-actions .ghost-button{min-width:120px}.reveal-screen{position:relative;min-height:calc(100dvh - 100px);display:grid;place-items:center}.reveal-stage{width:100%;text-align:center}.reveal-count{font-size:clamp(8rem,30vw,18rem);line-height:.8;color:var(--orange);text-shadow:7px 8px 0 var(--ink);font-weight:1000}.reveal-stage h1{font-size:clamp(2.4rem,8vw,5.5rem);margin:12px}.reveal-skip{position:fixed;z-index:4;right:18px;top:72px;border:2px solid var(--ink);border-radius:99px;background:#fff;padding:9px 12px;font-weight:1000}.reveal-teams{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reveal-squad{border:3px solid var(--ink);border-radius:18px;background:#fff;padding:12px;box-shadow:4px 5px 0 var(--ink)}.reveal-squad h2{margin:0 0 8px}.reveal-player{opacity:0;transform:translateY(12px);border-top:1px solid var(--ink);padding:6px;font-family:system-ui,sans-serif;font-weight:850}.reveal-player.shown{opacity:1;transform:none;transition:.3s}.reveal-records{display:flex;justify-content:center;gap:50px;margin:16px;font-size:clamp(2.5rem,10vw,6rem);font-weight:1000}.winner-banner,.recap-verdict{border:3px solid var(--ink);border-radius:16px;background:var(--orange);color:#fff;padding:12px 16px;font-weight:1000;box-shadow:4px 5px 0 var(--ink)}.winner-banner{font-size:clamp(1.4rem,6vw,3rem);opacity:0}.winner-banner.shown{opacity:1;animation:pick-land .5s both}.recap-verdict{display:inline-block;margin-bottom:8px;font-size:.8rem}.challenge-box label{display:block;margin:18px 0 6px;font-size:.65rem;font-weight:1000}.start-button:disabled{opacity:.55;cursor:wait}.spectator-pick:nth-child(2n){transform:rotate(1deg)}
@keyframes pick-land{from{transform:translateY(18px) rotate(-2deg);opacity:0}to{transform:none;opacity:1}}
@media(max-width:768px){.waiting-screen,.reveal-screen{margin:6px auto}.waiting-card{padding:16px 10px;border-radius:18px}.waiting-card h1{font-size:2.25rem}.spectator-five{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.spectator-pick{min-height:76px;padding:4px}.spectator-pick b{font-size:.55rem;overflow:hidden;text-overflow:ellipsis}.spectator-pick small{display:none}.waiting-actions{grid-template-columns:1fr}.reveal-screen{min-height:calc(100dvh - 64px)}.reveal-teams{gap:6px}.reveal-squad{padding:7px}.reveal-player{font-size:.66rem;padding:5px 2px}.reveal-records{gap:24px}.reveal-skip{top:60px;right:8px}.challenge-screen{margin:12px auto}.challenge-box{padding:22px 16px}.challenge-box h1{font-size:2.35rem}}

/* Mobile-first home and stable post-spin draft board */
.count-mobile{display:none}
.players-wrap .player-grid{transition:opacity .2s ease,filter .2s ease}
.players-wrap.updating .player-grid{opacity:.35;filter:saturate(.5);pointer-events:none}
body.board-mode .draw-stage.revealing .draw-reel{animation:board-reel .22s steps(2,end) infinite}
@keyframes board-reel{50%{transform:translateY(-2px);filter:brightness(.85)}}

@media(max-width:768px){
  .count-wide{display:none}
  .count-mobile{display:inline}

  .home-screen{
    min-height:calc(100dvh - 64px);
    display:grid;
    grid-template-rows:auto auto;
    align-content:center;
    gap:14px;
    padding-top:8px;
    padding-bottom:18px;
  }
  .hero-copy{padding:0 4px;text-align:left}
  .hero-copy .kicker{font-size:.7rem;margin-bottom:6px}
  .hero-copy h1{font-size:2.45rem;line-height:.91;letter-spacing:-.065em}
  .hero-copy h1 em{display:inline;color:var(--orange);text-shadow:2px 2px 0 var(--ink)}
  .hero-copy>p:last-child{display:none}

  .mode-shell{padding:12px;border:2px solid var(--ink);border-radius:18px;box-shadow:4px 4px 0 var(--ink)}
  .daily-banner{min-height:58px;padding:8px 9px;border:2px solid var(--ink);border-radius:11px}
  .daily-banner b{font-size:.78rem}
  .daily-banner small{font-size:.65rem}
  .daily-play{padding:8px 9px;border-radius:8px;font-size:.65rem}
  .section-label{text-align:center;margin:9px 0 6px;font-size:.62rem}
  .mode-grid{gap:6px}
  .mode-card{min-height:65px;padding:7px;border:2px solid var(--ink);border-radius:10px;box-shadow:none}
  .mode-card.selected{transform:none;box-shadow:2px 2px 0 var(--ink)}
  .mode-icon{font-size:1rem;margin-bottom:3px}
  .mode-card b{font-size:.66rem}
  .era-ribbon{display:none}
  .setup-row{margin-top:9px;grid-template-columns:1fr}
  .setup-row>div{grid-column:1}
  input,select{height:42px;border-radius:9px}
  .start-button{min-height:48px;border-width:2px;border-radius:10px;box-shadow:3px 3px 0 var(--ink)}

  body.game-active .toast{top:62px;bottom:auto}
}

/* Compact comparison list: the roster, not decorative chrome, owns the draft. */
.draw-stage{min-height:190px}
.players-wrap{margin-top:16px}
.player-grid{display:flex;flex-direction:column;gap:8px}
.player-card{min-height:0;display:grid;grid-template-columns:minmax(210px,1.05fr) minmax(270px,1.15fr) minmax(170px,.8fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:15px;box-shadow:3px 4px 0 var(--ink);overflow:visible}
.player-card:hover{transform:translateX(3px);box-shadow:1px 3px 0 var(--ink)}
.player-top{min-width:0}
.player-identity{min-width:0}
.initials{width:42px;height:42px;flex:0 0 auto}
.player-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-line{margin-top:0}
.abilities{margin-top:0}
.assign-row{margin-top:0;justify-content:flex-end}
.assign{white-space:nowrap}
.final-player{grid-template-columns:35px 1fr}

@media(max-width:1100px) and (min-width:769px){
  .player-card{grid-template-columns:minmax(190px,.9fr) minmax(240px,1fr) minmax(150px,.75fr)}
  .assign-row{grid-column:1/-1;justify-content:flex-start}
}

@media(max-width:768px){
  .draw-stage{min-height:108px;padding:7px}
  .players-wrap{margin-top:5px}
  .players-head{flex-basis:31px;margin-bottom:3px}
  .player-grid{min-height:0;flex:1;display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;scrollbar-width:thin;padding:1px 4px 7px}
  .player-card{flex:none;width:100%;height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:8px;border-radius:12px;box-shadow:2px 3px 0 var(--ink);overflow:visible}
  .player-card:hover{transform:none;box-shadow:2px 3px 0 var(--ink)}
  .player-top{grid-column:1/2}
  .initials{width:36px;height:36px}
  .player-name{font-size:.82rem}
  .player-meta{font-size:.56rem}
  .stat-line{grid-column:1/-1;margin:0}
  .stat-line span{padding:4px 1px}
  .abilities{grid-column:1/-1;margin:0}
  .ability{padding:3px 5px;font-size:.52rem}
  .assign-row{grid-column:2/3;grid-row:1/2;align-self:center;justify-content:flex-end;max-width:120px;margin:0}
  .assign{padding:6px;font-size:.56rem}
}

.draft-main{position:relative}
.draw-stage.revealing{animation:draw-charge .82s cubic-bezier(.2,.8,.2,1)}
.draw-stage.revealing .draw-overline{animation:blink .18s steps(2,end) infinite}
.draw-stage.revealing .draw-question{font-size:clamp(1.4rem,6vw,3.8rem);letter-spacing:.18em;animation:reel .2s steps(2,end) infinite}
.draw-stage.revealed .draw-result{animation:team-slam .42s cubic-bezier(.16,1.35,.35,1)}
.draw-stage.respinning .draw-result{animation:card-out .45s ease both}
@keyframes draw-charge{0%{transform:scale(.98);filter:saturate(.6)}45%{transform:scale(1.015);filter:saturate(1.5)}100%{transform:none;filter:none}}
@keyframes reel{50%{transform:translateY(-5px);opacity:.45}}
@keyframes blink{50%{opacity:.35}}
@keyframes team-slam{0%{opacity:0;transform:scale(1.35) rotate(-3deg)}100%{opacity:1;transform:none}}
@keyframes card-out{to{opacity:0;transform:translateX(60px) rotate(4deg)}}

.respin-row{align-items:center;justify-content:center;flex-wrap:wrap}
.respin-row button{display:flex;align-items:center;gap:5px}
.respin-row small{flex-basis:100%;font-family:system-ui,sans-serif;font-size:.62rem;font-weight:800;opacity:.72}
.player-card.selected{background:#fff5b8;box-shadow:0 0 0 4px var(--orange),4px 5px 0 var(--ink);transform:translateX(3px)}
.player-card.selected .assign{background:var(--ink);color:#fff}
.pick-confirm{position:sticky;z-index:8;bottom:10px;margin-top:10px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;border:3px solid var(--ink);border-radius:16px;background:var(--yellow);padding:10px 12px;box-shadow:5px 6px 0 var(--ink);animation:confirm-in .2s ease}
.pick-confirm>div:first-child small,.pick-confirm>div:first-child b,.pick-confirm>div:first-child span{display:block}
.pick-confirm>div:first-child small{font-size:.58rem;font-weight:1000;letter-spacing:.12em}
.pick-confirm>div:first-child b{font-family:system-ui,sans-serif;font-size:1rem;margin:2px 0}
.pick-confirm>div:first-child span{font-size:.68rem;font-weight:900}
.confirm-actions{display:flex;gap:7px}
.slot-choices{display:flex;gap:6px}
.slot-choices button{min-width:42px;min-height:38px;border:2px solid var(--ink);border-radius:8px;background:#fff;font-size:.7rem;font-weight:1000}
.slot-choices button.selected{background:var(--orange)}
.pick-confirm{grid-template-columns:minmax(0,1fr) auto auto}
.confirm-actions button{min-height:42px;border:2px solid var(--ink);border-radius:10px;padding:0 12px;font-size:.68rem;font-weight:1000}
.confirm-cancel{background:#fff}
.confirm-lock{background:var(--orange);box-shadow:2px 3px 0 var(--ink)}
.confirm-lock:hover{transform:translate(1px,1px);box-shadow:1px 2px 0 var(--ink)}
@keyframes confirm-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:768px){
  .draw-stage.revealing .draw-question{font-size:1.15rem}
  .respin-row{gap:4px;margin-top:6px}
  .respin-row button{min-height:30px;padding:0 6px;font-size:.5rem}
  .respin-row small{display:none}
  .pick-confirm{position:static;flex:0 0 auto;margin:5px 1px 2px;padding:7px 8px;gap:7px;border-radius:12px;box-shadow:2px 3px 0 var(--ink)}
  .pick-confirm>div:first-child b{font-size:.78rem}
  .pick-confirm>div:first-child span{font-size:.55rem}
  .confirm-actions{gap:4px}
  .confirm-actions button{min-height:36px;padding:0 8px;font-size:.56rem}
}

@media(prefers-reduced-motion:reduce){.draw-stage.revealing,.draw-stage.revealing .draw-overline,.draw-stage.revealing .draw-question,.draw-stage.revealed .draw-result,.draw-stage.respinning .draw-result,.pick-confirm{animation:none}}

.postgame-scout{margin-top:14px;border:3px solid var(--ink);border-radius:18px;background:var(--blue);padding:13px;box-shadow:4px 5px 0 var(--ink)}
.postgame-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.postgame-head .kicker{margin:0 0 3px}
.postgame-head h2{margin:0;font-size:1.1rem}
.postgame-head .ghost-button{min-height:42px;font-size:.65rem}
.result-opponent-roster{margin:11px 0 8px}
.watch-button{width:100%;min-height:44px;border:2px solid var(--ink);border-radius:11px;background:var(--ink);color:#fff;font-weight:1000;font-size:.72rem}
.watch-button:disabled{opacity:.65;cursor:wait}
.result-opponent-roster .mini-slot{transition:.22s ease}
.result-opponent-roster .mini-slot.watch-active{background:var(--yellow);transform:translateY(-4px);box-shadow:2px 3px 0 var(--ink)}

@media(max-width:768px){
  .court-head span{font-size:.53rem}
  .postgame-scout{flex:0 0 auto;margin-top:5px;padding:7px;border-radius:13px;box-shadow:2px 3px 0 var(--ink)}
  .postgame-head h2{font-size:.78rem}
  .postgame-head .kicker{display:none}
  .postgame-head .ghost-button{min-height:34px;padding:0 8px;font-size:.54rem}
  .result-opponent-roster{grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;margin:7px 0 5px;gap:3px}
  .result-opponent-roster .mini-slot{min-width:0;min-height:58px;padding:4px;overflow:hidden}
  .result-opponent-roster .mini-slot b,.result-opponent-roster .mini-slot small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .watch-button{min-height:35px;font-size:.58rem}
  .postgame-scout .watch-status{margin:4px 0 0;font-size:.56rem}
}

.result-actions{grid-template-columns:minmax(0,1fr) auto auto}
.challenge-button{background:var(--orange)}
@media(max-width:768px){
  .result-actions{grid-template-columns:1fr 1fr;gap:6px}
  .result-actions .challenge-button{grid-column:1/-1}
  .result-actions .ghost-button{padding:0 8px;font-size:.62rem}
}

.draw-season-line{display:flex;align-items:center;gap:8px;margin-top:5px}
.draw-season-line strong{margin:0}
.draw-season-line em{display:inline-block;border:2px solid var(--ink);border-radius:99px;background:#fff;padding:4px 7px;font-family:system-ui,sans-serif;font-size:.63rem;font-style:normal;font-weight:950;white-space:nowrap;box-shadow:1px 2px 0 var(--ink)}

/* Phone-first draft density: three useful roster rows remain visible at once. */
@media(max-width:768px){
  .court-panel{padding:5px 7px}
  .court{margin-top:3px;gap:3px}
  .court-slot,.court-slot[data-pos]{min-height:42px;padding:3px 1px;border-width:1.5px}
  .court-slot b{font-size:.52rem}
  .court-slot small{font-size:.44rem}
  .draw-stage{min-height:94px;padding:5px 7px}
  .draw-result{gap:7px}
  .draw-result>span{font-size:2.45rem}
  .draw-result b{font-size:.67rem}
  .draw-season-line{gap:5px;margin-top:2px}
  .draw-result strong{font-size:.86rem}
  .draw-season-line em{border-width:1.5px;padding:3px 5px;font-size:.5rem;box-shadow:1px 1px 0 var(--ink)}
  .respin-row{margin-top:4px}
  .respin-row button{min-height:26px;border-width:1.5px;padding:0 5px;font-size:.46rem;box-shadow:1px 2px 0 var(--ink)}
  .respin-row b{width:16px;height:16px;margin-left:2px;font-size:.49rem}
  .players-head{flex-basis:25px;margin:0 1px 2px}
  .players-head h2{font-size:.92rem}
  .players-head>span{font-size:.51rem}
  .player-grid{gap:5px;padding:1px 3px 6px}
  .player-card{grid-template-columns:minmax(0,1fr) auto;gap:3px 5px;padding:5px 6px;border-width:2px;border-radius:10px;box-shadow:1px 2px 0 var(--ink)}
  .player-card:hover{box-shadow:1px 2px 0 var(--ink)}
  .player-identity{gap:6px}
  .initials{width:29px;height:29px;border-width:1.5px;border-radius:7px;font-size:.58rem}
  .player-name{font-size:.74rem}
  .player-meta{font-size:.49rem;margin-top:1px}
  .assign-row{gap:3px;max-width:none}
  .assign{min-height:26px;padding:3px 6px;border-width:1.5px;border-radius:7px;font-size:.52rem}
  .stat-line{height:29px;border-width:1.5px;border-radius:7px}
  .stat-line span{display:flex;align-items:baseline;justify-content:center;gap:2px;padding:1px;font-size:.42rem}
  .stat-line b{display:inline;font-size:.63rem;margin:0}
  .abilities{min-width:0;flex-wrap:nowrap;gap:3px;overflow:hidden}
  .ability{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 4px;border-width:1px;font-size:.43rem}
  .player-card.selected{box-shadow:0 0 0 2px var(--orange),2px 3px 0 var(--ink);transform:none}
}

/* Arcade draft board, informed by the speed and hierarchy of the original game. */
.player-skill{display:none}
.roster-columns{display:none}
.draw-reel{display:grid;place-items:center;min-width:210px;padding:12px;border:3px solid var(--ink);border-radius:14px;background:#fff}
.draw-reel small,.draw-reel strong,.draw-reel em{display:block}
.draw-reel small{font-size:.72rem;font-weight:1000;letter-spacing:.1em}
.draw-reel strong{font-size:2rem}
.draw-reel em{font-family:system-ui,sans-serif;font-size:.72rem;font-style:normal;font-weight:800}

@media(max-width:768px){
  body.game-active{background:#030c11;color:#f5f7fa}
  body.game-active .topbar{background:#030c11;border-bottom:1px solid #172936}
  body.game-active .brand{color:#fff}
  body.game-active .database-count{color:#a9b6c2;background:#08151d;border-color:#294253;box-shadow:none}
  body.game-active main{padding-left:8px;padding-right:8px;padding-bottom:5px}
  body.game-active .draft-screen{max-width:520px;margin:0 auto}
  .draft-top{height:34px;color:#fff}
  .back-link{color:#d8e1e8;font-size:.75rem}
  .mode-chip{padding:4px 7px;border-color:#6f3eff;background:#15102d;font-size:.7rem}
  #round-label{font-size:.75rem;letter-spacing:.04em}
  .draft-layout{gap:0;overflow:hidden}
  .draft-main{display:contents}
  .draw-stage{order:1;min-height:112px;padding:6px 8px;border:1px solid #223845;border-radius:8px;background:#07131a;box-shadow:inset 0 0 22px rgba(31,126,161,.08);overflow:visible}
  .draw-stage:before,.draw-stage:after{display:none}
  .draw-overline{font-size:.7rem;letter-spacing:.12em;color:#aab8c2}
  .draw-question{font-size:2.6rem;color:#ff7a22;text-shadow:0 0 18px rgba(255,122,34,.5)}
  .reveal-button{width:100%;min-height:46px;margin-top:6px;border:1px solid #ff913f;border-radius:7px;background:linear-gradient(#ff922f,#e75a0d);box-shadow:0 0 18px rgba(255,112,25,.22);font-size:.8rem;letter-spacing:.04em}
  .draw-result{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px;text-align:center}
  .draw-reel{position:relative;display:grid;place-items:center;min-width:0;min-height:60px;border:2px solid currentColor;border-radius:8px;background:#0a1117;box-shadow:inset 0 0 15px rgba(255,255,255,.04),0 0 14px color-mix(in srgb,currentColor 30%,transparent);overflow:hidden}
  .draw-reel:before,.draw-reel:after{content:"";position:absolute;left:5px;right:5px;height:1px;background:currentColor;opacity:.35}
  .draw-reel:before{top:14px}.draw-reel:after{bottom:14px}
  .team-reel{color:#ff7a22}.period-reel{color:#a54bff}
  .draw-reel small{position:absolute;top:2px;font-size:.68rem;font-weight:1000;letter-spacing:.08em}
  .draw-reel strong{font-size:1.35rem;line-height:1;color:#fff;text-shadow:0 0 10px currentColor;margin-top:4px}
  .draw-reel em{position:absolute;bottom:2px;max-width:95%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:system-ui,sans-serif;font-size:.65rem;font-style:normal;font-weight:800;color:#d9e1e7}
  .respin-row{width:100%;gap:7px;margin-top:5px;flex-wrap:nowrap}
  .respin-row button{flex:1;justify-content:center;min-height:27px;padding:0 5px;border:1px solid currentColor;border-radius:6px;background:#101820;box-shadow:none;font-size:.63rem;color:#ff8a30}
  .respin-row button:nth-child(2){color:#b95eff}
  .respin-row b{width:17px;height:17px;background:currentColor;color:#07131a;font-size:.61rem}
  .court-panel{order:2;min-height:0;flex:1;padding:5px 4px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff}
  .court-head{padding:0 4px;font-size:.7rem;color:#aab8c2}
  .court-head b{padding:3px 7px;border:1px solid #ff7a22;background:#111820;color:#fff;font-size:.68rem;box-shadow:0 0 10px rgba(255,122,34,.2)}
  .court{position:relative;display:block;height:calc(100% - 25px);min-height:250px;margin-top:4px;border:1px solid #28404f;border-radius:3px;background:linear-gradient(180deg,rgba(13,34,45,.78),rgba(4,15,21,.98));overflow:hidden;box-shadow:inset 0 0 40px rgba(0,0,0,.6)}
  .court:before{display:block;left:50%;top:-1px;width:116px;height:70px;border:1px solid #385361;border-top:0;opacity:.8}
  .court:after{display:block;left:50%;top:63px;width:74px;height:34px;border:1px solid #385361;border-radius:0 0 80px 80px;opacity:.8}
  .court-slot,.court-slot[data-pos]{position:absolute;width:76px;min-height:45px;padding:4px 3px;border:1px solid #3a4d59;border-radius:7px;background:#0b1820;color:#eef4f8;transform:none;text-align:center;box-shadow:none}
  .court-slot:not(.empty){border-color:var(--slot-accent);box-shadow:0 0 13px color-mix(in srgb,var(--slot-accent) 45%,transparent),inset 0 0 10px rgba(255,255,255,.04)}
  .court-slot b{font-size:.68rem;line-height:1.05;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .court-slot small{font-size:.61rem;color:#9fb0bb}
  .court-slot.empty{background:rgba(8,20,27,.86);border-style:dashed;color:#567080}
  .court-slot.empty b{font-size:1.1rem;color:#698291;margin:0}
  .court-slot[data-pos="C"]{left:16%;top:28%}
  .court-slot[data-pos="PF"]{right:16%;top:28%}
  .court-slot[data-pos="SF"]{left:5%;bottom:17%}
  .court-slot[data-pos="SG"]{right:5%;bottom:17%}
  .court-slot[data-pos="PG"]{left:50%;bottom:4px;transform:translateX(-50%)}
  .players-wrap{order:3;min-height:0;flex:1;margin:0;border-top:1px solid #1d9ad1;background:#071017;color:#fff;overflow:hidden}
  body.game-active.choosing-player .court-panel{display:none}
  .players-head{height:31px;flex-basis:31px;margin:0;padding:4px 5px;align-items:center;border-bottom:1px solid #172a36}
  .players-head .kicker{display:none}
  .players-head h2{font-size:.78rem;letter-spacing:.02em;color:#f3f7fa}
  .players-head>span{font-size:.67rem;color:#91a5b2}
  .roster-columns{display:grid;grid-template-columns:1fr auto;gap:8px;padding:3px 5px;border-bottom:1px solid #172a36;font-family:system-ui,sans-serif;font-size:.61rem;font-weight:900;color:#647b89;letter-spacing:.04em}
  .roster-columns span:nth-child(2){display:none}.roster-columns span:last-child{text-align:right}
  .player-grid{min-height:0;flex:1;gap:0;padding:0;overflow-y:auto;background:#071017}
  .player-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 7px;width:100%;padding:6px 5px;border:0;border-bottom:1px solid #182a35;border-radius:0;background:transparent;color:#fff;box-shadow:none}
  .player-card:hover{box-shadow:none}
  .player-top{grid-column:1;grid-row:1;min-width:0}
  .player-identity{gap:0}
  .initials{display:none}
  .player-name{font-size:.79rem;color:#f5f7f9}
  .player-meta{display:inline;margin:0 0 0 6px;font-size:.64rem;color:#7f95a3}
  .player-skill{display:block;margin-top:2px;font-family:system-ui,sans-serif;font-size:.62rem;font-weight:750;color:var(--card-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .stat-line{grid-column:1;grid-row:2;width:min(100%,245px);height:20px;border:0;border-radius:0;background:transparent}
  .stat-line span{gap:0;padding:0;border:0;font-size:0;color:#6f8593}
  .stat-line b{font-size:.7rem;color:#d6e0e6}
  .abilities{display:none}
  .assign-row{grid-column:2;grid-row:1/3;align-self:center;display:flex;gap:4px;max-width:none}
  .assign{min-width:35px;min-height:31px;padding:3px 5px;border:1px solid var(--card-accent);border-radius:6px;background:#101a21;color:#fff;font-size:.7rem;box-shadow:0 0 9px color-mix(in srgb,var(--card-accent) 25%,transparent)}
  .assign:hover{background:var(--card-accent);color:#071017}
  .player-card.selected{background:#14212a;box-shadow:inset 3px 0 0 var(--orange);transform:none}
  .player-card.selected .assign{background:var(--orange);color:#071017}
  .pick-confirm{position:fixed;left:8px;right:8px;bottom:8px;z-index:25;margin:0;padding:7px 8px;border:1px solid #ff8b2d;border-radius:8px;background:#0d171e;color:#fff;box-shadow:0 0 22px rgba(255,116,26,.32)}
  .pick-confirm>div:first-child small{font-size:.61rem;color:#ff9c4a}
  .pick-confirm>div:first-child b{font-size:.78rem;color:#fff}
  .pick-confirm>div:first-child span{font-size:.63rem;color:#9eb0bb}
  .confirm-actions button{min-height:34px;border-width:1px;border-radius:6px;font-size:.66rem}
  .confirm-cancel{background:#17242d;color:#dce5ea}
  .confirm-lock{background:#ff7a22;color:#071017;box-shadow:none}
}

/* Keep the game inside the same bright retro system as Basketball Challenge. */
@media(max-width:768px){
  body.game-active{background:radial-gradient(circle at 10% 0,#fff1a8 0,transparent 24rem),radial-gradient(circle at 100% 30%,#d6cfff 0,transparent 27rem),var(--cream);color:var(--ink)}
  body.game-active .topbar{background:transparent;border-bottom:0}
  body.game-active .brand{color:var(--ink)}
  body.game-active .database-count{color:var(--ink);background:var(--paper);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}
  .draft-layout{width:100%;align-items:stretch}
  .draw-stage,.court-panel,.players-wrap{width:100%}
  .draft-top{color:var(--ink)}
  .back-link{color:var(--ink)}
  .mode-chip{border:2px solid var(--ink);background:var(--purple);color:#fff}
  .draw-stage{border:2px solid var(--ink);border-radius:13px;background:linear-gradient(135deg,#fff4a9,#efe9ff);box-shadow:3px 3px 0 var(--ink)}
  .draw-overline{color:var(--ink)}
  .draw-question{color:var(--orange);text-shadow:2px 2px 0 var(--ink)}
  .reveal-button{border:2px solid var(--ink);border-radius:9px;background:var(--orange);color:var(--ink);box-shadow:2px 3px 0 var(--ink)}
  .draw-reel{background:#fff;box-shadow:2px 2px 0 var(--ink)}
  .draw-reel strong{color:var(--ink);text-shadow:none}
  .draw-reel em{color:#514b69}
  .team-reel{color:var(--orange)}
  .period-reel{color:var(--purple)}
  .respin-row button{border:2px solid var(--ink);background:#fff;color:var(--ink);box-shadow:1px 2px 0 var(--ink)}
  .respin-row button:first-child{background:#ffe0ce}
  .respin-row button:nth-child(2){background:#e9e2ff;color:var(--ink)}
  .respin-row b{background:var(--yellow);color:var(--ink);border:1px solid var(--ink)}
  .court-panel{border:2px solid var(--ink);border-radius:13px;background:var(--green);box-shadow:3px 3px 0 var(--ink);color:var(--ink)}
  .court-head{color:var(--ink)}
  .court-head b{border:2px solid var(--ink);background:#fff;color:var(--ink);box-shadow:none}
  .court{border:2px solid var(--ink);border-radius:110px 110px 10px 10px;background:linear-gradient(90deg,rgba(255,255,255,.18) 49.5%,var(--ink) 50%,rgba(255,255,255,.18) 50.5%);box-shadow:none}
  .court:before{border-color:var(--ink)}
  .court:after{border-color:var(--ink)}
  .court-slot,.court-slot[data-pos]{border:2px solid var(--ink);background:#fff;color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
  .court-slot:not(.empty){border-color:var(--ink);background:var(--slot-accent);box-shadow:2px 2px 0 var(--ink)}
  .court-slot small{color:#4e4964}
  .court-slot.empty{background:rgba(255,255,255,.7);color:var(--ink);border-style:solid}
  .court-slot.empty b{color:#668f75}
  .court-slot.eligible{background:var(--yellow);border-color:var(--ink);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--orange);animation:slot-pulse .85s ease-in-out infinite alternate}
  .court-slot.preview{background:var(--orange);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink);animation:none}
  body.game-active.board-mode .court-panel{display:block;flex:0 0 81px;padding:4px 5px;border-radius:10px;box-shadow:2px 2px 0 var(--ink)}
  body.game-active.board-mode .court-head{height:18px;padding:0 2px;font-size:.64rem}
  body.game-active.board-mode .court-head b{padding:2px 5px;font-size:.61rem}
  body.game-active.board-mode .court{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;height:51px;min-height:0;margin-top:3px;border:0;border-radius:0;background:none;overflow:visible}
  body.game-active.board-mode .court:before,body.game-active.board-mode .court:after{display:none}
  body.game-active.board-mode .court-slot,body.game-active.board-mode .court-slot[data-pos]{position:static;transform:none;width:auto;min-width:0;min-height:49px;padding:3px 1px;border-radius:7px}
  body.game-active.board-mode .court-slot b{font-size:.58rem}
  body.game-active.board-mode .court-slot small{font-size:.55rem}
  .players-wrap{border:2px solid var(--ink);border-radius:10px 10px 0 0;background:var(--paper);color:var(--ink)}
  .players-head{border-bottom:1px solid var(--ink);background:#f5f1ff}
  .players-head h2{color:var(--ink)}
  .players-head>span{color:#625b78}
  .roster-columns{grid-template-columns:minmax(0,1fr) minmax(165px,1.1fr) 56px;padding:4px 6px;border-bottom:1px solid var(--ink);background:#ece7ff;color:#514b69;font-size:.62rem}
  .roster-columns span:nth-child(2){display:block;text-align:center}
  .roster-columns span:last-child{text-align:right}
  .player-grid{background:var(--paper)}
  .player-card{border-bottom:1px solid #d9d3e7;background:#fff;color:var(--ink)}
  .player-card:nth-child(even){background:#fffaf0}
  .player-name{color:var(--ink)}
  .player-meta{color:#68617d}
  .player-skill{color:#6b45c7}
  .stat-line{width:min(100%,255px);height:28px}
  .stat-line span{display:grid;place-items:center;gap:0;padding:0;border:0;font-size:.54rem;line-height:1;color:#6a647b}
  .stat-line b{display:block;font-size:.71rem;line-height:1;color:var(--ink)}
  .assign{min-width:55px;min-height:34px;border:2px solid var(--ink);background:var(--blue);color:var(--ink);box-shadow:1px 2px 0 var(--ink)}
  .assign:hover{background:var(--yellow);color:var(--ink)}
  .player-card.selected{background:#fff1a8;box-shadow:inset 4px 0 0 var(--orange)}
  .player-card.selected .assign{background:var(--orange);color:var(--ink)}
  .pick-confirm{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info slots" "actions actions";gap:6px 8px;border:2px solid var(--ink);border-radius:10px;background:var(--yellow);color:var(--ink);box-shadow:3px 4px 0 var(--ink)}
  .pick-confirm>div:first-child{grid-area:info;min-width:0}
  .pick-confirm>div:first-child small{font-size:.63rem;color:#7f3d20}
  .pick-confirm>div:first-child b{font-size:.78rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pick-confirm>div:first-child span{font-size:.64rem;color:#514b69}
  .slot-choices{grid-area:slots;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}
  .slot-choices button{min-width:35px;min-height:29px;border:2px solid var(--ink);border-radius:6px;background:#fff;font-size:.68rem;font-weight:1000}
  .slot-choices button.selected{background:var(--orange)}
  .confirm-actions{grid-area:actions;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .confirm-actions button{width:100%;min-width:0;min-height:33px;border:2px solid var(--ink);color:var(--ink)}
  .confirm-cancel{background:#fff}
  .confirm-lock{background:var(--orange);color:var(--ink);box-shadow:1px 2px 0 var(--ink)}
}

@keyframes slot-pulse{from{transform:scale(.97)}to{transform:scale(1.02)}}

/* Result grade and team score */
.result-scoreboard{display:flex;align-items:stretch;justify-content:center;gap:9px;margin:13px 0 9px}
.result-scoreboard>div{display:flex;align-items:center;gap:9px;min-width:122px;padding:8px 13px;border:3px solid var(--ink);border-radius:14px;background:#fff;box-shadow:3px 4px 0 var(--ink);text-align:left}
.result-scoreboard small{display:block;font-size:.58rem;font-weight:1000;letter-spacing:.1em}
.result-scoreboard b{font-size:1.65rem;line-height:1}
.result-scoreboard em{font-size:.62rem;font-style:normal;margin-left:2px}
.grade-box{background:var(--yellow)!important}
.score-box{background:var(--blue)!important}

@media(max-width:768px){
  .result-scoreboard{gap:6px;margin:5px 0 4px}
  .result-scoreboard>div{min-width:0;padding:5px 9px;border-width:2px;border-radius:9px;box-shadow:2px 2px 0 var(--ink)}
  .result-scoreboard small{font-size:.49rem}
  .result-scoreboard b{font-size:1.05rem}
  .result-scoreboard em{font-size:.48rem}
}

/* Head-to-head hub and persistent rivalry history */
.h2h-home-card{width:100%;min-height:64px;margin-top:10px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:3px solid var(--ink);border-radius:14px;background:var(--purple);color:#fff;box-shadow:3px 4px 0 var(--ink);text-align:left}
.h2h-home-card span,.h2h-home-card b,.h2h-home-card small{display:block}
.h2h-home-card b{font-size:.82rem;letter-spacing:.04em}
.h2h-home-card small{margin-top:3px;font-family:system-ui,sans-serif;font-size:.68rem;font-weight:750}
.h2h-home-card strong{font-size:.68rem;white-space:nowrap}
.challenge-rival-record{display:inline-block;margin:14px 0 2px;padding:8px 11px;border:2px solid var(--ink);border-radius:99px;background:#fff;font-size:.72rem;font-weight:1000;box-shadow:2px 2px 0 var(--ink)}
.rivalry-screen{max-width:1050px;margin:auto}
.rivalry-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.rivalry-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px;border:3px solid var(--ink);border-radius:24px;background:linear-gradient(135deg,var(--yellow),#fff1a8);box-shadow:var(--shadow)}
.rivalry-hero h1{margin:0;font-size:clamp(2rem,5vw,4.5rem);line-height:.92;letter-spacing:-.065em}
.rivalry-hero>div>p:last-child{max-width:560px;margin:12px 0 0;font-family:system-ui,sans-serif;font-weight:700}
.rivalry-overall{min-width:210px;padding:16px;border:3px solid var(--ink);border-radius:18px;background:#fff;text-align:center;box-shadow:3px 4px 0 var(--ink)}
.rivalry-overall small,.rivalry-overall b,.rivalry-overall span{display:block}
.rivalry-overall small{font-size:.62rem;letter-spacing:.1em;font-weight:1000}
.rivalry-overall b{margin:5px 0;font-size:3.2rem;line-height:1;color:var(--orange)}
.rivalry-overall span{font-family:system-ui,sans-serif;font-size:.7rem;font-weight:800}
.rivalry-start{max-width:420px;margin:16px 0}
.h2h-setup{margin-top:14px;padding:14px;border:3px solid var(--ink);border-radius:18px;background:#fff;box-shadow:3px 4px 0 var(--ink)}
.h2h-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px}
.h2h-mode-card{min-height:84px;padding:10px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);text-align:left}
.h2h-mode-card span,.h2h-mode-card b,.h2h-mode-card small{display:block}.h2h-mode-card span{font-size:1.2rem}.h2h-mode-card b{margin-top:4px;font-size:.72rem}.h2h-mode-card small{margin-top:3px;font-family:system-ui,sans-serif;font-size:.63rem;font-weight:700}
.h2h-mode-card.selected{background:var(--blue);box-shadow:2px 3px 0 var(--ink);transform:translateY(-2px)}
.h2h-franchise{margin-top:10px}.h2h-franchise label{margin-bottom:5px}
.rivalry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}
.rival-list,.history-list{display:grid;gap:7px;margin-top:12px}
.rival-row,.history-row{display:grid;align-items:center;gap:9px;border:2px solid var(--ink);border-radius:11px;background:var(--paper);padding:9px}
.rival-row{grid-template-columns:1fr auto}
.history-row{grid-template-columns:78px minmax(0,1fr) auto}
.rival-row b,.rival-row small,.history-row b,.history-row small{display:block;font-family:system-ui,sans-serif}
.rival-row b,.history-row b{font-size:.78rem}
.rival-row small,.history-row small{margin-top:2px;font-size:.61rem;color:#625b78;font-weight:750}
.rival-record{font-size:1.05rem;font-weight:1000}
.history-outcome{display:grid;place-items:center;min-width:64px;padding:6px;border:2px solid var(--ink);border-radius:8px;font-size:.65rem;font-weight:1000}
.history-outcome.win{background:var(--green)}.history-outcome.loss{background:#ffb3b3}.history-outcome.tie{background:var(--yellow)}
.history-score{text-align:right;font-size:.78rem;font-weight:1000}
.rivalry-empty{margin:0;padding:20px;border:2px dashed #aaa3ba;border-radius:11px;text-align:center;font-family:system-ui,sans-serif;font-size:.75rem;font-weight:750;color:#625b78}

@media(max-width:768px){
  .h2h-home-card{min-height:53px;margin-top:7px;padding:7px 9px;border-width:2px;border-radius:10px;box-shadow:2px 2px 0 var(--ink)}
  .h2h-home-card b{font-size:.7rem}.h2h-home-card small{font-size:.57rem}.h2h-home-card strong{font-size:.56rem}
  .rivalry-screen{padding-bottom:20px}
  .rivalry-top{height:36px;margin:0}
  .rivalry-hero{grid-template-columns:1fr auto;gap:8px;padding:11px;border-width:2px;border-radius:14px;box-shadow:3px 3px 0 var(--ink)}
  .rivalry-hero h1{font-size:1.45rem}.rivalry-hero .kicker{margin-bottom:4px}.rivalry-hero>div>p:last-child{display:none}
  .rivalry-overall{min-width:105px;padding:8px;border-width:2px;border-radius:10px;box-shadow:2px 2px 0 var(--ink)}
  .rivalry-overall small{font-size:.48rem}.rivalry-overall b{font-size:1.75rem}.rivalry-overall span{font-size:.54rem}
  .rivalry-start{max-width:none;margin:10px 0}
  .h2h-setup{margin-top:9px;padding:9px;border-width:2px;border-radius:12px;box-shadow:2px 2px 0 var(--ink)}
  .h2h-setup .card-title h2{font-size:.9rem}.h2h-mode-grid{gap:5px;margin-top:7px}.h2h-mode-card{min-height:61px;padding:6px;text-align:center}.h2h-mode-card span{font-size:.9rem}.h2h-mode-card b{font-size:.58rem}.h2h-mode-card small{display:none}.h2h-franchise{margin-top:7px}
  .rivalry-grid{grid-template-columns:1fr;gap:9px}
  .rivalry-grid .result-card{height:auto;min-height:0;overflow:visible;padding:10px}
  .rival-list,.history-list{margin-top:7px;gap:5px}
  .rival-row,.history-row{padding:7px;border-width:1.5px}
  .history-row{grid-template-columns:62px minmax(0,1fr) auto}
}

/* Profile entry and player locker */
.topbar-actions{display:flex;align-items:center;gap:9px}
.profile-button{display:flex;align-items:center;gap:7px;min-height:41px;padding:5px 10px 5px 6px;border:2px solid var(--ink);border-radius:99px;background:#fff;box-shadow:2px 3px 0 var(--ink);font-size:.65rem;font-weight:1000;letter-spacing:.06em}
.profile-dot{display:grid;place-items:center;width:27px;height:27px;border:2px solid var(--ink);border-radius:50%;background:var(--green);font-size:.65rem}
.profile-screen{max-width:940px;margin:auto;padding-bottom:40px}
.profile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.profile-loading,.profile-guest,.profile-account{border:3px solid var(--ink);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.profile-loading{padding:48px;text-align:center;font-size:1rem;font-weight:1000}
.profile-guest{max-width:660px;margin:40px auto;padding:clamp(25px,6vw,54px);text-align:center;background:linear-gradient(145deg,var(--yellow),#fff)}
.profile-avatar{display:grid;place-items:center;width:78px;height:78px;border:3px solid var(--ink);border-radius:50%;background:var(--orange);box-shadow:4px 4px 0 var(--ink);font-size:1.4rem;font-weight:1000}
.profile-guest .profile-avatar{margin:0 auto 18px}.profile-guest h1{margin:4px 0;font-size:clamp(2.4rem,7vw,5rem);line-height:.9;letter-spacing:-.07em}.profile-guest>p:not(.kicker){max-width:520px;margin:16px auto;font-family:system-ui,sans-serif;font-weight:700}.profile-signin{display:flex;align-items:center;justify-content:center;max-width:390px;margin:20px auto 12px;text-decoration:none}.profile-guest>small{font-family:system-ui,sans-serif;font-weight:700;color:#625b78}
.profile-account{padding:22px;background:linear-gradient(145deg,#fff,var(--paper))}
.profile-identity{display:flex;align-items:center;gap:20px}.profile-identity h1{margin:2px 0;font-size:clamp(2rem,5vw,4rem);line-height:.95;letter-spacing:-.06em}.profile-identity p:last-child{margin:6px 0 0;font-family:system-ui,sans-serif;font-size:.72rem;font-weight:700;color:#625b78}
.profile-name-edit{margin:20px 0;padding:13px;border:2px solid var(--ink);border-radius:14px;background:#fff}.profile-name-edit label{margin-bottom:6px}.profile-name-edit>div{display:grid;grid-template-columns:1fr auto;gap:8px}.profile-name-edit button{min-width:130px;border:2px solid var(--ink);border-radius:10px;background:var(--orange);font-size:.72rem;font-weight:1000;box-shadow:2px 2px 0 var(--ink)}
.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.profile-stats>div{padding:13px;border:2px solid var(--ink);border-radius:14px;background:var(--green);box-shadow:2px 3px 0 var(--ink)}.profile-stats>div:nth-child(2){background:var(--blue)}.profile-stats>div:nth-child(3){background:var(--yellow)}.profile-stats>div:nth-child(4){background:#e8ddff}.profile-stats small,.profile-stats b,.profile-stats span{display:block}.profile-stats small{font-size:.57rem;font-weight:1000;letter-spacing:.08em}.profile-stats b{margin:5px 0;font-size:2.2rem;line-height:1}.profile-stats span{font-family:system-ui,sans-serif;font-size:.61rem;font-weight:750}
.profile-identity-card{display:grid;grid-template-columns:1.25fr .75fr;gap:9px;margin-top:12px;padding:12px;border:2px solid var(--ink);border-radius:16px;background:var(--yellow);box-shadow:3px 4px 0 var(--ink)}.profile-style small,.profile-style b,.profile-style span,.profile-tendencies small,.profile-tendencies b,.profile-favorites>small{display:block}.profile-style small,.profile-tendencies small,.profile-favorites>small{font-size:.56rem;font-weight:1000;letter-spacing:.08em}.profile-style b{margin:5px 0;font-size:1.45rem;line-height:1}.profile-style span{font-family:system-ui,sans-serif;font-size:.67rem;font-weight:750}.profile-tendencies{display:grid;grid-template-columns:1fr 1fr;gap:6px}.profile-tendencies>div{padding:8px;border:2px solid var(--ink);border-radius:10px;background:#fff}.profile-tendencies b{margin-top:4px;font-size:1.25rem}.profile-favorites{grid-column:1/-1;padding-top:9px;border-top:2px solid var(--ink)}#profile-favorite-players{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}#profile-favorite-players span{padding:6px 8px;border:2px solid var(--ink);border-radius:99px;background:#fff;font-size:.6rem;font-weight:1000}
.profile-history{margin-top:17px;padding:15px;border:2px solid var(--ink);border-radius:16px;background:#fff}.profile-history-list{display:grid;gap:7px}.profile-signout{display:inline-block;margin-top:18px;color:var(--ink);font-size:.67rem;font-weight:1000}

/* Pick confirmation belongs to the lineup, not over the roster. */
.court-panel .pick-confirm{position:static;inset:auto;width:100%;margin:9px 0 0;bottom:auto}

/* The record runs up first, then the grade and score land like cards. */
.result-screen.verdict-revealing .result-grid,.result-screen.verdict-revealing .daily-result-card,.result-screen.verdict-revealing .versus-card,.result-screen.verdict-revealing .result-actions{opacity:.13;filter:blur(2px);pointer-events:none;transition:opacity .35s ease,filter .35s ease}
.result-screen.verdict-ready .result-grid,.result-screen.verdict-ready .daily-result-card,.result-screen.verdict-ready .versus-card,.result-screen.verdict-ready .result-actions{animation:result-rest-in .38s ease both}
.big-record.record-rush{animation:record-rush .24s ease-in-out infinite alternate}
.grade-box,.score-box{transform-origin:center;backface-visibility:hidden}
.result-screen.verdict-revealing .grade-box,.result-screen.verdict-revealing .score-box{opacity:.2;transform:rotateY(90deg) scale(.75)}
.grade-box.grade-pop{animation:grade-pop .65s cubic-bezier(.2,1.55,.35,1) both}
.score-box.score-pop{animation:score-pop .55s cubic-bezier(.2,1.45,.35,1) both}
@keyframes record-rush{from{transform:scale(.97) rotate(-.4deg)}to{transform:scale(1.025) rotate(.4deg)}}
@keyframes grade-pop{0%{opacity:.2;transform:rotateY(90deg) scale(.75)}65%{opacity:1;transform:rotateY(-12deg) scale(1.13)}100%{opacity:1;transform:none}}
@keyframes score-pop{0%{opacity:.2;transform:translateY(18px) scale(.8)}70%{opacity:1;transform:translateY(-4px) scale(1.08)}100%{opacity:1;transform:none}}
@keyframes result-rest-in{from{opacity:.13;filter:blur(2px);transform:translateY(8px)}to{opacity:1;filter:none;transform:none}}

@media(max-width:768px){
  .topbar-actions{gap:5px}.profile-button{min-height:35px;padding:3px 6px;border-width:2px;box-shadow:1px 2px 0 var(--ink)}.profile-dot{width:25px;height:25px}.profile-label{display:none}
  body.game-active.confirming-pick.board-mode .court-panel{display:block;flex:0 0 auto}
  body.game-active.confirming-pick.board-mode .court{height:51px}
  body.game-active .court-panel .pick-confirm{position:static;left:auto;right:auto;bottom:auto;margin:6px 0 0;padding:6px;box-shadow:2px 2px 0 var(--ink)}
  body.game-active .court-panel .pick-confirm>div:first-child span{display:none}
  body.game-active .court-panel .confirm-actions button{min-width:0;min-height:33px}
  .profile-screen{padding-bottom:18px}.profile-top{height:38px;margin:0}.profile-account{padding:11px;border-width:2px;border-radius:14px;box-shadow:3px 3px 0 var(--ink)}.profile-identity{gap:12px}.profile-avatar{width:56px;height:56px;border-width:2px;box-shadow:2px 2px 0 var(--ink);font-size:1rem}.profile-identity h1{font-size:1.75rem}.profile-name-edit{margin:12px 0;padding:8px}.profile-name-edit>div{grid-template-columns:1fr 98px}.profile-name-edit button{min-width:0}.profile-stats{grid-template-columns:1fr 1fr;gap:6px}.profile-stats>div{padding:9px;border-radius:10px;box-shadow:1px 2px 0 var(--ink)}.profile-stats b{font-size:1.5rem}.profile-identity-card{grid-template-columns:1fr;margin-top:8px;padding:9px;border-radius:11px;box-shadow:2px 2px 0 var(--ink)}.profile-tendencies{grid-template-columns:1fr 1fr}.profile-favorites{grid-column:1}.profile-history{margin-top:10px;padding:9px}.profile-guest{margin:8px auto;padding:28px 18px;border-width:2px;border-radius:16px;box-shadow:3px 3px 0 var(--ink)}
}

/* Daily is one mission: beat the historic target, then compare with the board's best score. */
.daily-result-card{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(220px,.75fr) minmax(230px,1fr);gap:9px;align-items:center;margin-top:10px;padding:10px 12px;border:3px solid var(--ink);border-radius:16px;background:var(--yellow);box-shadow:3px 4px 0 var(--ink)}
.daily-mission-verdict{display:grid;gap:3px;padding:7px 9px;border:2px solid var(--ink);border-radius:10px;background:var(--green)}.daily-mission-verdict small{font-size:.5rem;font-weight:1000;letter-spacing:.09em}.daily-mission-verdict b{font-size:1rem;line-height:1}.daily-mission-verdict span{font-family:system-ui,sans-serif;font-size:.64rem;font-weight:750}
.daily-mission-verdict.missed{background:#ffb49f}
.daily-result-head{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.daily-result-head>div{min-height:58px;padding:7px;border:2px solid var(--ink);border-radius:10px;background:#fff;text-align:center}
.daily-result-head>div:first-child{background:#fff1a8}
.daily-result-head small,.daily-result-head b{display:block}.daily-result-head small{font-size:.49rem;font-weight:1000;letter-spacing:.06em}.daily-result-head b{margin-top:5px;font-size:1.2rem;line-height:1}
.daily-score-line{display:grid;gap:4px;padding:7px 9px;border:2px solid var(--ink);border-radius:10px;background:#fff}.daily-score-line b,.daily-score-line>span{display:flex;align-items:baseline;justify-content:space-between;gap:7px}.daily-score-line b{font-size:.62rem;letter-spacing:.06em}.daily-score-line b span{font-size:1.15rem}.daily-score-line>span{font-size:.55rem;font-weight:1000}.daily-score-line strong{font-size:.85rem}
.daily-result-copy{display:flex;align-items:center;justify-content:space-between;gap:8px}.daily-result-copy>span{font-family:system-ui,sans-serif;font-size:.64rem;font-weight:750}
.daily-share-grid{flex:0 0 auto;padding:6px 8px;border:2px solid var(--ink);border-radius:9px;background:#fff;font-size:.92rem;line-height:1.05;letter-spacing:.08em}
.daily-result-card .daily-board{grid-column:1/-1;margin-top:0}

@media(max-width:768px){
  .result-screen.daily-result .result-hero{padding-bottom:5px}.result-screen.daily-result .big-record{font-size:3.9rem;margin:3px 0}.result-screen.daily-result .result-grid{flex:1}
  .daily-result-card{grid-template-columns:1.3fr 1fr;gap:5px;margin-top:4px;padding:6px;border-width:2px;border-radius:10px;box-shadow:2px 2px 0 var(--ink)}
  .daily-mission-verdict{padding:5px 6px;border-width:1.5px;border-radius:7px}.daily-mission-verdict small{font-size:.39rem}.daily-mission-verdict b{font-size:.76rem}.daily-mission-verdict span{font-size:.48rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .daily-result-head{gap:3px}.daily-result-head>div{min-height:43px;padding:4px;border-width:1.5px;border-radius:7px}.daily-result-head small{font-size:.37rem}.daily-result-head b{margin-top:3px;font-size:.82rem}
  .daily-score-line{padding:4px 6px;border-width:1.5px;border-radius:7px}.daily-score-line b{font-size:.43rem}.daily-score-line b span{font-size:.78rem}.daily-score-line>span{font-size:.39rem}.daily-score-line strong{font-size:.62rem}
  .daily-result-copy{gap:4px}.daily-result-copy>span{display:none}.daily-share-grid{padding:4px 5px;border-width:1.5px;font-size:.7rem}
  .result-screen.daily-result .result-actions{grid-template-columns:1fr 1fr}.result-screen.daily-result .result-actions .challenge-button{grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){.big-record.record-rush,.grade-box.grade-pop,.score-box.score-pop,.result-screen.verdict-ready .result-grid,.result-screen.verdict-ready .versus-card,.result-screen.verdict-ready .result-actions{animation:none}}

/* Four compact modes keep the home setup inside one phone viewport. */
.mode-grid{grid-template-columns:repeat(2,1fr)}
.mode-card{min-height:96px;padding:12px}
.mode-card.champion-mode-card.selected{background:var(--yellow)}
@media(max-width:768px){
  .mode-grid{grid-template-columns:repeat(2,1fr)}
  .mode-card{min-height:62px;padding:7px}
}

/* One-screen result card: lineup and DNA stay together. */
.result-grid{grid-template-columns:1fr}
.team-summary-card{min-height:0}
.team-summary-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;margin-top:12px}
.summary-roster,.summary-dna{min-width:0}
.team-summary-split h3{margin:0 0 8px;font-size:.67rem;letter-spacing:.09em}
.team-summary-split h3 span{float:right;color:#625b78;font-size:.58rem}
.summary-dna{padding-left:18px;border-left:2px solid var(--ink)}
.summary-dna .rating-row:first-child{margin-top:0}
.opponent-dialog{width:min(94vw,560px);max-height:90dvh;padding:0;border:0;background:transparent;color:var(--ink)}
.opponent-dialog::backdrop{background:rgba(23,18,59,.72);backdrop-filter:blur(5px)}
.opponent-dialog .result-card{height:auto;max-height:88dvh;overflow:auto;background:var(--paper)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.opponent-dialog[open]{animation:dialog-pop .24s ease}
.opponent-verdict{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:7px;margin:10px 0 12px}
.opponent-verdict>div{display:grid;place-items:center;min-height:70px;padding:7px;border:2px solid var(--ink);border-radius:11px;background:#fff;text-align:center;box-shadow:2px 3px 0 var(--ink)}
.opponent-verdict>div:first-child{background:var(--yellow)}
.opponent-verdict small{font-size:.53rem;font-weight:1000;letter-spacing:.08em}
.opponent-verdict b{font-size:1.35rem;line-height:1}
.opponent-verdict em{font-size:.58rem;font-style:normal}
.opponent-team-summary{grid-template-columns:minmax(0,1.08fr) minmax(220px,.92fr);gap:12px;margin-bottom:12px}
.opponent-team-summary .summary-dna{padding-left:12px}
@keyframes dialog-pop{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}

@media(max-width:768px){
  .result-grid{display:block;min-height:0;flex:1;overflow:hidden;padding:2px 0 5px}
  .result-grid .team-summary-card{width:100%;height:100%;padding:8px;overflow:hidden;box-shadow:2px 3px 0 var(--ink)}
  .team-summary-card>.card-title h2{font-size:.82rem}.team-summary-card>.card-title span{font-size:.58rem}
  .team-summary-split{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:7px;height:calc(100% - 22px);margin-top:5px}
  .team-summary-split h3{margin-bottom:4px;font-size:.54rem}.team-summary-split h3 span{font-size:.48rem}
  .summary-dna{padding-left:7px;border-left:1.5px solid var(--ink)}
  .summary-roster .final-five{gap:3px;margin-top:0}
  .summary-roster .final-player{grid-template-columns:25px minmax(0,1fr);gap:5px;min-height:0;padding:4px;border-width:1.5px;border-radius:7px}
  .summary-roster .final-player>span:first-child{width:25px;height:24px;border-width:1.5px;border-radius:6px;font-size:.5rem}
  .summary-roster .final-player b{font-size:.63rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .summary-roster .final-player small{font-size:.47rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .summary-dna .rating-row{grid-template-columns:1fr 23px;grid-template-rows:auto 7px;gap:1px 4px;margin:4px 0;font-size:.49rem}
  .summary-dna .rating-row>span:first-child{grid-column:1}.summary-dna .rating-row>b{grid-column:2;grid-row:1;text-align:right;font-size:.55rem}.summary-dna .meter{grid-column:1/-1;grid-row:2;height:7px;border-width:1px}.summary-dna .meter i{border-right-width:1px}
  .summary-dna .ability-cloud{gap:3px;margin-top:6px}.summary-dna .ability-cloud .ability{padding:3px 4px;border-width:1px;font-size:.47rem}.summary-dna .ability-cloud .ability:nth-child(n+5){display:none}
  .result-actions{grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}.result-actions .start-button,.result-actions .ghost-button{min-height:36px;padding:5px;font-size:.58rem}.result-actions .challenge-button{grid-column:1/-1}
  .opponent-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.opponent-dialog .result-card{max-height:calc(100dvh - 20px);padding:12px;border-width:2px;border-radius:15px;box-shadow:3px 3px 0 var(--ink)}
  .opponent-verdict{margin:7px 0 9px;gap:4px}.opponent-verdict>div{min-height:55px;padding:5px;border-width:1.5px;border-radius:8px;box-shadow:1px 2px 0 var(--ink)}.opponent-verdict small{font-size:.43rem}.opponent-verdict b{font-size:1rem}
  .opponent-team-summary{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:7px;height:auto;margin:5px 0 9px}.opponent-team-summary .summary-dna{padding-left:7px}.opponent-team-summary .final-player{padding:4px}.opponent-team-summary .ability-cloud .ability:nth-child(n+5){display:none}
}

/* Reliable image-first share fallback for browsers that cannot share files. */
.share-image-dialog{width:min(94vw,560px);max-height:94dvh;padding:0;border:0;background:transparent;color:var(--ink)}
.share-image-dialog::backdrop{background:rgba(23,18,59,.78);backdrop-filter:blur(5px)}
.share-image-dialog>section{padding:14px;border:3px solid var(--ink);border-radius:18px;background:var(--paper);box-shadow:5px 6px 0 var(--ink);text-align:center}
.share-image-dialog[open]{animation:dialog-pop .24s ease}
.share-image-dialog h2{margin:4px 0 10px;font-size:1.25rem}
.share-image-dialog img{display:block;width:100%;max-height:64dvh;object-fit:contain;border:2px solid var(--ink);border-radius:12px;background:#fff}
.share-image-dialog p{margin:10px 0;font-family:system-ui,sans-serif;font-size:.78rem;font-weight:750}
.share-image-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.share-image-actions .start-button{display:flex;align-items:center;justify-content:center;margin:0;text-decoration:none}
.share-image-actions .ghost-button{min-height:48px}
@media(max-width:768px){.share-image-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.share-image-dialog>section{padding:9px;border-width:2px;border-radius:14px;box-shadow:3px 3px 0 var(--ink)}.share-image-dialog .dialog-top{margin-bottom:5px}.share-image-dialog h2{font-size:1rem}.share-image-dialog img{max-height:62dvh}.share-image-dialog p{font-size:.68rem}.share-image-actions{gap:5px}.share-image-actions .start-button,.share-image-actions .ghost-button{min-height:40px;padding:6px;font-size:.62rem}}

/* Season campaign and curated historical boss showdowns. */
.mode-card.boss-mode-card.selected{background:var(--purple)}
.mode-note{margin:8px 0 0;padding:8px 10px;border:2px solid var(--ink);border-radius:9px;background:#fff;font-family:system-ui,sans-serif;font-size:.72rem;font-weight:700;line-height:1.3}
.campaign-track{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 8px;padding:9px 12px;border:3px solid var(--ink);border-radius:13px;background:var(--yellow);box-shadow:3px 3px 0 var(--ink)}
.campaign-track>div:first-child{min-width:0;display:grid;gap:2px}.campaign-track small{font-size:.57rem;font-weight:1000;letter-spacing:.08em}.campaign-track b{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campaign-track>div:first-child span{font-family:system-ui,sans-serif;font-size:.63rem;font-weight:750}
.campaign-chapters{display:flex;gap:4px;flex-shrink:0}.campaign-chapters>span{display:grid;place-items:center;width:43px;min-height:34px;padding:3px 2px;border:2px solid var(--ink);border-radius:7px;background:#fff;font-weight:1000;font-size:.8rem}.campaign-chapters>span.cleared{background:var(--green)}.campaign-chapters>span.current{background:var(--orange)}.campaign-chapters small{font-size:.35rem;letter-spacing:0}
.campaign-result{display:grid;gap:2px;margin:7px 0;padding:8px 12px;border:2px solid var(--ink);border-radius:11px;background:var(--yellow);box-shadow:2px 2px 0 var(--ink)}.campaign-result small{font-size:.55rem;font-weight:1000;letter-spacing:.09em}.campaign-result b{font-size:1rem}.campaign-result span{font-family:system-ui,sans-serif;font-size:.67rem;font-weight:700}
@media(max-width:768px){.mode-card.boss-mode-card{min-height:62px}.mode-note{font-size:.62rem;padding:5px 7px}.campaign-track{order:0;gap:5px;margin-bottom:5px;padding:5px 7px;border:1px solid #32536a;border-radius:8px;background:#081b25;color:#f6f9fb;box-shadow:none}.campaign-track small{font-size:.45rem}.campaign-track b{font-size:.65rem}.campaign-track>div:first-child span{font-size:.48rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b0c5d2}.campaign-chapters{gap:2px}.campaign-chapters>span{width:20px;min-height:26px;border:1px solid #456072;background:#112c37;color:#bdd0da;font-size:.6rem}.campaign-chapters>span.cleared{background:#36c68d;color:#062018}.campaign-chapters>span.current{background:#ff7a22;color:#180d05}.campaign-chapters small{display:none}.campaign-result{margin:3px 0;padding:5px 8px}.campaign-result small{font-size:.45rem}.campaign-result b{font-size:.75rem}.campaign-result span{font-size:.5rem}}

/* Opponent selection uses a short horizontal collection with permanent victory marks. */
.boss-select{display:none!important}.boss-collection{margin:8px 0 0}.boss-collection-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:.68rem;font-weight:1000}.boss-collection-head span{color:#655b82}.boss-collection-list{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:2px 3px 7px;scrollbar-width:thin}.boss-choice{flex:0 0 175px;scroll-snap-align:start;display:grid;gap:3px;min-height:96px;padding:8px;border:2px solid var(--ink);border-radius:11px;background:#fff;text-align:left;box-shadow:2px 2px 0 var(--ink)}.boss-choice.selected{background:var(--purple);border-width:3px}.boss-choice.beaten:not(.selected){background:#def8e9}.boss-choice>span{font-size:.52rem;font-weight:1000;color:#534b72}.boss-choice b{font-size:.72rem;line-height:1.05}.boss-choice small,.boss-choice em{font-size:.56rem;font-weight:900;font-style:normal}.boss-choice em{color:#6a5675}.boss-collection>p{margin:2px 1px 0;font-family:system-ui,sans-serif;font-size:.62rem;font-weight:700}
@media(min-width:901px){.home-screen{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}.mode-shell,.boss-collection,.boss-collection-list{min-width:0;max-width:100%}
.boss-profile-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:8px;border-bottom:1px solid #d7d2e4}.boss-profile-row>span{font-size:1.1rem}.boss-profile-row b,.boss-profile-row small{display:block}.boss-profile-row b{font-size:.72rem}.boss-profile-row small{font-family:system-ui,sans-serif;font-size:.6rem;color:#6a6480}.boss-profile-row strong{font-size:.56rem}
.guest-boss-list{max-height:180px;overflow:auto;text-align:left}.guest-boss-list:has(.rivalry-empty){display:none}
.profile-guest{max-width:560px;margin:18px auto;padding:24px;text-align:left}.profile-guest h1{font-size:clamp(2rem,5vw,3rem)}.profile-guest>p:not(.kicker){margin:8px 0;font-size:.82rem;line-height:1.4}.username-join{margin:15px 0;padding:13px;border:2px solid var(--ink);border-radius:13px;background:#fff}.username-join label,.profile-recover label{display:block;font-size:.67rem;font-weight:1000;margin-bottom:6px}.username-join>div,.profile-recover>div{display:flex;gap:7px}.username-join input,.profile-recover input{min-width:0;flex:1;padding:10px;border:2px solid var(--ink);border-radius:9px;background:#fff;font-size:.87rem}.username-join button,.profile-recover button,.username-account-actions button{border:2px solid var(--ink);border-radius:9px;background:var(--orange);padding:9px 12px;font-size:.67rem;font-weight:1000;white-space:nowrap}.username-join small,.username-account-actions small{display:block;margin-top:7px;color:#504866;font-family:system-ui,sans-serif;font-size:.65rem}.profile-recover{margin-top:12px;padding:10px;border-top:1px solid #d4c99d;font-family:system-ui,sans-serif;font-size:.68rem}.profile-recover summary{cursor:pointer;font-weight:800}.profile-recover p{margin:8px 0}.alternate-signin{font-size:.7rem!important}.username-account-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.username-account-actions button:first-child{background:var(--yellow)}.username-account-actions button:nth-child(2){background:#fff}.username-account-actions small{flex:1 0 100%}
@media(max-width:600px){.profile-guest{padding:14px;margin:8px auto}.profile-guest h1{font-size:2rem}.username-join{padding:9px}.username-join button{padding:8px;font-size:.57rem}.username-account-actions button{flex:1}}
.boss-result-mode .result-hero{display:none}.boss-result{flex:0 0 auto;margin:5px 0 8px;padding:12px;border:3px solid var(--ink);border-radius:17px;background:var(--paper);box-shadow:3px 4px 0 var(--ink)}.boss-result-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:.62rem;font-weight:1000;letter-spacing:.1em}.boss-result-heading strong{padding:4px 8px;border:2px solid var(--ink);border-radius:99px;background:var(--yellow);font-size:.6rem}.boss-result h1{margin:5px 0 8px;font-size:1.65rem;letter-spacing:-.045em}.boss-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:7px}.boss-vs{text-align:center;font-size:.72rem;font-weight:1000}.boss-side{min-width:0;padding:10px;border:2px solid var(--ink);border-radius:12px;background:#fff}.boss-side:first-child{background:#ddf8e9}.boss-side:last-child{background:#efeaff}.boss-side>small{font-size:.52rem;font-weight:1000;letter-spacing:.06em}.boss-side h2{min-height:1.1em;margin:2px 0;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boss-side>strong{display:block;font-size:2.05rem;line-height:1}.boss-side>em{display:block;margin:2px 0 7px;font-size:.65rem;font-weight:1000;font-style:normal}.boss-five{display:grid;gap:1px}.boss-five>span{display:flex;align-items:center;gap:7px;min-width:0;padding:2px 0;border-top:1px solid #d3cfdd;font-size:.65rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boss-five b{flex:0 0 18px;font-size:.55rem}.boss-result>p{margin:7px 0 0;font-family:system-ui,sans-serif;font-size:.67rem;font-weight:700}.boss-result-progress{margin-top:5px;font-size:.63rem;font-weight:1000;color:#655b82}.boss-result-enter{animation:boss-enter .55s ease both}.boss-result-enter .boss-side:last-child{animation:boss-enter .65s .25s ease both}.boss-result-enter h1{animation:boss-enter .7s .55s ease both}@keyframes boss-enter{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.boss-result-mode .summary-roster{display:none}.boss-result-mode .team-summary-split{display:block}.boss-result-mode .result-grid{flex:1;min-height:0}.boss-result-mode .result-grid .team-summary-card{height:100%}.boss-result-mode .result-grid .card-title h2{font-size:1rem}
@media(max-width:768px){.boss-collection{margin-top:5px}.boss-collection-head{font-size:.55rem;margin-bottom:3px}.boss-choice{flex-basis:142px;min-height:76px;padding:5px 6px;border-radius:8px}.boss-choice b{font-size:.62rem}.boss-choice small,.boss-choice em{font-size:.49rem}.boss-collection>p{display:none}.boss-result{margin:3px 0 5px;padding:7px;border-width:2px;border-radius:10px;box-shadow:2px 2px 0 var(--ink)}.boss-result-heading{font-size:.46rem}.boss-result-heading strong{padding:2px 6px;border-width:1px;font-size:.47rem}.boss-result h1{margin:3px 0 5px;font-size:1rem}.boss-scoreboard{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:3px}.boss-vs{font-size:.56rem}.boss-side{padding:5px;border-width:1.5px;border-radius:7px}.boss-side>small{font-size:.42rem}.boss-side h2{margin:1px 0;font-size:.62rem}.boss-side>strong{font-size:1.36rem}.boss-side>em{margin:1px 0 4px;font-size:.5rem}.boss-five>span{gap:3px;padding:1px 0;font-size:.49rem}.boss-five b{flex-basis:15px;font-size:.45rem}.boss-result>p{margin-top:4px;font-size:.48rem}.boss-result-progress{margin-top:3px;font-size:.48rem}.boss-result-mode .result-grid{padding-bottom:3px}.boss-result-mode .result-actions{margin-top:4px}}

/* Keep the complete home setup in one full-width phone column. */
@media(max-width:768px){
  main:has(.home-screen:not([hidden])){padding-top:4px;padding-bottom:8px}
  .home-screen{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;gap:8px;padding:0;width:100%}
  .hero-copy{min-width:0;padding:0 2px}
  .hero-copy .kicker{font-size:.55rem;line-height:1.1;margin:0 0 4px}
  .hero-copy h1{font-size:clamp(1.65rem,7.7vw,2.2rem);line-height:.98;letter-spacing:-.055em;max-width:100%}
  .hero-copy h1 em{text-shadow:1.5px 1.5px 0 var(--ink)}
  .mode-shell{width:100%;padding:9px;border-radius:17px}
  .daily-banner{min-height:49px;padding:7px 9px;gap:7px}
  .daily-banner>div{min-width:0}
  .daily-banner b{font-size:.75rem}
  .daily-banner small{display:-webkit-box;font-size:.58rem;line-height:1.2;margin-top:2px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .daily-play{flex:0 0 auto;padding:7px 8px;font-size:.58rem;max-width:93px}
  .h2h-home-card{min-height:48px;margin-top:6px}
  .h2h-home-card span{min-width:0}
  .h2h-home-card strong{flex:0 0 auto}
  .section-label{margin:7px 0 5px;font-size:.56rem}
  .mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .mode-card,.mode-card.boss-mode-card{min-width:0;min-height:66px;padding:5px 3px;text-align:center}
  .mode-icon{font-size:1rem;margin:0 0 3px}
  .mode-card b{font-size:clamp(.53rem,2.6vw,.69rem);line-height:1.1;overflow-wrap:normal}
  .mode-card small{display:none}
  .setup-row{margin-top:8px}
  .setup-row label{display:none}
  .setup-row input,.setup-row select{height:39px}
  .start-button{min-height:43px;margin-top:8px;padding:0 11px;font-size:.7rem}
}
@media(max-width:360px){
  .brand{font-size:.87rem;gap:6px}
  .database-count{font-size:.49rem;padding:6px}
  .topbar-actions{gap:5px}
  .hero-copy h1{font-size:1.62rem}
  .h2h-home-card small{font-size:.52rem}
  .h2h-home-card strong{font-size:.49rem}
}

.court-totals{display:flex;align-items:center;gap:6px}
.court-totals small{border:2px solid var(--ink);border-radius:99px;background:var(--yellow);padding:6px 8px;font-size:.63rem;font-weight:1000;white-space:nowrap}
.reveal-screen.winner-stage .reveal-stage{position:fixed;inset:0;z-index:3;display:grid;place-items:center;background:var(--purple);padding:24px}
.reveal-screen.winner-stage .reveal-stage>*:not(.winner-banner){display:none}
.reveal-screen.winner-stage .winner-banner{width:min(100%,780px);border-width:5px;padding:36px 22px;font-size:clamp(2.5rem,9vw,6rem);line-height:1;box-shadow:10px 12px 0 var(--ink)}
.h2h-recap{flex:0 0 auto;margin:6px 0;padding:10px;border:3px solid var(--ink);border-radius:15px;background:var(--paper);box-shadow:3px 4px 0 var(--ink)}
.h2h-recap-verdict{display:block;margin-bottom:7px;font-size:.86rem;text-align:center}
.h2h-recap-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
.h2h-recap-teams>b{font-size:.66rem}
.h2h-recap-side{min-width:0;padding:7px 9px;border:2px solid var(--ink);border-radius:10px;background:#ddf8e9}
.h2h-recap-side:last-child{background:#efeaff}
.h2h-recap-side>small,.h2h-recap-side>strong,.h2h-recap-side>em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h2h-recap-side>small{font-size:.65rem;font-weight:1000}
.h2h-recap-side>strong{font-size:2rem;line-height:1}
.h2h-recap-side>em{font-size:.6rem;font-style:normal;font-weight:1000}
.h2h-recap-side>div{margin-top:6px}
.h2h-recap-side>div span{display:flex;gap:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #c9c5d6;padding:2px 0;font-size:.67rem;font-weight:800}
.h2h-recap-side>div b{flex:0 0 21px;font-size:.59rem}
.h2h-result .summary-roster{display:none}
.h2h-result .team-summary-split{display:block;margin-top:4px}
.h2h-result .team-summary-card{height:auto!important}
@media(max-width:768px){
  .court-totals small{padding:2px 4px;border-width:1px;font-size:.5rem}
  body.game-active.board-mode .court-head b{font-size:.55rem}
  .h2h-recap{margin:3px 0;padding:6px;border-width:2px;border-radius:10px;box-shadow:2px 2px 0 var(--ink)}
  .h2h-recap-verdict{margin-bottom:4px;font-size:.64rem}
  .h2h-recap-teams{gap:3px}
  .h2h-recap-teams>b{font-size:.48rem}
  .h2h-recap-side{padding:5px;border-width:1.5px;border-radius:7px}
  .h2h-recap-side>small{font-size:.49rem}
  .h2h-recap-side>strong{font-size:1.3rem}
  .h2h-recap-side>em{font-size:.46rem}
  .h2h-recap-side>div{margin-top:3px}
  .h2h-recap-side>div span{font-size:.5rem;padding:1px 0;gap:2px}
  .h2h-recap-side>div b{flex-basis:15px;font-size:.45rem}
  .h2h-result .result-hero{padding:3px 6px}
  .h2h-result .big-record{font-size:3.2rem;margin:3px 0}
  .h2h-result .result-grid{flex:1;min-height:0}
}
.daily-board{grid-column:1/-1;margin-top:5px;border:2px solid var(--ink);border-radius:10px;background:#fff;padding:7px}
.daily-board summary{display:flex;justify-content:space-between;gap:6px;cursor:pointer;font-size:.67rem;font-weight:1000;list-style:none}
.daily-board summary b{color:#271f5b;white-space:nowrap}
.daily-board summary::-webkit-details-marker{display:none}
.daily-board summary span{color:#9b5212;white-space:nowrap}
#daily-leaders{max-height:170px;overflow-y:auto;margin-top:7px;font-family:system-ui,sans-serif;font-size:.68rem}
.daily-leader{display:grid;grid-template-columns:25px minmax(0,1fr) auto auto;gap:6px;padding:5px;border-top:1px solid #ddd6e9;align-items:center}
.daily-leader.mine{background:#fff1a8}
.daily-leader span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}
.daily-leader small{color:#655b82}
#retry-daily-score{margin-top:6px;border:2px solid var(--ink);border-radius:7px;background:var(--orange);padding:5px 9px;font-size:.65rem;font-weight:1000}
@media(max-width:768px){.daily-board{padding:4px;margin-top:3px;border-width:1.5px}.daily-board summary{font-size:.55rem}.daily-board summary span{font-size:.5rem}#daily-leaders{max-height:110px;margin-top:4px;font-size:.58rem}.daily-leader{grid-template-columns:19px minmax(0,1fr) auto auto;gap:3px;padding:3px}.daily-leader small{font-size:.5rem}}
.social-shares{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin:8px 0 0;flex:0 0 auto}
.social-shares span{font-size:.62rem;font-weight:1000;letter-spacing:.07em}
.social-shares button{border:2px solid var(--ink);border-radius:8px;background:#fff;padding:6px 9px;font-size:.62rem;font-weight:1000}
.social-shares button:first-of-type{background:var(--blue)}
.social-shares button:nth-of-type(2){background:var(--green)}
@media(max-width:768px){.social-shares{gap:4px;margin-top:3px}.social-shares span{font-size:.47rem}.social-shares button{padding:4px 6px;border-width:1.5px;font-size:.52rem}}
/* Compact lineup-first waiting state and draft controls. */
.waiting-card{max-width:750px;margin:auto;text-align:left;background:#fff9e6;padding:clamp(16px,3vw,30px)}
.waiting-card h1{font-size:clamp(1.8rem,5vw,3.2rem);line-height:1;margin:6px 0}
.waiting-lineup{margin:16px 0 8px;padding:10px;border:2px solid var(--ink);border-radius:15px;background:#fff;box-shadow:3px 3px 0 var(--ink)}
.waiting-lineup h2,.waiting-rival-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.07em;margin:0 0 8px}
#waiting-own-five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.waiting-player{min-width:0;padding:8px 6px;border:1.5px solid var(--ink);border-radius:9px;background:#e8fff4;display:grid;gap:3px}
.waiting-player small{font-size:.66rem;font-weight:1000}.waiting-player b{font-size:.78rem;line-height:1.1;overflow-wrap:anywhere}.waiting-player span{font-size:.62rem;line-height:1.1}
.waiting-score{display:block;width:max-content;margin:4px 0 14px;padding:4px 8px;border:1px solid var(--ink);border-radius:7px;box-shadow:none;background:#fff;font-size:.73rem}
.waiting-score small,.waiting-score b{font-size:inherit;font-weight:800}
.waiting-rival-label{margin:8px 0}
.spectator-pick:not(.live){background:#f2f0ed;opacity:.78}
.draft-settings{margin:8px 0;padding:8px 10px;border:2px solid var(--ink);border-radius:10px;background:#fff}
.draft-settings summary{cursor:pointer;font-weight:1000;font-size:.7rem;letter-spacing:.04em}
.settings-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:9px}
.settings-fields label{display:flex;gap:6px;align-items:center;font-size:.78rem;font-weight:750}
.settings-fields select{padding:4px 7px;border:1px solid var(--ink);border-radius:5px;background:#fff;font:inherit}
.draft-settings>small{display:block;margin-top:6px;font-size:.68rem}
.open-rooms{margin:10px 0;padding:10px;border:2px solid var(--ink);border-radius:12px;background:#fff}
.open-room-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #dad5e5}
.open-room-row>div:first-child{display:grid;gap:2px}.open-room-row small{font-size:.66rem}.open-room-actions{display:flex;gap:5px}.open-room-actions button{min-height:32px;padding:4px 8px;border:1.5px solid var(--ink);border-radius:6px;background:#fff;font-size:.67rem;font-weight:850}
@media(max-width:600px){.waiting-card{padding:12px}.waiting-card h1{font-size:1.8rem}.waiting-card>p{font-size:.8rem}.waiting-lineup{margin:10px 0 5px}.waiting-player{padding:5px 3px}.waiting-player b{font-size:.59rem}.waiting-player span{font-size:.5rem}.waiting-player small{font-size:.54rem}.waiting-lineup h2,.waiting-rival-label{font-size:.67rem}.waiting-card .spectator-five{gap:3px}.settings-fields{display:grid;grid-template-columns:1fr 1fr}.settings-fields label:first-child{grid-column:1/-1}.open-room-row{align-items:flex-start}.open-room-actions{flex-direction:column}}
.formula-help{max-width:580px;margin:11px auto 0;text-align:left;font-family:system-ui,sans-serif;font-size:.76rem;line-height:1.4}.formula-help summary{cursor:pointer;font-weight:800}.formula-help p{margin:5px 0 0}
#champion-wrap{display:none!important}.boss-decades{display:flex;gap:5px;margin-bottom:7px;overflow-x:auto}.boss-decades button{min-width:59px;padding:6px 7px;border:1.5px solid var(--ink);border-radius:8px;background:#fff;font-weight:900;font-size:.67rem}.boss-decades button.selected{background:var(--yellow)}.boss-choice:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}
.daily-campaign-picker{margin:5px 0;padding:5px 8px;border:1.5px solid var(--ink);border-radius:9px;background:#fff}.daily-campaign-picker summary{display:flex;justify-content:space-between;cursor:pointer;font-size:.66rem;font-weight:1000}.daily-campaign-picker summary span{color:#635875}.daily-campaign-picker p{margin:5px 0;font-size:.7rem}.daily-campaign-picker #daily-campaign-days{display:flex;gap:5px;overflow-x:auto;padding:2px 0 6px}.daily-campaign-picker button{flex:0 0 58px;padding:7px 4px;border:1.5px solid var(--ink);border-radius:7px;background:#fff;font-size:.65rem;font-weight:900}.daily-campaign-picker button.done{background:#7be0a4}

/* Shared mobile safe viewport: clears notches and in-app browser chrome. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--app-height:100dvh}
html{min-height:100%;background:var(--cream);scroll-padding-top:var(--safe-top)}
body{min-height:var(--app-height);padding-top:var(--safe-top);padding-right:var(--safe-right);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left)}
.toast{bottom:calc(16px + var(--safe-bottom))}
.reveal-skip{top:calc(72px + var(--safe-top));right:calc(18px + var(--safe-right))}
.reveal-screen.winner-stage .reveal-stage{padding:calc(24px + var(--safe-top)) calc(24px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(24px + var(--safe-left))}
@media(max-width:768px){
  body.game-active,body.result-active{height:var(--app-height)}
  body.game-active main,body.result-active main{height:calc(var(--app-height) - 54px - var(--safe-top) - var(--safe-bottom))}
  .home-screen{min-height:calc(var(--app-height) - 70px - var(--safe-top) - var(--safe-bottom))}
  .reveal-screen{min-height:calc(var(--app-height) - 64px - var(--safe-top) - var(--safe-bottom))}
  .reveal-skip{top:calc(60px + var(--safe-top));right:calc(8px + var(--safe-right))}
  .pick-confirm{left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));bottom:calc(8px + var(--safe-bottom))}
  .opponent-dialog{max-height:calc(var(--app-height) - var(--safe-top) - var(--safe-bottom) - 16px);margin-top:calc(var(--safe-top) + 8px);margin-bottom:calc(var(--safe-bottom) + 8px)}
  .opponent-dialog .result-card{max-height:calc(var(--app-height) - var(--safe-top) - var(--safe-bottom) - 16px)}
  .share-image-dialog{max-height:calc(var(--app-height) - var(--safe-top) - var(--safe-bottom) - 16px);margin-top:calc(var(--safe-top) + 8px);margin-bottom:calc(var(--safe-bottom) + 8px)}
}
