@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');
:root{--ink:#15241e;--muted:#718077;--line:#e6ebe5;--field:#e9eee9;--lime:#d7f580;--green:#193c2c;--cream:#f6f7f2;--white:#fff;--orange:#fa9f74;--shadow:0 18px 50px rgba(20,41,29,.11)}
*{box-sizing:border-box}html{font-family:'DM Sans','Noto Sans SC',system-ui,sans-serif;background:var(--cream)}body{margin:0;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}#app{min-height:100vh}h1,h2,h3,p{margin-top:0}.shell{max-width:1240px;margin:auto;min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{background:#11251d;color:#f4f8ef;padding:30px 18px;display:flex;flex-direction:column;gap:38px}.brand{font-size:24px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:10px;padding:0 12px}.brand-mark{display:grid;place-items:center;width:33px;height:33px;background:var(--lime);color:#12271c;border-radius:11px;font-size:20px}.nav{display:grid;gap:7px}.nav button{background:none;border:0;color:#a9b8ac;display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:14px 15px;border-radius:13px;font-weight:700}.nav button.active,.nav button:hover{background:#274536;color:white}.nav button.active .nav-icon{color:var(--lime)}.nav-icon{font-size:20px;width:23px;text-align:center}.side-bottom{margin-top:auto;background:#203d2d;border-radius:16px;padding:16px}.side-bottom small{color:#b9c9b8}.side-bottom strong{display:block;margin:6px 0 0}.main{padding:33px clamp(22px,5vw,58px) 70px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#718878;margin-bottom:7px}.topbar h1{font-size:clamp(27px,3vw,38px);letter-spacing:-.055em;margin:0}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:#1d3c2c;font-weight:800;border:0;flex:none}.content{animation:none}@keyframes fade{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}.hero{background:#173b2b;color:white;border-radius:27px;padding:clamp(24px,4vw,40px);position:relative;overflow:hidden;min-height:217px;display:flex;align-items:center;box-shadow:var(--shadow)}.hero:before,.hero:after{content:'';position:absolute;border:1px solid rgba(216,245,128,.24);border-radius:50%;width:390px;height:390px;right:-70px;top:-105px}.hero:after{width:260px;height:260px;right:2px;top:-40px}.hero-copy{position:relative;z-index:1;max-width:440px}.hero .eyebrow{color:var(--lime)}.hero h2{font-size:clamp(30px,4vw,50px);letter-spacing:-.065em;line-height:1.13;margin-bottom:12px}.hero p{color:#c3d6c8;margin:0;line-height:1.7}.hero-ball{position:absolute;right:78px;bottom:-74px;width:260px;height:260px;border-radius:50%;border:37px solid rgba(215,245,128,.82);box-shadow:inset 0 0 0 37px #173b2b,inset 0 0 0 65px rgba(215,245,128,.35);transform:rotate(-22deg)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:34px 0 17px}.section-head h2{font-size:21px;letter-spacing:-.04em;margin:0}.section-head small{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature{border:1px solid var(--line);background:white;text-align:left;border-radius:22px;padding:23px;min-height:196px;box-shadow:0 6px 28px rgba(13,37,23,.04);transition:transform .18s,box-shadow .18s}.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.feature-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:15px;background:#e6f5c5;color:#23442d;font-size:23px;margin-bottom:28px}.feature:nth-child(2) .feature-icon{background:#e3ebe5}.feature:nth-child(3) .feature-icon{background:#f9e4d6}.feature strong{display:block;font-size:20px;letter-spacing:-.04em}.feature p{font-size:13px;color:var(--muted);margin:7px 0 0;line-height:1.55}.feature .arrow{float:right;font-size:21px;color:#8c9b8c}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 5px 26px rgba(13,37,23,.035)}.latest{display:flex;align-items:center;justify-content:space-between;gap:16px}.latest h3{font-size:20px;margin:0 0 6px}.latest p{margin:0;color:var(--muted);font-size:13px}.status{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap;background:#edf2e7;color:#536752}.status.live{background:#e6f5c7;color:#375d25}.status.done{background:#eceeed;color:#69746c}.dot{width:6px;height:6px;border-radius:50%;background:currentColor}.btn{border:0;background:var(--lime);color:#183323;border-radius:12px;font-weight:800;padding:12px 18px;white-space:nowrap}.btn:hover{filter:brightness(.96)}.btn.dark{background:#193c2c;color:white}.btn.ghost{background:#edf1eb;color:#31513c}.btn.warn{background:#fff0e8;color:#a14b28}.btn.small{padding:9px 12px;font-size:12px}.btn-row{display:flex;gap:9px;flex-wrap:wrap}.page-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:20px}.page-head h2{font-size:27px;letter-spacing:-.05em;margin:0 0 4px}.page-head p{margin:0;color:var(--muted);font-size:13px}.season-list{display:grid;gap:12px}.season-card{background:white;border:1px solid var(--line);border-radius:19px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:14px}.season-card h3{margin:0 0 6px;font-size:19px}.season-card p{margin:0;font-size:12px;color:var(--muted)}.season-card .right{display:flex;align-items:center;gap:12px}.toolbar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.toolbar select,.toolbar input,.field input,.field select,.field textarea{background:white;border:1px solid #dfe6df;border-radius:12px;color:var(--ink);outline:0;padding:12px 13px;min-height:45px}.toolbar select:focus,.toolbar input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#79aa68;box-shadow:0 0 0 3px rgba(165,208,139,.18)}.toolbar input{flex:1;min-width:160px}.field{display:grid;gap:7px;margin-bottom:16px}.field label{font-size:12px;color:#536558;font-weight:800}.field textarea{resize:vertical;min-height:75px}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.table-wrap{background:white;border:1px solid var(--line);border-radius:19px;overflow:hidden}.player-row{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid #edf0eb}.player-row:last-child{border-bottom:0}.player-avatar{width:41px;height:41px;border-radius:50%;background:#e8f0df;display:grid;place-items:center;font-weight:800;color:#3b6142;flex:none}.player-meta{min-width:0;flex:1}.player-meta strong{display:block}.player-meta span{font-size:12px;color:var(--muted)}.player-row .btn{margin-left:auto}.empty{text-align:center;padding:52px 18px;color:var(--muted)}.empty .big{font-size:39px;margin-bottom:12px}.empty strong{display:block;color:var(--ink);font-size:18px;margin-bottom:8px}.empty p{font-size:13px}.draft-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px}.draft-pool,.draft-side{min-width:0}.subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.subhead h3{margin:0;font-size:17px}.subhead small{color:var(--muted)}.pick-list{display:grid;gap:8px}.pick-player{width:100%;border:1px solid #e4e9e0;border-radius:13px;background:white;padding:11px 12px;display:flex;align-items:center;gap:10px;text-align:left}.pick-player:not(:disabled):hover{border-color:#88ae68;background:#f8fcec}.pick-player .number{margin-left:auto;color:#718472;font-size:11px;font-weight:700}.pick-player strong{flex:1}.turn-banner{background:#d9f581;border-radius:17px;padding:17px 19px;margin-bottom:16px;color:#23402a}.turn-banner small{display:block;font-weight:700;opacity:.75}.turn-banner strong{font-size:21px}.team-card{background:white;border:1px solid var(--line);border-radius:16px;padding:15px;margin-bottom:10px}.team-card h4{margin:0 0 11px;display:flex;justify-content:space-between}.team-card h4 span{font-size:11px;color:var(--muted);font-weight:600}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border-radius:99px;background:#edf2ea;padding:6px 9px;font-size:11px;font-weight:700}.chip.captain{background:#def0b7}.record{font-size:12px;color:#738076;padding:9px 0;border-bottom:1px solid #eef0ed}.record:last-child{border:0}.record b{color:var(--ink)}.muted{color:var(--muted)}.board-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px}.pitch{width:100%;aspect-ratio: .74;background:repeating-linear-gradient(0deg,#327657 0,#327657 12.5%,#367c5c 12.5%,#367c5c 25%);border-radius:18px;position:relative;overflow:hidden;border:7px solid #265e45;touch-action:none}.pitch-lines{position:absolute;inset:12px;border:2px solid rgba(255,255,255,.65);pointer-events:none}.pitch-lines:before{content:'';position:absolute;left:0;right:0;top:50%;border-top:2px solid rgba(255,255,255,.65)}.pitch-lines:after{content:'';position:absolute;width:27%;aspect-ratio:1;border:2px solid rgba(255,255,255,.65);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.box-top,.box-bottom{position:absolute;left:27%;width:46%;height:16%;border:2px solid rgba(255,255,255,.65);pointer-events:none}.box-top{top:12px;border-top:0}.box-bottom{bottom:12px;border-bottom:0}.piece{position:absolute;transform:translate(-50%,-50%);width:59px;height:59px;border-radius:50%;background:var(--lime);border:3px solid white;box-shadow:0 6px 15px #10382766;display:grid;align-content:center;justify-items:center;touch-action:none;user-select:none;cursor:grab;z-index:3;line-height:1.05}.piece.dragging{cursor:grabbing;z-index:9}.piece .jersey{font-size:13px;font-weight:900}.piece .piece-name{font-size:10px;font-weight:800;max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-help{color:var(--muted);font-size:12px;line-height:1.6;margin-top:10px}.roster-edit{display:grid;gap:8px}.roster-item{display:flex;align-items:center;gap:9px;background:white;border:1px solid var(--line);border-radius:13px;padding:8px}.roster-item strong{font-size:12px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-item input{width:44px;border:1px solid var(--line);border-radius:8px;padding:6px;text-align:center}.modal-wrap{position:fixed;inset:0;z-index:20;background:#09180fcc;display:grid;place-items:center;padding:18px}.modal{width:min(100%,530px);max-height:min(90vh,850px);overflow:auto;background:var(--cream);border-radius:24px;padding:25px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal h2{margin:0;font-size:23px}.close{border:0;background:#e7ebe4;width:32px;height:32px;border-radius:50%;font-size:19px}.check-grid{max-height:235px;overflow:auto;background:white;border:1px solid var(--line);border-radius:12px;padding:8px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px}.check-grid label{display:flex;align-items:center;gap:8px;padding:8px;font-size:13px}.check-grid input{accent-color:#427d46}.login{min-height:100vh;background:#102b20;display:grid;grid-template-columns:1fr 1fr;color:white}.login-art{padding:7vw;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:'';position:absolute;width:500px;height:500px;border:80px solid #d7f580;border-radius:50%;left:35%;top:20%;opacity:.8}.login-art .brand{position:relative;z-index:1;padding:0}.login-art h1{font-size:clamp(45px,5vw,77px);line-height:1.1;letter-spacing:-.08em;position:relative;z-index:1;margin:0}.login-art p{color:#b5c9ba;z-index:1}.login-form-side{background:#f5f7f1;color:var(--ink);display:grid;place-items:center;padding:30px}.login-panel{width:min(100%,390px)}.login-panel .eyebrow{color:#6b9365}.login-panel h2{font-size:34px;letter-spacing:-.06em;margin-bottom:12px}.login-panel p{color:var(--muted);line-height:1.7;margin-bottom:34px}.login-panel .btn{width:100%;padding:15px}.login-panel .field input{padding:15px}.login-note{margin-top:24px;font-size:12px;color:#87958a}.mobile-nav{display:none}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,120px);background:#153a2a;color:white;padding:11px 17px;border-radius:12px;z-index:100;font-size:13px;box-shadow:var(--shadow);transition:transform .25s;pointer-events:none}#toast.show{transform:translate(-50%,0)}
.check-grid label.captain-assigned{opacity:.48}
@media(max-width:850px){.shell{display:block}.sidebar{display:none}.main{padding:27px 20px 105px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fff;border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{border:0;background:none;color:#829188;display:grid;justify-items:center;gap:3px;padding:5px 8px;font-size:10px;font-weight:700}.mobile-nav button span{font-size:21px}.mobile-nav button.active{color:#25603b}.feature-grid{gap:10px}.feature{padding:17px;min-height:170px}.feature-icon{margin-bottom:20px}.feature strong{font-size:17px}.hero-ball{right:-25px;opacity:.6}.draft-grid{grid-template-columns:1fr}.board-layout{grid-template-columns:1fr 190px}}
@media(max-width:620px){.feature-grid{grid-template-columns:1fr}.feature{min-height:0;display:grid;grid-template-columns:50px 1fr;column-gap:14px;padding:16px}.feature-icon{grid-row:1/3;margin:0}.feature strong{align-self:end}.feature p{grid-column:2;margin:3px 0 0}.feature .arrow{display:none}.hero{min-height:190px}.hero-ball{width:180px;height:180px;border-width:24px;right:-55px;bottom:-48px}.latest{align-items:start}.latest .btn{display:none}.season-card{align-items:start}.season-card .right{flex-direction:column;align-items:end}.board-layout{grid-template-columns:1fr}.pitch{max-width:520px;margin:auto}.roster-edit{grid-template-columns:repeat(2,1fr)}.login{display:block}.login-art{min-height:280px;padding:30px}.login-art:after{width:260px;height:260px;border-width:38px;left:57%;top:11%}.login-art h1{font-size:44px;margin-top:35px}.login-art p{margin:0}.login-form-side{min-height:calc(100vh - 280px);place-items:start center;padding:35px 25px}.row{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}}

/* Live draft cues */
.feature{position:relative}
.feature-live{padding-top:34px}
.feature-badge{position:absolute;top:12px;right:12px;max-width:calc(100% - 72px);display:inline-flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#e9f7cb;color:#365d2b;border:1px solid #d6eeb1;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:800;line-height:1.2}
.feature-badge .dot{flex:none}
.turn-banner.turn-team-A{background:#d9f581;color:#254624}
.turn-banner.turn-team-B{background:#cce9f2;color:#205269}
.turn-banner.turn-team-C{background:#f9d7c3;color:#76432d}
.team-card.team-active{border-width:2px;padding:14px}
.team-card.team-A{border-color:#aacd67;background:#f8fce9}
.team-card.team-B{border-color:#8ac7dc;background:#f3fbfd}
.team-card.team-C{border-color:#ebb393;background:#fff8f1}

/* Tactics board */
.board-main .topbar{margin-bottom:13px}
.board-main .topbar h1{font-size:clamp(24px,2.5vw,31px)}
.board-page{min-width:0}
.board-controls{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:9px;margin-bottom:9px}
.board-controls label{display:flex;align-items:center;gap:7px;min-width:0;height:40px;padding:0 10px;background:#fff;border:1px solid #dce5dc;border-radius:11px;color:#728178;font-size:11px;font-weight:800;white-space:nowrap}
.board-controls select{min-width:0;flex:1;width:auto;height:36px;border:0;background:transparent;color:#1e3c2d;outline:0;font-size:12px;font-weight:800;text-overflow:ellipsis}
.board-access-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding:0 2px;min-height:25px}
.board-mode{display:inline-flex;align-items:center;gap:6px;color:#607369;font-size:11px;font-weight:800}
.board-mode .dot{color:#58a06f}
.board-access-button{border:0;background:none;padding:3px;color:#236348;font-size:11px;font-weight:800;white-space:nowrap}
.board-view-mode{color:#8b998c;font-size:11px;font-weight:700}
.board-layout{grid-template-columns:minmax(0,1fr) 220px;gap:15px;align-items:start}
.board-field-wrap{min-width:0}
.pitch{width:100%;max-width:680px;aspect-ratio:.75;margin:0 auto;border:3px solid #1d5c43;border-radius:17px;background:repeating-linear-gradient(0deg,#287251 0,#287251 12.5%,#2e7957 12.5%,#2e7957 25%);box-shadow:0 13px 30px #17412d2b, inset 0 0 0 2px #ffffff17}
.pitch{touch-action:pan-y}
.pitch-interior{position:absolute;inset:20px;z-index:1;touch-action:none}
.pitch .piece{touch-action:none}
.pitch-lines{inset:20px;border-color:#ffffffa8}
.pitch-lines:before,.pitch-lines:after,.box-top,.box-bottom{border-color:#ffffffa8}
.box-top{top:20px}
.box-bottom{bottom:20px}
.piece{width:40px;height:40px;padding:2px;border:2px solid #fff;background:#fffaf0;color:#1e4f39;box-shadow:0 3px 10px #123a2f72;line-height:1.02}
.pitch.team-A .piece{background:#c8484d;color:#fff}
.pitch.team-B .piece{background:#3473c8;color:#fff}
.pitch.team-C .piece{background:#8053be;color:#fff}
.piece.view-only{cursor:default}
.piece .jersey{font-size:10px;font-weight:900;line-height:1}
.piece .piece-name{font-size:8px;font-weight:800;max-width:36px;line-height:1.05;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-all;text-align:center}
.piece.no-number .piece-name{font-size:11px;max-width:36px;line-height:1.05}
.piece.dragging{transform:translate(-50%,-50%) scale(1.08)}
.board-field-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:680px;margin:10px auto 0}
.board-field-foot p{color:#718278;font-size:11px;line-height:1.45;margin:0}
.board-field-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.board-save{padding:9px 13px;font-size:11px}
.board-roster{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px}
.board-roster .subhead{margin-bottom:11px}
.board-roster .roster-item{background:#f8faf6;padding:7px}

@media(max-width:850px){
  .main{padding-bottom:71px}
  .mobile-nav{padding:4px 8px calc(3px + env(safe-area-inset-bottom));align-items:end}
  .mobile-nav button{gap:1px;padding:2px 8px;line-height:1}
  .board-main{padding-top:17px}
  .board-layout{grid-template-columns:minmax(0,1fr) 190px}
}
@media(max-width:620px){
  .board-main{padding:16px 11px 68px}
  .board-main .topbar{margin:0 5px 10px}
  .board-main .topbar .eyebrow{font-size:10px;margin-bottom:3px}
  .board-main .topbar h1{font-size:23px}
  .board-main .avatar{width:36px;height:36px}
  .board-controls{gap:6px;margin-bottom:7px}
  .board-controls label{height:35px;padding:0 7px;gap:3px;font-size:10px}
  .board-controls select{height:32px;font-size:11px}
  .board-access-row{margin-bottom:7px}
  .board-layout{grid-template-columns:1fr;gap:13px}
  .pitch{max-width:none;aspect-ratio:9/16;border-width:2px;border-radius:14px}
  .piece{width:36px;height:36px}
  .piece .jersey{font-size:9px}
  .piece .piece-name{font-size:8px;max-width:32px}
  .piece.no-number .piece-name{font-size:10px;max-width:32px}
  .board-field-foot{align-items:flex-start}
  .board-roster{padding:12px}
  .roster-edit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-live{padding-top:33px}
  .feature-badge{top:7px;right:10px;max-width:calc(100% - 86px)}
}

/* Draft room and historical statistics */
.draft-main .topbar{margin-bottom:15px}
.draft-toolbar{align-items:center;margin-bottom:11px;gap:7px}
.draft-toolbar .stats-trigger{margin-left:auto}
.draft-room-head{align-items:center;margin-bottom:12px}
.draft-room-head h2{font-size:23px}
.draft-room-head p{line-height:1.4}
.draft-list-head{align-items:center}
.draft-head-actions{display:flex;align-items:center;gap:8px;flex:none}
.stats-trigger{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#eaf3e2!important;color:#295438!important}
.turn-banner{padding:11px 15px;margin-bottom:11px;border-radius:13px}
.turn-banner small{font-size:10px;line-height:1.1;margin-bottom:3px}
.turn-banner strong{font-size:17px;line-height:1.2}
.draft-pool .subhead{margin-bottom:9px}
.draft-pool .pick-list{gap:7px}
.draft-pool .pick-player{padding:8px 10px}
.draft-complete{padding:17px 18px;color:#244531}
.draft-complete strong{font-size:16px}
.draft-complete p{font-size:12px;color:var(--muted);margin:5px 0 0}
.draft-spotlight{--spot:#d9f581;position:relative;overflow:hidden;isolation:isolate;border-radius:17px;padding:2px;margin:0 0 13px;background:#49675a;box-shadow:0 4px 12px #1f403e18}
.draft-spotlight.team-B{--spot:#8cdaeb}
.draft-spotlight.team-C{--spot:#ffb88f}
.spotlight-inner{position:relative;z-index:1;overflow:hidden;border-radius:15px;background:radial-gradient(circle at 85% -15%,#527b72 0,transparent 40%),linear-gradient(135deg,#173c31,#0d2527);padding:14px 15px 0;color:#fff}
.spotlight-kicker{color:var(--spot);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.spark{display:inline-block;opacity:.65}
.spotlight-inner h3{margin:4px 0 10px;font-size:16px;line-height:1.25;letter-spacing:-.03em}
.spotlight-picks{display:grid;gap:6px}
.spotlight-pick{display:flex;align-items:center;gap:9px;background:#ffffff16;border:1px solid #ffffff28;border-radius:10px;padding:8px 10px;min-width:0}
.spotlight-pick .spotlight-rank{display:grid;place-items:center;min-width:58px;border-radius:7px;background:var(--spot);color:#18382c;font-size:10px;font-weight:900;padding:4px 6px;white-space:nowrap}
.spotlight-pick strong{font-size:15px;flex:1;min-width:0}
.spotlight-pick>span:last-child{font-size:10px;color:#c6d9d3}
.spotlight-inner>*{position:relative;z-index:1}
.spotlight-foot{display:flex;justify-content:space-between;gap:9px;color:#c2d9d0;font-size:10px;font-weight:700;padding:7px 0 9px}
.spotlight-progress{height:3px;margin:0 -15px;background:var(--spot);transform-origin:left center;animation:spotlight-timer 10s linear forwards}
@keyframes spotlight-timer{to{transform:scaleX(0)}}
.final-rosters{margin-top:25px}
.final-rosters-heading{margin-bottom:13px;display:flex;align-items:end;justify-content:space-between;gap:10px}
.export-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.final-rosters-heading .eyebrow{font-size:10px;color:#5f8772;margin-bottom:3px}
.final-rosters-heading h3{font-size:23px;letter-spacing:-.05em;margin:0}
.final-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.final-roster{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 7px 25px #1539260c}
.final-roster-head{display:flex;justify-content:space-between;align-items:center;background:#daf1a9;color:#24452e;padding:12px 15px;font-size:14px;font-weight:900}
.final-roster.team-B .final-roster-head{background:#cdebf2;color:#215166}
.final-roster.team-C .final-roster-head{background:#fae0cc;color:#764631}
.final-roster-head strong{font-size:11px}
.final-captain{display:flex;justify-content:space-between;align-items:center;margin:13px 15px 6px;padding:9px 11px;background:#f4f7ed;border-radius:10px}
.final-captain span,.final-roster li span{color:#748379;font-size:11px;font-weight:800}
.final-captain strong{font-size:13px}
.final-roster ol{list-style:none;margin:0;padding:0 15px 14px}
.final-roster li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 2px;border-bottom:1px solid #edf1eb}
.final-roster li:last-child{border-bottom:0}
.final-roster li strong{font-size:13px}
.stats-modal{width:min(100%,690px);max-height:min(88vh,820px);padding:24px}
.stats-modal .modal-head{margin-bottom:13px}
.stats-modal .modal-head .eyebrow{margin-bottom:3px;font-size:10px}
.stats-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;background:#e9eee7;border-radius:12px;margin-bottom:14px}
.stats-tabs button{border:0;border-radius:9px;background:transparent;color:#698071;padding:10px 5px;font-size:12px;font-weight:900}
.stats-tabs button.active{background:#fff;color:#215038;box-shadow:0 2px 8px #21473116}
.stats-note{font-size:11px;color:#718077;line-height:1.55;margin:0 0 12px}
.stats-body{max-height:calc(88vh - 185px);overflow:auto;padding-right:2px}
.stats-list{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.stats-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #edf1ea;min-width:0}
.stats-row:last-child{border-bottom:0}
.stats-order{min-width:54px;color:#6e8e74;font-size:11px;font-weight:900}
.stats-row strong{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stats-row small{color:#829187;font-size:11px;white-space:nowrap}
.stats-row b{min-width:48px;text-align:right;color:#245d3d;font-size:13px;white-space:nowrap}
.stats-empty{padding:30px 15px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:13px;color:#7c8c80;font-size:12px}
.stats-season,.stats-captain{margin-bottom:15px}
.stats-season-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 1px 8px}
.stats-season-head h3{margin:0;font-size:16px}
.stats-season-head span{color:#829187;font-size:11px;font-weight:700;white-space:nowrap}
.room-social{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin:-4px 0 9px;color:#647b6b;font-size:11px;font-weight:800}
.room-viewers{display:flex;align-items:center;gap:7px;min-width:0}
.room-viewers small{font-size:10px;color:#87998b;white-space:nowrap}
.room-avatars{display:flex;align-items:center;padding-left:4px}
.room-avatar{width:24px;height:24px;margin-left:-5px;border:2px solid #f5f7f0;border-radius:50%;display:grid;place-items:center;background:#d5e9ae;color:#245037;font-size:10px;font-weight:900}
.room-avatar:nth-child(2n){background:#cde8ef;color:#24566a}
.room-avatar:nth-child(3n){background:#f4dec7;color:#71442b}
.room-chat-button{border:1px solid #d3e2d3;border-radius:9px;background:#fff;color:#2a6846;padding:5px 10px;font-size:11px;font-weight:900;white-space:nowrap}
.draft-waiting{background:#fff2dc;border:1px solid #e7c78b;color:#825219;border-radius:11px;margin:0 0 10px;padding:9px 12px;font-size:12px;font-weight:900;line-height:1.4}
.stats-export{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.stats-export small{color:#829187;font-size:10px}
.chat-modal{width:min(100%,500px);padding:19px;max-height:min(90vh,760px);display:flex;flex-direction:column}
.chat-modal .modal-head{margin-bottom:9px}
.chat-modal .modal-head h2{margin:1px 0 3px}
.chat-modal .modal-head small{font-size:11px;color:#84948a}
.chat-log{height:min(52vh,440px);min-height:210px;overflow:auto;background:#f5f8f2;border:1px solid #e5eee3;border-radius:14px;padding:14px}
.chat-empty{height:100%;display:grid;place-items:center;color:#8b9b8d;font-size:12px}
.chat-message{display:flex;gap:8px;margin-bottom:14px;align-items:flex-start}
.chat-message.mine{flex-direction:row-reverse}
.chat-avatar{width:29px;height:29px;flex:none;border-radius:50%;background:#d8ebbc;color:#245838;display:grid;place-items:center;font-size:12px;font-weight:900}
.chat-message.mine .chat-avatar{background:#cbe6ec;color:#205570}
.chat-meta{display:flex;align-items:baseline;gap:6px;margin:0 0 4px}
.chat-message.mine .chat-meta{justify-content:flex-end}
.chat-meta strong{font-size:11px;color:#3a6048}
.chat-meta time{font-size:9px;color:#94a199}
.chat-message p{display:inline-block;max-width:310px;margin:0;background:#fff;border-radius:4px 11px 11px 11px;padding:8px 10px;color:#304639;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.chat-message.mine p{background:#dff0cf;border-radius:11px 4px 11px 11px}
.chat-form{display:flex;gap:7px;margin-top:10px}
.chat-form input{flex:1;min-width:0;border:1px solid #dce7d9;border-radius:10px;padding:9px 11px;font-size:13px;background:#fff}
@media(max-width:850px){.draft-main{padding-top:17px}.draft-main .topbar{margin-bottom:12px}}
@media(max-width:620px){
  .draft-main{padding:13px 13px 68px}
  .draft-main .topbar{margin:0 2px 9px}
  .draft-main .topbar .eyebrow{font-size:10px;margin-bottom:2px}
  .draft-main .topbar h1{font-size:22px}
  .draft-main .avatar{width:36px;height:36px}
  .draft-toolbar{margin-bottom:8px;gap:5px;flex-wrap:nowrap}
  .draft-toolbar .btn{font-size:11px;padding:7px 8px}
  .draft-room-head{margin-bottom:9px}
  .draft-room-head h2{font-size:20px}
  .draft-room-head p{font-size:10px;line-height:1.35}
  .draft-room-head .status{font-size:10px;padding:5px 7px}
  .turn-banner{padding:9px 12px;margin-bottom:9px}
  .turn-banner strong{font-size:15px}
  .draft-pool .subhead{margin-bottom:8px}
  .draft-pool .subhead h3{font-size:15px}
  .draft-pool .pick-player{padding:7px 9px}
  .draft-list-head{align-items:start;flex-wrap:wrap}
  .draft-list-head h2{font-size:22px}
  .draft-head-actions{margin-left:auto}
  .draft-head-actions .btn{padding:8px 10px;font-size:11px}
  .stats-modal{padding:17px;max-height:92vh}
  .stats-body{max-height:calc(92vh - 166px)}
  .stats-row{padding:9px 8px;gap:6px}
  .stats-order{min-width:51px;font-size:10px}
  .stats-row strong{font-size:12px}
  .stats-row small,.stats-row b{font-size:10px}
  .final-rosters-heading{align-items:start;flex-direction:column}
  .export-actions{justify-content:flex-start}
  .export-actions .btn{font-size:10px;padding:7px 9px}
  .room-social{margin:-4px 0 7px}
  .chat-modal{max-height:92vh}
}
@media(prefers-reduced-motion:reduce){.draft-spotlight,.draft-spotlight::before,.spotlight-inner::before,.spotlight-inner::after,.spark,.spotlight-progress{animation:none}}

/* Compact draft selections */
.draft-rosters{margin:0 0 13px}
.draft-rosters .subhead{margin-bottom:7px}
.draft-roster-grid{display:grid;grid-template-columns:repeat(var(--teams),minmax(0,1fr));gap:7px}
.draft-roster-grid .team-card{margin:0;padding:10px;border-radius:12px;min-width:0}
.draft-roster-grid .team-card.team-active{padding:9px}
.draft-roster-grid .team-card h4{font-size:12px;margin-bottom:6px}
.draft-roster-grid .chips{gap:4px;max-height:112px;overflow:auto}
.draft-roster-grid .chip{font-size:10px;padding:4px 6px}
.draft-pick-head{margin-top:3px}
.draft-pool .compact-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.draft-pool .compact-picks .pick-player{min-height:59px;padding:8px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;border:1px solid #dfe8dc;background:#fcfdf9;border-radius:11px;min-width:0;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}
.compact-picks .pick-player strong{flex:none;font-size:13px;line-height:1.2;overflow-wrap:anywhere}
.compact-picks .pick-player .number{margin:0;min-height:12px;font-size:10px;line-height:1.2;color:#7e9280}
.compact-picks .pick-player:disabled{opacity:.78}
.compact-picks .pick-player.selected{opacity:1;transform:translateY(-2px);box-shadow:0 7px 15px #183e2930}
.compact-picks .pick-player.selected.team-A{background:#d9f581;border-color:#8cad3e;color:#274527}
.compact-picks .pick-player.selected.team-B{background:#cce9f2;border-color:#77bace;color:#205269}
.compact-picks .pick-player.selected.team-C{background:#f9d7c3;border-color:#da9d78;color:#76432d}
.compact-picks .pick-player.selected .number{color:inherit;font-weight:900}
.draft-confirm{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:11px;padding:10px 12px;border-radius:13px;background:#e9f5d7;border:1px solid #c9e1ad}
.draft-confirm strong{display:block;font-size:12px;color:#295235}
.draft-confirm small{display:block;margin-top:3px;font-size:11px;color:#68806a}
.draft-confirm .btn{font-size:12px;padding:9px 11px}
@media(max-width:620px){.draft-pool .compact-picks{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.draft-roster-grid{gap:5px}.draft-roster-grid .team-card{padding:8px}.draft-roster-grid .team-card.team-active{padding:7px}}
@media(max-width:410px){.draft-pool .compact-picks{grid-template-columns:repeat(3,minmax(0,1fr))}}
.season-details{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:7px;color:#607b68;font-size:11px;font-weight:700;line-height:1.45}
.detail-divider{color:#a9b9a9;margin:0 3px}
.room-details{margin:-4px 0 9px}
.jersey-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.jersey-color{display:inline-block;padding:3px 7px;border-radius:7px;background:#edf3e7;color:#536c54;font-size:10px;font-weight:800;margin-bottom:6px}
.final-jersey{padding:0 15px}
@media(max-width:620px){.jersey-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.room-details{font-size:10px}}

/* Fantasy auction */
.auction-layout{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:15px;align-items:start}
.auction-main{min-width:0}.auction-history{max-height:670px;overflow:auto;padding:16px}.auction-history .subhead h3{font-size:15px}
.auction-history .muted{font-size:12px;line-height:1.6}.auction-event{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid #e9efe7}.auction-event:last-child{border:0}.auction-event span{font-size:10px;color:#839487}.auction-event strong{font-size:12px;line-height:1.45;color:#2c4737;font-weight:700}
.auction-lot{position:relative;overflow:hidden;background:linear-gradient(125deg,#153c2b,#27684b);color:white;border-radius:20px;padding:20px 22px;margin-bottom:12px;box-shadow:0 12px 30px #163b2b24}
.auction-lot:after{content:'';position:absolute;width:170px;height:170px;right:-42px;top:-67px;border:28px solid #d9f58128;border-radius:50%}.auction-lot-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:800;letter-spacing:.08em;color:#d7e9d5}.auction-countdown{border:1px solid #dcf5b880;border-radius:99px;padding:5px 10px;font-variant-numeric:tabular-nums;color:#e4f9be}.auction-lot h3{font-size:clamp(24px,4vw,34px);letter-spacing:-.04em;margin:10px 0 8px}.auction-current{font-size:13px;color:#bfd9c2}.auction-current strong{font-size:22px;color:#dcf58f;margin-left:7px}.auction-high,.auction-next{font-size:12px;margin-top:7px;color:#d7e7d7}.auction-next{font-weight:800;color:#fff}
.auction-broadcast{position:relative;background:#f2f9e2;border:1px solid #cfe6a7;border-radius:14px;padding:12px 15px;margin-bottom:11px;box-shadow:0 5px 18px #8cad5b20}.auction-broadcast:before{content:'✦';position:absolute;right:14px;top:10px;color:#80a83e;font-size:23px}.auction-broadcast small{display:block;color:#668148;font-size:10px;font-weight:800;letter-spacing:.06em;margin-bottom:4px}.auction-broadcast strong{font-size:14px;color:#294d2f;line-height:1.5}
.auction-broadcast.event-nominate,.auction-event.event-nominate{background:#fff5d8;border-color:#ebd48b}
.auction-broadcast.event-bid,.auction-event.event-bid{background:#e6f3ff;border-color:#a9d1ef}
.auction-broadcast.event-pass,.auction-event.event-pass{background:#eef1f5;border-color:#cbd3df}
.auction-broadcast.event-sold,.auction-event.event-sold{background:#e7f6d9;border-color:#b7db95}
.auction-broadcast.event-pause,.auction-event.event-pause{background:#fff0da;border-color:#efc990}
.auction-broadcast.event-resume,.auction-event.event-resume{background:#ddf5ef;border-color:#9bd6c6}
.auction-broadcast.event-cancel,.auction-event.event-cancel{background:#ffebec;border-color:#efb8bf}
.auction-broadcast.event-free,.auction-event.event-free{background:#f1eaff;border-color:#cdb7f1}
.auction-broadcast.event-info,.auction-event.event-info{background:#f3f7f0;border-color:#d8e4d1}
.auction-event{border:1px solid;border-radius:10px;padding:9px 10px;margin:7px 0}
.auction-event:last-child{border:1px solid}
.auction-broadcast{min-height:116px;padding:18px 20px}
.auction-broadcast.team-A,.auction-event.team-A{--captain-ink:#315b18;--captain-soft:#dff1bc}
.auction-broadcast.team-B,.auction-event.team-B{--captain-ink:#14628e;--captain-soft:#d5ecfa}
.auction-broadcast.team-C,.auction-event.team-C{--captain-ink:#a04521;--captain-soft:#ffe1ca}
.auction-broadcast.team-neutral,.auction-event.team-neutral{--captain-ink:#375144;--captain-soft:#e5eee5}
.auction-speaker{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:5px 10px;margin:6px 0;background:var(--captain-soft);color:var(--captain-ink);font-size:12px;font-weight:900;line-height:1.35}
.auction-broadcast>strong{display:block;font-size:16px;color:var(--captain-ink);line-height:1.5;margin-top:4px}
.auction-event .auction-speaker{font-size:10px;padding:3px 7px;margin:1px 0}
.auction-event strong{color:var(--captain-ink)}
.auction-broadcast.auction-broadcast-sold{min-height:205px;overflow:hidden;padding:22px 24px;background:linear-gradient(120deg,#fff9dd 0%,#f4f9dc 48%,#fff4d6 100%);border:2px solid #dfcf89;box-shadow:0 12px 32px #9f852740}
.auction-broadcast-sold:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 23%,#ffffff88 45%,transparent 67%);transform:translateX(-120%);animation:auction-shine 3.2s ease-in-out infinite}
.auction-broadcast-sold .auction-broadcast-kicker{position:relative;z-index:1;color:#866623;font-size:12px;font-weight:900;letter-spacing:.18em}
.auction-broadcast-sold .auction-speaker{position:relative;z-index:1;margin-top:12px;font-size:13px}
.auction-broadcast-sold h3{position:relative;z-index:1;margin:6px 0 12px;color:var(--captain-ink);font-size:clamp(24px,5vw,33px);font-weight:900;line-height:1.2}
.auction-broadcast-sold h3 span{font-size:14px;margin-left:9px;color:#7c723e}
.auction-broadcast-sold .auction-broadcast-price{position:relative;z-index:1;display:flex;align-items:baseline;gap:10px;color:#716845;font-size:12px;font-weight:800}
.auction-broadcast-sold .auction-broadcast-price strong{color:var(--captain-ink);font-size:25px;font-weight:900}
@keyframes auction-shine{0%,28%{transform:translateX(-120%)}62%,100%{transform:translateX(120%)}}
@media(prefers-reduced-motion:reduce){.auction-broadcast-sold:after{animation:none;display:none}}
.auction-stage-note{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 17px;margin-bottom:12px;color:#365541;font-size:13px}.auction-stage-note strong{font-size:16px}.auction-stage-note p{font-size:12px;color:#708274;margin:5px 0 0;line-height:1.5}
.auction-price{background:white;border:1px solid #dfe9d8;border-radius:16px;padding:15px;margin:11px 0}.auction-price-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.auction-price-main label{font-size:12px;font-weight:800;color:#4f6c53}.auction-price-main input{width:150px;border:1px solid #b9d49f;border-radius:10px;background:#f8fcef;color:#214329;font-size:20px;font-weight:900;text-align:right;padding:9px 11px;outline:0}.auction-price-main input:focus{box-shadow:0 0 0 3px #d9eabb}.auction-price-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:12px}.auction-price-steps button{min-width:0;border:1px solid #e1eade;background:#f6f9f1;color:#335941;border-radius:9px;padding:8px 3px;font-size:10px;font-weight:800;white-space:nowrap}.auction-price-steps button:hover{background:#e7f4d2}.auction-price p{font-size:10px;color:#819083;margin:9px 0 0}.auction-actions{display:flex;gap:9px;margin:10px 0 14px}.auction-actions .btn{flex:1}.auction-submit{width:100%;margin:0 0 14px}.auction-rosters{margin-top:15px}.auction-balance{font-size:10px;color:#708570;margin:2px 0 7px}.auction-balance strong{display:block;color:#2d6340;font-size:14px}.auction-paused{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#fff1df;color:#8a5422;border:1px solid #f4d4a2;border-radius:12px;margin-bottom:10px;font-size:12px;font-weight:800}.auction-player-grid{margin-bottom:12px}
.stats-modes{display:grid;grid-template-columns:1fr 1fr;background:#e9eee4;border-radius:12px;padding:3px;margin-bottom:10px}.stats-modes button{border:0;background:transparent;border-radius:9px;padding:9px 5px;color:#6f8372;font-size:12px;font-weight:800}.stats-modes button.active{background:#fff;color:#244d32;box-shadow:0 2px 7px #15372618}.season-delete{margin-left:auto}
.auction-waiting-pool{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:12px}.auction-waiting-pool .subhead{margin-bottom:8px}.auction-waiting-pool h3{font-size:13px}.auction-waiting-pool .chip{font-size:10px}
.auction-balance span{display:block;margin-top:3px;color:#6f8372;font-size:10px;font-weight:700}
@media(max-width:800px){.auction-layout{grid-template-columns:1fr}.auction-history{max-height:290px}}
@media(max-width:620px){.auction-lot{padding:17px}.auction-price-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.auction-price-steps button{font-size:9px;padding:8px 1px}.auction-price-main input{width:126px}.auction-history{max-height:230px}.auction-rosters .draft-roster-grid .chip{font-size:9px}}
.auction-player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.auction-player-grid .pick-player{min-width:0;min-height:59px;padding:8px 5px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #dfe8dc;background:#fcfdf9;border-radius:11px}
.auction-player-grid .pick-player strong{flex:none;font-size:13px;line-height:1.2;overflow-wrap:anywhere}
@media(max-width:620px){.auction-player-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}}

/* Post-draft transfers */
.trade-section{margin-top:28px;padding-top:25px;border-top:1px solid #dce5da}
.trade-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}
.trade-heading h3{margin:5px 0;font-size:22px;letter-spacing:-.04em}.trade-heading p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}
.trade-heading .btn{flex-shrink:0}.trade-spectator{font-size:12px;color:var(--muted)}
.trade-wallets{display:flex;gap:8px;margin-bottom:14px}.trade-wallet{flex:1;background:#edf2e8;border:1px solid #dce6d7;border-radius:12px;padding:11px 13px}.trade-wallet span{display:block;font-size:10px;color:#627769}.trade-wallet strong{display:block;margin-top:4px;font-size:15px;color:#254e36}
.trade-list{display:grid;gap:10px}.trade-card{background:#fff;border:1px solid #e0e7dc;border-radius:17px;padding:15px 17px}.trade-card.pending{border-color:#b6cba7}.trade-card.accepted{background:#f5f9ef}
.trade-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#6d8172}.trade-status{border-radius:20px;background:#edf1e9;padding:4px 8px;color:#597059;font-weight:800}.pending .trade-status{background:#fff0d4;color:#8c6826}.accepted .trade-status{background:#deedce;color:#426329}
.trade-exchange{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:10px;align-items:center;margin:15px 0}.trade-exchange small{display:block;color:#7d8d80;font-size:10px;margin-bottom:5px}.trade-exchange strong{display:block;font-size:14px;line-height:1.55;overflow-wrap:anywhere}.trade-arrow{text-align:center;font-size:23px;color:#7e9d79}.trade-exchange>div:last-child{text-align:right}
.trade-response{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding-top:12px;border-top:1px solid #edf1e9}.trade-response small{margin-right:auto;color:#7b8a7d;font-size:11px}.trade-response .btn{font-size:11px;padding:8px 10px}
.trade-empty{text-align:center;padding:25px 16px;background:#eef2e9;border:1px dashed #d1dcc8;border-radius:16px}.trade-empty>span{display:block;font-size:27px;color:#6e8b60;margin-bottom:8px}.trade-empty strong{font-size:13px;color:#4b6547}.trade-empty p{color:#81907d;font-size:11px;line-height:1.6;margin:6px 0 0}
.trade-offers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.trade-offer{min-width:0;background:#fff;border:1px solid #e0e7dc;border-top:3px solid #8eaf71;border-radius:13px;padding:12px}.trade-offer.team-B{border-top-color:#77acc4}.trade-offer.team-C{border-top-color:#b395c9}.trade-offer h3{font-size:13px;margin:0 0 4px}.trade-offer>small{display:block;color:#80907c;font-size:10px;margin-bottom:14px}.trade-offer .field{margin-bottom:10px}.trade-offer .field label{font-size:11px}.trade-offer .field select,.trade-offer .field input{padding:10px 8px;font-size:13px;width:100%;min-width:0}.trade-offer .field small{display:block;color:#7c8f79;font-size:10px;margin-top:6px;line-height:1.5}.trade-hint{font-size:11px;color:#76866f;line-height:1.8;margin:14px 0 18px}
@media(max-width:620px){.trade-heading{align-items:flex-start;gap:10px}.trade-heading h3{font-size:20px}.trade-heading p{font-size:11px}.trade-heading .btn{padding:10px;font-size:11px}.trade-card{padding:13px}.trade-wallet{padding:9px}.trade-wallet strong{font-size:12px}.trade-response{flex-wrap:wrap}.trade-response small{flex-basis:100%;margin-bottom:2px}.trade-modal{padding:20px 16px}.trade-offer{padding:10px}.trade-exchange strong{font-size:13px}}

/* Dedicated auction value statistics */
.stats-tabs{overflow-x:auto}.stats-tabs button{white-space:nowrap;flex:1}
.value-select{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700}.value-select select{flex:1;min-width:0;border:1px solid #dce5db;background:white;padding:10px;border-radius:10px}
.value-summary{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding:18px;background:#e9f1e7;border-radius:16px}.value-summary small{display:block;font-size:11px;color:#667968;margin-bottom:7px}.value-summary strong{font-size:25px}.value-summary strong span{font-size:11px}.value-summary b{font-size:15px}.value-chart{width:100%;height:auto;display:block;margin:12px 0}.chart-label{font:11px system-ui,sans-serif;fill:#6c7d70}.value-table>div{display:grid;grid-template-columns:minmax(0,1.7fr) .5fr 1fr;gap:8px;padding:11px 8px;font-size:12px;border-bottom:1px solid #e6ebe3}.value-table>div>:last-child{text-align:right}.value-table-head{color:#6c7d70}.value-ranking-title{margin:25px 0 12px;font-size:16px}

.pause-tools{display:flex;justify-content:flex-end;margin:-4px 0 10px}.rollback-panel{background:#f5edda;border:1px solid #e3d6b8;border-radius:16px;padding:15px;margin:10px 0 16px;color:#554526}.rollback-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.rollback-heading strong{font-size:13px}.rollback-panel h3{font-size:16px;margin:16px 0 8px}.rollback-panel p,.rollback-panel small{font-size:12px;line-height:1.7}.rollback-panel p{margin:10px 0}.rollback-form{display:flex;align-items:end;gap:10px;margin:14px 0 8px}.rollback-form label{flex:1;min-width:0;display:grid;gap:7px;font-size:12px}.rollback-form select{width:100%;border:1px solid #d9cba8;border-radius:9px;padding:9px 5px;background:white;font-size:12px}.rollback-votes{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.rollback-votes span{border-radius:8px;padding:7px 9px;font-size:11px;background:#e6ddc8}.rollback-votes .agreed{background:#dceacd;color:#355d32}
.stats-tabs{display:flex;gap:4px}.stats-tabs button{min-width:0;padding-left:5px;padding-right:5px}.stats-modal{display:flex;flex-direction:column;overflow:hidden}.stats-modal>.modal-head,.stats-modes,.stats-tabs,.stats-export{flex-shrink:0}.stats-modal .stats-body{min-height:0;flex:1;overflow-y:auto;max-height:none}

.simulation-note{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:12px;background:#e9eaf6;color:#514779;font-size:12px;line-height:1.6;margin:0 0 14px}.draft-head-actions{flex-wrap:wrap}

.reuse-preview{background:#eef0e9;border:1px solid #dfe5da;border-radius:14px;padding:15px}.reuse-preview p{font-size:12px;line-height:1.7;margin:9px 0}.reuse-preview .chips{max-height:170px;overflow:auto}

/* Post-match player ratings */
.season-ratings{margin-top:24px}.rating-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.rating-card{background:#f3f7f3;border:1px solid #e1e8e0;border-radius:14px;padding:14px;display:grid;gap:6px}.rating-card b{font-size:25px;color:#237257}.rating-card small,.rating-table small{color:#7d8980;font-size:11px}.rating-inputs{display:grid;gap:8px}.rating-input{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:12px;background:#f5f7f4}.rating-input select{width:110px}.rating-stats-modal{max-width:780px}.rating-table-wrap{overflow:auto;max-height:42vh;border:1px solid #e3e9e2;border-radius:14px}.rating-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.rating-table th,.rating-table td{padding:12px 10px;border-bottom:1px solid #e8ede7;white-space:nowrap}.rating-table thead th{position:sticky;top:0;background:#edf3ed;z-index:1}.rating-table small{display:block;margin-top:4px}.rating-trend{margin-top:24px;padding-top:16px;border-top:1px solid #e3e9e2}.rating-trend .row>label{flex:1;min-width:0}.rating-trend select{display:block;width:100%;margin-top:7px}.rating-chart{display:block;width:100%;max-height:330px;margin:16px auto}.rating-chart text{font-size:10px;fill:#5b6a60}.rating-history>div{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0eb}.rating-history>div span{flex:1}.rating-history small{color:#7b867f;font-size:11px}@media(max-width:600px){.rating-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.rating-card{padding:10px}.rating-table th,.rating-table td{padding:10px 7px;font-size:12px}.season-ratings .section-head h2{font-size:19px}}

.user-rating-link{border:0;background:transparent;padding:5px 0;text-align:left;font:inherit;font-size:11px;color:#647984;cursor:pointer}.review-button{border:1px solid #dbe4db;border-radius:9px;background:white;color:#355447;padding:8px;font:inherit;font-size:12px;cursor:pointer}.review-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#eef3f7;border-radius:12px;padding:14px;margin:20px 0 12px}.review-summary b{font-size:25px;color:#496980}.review-summary small{font-size:11px;color:#6d7b86}.review-scores summary{cursor:pointer;font-weight:600;font-size:13px}.review-score-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;max-height:220px;overflow:auto}.review-score-list>div{display:flex;justify-content:space-between;gap:8px;background:#f5f7f5;padding:10px;border-radius:9px;font-size:12px}.review-score-list strong{color:#496980}.user-score-form{background:#f2f6f2;padding:14px;border-radius:12px;margin:16px 0}.user-score-form>div{display:flex;gap:10px;margin:8px 0}.user-score-form select{flex:1;min-width:0;border:1px solid #d6dfd6;border-radius:9px;background:white;padding:9px;font:inherit}.user-score-form small{font-size:11px;color:#7a877e}#review-comment-form textarea{display:block;width:100%;min-height:85px;padding:12px;border:1px solid #dce4da;border-radius:10px;margin:8px 0;font:inherit;resize:vertical}.review-comments-heading{margin:20px 0 10px}.review-comments article{padding:14px 0;border-bottom:1px solid #e2e8e0}.review-comments header{display:flex;align-items:center;gap:9px;font-size:13px}.review-comments .player-avatar{width:28px;height:28px;font-size:12px}.review-comments time{margin-left:auto;font-size:10px;color:#879187}.review-comments p{font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0}.reviews-modal label{font-size:13px;font-weight:600}
