/* Original franchise marks, kits and earned history. The face seed remains immutable. */
.team-crest.club-crest{padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;aspect-ratio:1;height:auto;isolation:auto}.club-crest::before,.club-crest::after{display:none}.club-mark-svg{display:block;width:100%;height:auto;overflow:visible}.club-mark-field{fill:var(--team-primary,#153e75);stroke:var(--team-secondary,#f3b84b);stroke-width:4}.club-mark-emblem{fill:var(--team-light,#fff8e8)}.club-mark-cut{fill:none;stroke:var(--team-primary,#153e75);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.club-mark-rays{fill:none;stroke:var(--team-light,#fff8e8);stroke-width:5;stroke-linecap:round}.club-mark-code{fill:var(--team-light,#fff8e8);font:800 13px/1 var(--body-font,system-ui);letter-spacing:1px}.club-crest.team-crest--tiny{width:30px}.club-crest.team-crest--small{width:40px}.club-crest.team-crest--medium{width:56px}.club-crest.team-crest--large{width:78px}.club-crest.team-crest--hero{width:100px}.club-crest.team-crest--score{width:64px}.club-crest.team-crest--tiny .club-mark-code{display:none}
.player-portrait[data-kit-body] .player-portrait__jersey{fill:var(--kit-body,#f4f8ff);stroke:var(--kit-trim,#153e75)}.player-portrait[data-kit-body] .player-portrait__jersey-trim{stroke:var(--kit-trim,#153e75)}.player-portrait[data-kit-body] .player-portrait__jersey-shadow{fill:var(--kit-trim,#153e75);opacity:.13}.player-portrait__jersey-number{fill:var(--kit-ink,#ffffff);font:900 10px/1 var(--body-font,system-ui);letter-spacing:.3px}.player-portrait__age-detail{fill:none;stroke:var(--portrait-detail,#6a4436);stroke-width:.7;opacity:.42;stroke-linecap:round}
.player-fact-ribbon{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.player-fact-ribbon>span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--v3-border,#d6d9d7);border-radius:7px;background:var(--v3-surface-alt,#eae8e1);color:var(--v3-ink,#182b38);font-size:13px}.player-fact-ribbon strong{font-variant-numeric:tabular-nums}.player-kit-exhibition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 0}.player-kit-exhibition figure{display:grid;justify-items:center;gap:8px;margin:0;padding:14px;border:1px solid var(--v3-border,#d6d9d7);border-radius:10px;background:var(--v3-surface-alt,#eae8e1);color:var(--v3-ink,#182b38)}.player-kit-exhibition figcaption{font-size:12px;font-weight:700;color:var(--v3-muted,#53616b)}
.original-trophy{display:block;width:76px;max-width:100%;height:auto;flex:0 0 auto}.original-trophy--small{width:48px}.original-trophy--hero{width:130px}.trophy-metal{fill:#f0bb5e;stroke:#a66f25;stroke-width:2;stroke-linejoin:round}.trophy-ball{fill:#ffe2a0;stroke:#a66f25;stroke-width:2}.trophy-line{fill:none;stroke:#8a581b;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.trophy-plinth{fill:#153047;stroke:#f0bb5e;stroke-width:1.5}.award-hero .original-trophy{filter:drop-shadow(0 8px 6px #0003)}
.city-signature{display:block;width:100%;height:auto;fill:none;stroke:var(--team-secondary,#f3b84b);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.5;pointer-events:none}.club-city-hero{position:relative;overflow:hidden;background:var(--v3-night,#152938);color:#f5f5ee;border-radius:14px;padding:26px}.club-city-hero .city-signature{position:absolute;width:60%;right:0;bottom:0;opacity:.28}.club-city-hero>div{position:relative;z-index:1}.club-city-hero h1,.club-city-hero h2,.club-city-hero p{color:inherit}.club-city-lockup{display:flex;align-items:center;gap:20px}.club-city-lockup>div{min-width:0}.club-city-hero .eyebrow{color:#ffd289}.phase-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;margin-top:10px;border:1px solid #ffffff50;border-radius:5px;font-size:12px;font-weight:700}.phase-chip::before{content:'';width:7px;height:7px;background:#f0bb5e;border-radius:50%}[data-season-phase='playoffs'] .phase-chip::before{background:#ff927d}[data-season-phase='offseason'] .phase-chip::before,[data-season-phase='draft'] .phase-chip::before{background:#93dbd2}
.honors-gallery{display:flex;flex-wrap:wrap;align-items:stretch;gap:18px;padding:18px 0}.earned-banner,.retired-jersey{display:flex;flex-direction:column;align-items:center;gap:10px;width:150px;margin:0;text-align:center}.earned-banner{min-height:180px;padding:18px 12px 30px;background:var(--team-primary,#153e75);border-top:5px solid var(--team-secondary,#f3b84b);clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%);color:#fff}.earned-banner figcaption,.retired-jersey figcaption{display:grid;gap:6px;font-size:12px}.earned-banner figcaption strong{color:#fff;font-size:13px}.retired-jersey svg{width:100px;fill:var(--team-primary,#153e75);stroke:var(--team-secondary,#f3b84b);stroke-width:3}.retired-jersey svg text{stroke:none;fill:#fff;font:900 32px/1 var(--body-font,system-ui)}.retired-jersey figcaption span{color:var(--v3-muted,#53616b)}
.subject-cover{position:relative;display:grid;overflow:hidden;margin:0 0 20px;border-radius:12px;border:1px solid #415664;background:linear-gradient(135deg,#152938,#203e51);color:#fff}.subject-cover-art{position:relative;display:flex;justify-content:center;align-items:center;gap:28px;min-height:220px;padding:28px;overflow:hidden}.subject-cover-art::before{content:'';position:absolute;width:340px;height:340px;right:-130px;bottom:-240px;border:2px solid #ffffff24;border-radius:50%;pointer-events:none}.subject-cover-art>.player-portrait,.subject-cover-art>.club-crest,.subject-cover-art>.original-trophy{z-index:1}.subject-cover-art>.city-signature{position:absolute;bottom:0;left:0;width:100%;opacity:.2}.subject-cover-art .player-portrait--hero{width:160px}.subject-cover>figcaption{padding:12px 18px;border-top:1px solid #ffffff25;color:#fff;font-size:13px;font-weight:750}.subject-cover--compact{margin:16px 0}.subject-cover--compact .subject-cover-art{min-height:160px;padding:18px}.subject-cover--compact .player-portrait--hero{width:110px}.subject-cover--compact .club-crest.team-crest--hero{width:84px}.cover-versus{font-size:15px;font-weight:900;color:#ffe2a0}.subject-cover[data-story-cover-category='playoffs']{background:linear-gradient(135deg,#3b204c,#152938)}.subject-cover[data-story-cover-category='world_tournament']{background:linear-gradient(135deg,#13494b,#152938)}.subject-cover[data-story-cover-category='club_superleague']{background:linear-gradient(135deg,#452d26,#152938)}
.memory-scrapbook{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}.memory-page{position:relative;padding:22px;border:1px solid var(--v3-border,#d6d9d7);border-top:7px solid var(--team-primary,#153e75);border-radius:3px 12px 12px 3px;background:var(--v3-surface,#fffefb);box-shadow:3px 3px 0 var(--v3-surface-alt,#eae8e1)}.memory-page::before{content:'';position:absolute;right:16px;top:-4px;width:40px;height:7px;border:1px solid var(--v3-border,#d6d9d7);border-radius:5px;background:var(--v3-surface-alt,#eae8e1)}.memory-page .memory-stamp{display:flex;align-items:center;gap:10px;margin-bottom:14px}.memory-stamp .original-trophy{width:32px}.memory-page h3{font-size:19px;line-height:1.25;margin:10px 0}.memory-page p{font-size:14px}.memory-page time,.memory-page small{color:var(--v3-muted,#53616b)}.memory-page button{margin-top:10px}.ritual-plaque{position:relative;overflow:hidden;padding:22px;border:1px solid var(--team-secondary,#f3b84b);border-radius:12px;background:var(--v3-night,#152938);color:#fff}.ritual-plaque h3,.ritual-plaque p{color:inherit}.ritual-plaque .eyebrow{color:#ffd289}.ritual-plaque q{display:block;margin:16px 0;font-family:var(--display-font,system-ui);font-size:clamp(18px,3vw,28px);font-weight:750}.ritual-plaque .city-signature{position:absolute;right:-10%;bottom:-10px;width:70%;opacity:.13}.ritual-plaque .world-form{position:relative}.ritual-plaque label,.ritual-plaque small{color:#f5f5ee}.relationship-map{display:grid;gap:12px;margin:14px 0}.relationship-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,.65fr) minmax(0,1fr);gap:10px;align-items:center;padding:12px;border:1px solid var(--v3-border,#d6d9d7);border-radius:10px}.relationship-person{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:700}.relationship-person>span{overflow-wrap:anywhere}.relationship-person:last-child{flex-direction:row-reverse;text-align:right}.relationship-person .player-portrait{width:38px}.relationship-connection{display:grid;text-align:center;gap:5px;font-size:11px;color:var(--v3-muted,#53616b)}.relationship-connection::before{content:'';height:3px;background:var(--team-primary,#153e75)}.relationship-link[data-relationship-kind='rivalry'] .relationship-connection::before{background:repeating-linear-gradient(90deg,var(--v3-accent,#9c4809) 0 7px,transparent 7px 11px)}.relationship-connection strong{color:var(--v3-ink,#182b38);font-size:12px}.world-person-row{display:flex;align-items:center;gap:12px}.world-person-row>.player-portrait{width:44px}.world-person-row>div{min-width:0}.prospect-checkpoints{display:flex;gap:8px;overflow:auto;padding:14px 0}.prospect-checkpoint{display:grid;gap:4px;min-width:120px;padding:12px;border-left:3px solid var(--team-primary,#153e75);background:var(--v3-surface-alt,#eae8e1);font-size:12px}.prospect-checkpoint strong{color:var(--v3-ink,#182b38)}
@media(max-width:620px){.club-city-hero{padding:20px}.club-city-lockup{gap:14px}.club-city-lockup .club-crest{width:64px}.club-city-hero .city-signature{width:90%;opacity:.16}.player-kit-exhibition{gap:8px}.player-kit-exhibition figure{padding:10px 5px}.player-kit-exhibition .player-portrait{width:64px}.subject-cover-art{gap:16px;min-height:180px}.relationship-link{grid-template-columns:1fr;gap:6px}.relationship-person:last-child{flex-direction:row;text-align:left}.relationship-connection::before{height:2px}.relationship-connection{padding:2px 0}.honors-gallery{gap:12px}.earned-banner,.retired-jersey{width:135px}.memory-page{padding:18px}}
@media(forced-colors:active){.club-mark-field,.trophy-plinth,.retired-jersey svg{fill:Canvas;stroke:CanvasText}.club-mark-emblem,.club-mark-code,.retired-jersey svg text{fill:CanvasText}.club-mark-cut,.club-mark-rays,.city-signature,.trophy-line{stroke:CanvasText}.trophy-metal,.trophy-ball{fill:Canvas;stroke:CanvasText}.earned-banner,.subject-cover,.ritual-plaque{background:Canvas;color:CanvasText;border:1px solid CanvasText}.earned-banner figcaption strong,.subject-cover figcaption,.ritual-plaque .eyebrow{color:CanvasText}.player-portrait[data-kit-body] .player-portrait__jersey{fill:Canvas;stroke:CanvasText}.player-portrait[data-kit-body] .player-portrait__jersey-trim{stroke:CanvasText}.player-portrait__jersey-number{fill:CanvasText}}
.player-portrait__expression-detail{fill:none;stroke:var(--portrait-skin-shadow,#80543c);stroke-width:1;stroke-linecap:round;opacity:.55}
.story-player-silhouette{width:120px;height:auto;fill:#b1c7d4;stroke:#e8f0f3;stroke-width:1.5}
.club-mark-accent{fill:none;stroke:var(--team-light,#fff8e8);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
@media(forced-colors:active){.club-mark-accent{stroke:CanvasText}}
.public-world-hero.team-arena-hero{background-color:var(--v3-night,#152938);background-image:radial-gradient(ellipse at 80% 20%,color-mix(in srgb,var(--team-primary,#22485f) 35%,transparent),transparent 60%);color:var(--v3-on-night,#f8f5ed)}
.public-world-hero.team-arena-hero h1{color:var(--v3-on-night,#f8f5ed)}
.public-world-hero.team-arena-hero p,.public-world-hero.team-arena-hero .welcome-kicker{color:var(--v3-on-night-muted,#c4d1d9)}
@media(forced-colors:active){.public-world-hero.team-arena-hero{background:Canvas;color:CanvasText}.public-world-hero.team-arena-hero h1,.public-world-hero.team-arena-hero p,.public-world-hero.team-arena-hero .welcome-kicker{color:CanvasText}}

/* Art stays dark in either appearance; ordinary links need the same local ink. */
.ritual-plaque.card, .ritual-plaque.card:hover { background: var(--v3-night, #152938); color: #f5f5ee; }
.club-city-hero a:not(.button), .ritual-plaque a:not(.button), .subject-cover a:not(.button) { color: #ffd289; }
.club-city-hero a:not(.button):hover, .ritual-plaque a:not(.button):hover, .subject-cover a:not(.button):hover { color: #fff4db; }
.club-city-hero :focus-visible, .ritual-plaque :focus-visible, .subject-cover :focus-visible { outline-color: #ffd289; }
.ritual-plaque h3, .ritual-plaque p, .ritual-plaque q { color: #f5f5ee; }
@media (forced-colors: active) {
  .ritual-plaque.card, .ritual-plaque.card:hover { background: Canvas; color: CanvasText; }
  .club-city-hero a:not(.button), .ritual-plaque a:not(.button), .subject-cover a:not(.button), .club-city-hero a:not(.button):hover, .ritual-plaque a:not(.button):hover, .subject-cover a:not(.button):hover { color: LinkText; }
  .club-city-hero :focus-visible, .ritual-plaque :focus-visible, .subject-cover :focus-visible { outline-color: Highlight; }
  .ritual-plaque h3, .ritual-plaque p, .ritual-plaque q { color: CanvasText; }
}
