
:root{
  --bg:#09090b;
  --bg-soft:#0e0f12;
  --panel:#141519;
  --panel-2:#1c1d23;
  --panel-3:#25262e;
  --line:#30313a;
  --line-strong:#4b4d59;
  --text:#f5f5f7;
  --muted:#b3b4be;
  --faint:#9c9da9;
  --accent:#f15b64;
  --accent-rgb:241,91,100;
  --accent-solid:#c93440;
  --accent-hover:#d83a48;
  --on-accent:#ffffff;
  --danger:#ff747a;
  --success:#92e4bc;
  --warning:#efc56f;
  --radius:14px;
  --shadow:0 24px 70px rgba(0,0,0,.42);
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--mono);font-size:14px;line-height:1.5}
body{min-height:100vh;position:relative}
button,input,textarea,select{font:inherit}
button{color:inherit}
a{color:inherit}
.hidden{display:none!important}
::selection{background:rgba(var(--accent-rgb),.28);color:#fff}

/* forms */
label{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:8px}
input,textarea,select{
  width:100%;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);
  border-radius:var(--radius);padding:11px 12px;outline:none;min-height:42px;
  transition:border-color .13s ease,box-shadow .13s ease,background .13s ease;
}
input::placeholder,textarea::placeholder{color:#61636c}
input:hover,textarea:hover,select:hover{border-color:#34363d}
input:focus,textarea:focus,select:focus{border-color:var(--accent);background:var(--bg-soft);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.09)}
textarea{resize:vertical;min-height:96px;line-height:1.55}
input[type=color]{height:42px;padding:4px}
input[type=checkbox]{width:auto;min-height:0;accent-color:var(--accent)}
.form-note{color:var(--faint);font-size:11px;line-height:1.55;margin:0}
.stack{display:grid;gap:12px}.stack-lg{display:grid;gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.split{display:flex;align-items:center;justify-content:space-between;gap:16px}

.button{
  border:1px solid var(--line-strong);background:var(--panel-2);border-radius:var(--radius);
  padding:10px 14px;cursor:pointer;font-weight:800;
  transition:transform .12s ease,filter .12s ease,border-color .12s ease,background .12s ease;
}
.button:hover:not(:disabled){border-color:#555861;background:var(--panel-2)}
.button:active:not(:disabled){transform:translateY(1px)}
.button:disabled{opacity:.4;cursor:not-allowed}
.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.button.primary:hover:not(:disabled){filter:brightness(1.08)}
.button.danger{color:#ff9ca1;border-color:#69383c;background:#1a1012}
.button.small{padding:7px 9px;font-size:11px}
.wide{width:100%}
.text-button{border:0;background:none;color:var(--muted);cursor:pointer;padding:5px;font-weight:700}
.text-button:hover{color:var(--text)}
.muted{color:var(--muted)}.faint{color:var(--faint)}.danger{color:var(--danger)}.success{color:var(--success)}
.kicker,.eyebrow{font-size:10px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;font-weight:800}

/* authentication */
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(390px,1.08fr) minmax(420px,.92fr);position:relative;overflow:hidden}
.auth-brand{
  padding:38px 42px;display:flex;flex-direction:column;justify-content:space-between;
  border-right:1px solid var(--line);position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.01),transparent 70%);
}
.auth-brand:after{
  content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(var(--accent-rgb),.15);
  transform:rotate(45deg);right:-300px;bottom:-300px;box-shadow:0 0 100px rgba(var(--accent-rgb),.04);
}
.wordmark{
  font-weight:950;letter-spacing:-.055em;font-size:23px;position:relative;padding-left:16px;
}
.wordmark:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;background:var(--accent)}
.auth-copy{max-width:780px;padding:64px 0;position:relative;z-index:1}
.auth-copy h1{
  font-family:var(--mono);font-size:clamp(40px,5vw,72px);line-height:.99;letter-spacing:-.065em;
  margin:15px 0 23px;max-width:820px;font-weight:950;
}
.auth-copy p:last-child{max-width:610px;color:#b8bac2;line-height:1.72;font-size:14px}
.auth-foot{font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.07em}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:34px;background:rgba(8,8,10,.46)}
.auth-box{
  width:min(470px,100%);border:1px solid var(--line-strong);background:rgba(15,16,18,.96);
  padding:30px;border-radius:7px;box-shadow:var(--shadow);position:relative;
}
.auth-box:before{content:"";position:absolute;left:-1px;top:58px;width:3px;height:68px;background:var(--accent)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin:-4px 0 26px}
.auth-tab{
  border:0;background:none;padding:13px 10px;color:var(--muted);cursor:pointer;
  border-bottom:2px solid transparent;font-weight:800;
}
.auth-tab.active{color:var(--text);border-color:var(--accent)}

/* app shell / topbar */
.app-shell{min-height:100vh}
.topbar{
  min-height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;
  position:sticky;top:0;background:rgba(9,9,11,.94);backdrop-filter:blur(18px);z-index:30;
}
.brand-button{
  border:0;background:none;font-weight:950;letter-spacing:-.055em;font-size:18px;cursor:pointer;
  padding:0 0 0 14px;margin-right:30px;position:relative;
}
.brand-button:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;background:var(--accent)}
.topnav{display:flex;align-items:stretch;height:68px;gap:0}
.topnav button{border:0;border-left:1px solid transparent;border-right:1px solid transparent;background:none;color:var(--muted);padding:0 17px;cursor:pointer;font-weight:700}
.topnav button:hover{color:var(--text);background:rgba(255,255,255,.018)}
.topnav button.active{color:var(--text);background:var(--panel);border-color:var(--line)}
.top-user{margin-left:auto;display:flex;align-items:center;gap:14px;color:var(--muted);font-size:11px}
.page{max-width:1540px;margin:0 auto;padding:30px 24px 90px}
.page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px}
.page-head h1{font-family:var(--mono);font-size:34px;font-weight:950;letter-spacing:-.055em;margin:5px 0 0}
.page-head p{color:var(--muted);max-width:720px;line-height:1.6;margin:9px 0 0}

/* dashboard */
.action-strip{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;margin-bottom:27px}
.action-card{
  border:1px solid var(--line);background:var(--panel);padding:20px;min-height:150px;
  display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--radius);
  position:relative;overflow:hidden;
}
.action-card:first-child:after{
  content:"";position:absolute;right:-76px;top:-96px;width:230px;height:230px;border:1px solid rgba(var(--accent-rgb),.13);transform:rotate(45deg);
}
.action-card h2{font-family:var(--mono);font-size:20px;font-weight:900;margin:7px 0 8px;letter-spacing:-.035em}
.action-card p{color:var(--muted);line-height:1.55;margin:0 0 18px;max-width:700px}
.league-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.league-card{
  border:1px solid var(--line);background:var(--panel);padding:16px;cursor:pointer;min-height:170px;
  display:flex;flex-direction:column;transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease;
  border-radius:var(--radius);position:relative;overflow:hidden;
}
.league-card:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--accent);opacity:.45}
.league-card:hover{border-color:var(--line-strong);background:var(--panel-2);transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.2)}
.league-card h3{font-family:var(--mono);font-size:18px;font-weight:900;letter-spacing:-.025em;margin:9px 0 4px}
.league-card .league-meta{margin-top:auto;display:flex;gap:15px;color:var(--muted);font-size:10px}
.role-chip,.status-chip{
  display:inline-flex;align-items:center;height:23px;border:1px solid var(--line);padding:0 8px;border-radius:99px;
  font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;
}
.status-chip{border-color:#34363d}
.empty{border:1px dashed var(--line-strong);padding:30px;color:var(--muted);text-align:center;border-radius:var(--radius)}

/* league hero */
.league-hero{border:1px solid var(--line);background:var(--panel);margin-bottom:14px;border-radius:var(--radius);overflow:hidden}
.league-hero-top{display:grid;grid-template-columns:1fr auto;gap:24px;padding:21px 22px;position:relative}
.league-hero-top:after{
  content:"";position:absolute;right:-75px;top:-120px;width:235px;height:235px;border:1px solid rgba(var(--accent-rgb),.11);transform:rotate(45deg);pointer-events:none;
}
.league-title{display:flex;gap:14px;align-items:flex-start;position:relative;z-index:1}
.league-title h1{font-family:var(--mono);font-size:30px;font-weight:950;letter-spacing:-.055em;margin:5px 0}
.phase-block{text-align:right;min-width:270px;position:relative;z-index:1}
.phase-main{font-size:17px;font-weight:900;margin-top:6px}.phase-sub{color:var(--muted);font-size:10px;margin-top:6px}
.league-nav{display:flex;gap:0;border-top:1px solid var(--line);overflow:auto;background:var(--bg-soft)}
.league-nav button{
  border:0;border-right:1px solid var(--line);background:none;padding:12px 17px;color:var(--muted);cursor:pointer;
  white-space:nowrap;font-weight:800;font-size:11px;
}
.league-nav button:hover{color:var(--text);background:rgba(255,255,255,.02)}
.league-nav button.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 -2px var(--accent)}

