/* NextTilt Formation / Arena. Shared across public, coach and admin surfaces. */
:root{--ink:var(--nt-navy);--paper:var(--nt-ice);--sidebar:var(--nt-navy);--navy:var(--nt-navy);--muted:var(--nt-muted);--line:var(--nt-boards);--edge:var(--nt-boards);--primary:var(--nt-navy);--action:var(--nt-blue);--cyan:var(--nt-blue);--red:var(--nt-red);--display:var(--nt-font-display)}
html{background:var(--nt-ice);font-family:var(--nt-font-display)}body{background:var(--nt-ice);color:var(--nt-navy);font-family:var(--nt-font-display)}input,select,textarea,button{font-family:var(--nt-font-display)}h1,h2,h3{font-family:var(--nt-font-display);font-stretch:112%;letter-spacing:-.035em}h1{font-weight:800}h2,h3{font-weight:700}a{color:var(--nt-navy)}a:not([class]):hover{color:var(--nt-blue)}
.nt-logo{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap;line-height:1;color:inherit}
.nt-mark{height:1.18em;width:1.18em;flex:none;object-fit:contain}.nt-mark-reversed{display:none}
.brand,.wordmark{display:inline-flex;align-items:center;gap:0;text-decoration:none;font-size:24px;color:var(--nt-navy);font-style:normal;letter-spacing:normal}
.brand .nt-logo,.wordmark .nt-logo,.brand .nt-wordmark,.wordmark .nt-wordmark{color:inherit}.brand .nt-wordmark span,.wordmark .nt-wordmark span{color:inherit}.brand .nt-dot,.wordmark .nt-dot{background:var(--nt-blue)}
.app-sidebar .wordmark,.board-app>.top .wordmark,.stats-header .brand,body.admin-app>header .brand{color:var(--nt-ice)}
.app-sidebar .nt-mark-default,.board-app>.top .nt-mark-default,.stats-header .nt-mark-default,body.admin-app>header .nt-mark-default{display:none}
.app-sidebar .nt-mark-reversed,.board-app>.top .nt-mark-reversed,.stats-header .nt-mark-reversed,body.admin-app>header .nt-mark-reversed{display:block}
.eyebrow,.brand-tagline,.section-label,.line-label,.positions,.jersey,.player-number,.player-meta,.game-date,.season,.fact>span,.fact>strong,.stat-grid strong,.score,.score-line,.score-num,.totals strong,td,th,.freshness,.badge,.demo-instruction,.position small,.game-select option,.sponsor-strip>span,.sponsors>span{font-family:var(--nt-font-mono);font-stretch:normal;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.brand-tagline{font-size:12px}.brand-tagline,.muted,.fine,.intro{color:var(--nt-muted)}
button,.button,.cta,.sign-in,.primary,.header-cta,.follow-button,.nt-btn{border-radius:var(--nt-radius-pill)}
button.primary,.button.primary,.primary,.button:not(.secondary):not(.cyan),.nt-btn{background:var(--nt-navy);border-color:var(--nt-navy);color:var(--nt-ice)}
a.cta,.button.cyan,.header-cta,.signup>.button,.conversion-panel .button{background:var(--nt-blue);border-color:var(--nt-blue);color:white}.cta:hover,.button.cyan:hover,.header-cta:hover{background:var(--nt-navy);color:white}
.button.secondary,.quiet{background:var(--nt-surface);border-color:var(--nt-boards);color:var(--nt-navy)}
.panel,.total,.profile-card,.board,.demo,.team-tile,.result-card,.opponent-card,.line-group,.resource-cta,.prep-sample,.sponsor-form-card{background:var(--nt-surface);border:1px solid var(--nt-boards);border-radius:var(--nt-radius-md);box-shadow:none}
.app-sidebar,.board-app>.top,.stats-header,.pain,.signup,.conversion-panel,.game-hero{background:var(--nt-navy);color:var(--nt-ice)}
.signup,.conversion-panel,.game-hero{border-radius:var(--nt-radius-lg);border:1px solid var(--nt-navy)}.pain{border-radius:0}.signup p,.signup small,.conversion-panel p{color:var(--nt-navy-200)}
.stats-header nav a,.board-app .top .quiet{color:var(--nt-ice)}.stats-header .header-cta{color:white}.stats-header .brand .nt-wordmark{color:var(--nt-ice)}
.app-sidebar nav a.active,.board-app>nav button.active{background:var(--nt-navy-800);box-shadow:inset 3px 0 var(--nt-blue);color:var(--nt-ice)}
.player-chip,.demo-card,.demo-card.vacant,.demo-card .slot,.skater,.slot{border-radius:var(--nt-radius-sm);border-color:var(--nt-boards)}.player-name,.chip-name,.skater strong,.demo-card strong{font-family:var(--nt-font-display);font-weight:600;font-stretch:112%}.player-chip,.skater{background:var(--nt-surface)}.player-chip.selected,.slot.selected,.selected-player{background:var(--nt-blue);color:white}.player-number,.jersey{background:var(--nt-ice);color:var(--nt-navy);border-color:var(--nt-boards)}
.demo-card strong{color:var(--nt-navy)}.demo-card span{font-family:var(--nt-font-mono)}
.demo{border-top:1px solid var(--nt-boards)}.demo-instruction,.badge{background:var(--nt-ice);color:var(--nt-muted)}.game-facts,.skater,.line-group{border-color:var(--nt-boards)}.game-facts{border-radius:20px;box-shadow:none}.fact.arrival{background:var(--nt-ice);border-top:0}.game-hero .eyebrow,.signup .eyebrow{color:var(--nt-navy-200)}.game-hero .status-dot{background:var(--nt-blue)}.skater{border-left:1px solid var(--nt-boards);background:var(--nt-surface)}.skater .jersey{font-family:var(--nt-font-mono)}.section-heading{border-color:var(--nt-boards)}.rink-art{display:none}
.sponsors,.sponsor-strip,.sponsor-footer{border-top:1px solid var(--nt-boards);padding-top:20px}.sponsors>span,.sponsor-strip>span,.sponsor-footer p{font-family:var(--nt-font-mono);font-size:11px;letter-spacing:.02em;text-transform:uppercase}.sponsors img,.sponsor-strip img{filter:grayscale(1);max-width:150px;object-fit:contain}
.hero-copy h1{font-size:clamp(48px,6vw,80px);line-height:.96;font-weight:800;font-stretch:112%;letter-spacing:-.04em}.hero-copy>p:not(.fine){color:var(--nt-muted)}.hero-copy .eyebrow{font-family:var(--nt-font-mono);color:var(--nt-muted)}.hero-copy .cta{font-size:15px}.hero{background:var(--nt-ice)}
:focus-visible{outline:3px solid var(--nt-blue);outline-offset:3px}.danger,.out{color:#B31935}button.danger{border-color:var(--nt-red)}
@media(max-width:600px){.brand,.wordmark{font-size:21px}.hero-copy h1{font-size:48px}.nt-logo{gap:.22em}.stats-header{gap:12px}.stats-header nav{gap:12px}.stats-header .coach-nav{display:none}}

.hero-formation{position:absolute;right:28px;top:28px;width:38px;height:38px}.game-hero .hero-content{padding-right:36px}

.nt-reversed{color:var(--nt-ice)}.nt-reversed .nt-mark-default{display:none}.nt-reversed .nt-mark-reversed{display:block}
.board-app .top .wordmark .nt-logo,.board-app .top .wordmark .nt-wordmark,.board-app .top .wordmark .nt-i,.app-sidebar .wordmark .nt-logo,.app-sidebar .wordmark .nt-wordmark,.app-sidebar .wordmark .nt-i{color:var(--nt-ice)}
.board-app>nav button,.board-app>nav a{color:var(--nt-ice)}.board-app .primary{background:var(--nt-navy);border-color:var(--nt-navy);color:var(--nt-ice);border-radius:999px}.board-app .onboarding h1{color:var(--nt-navy)}
.sponsor-logos img{filter:grayscale(1)}.hero-wrap,.hero-shell{background:var(--nt-ice)}

.board-app .game-day-toolbar button,.board-app .hero button,.board-app .modal button:not(.slot):not(.picker-player),.board-app .row>button{border-radius:999px}
.board-app .player-name{font-stretch:112%;font-weight:600}.board-app .slot{border-top-color:var(--nt-boards)}.board-app .slot.selected{border-top-color:var(--nt-blue)}

.brand .nt-wordmark,.wordmark .nt-wordmark{font-family:var(--nt-font-display);font-stretch:112%;font-weight:800;letter-spacing:-.045em}.brand .nt-wordmark .nt-i,.wordmark .nt-wordmark .nt-i{font-weight:inherit}.game-hero .initials{color:var(--nt-ice)}.game-hero .opponent>span{color:var(--nt-navy-200)}
.stats-header .header-cta{padding:12px 18px;white-space:nowrap}
@media(max-width:600px){.game-hero .hero-content{padding-right:0}.game-hero .eyebrow{padding-right:40px}.team-title .team-crest{width:44px;height:44px}.team-title{gap:12px}.team-title h1{font-size:30px;overflow-wrap:normal;word-break:normal}}

.hub-hero .eyebrow{color:var(--nt-muted)}
