:root { --pick: #8f58e8; }
.analyzer-page main { padding-top: 40px; }
.analyzer-heading { margin-bottom: 24px; }
.analyzer-heading h1 { margin-bottom: 9px; }
.analyzer-heading p, .import-copy p, .import-help, .league-header p { color: var(--muted); }
.analyzer-heading p { margin-bottom: 0; font-size: 1rem; }
.import-panel, .analyzer-loading, .league-header, .team-card { border: 1px solid var(--line); border-radius: var(--designer-corner-radius,18px); background: var(--designer-panel-background,var(--panel)); box-shadow: 0 24px 70px rgba(0,0,0,.24); }
.import-panel { padding: 24px; }
.import-copy h2 { margin-bottom: 6px; font-size: 1.35rem; }
.import-copy p, .import-help { margin-bottom: 0; }
.league-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; margin-top: 20px; }
.league-id-control input { width: 100%; min-height: 50px; padding: 12px 15px; color: white; background: #040c16; border: 1px solid rgba(196,207,221,.22); border-radius: 10px; }
.league-id-control input::placeholder { color: #718091; }
.league-form button { min-height: 50px; padding: 12px 22px; border: 1px solid #f2d27a; border-radius: 10px; color: #101820; background: linear-gradient(180deg,#f4d679,#d9a93e); box-shadow: inset 0 1px rgba(255,255,255,.7),0 8px 22px rgba(232,189,85,.16); font-weight: 900; cursor: pointer; }
.league-form button:disabled { opacity: .55; cursor: wait; }
.import-help { margin-top: 11px; font-size: .82rem; }
.analyzer-message { margin-top: 16px; padding: 12px 14px; border-radius: 10px; font-size: .88rem; line-height: 1.5; }
.analyzer-message.error { color: #ffc0c0; border: 1px solid rgba(240,106,106,.35); background: rgba(108,27,36,.28); }
.analyzer-message.warning { color: #ead69f; border: 1px solid rgba(232,189,85,.3); background: rgba(95,72,19,.25); }
.analyzer-message[hidden], .analyzer-loading[hidden], .analyzer-results[hidden], .team-details[hidden] { display: none; }
.analyzer-loading { display: flex; align-items: center; gap: 14px; margin-top: 18px; padding: 20px; }
.analyzer-loading strong { display: block; }
.analyzer-loading p { margin: 3px 0 0; color: var(--muted); font-size: .86rem; }
.analyzer-spinner { width: 30px; height: 30px; border: 3px solid rgba(255,255,255,.12); border-top-color: var(--gold); border-radius: 50%; animation: analyzer-spin .85s linear infinite; }
@keyframes analyzer-spin { to { transform: rotate(360deg); } }
.analyzer-results { margin-top: 30px; }
.league-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 24px; margin-bottom: 14px; }
.league-header h2 { margin: 5px 0; font-size: clamp(1.7rem,3vw,2.35rem); }
.league-header p { margin-bottom: 0; }
.format-override { display: grid; gap: 6px; color: var(--muted); font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.format-override select { min-width: 160px; min-height: 42px; padding: 8px 34px 8px 11px; color: white; background: #07111e; border: 1px solid var(--line); border-radius: 9px; text-transform: none; }
.power-rankings { display: grid; gap: 12px; }
.team-card { overflow: hidden; }
.team-summary { width: 100%; display: grid; grid-template-columns: 92px minmax(190px,1.6fr) 118px 190px repeat(5,minmax(70px,.55fr)) 34px; align-items: center; gap: 10px; padding: 18px 17px; color: inherit; background: linear-gradient(90deg,rgba(12,39,66,.88),rgba(5,15,27,.94)); border: 0; cursor: pointer; text-align: left; }
.team-card.without-rooms .team-summary{grid-template-columns:92px minmax(190px,1fr) 118px 190px 34px}.team-card.without-score .team-summary{grid-template-columns:92px minmax(190px,1.6fr) 190px repeat(5,minmax(70px,.55fr)) 34px}.team-card.without-grade .team-summary{grid-template-columns:92px minmax(190px,1.6fr) 118px repeat(5,minmax(70px,.55fr)) 34px}.team-card.without-score.without-grade .team-summary{grid-template-columns:92px minmax(190px,1fr) repeat(5,minmax(70px,.55fr)) 34px}.team-card.without-rooms.without-score .team-summary{grid-template-columns:92px minmax(190px,1fr) 190px 34px}.team-card.without-rooms.without-grade .team-summary{grid-template-columns:92px minmax(190px,1fr) 118px 34px}.team-card.without-rooms.without-score.without-grade .team-summary{grid-template-columns:92px minmax(190px,1fr) 34px}
.team-card:nth-child(2n) .team-summary { background: linear-gradient(90deg,rgba(18,31,51,.9),rgba(5,13,23,.96)); }
.summary-stat { display: grid; gap: 3px; }
.summary-stat small, .room-tile small { color: #8f9baa; font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.summary-stat strong { color: white; font-size: 1.22rem; }
.power-number strong { color: var(--gold); font-size: 1.75rem; }
.team-identity { display: flex; align-items: center; gap: 11px; min-width: 0; }
.team-avatar { flex: 0 0 46px; width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(215,221,229,.22); border-radius: 50%; color: var(--gold); background: #0b2036; font-weight: 900; }
.team-avatar img { width: 100%; height: 100%; object-fit: cover; }
.team-identity strong { display: block; overflow: hidden; color: white; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.team-identity small { display: block; margin-top: 3px; color: var(--muted); }
.chef-grade { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; }
.chef-grade small { grid-column: 1/-1; }
.chef-stars { color: var(--gold); letter-spacing: .05em; white-space: nowrap; }
.half-star { display: inline-block; position: relative; width: 1em; color: rgba(223,229,238,.42); letter-spacing: 0; }
.half-star::before { content: "★"; position: absolute; inset: 0 auto 0 0; width: 50%; overflow: hidden; color: var(--gold); }
.chef-grade strong { color: white; }
.room-tile { min-height: 52px; display: grid; align-content: center; gap: 3px; padding: 7px 8px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: rgba(255,255,255,.035); }
.room-tile strong { color: white; font-size: 1rem; }
.room-tile.qb { border-color: rgba(198,73,91,.52); background: rgba(142,32,50,.25); }
.room-tile.rb { border-color: rgba(61,168,120,.52); background: rgba(22,118,76,.23); }
.room-tile.wr { border-color: rgba(71,152,204,.52); background: rgba(23,107,165,.22); }
.room-tile.te { border-color: rgba(213,138,67,.52); background: rgba(164,90,24,.22); }
.room-tile.picks { border-color: rgba(160,103,239,.5); background: rgba(97,47,155,.25); }
.mobile-room-grid { display: contents; }
.summary-chevron { color: #8fa0b2; font-size: 1.25rem; transform: rotate(90deg); transition: transform .16s ease; }
.team-card.expanded .summary-chevron { transform: rotate(-90deg); }
.team-details { padding: 18px; border-top: 1px solid var(--line); background: rgba(4,13,23,.72); }
.details-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 12px; }
.details-heading h3 { margin: 0; font-size: 1.05rem; letter-spacing: .04em; text-transform: uppercase; }
.details-heading p { margin: 0; color: var(--muted); font-size: .78rem; }
.position-groups { display: grid; gap: 12px; }
.position-group { overflow: hidden; border: 1px solid rgba(196,207,221,.13); border-radius: 11px; background: rgba(8,23,40,.7); }
.position-group-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-bottom: 1px solid rgba(196,207,221,.1); }
.position-group-header h4 { margin: 0; color: white; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.room-badge, .rank-badge, .position-badge, .lineup-badge { display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; box-shadow: inset 0 1px rgba(255,255,255,.1),0 2px 6px rgba(0,0,0,.25); font-weight: 900; white-space: nowrap; }
.room-badge { min-width: 94px; padding: 6px 9px; color: white; font-size: .72rem; }
.room-badge strong { margin-left: 6px; color: #ffd15d; font-size: .9rem; }
.rank-badge, .position-badge { min-width: 54px; padding: 5px 7px; font-size: .7rem; }
.rank-badge { color: #e9f1fa; border-color: #748dab; background: #14283f; }
.position-badge.qb, .room-badge.qb { color: #ffe1e4; border-color: #c6495b; background: #8e2032; }
.position-badge.rb, .room-badge.rb { color: #dcffed; border-color: #3da878; background: #16764c; }
.position-badge.wr, .room-badge.wr { color: #e1f3ff; border-color: #4798cc; background: #176ba5; }
.position-badge.te, .room-badge.te { color: #ffead0; border-color: #d58a43; background: #a45a18; }
.position-badge.picks, .room-badge.picks { color: #f0e3ff; border-color: #a06bef; background: #61309c; }
.player-asset-row { --team-primary:#112b46; --team-secondary:#8fa0b2; position:relative; isolation:isolate; overflow:hidden; display: grid; grid-template-columns: minmax(180px,1fr) auto auto auto; align-items: center; gap: 10px; min-height: 62px; padding: 8px 12px; border-bottom: 1px solid rgba(196,207,221,.08); background:linear-gradient(90deg,color-mix(in srgb,var(--team-primary) var(--analyzer-team-row-color,12%),rgba(8,23,40,.7)),rgba(8,23,40,.7) 70%); }
.player-asset-row:last-child { border-bottom: 0; }
.analyzer-row-logo { position:absolute; z-index:0; inset:0; display:flex; align-items:center; justify-content:center; overflow:hidden; pointer-events:none; }
.analyzer-row-logo img { width:var(--analyzer-team-logo-width,72%); height:190%; object-fit:contain; opacity:var(--analyzer-team-logo-opacity,.1); filter:brightness(var(--analyzer-team-logo-brightness,1.45)) saturate(1.2) contrast(1.08) drop-shadow(0 0 10px color-mix(in srgb,var(--team-secondary) 18%,transparent)); transform:translateX(var(--analyzer-team-logo-position,8%)) scaleX(1.18); }
.asset-identity,.lineup-badge,.rank-badge,.position-badge { position:relative; z-index:1; }
.asset-identity { display: flex; align-items: center; gap: 10px; min-width: 0; }
.asset-headshot { flex: 0 0 40px; width: 40px; height: 40px; overflow: hidden; border: 1px solid color-mix(in srgb,var(--team-secondary) 42%,rgba(255,255,255,.2)); border-radius: 50%; background: #112b46; }
.analyzer-team-headshots .asset-headshot { background:radial-gradient(circle at 38% 28%,color-mix(in srgb,var(--team-primary) 80%,white 20%),color-mix(in srgb,var(--team-primary) 60%,#06111f 40%) 72%); box-shadow:inset 0 0 10px rgba(255,255,255,.08),0 2px 8px rgba(0,0,0,.32); }
.asset-headshot img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.asset-identity strong { display: block; overflow: hidden; color: white; font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }
.asset-identity small { display: block; margin-top: 2px; color: var(--muted); font-size: .72rem; }
.lineup-badge { min-width: 62px; padding: 5px 7px; color: #d5e4f4; border-color: #325f8f; background: #102b47; font-size: .62rem; letter-spacing: .04em; }
.lineup-badge.bench { color: #a9b5c1; border-color: #3a4c60; background: #172332; }
.unranked-row { color: #8794a2; }
.draft-pick-row { min-height: 50px; }
.draft-pick-row .asset-headshot { display: grid; place-items: center; color: #d8b7ff; border-radius: 9px; background: #38205c; font-size: .75rem; font-weight: 900; }
.no-assets { margin: 0; padding: 15px; color: var(--muted); font-size: .82rem; }
@media (max-width: 1160px) { .team-summary { grid-template-columns: 76px minmax(180px,1.4fr) 104px 160px repeat(5,65px) 24px; gap: 7px; padding-left: 12px; padding-right: 12px; } .chef-stars { font-size: .74rem; } }
@media (max-width: 900px) { .analyzer-page .main-nav { display: flex; overflow-x: auto; width: 100%; } .analyzer-page .site-header { align-items: stretch; flex-direction: column; } .team-summary,.team-card.without-rooms .team-summary,.team-card.without-score .team-summary,.team-card.without-grade .team-summary,.team-card.without-score.without-grade .team-summary,.team-card.without-rooms.without-score .team-summary,.team-card.without-rooms.without-grade .team-summary,.team-card.without-rooms.without-score.without-grade .team-summary { grid-template-columns: 68px minmax(150px,1fr) 90px 128px 24px; } .mobile-room-grid .room-tile { display: none; } }
@media (max-width: 640px) {
  .analyzer-page main { padding-top: 28px; }
  .analyzer-page .site-header { align-items: center; flex-direction: row; }
  .analyzer-page .main-nav { display: none; }
  .analyzer-heading h1 { font-size: clamp(2rem,10vw,2.75rem); }
  .league-form { grid-template-columns: 1fr; }
  .league-form button { width: 100%; }
  .league-header { align-items: stretch; flex-direction: column; padding: 18px; }
  .format-override select { width: 100%; }
  .team-summary,.team-card.without-rooms .team-summary,.team-card.without-score .team-summary,.team-card.without-grade .team-summary,.team-card.without-score.without-grade .team-summary,.team-card.without-rooms.without-score .team-summary,.team-card.without-rooms.without-grade .team-summary,.team-card.without-rooms.without-score.without-grade .team-summary { grid-template-columns: 72px minmax(0,1fr) 24px; gap: 9px; padding: 15px 12px; }
  .team-identity { grid-column: 2; }
  .team-avatar { width: 42px; height: 42px; flex-basis: 42px; }
  .team-identity strong { font-size: .94rem; }
  .score-stat, .grade-stat { align-self: stretch; align-content: start; margin-top: 4px; padding-top: 11px; border-top: 1px solid rgba(196,207,221,.1); }
  .score-stat { grid-column: 1/2; }
  .grade-stat { grid-column: 2/4; }
  .grade-stat { grid-template-columns:auto auto; justify-content:center; justify-items:center; text-align:center; }
  .grade-stat small { width:100%; text-align:center; }
  .grade-stat .chef-stars,.grade-stat strong { justify-self:center; }
  .summary-chevron { grid-column: 3; grid-row: 1; }
  .mobile-room-grid { grid-column: 1/-1; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 5px; }
  .mobile-room-grid .room-tile { display: grid; min-width: 0; min-height: 48px; padding: 5px; }
  .mobile-room-grid .room-tile small { font-size: .56rem; }
  .mobile-room-grid .room-tile strong { font-size: .86rem; }
  .team-details { padding: 12px; }
  .details-heading { align-items: flex-start; flex-direction: column; }
  .position-group-header { padding: 9px; }
  .position-group-header h4 { font-size: .75rem; }
  .room-badge { min-width: 84px; font-size: .64rem; }
  .player-asset-row { grid-template-columns: minmax(0,1fr) auto auto; gap: 6px; padding: 8px; }
  .lineup-badge { display: none; }
  .asset-headshot { width: 36px; height: 36px; flex-basis: 36px; }
  .rank-badge, .position-badge { min-width: 47px; padding: 5px 6px; font-size: .65rem; }
}