/* team strip */
.team-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:12px 0 18px}
.team-mini{
  border:1px solid var(--line);background:var(--panel);padding:12px 13px;position:relative;overflow:hidden;border-radius:var(--radius)
}
.team-mini:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--team)}
.team-mini .name{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.team-mini .money{font-size:18px;font-weight:900;margin:7px 0 4px;letter-spacing:-.04em}
.team-mini .sub{font-size:9px;color:var(--muted)}
.team-mini.mine{border-color:color-mix(in srgb,var(--team) 55%,var(--line))}

/* market dashboard */
.market-dashboard{
  display:grid;grid-template-columns:1.25fr .75fr;border:1px solid var(--line);background:var(--panel);
  margin-bottom:16px;border-radius:var(--radius);overflow:hidden;
}
.market-budget{padding:19px 20px;border-right:1px solid var(--line);position:relative}
.market-budget:after{content:"";position:absolute;right:-65px;top:-88px;width:190px;height:190px;border:1px solid rgba(var(--accent-rgb),.09);transform:rotate(45deg);pointer-events:none}
.market-budget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:17px;position:relative;z-index:1}
.stat-label{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.stat-value{font-size:23px;font-weight:950;margin-top:5px;letter-spacing:-.055em}
.stat-note{font-size:9px;color:var(--faint);margin-top:4px}
.budget-track{height:6px;background:var(--line);margin-top:17px;overflow:hidden;border-radius:1px;position:relative;z-index:1}
.budget-fill{height:100%;background:var(--team-accent,var(--accent));transition:width .25s ease}
.market-position{padding:19px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-content:center}
.position-cell{border-left:1px solid var(--line);padding-left:14px}
.position-cell strong{display:block;font-size:27px;font-weight:950;margin-top:5px;letter-spacing:-.05em}

.phase-callout{
  border:1px solid var(--line-strong);background:var(--panel);padding:16px 18px;margin-bottom:16px;
  display:flex;justify-content:space-between;gap:20px;align-items:center;border-radius:var(--radius);
}
.phase-callout.your-turn{border-color:var(--team-accent,var(--accent));box-shadow:inset 3px 0 var(--team-accent,var(--accent))}
.phase-callout h2{font-family:var(--mono);font-size:19px;font-weight:900;margin:5px 0}
.phase-callout p{color:var(--muted);line-height:1.5;margin:0}

/* market */
.market-tools{
  display:grid;grid-template-columns:1fr 190px 190px;gap:8px;margin-bottom:12px;position:sticky;top:76px;
  z-index:18;background:rgba(9,9,11,.94);backdrop-filter:blur(16px);padding:9px 0;
}
.competitor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.competitor-card{
  border:1px solid var(--line);background:var(--panel);padding:14px;min-height:196px;cursor:pointer;
  display:flex;flex-direction:column;position:relative;overflow:hidden;border-radius:var(--radius);
  transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease;
}
.competitor-card:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:transparent}
.competitor-card:hover{border-color:var(--line-strong);background:var(--panel-2);transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.22)}
.competitor-card .number{font-size:9px;color:var(--faint);font-weight:800;letter-spacing:.06em}
.competitor-card h3{font-family:var(--mono);font-size:17px;font-weight:900;margin:9px 0 4px;letter-spacing:-.03em}
.competitor-card .subline{font-size:9px;color:var(--muted);line-height:1.5;text-transform:uppercase;letter-spacing:.035em}
.competitor-card .card-bottom{margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;gap:10px;align-items:flex-end}
.bid-big{font-size:18px;font-weight:950;letter-spacing:-.045em}
.leader-line{font-size:9px;color:var(--muted);margin-top:4px}
.card-status{
  font-size:8px;text-transform:uppercase;letter-spacing:.09em;padding:5px 7px;border:1px solid var(--line);
  border-radius:99px;color:var(--muted);font-weight:900;white-space:nowrap;
}
.card-status.winning{color:var(--success);border-color:#36563f;background:#101713}
.card-status.outbid{color:var(--danger);border-color:#5b3336;background:#171011}
.card-status.free{color:var(--warning);border-color:#665630;background:#17150f}

/* teams / players / panels */
.section-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:14px;align-items:start}
.panel{border:1px solid var(--line);background:var(--panel);padding:17px;border-radius:var(--radius)}
.panel h2{font-family:var(--mono);font-size:19px;font-weight:900;letter-spacing:-.03em;margin:5px 0 15px}
.panel h3{font-size:12px;margin:0 0 12px}
.team-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.team-card{border:1px solid var(--line);background:var(--panel);padding:15px;position:relative;overflow:hidden;border-radius:var(--radius)}
.team-card:before{content:"";height:3px;background:var(--team);position:absolute;top:0;left:0;right:0}
.team-card h3{font-family:var(--mono);font-size:17px;font-weight:900;margin:9px 0 4px}
.manager-list{display:grid;gap:6px;margin-top:13px}
.manager-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:8px;color:var(--muted);font-size:10px}
.code-hint{font-size:9px;color:var(--faint);margin-top:8px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;font-size:10px}
.table tbody tr:hover{background:rgba(255,255,255,.018)}
.table th{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.table td:last-child,.table th:last-child{text-align:right}

/* results */
.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.result-team{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);overflow:hidden}
.result-team-head{padding:15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;border-top:3px solid var(--team)}
.result-team h3{font-family:var(--mono);margin:0;font-size:18px;font-weight:900}
.result-list{padding:0 15px}
.result-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.result-row:last-child{border:0}.result-name{font-weight:900}.result-meta{font-size:9px;color:var(--muted);margin-top:3px}

/* account */
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.session-row{display:flex;gap:12px;justify-content:space-between;border-top:1px solid var(--line);padding:11px 0}
.session-row:first-child{border-top:0}.session-info{min-width:0}.session-info div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.current-badge{color:var(--success);font-size:9px;font-weight:900;letter-spacing:.08em}

/* modal */
.modal{position:fixed;inset:0;z-index:100;display:flex;justify-content:flex-end}
.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.72);cursor:default;backdrop-filter:blur(2px)}
.modal-card{
  position:relative;width:min(660px,94vw);height:100%;overflow:auto;background:var(--panel);
  border-left:1px solid var(--line-strong);padding:28px;box-shadow:-24px 0 65px rgba(0,0,0,.4);
}
.modal-card:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:linear-gradient(var(--accent),transparent 45%)}
.modal-close{
  position:sticky;float:right;top:0;border:1px solid var(--line);background:var(--panel-2);
  width:34px;height:34px;cursor:pointer;border-radius:var(--radius);font-size:18px;z-index:2;
}
.modal-title h2{font-family:var(--mono);font-size:28px;font-weight:950;letter-spacing:-.05em;margin:7px 45px 6px 0}
.modal-title p{color:var(--muted);margin:0;line-height:1.5}
.dossier-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:21px 0}
.dossier-stat{border:1px solid var(--line);padding:11px;background:var(--bg-soft);border-radius:var(--radius)}
.dossier-stat span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.dossier-stat strong{display:block;font-size:14px;margin-top:6px}
.live-bid-box{border:1px solid var(--line-strong);padding:16px;margin:18px 0;background:var(--panel);border-radius:var(--radius);box-shadow:inset 3px 0 var(--team,var(--accent))}
.live-bid-price{font-size:29px;font-weight:950;letter-spacing:-.06em;margin:5px 0}
.bid-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}
.quick-bids{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.history{margin-top:24px}.history-row{display:grid;grid-template-columns:80px 1fr auto;gap:8px;border-top:1px solid var(--line);padding:9px 0;font-size:9px}
.history-time{color:var(--faint)}

/* toast */
.toast{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:#f1f0ec;color:var(--bg);
  padding:11px 14px;border-radius:var(--radius);z-index:150;box-shadow:0 8px 30px rgba(0,0,0,.4);
  max-width:min(520px,90vw);font-size:11px;font-weight:800;border:1px solid #fff;
}
.toast.error{background:#2a1114;color:#ffb2b6;border-color:#6b383c}
.toast.success{background:#102018;color:#aee9bd;border-color:#31543b}

@media(max-width:1100px){
  .competitor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .league-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-grid{grid-template-columns:1fr}
  .market-dashboard{grid-template-columns:1fr}
  .market-budget{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:780px){
  .auth-shell{grid-template-columns:1fr}
  .auth-brand{min-height:330px;border-right:0;border-bottom:1px solid var(--line);padding:25px}
  .auth-copy{padding:38px 0}
  .auth-panel{padding:20px}
  .topbar{padding:0 14px;min-height:60px}
  .topnav{height:60px}
  .top-user{gap:8px}
  .page{padding:23px 14px 70px}
  .page-head{flex-direction:column}
  .action-strip,.account-grid,.grid-2,.grid-3,.results-grid{grid-template-columns:1fr}
  .league-list{grid-template-columns:1fr}
  .league-hero-top{grid-template-columns:1fr}
  .phase-block{text-align:left;min-width:0}
  .market-dashboard{grid-template-columns:1fr}
  .market-budget-grid{grid-template-columns:1fr 1fr}
  .market-position{grid-template-columns:1fr 1fr}
  .market-tools{grid-template-columns:1fr 1fr;top:60px}
  .market-tools input{grid-column:1/-1}
  .competitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-cards{grid-template-columns:1fr}
  .modal-card{width:100%;padding:20px}
  .dossier-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  .topnav{display:none}
  .competitor-grid{grid-template-columns:1fr}
  .market-budget-grid{grid-template-columns:1fr}
  .market-position{grid-template-columns:1fr 1fr}
  .top-user #topUsername{display:none}
  .league-title h1{font-size:26px}
  .page-head h1{font-size:29px}
  .auth-copy h1{font-size:39px}
}


/* v0.1.8 UX */
.workspace-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);overflow:hidden;margin:-8px 0 18px}
.workspace-stat{padding:14px 16px;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.workspace-stat:last-child{border-right:0}.workspace-stat span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.workspace-stat strong{font-size:20px;letter-spacing:-.04em}
.section-title{margin:26px 0 12px}.section-subtitle{font-size:10px;color:var(--faint);margin-top:5px}
.empty-action{display:flex;flex-direction:column;align-items:center;gap:9px}.empty-action strong{font-size:15px;color:var(--text)}.empty-action span{font-size:11px}
.league-quick-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.league-quick-meta span{border:1px solid var(--line);padding:5px 7px;border-radius:99px;font-size:9px;color:var(--muted)}
.phase-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.last-updated{font-size:9px;color:var(--faint);margin-top:7px}
.setup-guide{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:16px 18px;margin:12px 0;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:18px;align-items:center}
.setup-guide h2{font-size:16px;margin:5px 0 4px}.setup-guide p{font-size:10px;color:var(--muted);margin:0}
.setup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.setup-step{display:flex;align-items:center;text-align:left;gap:9px;border:1px solid var(--line);background:var(--bg-soft);padding:10px;border-radius:var(--radius);cursor:pointer}
.setup-step:hover{border-color:var(--line-strong);background:var(--panel-2)}.setup-step.done{border-color:#31543b}
.setup-index{width:24px;height:24px;border:1px solid var(--line-strong);display:grid;place-items:center;border-radius:99px;font-size:10px;flex:none}.setup-step.done .setup-index{border-color:#31543b;color:var(--success)}
.setup-step strong{display:block;font-size:10px}.setup-step small{display:block;color:var(--faint);font-size:8px;margin-top:2px}
.search-field{position:relative}.search-field input{padding-right:36px}.key-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:9px;color:var(--faint);border:1px solid var(--line);border-radius:3px;padding:2px 6px;pointer-events:none}
.team-mini.mine{cursor:pointer}.team-mini.mine:hover{background:var(--panel-2);transform:translateY(-1px)}
.page-loading{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:28px;position:relative;overflow:hidden;margin-top:30px}.loading-bar{position:absolute;left:0;top:0;height:2px;width:35%;background:var(--accent);animation:loadingSlide 1.15s ease-in-out infinite}.loading-lines{display:grid;gap:10px;margin-top:20px}.loading-lines span{display:block;height:11px;background:var(--panel-2);border-radius:2px}.loading-lines span:nth-child(1){width:64%}.loading-lines span:nth-child(2){width:91%}.loading-lines span:nth-child(3){width:48%}
@keyframes loadingSlide{0%{transform:translateX(-110%)}100%{transform:translateX(390%)}}
@media(max-width:900px){.setup-guide{grid-template-columns:1fr}.setup-steps{grid-template-columns:1fr}.workspace-summary{grid-template-columns:1fr}.workspace-stat{border-right:0;border-bottom:1px solid var(--line)}.workspace-stat:last-child{border-bottom:0}.phase-actions{justify-content:flex-start}}

/* v0.2.0 team management */
.team-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}
.team-actions .code-hint{margin-left:auto;margin-top:0}
@media(max-width:560px){.team-actions .button{flex:1}.team-actions .code-hint{width:100%;margin-left:0}}


/* v0.3.0 organizations */
.organization-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.organization-card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:17px;min-height:180px;cursor:pointer;position:relative;overflow:hidden;transition:transform .12s ease,border-color .12s ease,background .12s ease}
.organization-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--org,var(--accent))}
.organization-card:hover{transform:translateY(-2px);border-color:var(--line-strong);background:var(--panel-2)}
.organization-card h3{font-size:19px;letter-spacing:-.035em;margin:12px 0 5px}
.organization-card p{color:var(--muted);font-size:10px;line-height:1.55;min-height:32px}
.organization-hero{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;position:relative;overflow:hidden;margin-bottom:18px}
.organization-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--org,var(--accent))}
.organization-hero h1{font-size:31px;letter-spacing:-.055em;margin:6px 0}
.organization-hero p{color:var(--muted);margin:0;line-height:1.55;max-width:760px}
.organization-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:14px;align-items:start}
@media(max-width:1050px){.organization-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-layout{grid-template-columns:1fr}}
@media(max-width:650px){.organization-grid{grid-template-columns:1fr}.organization-hero{flex-direction:column}.organization-hero .phase-actions{justify-content:flex-start}}


/* v0.3.1 market interface */
.manager-view-line{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:4px 0 10px}
.manager-view-note{font-size:9px;color:var(--faint);margin-top:4px}
.manager-team-select{min-width:250px}

