:root{--glass: rgba(10, 16, 26, .72);--glass-border: rgba(140, 180, 230, .16);--text: #e8eef6;--text-dim: #93a4b8;--accent: #5fb2ff;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden;background:#05080d}body{color:var(--text);-webkit-font-smoothing:antialiased}#app{opacity:1;transition:opacity .2s ease}#gl{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}.hidden{opacity:0!important;pointer-events:none!important}#scoreboard{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;align-items:stretch;gap:0;flex-wrap:nowrap;background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;padding:8px 18px 10px;z-index:10;transition:opacity .3s;box-shadow:0 8px 32px #00000073;overflow:hidden}.sb-wp{position:absolute;left:0;right:0;bottom:0;height:4px;opacity:.85}.sb-wp i{position:absolute;right:0;top:0;bottom:0;display:block;transition:width .4s ease}.sb-wp-label{font-size:10px;font-weight:800;letter-spacing:.06em;font-variant-numeric:tabular-nums;margin-top:1px}.sb-team{display:flex;align-items:center;gap:10px}.sb-bar{width:4px;height:30px;border-radius:2px}.sb-abbrev{font-weight:800;font-size:19px;letter-spacing:.06em;position:relative}.sb-pp{position:absolute;left:50%;transform:translate(-50%);top:100%;font-style:normal;font-size:9px;font-weight:800;letter-spacing:.08em;color:#ffd35c;white-space:nowrap;font-variant-numeric:tabular-nums}.sb-pp:empty{display:none}.sb-score{font-size:30px;font-weight:900;min-width:36px;text-align:center;font-variant-numeric:tabular-nums}.sb-score.pop{animation:pop .6s cubic-bezier(.2,2.2,.4,1)}@keyframes pop{0%{transform:scale(1)}30%{transform:scale(1.55);color:#ffd35c}to{transform:scale(1)}}.sb-sog{font-size:10px;color:var(--text-dim);letter-spacing:.08em;white-space:nowrap}.sb-mid{display:flex;flex-direction:column;align-items:center;margin:0 20px;padding:0 20px;border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border)}.sb-clock{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.sb-period{font-size:11px;color:var(--accent);font-weight:700;letter-spacing:.14em}#feed{position:absolute;top:14px;right:14px;bottom:86px;width:318px;display:flex;flex-direction:column;background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;z-index:9;transition:transform .35s ease,opacity .3s;overflow:hidden}#feed.collapsed{transform:translate(calc(100% + 20px))}#feed-open{position:absolute;right:0;top:40%;z-index:9;writing-mode:vertical-rl;text-orientation:mixed;background:var(--glass);border:1px solid var(--glass-border);border-right:none;border-radius:10px 0 0 10px;color:var(--text-dim);font-size:10px;font-weight:800;letter-spacing:.18em;padding:14px 7px;cursor:pointer;font-family:inherit;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:color .15s,opacity .3s}#feed-open:hover{color:var(--text)}#feed-filters{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--glass-border)}#feed-filters button{flex:1;background:#ffffff0d;color:var(--text-dim);border:1px solid transparent;border-radius:6px;font-size:9.5px;font-weight:800;letter-spacing:.08em;padding:5px 2px;cursor:pointer;font-family:inherit;transition:all .15s}#feed-filters button:hover{color:var(--text)}#feed-filters button.active{color:var(--accent);border-color:#5fb2ff66}#feed-list[data-filter=goals] .feed-row:not(.k-goal,.k-period-start,.k-period-end,.k-game-end),#feed-list[data-filter=shots] .feed-row:not(.k-goal,.k-shot-on-goal,.k-missed-shot,.k-blocked-shot,.k-period-start,.k-period-end,.k-game-end),#feed-list[data-filter=hits] .feed-row:not(.k-hit,.k-period-start,.k-period-end,.k-game-end),#feed-list[data-filter=penalties] .feed-row:not(.k-penalty,.k-period-start,.k-period-end,.k-game-end){display:none}#feed-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--text-dim);border-bottom:1px solid var(--glass-border)}#feed-toggle{background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;transition:transform .35s}#feed-list{flex:1;overflow-y:auto;padding:6px 0;scrollbar-width:thin;position:relative;overscroll-behavior:contain}.feed-row{display:flex;gap:8px;align-items:baseline;padding:5px 12px;font-size:12.5px;line-height:1.35;cursor:pointer;border-left:3px solid transparent;color:var(--text-dim);transition:background .15s}.feed-row:hover{background:#ffffff0d;color:var(--text)}.feed-row.current{border-left-color:var(--team, var(--accent));color:var(--text);background:#ffffff0f}.feed-row.k-goal{color:var(--text);font-weight:700}.feed-row.k-goal .fr-text{color:#ffd35c}.fr-time{font-size:10.5px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-dim);min-width:56px}.fr-icon{font-size:11px;min-width:16px;text-align:center}.fr-text{flex:1}.fr-xg{font-style:normal;font-size:10px;font-weight:700;color:#7fb6e8;opacity:.85;white-space:nowrap}#banner{position:absolute;top:84px;left:50%;transform:translate(-50%);background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:10px;padding:10px 22px;font-size:16px;z-index:11;transition:opacity .35s;max-width:70vw;text-align:center;box-shadow:0 8px 32px #00000073}#banner.goal-banner{border-color:#ffd35c73;box-shadow:0 0 42px #ffb42840}#banner.cinema{cursor:pointer}#banner .tag{display:block;font-size:9.5px;font-weight:800;letter-spacing:.22em;color:#7fd0ff;margin-bottom:3px}#banner .skip{display:block;font-size:10px;color:var(--text-dim);margin-top:4px}.banner-actions{display:flex;gap:8px;justify-content:center;margin-top:8px}.banner-btn{background:#ffffff14;color:var(--text);border:1px solid var(--glass-border);border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.08em;padding:5px 12px;cursor:pointer;font-family:inherit;transition:all .15s}.banner-btn:hover{background:#ffffff29}.legal{margin-top:40px;font-size:11px;color:var(--text-dim);opacity:.7;text-align:center}#period-flash{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);font-size:clamp(34px,6vw,64px);font-weight:900;letter-spacing:.28em;color:#fff;text-shadow:0 0 36px rgba(95,178,255,.8);z-index:11;pointer-events:none;opacity:0}#period-flash.animate{animation:pflash 2.1s ease forwards}@keyframes pflash{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}14%{opacity:1;transform:translate(-50%,-50%) scale(1)}78%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.05)}}#controls{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;gap:14px;background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;padding:10px 16px;z-index:10;transition:opacity .3s;box-shadow:0 8px 32px #00000073}#controls button{background:#ffffff0f;color:var(--text-dim);border:1px solid transparent;border-radius:7px;font-size:11px;font-weight:700;letter-spacing:.06em;padding:6px 10px;cursor:pointer;transition:all .15s;font-family:inherit}#controls button:hover{color:var(--text);background:#ffffff1f}#controls button.active{color:var(--accent);border-color:#5fb2ff66}#btn-play{width:40px;height:36px;font-size:14px!important;color:var(--text)!important}#speeds{display:flex;gap:4px}#scrubber{flex:1;padding:2px 0 8px;cursor:pointer}#scrub-momentum{display:block;width:100%;height:44px;margin-bottom:4px;pointer-events:none;opacity:.95;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}#scrub-track{position:relative;height:7px;border-radius:4px;background:#ffffff1a}#scrub-fill{position:absolute;left:0;top:0;bottom:0;width:0%;border-radius:4px;background:linear-gradient(90deg,#2d6fd0,var(--accent))}#scrub-handle{position:absolute;top:50%;width:15px;height:15px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 0 10px #5fb2ffe6;pointer-events:none}.scrub-period{position:absolute;top:-3px;bottom:-3px;width:2px;background:#ffffff59;transform:translate(-50%)}.scrub-goal{position:absolute;top:50%;width:11px;height:11px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #fff;cursor:pointer;z-index:2;transition:transform .15s}.scrub-goal:hover{transform:translate(-50%,-50%) scale(1.5)}#clock-mini{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-dim);white-space:nowrap;min-width:74px;text-align:center}#picker{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#0a0d12;overflow-y:auto;transition:opacity .3s}#picker.hidden-picker{opacity:0;pointer-events:none}#picker-inner{max-width:1100px;margin:0 auto;padding:56px 24px 60px}#picker h1{font-size:26px;font-weight:700;letter-spacing:-.01em}#picker .sub{color:#76828f;margin:6px 0 28px;font-size:14px}#picker-filters{display:inline-flex;gap:2px;margin-bottom:26px;background:#141922;border:1px solid #1e2632;border-radius:9px;padding:3px}#picker-filters button{background:none;color:#8a96a4;border:none;border-radius:6px;font-size:13px;font-weight:500;padding:6px 14px;cursor:pointer;font-family:inherit;transition:all .12s}#picker-filters button:hover{color:#d4dbe4}#picker-filters button.active{color:#fff;background:#283142;font-weight:600}#picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr));column-gap:14px;align-items:start}.date-head{grid-column:1 / -1;font-size:12px;font-weight:600;color:#6b7684;margin:22px 0 8px 2px}.date-head:first-child{margin-top:0}.game-row{width:100%;display:flex;align-items:center;gap:16px;text-align:left;background:#11161e;border:1px solid #1c242f;border-radius:10px;padding:12px 16px;margin-bottom:8px;cursor:pointer;color:#93a0ae;font-family:inherit;transition:background .12s,border-color .12s}.game-row:hover{background:#161d27;border-color:#2c3849}.gr-teams{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.gr-line{display:flex;align-items:center;gap:10px;font-size:14.5px}.gr-line i{width:8px;height:8px;border-radius:2px;flex:none}.gr-ab{font-weight:700;width:38px;flex:none}.gr-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.gr-score{margin-left:auto;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.gr-line.win{color:#f0f4f8}.gr-line.win .gr-score{font-weight:800}.gr-meta{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding-left:14px;border-left:1px solid #1c242f;min-width:96px}.gr-final{font-size:12.5px;font-weight:600;color:#c9d2dc}.gr-extra{font-size:11.5px;color:#66717f}.error{color:#ff8d8d}#hint{position:absolute;bottom:86px;left:50%;transform:translate(-50%);font-size:12px;color:var(--text-dim);z-index:8;background:var(--glass);padding:6px 14px;border-radius:20px;border:1px solid var(--glass-border);transition:opacity .6s}#btn-plays,#hint .mobile-hint{display:none}@media(max-width:860px){#scoreboard{top:8px;padding:5px 10px 8px;max-width:calc(100vw - 12px)}.sb-abbrev{font-size:14px}.sb-score{font-size:22px;min-width:26px}.sb-clock{font-size:16px}.sb-period{font-size:9px}.sb-mid{margin:0 10px;padding:0 10px}.sb-sog{display:none}.sb-bar{height:22px}.sb-pp{font-size:8px}#controls{flex-wrap:wrap;gap:6px;left:8px;right:8px;bottom:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}#scrubber{order:-1;flex-basis:100%;padding:0 0 2px}#scrub-momentum{height:34px}#scrub-track{height:10px}#scrub-handle{width:19px;height:19px}.scrub-goal{width:14px;height:14px}#controls button{padding:9px 10px;font-size:11px}#btn-play{width:46px;height:40px}#speeds{gap:3px}#speeds button:nth-child(2){display:none}#clock-mini,#btn-replays{display:none}#btn-plays{display:inline-block}#feed{left:0;right:0;bottom:0;top:auto;width:auto;height:58vh;border-radius:16px 16px 0 0;border-bottom:none;transform:translateY(0);z-index:12;padding-bottom:env(safe-area-inset-bottom)}#feed.collapsed{transform:translateY(105%)}#feed-open{display:none}#feed-head{padding:12px 16px}#feed-toggle{transform:rotate(90deg);font-size:20px;padding:0 6px}.feed-row{padding:8px 14px;font-size:13px}#banner{top:100px;left:10px;right:10px;transform:none;max-width:none;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;padding:7px 10px}#banner .tag,#banner .skip{display:none}#banner .banner-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banner-actions{margin:0;flex:none}#banner .banner-btn{padding:6px 9px;font-size:9px}#hint{bottom:132px}#hint .desktop-hint{display:none}#hint .mobile-hint{display:inline}#picker-inner{padding:4vh 14px 40px}#picker h1{font-size:22px}#picker .sub{font-size:13px;margin-bottom:20px}#picker-filters button{padding:6px 11px;font-size:12.5px}.gr-line{font-size:13.5px;gap:8px}.gr-meta{min-width:80px;padding-left:10px}.gr-final{font-size:11.5px}.gr-extra{font-size:10.5px}}@media(max-width:960px)and (max-height:500px)and (orientation:landscape){#banner{top:8px;left:8px;right:auto;transform:none;max-width:min(252px,30vw);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px;font-size:11.5px;padding:7px 10px;text-align:left}#banner .tag,#banner .skip{display:none}#banner .banner-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banner-actions{margin:0}#banner .banner-btn{padding:5px 8px;font-size:9px}}
