/* Shared interaction and visual language for the board, onboarding and guide. */
:root{--motion:180ms;--ease:cubic-bezier(.2,.8,.2,1)}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0b9cb9;outline-offset:3px}button:not(:disabled),a.cta,a.primary{transition:transform 180ms ease,background 180ms ease,box-shadow 180ms ease,border-color 180ms ease}button:active:not(:disabled),a.cta:active,a.primary:active{transform:scale(.985)}
.board-app{background:radial-gradient(ellipse at 100% 0,#e5f9fd,transparent 55%),#f3f5f7}.board-app .top{background:#ffffffed;border-bottom:1px solid #e4ecf1}.board-app .team-identity{background:linear-gradient(110deg,#101d2b,#15455c);color:white;border:0;border-radius:20px;padding:24px!important;margin-top:18px;margin-bottom:18px;box-shadow:0 12px 28px #101d2b0c}.board-app .team-identity p{color:#b6d2e0}.board-app .team-identity h1{color:white;letter-spacing:-.6px}.board-app .brand-logo{width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 3px 6px #0002)}.team-fallback{display:grid;place-items:center;width:64px;height:64px;flex-shrink:0;border:1px solid #ffffff40;border-radius:17px;background:#ffffff12;font-size:24px;font-weight:800;color:#9af0fc}.board-app nav{gap:6px}.board-app nav button,.board-app nav a{border-radius:10px}.board-app nav .active{background:#e9f0f3;box-shadow:inset 0 0 0 1px #b5edf6;color:#075d72}.board-app .game-bar,.board-app .pool{border-radius:18px!important;border-color:#e0eaf0;box-shadow:0 6px 22px #101d2b06}.board-app .board-tools h2{letter-spacing:-.6px}.board-app .slot{border-radius:13px;border-color:#dce8ee;box-shadow:0 3px 10px #101d2b04;transition:border-color 160ms ease,box-shadow 160ms ease,background 160ms ease}.board-app .slot.filled{background:linear-gradient(125deg,#fff,#f1f9fb)}.board-app .player-card{border-radius:13px!important;border-color:#dfeaf0}.board-app .slot .position{font-size:10px;letter-spacing:1px;color:#387386}.board-app .handle{background:#e7f7fa!important}.board-app .slot.highlight,.board-app .add-line-target.highlight{outline:3px solid #19bbd9;outline-offset:3px;background:#e9f0f3;box-shadow:0 0 0 7px #54ddec20}.board-app .drag-ghost{border-radius:14px!important;box-shadow:0 14px 30px #062b3c30!important;border:1px solid #00c8e8!important;background:#101d2b!important;color:white!important;padding:16px 22px!important;font-weight:700}.board-app .count{border-radius:30px;background:#edf1f4;color:#167085}.board-app .sponsor-footer{border-top:1px solid #e2eaf0}.board-app input,.board-app select,.board-app textarea{border-radius:10px;border-color:#d3e1e9}.board-app input:focus,.board-app select:focus,.board-app textarea:focus{border-color:#0aa7c6}dialog{border:1px solid #dce8ee!important;border-radius:22px!important;box-shadow:0 24px 80px #092c4930!important}dialog::backdrop{background:#092c4966;backdrop-filter:blur(4px)}dialog h2{letter-spacing:-.7px}dialog .sub{line-height:1.65}#toast{border-radius:14px!important;background:#101d2b!important;color:white!important;box-shadow:0 10px 30px #101d2b25!important}#saved{border-radius:30px;padding:6px 10px;background:#e9f8f0;color:#24654c;font-size:11px}#saved.offline{background:#fff0dc;color:#8b5617}.team-entry{background:radial-gradient(ellipse at right top,#e4faff,transparent 60%),white;border:1px solid #e1edf2;border-radius:24px;padding:36px;box-shadow:0 12px 44px #101d2b08}.team-card{border-radius:16px!important;box-shadow:0 4px 15px #101d2b04}.guide-group{scroll-margin-top:24px}.guide-group details{border-radius:14px!important;border-color:#dde9ef!important}.guide-group summary{padding-top:18px;padding-bottom:18px}.guide-group details[open]{box-shadow:0 5px 22px #101d2b06}.guide-hero h1,.team-entry h1{letter-spacing:-1.2px}.guide-nav a{border-radius:10px!important}
@media(hover:hover){.board-app .slot:hover{border-color:#85cedd;box-shadow:0 5px 15px #101d2b0a}.board-app .player-card:hover{border-color:#85cedd}.primary:hover,.cta:hover{box-shadow:0 5px 18px #08a5c326;transform:translateY(-2px)}.board-app nav button:hover,.board-app nav a:hover{background:#edf9fb}}
@keyframes lm-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes lm-settle{0%{box-shadow:0 0 0 4px #00c8e88a;transform:scale(.985)}100%{box-shadow:0 3px 10px #101d2b04;transform:none}}@media(prefers-reduced-motion:no-preference){dialog[open]{animation:lm-enter 180ms ease both}#toast{animation:lm-enter 180ms ease both}.just-assigned{animation:lm-settle 220ms ease}.guide-group details[open] .answer{animation:lm-enter 180ms ease}.team-entry{animation:lm-enter 220ms ease}}
@media(max-width:600px){.board-app .team-identity{margin:12px 16px;padding:20px!important;border-radius:17px}.board-app .brand-logo{width:56px;height:56px}.board-app .team-identity h1{font-size:23px}.team-fallback{width:54px;height:54px;font-size:20px}.board-app nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.board-app nav>*{flex-shrink:0}.board-app dialog{max-width:100%;width:100%;margin:auto 0 0;border-radius:24px 24px 0 0!important;max-height:90dvh;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.board-app dialog #modal{max-height:none}.team-entry{padding:24px 20px;margin:16px!important}.guide-nav{gap:8px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[hidden]{display:none!important}

/* Hockey broadcast palette: neutral ice, solid navy, precise cyan accents. */
:root{--ink:#101d2b;--muted:#536273;--paper:#f3f5f7;--line:#d5dce3;--primary:#00677b;--action:#00c8e8;--action-hover:#00b5d2;--action-soft:#e9f0f3;--sidebar:#101d2b}
body,.board-app,.guide-app{background:#f3f5f7;color:var(--ink)}
button,.primary,.accent,a.primary,.cta,input,select,textarea{border-radius:6px}
.primary,.accent,a.primary,.cta{background:#00c8e8;color:#101d2b;border-color:transparent;font-weight:700}
.primary:hover,.accent:hover,a.primary:hover,.cta:hover{background:#00b5d2;color:#101d2b}
.board-app .top{background:#101d2b;border-bottom:3px solid #00c8e8;color:#fff}
.board-app .top .wordmark strong{color:#fff}.board-app .top .wordmark span{color:#00c8e8}.board-app .top .quiet{color:#fff;background:transparent}
#saved{border-radius:4px;background:#233849;color:#dce7ef;font-weight:500}#saved.offline{background:#fff0dc;color:#70420e}
.board-app .team-identity{background:#182c3e;border:1px solid #263d50;border-radius:8px;box-shadow:none;padding:22px!important}
.board-app .team-identity h1{font-weight:800;letter-spacing:-.7px}.board-app .team-identity p{color:#bdcad6}
.team-fallback{border-radius:6px;background:#243e51;border-color:#486072;color:#00c8e8}
.board-app>nav{background:#fff;border-bottom:1px solid #d5dce3}.board-app>nav button,.board-app>nav a{border-radius:4px;color:#536273}
.board-app>nav .active,.board-app>nav button.active{background:#101d2b;color:white;box-shadow:inset 0 -3px #00c8e8}.board-app>nav .active img{filter:brightness(0) invert(1)}
.board-app>nav button.active:hover{background:#182c3e;color:#fff}
.board,.board-app .game-bar,.board-app .pool{background:#fff;border:1px solid #d5dce3;border-radius:8px!important;box-shadow:none}
.board-tools{border-bottom:2px solid #101d2b}.board-tools h2,.group-title{font-weight:800}
.board-app .slot,.board-app .player-card,.board-app .pool-card{border-radius:6px!important;border-color:#d5dce3;box-shadow:none;background:#fff}
.board-app .slot.filled{background:#fff;border-left:3px solid #00a3bd}.board-app .slot:not(.filled){background:#f5f7f9;border-style:dashed}
.board-app .slot .position{color:#526478;font-weight:700}.board-app .handle{background:#edf1f4!important;color:#344c60}
.board-app .count,.count{border-radius:4px;background:#e9eef2;color:#263e50;font-weight:800}.board-app .number{background:#edf1f4;color:#263e50;border-radius:5px}
.board-app .slot.highlight,.board-app .add-line-target.highlight{background:#e3f8fc;outline-color:#008ca4;box-shadow:0 0 0 5px #00c8e820}
.board-app .drag-ghost{border-radius:6px!important}.compact-sync,.lineup-tip{background:transparent}.info-button{border-color:#8594a3;color:#385469}
.team-entry{background:#fff;border-radius:8px;border:1px solid #d5dce3;border-top:4px solid #00c8e8;box-shadow:0 8px 24px #101d2b08}
.team-card,.choice-card{border-radius:6px!important;box-shadow:none}.team-card:hover,.choice-card:hover{border-color:#008aa2}.team-card-cta{background:#101d2b;color:#fff;border-radius:4px}
.app-sidebar{background:#101d2b;color:#fff;border-right:0}.app-sidebar .wordmark strong{color:white}.app-sidebar .wordmark span{color:#00c8e8}.app-sidebar .brand-tagline,.app-sidebar .sidebar-foot{color:#b6c5d2}.app-sidebar nav a{color:#d1dde6;border-radius:4px}.app-sidebar nav img{filter:brightness(0) invert(1)}.app-sidebar nav a.active,.app-sidebar nav a:hover{background:#253d50;color:white;box-shadow:inset 3px 0 #00c8e8}
.coach-guide .guide-group,.guide-group details,.coach-guide details{border-radius:6px!important;box-shadow:none!important;border-color:#d5dce3!important;background:white}.guide-topics{background:#e9eef2}.guide-topics a.active{background:#101d2b;color:white;border-radius:4px}.guide-search input{background:white}.guide-group summary{font-weight:700}
dialog{border-radius:10px!important;border-color:#c8d1da!important;box-shadow:0 20px 70px #101d2b30!important}dialog::backdrop{background:#101d2b80;backdrop-filter:blur(3px)}#toast{border-radius:6px!important}
@media(hover:hover){.board-app .slot:hover,.board-app .player-card:hover{border-color:#008ca4;box-shadow:0 3px 10px #101d2b0c}.primary:hover,.cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #101d2b14}}
@media(max-width:600px){.board-app .team-identity{border-radius:8px;padding:18px!important}.board-app dialog{border-radius:12px 12px 0 0!important}.board-app .top{padding-top:max(12px,env(safe-area-inset-top))}.team-entry{padding:24px 20px}.board-app .pool{border-radius:10px 10px 0 0!important}}
.board-app .top #saved{color:#dce7ef}.board-app .top #saved.offline{color:#70420e}
@media(min-width:1050px){.board-app>nav{background:#101d2b;border-right:1px solid #263d50}.board-app>nav button,.board-app>nav a{color:#d1dde6}.board-app>nav img{filter:brightness(0) invert(1)}.board-app>nav button.active,.board-app>nav button:hover,.board-app>nav a:hover{background:#253d50;color:#fff}.board-app>nav button.active{box-shadow:inset 3px 0 #00c8e8}}
@media(max-width:1049px){.app-sidebar nav,.guide-topics{scrollbar-width:none}.app-sidebar nav::-webkit-scrollbar,.guide-topics::-webkit-scrollbar{display:none}}

/* Keep publishing focused; optional details remain available without a long form. */
.share-game-summary{padding:16px;border-left:3px solid var(--cyan,#00c8e8);background:#f3f5f7;line-height:1.6}
#modal .share-settings{margin:0;border-top:1px solid #d4dde5;padding:14px 0}
#modal .share-settings summary{cursor:pointer;font-weight:650;min-height:24px}
#modal .share-settings[open] summary{margin-bottom:16px}
#modal .share-link-field input{font-size:13px}

.refresh-game{padding:16px;background:#f3f5f7;border-left:3px solid #00c8e8}
.refresh-game p{margin:6px 0}
.refresh-changes .response-row{gap:16px;padding:12px 0;border-bottom:1px solid #d4dde5}
.refresh-changes .response-row span{text-align:right}
.refresh-footer{position:sticky;bottom:-1px;background:white;border-top:1px solid #d4dde5;display:flex;justify-content:flex-end;gap:12px;padding:16px 0 max(16px,env(safe-area-inset-bottom));z-index:3}
.refresh-footer button{min-height:44px}
@media(max-width:600px){.refresh-footer .primary{flex:1}.compact-sync{flex-wrap:wrap;gap:10px}}

.refresh-footer{flex-wrap:wrap}.refresh-footer .modal-error{flex-basis:100%;margin:0 0 8px}

/* Team results remain distinct from official league rankings. */
.league-panel{padding:24px;margin-bottom:24px;background:#fff;border:1px solid var(--line,#d2dae2);border-radius:8px}
.league-panel h2{margin:0 0 6px}.league-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.league-links{display:flex;flex-wrap:wrap;gap:20px;margin:16px 0}.league-result-group{padding:12px 0;border-top:1px solid #d2dae2}.league-result-group .tag{margin-left:8px}.history-row .actions{flex-wrap:wrap}
@media(max-width:700px){.league-panel{padding:18px}.league-panel-head{flex-direction:column}.history-row{flex-wrap:wrap}.history-row .actions{width:100%;justify-content:flex-start}}