.manager-dashboard{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.95fr);gap:12px;margin-bottom:26px}
.manager-dashboard .dashboard-main,.manager-dashboard .dashboard-side{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius)}
.manager-dashboard .dashboard-main{padding:22px 22px 18px;position:relative;overflow:hidden}
.manager-dashboard .dashboard-main:after{content:"";position:absolute;right:-80px;top:-110px;width:260px;height:260px;border:1px solid color-mix(in srgb,var(--team-accent,var(--accent)) 25%,transparent);transform:rotate(45deg);pointer-events:none}
.dashboard-title{display:flex;align-items:center;gap:9px;margin-bottom:18px;position:relative;z-index:1}
.dashboard-title h1{font-size:28px;margin:4px 0 0;letter-spacing:-.045em}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 14px rgba(134,212,154,.38);flex:none}
.live-dot.idle,.live-dot.spectator{background:var(--faint);box-shadow:none}
.dashboard-numbers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);position:relative;z-index:1}
.dash-stat{padding:17px 14px 4px 0}
.dash-stat+.dash-stat{padding-left:16px;border-left:1px solid var(--line)}
.dash-label{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.dash-value{font-size:23px;font-weight:950;margin-top:5px;letter-spacing:-.04em}
.dash-meta{font-size:9px;color:var(--faint);margin-top:4px}
.manager-dashboard .budget-track{height:6px;background:var(--line);margin-top:18px}
.manager-dashboard .budget-fill{background:var(--team-accent,var(--accent))}
.budget-caption{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:8px;position:relative;z-index:1}
.dashboard-side{display:grid;grid-template-rows:auto 1fr}
.dashboard-side-head{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.dashboard-side-body{display:grid;grid-template-columns:repeat(2,1fr)}
.mini-stat{padding:18px;border-right:1px solid var(--line)}
.mini-stat:last-child{border-right:0}
.mini-stat-value{font-size:25px;font-weight:950;margin-top:5px;letter-spacing:-.04em}
.mini-stat-note{font-size:9px;color:var(--faint);margin-top:4px;line-height:1.4}
.spectator-dashboard .dashboard-main{min-height:150px}

.market-shell{border-top:1px solid var(--line);padding-top:22px}
.market-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:4px}
.market-heading h2{margin:5px 0 0;font-size:22px;letter-spacing:-.035em}
.market-summary{font-size:10px;color:var(--muted);text-align:right}
.cm-market-tools{grid-template-columns:minmax(280px,1fr) 205px 190px auto;align-items:center;margin-bottom:14px}
.search-glyph{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:17px;pointer-events:none}
.cm-market-tools .search-field input{padding-left:37px}
.market-count{font-size:10px;color:var(--muted);text-align:right;white-space:nowrap}

.cm-competitor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cm-competitor{border:1px solid var(--line);background:var(--panel);padding:0;border-radius:var(--radius);cursor:pointer;min-height:235px;display:flex;flex-direction:column;transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease;overflow:hidden;position:relative}
.cm-competitor:hover{border-color:var(--line-strong);background:var(--panel-2);transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.2)}
.cm-competitor.leader-mine{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.07)}
.cm-competitor.outbid-card{border-color:#4f3437}
.competitor-card-head{padding:13px 14px 11px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}
.competitor-card-head .number{color:var(--faint);font-size:10px;letter-spacing:.08em}
.card-actions{display:flex;align-items:center;gap:7px}
.card-star{color:var(--faint);font-size:16px;line-height:1}
.cm-status-chip{font-size:8px;border:1px solid var(--line);border-radius:3px;padding:4px 6px;color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.07em;font-weight:900}
.cm-status-chip.winning{border-color:rgba(var(--accent-rgb),.6);color:var(--text);background:rgba(var(--accent-rgb),.07)}
.cm-status-chip.outbid{border-color:#5c3438;color:#ffafb4;background:#171011}
.cm-status-chip.unbid{color:#7f818a}
.cm-status-chip.free{color:var(--warning);border-color:#665630;background:#17150f}
.competitor-body{padding:13px 14px 14px;display:flex;flex-direction:column;flex:1}
.competitor-body .name{font-size:17px;font-weight:950;line-height:1.15;letter-spacing:-.035em}
.competitor-body .show{font-size:10px;color:var(--muted);margin-top:5px}
.card-achievement{font-size:10px;line-height:1.45;color:#c7c7c5;margin-top:11px;min-height:30px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.scout-row{display:flex;align-items:center;gap:8px;margin-top:12px}
.scout-label{font-size:8px;color:var(--faint);text-transform:uppercase;white-space:nowrap}
.scout-score{font-size:10px;font-weight:900}
.scout-track{height:3px;background:var(--line);flex:1;overflow:hidden}
.scout-fill{height:100%;background:#d4d4d1}
.empty-rating{opacity:.55}
.bid-block{margin-top:auto;padding-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bid-block>div+div{border-left:1px solid var(--line);padding-left:10px}
.bid-block .label{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.bid-block .value{font-size:12px;font-weight:900;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bid-block .value.bid-value{font-size:16px}

/* competitor profile, market-only modal */
.modal.profile-modal{justify-content:center;align-items:center;padding:22px}
.modal.profile-modal .modal-backdrop{backdrop-filter:blur(6px)}
.modal.profile-modal .modal-card{width:min(920px,94vw);height:auto;max-height:92vh;border:1px solid var(--line-strong);border-radius:7px;box-shadow:var(--shadow);padding:0;overflow:auto;background:var(--panel)}
.modal.profile-modal .modal-card:before{display:none}
.modal.profile-modal .modal-close{position:sticky;float:right;right:12px;top:10px;margin:10px 10px 0 0}
.profile-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.78fr)}
.profile-left{padding:27px 28px 30px;border-right:1px solid var(--line)}
.profile-right{padding:27px 24px 30px;background:var(--bg-soft)}
.profile-head{padding-right:38px}
.profile-head h2{font-size:32px;margin:7px 0 5px;letter-spacing:-.05em;line-height:1}
.profile-sub{color:var(--muted);font-size:10px}
.achievement{margin-top:20px;border-left:2px solid var(--accent);padding:2px 0 2px 12px;line-height:1.45}
.achievement strong{font-size:12px}
.achievement .muted{margin-top:5px;font-size:10px;white-space:pre-wrap}
.stats-title{display:flex;justify-content:space-between;align-items:center;margin-top:27px;margin-bottom:10px}
.profile-stats{display:grid;gap:9px}
.profile-stat-row{display:grid;grid-template-columns:105px 1fr 55px;align-items:center;gap:9px}
.profile-stat-name{font-size:9px;color:var(--muted);text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-stat-bar{height:5px;background:var(--line);overflow:hidden}
.profile-stat-bar span{display:block;height:100%;background:#e7e6e1}
.profile-stat-text{height:1px;background:var(--line)}
.profile-stat-row strong{font-size:9px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.market-status-box{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}
.current-bid-label{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.big-money{font-size:31px;font-weight:950;letter-spacing:-.055em;margin-top:5px}
.profile-right .leader-line{display:flex;justify-content:space-between;gap:12px;font-size:10px;margin-top:9px}
.profile-right .leader-line span:first-child{color:var(--muted)}
.leader-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:1px}
.bid-state-banner{border:1px solid var(--line);padding:10px 11px;margin:13px 0 0;font-size:9px;line-height:1.45}
.bid-state-banner.winning{border-color:rgba(var(--accent-rgb),.55);background:rgba(var(--accent-rgb),.06)}
.bid-state-banner.outbid{border-color:#5a3539;background:#1b1012;color:#ffb5ba}
.bid-form{margin-top:12px}
.bid-input-line{display:grid;grid-template-columns:1fr auto;gap:7px}
.bid-input-line input{font-size:15px;font-weight:900;min-width:0}
.profile-right .quick-bids{margin-top:7px}
.bid-note{font-size:9px;color:var(--faint);margin-top:9px;line-height:1.5}
.profile-left .history{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.profile-left .history-row{grid-template-columns:90px 1fr auto}

@media(max-width:1240px){
  .manager-dashboard{grid-template-columns:1fr}
  .cm-competitor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .cm-competitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cm-market-tools{grid-template-columns:1fr 1fr}
  .cm-market-tools .search-field{grid-column:1/-1}
  .market-count{text-align:left}
  .profile-shell{grid-template-columns:1fr}
  .profile-left{border-right:0;border-bottom:1px solid var(--line)}
  .manager-view-line{align-items:stretch;flex-direction:column}
  .manager-team-select{min-width:0}
}
@media(max-width:560px){
  .cm-competitor-grid{grid-template-columns:1fr}
  .dashboard-numbers{grid-template-columns:1fr}
  .dash-stat+.dash-stat{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .dashboard-side-body{grid-template-columns:1fr}
  .mini-stat{border-right:0;border-bottom:1px solid var(--line)}
  .mini-stat:last-child{border-bottom:0}
  .cm-market-tools{grid-template-columns:1fr}
  .cm-market-tools .search-field{grid-column:auto}
}


/* v0.3.2 timed code reveal */
.code-row{gap:14px}
.code-meta{min-width:0;flex:1}
.code-reveal-value{display:block;margin-top:7px;font-size:11px;letter-spacing:.08em;color:var(--faint);font-weight:900;user-select:none}
.code-reveal-value.revealed{color:var(--text);user-select:text;letter-spacing:.045em}
.icon-button{min-width:36px;font-size:14px;padding-left:9px;padding-right:9px}
.icon-button:disabled{opacity:1;color:var(--muted);cursor:default}
@media(max-width:620px){.code-row{align-items:flex-start;flex-direction:column}.code-row>.inline{width:100%}.code-row>.inline .button{flex:1}}


/* v0.3.3 access page */
.access-page{display:grid;gap:16px}
.access-head{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:20px 22px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.access-head h2{font-size:22px;margin:5px 0 6px;letter-spacing:-.035em}
.access-head p{color:var(--muted);margin:0;max-width:720px;font-size:10px;line-height:1.55}
.access-summary{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));border:1px solid var(--line);min-width:390px}
.access-summary div{padding:12px 14px;border-right:1px solid var(--line);text-align:center}
.access-summary div:last-child{border-right:0}
.access-summary strong{display:block;font-size:19px;letter-spacing:-.035em}
.access-summary span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:3px}
.access-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
.access-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.access-toolbar .search-field{flex:1}
.access-member-list{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);overflow:hidden}
.access-member-card{display:grid;grid-template-columns:38px minmax(0,1fr) 150px auto;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}
.access-member-card:last-child{border-bottom:0}
.access-member-card:hover{background:var(--panel-2)}
.access-avatar{width:34px;height:34px;border:1px solid var(--line-strong);display:grid;place-items:center;border-radius:50%;font-weight:950;font-size:12px}
.access-person{min-width:0}
.access-person strong,.access-person span,.access-person small{display:block}
.access-person strong{font-size:11px}
.access-person span{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.access-person small{font-size:8px;color:var(--faint);margin-top:4px}
.access-role-cell{min-width:0}
.access-role-select{min-height:34px;padding:7px 9px;font-size:10px}
.access-role{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:99px;padding:5px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}
.access-role.owner{color:var(--text);border-color:var(--line-strong)}
.access-role.manager{color:var(--warning);border-color:#5c4e2c;background:#17140e}
.access-role.viewer{color:var(--muted)}
.access-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.access-add-panel p{font-size:10px;line-height:1.5}
.access-legend{display:grid;gap:12px}
.access-legend>div{border-top:1px solid var(--line);padding-top:10px}
.access-legend>div:first-child{border-top:0;padding-top:0}
.access-legend p{font-size:9px;line-height:1.5;color:var(--muted);margin:6px 0 0}
@media(max-width:1100px){
  .access-head{align-items:flex-start;flex-direction:column}
  .access-summary{min-width:0;width:100%}
  .access-layout{grid-template-columns:1fr}
}
@media(max-width:700px){
  .access-summary{grid-template-columns:repeat(2,1fr)}
  .access-summary div:nth-child(2){border-right:0}
  .access-summary div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .access-member-card{grid-template-columns:36px 1fr;align-items:start}
  .access-role-cell,.access-actions{grid-column:2}
  .access-actions{justify-content:flex-start}
}


/* v0.4.0 custom organization permissions */
.org-permission-list{display:grid;gap:0;margin-top:14px;border-top:1px solid var(--line)}
.org-permission-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.org-permission-row>div:first-child{min-width:0}.org-permission-row strong,.org-permission-row span,.org-permission-row small{display:block}.org-permission-row strong{font-size:10px}.org-permission-row span{font-size:9px;color:var(--muted);margin-top:2px}.org-permission-row small{font-size:8px;color:var(--faint);margin-top:4px;line-height:1.5}
.permission-checklist{display:grid;gap:8px}.permission-toggle{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);background:var(--bg-soft);padding:12px;border-radius:var(--radius);cursor:pointer;text-transform:none;letter-spacing:0;margin:0}.permission-toggle:hover{border-color:var(--line-strong);background:var(--panel-2)}.permission-toggle input{width:auto;min-height:0;margin-top:2px}.permission-toggle strong,.permission-toggle small{display:block}.permission-toggle strong{font-size:11px;color:var(--text)}.permission-toggle small{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.45}
.commissioner-box{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.commissioner-box>p{font-size:9px;color:var(--muted);line-height:1.5}.commissioner-offer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:9px}.commissioner-offer:last-child{border-bottom:0}
@media(max-width:650px){.org-permission-row{align-items:flex-start;flex-direction:column}.org-permission-row>.inline{width:100%}.org-permission-row>.inline .button{flex:1}}


/* v0.4.2 online presence */
.presence-strip{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:10px 12px;margin:10px 0}
.presence-label{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.presence-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 12px rgba(134,212,154,.35)}
.presence-users{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.presence-user{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:4px 7px;background:var(--bg-soft)}
.access-avatar-wrap{position:relative;width:34px;height:34px}
.access-online-dot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:var(--success);border:2px solid var(--panel);box-shadow:0 0 8px rgba(134,212,154,.35)}
.access-online-text{display:inline-block;margin-left:7px;color:var(--success);font-size:8px;text-transform:uppercase;letter-spacing:.06em;vertical-align:1px}
@media(max-width:700px){.presence-strip{align-items:flex-start;flex-direction:column}.presence-users{width:100%}}


/* v0.5.0 competitor history */
.history-import-panel .muted{font-size:10px;line-height:1.55}
.history-export-box{min-height:250px;font-size:10px;line-height:1.55;white-space:pre;font-family:var(--mono)}
.history-event-list{display:grid;border-top:1px solid var(--line)}
.history-event-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.history-event-row strong,.history-event-row span{display:block}
.history-event-row strong{font-size:11px}
.history-event-row span{font-size:9px;color:var(--muted);margin-top:3px}

.history-preview-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:22px 0;border-radius:var(--radius);overflow:hidden}
.history-preview-stats div{padding:13px;border-right:1px solid var(--line);text-align:center}
.history-preview-stats div:last-child{border-right:0}
.history-preview-stats strong{display:block;font-size:20px;letter-spacing:-.04em}
.history-preview-stats span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
.history-warning{border:1px solid #67552f;background:#19160f;padding:11px 13px;border-radius:var(--radius);margin-bottom:16px}
.history-warning strong,.history-warning span{display:block}
.history-warning strong{color:var(--warning);font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.history-warning span{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.5}
.history-review-section{border-top:1px solid var(--line);padding:15px 0}
.history-review-section p{font-size:9px;line-height:1.55}
.history-stage-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.history-stage-chips span{border:1px solid var(--line);background:var(--bg-soft);border-radius:99px;padding:5px 8px;font-size:9px;color:var(--muted)}
.history-unmatched{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:9px;max-height:220px;overflow:auto}
.history-unmatched>span{border:1px solid var(--line);padding:7px 8px;font-size:9px}
.history-unmatched small{color:var(--faint)}
.history-raw-preview{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);padding:10px;font-size:9px;max-height:180px;overflow:auto}
.history-review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

.performance-history{margin-top:27px;border-top:1px solid var(--line);padding-top:18px}
.performance-overview{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--bg-soft);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}
.performance-overview div{padding:11px 10px;border-right:1px solid var(--line)}
.performance-overview div:last-child{border-right:0}
.performance-overview span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.performance-overview strong{display:block;font-size:16px;margin-top:5px}
.course-history-list{display:grid;gap:8px}
.course-history-block{border:1px solid var(--line);background:var(--bg-soft);border-radius:var(--radius);padding:12px}
.course-history-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:9px}
.course-history-head>div:last-child{text-align:right}
.course-history-head strong,.course-history-head span{display:block}
.course-history-head strong{font-size:11px}
.course-history-head span{font-size:8px;color:var(--muted);margin-top:3px}
.stage-rate-list{display:grid;gap:8px}
.stage-rate-row{display:grid;grid-template-columns:120px 1fr 85px;gap:9px;align-items:center}
.stage-rate-row>div:first-child strong,.stage-rate-row>div:first-child span{display:block}
.stage-rate-row>div:first-child strong{font-size:9px}
.stage-rate-row>div:first-child span{font-size:8px;color:var(--faint);margin-top:2px}
.stage-rate-track{height:5px;background:var(--line);overflow:hidden}
.stage-rate-track span{display:block;height:100%;background:#e7e6e1}
.stage-rate-value{text-align:right;font-size:9px;font-weight:900}
.stage-rate-value small{display:block;color:var(--faint);font-size:7px;margin-top:2px;font-weight:500}
.recent-history{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.recent-history summary{cursor:pointer;font-size:9px;color:var(--muted)}
.performance-event-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:9px}
.performance-event-row strong,.performance-event-row span{display:block}
.performance-event-row span{color:var(--muted);font-size:8px;margin-top:2px}
.history-scout{border-top:1px solid var(--line);padding-top:9px}
.history-scout-text{font-size:8px;color:var(--muted);flex:1}

@media(max-width:700px){
  .history-preview-stats,.performance-overview{grid-template-columns:repeat(2,1fr)}
  .history-preview-stats div:nth-child(2),.performance-overview div:nth-child(2){border-right:0}
  .history-preview-stats div:nth-child(-n+2),.performance-overview div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .history-unmatched{grid-template-columns:1fr}
  .stage-rate-row{grid-template-columns:100px 1fr 70px}
  .history-event-row{align-items:flex-start}
}

/* v0.5.1 explicit Stage 1 clear-time metric */
.performance-overview small{display:block;color:var(--faint);font-size:7px;margin-top:3px}


/* v0.5.2 import compatibility */
.history-unmatched.selectable{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.history-unmatched-row{border:1px solid var(--line);padding:7px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.history-unmatched-row>span{font-size:9px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.history-unmatched-row small{color:var(--faint)}
@media(max-width:700px){.history-unmatched.selectable{grid-template-columns:1fr}}


/* v0.6.0 public league directory */
.discover-section{margin-top:22px}
.discover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.discover-league-card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:16px;min-height:190px;display:flex;flex-direction:column}
.discover-league-card.official{border-color:#594728;box-shadow:inset 0 0 0 1px rgba(255,204,91,.04)}
.discover-league-card h3{font-size:18px;margin:13px 0 6px;letter-spacing:-.035em}
.discover-league-card p{font-size:10px;color:var(--muted);line-height:1.55;margin:0 0 14px;min-height:32px}
.discover-actions{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.official-badge{display:inline-flex;align-items:center;border:1px solid #66532f;background:#18140d;color:#f1c96b;border-radius:3px;padding:4px 6px;font-size:8px;font-weight:900;letter-spacing:.08em}
.public-listing-settings{border:1px solid var(--line);background:var(--bg-soft);border-radius:var(--radius);padding:12px;display:grid;gap:9px}
.join-request-list{display:grid;gap:8px;margin-top:10px}
.join-request-row{border:1px solid var(--line);padding:10px;display:grid;gap:8px}
.join-request-row strong,.join-request-row span{display:block}
.join-request-row strong{font-size:10px}
.join-request-row span{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.45}
@media(max-width:1100px){.discover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.discover-grid{grid-template-columns:1fr}}


/* v0.7.0 league lifecycle + scroll stability */
html{scrollbar-gutter:stable}
#leagueBody{overflow-anchor:none}
.roster-page,.trade-page,.events-page{display:grid;gap:16px}
.compact-head{margin-bottom:0}
.roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.roster-team-card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:15px;position:relative;overflow:hidden}
.roster-team-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--team)}
.roster-team-card.mine{border-color:color-mix(in srgb,var(--team) 55%,var(--line))}
.roster-team-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:0 4px 11px;border-bottom:1px solid var(--line)}
.roster-team-head h3{margin:4px 0 0;font-size:18px}
.roster-player-list{display:grid;margin:8px 0 12px}
.roster-player-row{appearance:none;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;text-align:left;padding:9px 4px;cursor:pointer}
.roster-player-row:hover{background:var(--panel-2)}
.roster-player-row strong,.roster-player-row small{display:block}
.roster-player-row strong{font-size:10px}
.roster-player-row small{font-size:8px;color:var(--muted);margin-top:2px}
.roster-number{font-size:9px;color:var(--faint)}
.roster-acquisition{font-size:8px;color:var(--muted);font-weight:800}
.trade-hero{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.trade-hero.enabled{border-color:#3b503f}
.trade-hero h2{margin:5px 0;font-size:21px}
.trade-hero p{font-size:10px;color:var(--muted);margin:0;line-height:1.5}
.trade-list{display:grid;gap:9px;margin-top:12px}
.trade-card{border:1px solid var(--line);background:var(--bg-soft);border-radius:var(--radius);padding:12px}
.trade-route{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--muted)}
.trade-route span{border-left:2px solid var(--team);padding-left:6px}
.trade-swap{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:13px 0}
.trade-swap>div:not(.trade-arrow){border:1px solid var(--line);padding:9px}
.trade-swap small,.trade-swap strong{display:block}
.trade-swap small{font-size:7px;color:var(--faint)}
.trade-swap strong{font-size:10px;margin-top:3px}
.trade-arrow{color:var(--muted)}
.trade-card p{font-size:9px;color:var(--muted);line-height:1.5}
.trade-meta{font-size:8px;color:var(--faint);margin:8px 0}
.trade-history-list{display:grid;gap:8px;margin-top:10px}
.trade-history-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:8px 0}
.trade-history-row strong,.trade-history-row span{display:block}
.trade-history-row strong{font-size:9px}
.trade-history-row div span{font-size:8px;color:var(--muted);margin-top:2px}
.trade-status{font-size:7px;text-transform:uppercase;letter-spacing:.07em}
.trade-status.accepted{color:var(--success)}
.trade-status.declined,.trade-status.cancelled{color:var(--faint)}
.league-event-card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:15px}
.league-event-head{display:flex;justify-content:space-between;align-items:start;gap:12px}
.league-event-head h3{font-size:18px;margin:4px 0}
.league-event-head p{font-size:9px;color:var(--muted);margin:0}
.event-notes{font-size:9px;color:var(--muted);border-left:2px solid var(--line-strong);padding-left:9px;margin:12px 0}
.event-results-table{margin-top:13px;border:1px solid var(--line);overflow:auto}
.event-result-row{display:grid;grid-template-columns:60px minmax(150px,1.5fr) minmax(120px,1fr) minmax(120px,1fr) 80px;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);font-size:9px;min-width:620px}
.event-result-row:last-child{border-bottom:0}
.event-result-row.head{font-size:7px;text-transform:uppercase;color:var(--muted);letter-spacing:.07em;background:var(--bg-soft)}
.event-result-row strong,.event-result-row small{display:block}
.event-result-row small{font-size:7px;color:var(--faint);margin-top:2px}
.event-upload-panel{position:sticky;top:12px}
.small-empty{padding:14px!important;min-height:0!important}
@media(max-width:900px){.roster-grid{grid-template-columns:1fr}.trade-hero{align-items:flex-start;flex-direction:column}.event-upload-panel{position:static}}


/* v0.8.0 season-mode UX */
html{scroll-behavior:auto;scrollbar-gutter:stable}
body{overscroll-behavior-y:none}
#leagueBody{overflow-anchor:none}
.league-nav{scrollbar-width:thin}
.league-nav button{flex:0 0 auto}

.season-overview{display:grid;gap:14px}
.season-banner{border:1px solid var(--line);background:linear-gradient(180deg,#111216,var(--bg-soft));border-radius:var(--radius);padding:20px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;position:relative;overflow:hidden}
.season-banner:after{content:"";position:absolute;right:-90px;top:-120px;width:260px;height:260px;border:1px solid rgba(var(--accent-rgb),.12);transform:rotate(45deg);pointer-events:none}
.season-banner h2{font-family:var(--mono);font-size:27px;letter-spacing:-.05em;margin:5px 0 7px}
.season-banner p{color:var(--muted);font-size:10px;line-height:1.55;max-width:700px;margin:0}
.season-banner-stats{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));border:1px solid var(--line);background:var(--bg-soft);position:relative;z-index:1}
.season-banner-stats div{padding:11px 13px;border-right:1px solid var(--line);text-align:center}
.season-banner-stats div:last-child{border-right:0}
.season-banner-stats strong,.season-banner-stats span{display:block}
.season-banner-stats strong{font-size:18px}
.season-banner-stats span{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-top:3px}
.season-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.season-card{min-height:210px}
.overview-result-list,.overview-standings,.overview-team-list{display:grid;margin-top:12px}
.overview-result-list>div{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}
.overview-result-list span{color:var(--muted);font-size:9px}
.overview-result-list strong{font-size:10px}
.overview-result-list small{font-size:8px;color:var(--faint)}
.overview-standing-row{display:grid;grid-template-columns:25px 9px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}
.overview-standing-row>span:first-child{font-size:9px;color:var(--faint)}
.overview-standing-row strong{font-size:10px}
.overview-standing-row small{font-size:8px;color:var(--muted)}
.overview-team-list>div{display:grid;grid-template-columns:9px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}
.overview-team-list strong{font-size:10px}.overview-team-list small{font-size:8px;color:var(--muted)}
.team-dot{display:inline-block;width:7px;height:7px;border-radius:50%}

.standings-page{display:grid;gap:14px}
.standings-table{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);overflow:auto}
.standings-row{min-width:760px;display:grid;grid-template-columns:45px minmax(180px,1.5fr) repeat(6,minmax(75px,.65fr));align-items:center;gap:8px;padding:11px 12px;border-bottom:1px solid var(--line);font-size:9px}
.standings-row:last-child{border-bottom:0}
.standings-row.head{background:var(--bg-soft);color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.07em}
.standing-rank{font-size:14px;font-weight:950}
.standing-team{display:flex;align-items:center;gap:8px}
.standing-team strong{font-size:10px}

.activity-timeline{padding:0 16px}
.activity-row{display:grid;grid-template-columns:12px 1fr;gap:10px;position:relative;padding:12px 0;border-bottom:1px solid var(--line)}
.activity-row:last-child{border-bottom:0}
.activity-row:before{content:"";position:absolute;left:4px;top:22px;bottom:-12px;width:1px;background:var(--line)}
.activity-row:last-child:before{display:none}
.activity-dot{width:9px;height:9px;border:2px solid var(--panel);background:var(--accent);border-radius:50%;margin-top:2px;position:relative;z-index:1}
.activity-row strong,.activity-row span{display:block}
.activity-row strong{font-size:10px}
.activity-row div>span{font-size:8px;color:var(--muted);margin-top:3px}

.roster-format-note{border:1px solid var(--line);background:var(--bg-soft);border-radius:var(--radius);padding:10px;display:grid;gap:5px}
.roster-format-note code{font-size:11px}
.roster-format-note span{font-size:8px;color:var(--muted)}
.roster-import-warning{border:1px solid var(--line);padding:11px 12px;margin-top:10px}
.roster-import-warning strong,.roster-import-warning span{display:block}
.roster-import-warning strong{font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.roster-import-warning span{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.45}

@media(max-width:900px){
  .season-banner{align-items:flex-start;flex-direction:column}
  .season-banner-stats{width:100%}
  .season-overview-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .season-banner-stats{grid-template-columns:repeat(2,1fr)}
  .season-banner-stats div:nth-child(2){border-right:0}
  .season-banner-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}

/* v0.9 user directory + commissioner trade review */
.user-search-results{display:grid;gap:7px;margin-top:16px}
.user-search-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid var(--line);background:var(--panel);padding:11px 12px;color:var(--text);cursor:pointer}
.user-search-row:hover{border-color:var(--accent)}
.user-search-row strong{font-size:11px}.user-search-row span{font-size:8px;color:var(--muted)}
.profile-public-grid{display:grid;gap:16px;margin-top:20px}
.profile-public-grid section{border:1px solid var(--line);padding:12px}
.profile-public-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.profile-public-row:last-child{border-bottom:0}.profile-public-row strong{font-size:10px}.profile-public-row span{font-size:8px;color:var(--muted)}
.commissioner-waiting{border-color:rgba(var(--accent-rgb),.35)}
.commissioner-chip{display:inline-flex;margin:8px 0;padding:5px 7px;border:1px solid rgba(var(--accent-rgb),.28);font-size:7px;font-weight:900;letter-spacing:.07em;color:var(--accent)}
.trade-status.commissioner_rejected{color:var(--danger)}


/* v0.9.2 post-draft navigation refresh */
.season-desktop-nav{align-items:stretch}
.season-desktop-nav .season-more-trigger{margin-left:auto;border-left:1px solid var(--line);border-right:0;padding-left:20px;padding-right:20px}
.season-desktop-nav .season-more-trigger span{color:var(--faint);margin-left:4px}
.season-mobile-nav{display:none}
.season-more-sheet .modal-title h2{margin-bottom:5px}
.season-more-sheet .modal-title p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.season-more-groups{display:grid;gap:20px;margin-top:22px}
.season-more-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.season-more-list button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;border:1px solid var(--line);background:var(--bg-soft);color:var(--text);padding:12px;border-radius:var(--radius);cursor:pointer;min-height:62px}
.season-more-list button:hover{border-color:var(--line-strong);background:var(--panel-2)}
.season-more-list button.active{border-color:rgba(var(--accent-rgb),.65);box-shadow:inset 2px 0 var(--accent);background:rgba(var(--accent-rgb),.05)}
.season-more-list button span{font-size:10px;font-weight:900}
.season-more-list button small{font-size:8px;color:var(--muted);line-height:1.4}
.season-more-list.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.season-more-list.compact button{min-height:44px;justify-content:center}

@media(max-width:700px){
  body:has(.post-auction-hero){padding-bottom:76px}
  .post-auction-hero{margin-bottom:9px}
  .post-auction-hero .league-hero-top{padding:15px 16px;gap:13px}
  .post-auction-hero .league-title h1{font-size:23px;margin:3px 0}
  .post-auction-hero .league-description{display:none}
  .post-auction-hero .league-quick-meta{margin-top:8px;gap:5px}
  .post-auction-hero .league-quick-meta span{padding:4px 6px;font-size:8px}
  .post-auction-hero .phase-block{display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 10px;padding-top:10px;border-top:1px solid var(--line)}
  .post-auction-hero .phase-block>.eyebrow{grid-column:1/-1}
  .post-auction-hero .phase-main{font-size:14px;margin:0}
  .post-auction-hero .phase-sub{font-size:8px;margin-top:3px}
  .post-auction-hero .phase-actions{grid-column:2;grid-row:2/4;margin:0;align-self:center}
  .post-auction-hero .phase-actions .button{padding:7px 9px;font-size:9px}
  .post-auction-hero .phase-actions .button[data-action="leave-league"]{display:none}
  .post-auction-hero .last-updated{grid-column:1;margin:3px 0 0;font-size:8px}
  .season-desktop-nav{display:none}
  .season-mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:80;border:1px solid var(--line-strong);background:rgba(13,14,16,.96);backdrop-filter:blur(18px);box-shadow:0 14px 42px rgba(0,0,0,.5);border-radius:8px;overflow:hidden;padding:3px}
  .season-mobile-nav button{border:0;background:none;color:var(--muted);min-width:0;min-height:51px;padding:6px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:7px;font-weight:850;cursor:pointer;border-radius:5px}
  .season-mobile-nav button.active{background:var(--panel-3);color:var(--text);box-shadow:inset 0 2px var(--accent)}
  .mobile-nav-mark{font-size:8px;letter-spacing:.04em;color:var(--faint);font-weight:950}
  .season-mobile-nav button.active .mobile-nav-mark{color:var(--accent)}
  .post-auction-team-strip{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:7px;margin:9px -14px 14px;padding:0 14px 5px;scrollbar-width:none}
  .post-auction-team-strip::-webkit-scrollbar{display:none}
  .post-auction-team-strip .team-mini{flex:0 0 min(72vw,250px);scroll-snap-align:start;padding:10px 12px}
  .post-auction-team-strip .team-mini .money{font-size:16px;margin:5px 0 3px}
  .post-auction-team-strip .team-mini .sub{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .presence-strip{padding:8px 10px!important;gap:5px!important;margin:8px 0!important}
  .presence-users{max-height:26px;overflow:hidden}
  .season-nav-modal .modal-card{align-self:end;border-radius:12px 12px 0 0;max-height:min(82vh,760px);overflow:auto;padding-bottom:max(22px,env(safe-area-inset-bottom))}
  .season-more-list{grid-template-columns:1fr}
  .season-more-list.compact{grid-template-columns:repeat(2,1fr)}
  .season-more-list.compact button{min-height:42px}
  .toast{bottom:84px}
}

@media(min-width:701px){
  .season-nav-modal .modal-card{width:min(620px,calc(100vw - 32px))}
}

/* v0.9.4 private platform admin */
.admin-portal{display:grid;gap:18px}
.admin-private-chip{border:1px solid var(--danger);color:var(--danger);font-size:8px;font-weight:950;letter-spacing:.12em;padding:7px 9px}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.admin-stat-grid>div{padding:16px;border-right:1px solid var(--line);display:grid;gap:7px}
.admin-stat-grid>div:last-child{border-right:0}
.admin-stat-grid span{font-size:7px;color:var(--muted);font-weight:900;letter-spacing:.08em}
.admin-stat-grid strong{font-size:24px}
.admin-users-panel .section-head{align-items:end}
.admin-users-panel input{max-width:320px}
.admin-user-list{display:grid;margin-top:14px;border-top:1px solid var(--line)}
.admin-user-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px;border-bottom:1px solid var(--line)}
.admin-user-row>div{display:grid;gap:4px}
.admin-user-row strong{font-size:11px}.admin-user-row small{font-size:8px;color:var(--muted)}
.admin-user-meta{text-align:right}.admin-user-meta span{font-size:7px;font-weight:900;letter-spacing:.07em;color:var(--accent)}
@media(max-width:700px){.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-stat-grid>div:nth-child(2){border-right:0}.admin-stat-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.admin-user-row{align-items:flex-start}.admin-users-panel .section-head{align-items:stretch}.admin-users-panel input{max-width:none}}


/* v0.9.5 platform moderation + global enforcement */
.moderation-shell{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    var(--bg);
  background-size:38px 38px;
}
.moderation-card{
  width:min(720px,100%);border:1px solid var(--line-strong);background:rgba(15,16,18,.98);
  padding:30px;border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.moderation-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--danger)}
.moderation-card .wordmark{margin-bottom:38px}
.moderation-kicker,.moderation-detail-grid span,.moderation-reason>span,.moderation-appeal-status>span{
  display:block;font-size:8px;font-weight:950;letter-spacing:.11em;color:var(--muted);text-transform:uppercase
}
.moderation-card h1{font-family:var(--mono);font-size:34px;letter-spacing:-.055em;margin:7px 0 10px}
.moderation-lead{color:var(--muted);line-height:1.65;margin:0 0 24px}
.moderation-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);margin:20px 0}
.moderation-detail-grid>div{padding:15px;border-right:1px solid var(--line)}
.moderation-detail-grid>div:last-child{border-right:0}
.moderation-detail-grid strong{display:block;font-size:12px;margin-top:7px}
.moderation-reason,.moderation-appeal-status{border:1px solid var(--line);padding:16px;margin:14px 0;background:var(--panel)}
.moderation-reason p,.moderation-appeal-status p{margin:8px 0 0;line-height:1.6;color:var(--text)}
.moderation-appeal-status strong{display:block;margin-top:8px;font-size:13px}
.moderation-appeal-form{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.moderation-logout{margin-top:18px}

.admin-stat-grid-six{grid-template-columns:repeat(6,1fr)}
.admin-user-button{
  width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer;
}
.admin-user-button:hover{background:rgba(255,255,255,.025)}
.admin-status{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:5px 7px;font-size:7px!important;font-weight:950;letter-spacing:.08em}
.admin-status.ok{color:var(--success);border-color:#36563f}
.admin-status.danger{color:var(--danger);border-color:#5b3336}
.admin-account-status{border:1px solid var(--line);padding:15px 16px;margin:20px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}
.admin-account-status.restricted{border-color:#5b3336;box-shadow:inset 3px 0 var(--danger)}
.admin-account-status>div{display:grid;gap:5px}.admin-account-status span{font-size:8px;color:var(--muted);letter-spacing:.08em;font-weight:900}
.admin-account-status strong{font-size:14px}.admin-account-status small{color:var(--muted);font-size:8px}
.admin-moderation-actions{display:flex;flex-wrap:wrap;gap:8px}
.admin-case-list,.admin-appeal-list{display:grid;border-top:1px solid var(--line);margin-top:12px}
.admin-case-row,.admin-appeal-row{display:flex;justify-content:space-between;gap:18px;padding:13px 2px;border-bottom:1px solid var(--line)}
.admin-case-row>div,.admin-appeal-row>div:first-child{display:grid;gap:5px}
.admin-case-row strong,.admin-appeal-row strong{font-size:11px}
.admin-case-row span,.admin-case-row small,.admin-appeal-row small{font-size:8px;color:var(--muted)}
.admin-case-row p,.admin-appeal-row p{margin:2px 0 0;color:var(--muted);font-size:10px;line-height:1.5;max-width:760px}
.admin-case-row>div:last-child{text-align:right}
.admin-appeal-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.admin-users-panel .section-head p{margin:5px 0 0;color:var(--muted);font-size:10px}
.callout{border:1px solid var(--line);background:var(--panel);padding:13px 14px;color:var(--muted);line-height:1.55;font-size:10px}

@media(max-width:900px){
  .admin-stat-grid-six{grid-template-columns:repeat(3,1fr)}
  .admin-stat-grid-six>div{border-bottom:1px solid var(--line)}
  .admin-stat-grid-six>div:nth-child(3n){border-right:0}
}
@media(max-width:650px){
  .moderation-shell{padding:14px}.moderation-card{padding:22px}
  .moderation-card h1{font-size:29px}
  .moderation-detail-grid{grid-template-columns:1fr}
  .moderation-detail-grid>div{border-right:0;border-bottom:1px solid var(--line)}
  .moderation-detail-grid>div:last-child{border-bottom:0}
  .admin-stat-grid-six{grid-template-columns:repeat(2,1fr)}
  .admin-stat-grid-six>div:nth-child(3n){border-right:1px solid var(--line)}
  .admin-stat-grid-six>div:nth-child(2n){border-right:0}
  .admin-case-row,.admin-appeal-row{display:grid}
  .admin-case-row>div:last-child{text-align:left}
  .admin-appeal-actions{justify-content:flex-start}
}

/* v0.9.6 league format builder */
.format-builder{border:1px solid var(--line);padding:18px;background:rgba(255,255,255,.02);display:grid;gap:14px}
.format-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.format-module-grid .permission-toggle{min-height:52px}
@media(max-width:680px){.format-module-grid{grid-template-columns:1fr}}
/* v1.0 major platform */
.landing-shell{min-height:100vh;background:var(--bg);color:#f7f7f8}.landing-nav{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(9,9,11,.94);backdrop-filter:blur(14px);z-index:20}.landing-nav>div{display:flex;gap:10px;align-items:center}.landing-main{max-width:1180px;margin:auto;padding:0 24px}.landing-hero{padding:100px 0 80px;max-width:900px}.landing-hero h1{font-size:clamp(52px,8vw,100px);line-height:.88;letter-spacing:-.065em;margin:14px 0 28px}.landing-hero>p{font-size:20px;line-height:1.6;max-width:720px;color:#a1a1aa}.landing-price{font-size:15px;letter-spacing:.08em;margin:32px 0}.landing-price strong{font-size:38px;margin-left:8px}.landing-price span{font-weight:800}.landing-hero small{display:block;color:#71717a;margin-top:18px}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:20px 0 80px}.landing-features article{border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--panel)}.landing-features b{font-size:15px;letter-spacing:.06em}.landing-features p{color:#a1a1aa;line-height:1.5}.landing-cta{padding:70px 0 120px;text-align:center}.landing-cta h2{font-size:clamp(34px,5vw,64px);letter-spacing:-.04em;margin:12px}.landing-cta p{color:#a1a1aa}.landing-cta hr{border:0;border-top:1px solid var(--line);margin:70px 0}.legal-page{max-width:850px;margin:auto;padding:70px 24px 120px;line-height:1.7}.legal-page h1{font-size:48px;letter-spacing:-.04em}.legal-page h2{margin-top:38px}.legal-page p,.legal-page li{color:#c4c4ca}.tos-check{display:flex;gap:8px;align-items:center;text-transform:none!important;letter-spacing:0!important;font-size:12px!important}.tos-check .text-button{padding:0}.ops-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ops-card{padding:18px;border:1px solid var(--line,var(--line));border-radius:14px}.ops-card strong{font-size:28px;display:block}.announcement-card{padding:18px;border:1px solid var(--line);border-radius:14px;margin:10px 0}.announcement-card.pinned{border-color:#555}.notification-bell{position:relative}.notification-count{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;border-radius:20px;background:#e5484d;color:white;font-size:10px;display:grid;place-items:center}.team-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:760px){.landing-features{grid-template-columns:1fr}.landing-hero{padding-top:65px}.ops-grid,.team-profile-grid{grid-template-columns:1fr 1fr}}
.season-progress{height:10px;border:1px solid var(--line);background:var(--panel-2);overflow:hidden;margin-top:14px}.season-progress span{display:block;height:100%;background:var(--accent)}.season-timeline{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:18px;max-height:420px;overflow:auto}.season-week{border:1px solid var(--line);padding:10px;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center}.season-week small{grid-column:2;color:var(--muted)}.season-week.done{opacity:.7}.season-week.current{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.season-complete{border-color:var(--accent)}

/* v1.2 end conditions + partner */
.landing-partner{max-width:1100px;margin:20px auto 36px;padding:28px;border:1px solid var(--line,#2a2a2f);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.01))}.landing-partner h2{margin:.35rem 0 .5rem;font-size:clamp(1.5rem,4vw,2.5rem)}
.settings-section{border-top:1px solid var(--line,#2a2a2f);padding-top:18px}.settings-section h3{margin:.35rem 0 1rem}.choice-row,.check-row{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line,#2a2a2f);border-radius:12px;margin:8px 0}.choice-row>input,.check-row>input{margin-top:3px;width:auto}.choice-row span{display:flex;flex-direction:column;gap:6px;flex:1}.choice-row small{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-number{width:110px!important}.end-condition-panel h2{margin:.35rem 0 1rem}.end-ready{margin-top:16px;padding:14px;border:1px solid currentColor;border-radius:12px;display:flex;flex-direction:column;gap:4px}.warning-text{font-weight:700}.landing-features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}

/* Mobile navigation, readable forms, and comfortable touch targets. */
.mobile-global-nav,.mobile-menu-trigger{display:none}
.mobile-menu-list{display:grid;gap:10px;margin-top:24px}
@media(max-width:700px){
  html{scrollbar-gutter:auto;scroll-padding-top:76px}
  .topbar{padding:0 max(12px,env(safe-area-inset-left));min-height:60px;gap:8px}
  .topbar .brand-button{margin-right:0;font-size:17px;min-height:44px;display:flex;align-items:center}
  .topbar .brand-button:before{top:14px;bottom:14px}
  .topnav,.top-user #topUsername{display:none}
  .mobile-menu-trigger{display:block}
  .top-user{gap:6px}
  .top-user .text-button{min-height:44px;min-width:44px;padding:8px;font-size:12px}
  .mobile-global-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:80;padding:6px 6px max(6px,env(safe-area-inset-bottom));background:rgba(13,14,16,.97);backdrop-filter:blur(18px);border-top:1px solid var(--line-strong)}
  .mobile-global-nav button{min-height:50px;min-width:0;padding:8px 2px;border:0;border-radius:6px;background:none;color:var(--muted);font-size:10px;cursor:pointer;font-weight:800}
  .mobile-global-nav button.active{background:var(--panel-3);color:var(--text);box-shadow:inset 0 2px var(--accent)}
  .app-shell:has(.season-mobile-nav) .mobile-global-nav{display:none}
  .page{padding:18px 12px calc(100px + env(safe-area-inset-bottom))}
  .page-head{gap:16px;margin-bottom:20px}
  .page-head>.inline,.dashboard-head>.inline{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .page-head>.inline>.button:last-child{grid-column:1/-1}
  .page-head p,.panel p,.form-note{font-size:13px;line-height:1.6}
  .button,.button.small,.league-nav button,.season-mobile-nav button,.modal-close{min-height:44px}
  .button,.button.small{font-size:12px;padding:11px 13px;white-space:normal}
  input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px;min-height:46px;max-width:100%}
  label{font-size:11px;line-height:1.5}
  .grid-2,.grid-3,.section-grid,.team-profile-grid{grid-template-columns:minmax(0,1fr)}
  .inline>input{min-width:0!important;flex:1 1 100%}
  .action-card,.panel,.league-card{min-width:0}
  .split{flex-wrap:wrap;gap:10px}
  .league-nav{scroll-snap-type:x proximity}
  .league-nav button{scroll-snap-align:start;font-size:12px;padding:12px 16px}
  .season-mobile-nav button{font-size:10px}
  .modal,.modal.profile-modal{align-items:flex-end;padding:0}
  .modal .modal-card,.modal.profile-modal .modal-card{width:100%;height:auto;max-height:92dvh;border-radius:16px 16px 0 0;padding:20px 16px max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  .modal .modal-close{position:sticky;top:0;float:right;margin:0 0 8px 8px;z-index:2;background:var(--panel-2);width:44px}
  .modal-title h2{font-size:25px}
  .choice-row{gap:10px;align-items:flex-start;padding:12px 0}
  .choice-row>span{min-width:0;flex:1}
  .choice-row small{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px}
  .choice-row .inline-number{width:100%;max-width:160px}
  .landing-nav{padding:0 12px;gap:8px;height:64px}
  .landing-nav .brand-button{margin-right:0;font-size:17px}
  .landing-nav>div{gap:6px}
  .landing-nav .button{padding:10px;font-size:11px}
  .landing-main{padding:0 16px}
  .landing-hero h1{font-size:clamp(38px,10vw,62px);overflow-wrap:anywhere}
  .landing-hero>p{font-size:16px}
  .auth-brand{min-height:0;padding:20px}
  .auth-copy{padding:20px 0}
  .auth-copy h1{font-size:30px}
  .auth-copy p,.auth-foot{display:none}
  .auth-panel{padding:24px 16px}
  .toast{left:12px;right:12px;bottom:calc(86px + env(safe-area-inset-bottom));max-width:none;font-size:13px}
}

/* Keep mobile content within its grid track; wide results scroll locally. */
@media(max-width:700px){
  .page,.modal-card{min-width:0;overflow-wrap:anywhere}
  .page>*,.section-grid>*,.stack>*,.stack-lg>*,.grid-2>*,.grid-3>*,
  .season-overview>*,.season-overview-grid>*,.events-page>*,.roster-grid>*,
  .team-cards>*,.results-grid>*,.account-grid>*,.organization-layout>*{min-width:0;max-width:100%}
  .season-banner>*,.league-event-head>*,.roster-team-head>*,.result-team-head>*,
  .result-row>*,.profile-public-row>*,.team-card .split>*,.page-head>*{min-width:0}
  .event-results-table,.standings-table{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
  .event-result-row{overflow-wrap:anywhere}
  .roster-player-row{width:100%;grid-template-columns:28px minmax(0,1fr) auto}
  .roster-player-row>*,.activity-row>*{min-width:0}
  .league-title h1,.season-banner h2,.league-event-head h3,.roster-team-head h3,
  .result-name,.team-card h3,.profile-public-row strong{overflow-wrap:anywhere;white-space:normal}
  .stage-rate-row{grid-template-columns:minmax(0,100px) minmax(0,1fr) minmax(0,70px)}
  .trade-swap{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  input[type=file]{width:100%;min-width:0}
  .page code,.modal-card code{white-space:normal;overflow-wrap:anywhere}
  .profile-public-row,.user-search-row,.manager-row{flex-wrap:wrap;gap:8px}
}

.custom-standing,.custom-run{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}
.custom-standing>div,.custom-run>div{flex:1;min-width:0}.custom-standing span,.custom-run span,.custom-standing small,.custom-run small,.custom-audit-detail{display:block;color:var(--muted);margin-top:6px;font-size:12px;line-height:1.5}
.custom-obstacles>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.custom-series summary{cursor:pointer;min-height:44px;padding:12px 0}.custom-series h2{overflow-wrap:anywhere}
@media(max-width:700px){.custom-standing,.custom-run{flex-wrap:wrap}.custom-standing>div,.custom-run>div{flex-basis:100%}.custom-series>*{min-width:0}.custom-obstacles span{min-width:0;overflow-wrap:anywhere}}

form[data-competition-series="true"] [data-draft-settings]{display:none}

@media(max-width:700px){.mobile-global-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-global-nav button{font-size:9px}.mobile-global-nav button[data-route="organizations"]{font-size:8px}}

.ordered-draft-page>*{min-width:0}.draft-clock{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.draft-clock>div:first-child{min-width:0;flex:1}.draft-your-turn{color:var(--success)}
.draft-order-display{display:flex;gap:10px;flex-wrap:wrap;padding-left:24px}.draft-order-display li{padding:9px 12px;list-style-position:inside;border:1px solid var(--line);border-radius:5px}.draft-order-display li.on-clock{border-color:var(--accent)}
.draft-upcoming{display:flex;flex-wrap:wrap;gap:12px;padding:14px 0;font-size:12px}.draft-search-label{width:min(100%,320px);font-size:11px}.draft-search-label input{margin-top:8px}
.draft-pool{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.draft-player-card{border:1px solid var(--line);border-radius:5px;padding:16px;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.draft-player-card h3,.draft-clock h2{overflow-wrap:anywhere}.draft-player-card p{color:var(--muted);font-size:12px}.draft-player-card button{max-width:100%}
.draft-board article{display:flex;align-items:flex-start;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.draft-board article>div{min-width:0}.draft-board span{display:block;color:var(--muted);margin-top:6px;font-size:12px}
.draft-order-editor{list-style:none;padding:0;margin:0;display:grid;gap:10px}.draft-order-editor li{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);padding:10px}.draft-order-editor li>span{min-width:0;overflow-wrap:anywhere}.draft-order-editor li>.inline{flex-wrap:nowrap;flex:none}
[data-acquisition-mode="draft"] .panel:has([data-action="pause-league"]),[data-acquisition-mode="draft"] .panel:has([data-action="resume-league"]){display:none}
@media(max-width:700px){.draft-clock{flex-direction:column}.draft-pool{grid-template-columns:minmax(0,1fr)}.draft-order-display{display:grid;grid-template-columns:minmax(0,1fr);padding-left:0;list-style:none}.draft-order-display li{overflow-wrap:anywhere}.draft-player-card .inline{align-items:stretch}.draft-player-card .inline .button{flex:1}.draft-order-editor li{flex-wrap:wrap}.draft-order-editor li>.inline{margin-left:auto}.draft-search-label{width:100%}}

/* Draftline workspace: red accents, charcoal surfaces, and monospace typography. */
:root{--rail-width:220px;--ease:cubic-bezier(.2,.75,.25,1)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--mono);line-height:1.12;font-weight:850}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
button{transition:background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),transform .16s var(--ease),box-shadow .16s var(--ease)}
label{font-size:13px;text-transform:none;letter-spacing:0;font-weight:650;color:#d1d1d8;margin-bottom:8px}
input,textarea,select{border-radius:9px;padding:12px 14px;background:var(--bg-soft);border-color:var(--line);min-height:46px}
input::placeholder,textarea::placeholder{color:#92939f}
input:hover,textarea:hover,select:hover{border-color:var(--line-strong)}
input:focus,textarea:focus,select:focus{background:var(--bg-soft);border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.14)}
.form-note{font-size:12px;color:var(--muted)}
.stack-lg{gap:20px}
.button{min-height:42px;font-size:13px;font-weight:750;border-radius:9px;border-color:var(--line-strong);padding:10px 15px;background:var(--panel-2)}
.button:hover:not(:disabled){background:var(--panel-3);border-color:#666977;box-shadow:0 3px 12px rgba(0,0,0,.12);transform:translateY(-1px)}
.button:active:not(:disabled){transform:translateY(1px);box-shadow:none}
.button.primary{background:var(--accent-solid);border-color:var(--accent-solid);color:var(--on-accent)}
.button.primary:hover:not(:disabled){background:var(--accent-hover);filter:none;border-color:var(--accent-hover);box-shadow:0 3px 18px rgba(var(--accent-rgb),.17)}
.button.small{font-size:12px;min-height:34px;padding:7px 11px}
.button.danger{background:#351c29;border-color:#79404f;color:#ffb1bc}
.text-button{font-weight:650;border-radius:8px;padding:8px}
.text-button:hover{background:var(--panel-2)}
.kicker,.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--accent);font-weight:800}
.wordmark{font-family:var(--mono);font-weight:900;letter-spacing:-.05em}
.topbar{min-height:76px;background:rgba(9,9,11,.96);border-color:var(--line);gap:8px;padding:0 24px;backdrop-filter:blur(16px)}
.app-brand{padding:0;display:inline-flex;align-items:center;gap:10px;margin-right:18px;font-size:23px;letter-spacing:-.045em;line-height:1.1;text-align:left;flex-shrink:0}
.app-brand:before{display:none}
.brand-emblem{width:34px;height:34px;color:var(--accent);flex:none}
.app-brand small{display:none;font-size:11px;color:var(--muted);letter-spacing:.01em;font-weight:550;margin-top:6px}
.nav-icon{width:20px;height:20px;flex:none}
.nav-section-label{display:none}
.topnav{height:auto;gap:4px;align-items:center;min-width:0}
.topnav button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:11px 12px;font-size:13px;min-height:44px}
.topnav button:hover{background:var(--panel-2);color:var(--text)}
.topnav button.active{background:rgba(var(--accent-rgb),.12);color:var(--accent);border-color:transparent}
.top-user{gap:10px;font-size:13px;min-width:0}
.top-user #topUsername{font-weight:650;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notification-bell{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel)}
.notification-count{background:var(--accent-solid);color:var(--on-accent);font-weight:850;border:2px solid var(--bg);min-width:21px;height:21px;top:-5px;right:-5px}
.page{max-width:1480px;padding:28px 24px 76px;min-width:0}
.page-head{margin-bottom:22px;gap:20px;align-items:center}
.page-head h1{font-size:clamp(30px,3vw,42px);letter-spacing:-.055em;margin:7px 0 0;font-weight:900}
.page-head h2{font-size:28px;letter-spacing:-.035em;margin:7px 0 0}
.page-head p{font-size:14px;max-width:680px;line-height:1.6;color:var(--muted)}
.workspace-summary{margin:0 0 24px;background:var(--bg-soft);border-radius:12px}
.workspace-stat{padding:18px 20px;justify-content:flex-start;gap:16px}
.workspace-stat span{font-size:11px;letter-spacing:.05em;order:2}
.workspace-stat strong{font-size:30px;font-weight:850;font-variant-numeric:tabular-nums;color:var(--text);order:1}
.action-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}
.action-card{padding:20px;border-radius:14px;min-height:170px;background:var(--panel)}
.action-card:first-child{background:var(--accent-solid);color:var(--on-accent);border-color:var(--accent-solid)}
.action-card:first-child .eyebrow,.action-card:first-child p{color:var(--on-accent)}
.action-card:first-child .button{background:var(--bg);color:var(--text);border-color:var(--bg)}
.action-card:first-child .button:hover{background:var(--panel-2);border-color:var(--panel-2)}
.action-card:first-child:after{width:100px;height:180px;right:22px;top:40px;border:16px solid rgba(0,0,0,.1);transform:skew(-24deg);pointer-events:none}
.action-card h2{font-size:24px;margin:8px 0 8px;letter-spacing:-.04em;font-weight:850;position:relative;z-index:1}
.action-card p{font-size:14px;max-width:550px;position:relative;z-index:1}
.action-card .inline{position:relative;z-index:1}
.section-title{margin:28px 0 14px}
.section-subtitle{font-size:12px;color:var(--muted)}
.league-list,.organization-grid,.discover-grid{gap:14px}
.league-card,.organization-card,.discover-league-card{padding:18px;min-height:185px;border-radius:14px;background:var(--panel)}
.league-card:before{height:4px;width:100%;opacity:1;bottom:auto}
.league-card:hover,.organization-card:hover,.discover-league-card:hover{border-color:rgba(var(--accent-rgb),.6);background:var(--panel-2);transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.2)}
.league-card h3,.organization-card h3,.discover-league-card h3{font-size:24px;letter-spacing:-.035em;line-height:1.15;margin:19px 0 8px;font-weight:850}
.league-card p,.organization-card p,.discover-league-card p{font-size:13px;line-height:1.55;color:var(--muted)}
.league-card .league-meta{border-top:1px solid var(--line);padding-top:14px;margin-top:auto;font-size:12px;gap:16px}
.role-chip,.status-chip{height:26px;padding:0 9px;font-size:10px;letter-spacing:.04em;background:var(--bg-soft)}
.role-chip{color:var(--accent);border-color:rgba(var(--accent-rgb),.25)}
.empty{background:var(--bg-soft);border-radius:14px;font-size:14px;padding:32px 24px}
.empty-action strong{font-size:20px;letter-spacing:-.025em}.empty-action span{font-size:13px}
.league-hero{margin-bottom:18px;border-radius:18px;border-color:var(--line-strong);background:var(--panel);position:relative}
.league-hero:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--accent);z-index:2}
.league-hero-top{padding:22px;gap:22px;align-items:center;grid-template-columns:minmax(0,1fr) auto}
.league-hero-top:after{width:70px;height:230px;top:-50px;right:35%;border:0;background:rgba(var(--accent-rgb),.035);transform:skew(-28deg)}
.league-title{min-width:0}.league-title>div{min-width:0}
.league-title h1{font-size:clamp(28px,3vw,38px);line-height:1.08;letter-spacing:-.05em;margin:8px 0 10px;font-weight:900;overflow-wrap:anywhere}
.league-description{font-size:14px;line-height:1.55;max-width:650px}
.league-quick-meta{gap:8px;margin-top:12px}
.league-quick-meta span{font-size:11px;padding:6px 10px;border:0;background:var(--bg-soft);border-radius:6px;color:#d1d1db}
.phase-block{background:var(--bg-soft);border:1px solid var(--line);padding:15px;border-radius:10px;min-width:230px}
.phase-block .eyebrow{font-size:10px;color:var(--muted)}
.phase-main{font-size:21px;line-height:1.15;font-weight:850;margin-top:7px;letter-spacing:-.03em}
.phase-sub{font-size:12px;margin-top:7px}.last-updated{font-size:11px;color:var(--faint);margin-top:10px}
.phase-actions{gap:8px}
.league-nav{background:var(--bg-soft);border-top:1px solid var(--line);gap:5px;padding:6px 12px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.league-nav button{border:0;border-radius:8px;font-size:13px;padding:12px 14px;min-height:42px;font-weight:650}
.league-nav button.active{color:var(--accent);background:rgba(var(--accent-rgb),.09);box-shadow:inset 0 -2px var(--accent)}
.league-nav button:hover{background:var(--panel-2)}
.season-desktop-nav .season-more-trigger{border:0;margin-left:auto}
.team-strip{gap:12px;margin:16px 0 22px}
.team-mini{padding:16px;border-radius:12px;background:var(--bg-soft)}
.team-mini .name{text-transform:none;letter-spacing:0;font-size:14px;font-weight:750}
.team-mini .money{font-size:25px;margin:9px 0 5px;font-variant-numeric:tabular-nums}
.team-mini .sub{font-size:11px;color:var(--muted)}
.presence-strip{background:transparent;padding:10px 0;border:0;gap:12px}
.presence-label{font-size:11px;letter-spacing:.04em}.presence-user{font-size:11px;background:var(--panel);padding:5px 9px}
.panel{padding:18px;border-radius:12px;background:var(--panel);min-width:0}
.panel h2{font-size:22px;letter-spacing:-.035em;margin:5px 0 14px;font-weight:850}
.panel h3{font-size:17px;margin:0 0 14px;letter-spacing:-.02em}
.panel p{font-size:13px;line-height:1.6}
.setup-guide{padding:20px;border-radius:14px;gap:20px;background:var(--bg-soft)}
.setup-guide h2{font-size:23px;letter-spacing:-.035em}.setup-guide p{font-size:13px}
.setup-step{padding:13px;background:var(--panel);border-radius:9px;min-width:0;gap:11px}
.setup-step strong{font-size:13px}.setup-step small{font-size:11px;color:var(--muted)}
.setup-index{width:30px;height:30px;font-size:12px;border-color:var(--line-strong);color:var(--text)}
.setup-step.done .setup-index{background:rgba(146,228,188,.09)}
.season-banner{padding:20px;gap:20px;background:var(--panel-2);border-radius:12px;border-color:var(--line-strong)}
.season-banner:after,.manager-dashboard .dashboard-main:after,.market-budget:after{display:none}
.season-banner h2{font-size:28px;letter-spacing:-.04em;line-height:1.08;margin:7px 0 8px}
.season-banner p{font-size:14px}.season-banner-stats{background:var(--bg-soft);border-radius:10px;overflow:hidden}
.season-banner-stats div{padding:12px}.season-banner-stats strong{font-size:25px;color:var(--accent);font-variant-numeric:tabular-nums}
.season-banner-stats span{font-size:10px;letter-spacing:.04em}
.season-card{min-height:220px}.season-overview-grid{gap:14px}
.overview-result-list>div,.overview-standing-row,.overview-team-list>div{padding:12px 0;gap:10px}
.overview-result-list strong,.overview-standing-row strong,.overview-team-list strong{font-size:13px}
.overview-result-list span,.overview-result-list small,.overview-standing-row small,.overview-team-list small{font-size:11px}
.overview-standing-row>span:first-child{font-size:12px}
.manager-dashboard{gap:16px;margin-bottom:26px}
.manager-dashboard .dashboard-main{padding:24px;background:var(--panel-2)}
.dashboard-title h1{font-size:32px;line-height:1.1;letter-spacing:-.045em}
.dash-label,.stat-label{font-size:11px;letter-spacing:.05em}.dash-value,.stat-value{font-size:32px;font-variant-numeric:tabular-nums;letter-spacing:-.045em;color:var(--text)}
.dash-meta,.stat-note,.budget-caption,.mini-stat-note{font-size:11px;color:var(--muted)}
.dash-stat{padding-top:20px}.budget-track{border-radius:99px;background:var(--line)}
.mini-stat{padding:22px}.mini-stat-value{font-size:32px;font-variant-numeric:tabular-nums}
.dashboard-side-head{padding:18px}.manager-view-note{font-size:12px}
.phase-callout{padding:20px;background:var(--panel-2);border-radius:12px}.phase-callout h2{font-size:24px}.phase-callout p{font-size:13px}
.market-tools{background:rgba(9,9,11,.96);padding:12px 0;top:76px}.market-heading h2{font-size:28px;letter-spacing:-.04em}.market-summary,.market-count{font-size:12px}
.cm-competitor-grid{gap:14px}.cm-competitor{border-radius:14px;min-height:280px;background:var(--panel)}
.cm-competitor:hover{transform:translateY(-4px);border-color:rgba(var(--accent-rgb),.7);box-shadow:0 12px 24px rgba(0,0,0,.2)}
.competitor-card-head{padding:14px 16px;background:var(--bg-soft);border-color:var(--line)}
.competitor-body{padding:18px 16px}.competitor-body .name{font-size:22px;line-height:1.1;letter-spacing:-.035em}
.competitor-body .show{font-size:12px}.card-achievement{font-size:12px;color:#d2d2dc;min-height:34px}
.cm-status-chip,.card-status{font-size:10px;border-radius:5px;padding:5px 7px;letter-spacing:.03em}
.cm-status-chip.unbid{color:var(--muted)}.scout-label{font-size:10px}.scout-score{font-size:12px}.scout-track{border-radius:99px}
.bid-block{padding-top:18px}.bid-block .label{font-size:10px;letter-spacing:.04em}.bid-block .value{font-size:14px}.bid-block .value.bid-value{font-size:23px;font-variant-numeric:tabular-nums}
.team-card,.roster-team-card,.league-event-card,.result-team,.draft-player-card{border-radius:14px;background:var(--panel)}
.team-card,.roster-team-card,.league-event-card{padding:18px}
.team-card h3,.roster-team-head h3,.league-event-head h3,.result-team h3{font-size:24px;line-height:1.12;letter-spacing:-.035em}
.manager-row{font-size:12px;padding-top:12px}.code-hint{font-size:11px}
.roster-team-head{padding-bottom:16px}.roster-player-row{padding:12px 4px;gap:12px}
.roster-player-row strong{font-size:14px}.roster-player-row small,.roster-acquisition,.roster-number{font-size:11px}
.result-team-head{padding:20px}.result-list{padding:0 20px}.result-row{padding:14px 0}
.result-name{font-size:14px;font-weight:700}.result-meta{font-size:12px}
.table th,.table td{font-size:13px;padding:13px 12px;line-height:1.45}
.table th{font-size:10px;letter-spacing:.06em;padding-top:15px;padding-bottom:15px;background:var(--bg-soft)}
.table tbody tr:hover,.standings-row:not(.head):hover,.event-result-row:not(.head):hover{background:var(--panel-2)}
.event-results-table,.standings-table,.standings-table-wrap{border-radius:10px;border:1px solid var(--line);background:var(--bg-soft);max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.event-result-row,.standings-row{font-size:12px;padding:13px 14px}.event-result-row.head,.standings-row.head{font-size:10px;letter-spacing:.04em}
.event-result-row small{font-size:10px}.standing-team strong{font-size:13px}.standing-rank{font-size:18px;color:var(--accent);font-variant-numeric:tabular-nums}
.event-notes,.league-event-head p{font-size:12px}.event-notes{padding-left:12px}.event-upload-panel{top:90px}
.trade-hero{padding:24px;background:var(--panel-2);border-radius:14px}.trade-hero h2{font-size:28px}.trade-hero p{font-size:13px}
.trade-card{padding:18px;border-radius:12px}.trade-route{font-size:12px}.trade-swap small{font-size:10px}.trade-swap strong{font-size:14px}.trade-card p{font-size:13px}.trade-meta,.trade-status{font-size:11px}
.trade-history-row strong{font-size:13px}.trade-history-row div span{font-size:11px}
.access-head{padding:24px}.access-head h2{font-size:28px}.access-head p{font-size:13px}.access-summary{border-radius:10px;overflow:hidden}
.access-summary strong{font-size:26px}.access-summary span{font-size:10px}.access-person strong{font-size:14px}.access-person span{font-size:12px}.access-person small{font-size:11px}
.access-role,.access-online-text{font-size:10px}.access-role-select{font-size:13px}.access-legend p{font-size:12px}
.access-member-card{padding:16px;grid-template-columns:38px minmax(0,1fr) 150px auto}.access-avatar{background:var(--panel-2);border-color:var(--line-strong);font-size:14px}
.permission-toggle strong{font-size:14px}.permission-toggle small{font-size:12px}.org-permission-row strong{font-size:14px}.org-permission-row span,.org-permission-row small{font-size:12px}
.settings-section h3{font-size:20px}.choice-row,.check-row{background:var(--bg-soft);border-radius:10px}.choice-row small{font-size:12px;color:var(--muted)}
.modal-backdrop{background:rgba(5,5,7,.8);backdrop-filter:blur(6px)}
.modal-card{background:var(--panel);padding:32px;border-color:var(--line-strong)}
.modal-card:before{background:var(--accent);width:3px;bottom:auto;height:72px}
.modal-close{width:40px;height:40px;border-radius:10px;font-size:23px;line-height:1;background:var(--panel-2)}
.modal-title h2{font-size:34px;line-height:1.05;letter-spacing:-.045em;font-weight:900}.modal-title p{font-size:14px;line-height:1.55}
.modal.profile-modal .modal-card{border-radius:18px}.profile-left,.profile-right{padding:30px}.profile-head h2{font-size:40px;line-height:1.04}
.profile-sub,.achievement .muted{font-size:13px}.achievement strong{font-size:15px}.profile-stat-name,.profile-stat-row strong{font-size:12px}
.profile-stat-row{grid-template-columns:105px minmax(0,1fr) 55px}.current-bid-label{font-size:11px}.big-money{font-size:42px}.profile-right .leader-line{font-size:13px}
.bid-state-banner{font-size:12px;padding:12px;border-radius:8px}.profile-public-row strong{font-size:14px}.profile-public-row span{font-size:12px}
.history-row{font-size:12px;padding:12px 0}.dossier-stat span{font-size:11px}.dossier-stat strong{font-size:19px}
.history-preview-stats strong,.performance-overview strong{font-size:24px}.history-preview-stats span,.performance-overview span{font-size:10px}.performance-overview small{font-size:10px}
.course-history-head strong{font-size:14px}.course-history-head span{font-size:11px}.stage-rate-row>div:first-child strong,.stage-rate-value{font-size:12px}.stage-rate-value small,.stage-rate-row>div:first-child span{font-size:10px}
.recent-history summary{font-size:12px;padding:6px 0}.performance-event-row{font-size:12px}.performance-event-row span{font-size:11px}
.toast{font-size:13px;font-weight:650;border-radius:12px;padding:14px 18px;line-height:1.4}
.page-loading{border-radius:16px;padding:32px;background:var(--panel)}.loading-lines span{background:var(--panel-3);height:12px;border-radius:4px}
.draft-clock h2{font-size:30px;letter-spacing:-.04em}.draft-player-card{padding:20px}.draft-player-card h3{font-size:23px;margin:5px 0}.draft-player-card p{font-size:13px}
.draft-order-display li{background:var(--bg-soft);border-radius:9px}.draft-order-display li.on-clock{color:var(--accent);background:rgba(var(--accent-rgb),.08)}
.draft-order-editor li{border-radius:10px;background:var(--bg-soft);padding:12px}.draft-upcoming{font-size:13px}.draft-board article>strong{color:var(--accent);font-size:24px;font-variant-numeric:tabular-nums}
.custom-series summary{font-size:16px;font-weight:750}.custom-series .panel{background:var(--bg-soft)}.custom-standing strong,.custom-run strong{font-size:17px}
.announcement-card{background:var(--panel);border-color:var(--line);border-radius:12px}.announcement-card.pinned{border-color:rgba(var(--accent-rgb),.5)}
.ops-card{background:var(--panel);border-radius:12px}.ops-card strong{font-size:34px;color:var(--accent)}
.season-progress{border-radius:99px;height:8px}.season-week{border-radius:8px;background:var(--bg-soft);font-size:13px}
.collection-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}
.collection-tools input,.dashboard-league-search{width:min(440px,100%)}
.collection-tools>span,.collection-tools .muted{font-size:12px;white-space:nowrap}
.collection-pager{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 4px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.collection-pager .inline{gap:8px}.collection-pager .button{min-width:80px}
.event-results-toggle{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:16px;border-color:var(--line-strong);color:var(--accent)}
.event-results-content{margin-top:14px;min-width:0;max-width:100%}
.league-load-error{max-width:640px;margin:48px auto;padding:32px;text-align:center;border-color:#79404f;background:var(--panel)}
.league-load-error h2{font-size:27px}.league-load-error p{margin:12px 0 22px;color:var(--muted);line-height:1.6}
.league-breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 18px;color:var(--muted);font-size:12px}.league-breadcrumb .text-button{padding:5px 8px;color:var(--muted)}
.league-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.league-shortcuts .button{text-align:left;min-height:62px;padding:16px;font-size:14px;border-radius:12px;background:var(--bg-soft)}
.league-shortcuts .button:hover{border-color:var(--accent);color:var(--accent)}
.standings-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.standings-leader{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--panel);position:relative;overflow:hidden;min-width:0}
.standings-leader:first-child{background:var(--accent-solid);border-color:var(--accent-solid);color:var(--on-accent)}
.standings-leader:first-child .muted,.standings-leader:first-child small,.standings-leader:first-child .eyebrow{color:var(--on-accent)}
.standings-leader h3{font-size:23px;line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere}.standings-leader>strong{font-size:40px;font-variant-numeric:tabular-nums;line-height:1.1}.standings-leader small{font-size:12px;color:var(--muted)}
.standings-leader:after{content:"";position:absolute;top:-10px;right:20px;width:30px;height:130px;transform:skew(-24deg);background:rgba(255,255,255,.045);pointer-events:none}
.activity-row{padding:16px 0;gap:14px}.activity-row strong{font-size:14px;line-height:1.5}.activity-row div>span{font-size:12px}.activity-detail{margin-top:8px;font-size:13px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.activity-dot{width:10px;height:10px;margin-top:5px}.activity-row:before{left:5px;top:29px;bottom:-16px}
.auth-shell{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.auth-brand{padding:42px;background:var(--bg-soft)}
.auth-brand:after{width:180px;height:680px;right:80px;bottom:-130px;transform:skew(-24deg);border:0;background:rgba(var(--accent-rgb),.035);box-shadow:none}
.auth-copy h1{font-size:clamp(48px,5.5vw,82px);line-height:1;letter-spacing:-.06em;font-weight:900}
.auth-copy .kicker{color:var(--accent)}.auth-copy p:last-child{font-size:17px;color:var(--muted);max-width:510px;line-height:1.6}
.auth-foot{font-size:12px;text-transform:none;letter-spacing:0;color:var(--muted)}
.auth-panel{background:var(--bg);padding:36px}.auth-box{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:34px;box-shadow:0 16px 48px rgba(0,0,0,.2)}
.auth-box:before{display:none}.auth-tabs{border-bottom:1px solid var(--line);margin-bottom:28px}.auth-tab{font-size:15px}.auth-tab.active{color:var(--accent)}
.landing-nav{background:rgba(9,9,11,.97);border-color:var(--line)}.landing-shell{background:var(--bg);color:var(--text)}
.landing-hero h1{font-weight:900;letter-spacing:-.055em;line-height:.98}.landing-hero>p{color:var(--muted);font-size:20px;max-width:700px}.landing-price{letter-spacing:0;font-weight:650}.landing-price strong{color:var(--accent);font-size:48px}
.landing-features article{background:var(--panel);border-color:var(--line);border-radius:14px}.landing-features b{font-size:16px;letter-spacing:0}.landing-features p,.landing-cta p{color:var(--muted)}
.landing-partner{background:var(--panel-2);border-radius:16px;border-color:var(--line)}.landing-partner p{color:var(--muted)}
.moderation-card{background:var(--panel);border-radius:16px}.moderation-card h1{font-size:38px}.moderation-shell{background:var(--bg)}

@media(min-width:1200px){
  .app-shell{padding-left:var(--rail-width)}
  .topbar{position:fixed;left:0;top:0;bottom:0;width:var(--rail-width);height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain;border-bottom:0;border-right:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:24px 14px 20px;background:var(--bg-soft);backdrop-filter:none}
  .topbar>.app-brand,.topbar>.nav-section-label,.topbar>.topnav,.topbar>.top-user{flex-shrink:0}
  .app-brand{margin:0 6px 28px;gap:8px;font-size:22px;white-space:nowrap}.app-brand small{display:block;font-size:10px}.brand-emblem{width:28px;height:32px}
  .nav-section-label{display:block;margin:0 14px 12px;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
  .topnav{display:flex;flex-direction:column;align-items:stretch;gap:5px;height:auto;width:100%}
  .topnav button{justify-content:flex-start;text-align:left;width:100%;padding:11px 13px;gap:10px;font-size:13px;min-height:44px;position:relative;border-radius:9px;font-weight:600}
  .topnav button:hover{transform:translateX(2px)}
  .topnav button.active{background:var(--accent-solid);color:var(--on-accent);box-shadow:0 4px 16px rgba(var(--accent-rgb),.07)}
  .topnav button.active:after{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;margin-left:auto}
  .topnav .nav-icon{width:21px;height:21px}
  .top-user{margin: auto 4px 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;width:calc(100% - 8px);align-items:center}
  .top-user #topUsername{grid-column:1/-1;grid-row:1;display:block;font-size:14px;color:var(--text);max-width:100%;overflow-wrap:anywhere}
  .top-user #topUsername:before{content:"Signed in as";display:block;margin-bottom:5px;font-size:11px;font-weight:500;color:var(--muted)}
  .top-user #logoutBtn{text-align:left;min-height:40px;padding:10px}.notification-bell{background:var(--panel)}
  .page{padding:28px 26px 76px;max-width:1540px}
  .market-tools{top:0;padding-top:18px}.event-upload-panel{top:18px}
}
@media(min-width:701px) and (max-width:1199px){
  .topbar{padding:0 18px;gap:8px}.app-brand{font-size:20px;margin-right:6px}.brand-emblem{width:28px;height:32px}.topnav button{font-size:12px;padding:11px 9px;gap:6px}.topnav .nav-icon{width:17px;height:17px}.top-user{gap:6px}.top-user #topUsername{display:none}
}
@media(min-width:701px) and (max-width:1099px){
  .topnav{display:none}.mobile-menu-trigger{display:grid;place-items:center;width:40px;height:40px}.top-user{margin-left:auto}.market-tools{top:76px}
}
@media(max-width:1050px){
  .league-hero-top{grid-template-columns:minmax(0,1fr)}.phase-block{min-width:0;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 16px}.phase-block>.eyebrow{grid-column:1/-1}.phase-main{margin-top:0}.phase-actions{grid-column:2;grid-row:2;align-self:center;margin:0}.phase-block .last-updated{grid-column:1/-1;margin-top:0}
  .season-banner{flex-direction:column;align-items:stretch}.season-banner-stats{width:100%}
}
@media(max-width:780px){
  .action-strip{grid-template-columns:minmax(0,1fr)}.page-head{align-items:flex-start}.league-title h1{font-size:34px}.league-hero-top{padding:24px}.auth-shell{grid-template-columns:minmax(0,1fr)}.auth-brand{padding:28px}.auth-copy{padding:32px 0}.auth-copy h1{font-size:48px}.auth-panel{padding:24px}
}
@media(max-width:700px){
  html{scroll-padding-top:80px}
  .topbar{min-height:64px;padding:0 max(12px,env(safe-area-inset-left));gap:8px;background:rgba(9,9,11,.97)}
  .topbar .app-brand{margin-right:0;gap:7px;font-size:19px;padding:0;min-height:44px}.brand-emblem{width:27px;height:29px}.app-brand small,.nav-section-label,.topnav{display:none}
  .top-user{gap:5px;margin-left:auto}.top-user .notification-bell,.top-user .mobile-menu-trigger{min-width:40px;width:40px;min-height:40px;padding:8px;display:grid;place-items:center}.top-user #logoutBtn{min-width:auto;padding:8px 6px;font-size:11px;min-height:40px}
  .mobile-global-nav{background:rgba(14,15,18,.98);border-color:var(--line);padding:7px 6px max(8px,env(safe-area-inset-bottom));gap:4px;grid-template-columns:repeat(5,minmax(0,1fr));box-shadow:0 -4px 24px rgba(0,0,0,.15)}
  .mobile-global-nav button{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px 2px;font-size:10px;border-radius:9px;line-height:1.1;font-weight:650}.mobile-global-nav button[data-route="organizations"]{font-size:10px}
  .mobile-global-nav button.active{background:rgba(var(--accent-rgb),.11);color:var(--accent);box-shadow:none}.mobile-global-nav .nav-icon{width:20px;height:20px}
  .page{padding:18px 14px calc(94px + env(safe-area-inset-bottom));min-width:0}
  .page-head{gap:14px;margin-bottom:18px}.page-head h1{font-size:30px;line-height:1.1}.page-head h2{font-size:25px}.page-head p{font-size:14px}
  .page-head>.inline{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head>.inline>.button:last-child{grid-column:1/-1}
  .workspace-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.workspace-stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:14px 12px;border-right:1px solid var(--line);border-bottom:0}.workspace-stat:last-child{border-right:0}.workspace-stat strong{font-size:25px}.workspace-stat span{font-size:9px;letter-spacing:.02em;line-height:1.4;overflow-wrap:anywhere}
  .action-card{padding:18px;min-height:160px}.action-card h2{font-size:23px}.action-strip{gap:12px;margin-bottom:20px}
  .league-list,.organization-grid,.discover-grid{gap:13px}.league-card,.organization-card,.discover-league-card{padding:18px;min-height:170px}.league-card h3,.organization-card h3,.discover-league-card h3{font-size:23px;margin-top:14px}
  .league-hero{border-radius:14px;margin-bottom:16px}.league-hero-top,.post-auction-hero .league-hero-top{padding:16px;gap:14px}.league-title h1,.post-auction-hero .league-title h1{font-size:28px;line-height:1.1;margin:7px 0 8px}.league-hero-top:after{display:none}
  .league-title .eyebrow{font-size:10px}.league-quick-meta,.post-auction-hero .league-quick-meta{gap:6px;margin-top:12px}.league-quick-meta span,.post-auction-hero .league-quick-meta span{font-size:10px;padding:6px 8px}
  .phase-block,.post-auction-hero .phase-block{padding:12px;background:var(--bg-soft);grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;border:1px solid var(--line);border-radius:10px;align-items:center}
  .phase-main,.post-auction-hero .phase-main{font-size:18px;margin:0;line-height:1.2}.phase-sub,.post-auction-hero .phase-sub{font-size:11px;margin-top:5px}.phase-block .phase-actions,.post-auction-hero .phase-actions{grid-column:2;grid-row:2;align-self:center;margin:0}.post-auction-hero .phase-actions .button{font-size:11px;padding:9px 11px}
  .last-updated,.post-auction-hero .last-updated{font-size:10px;grid-column:1/-1;margin-top:4px}.phase-block .eyebrow{font-size:9px}
  .league-nav{padding:5px 8px;gap:3px}.league-nav button{font-size:12px;padding:11px 12px;min-height:44px}
  .season-mobile-nav{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:5px;border-radius:14px;background:rgba(14,15,18,.98);border-color:var(--line-strong);box-shadow:0 6px 32px rgba(0,0,0,.35);gap:2px}
  .season-mobile-nav button{min-height:54px;font-size:10px;border-radius:9px;line-height:1.1;font-weight:650;gap:6px}.season-mobile-nav button.active{color:var(--accent);background:rgba(var(--accent-rgb),.1);box-shadow:none}.mobile-nav-mark{font-size:10px}
  .post-auction-team-strip{margin:8px -14px 18px;padding:0 14px 5px;gap:10px}.post-auction-team-strip .team-mini{padding:14px 16px;flex-basis:min(78vw,265px)}.post-auction-team-strip .team-mini .money{font-size:23px;margin:8px 0 5px}.post-auction-team-strip .team-mini .sub{font-size:10px}
  .panel{padding:16px;min-width:0}.panel h2{font-size:22px}.panel p,.form-note{font-size:13px}
  .button,.button.small{min-height:44px;font-size:13px;padding:11px 13px}.button.small{font-size:12px}
  input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px;min-height:48px;padding:12px 13px;min-width:0}label{font-size:13px}
  .market-tools,.cm-market-tools{top:64px;padding-top:10px;padding-bottom:10px}.market-heading{align-items:flex-start;flex-direction:column;gap:8px}.market-heading h2{font-size:26px}.market-summary{text-align:left;font-size:12px}
  .manager-dashboard .dashboard-main{padding:22px}.dashboard-title h1{font-size:28px}.dash-value,.stat-value{font-size:31px}.dash-stat{padding:16px 0 4px}.dash-stat+.dash-stat{padding-top:16px}.mini-stat{padding:20px}
  .cm-competitor-grid{gap:13px}.cm-competitor{min-height:260px}.competitor-body .name{font-size:24px}.bid-block .value.bid-value{font-size:24px}
  .season-banner{padding:16px;gap:14px}.season-banner h2{font-size:25px}.season-banner p{font-size:14px}.season-banner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.season-banner-stats strong{font-size:24px}.season-banner-stats div{padding:10px}.season-banner-stats div:nth-child(2){border-right:0}.season-banner-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .season-overview-grid{gap:14px}.season-card{min-height:0}.overview-standing-row{grid-template-columns:24px 8px minmax(0,1fr) auto}.overview-result-list>div{grid-template-columns:28px minmax(0,1fr) auto}
  .league-shortcuts{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.league-shortcuts .button{min-height:54px;padding:12px 9px;font-size:12px;overflow-wrap:anywhere}
  .collection-tools{align-items:stretch;flex-direction:column;gap:10px}.collection-tools input,.dashboard-league-search{width:100%}.collection-tools>span,.collection-tools .muted{white-space:normal}
  .collection-pager{gap:12px;flex-wrap:wrap;font-size:12px}.collection-pager .button{min-width:74px}.collection-pager>.inline{margin-left:auto}
  .standings-podium{grid-template-columns:minmax(0,1fr);gap:10px}.standings-leader{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.standings-leader>*{min-width:0}.standings-leader h3{font-size:22px;margin:8px 0}.standings-leader>strong{font-size:32px}.standings-leader small{font-size:11px}
  .team-card,.roster-team-card,.league-event-card{padding:16px}.roster-player-row{grid-template-columns:24px minmax(0,1fr) auto;gap:9px}.roster-acquisition{font-size:10px;max-width:80px;text-align:right}.roster-player-row strong{font-size:13px}
  .team-card h3,.roster-team-head h3,.league-event-head h3{font-size:23px}.trade-swap{gap:8px}.trade-swap strong{font-size:13px}.trade-hero{padding:20px}.trade-hero h2{font-size:27px}
  .table th,.table td{font-size:12px;padding:12px 9px}.table th{font-size:10px}.event-results-table,.standings-table,.standings-table-wrap{width:100%;max-width:100%;min-width:0}.event-result-row,.standings-row{font-size:12px}
  .access-member-card{grid-template-columns:36px minmax(0,1fr);padding:15px;gap:10px}.access-role-cell,.access-actions{grid-column:2}.access-head{padding:20px}.access-summary strong{font-size:25px}
  .modal,.modal.profile-modal{align-items:flex-end;padding:0}.modal .modal-card,.modal.profile-modal .modal-card{padding:18px 16px max(22px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;max-height:92dvh;width:100%;height:auto;background:var(--panel)}
  .modal .modal-close{min-height:44px;width:44px}.modal-title h2{font-size:26px}.profile-left,.profile-right{padding:24px 0}.profile-head h2{font-size:30px}.profile-left{border-right:0}.profile-right{background:var(--panel);border-top:1px solid var(--line)}
  .profile-stat-row{grid-template-columns:90px minmax(0,1fr) 50px;gap:8px}.profile-stat-name,.profile-stat-row strong{font-size:11px}.history-row{grid-template-columns:70px minmax(0,1fr) auto;gap:7px;font-size:11px}
  .stage-rate-row{grid-template-columns:minmax(0,90px) minmax(0,1fr) minmax(0,70px)}.stage-rate-row>div:first-child strong,.stage-rate-value{font-size:11px}
  .toast{left:14px;right:14px;transform:none;bottom:calc(91px + env(safe-area-inset-bottom));font-size:13px;max-width:none}
  .auth-brand{padding:26px 20px;min-height:0}.auth-copy{padding:22px 0 0}.auth-copy h1{font-size:40px;margin:10px 0 0}.auth-panel{padding:22px 16px 36px}.auth-box{padding:26px 22px;border-radius:16px}.auth-foot,.auth-copy p:last-child{display:none}
  .landing-nav{padding:0 14px;height:68px}.landing-nav .wordmark{font-size:21px}.landing-hero{padding-top:58px;padding-bottom:48px}.landing-hero h1{font-size:clamp(40px,11vw,66px);line-height:.98}.landing-hero>p{font-size:17px}.landing-price{font-size:12px}.landing-price strong{font-size:42px}.landing-partner{padding:22px}.landing-features article{padding:22px}
  .league-load-error{padding:24px 18px;margin:28px auto}.league-load-error h2{font-size:25px}
}
@media(max-width:359px){
  .topbar .app-brand{font-size:17px;gap:5px}.brand-emblem{width:23px}.top-user{gap:3px}.top-user .notification-bell,.top-user .mobile-menu-trigger{width:36px;min-width:36px}.top-user #logoutBtn{font-size:10px;padding:8px 4px}
  .page{padding-left:12px;padding-right:12px}.league-hero-top,.post-auction-hero .league-hero-top{padding:14px}.league-title h1,.post-auction-hero .league-title h1{font-size:26px}.phase-block,.post-auction-hero .phase-block{grid-template-columns:minmax(0,1fr)}.phase-block .phase-actions,.post-auction-hero .phase-actions{grid-column:1;grid-row:auto;justify-content:flex-start;margin-top:5px}.phase-block .last-updated,.post-auction-hero .last-updated{grid-column:1}.workspace-stat{padding:12px 9px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover:not(:disabled),.league-card:hover,.organization-card:hover,.cm-competitor:hover,.topnav button:hover{transform:none}
}

/* Collection controls and navigation added with the large-league refresh. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft)}
.topnav #adminNavBtn:before{content:"";width:20px;height:20px;flex:none;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 9 4v6c0 5-9 10-9 10S3 17 3 12V6l9-4Zm0 2.2L5 7.3V12c0 3.5 5.5 7.2 7 7.8 1.5-.6 7-4.3 7-7.8V7.3l-7-3.1Z'/%3E%3C/svg%3E") center/contain no-repeat}
.team-strip-expand{--team:var(--accent);color:var(--text);text-align:left;cursor:pointer;border-color:var(--line-strong);background:var(--panel);font:inherit}
.team-strip-expand .name{color:var(--accent)}.team-strip-expand .money{font-size:21px}.team-strip-expand:hover{background:var(--panel-2);border-color:var(--accent);transform:translateY(-2px)}
.draft-player-card .button{white-space:normal;overflow-wrap:anywhere;min-width:0}
.dashboard-league-search{width:100%;max-width:none;margin:0 0 22px}.dashboard-league-search input{flex:1;max-width:440px}.dashboard-league-search>span{margin-left:auto}
.league-shortcuts>button{border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--text);text-align:left;cursor:pointer;padding:15px;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:82px}
.league-shortcuts>button span{font-size:11px;letter-spacing:.025em;color:var(--muted)}.league-shortcuts>button strong{font-size:16px;font-weight:750;line-height:1.3}
.league-shortcuts>button:hover{background:var(--panel-2);border-color:var(--accent);transform:translateY(-2px)}.league-shortcuts>button:hover strong{color:var(--accent)}
.league-breadcrumb>span:before{content:"/";margin-right:12px;color:var(--line-strong)}
.event-results-toggle{width:100%;justify-content:space-between;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);color:var(--text);font-size:12px;cursor:pointer;text-align:left;flex-wrap:wrap}
.event-results-toggle>strong{color:var(--accent);font-size:12px;font-weight:700}.event-results-toggle>span{color:var(--muted)}
.league-event-head>.button{flex-shrink:0;white-space:nowrap;min-width:72px}
.event-results-toggle:hover{background:var(--panel-2);border-color:var(--line-strong)}.event-results-toggle[aria-expanded="true"]{border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.04)}
.standings-leader{text-align:left;cursor:pointer;color:var(--text);font:inherit;transition:background .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease)}
.standings-leader>span{font-size:11px;letter-spacing:.04em;font-weight:750;color:var(--muted)}.standings-leader:first-child>span{color:var(--on-accent)}.standings-leader h3{margin:15px 0 13px}.standings-leader p{font-size:12px;margin:12px 0 0;color:var(--muted)}.standings-leader:first-child p{color:var(--on-accent)}
.standings-leader:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 8px 24px rgba(0,0,0,.15)}.standings-leader:active{transform:translateY(1px)}
.activity-row:has(.activity-detail){grid-template-columns:minmax(0,1fr) auto;gap:24px}.activity-row:has(.activity-detail):before{display:none}.activity-row:has(.activity-detail)>div{min-width:0}.activity-row:has(.activity-detail) time{font-size:12px;color:var(--faint);line-height:1.5;text-align:right;max-width:160px}.activity-row:has(.activity-detail) small{color:var(--muted);font-size:11px}.activity-detail{margin:7px 0;line-height:1.55}
@media(max-width:700px){
  .dashboard-league-search input{max-width:none}.dashboard-league-search>span{margin-left:0}.league-breadcrumb{margin-bottom:13px}
  .league-shortcuts{gap:8px}.league-shortcuts>button{padding:11px 9px;gap:6px;min-height:74px}.league-shortcuts>button span{font-size:10px;letter-spacing:0;line-height:1.4}.league-shortcuts>button strong{font-size:12px;overflow-wrap:anywhere}
  .standings-leader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:18px}.standings-leader>span{grid-column:1;grid-row:1}.standings-leader h3{grid-column:1;grid-row:2;margin:5px 0;font-size:22px}.standings-leader>strong{grid-column:2;grid-row:1/3;font-size:32px;align-self:center}.standings-leader p{grid-column:1/-1;grid-row:3;margin:3px 0 0}.standings-leader>strong small{display:block;font-size:11px;margin-top:4px;text-align:right}
  .event-results-toggle{min-height:48px;font-size:12px;gap:8px;padding:12px}.event-results-toggle>strong{font-size:12px}
  .activity-row:has(.activity-detail){grid-template-columns:minmax(0,1fr);gap:8px}.activity-row:has(.activity-detail) time{text-align:left;max-width:none;font-size:11px}
  .post-auction-team-strip .team-strip-expand .money{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.team-strip-expand:hover,.league-shortcuts>button:hover,.standings-leader:hover,.standings-leader:active{transform:none}}

/* Reserve space within narrow layouts instead of allowing controls to collide. */
#phaseClock,.phase-actions,.season-banner>div{min-width:0}
.phase-main,.phase-sub,.league-event-head h3{overflow-wrap:anywhere}
.league-event-head>div{min-width:0}
@media(max-width:700px){
  .cm-market-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cm-market-tools .search-field,.cm-market-tools .market-count{grid-column:1/-1}
  .cm-market-tools .market-count{text-align:left}
  .phase-block:has([data-action="leave-league"]){grid-template-columns:minmax(0,1fr)}
  .phase-block:has([data-action="leave-league"]) .phase-actions{grid-column:1;grid-row:auto;justify-content:flex-start;margin-top:4px;flex-wrap:wrap}
}
@media(max-width:359px){
  .season-mobile-nav button{font-size:9px;padding-left:1px;padding-right:1px}
  .season-mobile-nav button>span:last-child{white-space:nowrap}
  .phase-block:not(:has([data-action="leave-league"])){grid-template-columns:minmax(0,1fr) auto}
  .phase-block:not(:has([data-action="leave-league"])) .phase-actions{grid-column:2;grid-row:2;margin-top:0}
  .phase-block:not(:has([data-action="leave-league"])) .last-updated{grid-column:1/-1}
}
@media(max-width:1199px) and (max-height:500px){
  .market-tools,.cm-market-tools{position:static}
  .event-upload-panel{position:static}
}
