:root{--surface-app: #08090c;--surface-card: #14161b;--surface-card-hover: #1b1e25;--surface-raised: #1e222a;--surface-sunken: #0d0f13;--surface-nav: rgba(12, 14, 18, .88);--border-subtle: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .14);--text-primary: #f2f4f8;--text-secondary: #a9b2c1;--text-tertiary: #8b95a7;--accent: #38bdf8;--accent-soft: rgba(56, 189, 248, .14);--accent-text: #7dd3fc;--dawn-1: #f472b6;--dawn-2: #fb923c;--dawn-3: #38bdf8;--dawn-on: #1a0a12;--dawn-glow: radial-gradient( 120% 100% at 50% 0%, rgba(244, 114, 182, .2) 0%, rgba(251, 146, 60, .11) 32%, rgba(56, 189, 248, .07) 58%, transparent 78% );--live: #f43f5e;--live-soft: rgba(244, 63, 94, .14);--gold: #fbbf24;--gold-soft: rgba(251, 191, 36, .13);--positive: #34d399;--negative: #fb7185;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);--shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .6);--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-numeric: "Inter", system-ui, sans-serif;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .14s;--duration-base: .24s;--duration-slow: .36s;--z-nav: 3000;--z-sheet: 99000;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}:root[data-theme=light]{--surface-app: #f4f6fa;--surface-card: #ffffff;--surface-card-hover: #f8fafc;--surface-raised: #ffffff;--surface-sunken: #eef1f6;--surface-nav: rgba(255, 255, 255, .9);--border-subtle: rgba(15, 23, 42, .09);--border-strong: rgba(15, 23, 42, .16);--text-primary: #0f172a;--text-secondary: #4a556e;--text-tertiary: #616c85;--accent: #0284c7;--accent-soft: rgba(2, 132, 199, .11);--accent-text: #0369a1;--dawn-1: #db2777;--dawn-2: #ea580c;--dawn-3: #0284c7;--dawn-on: #ffffff;--dawn-glow: radial-gradient( 120% 100% at 50% 0%, rgba(219, 39, 119, .13) 0%, rgba(234, 88, 12, .09) 32%, rgba(2, 132, 199, .06) 58%, transparent 78% );--live: #e11d48;--live-soft: rgba(225, 29, 72, .1);--gold: #b45309;--gold-soft: rgba(180, 83, 9, .11);--positive: #059669;--negative: #dc2626;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .14);--shadow-sheet: 0 -8px 40px rgba(15, 23, 42, .16)}*{touch-action:manipulation}html,body{margin:0;padding:0;width:100%;overflow-x:hidden;background-color:var(--bg-main);color:var(--text-main);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}#root,.app-container{width:100%;overflow-x:hidden;box-sizing:border-box}*,*:before,*:after{box-sizing:border-box}.header-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#000000d9;backdrop-filter:blur(10px);position:fixed;top:0;left:0;width:100%;box-sizing:border-box;z-index:3000;border-bottom:2px solid #333}.logo-area h1{margin:0;font-size:2.2rem;color:#00d4ff;font-family:VT323,monospace;text-shadow:0 0 10px rgba(0,212,255,.5);letter-spacing:2px}.header-controls{display:flex;align-items:center;gap:15px;margin:0}.header-flags{margin-bottom:0}.header-flags .lang-btn{font-size:1.5rem;padding:5px}.lang-btn{display:flex;justify-content:center;align-items:center;overflow:hidden}.lang-btn img{width:24px;border-radius:3px;pointer-events:none}.calendar-hero-btn{background:linear-gradient(135deg,#222,#1a1a1a);border:2px solid #00d4ff;color:#fff;padding:12px 30px;border-radius:30px;font-weight:700;font-size:1.1rem;letter-spacing:1px;box-shadow:0 0 15px #00d4ff33;transition:all .3s ease;width:100%;max-width:400px}.calendar-hero-btn:hover{background:#00d4ff;color:#000;box-shadow:0 0 25px #00d4ff99}.header-icon-btn{background:#111;border:2px solid #00d4ff;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;width:45px;height:45px;transition:all .3s ease;padding:0;box-shadow:0 0 15px #00d4ff66}.header-icon-btn:hover{background:#00d4ff;transform:scale(1.1);box-shadow:0 0 25px #00d4ffcc}.language-selector.header-flags{position:static;display:flex;align-items:center;gap:8px;margin:0;padding:0}#paivamaara{color:#aaa;margin-top:5px;font-size:1.2rem;text-align:center;width:100%}body{background-color:#111;color:#fff;font-family:Roboto,sans-serif;margin:0;min-height:100vh}h1{font-family:Teko,sans-serif;font-size:3rem;margin-bottom:0;letter-spacing:2px;text-transform:uppercase;text-shadow:0 0 10px rgba(0,168,255,.7)}.container{max-width:1000px;margin:0 auto;padding:20px;text-align:center}.games-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:15px}.game-card{background:linear-gradient(145deg,#1a1a1a,#222);border:1px solid #333;border-radius:8px;padding:8px 10px;box-shadow:0 4px 10px #0006;position:relative;overflow:hidden;transition:transform .2s,border-color .2s}.game-card:hover{border-color:#00d4ff;transform:translateY(-2px)}.game-card.live{border:1px solid #ff4444}.compact-header{text-align:right;border-bottom:1px solid #333;padding-bottom:4px;margin-bottom:6px}.compact-status{font-size:.7rem;color:#888;font-weight:700;text-transform:uppercase}.live-text{color:#f44;animation:pulse 2s infinite}.compact-team-row{display:flex;align-items:center;margin-bottom:4px}.compact-team-row:last-child{margin-bottom:0}.compact-logo{width:20px;height:20px;margin-right:8px;filter:drop-shadow(0 0 2px rgba(255,255,255,.2))}.compact-name{flex-grow:1;font-weight:700;font-size:.95rem;color:#ddd}.compact-score{font-family:Teko,sans-serif;font-size:1.5rem;font-weight:700;width:25px;text-align:right;line-height:1;color:#fff}.search-section{position:relative;width:100%;max-width:500px;margin:0 auto 30px}.search-box{display:flex;align-items:center;background:#222;border:2px solid #444;border-radius:30px;padding:5px 5px 5px 15px;box-shadow:0 4px 15px #0000004d;width:100%;box-sizing:border-box}.search-box input{flex-grow:1;background:transparent;border:none;color:#fff;font-size:1.1rem;outline:none;width:100%}.search-box button{width:45px;height:45px;min-width:45px;border-radius:50%;background:#00d4ff;border:none;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;padding:0;margin-left:10px;color:#000}.search-box button:hover{background:#00a0cc;transform:scale(1.05)}.result-item{padding:12px 15px;cursor:pointer;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center;color:#ccc;font-size:1rem}.result-item:last-child{border-bottom:none}.result-item:hover{background:#00d4ff;color:#000;font-weight:700}.player-card-container{margin-top:20px;background:linear-gradient(135deg,#1e1e1e,#0d0d0d);border:2px solid #444;border-radius:15px;padding:20px;box-shadow:0 10px 30px #00000080;text-align:center;animation:fadeIn .5s;position:relative;overflow:hidden}.player-bg-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;opacity:.1;pointer-events:none}.player-headshot{width:150px;height:150px;border-radius:50%;border:4px solid #fff;background:#333;object-fit:cover;margin-bottom:10px;position:relative;z-index:2}.player-name{font-family:Teko,sans-serif;font-size:2.5rem;margin:0;text-transform:uppercase;position:relative;z-index:2}.player-info{color:#aaa;margin-bottom:20px;position:relative;z-index:2}.stats-row{display:flex;justify-content:center;gap:30px;margin-top:15px;position:relative;z-index:2}.stat-box{background:#ffffff1a;padding:10px 20px;border-radius:10px;min-width:80px}.stat-value{font-family:Teko,sans-serif;font-size:2rem;font-weight:700;display:block}.stat-label{font-size:.8rem;text-transform:uppercase;color:#ccc}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.language-selector{position:absolute;top:20px;right:20px;display:flex;gap:15px;z-index:100;background:#0009;padding:8px 15px;border-radius:30px;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(5px)}.lang-btn{background:none;border:2px solid transparent;font-size:1.8rem;padding:0;cursor:pointer;border-radius:50%;transition:transform .2s,filter .2s;width:45px;height:45px;display:flex;align-items:center;justify-content:center;filter:grayscale(.8)}.lang-btn:hover,.lang-btn.active{transform:scale(1.2);filter:grayscale(0);border-color:#ffffff4d}@media(max-width:600px){.language-selector{position:relative;justify-content:center;margin-bottom:20px;right:auto;top:auto;display:inline-flex}}.season-table-container{margin-top:25px;max-height:300px;overflow-y:auto;background:#0000004d;border-radius:8px;border:1px solid #333}.season-table-container::-webkit-scrollbar{width:8px}.season-table-container::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.stats-table{width:100%;border-collapse:collapse;font-size:.9rem;color:#ccc}.stats-table th{background:#222;padding:10px;position:sticky;top:0;z-index:10;font-family:Teko,sans-serif;letter-spacing:1px;font-size:1.1rem;color:#00d4ff}.stats-table td{padding:8px;border-bottom:1px solid #333}.stats-table tr:hover{background:#ffffff0d}.hl-row{color:#fff;font-weight:700}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;height:100%;background-color:#000000d9;backdrop-filter:blur(5px);width:100%}.modal-content{background:linear-gradient(135deg,#1a1a1a,#0d0d0d);margin:10% auto;padding:20px;border:1px solid #444;border-radius:15px;width:90%;max-width:600px;box-sizing:border-box;position:relative;box-shadow:0 0 50px #00a8ff33;animation:zoomIn .3s;max-height:75vh;overflow-y:auto}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-thumb{background:#444;border-radius:4px}@keyframes zoomIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.close-btn{color:#aaa;float:right;font-size:28px;font-weight:700;cursor:pointer}.close-btn:hover{color:#fff}.modal-score-row{display:flex;justify-content:space-around;align-items:center;margin-bottom:20px}.modal-team{text-align:center;width:30%}.modal-logo{width:80px;height:80px;filter:drop-shadow(0 0 10px rgba(255,255,255,.1))}.modal-score{font-family:Teko,sans-serif;font-size:4rem;font-weight:700;text-shadow:0 0 20px rgba(255,255,255,.2)}.modal-stats-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #333;font-size:.9rem;color:#ccc}.scorer-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #222;font-size:.9rem}.scorer-time{color:#888;width:50px;font-size:.8rem}.scorer-logo{width:25px;height:25px;margin-right:10px}.search-section{margin-bottom:40px}@media(max-width:600px){h1{font-size:2rem}.stats-row{gap:8px;flex-wrap:wrap;justify-content:center}.stat-box{padding:5px 8px;min-width:60px;flex:1 1 20%}.stat-value{font-size:1.4rem}.stat-label{font-size:.65rem}.player-info{font-size:.9rem;margin-bottom:10px}.season-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.stats-table{min-width:450px;font-size:.8rem}.stats-table th,.stats-table td{padding:6px 4px}}.finns-section{margin:30px auto 40px;max-width:900px;text-align:left}.finns-section h3{font-family:Teko,sans-serif;color:#00d4ff;font-size:1.8rem;margin-bottom:10px;border-bottom:1px solid #333;padding-bottom:5px;letter-spacing:1px}.finns-container{display:flex;gap:15px;overflow-x:auto;padding-bottom:15px;-webkit-overflow-scrolling:touch}.finns-container::-webkit-scrollbar{height:8px}.finns-container::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.finn-card{background:#ffffff0d;border:1px solid #444;border-radius:12px;padding:15px;min-width:220px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .2s}.finn-card:hover{transform:translateY(-5px);background:#ffffff1a;border-color:#00d4ff}.finn-photo{width:60px;height:60px;border-radius:50%;background:#222;object-fit:cover;margin-bottom:10px;border:2px solid #444}.finn-name{font-weight:700;font-size:1.1rem;margin-bottom:2px}.finn-team{font-size:.8rem;color:#aaa;margin-bottom:15px}.finn-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.finn-stat-item{background:#111;padding:6px;border-radius:6px;font-size:.8rem;color:#ccc}.finn-stat-val{color:#fff;font-weight:700;font-size:1.1rem;display:block}.val-hl{color:#00d4ff}.val-hl-goal{color:#f44}.tekstitv-container{background-color:#000;border:4px solid #333;border-radius:8px;margin:40px auto;width:90%;max-width:600px;box-sizing:border-box;padding:10px;box-shadow:0 0 20px #0f03}.tekstitv-header{display:flex;justify-content:space-between;background-color:#000;color:#fff;font-family:VT323,monospace;font-size:1.5rem;padding:5px 10px;border-bottom:2px solid #fff;margin-bottom:10px;text-transform:uppercase}.tekstitv-screen{font-family:VT323,monospace;color:#0f0;font-size:1.3rem;line-height:1.2;background-color:#000;margin:0;padding:10px;overflow-x:auto;max-height:500px;overflow-y:auto;text-shadow:0 0 5px rgba(0,255,0,.5)}.tekstitv-screen::-webkit-scrollbar{width:10px}.tekstitv-screen::-webkit-scrollbar-thumb{background:#333;border-radius:0}.tekstitv-screen::-webkit-scrollbar-track{background:#000}.ttv-yellow{color:#ff0;text-shadow:0 0 5px rgba(255,255,0,.5)}.ttv-white{color:#fff;text-shadow:0 0 5px rgba(255,255,255,.5)}.ttv-cyan{color:#0ff;text-shadow:0 0 5px rgba(0,255,255,.5)}.close-card-btn{position:absolute;top:15px;right:20px;color:#aaa;font-size:35px;font-weight:700;cursor:pointer;z-index:10;line-height:1;transition:color .2s}.close-card-btn:hover{color:#fff}body.tv-mode .close-card-btn{color:#0f0}body.tv-mode .close-card-btn:hover{color:#ff0}.schedule-content{width:95%;max-width:800px;box-sizing:border-box;padding:15px}.sched-card{display:flex;flex-direction:column;background:#ffffff0d;border:1px solid #444;border-radius:8px;margin-bottom:15px;padding:10px;scroll-margin-top:80px}.sched-header{display:flex;align-items:center;margin-bottom:10px;border-bottom:1px solid #333;padding-bottom:5px}.sched-logo{width:40px;height:40px;margin-right:15px}.sched-team-name{font-size:1.2rem;font-weight:700;flex-grow:1}.sched-count{background:#00d4ff;color:#000;padding:4px 10px;border-radius:4px;font-weight:700;font-size:.9rem}.sched-days{display:flex;overflow-x:auto;gap:6px;padding-bottom:10px;-webkit-overflow-scrolling:touch}.sched-days::-webkit-scrollbar{height:6px}.sched-days::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.sched-days::-webkit-scrollbar-track{background:transparent}.sched-day-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;border-radius:6px;font-size:.75rem;font-weight:700;text-align:center;color:#fff;min-width:50px;flex-shrink:0}.sched-date{font-size:.65rem;color:#fff9;margin-bottom:3px}.day-off{background:#222;border:1px solid #333}.day-home{background:#1e5a22;border:1px solid #2e8a34}.day-away{background:#8a2e2e;border:1px solid #c44141}.sched-filter-container{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.sched-filter-btn{background:#111;color:#888;border:1px solid #444;padding:6px 15px;border-radius:20px;cursor:pointer;font-family:Teko,sans-serif;font-size:1.1rem;letter-spacing:1px}.sched-filter-btn.active{background:#00d4ff;color:#000;border-color:#00d4ff;font-weight:700}.sched-filter-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sched-stats{font-size:.85rem;color:#ccc;background:#0006;padding:4px 10px;border-radius:6px;border:1px solid #444;font-family:Teko,sans-serif;letter-spacing:1px}@media(max-width:600px){.header-bar{padding:10px}.logo-area h1{font-size:1.8rem}.header-controls{gap:10px}.header-calendar-btn{width:45px;height:45px;font-size:1.5rem}}.app-view{display:none;animation:fadeIn .3s ease;padding-top:75px;padding-bottom:80px}.app-view.active-view{display:block}.date-input{background:#222;color:#fff;border:1px solid #444;padding:8px 10px;border-radius:6px;font-family:Roboto,sans-serif;color-scheme:dark;outline:none}.date-input:focus{border-color:#00d4ff}.date-search-btn{background:#00d4ff;color:#000;border:none;padding:8px 15px;border-radius:6px;font-weight:700;cursor:pointer;font-family:Teko,sans-serif;font-size:1.2rem;letter-spacing:1px;transition:transform .2s}.date-search-btn:hover{transform:scale(1.05)}@media(max-width:600px){.date-input{padding:6px 5px;font-size:.85rem}.date-search-btn{padding:6px 12px;font-size:1.1rem}}footer{margin-bottom:80px!important}.standings-logo{width:25px;height:25px;margin-right:8px;vertical-align:middle;filter:drop-shadow(0 0 2px rgba(255,255,255,.2))}.standings-team-name{font-weight:700;vertical-align:middle;font-size:1.1rem}.rank-col{color:#888;font-weight:700}.points-col{color:#00d4ff!important;font-weight:700;font-size:1.1rem}.team-col{text-align:left;white-space:nowrap}.playoff-line td{border-bottom:2px dashed #44b4ff!important}@media(max-width:600px){.standings-team-name{font-size:.95rem}.standings-logo{width:20px;height:20px}}@media(max-width:600px){.tekstitv-container{width:98%;padding:5px;margin:20px auto}.tekstitv-screen{font-size:1.05rem;padding:5px}.tekstitv-header{font-size:1.2rem}}.standings-table-container{margin-top:5px;max-height:calc(100dvh - 210px);overflow-y:auto;background:#0000004d;border-radius:8px;border:1px solid #333;-webkit-overflow-scrolling:touch}.standings-table-container::-webkit-scrollbar{width:8px}.standings-table-container::-webkit-scrollbar-thumb{background:#444;border-radius:4px}#splash-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0a0a0a;display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease-out,visibility .5s ease-out}#splash-screen.hidden{opacity:0;visibility:hidden}.splash-logo{width:350px;animation:pulseSplash 1.5s infinite alternate ease-in-out}@keyframes pulseSplash{0%{transform:scale(.95);filter:drop-shadow(0 0 10px rgba(0,212,255,.4))}to{transform:scale(1.05);filter:drop-shadow(0 0 30px rgba(0,212,255,1))}}.quick-jump-row{display:flex;overflow-x:auto;gap:12px;padding:10px 5px;margin-bottom:15px;-webkit-overflow-scrolling:touch}.quick-jump-row::-webkit-scrollbar{height:6px}.quick-jump-row::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.quick-logo{width:35px;height:35px;cursor:pointer;transition:transform .2s;filter:drop-shadow(0 0 2px rgba(255,255,255,.2));flex-shrink:0}.quick-logo:hover{transform:scale(1.2)}.date-nav-btn{background:transparent;border:none;color:#444;font-size:1.5rem;cursor:pointer;transition:color .2s,transform .2s;padding:5px 15px}.date-nav-btn:hover{color:#00d4ff;transform:scale(1.2)}.date-nav-btn:active{transform:scale(.9)}.fav-sydan{cursor:pointer;color:#555;font-size:1.4rem;background:none;border:none;padding:5px;margin:-5px 0 -5px -5px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);outline:none}.fav-sydan:hover,.fav-sydan:active{transform:scale(1.3)}.fav-sydan.aktiivinen{color:#ff2a2a;text-shadow:0 0 10px rgba(255,42,42,.5)}.suosikki-kortti{border:2px solid #ffd700!important;box-shadow:0 0 15px #ffd70040;background:linear-gradient(145deg,#1a1a1a,#2a2510)}.fav-tahti{cursor:pointer;color:#555;font-size:1.4rem;background:none;border:none;padding:5px;margin:-5px 0 -5px 10px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);outline:none}.fav-tahti:hover,.fav-tahti:active{transform:scale(1.3)}.fav-tahti.aktiivinen-tahti{color:gold;text-shadow:0 0 15px rgba(255,215,0,.8)}.porssi-btn{background:linear-gradient(145deg,#2a2a2a,#1a1a1a);color:#fff;border:1px solid #444;padding:20px 10px;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 6px #0006;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.porssi-btn:active{transform:scale(.95);border-color:gold}@keyframes maalivilkku{0%{opacity:1;text-shadow:0 0 10px #ff4444,0 0 20px #ff4444;transform:scale(1)}to{opacity:.5;text-shadow:0 0 2px #ff4444;transform:scale(1.05)}}.goal-alert{color:#f44;font-weight:700;font-size:1.1rem;letter-spacing:1px;animation:maalivilkku .4s infinite alternate}.refresh-btn{background:none;border:none;color:#00d4ff;font-size:1.2rem;cursor:pointer;margin-left:10px;padding:5px;border-radius:50%;transition:background .2s,opacity .2s;vertical-align:middle}.refresh-btn:active{opacity:.5;background:#00d4ff33}.pyorii{animation:pyorahdys .5s linear}@keyframes pyorahdys{to{transform:rotate(360deg)}}.top-icon-btn{background:transparent;border:none;font-size:1.6rem;cursor:pointer;transition:transform .2s,text-shadow .2s;color:#fff;padding:0}.top-icon-btn:hover,.top-icon-btn:active{transform:scale(1.1);text-shadow:0 0 10px rgba(0,212,255,.8)}:root{--bg-main: var(--surface-app);--bg-card: var(--surface-card);--bg-nav: var(--surface-nav);--text-main: var(--text-primary);--text-muted: var(--text-secondary);--border-color: var(--border-subtle);--accent-blue: var(--accent);--radius-card: var(--radius-lg);--radius-btn: var(--radius-pill);--shadow-main: var(--shadow-md)}.fav-sydan{transition:color .2s;background:none;border:none;cursor:pointer;color:#555}.fav-sydan.aktiivinen{color:#87ceeb!important;text-shadow:0 0 8px rgba(135,206,235,.5)}.fav-tahti{transition:color .2s;background:none;border:none;cursor:pointer;color:#555}.fav-tahti.aktiivinen{color:gold!important;text-shadow:0 0 8px rgba(255,215,0,.5)}.game-card.kultareunus{border:2px solid #ffd700!important;box-shadow:0 0 15px #ffd70026!important}@keyframes pulse{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.h-scroll-wrapper{display:flex;overflow-x:auto;gap:15px;padding-bottom:12px;margin-bottom:20px;scrollbar-width:thin;scrollbar-color:#444 transparent}.h-scroll-wrapper::-webkit-scrollbar{height:6px}.h-scroll-wrapper::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.h-scroll-wrapper::-webkit-scrollbar-thumb{background-color:#444;border-radius:4px}.modern-p-card{background:#151515;border-radius:6px;min-width:210px;max-width:210px;padding:12px;cursor:pointer;transition:transform .2s,background .2s;display:flex;flex-direction:column}.modern-p-card:hover{transform:translateY(-2px);background:#1a1a1a}.modern-p-card.variant-fantasy{border:1px solid #ffd700}.modern-p-card.variant-hot{border:1px solid #ff4444}.modern-p-card.variant-fav,.modern-p-card.variant-fin{border:1px solid #333}.p-card-header{text-align:center;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:8px}.p-card-name{font-weight:700;font-size:1.05rem;color:#fff;margin-bottom:4px;display:flex;align-items:center;justify-content:center;gap:5px}.p-card-team{font-size:.7rem;color:#888;text-transform:uppercase;letter-spacing:1px}.p-card-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.p-stat-box{background:#1a1a1a;border-radius:4px;padding:8px 4px;text-align:center;display:flex;flex-direction:column;justify-content:center;border:1px solid #222}.p-stat-label{font-size:.65rem;color:#888;margin-bottom:4px}.p-stat-val{font-size:1.1rem;font-weight:700;color:#ccc}.val-green{color:#4ade80!important}.val-red{color:#f44!important}.val-gold{color:gold!important}.box-gold{background:#ffd70014;border-color:#ffd70033}.box-green{background:#4ade8014;border-color:#4ade8033}.no-stats-msg{font-size:.75rem;color:#555;text-align:center;padding:20px 0;font-style:italic}.page-main-title{font-size:1.4rem;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:3px;margin:20px 0 25px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:600}.modal-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:99999;backdrop-filter:blur(5px);animation:fadeIn .2s}.modal-overlay .modal-content{margin:0;width:95%;max-width:500px;max-height:85vh}.modal-content,.standings-table-container,.season-table-container,.tekstitv-screen{overscroll-behavior:contain}html{scrollbar-gutter:stable}html,body{margin:0;padding:0;background:var(--surface-app);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}*{box-sizing:border-box}.app-view{padding-top:calc(58px + var(--safe-top));padding-bottom:calc(78px + var(--safe-bottom))}.container{width:100%;max-width:780px;margin:0 auto;padding:var(--space-4);text-align:left}.home-container{position:relative}.home-container:before{content:"";position:absolute;top:0;left:calc(var(--space-4) * -1);right:calc(var(--space-4) * -1);height:320px;z-index:-1;background:var(--dawn-glow);pointer-events:none}.header-bar{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);padding-top:calc(var(--space-2) + var(--safe-top));background:var(--surface-nav);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle)}.header-bar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--dawn-1),var(--dawn-2) 45%,var(--dawn-3));opacity:.75}.header-wordmark{background:linear-gradient(100deg,var(--dawn-1),var(--dawn-2) 40%,var(--dawn-3));-webkit-background-clip:text;background-clip:text;color:transparent}@supports not ((-webkit-background-clip: text) or (background-clip: text)){.header-wordmark{background:none;color:var(--text-primary)}}.header-brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.header-logo{width:34px;height:34px;border-radius:var(--radius-sm);object-fit:cover;box-shadow:var(--shadow-sm)}.header-title{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.header-subtitle{font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;color:var(--accent-text)}.header-controls{display:flex;align-items:center;gap:var(--space-2)}.top-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-secondary);font-size:var(--text-base);cursor:pointer;transition:border-color var(--duration-fast),transform var(--duration-fast)}.top-icon-btn:hover{border-color:var(--border-strong)}.top-icon-btn:active{transform:scale(.94)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-nav);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-1);padding:var(--space-2) var(--space-2);padding-bottom:calc(var(--space-2) + var(--safe-bottom));background:var(--surface-nav);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-subtle)}.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:52px;padding:var(--space-2) 2px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast)}.nav-item .nav-icon{font-size:1.2rem;line-height:1;height:22px;display:flex;align-items:center;justify-content:center}.nav-item .nav-label{font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1;text-transform:uppercase;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:before{content:"";position:absolute;top:0;left:50%;width:0;height:3px;border-radius:var(--radius-pill);background:var(--accent);transform:translate(-50%);transition:width var(--duration-base) var(--ease-out)}.nav-item.active{color:var(--accent-text)}.nav-item.active:before{width:28px}.date-nav{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5)}.date-nav-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.18em;color:var(--text-tertiary)}.date-nav-row{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%}.date-nav-arrow,.sched-filter-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:var(--space-2) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:border-color var(--duration-fast),color var(--duration-fast)}.date-nav-arrow:hover,.sched-filter-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.sched-filter-btn.active{background:var(--accent-soft);border-color:transparent;color:var(--accent-text)}.date-nav-current{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap}.date-nav-refresh{border:none;background:none;padding:var(--space-1);color:var(--text-tertiary);font-size:var(--text-base);cursor:pointer}.date-nav-refresh.is-spinning{animation:spin 1s linear infinite}.games-container{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-6)}@media(min-width:620px){.games-container{grid-template-columns:repeat(2,1fr)}}.game-card-v2{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-fast)}.game-card-v2:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.game-card-v2.is-live{border-color:#f43f5e59}.game-card-v2.is-fav{border-color:#fbbf2466}.gc-main{position:relative;padding:var(--space-4) var(--space-4) var(--space-3)}.gc-open{position:absolute;inset:0;z-index:0;width:100%;border:none;background:none;padding:0;cursor:pointer}.gc-open:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:var(--radius-lg)}.gc-status,.gc-teams{position:relative;z-index:1;pointer-events:none}.gc-teams{display:flex;flex-direction:column;gap:var(--space-3)}.gc-fav{pointer-events:auto}.gc-status{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:3px var(--space-3);border-radius:var(--radius-pill);background:var(--surface-sunken);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.gc-status-live{background:var(--live-soft);color:var(--live)}.gc-status-upcoming{background:var(--accent-soft);color:var(--accent-text)}.gc-live-dot{width:6px;height:6px;border-radius:50%;background:var(--live);animation:pulse-dot 1.6s ease-in-out infinite}.gc-team{display:flex;align-items:center;gap:var(--space-3)}.gc-team.is-loser .gc-abbrev,.gc-team.is-loser .gc-score{color:var(--text-tertiary)}.gc-team-name{display:flex;flex-direction:column;flex:1;min-width:0}.gc-abbrev{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.gc-side{font-size:var(--text-xs);letter-spacing:.1em;color:var(--text-tertiary)}.gc-fav{border:none;background:none;padding:var(--space-1);font-size:var(--text-base);color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast),transform var(--duration-fast)}.gc-fav.is-active{color:var(--gold)}.gc-fav:active{transform:scale(1.2)}.gc-score{min-width:32px;font-size:var(--text-2xl);font-weight:700;font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.03em;color:var(--text-primary)}.finns-section{margin-bottom:var(--space-6)}.finns-section h3{margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.h-scroll-wrapper{display:flex;gap:var(--space-3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:var(--space-2);margin-inline:calc(var(--space-4) * -1);padding-inline:var(--space-4);scroll-padding-inline:var(--space-4)}.h-scroll-wrapper>*{scroll-snap-align:start;flex:0 0 min(208px,calc((100% - var(--space-3) - 20px) / 2))}.h-scroll-wrapper::-webkit-scrollbar{height:0}.loading,.empty-state{padding:var(--space-5);color:var(--text-tertiary);font-size:var(--text-sm)}.error-state{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--negative);font-size:var(--text-sm)}.error-state p{margin:0}.goal-alert{position:fixed;top:calc(var(--safe-top) + var(--space-2));left:50%;transform:translate(-50%);z-index:200000;width:min(92vw,520px);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--live);color:#fff;font-size:var(--text-sm);font-weight:700;text-align:center;box-shadow:var(--shadow-lg);animation:slide-down var(--duration-slow) var(--ease-out)}.app-toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translate(-50%);z-index:200000;width:max-content;max-width:90vw;padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-sm);text-align:center;box-shadow:var(--shadow-lg);animation:slide-up var(--duration-base) var(--ease-out)}.team-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--badge-size, 40px);height:var(--badge-size, 40px);font-size:var(--badge-font-size, 16px);border-radius:50%;border:2px solid transparent;color:#fff;font-weight:700;letter-spacing:-.02em;text-shadow:0 1px 2px rgba(0,0,0,.6);box-shadow:var(--shadow-sm);padding:0;line-height:1}button.team-badge{cursor:pointer}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}@keyframes slide-down{0%{transform:translate(-50%,-16px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes slide-up{0%{transform:translate(-50%,12px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.search-overlay{position:fixed;inset:0;display:block;padding:0;background:var(--surface-app);animation:sheet-fade var(--duration-fast) var(--ease-out)}.search-panel{width:100%;max-width:640px;margin:0 auto;padding:calc(var(--space-4) + var(--safe-top)) var(--space-4) var(--space-4)}.search-input-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.search-input{flex:1;min-width:0;padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-family:inherit;font-size:var(--text-lg);outline:none;transition:border-color var(--duration-fast)}.search-input:focus{border-color:var(--accent)}.search-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-xl);line-height:1;cursor:pointer}.search-results{max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}.search-status{padding:var(--space-5);color:var(--text-tertiary);font-size:var(--text-sm);text-align:center}.search-status-error{color:var(--negative)}.search-result{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.search-result:hover,.search-result:focus-visible{border-color:var(--border-strong);background:var(--surface-card-hover)}.search-result-text{display:flex;flex-direction:column;min-width:0}.search-result-type{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.search-result-type.is-player{color:var(--accent-text)}.search-result-type.is-team{color:var(--gold)}.search-result-name{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.search-result-team{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.search-result-abbrev{padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary)}.top-icon-btn,.nav-item,.sched-filter-btn,.gc-fav{min-height:44px}.gc-fav{min-width:44px}.player-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-fast)}.player-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.player-card.pc-hot{border-color:#f43f5e59}.player-card.pc-fantasy{border-color:#fbbf2459}.player-card.pc-fav{border-color:#38bdf84d}.pc-open{position:absolute;inset:0;z-index:0;border:none;background:none;padding:0;cursor:pointer;border-radius:var(--radius-md)}.pc-open:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.pc-header,.pc-stats,.pc-status,.pc-empty,.pc-actions{position:relative;z-index:1;pointer-events:none}.pc-actions{display:flex;justify-content:flex-end;gap:var(--space-1);margin-bottom:var(--space-1)}.pc-header{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding-bottom:var(--space-2);margin-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.pc-icon-btn{flex-shrink:0;padding:var(--space-1);border:none;background:none;font-size:1rem;line-height:1;color:var(--text-tertiary);cursor:pointer;pointer-events:auto;transition:color var(--duration-fast),transform var(--duration-fast)}.pc-icon-btn.is-fav{color:var(--live)}.pc-icon-btn.is-fantasy{color:var(--gold)}.pc-icon-btn:active{transform:scale(1.2)}.pc-identity{display:flex;align-items:center;justify-content:center;gap:var(--space-2);flex:1;min-width:0}.pc-name{flex:1;min-width:0;font-size:var(--text-sm);font-weight:700;color:var(--text-primary);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-live{margin-left:var(--space-1);font-size:.55rem;color:var(--live);animation:pulse-dot 1.6s ease-in-out infinite}.pc-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.pc-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:var(--space-2) var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.pc-stat-label{max-width:100%;font-size:10px;font-weight:600;letter-spacing:.02em;line-height:1.2;color:var(--text-tertiary);text-align:center;white-space:nowrap}.pc-stat-value{font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.pc-stat-positive .pc-stat-value{color:var(--positive)}.pc-stat-negative .pc-stat-value{color:var(--negative)}.pc-stat-accent .pc-stat-value{color:var(--accent-text)}.pc-stat-gold .pc-stat-value{color:var(--gold)}.pc-status{margin:0 0 var(--space-3);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:center;color:var(--text-tertiary)}.pc-empty{margin:auto 0;padding:var(--space-4) 0;font-size:var(--text-sm);text-align:center;color:var(--text-tertiary)}.standings-table{width:100%;table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums}.standings-table th,.standings-table td{padding:var(--space-2) 2px;text-align:center}.standings-table th:nth-child(1),.standings-table td:nth-child(1){width:30px}.standings-table th:nth-child(2),.standings-table td:nth-child(2){width:auto;text-align:left}.standings-table th:nth-child(n+3),.standings-table td:nth-child(n+3){width:34px}.standings-table th:nth-last-child(-n+2),.standings-table td:nth-last-child(-n+2){width:42px}.pred{display:flex;flex-direction:column;gap:var(--space-4)}.pred-datenav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.pred-accuracy{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:0;font-size:var(--text-xs);color:var(--text-tertiary);text-align:center}.pred-accuracy .is-good{color:var(--positive);font-weight:600}.pred-accuracy .is-weak{color:var(--gold);font-weight:600}.pred-accuracy-hint{color:var(--text-tertiary);font-weight:400}.pred-tabs{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-pill)}.pred-tab{flex:1;min-width:0;padding:var(--space-2) var(--space-1);border:none;border-radius:var(--radius-pill);background:none;color:var(--text-secondary);font-family:inherit;font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--duration-fast),color var(--duration-fast)}.pred-tab.active{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.pred-match{padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.pred-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm)}.pred-row+.pred-row{border-top:1px solid var(--border-subtle)}.pred-rank{width:24px;font-size:var(--text-sm);font-weight:700;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.pred-name{flex:1;min-width:0;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pred-value{font-size:var(--text-lg);font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}.pred-info h4{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-base);color:var(--text-primary)}.pred-info p{margin:0 0 var(--space-3);font-size:var(--text-sm);line-height:1.65;color:var(--text-secondary)}.standings-table-container,.standings-table-container>div,.season-table-container{scrollbar-gutter:stable}.prose p{margin:0 0 var(--space-3);font-size:var(--text-base);line-height:1.65;color:var(--text-secondary)}.block-btn{width:100%;margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.block-btn:hover{border-color:var(--accent)}.block-btn.active{background:var(--accent-soft);border-color:transparent;color:var(--accent-text)}.primary-btn{width:100%;padding:var(--space-4);border:none;border-radius:var(--radius-md);background:var(--accent);color:#04121a;font-family:inherit;font-size:var(--text-base);font-weight:700;cursor:pointer;transition:opacity var(--duration-fast),transform var(--duration-fast)}.primary-btn:disabled{opacity:.55;cursor:not-allowed}.primary-btn:not(:disabled):active{transform:scale(.98)}.guide-list{display:flex;flex-direction:column;gap:var(--space-3);animation:sheet-fade var(--duration-base) var(--ease-out)}.guide-item{padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md);border-left:3px solid var(--border-strong)}.guide-item h4{margin:0 0 var(--space-1);font-size:var(--text-base);color:var(--text-primary)}.guide-item p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary)}.guide-live{border-left-color:var(--live)}.guide-accent{border-left-color:var(--accent)}.guide-positive{border-left-color:var(--positive)}.guide-gold{border-left-color:var(--gold)}.info-footer{margin-top:var(--space-5);padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md);text-align:center}.info-dev{margin:0 0 var(--space-2);font-weight:700;color:var(--text-primary)}.info-thanks{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--text-tertiary)}.update-list{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding-left:var(--space-5);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6}.update-list li::marker{color:var(--gold)}.settings-row{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.settings-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.segmented{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-pill)}.segmented-btn{flex:1;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-pill);background:none;color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.segmented-btn.active{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.settings-links{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}.settings-link{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);font-weight:600;text-align:left;cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.settings-link:hover{border-color:var(--border-strong);background:var(--surface-card-hover)}.settings-link-icon{font-size:1.1rem}.settings-link-chevron{margin-left:auto;font-size:1.3rem;color:var(--text-tertiary)}.settings-link-gold .settings-link-icon{filter:none}.settings-link-accent{border-left:3px solid var(--accent)}.settings-link-gold{border-left:3px solid var(--gold)}.settings-link-positive{border-left:3px solid var(--positive)}.form{display:flex;flex-direction:column;gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.field-count{font-weight:500;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}.field-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);outline:none;transition:border-color var(--duration-fast)}.field-input:focus{border-color:var(--accent)}.field-input:disabled{opacity:.6}.field-textarea{resize:vertical;min-height:120px;line-height:1.6}.form-status{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;text-align:center}.form-status.is-success{background:#34d3991f;color:var(--positive)}.form-status.is-error{background:#fb71851f;color:var(--negative)}.form-status.is-info{background:var(--surface-sunken);color:var(--text-secondary)}.page-title{margin:0 0 var(--space-5);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.page-main-title{margin:0 0 var(--space-4);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.section-title{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stat-tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);min-height:96px;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-family:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-fast)}.stat-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.stat-tile-icon{font-size:1.5rem;line-height:1}.stat-tile-label{font-size:var(--text-sm);font-weight:600;line-height:1.3}.stat-tile.is-featured{border-color:#fbbf2466;background:linear-gradient(160deg,var(--gold-soft),var(--surface-card) 60%)}.stat-tile.is-featured .stat-tile-label{color:var(--gold)}.porssi-btn{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);min-height:96px;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);font-weight:600;text-align:left;cursor:pointer}.pred-matches{display:flex;flex-direction:column;gap:var(--space-3)}.pred-match{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.pred-match.is-hit{border-color:#34d39966}.pred-match.is-miss{border-color:#fb718559}.pred-verdict{position:absolute;top:calc(var(--space-3) * -1);left:50%;transform:translate(-50%);padding:2px var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pred-verdict.is-hit{background:var(--positive);color:#04211a}.pred-verdict.is-miss{background:var(--negative);color:#2a0710}.pred-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3)}.pred-team{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.pred-team-abbrev{font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.pred-verdict-box{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:110px;padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm);text-align:center}.pred-verdict-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.pred-verdict-value{font-size:var(--text-xl);font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}.pred-verdict-sub{font-size:10px;color:var(--text-tertiary)}.pred-bar{position:relative;height:26px;border-radius:var(--radius-pill);background:var(--surface-sunken);overflow:hidden}.pred-bar-fill{height:100%;background:var(--accent-soft);border-right:2px solid var(--accent);transition:width var(--duration-slow) var(--ease-out)}.pred-bar-labels{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-3);font-size:var(--text-xs);font-weight:700;color:var(--text-primary)}.pred-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:var(--space-3);margin:0;padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm);text-align:center}.pred-facts dt{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.pred-facts dd{margin:2px 0 0;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.pred-facts .is-ot{color:var(--gold)}.pred-facts .is-good{color:var(--positive)}.pred-reasons{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);font-size:var(--text-xs)}.pred-reasons ul{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.pred-reasons ul.is-away{text-align:right}.pred-reasons li:before{content:"+ ";font-weight:700}.pred-reasons li.is-minus:before{content:"− "}.pred-reasons li.is-plus{color:var(--positive)}.pred-reasons li.is-minus{color:var(--negative)}.pred-table{display:flex;flex-direction:column;gap:var(--space-1)}.pred-table-head{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2) var(--space-2);border-bottom:1px solid var(--border-subtle);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.pred-table .pred-row{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:none;border-radius:var(--radius-sm);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast)}.pred-table .pred-row:hover{background:var(--surface-sunken)}.pred-table .pred-row.is-cutoff{border-top:2px dashed var(--border-strong);padding-top:var(--space-3);cursor:default}.pred-rank.is-top{color:var(--gold);font-weight:700}.pred-rank.is-playoff{color:var(--positive)}.pred-rank.is-out{color:var(--text-tertiary)}.pred-name{display:flex;align-items:center;gap:var(--space-2)}.pred-col{display:flex;flex-direction:column;align-items:center;width:68px;flex-shrink:0;text-align:center}.pred-col strong{font-size:var(--text-base);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.pred-col small{font-size:10px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.pred-col.is-highlight{padding:var(--space-1) var(--space-2);background:var(--gold-soft);border-radius:var(--radius-sm)}.pred-col.is-highlight strong{color:var(--gold)}.pred-conferences{display:flex;flex-direction:column;gap:var(--space-5)}.pred-info h4{margin:var(--space-5) 0 var(--space-3);font-size:var(--text-base);color:var(--text-primary)}.prose-lead{margin:0;font-size:var(--text-base);line-height:1.65;color:var(--text-secondary)}.pred-steps{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding-left:var(--space-5);font-size:var(--text-sm);line-height:1.65;color:var(--text-secondary)}.pred-steps li::marker{color:var(--gold);font-weight:700}.pred-steps strong{color:var(--text-primary)}.pred-caveat{margin:var(--space-5) 0 0;padding:var(--space-4);background:var(--surface-sunken);border-left:3px solid var(--gold);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary)}.sched-filter-container{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.sched-filter-container .sched-filter-btn{flex:1}.date-picker{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.date-input{padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);cursor:pointer}.quick-jump-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-md)}.sched-card{margin-bottom:var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.sched-header{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast)}.sched-header:hover{background:var(--surface-card-hover)}.sched-team-name{font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.sched-stats{margin-left:auto;font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap}.sched-days{display:flex;gap:var(--space-2);overflow-x:auto;overscroll-behavior-x:contain;padding:0 var(--space-4) var(--space-4)}.sched-days::-webkit-scrollbar{height:0}.sched-day-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0;min-width:62px;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary)}.sched-date{font-size:10px;color:var(--text-tertiary)}.sched-day-box.day-home{border-color:#34d39959;color:var(--positive)}.sched-day-box.day-away{border-color:#38bdf84d;color:var(--accent-text)}.sched-day-box.day-off{color:var(--text-tertiary);opacity:.6}.tekstitv-container,.tekstitv-screen{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:Courier New,Courier,monospace;overflow-x:hidden}.standings-table-container{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow-y:auto}.standings-table-container th{color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);font-weight:600}.standings-table-container td{color:var(--text-secondary)}.sched-team-name{color:var(--text-primary)}.sched-stats{color:var(--text-tertiary);background:none;border:none}.sched-date{color:var(--text-tertiary)}.fav-sydan.aktiivinen{color:var(--live);text-shadow:none}.fav-tahti.aktiivinen{color:var(--gold);text-shadow:none}.kultareunus{border-color:#fbbf2473;box-shadow:none}.score-chip{display:inline-block;margin-left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-text);font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;font-variant-numeric:tabular-nums}.no-games{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5) var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center}.no-games-title{margin:0;font-size:var(--text-base);font-weight:600;color:var(--text-secondary)}.no-games-next{margin:0;font-size:var(--text-sm);color:var(--accent-text);font-weight:600}.no-games-countdown{color:var(--text-tertiary);font-weight:400}.no-games-list{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none}.no-games-list li{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-2);background:var(--surface-sunken);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.no-games-more{margin:0;font-size:var(--text-xs);color:var(--text-tertiary)}.shotmap{display:flex;flex-direction:column;gap:var(--space-3)}.shotmap-filters{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-pill)}.shotmap-teams{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);font-variant-numeric:tabular-nums}.shotmap-team{display:flex;align-items:center;gap:var(--space-2)}.shotmap-dot{width:10px;height:10px;border-radius:50%}.shotmap-rink{width:100%;height:auto;border-radius:var(--radius-md);background:#eef3f8}.rink-surface{fill:#eef3f8;stroke:#b9c6d4;stroke-width:.8}.rink-line{stroke-width:.7}.rink-line.is-centre{stroke:#d4696e}.rink-line.is-blue{stroke:#6d8dc4;stroke-width:1.4}.rink-line.is-goal{stroke:#d4696e;stroke-width:.5}.rink-line.is-faceoff{stroke:#d4696e;stroke-width:.4}.rink-net{fill:#93a3b5}.shot{cursor:pointer;transition:r var(--duration-fast)}.shot.is-selected{stroke:var(--text-primary);stroke-width:1.6}.shot.is-miss,.shot.is-blocked{opacity:.55}.shotmap-detail{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-md)}.shotmap-detail-main{display:flex;flex-direction:column;gap:2px;min-width:0}.shotmap-shooter{padding:0;border:none;background:none;color:var(--accent-text);font-family:inherit;font-size:var(--text-base);font-weight:700;text-align:left;cursor:pointer}.shotmap-shooter:disabled{color:var(--text-primary);cursor:default}.shotmap-detail-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.shotmap-video{flex-shrink:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--live-soft);color:var(--live);font-size:var(--text-sm);font-weight:700;text-decoration:none;white-space:nowrap}.shotmap-hint{margin:0;font-size:var(--text-xs);color:var(--text-tertiary);text-align:center}.shotmap-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);margin:0;padding:0;list-style:none;font-size:var(--text-xs);color:var(--text-tertiary)}.shotmap-legend li{display:flex;align-items:center;gap:var(--space-2)}.legend-marker{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--text-tertiary)}.legend-marker.is-goal{background:var(--text-tertiary)}.legend-marker.is-save{background:none}.legend-marker.is-miss{background:none;opacity:.55;width:8px;height:8px}.legend-marker.is-blocked{background:none;opacity:.55;width:7px;height:7px}.player-form-section{margin-top:var(--space-5)}.form-chart{display:flex;flex-direction:column;gap:var(--space-3)}.form-head{display:flex;align-items:baseline;justify-content:space-between;font-size:var(--text-xs);color:var(--text-tertiary)}.form-season{font-weight:700;color:var(--accent-text)}.form-bars{display:flex;align-items:flex-end;gap:1px;height:72px;padding:var(--space-2);background:var(--surface-sunken);border-radius:var(--radius-sm);overflow-x:auto;overscroll-behavior-x:contain}.form-bars::-webkit-scrollbar{height:0}.form-bar{display:flex;align-items:flex-end;flex:1 0 4px;min-width:4px;height:100%;padding:0;border:none;background:none;cursor:pointer}.form-bar-fill{width:100%;height:max(2px,var(--height));border-radius:1px;background:var(--border-strong);transition:background var(--duration-fast)}.form-bar.has-points .form-bar-fill{background:var(--accent)}.form-bar:hover .form-bar-fill{background:var(--accent-text)}.form-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin:0}.form-stats>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2);background:var(--surface-sunken);border-radius:var(--radius-sm);text-align:center}.form-stats dt{font-size:10px;font-weight:600;color:var(--text-tertiary)}.form-stats dd{margin:0;font-size:var(--text-base);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.form-streak{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text);font-size:var(--text-sm);font-weight:600;text-align:center}.adv{display:flex;flex-direction:column;gap:var(--space-3)}.adv-views{display:flex;gap:var(--space-2);overflow-x:auto;overscroll-behavior-x:contain;margin-inline:calc(var(--space-4) * -1);padding-inline:var(--space-4);padding-bottom:var(--space-1)}.adv-views::-webkit-scrollbar{height:0}.adv-view{flex-shrink:0;padding:var(--space-2) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer}.adv-view.active{background:var(--accent-soft);border-color:transparent;color:var(--accent-text)}.adv-hint{margin:0;padding:var(--space-3);background:var(--surface-sunken);border-left:3px solid var(--accent);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.55;color:var(--text-secondary)}.pc-fantasy{display:flex;align-items:baseline;gap:var(--space-1);margin:var(--space-2) 0 0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--gold-soft);color:var(--gold)}.pc-fantasy.is-negative{background:var(--live-soft);color:var(--negative)}.pc-fantasy-value{font-size:var(--text-lg);font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.pc-fantasy-label{font-size:10px;font-weight:700;letter-spacing:.06em;opacity:.8}.fm-captain{padding:var(--space-2) var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:none;color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;cursor:pointer}.fm-captain.is-captain{border-color:var(--gold);background:var(--gold-soft);color:var(--gold)}.adv-table{display:flex;flex-direction:column}.adv-head,.adv-row{display:grid;grid-template-columns:18px minmax(0,1fr) repeat(var(--adv-metrics, 3),minmax(44px,.42fr));align-items:center;gap:6px;text-align:left}.adv-head{position:sticky;top:0;z-index:1;padding:var(--space-2);border-bottom:1px solid var(--border-strong);background:var(--surface-card);font-size:10px;font-weight:700;color:var(--text-tertiary)}.adv-head .adv-rank,.adv-head .adv-name{font:inherit;color:inherit;letter-spacing:inherit}.adv-col{text-align:right;line-height:1.25;hyphens:auto}.adv-cell{text-align:right;font-size:var(--text-sm);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.adv-row{width:100%;padding:var(--space-3) var(--space-2);border:none;border-bottom:1px solid var(--border-subtle);background:none;color:inherit;font:inherit;cursor:pointer}.adv-row:disabled{cursor:default}.adv-row:not(:disabled):hover{background:var(--surface-sunken)}.adv-rank{font-size:var(--text-xs);font-weight:700;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.adv-name{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.adv-badge{width:32px;height:18px;border-radius:var(--radius-pill);border-width:1px;font-size:10px;letter-spacing:0}.adv-person{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.splash{position:fixed;inset:0;z-index:999999;display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%;padding:0;border:none;background:#000;cursor:pointer;opacity:1;transition:opacity .4s ease-out}.splash.is-leaving{opacity:0;pointer-events:none}.splash-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:splash-settle 2.2s cubic-bezier(.16,1,.3,1) forwards}.splash-hint{position:relative;margin-bottom:calc(var(--space-7) + var(--safe-bottom));padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#ffffffd9;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;animation:splash-hint-in .9s .5s both}@keyframes splash-settle{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes splash-hint-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.whats-new{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4);position:relative;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(150deg,var(--accent-soft),var(--surface-card) 65%);box-shadow:var(--shadow-sm);animation:sheet-fade var(--duration-slow) var(--ease-out)}.whats-new:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--dawn-1),var(--dawn-2) 45%,var(--dawn-3))}.whats-new-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.whats-new-badge{display:inline-block;margin-bottom:var(--space-2);padding:2px var(--space-3);border-radius:var(--radius-pill);background:linear-gradient(100deg,var(--dawn-1),var(--dawn-2));color:var(--dawn-on);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.whats-new-title{margin:0;font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.whats-new-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border:none;border-radius:var(--radius-pill);background:none;color:var(--text-tertiary);cursor:pointer}.whats-new-close:hover{color:var(--text-primary)}.whats-new-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.whats-new-list li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary)}.whats-new-ok{align-self:flex-start;padding:var(--space-2) var(--space-5);border:none;border-radius:var(--radius-pill);background:var(--accent);color:#04121a;font-family:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer}.gc-colours{display:block;height:3px;background:linear-gradient(90deg,var(--away-colour) 0%,var(--away-colour) 48%,var(--home-colour) 52%,var(--home-colour) 100%);opacity:.9}.game-card-v2.is-fav .gc-colours{height:4px}.gm-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3);padding:var(--space-3) 0 var(--space-4)}.gm-score-team{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);border:none;background:none;color:var(--text-primary);font-family:inherit;font-size:var(--text-base);font-weight:700;cursor:pointer}.gm-score-numbers{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-3xl);font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-primary)}.gm-score-dash{color:var(--text-tertiary);font-size:var(--text-xl)}.gm-tabs{overflow-x:auto;overscroll-behavior-x:contain}.gm-tabs::-webkit-scrollbar{height:0}.gm-tabs .pred-tab{flex:0 0 auto;padding-inline:var(--space-4)}.gm-body{min-height:58dvh;padding-top:var(--space-4)}.gm-period{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.gm-event{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm)}.gm-event.is-goal{background:var(--surface-sunken)}.gm-event-time{width:42px;flex-shrink:0;font-size:var(--text-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.gm-event-main{display:flex;flex-direction:column;flex:1;min-width:0}.gm-event-player{padding:0;border:none;background:none;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);font-weight:700;text-align:left;cursor:pointer}.gm-event-player:not(:disabled):hover{color:var(--accent-text)}.gm-event-player:disabled{cursor:default}.gm-event-assists{font-size:var(--text-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-penalty-min{flex-shrink:0;font-size:var(--text-xs);font-weight:600;color:var(--gold)}.gm-stats{display:flex;flex-direction:column;gap:var(--space-1)}.gm-stat-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.gm-stat-row:nth-child(odd){background:var(--surface-sunken)}.gm-stat-row.is-total{background:var(--accent-soft)}.gm-stat-value{font-size:var(--text-base);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.gm-stat-row .gm-stat-value:first-child{text-align:left}.gm-stat-row .gm-stat-value:last-child{text-align:right}.gm-stat-label{font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;white-space:nowrap}.gm-period-table{width:100%;margin-bottom:var(--space-4);border-collapse:collapse;font-variant-numeric:tabular-nums}.gm-period-table th,.gm-period-table td{padding:var(--space-2);text-align:center;font-size:var(--text-sm);border-bottom:1px solid var(--border-subtle)}.gm-period-table th{color:var(--text-tertiary);font-weight:600}.gm-period-table td:first-child,.gm-period-table th:first-child{text-align:left;font-weight:700}.gm-faceoffs{display:flex;flex-direction:column;gap:var(--space-1)}.gm-faceoff-row{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--border-subtle);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.gm-faceoff-row:hover{background:var(--surface-sunken)}.gm-faceoff-name{flex:1;min-width:0;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-faceoff-record{font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.gm-faceoff-pct{width:46px;text-align:right;font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.gm-faceoff-pct.is-good{color:var(--positive)}.gm-faceoff-zones{width:92px;text-align:right;font-size:10px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.gm-roster-group{margin-bottom:var(--space-4)}.gm-roster-group h5{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:700;color:var(--accent-text)}.gm-roster-players{display:flex;flex-wrap:wrap;gap:var(--space-2)}.gm-roster-player{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);font-family:inherit;font-size:var(--text-xs);cursor:pointer}.gm-roster-player:hover{border-color:var(--accent);color:var(--text-primary)}.gm-roster-number{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.gm-roster-points{color:var(--positive);font-weight:700}.gm-info{display:flex;flex-direction:column;gap:var(--space-4)}.gm-info-pair{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary)}.gm-info-text{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary)}.gm-info-muted{color:var(--text-tertiary);font-size:var(--text-xs)}.gm-note{margin:0 0 var(--space-3);font-size:var(--text-xs);line-height:1.55;color:var(--text-tertiary)}.gm-scratches{margin-bottom:var(--space-3)}.gm-scratches strong{display:block;margin-bottom:var(--space-2);font-size:var(--text-xs);color:var(--accent-text)}.gm-series{display:flex;flex-direction:column;gap:var(--space-1)}.gm-series-game{display:flex;justify-content:space-between;padding:var(--space-2);background:var(--surface-sunken);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}.sheet-root{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;inset:0;border:none;padding:0;background:#0305089e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:default;animation:sheet-fade var(--duration-base) var(--ease-out)}.sheet-panel{position:relative;display:flex;flex-direction:column;width:100%;max-width:720px;max-height:calc(100dvh - var(--space-6));background:var(--surface-card);border:1px solid var(--border-subtle);border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-sheet);animation:sheet-rise var(--duration-slow) var(--ease-out);overflow:hidden;transition:transform var(--duration-base) var(--ease-out)}.sheet-panel.is-dragging{transition:none}.sheet-panel.is-full{max-height:calc(100dvh - var(--space-5));min-height:82dvh}.sheet-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--sheet-accent),transparent);opacity:.85}.sheet-grip-area{flex-shrink:0;padding:var(--space-3) var(--space-4) var(--space-3);touch-action:none;cursor:grab}.sheet-grip-area:active{cursor:grabbing}.sheet-grip{width:42px;height:4px;margin:0 auto var(--space-3);border-radius:var(--radius-pill);background:var(--border-strong)}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.sheet-titles{min-width:0}.sheet-title{margin:0;font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.sheet-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.sheet-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.sheet-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.sheet-close:hover{color:var(--text-primary);border-color:var(--border-strong)}.sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--space-2) var(--space-4) calc(var(--space-6) + var(--safe-bottom))}@keyframes sheet-rise{0%{transform:translateY(6%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@media(min-width:768px){.sheet-root{align-items:center;padding:var(--space-5)}.sheet-panel{max-height:min(86dvh,900px);border-radius:var(--radius-lg);border-bottom:1px solid var(--border-subtle);animation-name:sheet-pop}.sheet-panel.is-full{min-height:0}.sheet-grip{display:none}.sheet-grip-area{cursor:default;padding-top:var(--space-4)}.sheet-body{padding-bottom:var(--space-5)}@keyframes sheet-pop{0%{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}}
