*{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;-webkit-backdrop-filter:blur(10px);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)}.search-results{position:absolute;top:110%;left:0;right:0;background:#1a1a1a;border:1px solid #444;border-radius:15px;max-height:250px;overflow-y:auto;z-index:1000;box-shadow:0 10px 25px #0009;display:none}.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);-webkit-backdrop-filter:blur(5px);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;-webkit-backdrop-filter:blur(5px);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}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;height:65px;background:#0f0f0ff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;justify-content:space-around;align-items:center;border-top:1px solid #333;z-index:2000;padding-bottom:env(safe-area-inset-bottom)}.nav-item{background:none;border:none;color:#666;display:flex;flex-direction:column;align-items:center;justify-content:center;width:25%;height:100%;cursor:pointer;transition:color .2s,transform .2s;padding:0}.nav-item:hover{color:#aaa}.nav-item.active{color:#00d4ff;transform:translateY(-2px)}.nav-icon{font-size:1.5rem;margin-bottom:3px;filter:grayscale(1)}.nav-item.active .nav-icon{filter:grayscale(0)}.nav-label{font-size:.7rem;font-family:Roboto,sans-serif;font-weight:700;letter-spacing:1px}.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: #0a0a0a;--bg-card: linear-gradient(145deg, #1a1a1a, #222);--bg-nav: rgba(15, 15, 15, .95);--text-main: #ffffff;--text-muted: #888888;--border-color: #333333;--accent-blue: #00d4ff;--radius-card: 16px;--radius-btn: 30px;--shadow-main: 0 8px 24px rgba(0, 0, 0, .6)}[data-theme=light]{--bg-main: #f0f4f8;--bg-card: linear-gradient(145deg, #ffffff, #f9fbfd);--bg-nav: rgba(255, 255, 255, .95);--text-main: #1a1a1a;--text-muted: #555555;--border-color: #d1dae3;--accent-blue: #007a99;--shadow-main: 0 8px 24px rgba(0, 100, 150, .08)}body{background-color:var(--bg-main)!important;color:var(--text-main)!important;transition:background-color .3s ease,color .3s ease}.header-bar,.bottom-nav{background:var(--bg-nav)!important;border-color:var(--border-color)!important;transition:background .3s ease}.game-card,.finn-card,.porssi-btn,.modal-content{background:var(--bg-card)!important;border-color:var(--border-color)!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-main)!important;color:var(--text-main)!important}h2,.finn-name,.compact-name,.compact-score,.finn-stat-val{color:var(--text-main)!important}#txt-standings-title,#txt-schedule-title,#txt-finns-title,.logo-area h1{color:var(--accent-blue)!important}.sched-filter-btn{border-radius:var(--radius-btn)!important;background:var(--bg-main)!important;border-color:var(--border-color)!important;color:var(--text-muted)!important}.sched-filter-btn.active{background:var(--accent-blue)!important;color:#fff!important;border-color:var(--accent-blue)!important}.finn-stat-item{background:var(--bg-main)!important;color:var(--text-muted)!important}.top-icon-btn,.nav-item{color:var(--text-muted)!important}.nav-item.active{color:var(--accent-blue)!important}.tekstitv-container,.tekstitv-screen{background:#0a0a0a!important;color:#fff!important}.tekstitv-container{border-color:#00d4ff66!important;border-radius:12px!important}.sched-card,.standings-table-container{background:linear-gradient(145deg,#1a1a1a,#222)!important;border-color:#333!important;border-radius:var(--radius-card)!important;box-shadow:0 4px 15px #00000080!important}.sched-team-name,.sched-stats,.sched-date{color:#fff!important}.standings-table-container th{color:#aaa!important;border-bottom:1px solid #444!important}.standings-table-container td{color:#ddd!important}.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}@keyframes spin{to{transform:rotate(360deg)}}.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;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .2s}.modal-overlay .modal-content{margin:0;width:95%;max-width:500px;max-height:85vh}.liiga-modal{border-color:#f60!important;box-shadow:0 0 30px #ff660026!important}.liiga-text-orange{color:#f60!important}.modal-content,.standings-table-container,.season-table-container,.tekstitv-screen{overscroll-behavior:contain}
