@import url("./tokens.css");

/* Keep tool controls readable and usable on narrow touch screens. */
.oh-tool,.oh-tool form,.oh-field{min-width:0}
.oh-tool button{min-height:44px;cursor:pointer}
.oh-tool input,.oh-tool select{max-width:100%;min-width:0}
.oh-tool :is(button,input,select):focus-visible{outline:3px solid var(--oh-primary);outline-offset:3px}
@media(max-width:600px){
 .oh-tool .oh-field input,.oh-tool .oh-field select,.oh-tool .oh-finder-form select,.oh-tool .oh-zone-select select,.oh-tool .oh-date-nav input{font-size:16px}
 .oh-tool .oh-field-help,.oh-tool .oh-notice,.oh-tool .oh-privacy-note{font-size:12px;line-height:1.6}
 .oh-result-actions{gap:8px 16px}
}
@media(max-width:400px){
 .oh-tool .oh-hub-heading{flex-wrap:wrap;gap:12px}
 .oh-tool .oh-data-state{max-width:100%;font-size:11px}
 .oh-tool .oh-date-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;width:100%;flex-basis:100%}
 .oh-tool .oh-date-nav input{width:100%;min-width:0}
 .oh-tool .oh-date-nav button{min-width:44px;padding-inline:6px}
 .oh-tool .oh-date-nav [data-today]{grid-column:1/-1}
 .oh-tool .oh-zone-select{width:100%;margin-left:0;justify-content:space-between}
 .oh-tool .oh-zone-select label{display:block;font-size:12px}
 .oh-tool .oh-zone-select select{max-width:100%;flex:1}
 .oh-tool .oh-status-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .oh-tool .oh-fantasy-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
}
.oh-tool{color:var(--oh-text);background:var(--oh-surface);border:1px solid var(--oh-border);border-radius:16px;overflow:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-width:0}
.oh-tool button,.oh-tool input,.oh-tool select{font:inherit;min-height:44px}
.oh-tool button{cursor:pointer}.oh-tool button:focus-visible,.oh-tool input:focus-visible,.oh-tool select:focus-visible{outline:3px solid var(--oh-primary);outline-offset:3px}.oh-tool button:disabled{cursor:wait;opacity:.65}
.oh-hub-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 28px 22px}.oh-hub-heading h2,.oh-calculator-heading h2{font-size:24px;letter-spacing:-.6px;margin:4px 0 0;color:var(--oh-navy)}.oh-label{font-size:10px;font-weight:750;letter-spacing:1.6px;color:var(--oh-muted)}.oh-data-state{font-size:11px;font-weight:650;display:flex;align-items:center;gap:6px;background:var(--oh-bg);padding:7px 10px;border-radius:6px}.oh-data-state:before{content:"";width:6px;height:6px;background:var(--oh-primary);border-radius:50%}
.oh-league-tabs{display:flex;gap:6px;padding:0 28px 16px;overflow:auto}.oh-league-tabs button{background:none;border:0;border-radius:7px;color:var(--oh-muted);padding:0 15px;font-weight:650;white-space:nowrap;font-size:13px}.oh-league-tabs button[aria-pressed=true]{background:var(--oh-primary);color:var(--oh-surface)}.oh-league-tabs button:hover:not([aria-pressed=true]){background:var(--oh-bg)}
.oh-hub-controls{border-block:1px solid var(--oh-border);background:var(--oh-bg);display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:14px 28px;font-size:12px}.oh-date-nav{display:flex;align-items:center;gap:4px}.oh-date-nav button,.oh-hub-bottom button{border:0;background:transparent;color:var(--oh-text);padding:0 9px}.oh-date-nav input{padding:0 7px;width:141px;border:1px solid var(--oh-border);border-radius:6px;background:var(--oh-surface);color:var(--oh-text)}.oh-status-tabs{display:flex;gap:2px}.oh-status-tabs button{background:transparent;border:0;font-size:12px;color:var(--oh-muted);padding:0 10px;border-radius:6px}.oh-status-tabs button[aria-pressed=true]{background:var(--oh-surface);color:var(--oh-navy);box-shadow:0 1px 3px var(--oh-border);font-weight:700}.oh-zone-select{display:flex;align-items:center;gap:8px}.oh-zone-select label{color:var(--oh-muted)}.oh-zone-select select{max-width:165px;border:1px solid var(--oh-border);border-radius:6px;padding:0 8px;background:var(--oh-surface);font-size:12px}
.oh-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:24px 28px;min-height:250px}.oh-game-card{padding:18px;border:1px solid var(--oh-border);border-radius:10px;min-width:0}.oh-game-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:16px;font-size:10px;color:var(--oh-muted);font-weight:700;text-transform:uppercase;letter-spacing:.6px}.oh-game-status{color:var(--oh-accent)}.oh-team-line{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:13px;font-weight:650}.oh-team-symbol{width:32px;height:32px;display:grid;place-items:center;background:var(--oh-bg);border:1px solid var(--oh-border);border-radius:8px;color:var(--oh-primary);font-size:10px;font-weight:800}.oh-team-score{margin-left:auto;font-size:24px;font-variant-numeric:tabular-nums}.oh-game-foot{border-top:1px solid var(--oh-border);padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--oh-muted)}.oh-game-foot a{color:var(--oh-primary);font-weight:650;min-height:44px;display:flex;align-items:center}
.oh-empty{grid-column:1/-1;text-align:center;align-self:center;margin:auto;max-width:520px;padding:22px 12px}.oh-empty h3{font-size:19px;color:var(--oh-navy);margin:13px 0 9px}.oh-empty p{font-size:13px;line-height:1.8;color:var(--oh-muted);margin:0 auto;max-width:470px}.oh-empty-rink{color:var(--oh-primary);border:1px solid var(--oh-border);border-radius:20px;width:80px;height:45px;display:grid;place-items:center;font-size:25px;background:var(--oh-bg);margin:auto}.oh-hub-bottom{padding:12px 28px;border-top:1px solid var(--oh-border);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:var(--oh-muted)}.oh-hub-bottom button{color:var(--oh-primary);font-size:11px;font-weight:650;white-space:nowrap}.oh-stale{grid-column:1/-1;background:var(--oh-bg);padding:12px;border-left:3px solid var(--oh-accent);font-size:12px}
.oh-finder-form,.oh-calculator-form{padding:24px 28px;display:flex;flex-wrap:wrap;gap:16px;align-items:end}.oh-finder-form>div{flex:1;min-width:180px}.oh-finder-form label,.oh-calculator-form label{display:block;font-size:13px;font-weight:650;margin-bottom:8px}.oh-finder-form select,.oh-calculator-form select,.oh-calculator-form input{width:100%;border:1px solid var(--oh-border);border-radius:7px;padding:10px 12px;background:var(--oh-surface);color:var(--oh-text)}.oh-notice{color:var(--oh-muted);font-size:12px;line-height:1.8;padding:0 28px 12px;margin:0}.oh-calculator-form .oh-notice{padding:0;flex-basis:100%}.oh-calculator-heading{padding:26px 28px 0}.oh-calculator-heading p{color:var(--oh-muted);font-size:14px}
.oh-fields{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.oh-field-help{font-size:11px;color:var(--oh-muted);display:block;margin-top:7px;line-height:1.5}.oh-field{min-width:0}.oh-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px;width:100%}.oh-tool .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;padding:11px 18px;border:1px solid var(--oh-border);background:var(--oh-surface);border-radius:8px;font-size:13px;font-weight:650;color:var(--oh-text)}.oh-tool .button-primary{background:var(--oh-primary);color:var(--oh-surface);border-color:var(--oh-primary)}.oh-error{flex-basis:100%;color:var(--oh-accent);font-size:13px;font-weight:600;margin:0}.oh-result{padding:24px 28px;background:var(--oh-bg);border-block:1px solid var(--oh-border)}.oh-result-label{font-size:13px;font-weight:600}.oh-result-value{display:block;font-size:clamp(32px,6vw,48px);font-weight:800;letter-spacing:-1.5px;color:var(--oh-primary);line-height:1.4;font-variant-numeric:tabular-nums}.oh-result-unit{font-size:12px;color:var(--oh-muted)}.oh-result li{font-size:13px;line-height:1.8}.oh-result ul{padding-left:20px}.oh-result-actions{padding:14px 28px;display:flex;gap:16px;flex-wrap:wrap}.oh-result-actions button,.oh-copy{border:0;background:transparent;padding:8px 0;color:var(--oh-primary);font-size:12px;font-weight:600}.oh-privacy-note{font-size:11px;color:var(--oh-muted);padding:12px 28px 20px;margin:0}.oh-fantasy-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-bottom:1px solid var(--oh-border);padding-bottom:14px}.oh-fantasy-row .oh-field-help{font-size:10px}
[data-watch-results],[data-standings]{padding:0 28px 24px}.oh-watch-card{border:1px solid var(--oh-border);border-radius:10px;padding:20px;margin-top:12px}.oh-watch-card h3{margin:0;font-size:18px}.oh-watch-card p{font-size:13px;line-height:1.8;color:var(--oh-muted)}.oh-watch-card a{display:inline-flex;align-items:center;min-height:44px;color:var(--oh-primary);font-size:13px;font-weight:650}.oh-watch-card small{display:block;color:var(--oh-muted);font-size:10px}
.oh-table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--oh-border);border-radius:8px}.oh-tool table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.oh-tool table caption{text-align:left;padding:15px;font-weight:650;color:var(--oh-navy);font-size:14px}.oh-tool th,.oh-tool td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--oh-border);font-variant-numeric:tabular-nums}.oh-tool th{background:var(--oh-bg);font-size:11px;color:var(--oh-muted)}.oh-tool th:first-child,.oh-tool td:first-child{position:sticky;left:0;background:var(--oh-surface)}.oh-tool th button{border:0;background:transparent;color:inherit;font-size:inherit;padding:0;min-width:44px}.oh-tool [hidden]{display:none!important}.oh-copy{margin:0 28px 16px}
@media(max-width:1000px){.oh-games{grid-template-columns:repeat(2,minmax(0,1fr))}.oh-hub-controls{justify-content:flex-start}.oh-zone-select{margin-left:auto}}
@media(max-width:600px){.oh-hub-heading{padding:20px 16px}.oh-hub-heading h2{font-size:20px}.oh-data-state{max-width:110px;font-size:9px;line-height:1.6}.oh-league-tabs{padding-inline:16px}.oh-hub-controls{padding:12px 16px;gap:8px}.oh-status-tabs{order:3;width:100%;justify-content:space-between}.oh-zone-select label{display:none}.oh-zone-select select{max-width:110px}.oh-date-nav input{width:133px;font-size:11px}.oh-date-nav button{padding:0 6px;font-size:11px}.oh-games{grid-template-columns:1fr;padding:18px 16px}.oh-hub-bottom{padding:12px 16px;align-items:flex-start}.oh-fields{grid-template-columns:1fr}.oh-calculator-form,.oh-finder-form{padding:20px 16px}.oh-calculator-heading{padding:20px 16px 0}.oh-result,.oh-result-actions{padding:20px 16px}.oh-notice{padding-inline:16px}.oh-privacy-note{padding-inline:16px}.oh-finder-form>div{min-width:100%;width:100%}[data-watch-results],[data-standings]{padding:0 16px 20px}}
@media print{.oh-actions,.oh-result-actions,.oh-hub-controls,.oh-league-tabs{display:none}.oh-tool{border:1px solid currentColor}.oh-result{background:transparent}}
.oh-field-error{display:block;color:var(--oh-accent);font-size:12px;margin-top:6px}.oh-hub-bottom>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.oh-loading{animation:oh-shimmer 1.2s ease-in-out infinite;background:var(--oh-bg);border-radius:12px;min-height:160px}.oh-loading .oh-empty-rink{opacity:.4}@keyframes oh-shimmer{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.oh-loading{animation:none}}@media(max-width:600px){.oh-hub-bottom{flex-wrap:wrap}.oh-hub-bottom>div{justify-content:flex-start;width:100%}}/* 1.1.1: tool tables/forms never widen the page */
.oh-tool{max-width:100%}.oh-actions .button,.oh-actions button{flex:0 1 auto}
@media(max-width:600px){.oh-actions{flex-direction:column}.oh-actions .button,.oh-actions button{width:100%}.oh-league-tabs{scrollbar-width:none}.oh-hub-controls{align-items:stretch}.oh-date-nav input{width:auto;flex:1;min-width:0}}
