/* North Dakota hockey data layer: key/value strips, hairline tables, schedule, tendencies. Loads last. */
:root{--cc-brand:#0b6b3a;--cc-dark:#06140d;--cc-accent:#009A44;--cc-accent-2:#bfe6cf;--cc-rule:#D6DEE6;--cc-rule-soft:#E8EEF3;--cc-ink-2:#3A4556;--cc-ink-3:#5B6670;--cc-surface:#fff}
[data-theme="dark"]{--cc-rule:#1f3a2c;--cc-rule-soft:#17291f;--cc-ink-2:#cfe0d6;--cc-ink-3:#a3b8ac;--cc-surface:var(--surface,#0f1f17)}
.num{text-align:right!important;font-variant-numeric:tabular-nums lining-nums}
.source-note{font-size:12px;line-height:1.55;color:var(--cc-ink-3);margin:4px 0 18px;max-width:880px}
.section-title{font-size:18px;margin:26px 0 12px}
/* key/value strip */
.kv-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:0;border:1px solid var(--cc-rule);border-radius:6px;background:var(--cc-surface);margin:0 0 20px}
.kv-strip>div{padding:12px 16px;border-right:1px solid var(--cc-rule-soft);min-width:0}
.kv-strip>div:last-child{border-right:0}
.kv-strip span{display:block;font-size:12px;line-height:16px;color:var(--cc-ink-3);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kv-strip b{display:block;font-size:22px;line-height:28px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);margin-top:2px;white-space:nowrap}
.kv-strip b small{font-size:13px;font-weight:500;color:var(--cc-ink-3)}
.kv-strip b.neg{color:var(--negative,#a11d2b)}
.kv-strip.compact{margin:12px 0 0}.kv-strip.compact b{font-size:18px}
.kv-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:16px 0 18px}
.kv-list span{display:block;font-size:12px;color:var(--cc-ink-3)}.kv-list b{font-size:14px;font-weight:500}
/* tables */
.cc-table th{font-size:12px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--cc-ink-2);background:transparent;border-bottom:1px solid var(--cc-rule);padding:10px 14px}
.cc-table td{border-bottom:1px solid var(--cc-rule-soft);padding:10px 14px;font-size:13px;vertical-align:top;background:transparent}
.cc-table tfoot td{border-top:1px solid var(--cc-rule);font-weight:600}
.cc-table td.meta{white-space:normal;min-width:180px}
.roster-table td{white-space:nowrap}.roster-table td:nth-child(7){white-space:normal;min-width:170px}.roster-table td:last-child{white-space:normal;min-width:220px;color:var(--cc-ink-3)}
.cc-table td.playtext{white-space:normal;min-width:280px;max-width:460px;font-size:12px;line-height:1.45}
.cc-table td.playtext .linkbtn{text-align:left;font-weight:400;white-space:normal;color:var(--ink)}
.cc-table td.playtext .linkbtn:hover{color:var(--cc-brand);text-decoration:underline}
.stars{color:var(--cc-accent);letter-spacing:1px;font-size:12px;white-space:nowrap}
.grade.none{background:transparent;color:var(--cc-ink-3);font-weight:500}
/* season snapshot on home */
.cc-snapshot{background:var(--cc-surface);border:1px solid var(--cc-rule);border-radius:6px;padding:20px;margin:0 0 24px}
.cc-snap-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.cc-snap-head h2{font-size:22px;line-height:28px;margin:0 0 4px;font-weight:600}
.cc-snap-head p{margin:0;color:var(--cc-ink-2);font-size:14px}
.cc-snapshot .kv-strip{margin-bottom:16px}
.schedule-table tr.upcoming td{color:var(--cc-ink-2)}
.schedule-table tr.next td{background:color-mix(in srgb,var(--cc-accent-2) 22%,transparent)}
.res{display:inline-block;min-width:18px;font-weight:600}.res.w{color:#1F6F43}.res.l{color:#9b2c2c}
[data-theme="dark"] .res.w{color:#8ad3ad}[data-theme="dark"] .res.l{color:#f3a7a7}
[data-theme="dark"] .schedule-table tr.next td{background:#143a26}
.cc-snapshot .source-note{margin:10px 0 0}
/* tendencies */
.tend-legend{display:flex;gap:16px;font-size:12px;color:var(--cc-ink-3);margin-bottom:10px}
.tend-legend i,.tend-bar i{display:inline-block}
.tend-legend i{width:10px;height:10px;margin-right:6px;vertical-align:-1px}
.tend-row{display:grid;grid-template-columns:96px minmax(0,1fr) 190px;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--cc-rule-soft)}
.tend-label{font-size:13px;font-weight:500}
.tend-bar{display:flex;height:12px;background:var(--cc-rule-soft)}
.tend-bar i{height:100%}
i.run{background:var(--cc-accent)}i.pass{background:var(--cc-brand)}
[data-theme="dark"] i.pass{background:#e8f5ee}
.tend-val{font-size:12px;color:var(--cc-ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.tend-val small{color:var(--cc-ink-3)}
.depth-more{font-size:12px;color:var(--cc-ink-3);padding:8px 12px}
.checkrow{display:flex;gap:10px;align-items:flex-start;font-size:13px;padding:6px 0}
/* inline per-control help buttons only when help mode is on */
/* Per-control "How to use this" buttons clutter every row; help stays available from the help menu and narrated guide. */
#app .ts-inline-help,#overlay .ts-inline-help{display:none!important}
@media (max-width:760px){
  .kv-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kv-strip>div{border-right:0;border-bottom:1px solid var(--cc-rule-soft)}
  .kv-strip b{font-size:18px;line-height:24px}
  .cc-snap-head{flex-direction:column}
  .tend-row{grid-template-columns:78px minmax(0,1fr);}
  .tend-val{grid-column:1/-1}
  .kv-list{grid-template-columns:1fr}
}
/* Trust banner: UNC palette, home page only */
body:not([data-page="dashboard"]) #main>.tracker-trust{display:none!important}
#main>.tracker-trust{background:#f3f8f5!important;border:1px solid var(--cc-rule)!important;border-left:1px solid var(--cc-rule)!important;border-top:3px solid var(--cc-brand)!important;border-radius:6px!important;box-shadow:none!important}
#main>.tracker-trust :is(div,span,h2,p){color:#101826!important}
#main>.tracker-trust button{background:var(--cc-brand)!important;border-color:var(--cc-brand)!important;color:#fff!important}
[data-theme="dark"] #main>.tracker-trust{background:var(--surface,#0f1f17)!important;border-color:#1f3a2c!important;border-top-color:#2fbf6f!important}
[data-theme="dark"] #main>.tracker-trust :is(div,span,h2,p){color:#EEF3F8!important}
[data-theme="dark"] #main>.tracker-trust button{background:#2fbf6f!important;border-color:#2fbf6f!important;color:#06140d!important}
.cc-table td.playtext{min-width:320px}
.scouting-grid>*,.grid>*,.compare-grid>*{min-width:0}
.board{grid-template-columns:repeat(3,minmax(0,1fr))!important}@media (max-width:760px){.board{grid-template-columns:1fr!important}}
.cc-table td{white-space:normal}
.cc-table td.num,.cc-table th.num{white-space:nowrap}
.practice-text{min-width:240px}
.practice-group{min-width:150px}
@media (max-width:760px){
  #main .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;-webkit-overflow-scrolling:touch}
  #main .tabs button{white-space:nowrap;flex:0 0 auto}
  #main .filters{display:flex;flex-wrap:wrap;gap:8px}
  #main .filters input{flex:1 1 100%;min-width:0}
  #main .filters select{flex:1 1 calc(50% - 8px);min-width:0}
}

.cc-snapshot .ranking-line .name,.cc-table .playercell .name{color:var(--ink,inherit)}
[data-theme="dark"] .cc-snapshot,[data-theme="dark"] .kv-strip{color:#eef5f0}
[data-theme="dark"] .cc-snapshot .kv-strip b,[data-theme="dark"] .cc-snap-head h2{color:#eef5f0}
[data-theme="dark"] main>.tablewrap .cc-table td{color:#eef5f0}
[data-theme="dark"] .cc-snapshot .name{color:#eef5f0}
.cc-snapshot .grid.equal{gap:24px}
.und-dept-link{display:block;margin:10px 16px 4px;font-size:12px;font-weight:600;color:#9be0b8;text-decoration:none}
.und-dept-link:hover{text-decoration:underline}
.about-foot a{color:inherit}
.tablewrap{max-width:100%;overflow-x:auto}

.panel .cc-table td,.panel .cc-table th,.panel .kv-strip b,.panel select{color:#16241c!important}
.panel .cc-table th,.panel .kv-strip span{color:#4b5f53!important}
.panel .kv-strip{background:#fff}
.panel .cc-table .name{color:#16241c!important}
.cc-note{font-size:12px;line-height:1.55;color:var(--cc-ink-3);margin:10px 0 0;max-width:880px;background:none!important;padding:0!important;border:0!important}
.panel .cc-note{color:#4b5f53}
[data-theme="dark"] main>.cc-note,[data-theme="dark"] .cc-snapshot .cc-note{color:#a3b8ac}

.cc-table td:first-child .playercell{min-width:170px}
.cc-table .playercell .name{white-space:nowrap}
.schedule-table td:first-child{white-space:nowrap}
.panel .res.w{color:#1F6F43!important}.panel .res.l{color:#9b2c2c!important}
.panel .schedule-table tr.next td{background:#e6f4ec!important}
.profile-dialog .profile-detail-grid b{color:#16241c!important;font-weight:600}
.profile-dialog .profile-detail-grid small{color:#4b5f53!important}
/* Arrival plate fills the screen on every viewport; headline sits on the lower scrim. */
html dialog.und-rink-intro .und-arrival-picture{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
html dialog.und-rink-intro .und-arrival-image{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 42%!important}
@media (max-width:760px){html dialog.und-rink-intro .und-arrival-image{object-position:44% 40%!important}
html dialog.und-rink-intro .und-arrival-picture::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,18,11,.6) 0%,rgba(3,18,11,.08) 20%,rgba(3,18,11,.2) 40%,rgba(3,18,11,.86) 58%,rgba(3,18,11,.96) 100%)}
html[data-theme="light"] dialog.und-rink-intro .und-arrival-picture::after{background:linear-gradient(180deg,rgba(240,247,243,.55) 0%,rgba(240,247,243,.05) 20%,rgba(240,247,243,.2) 40%,rgba(240,247,243,.9) 58%,rgba(240,247,243,.97) 100%)}}
/* Attribution lives in the footer only on the arrival screen. */
html dialog.und-rink-intro .tracker-global-access .tga-brand,html dialog.und-rink-intro .tracker-global-access .tga-disclosure{display:none!important}
/* NIL share plan: share bars first, optional modeled budget (inherits the panel's own ink so it reads in both themes) */
.share-bars{display:grid;gap:14px;padding:6px 20px 18px}
.share-row{display:grid;grid-template-columns:minmax(110px,160px) 1fr 48px;gap:14px;align-items:center;color:inherit}
.share-l{display:flex;flex-direction:column;font-weight:600;font-size:14px;color:inherit}
.share-l small{font-weight:400;font-size:12px;opacity:.68}
.share-track{height:10px;border-radius:999px;background:rgba(127,127,127,.2);overflow:hidden}
.share-track i{display:block;height:100%;border-radius:inherit;background:#009A44}
.share-v{text-align:right;font-variant-numeric:tabular-nums;font-size:15px;color:inherit}
.model-budget{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:inherit;opacity:.9;white-space:nowrap}
.model-budget .dollar{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(127,127,127,.45);border-radius:8px;padding:4px 10px;background:transparent;color:inherit}
.model-budget .dollar input{width:110px;border:0!important;background:transparent!important;font:inherit;color:inherit!important;padding:2px 0;outline:none;box-shadow:none!important}
@media (max-width:600px){.share-row{grid-template-columns:96px 1fr 42px;gap:10px}.model-budget .dollar input{width:84px}.share-bars{padding:4px 14px 14px}.panel-head:has(.model-budget){flex-wrap:wrap;gap:10px}}
/* the panel surface is light in both themes, so the share plan uses the panel's dark ink */
.share-row,.share-l,.share-v,.model-budget,.model-budget .dollar,.model-budget .dollar input{color:#17201A!important;opacity:1}
.share-l small{color:#56625B!important}
