html,body{margin:0;padding:0;height:100%;background-color:#1e1e1e}#root{min-height:100vh;background-color:#1e1e1e}.homeSplashContainer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.splashQuadrant{position:absolute;width:51%;height:51%;overflow:hidden}.topLeft{top:0;left:0}.topRight{top:0;right:0}.bottomLeft{bottom:0;left:0}.bottomRight{bottom:0;right:0}.floatingSplash{position:absolute;width:120%;height:120%;top:-10%;left:-10%}.homeSplashImage{width:100%;height:100%;object-fit:cover}.frontPageContainer{position:relative;min-height:100vh;display:flex;flex-direction:column;background-color:#fff;align-items:stretch}.frontPageContent{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:1.5rem;flex:1 0 auto;padding-top:12%}.heroWrapper{background-color:#0009;padding:30px 40px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:720px;position:relative}.otsikko{font-family:Arial,sans-serif;color:#fff;font-size:clamp(1.6rem,4vw,2rem);margin:0;text-align:center;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.heroSubtitle{font-family:Arial,sans-serif;color:#fff;font-size:clamp(1.2rem,3vw,1.4rem);margin:0;text-align:center}.summonerHakuWrapper{width:100%;max-width:480px}.summonerHaku{display:flex;gap:8px;width:100%}.summonerHaku input,.summonerHaku select,.summonerHaku button{font-size:1rem;padding:10px 12px;border-radius:8px;border:1px solid #ccc}.summonerHaku input{flex:1;min-width:0}.summonerHaku select{cursor:pointer;background-color:#fff}.summonerHaku button{border:none;background-color:#007aff;color:#fff;cursor:pointer;transition:background-color .2s ease}.summonerHaku button:hover:not(:disabled){background-color:#005fcc}.summonerHaku button:disabled{background-color:#a0c4ff;cursor:not-allowed}.app-footer{width:100%;margin-top:auto;padding:.5rem 0;background-color:#f9f9f9;text-align:center;position:relative;z-index:10;flex-shrink:0}.footer-main{margin-right:3rem;font-weight:700}.footer-disclaimer{font-size:.85rem;color:#333}@media(max-width:480px){.heroWrapper{width:75%;margin:0 auto;padding:16px 20px;gap:.6rem}.otsikko{font-size:clamp(1.2rem,6vw,1.6rem);text-align:center}.heroSubtitle{font-size:clamp(1rem,4vw,1.2rem);text-align:center}.summonerHakuWrapper{display:flex;flex-direction:column;gap:8px;width:90%;margin:0 auto}.summonerHakuWrapper input,.summonerHakuWrapper select,.summonerHakuWrapper button{width:100%;box-sizing:border-box}.frontPageContent{padding-top:15%}.app-footer{font-size:.8rem;line-height:1.4;padding:1rem;text-align:center}}.matchRow{display:flex;align-items:center;gap:12px;margin-bottom:.5rem;padding:10px;border-radius:4px;cursor:pointer;transition:background .3s;max-height:92px}.matchRow.win{background:#4b87e673}.matchRow.loss{background:#59343ba6}.matchInfo{display:flex;flex-direction:column;gap:20px;width:100px;color:#fff;font-weight:700;font-size:.7rem}.topInfo,.bottomInfo{display:flex;flex-direction:column;gap:1px}.championIcon{width:50px;height:50px;border-radius:4px;border:1px solid #555;margin-bottom:25px}.basicInfo{display:flex;flex-direction:column;gap:4px}.row{display:flex;align-items:center;gap:6px}.spells{display:flex;flex-direction:column;justify-content:space-between;height:50px;margin-top:8px}.spells img{width:24px;height:24px}.items{display:flex;gap:2px;margin-left:-62px}.items img{width:28px;height:28px}.kda{display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:#fff;font-family:Arial,sans-serif;font-weight:700;font-size:17px;padding-top:9px}.kda .kdaNumbers{color:#fff;font-weight:700}.kda .deaths{color:#d9534f}.kda .kdaRatio{color:gold;font-weight:700;font-size:.85rem}.spellsAndRunes{display:flex;align-items:center;gap:4px}.runes{display:flex;flex-direction:column;gap:2px;padding-top:7px}.primaryRune{width:24px;height:24px}.secondaryRune{width:16px;height:16px;opacity:.9;padding-left:4px}.teamsRight{margin-left:auto;display:flex;gap:16px}.team{position:relative;height:100px;width:120px;overflow:visible;right:80px}.teamPlayer{position:absolute;display:flex;align-items:center;gap:6px}.teamChampIcon{width:20px;height:20px;border-radius:50%;border:1px solid #222}.teamPlayerName{font-size:.65rem;color:#fff;white-space:nowrap;opacity:.9}.history{position:absolute;bottom:35px;right:10px;width:900px;max-height:550px;min-height:500px;padding:12px;background-color:#000000c7;border-radius:8px;overflow-y:auto;color:#fff;font-family:Arial,sans-serif;display:flex;flex-direction:column;gap:8px}.history h2{font-family:Arial,sans-serif}.queueSelector{margin-bottom:10px}.queueSelector button{margin-right:5px;padding:6px 12px;border-radius:4px;cursor:pointer;background:#2c2c3f;color:#fff;border:none;transition:.2s}.queueSelector button.active,.queueSelector button:hover{background:#50506a}.matchesList{display:flex;flex-direction:column;gap:6px}.error{color:#f44336}.displayRanks{position:absolute;left:3%;top:36.3%;width:560px;height:550;padding:20px;box-sizing:border-box;display:flex;flex-direction:column;background:#000000c7;border-radius:8px;color:#fff}.displayRanks>h1{margin-top:0;margin-bottom:16px;font-size:1.4rem;text-align:center;font-family:Arial,sans-serif}.rankEntry{position:relative;margin-bottom:28px;padding-left:140px;min-height:120px}.rankIcon{position:absolute;right:69%;top:-75%;width:260px;height:260px;object-fit:contain;pointer-events:none}.rankTextWrapper{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%}.rankText{display:block;font-family:Arial,sans-serif;margin-left:-55px;width:260px;margin-top:10px}.rankText h2{margin:0;font-size:1.1rem;font-weight:600}.rankText p{margin:6px 0 0;font-size:.95rem;line-height:1.3}.winrate{display:inline}.rankStats{position:absolute;font-size:.95rem;opacity:.9;width:145px;font-family:Arial,sans-serif;margin-top:65px;right:5px}.rankStats div{margin-bottom:2px}.rankExtrasContainer{margin-top:12px;display:flex;flex-direction:column;gap:8px}.queueSelector button{margin-top:8px;padding:4px 8px;font-size:.85rem;border-radius:6px;border:none;cursor:pointer;background-color:#fff3;color:#fff}.last10{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.last10 span{display:inline-block;margin-right:8px}.last10 .win{color:#4b87e6;font-weight:700}.last10 .loss{color:red;font-weight:700}.newestIndicator{font-size:.7rem;color:#fff;margin-left:4px}.last30Winrate{display:flex;align-items:center;gap:10px;margin-top:8px}.champBox{position:absolute;top:7%;right:35px;height:250px;width:900px;text-align:center;color:#fff;background-color:#000000c7;border-radius:8px}.profilePageContainer{height:100vh;width:100%;overflow:hidden;position:relative}.profileHeader{width:100%;height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.profileIcon{width:60px;height:60px;border-radius:50%;border:2px solid white;object-fit:cover}.riotIdContainer{position:absolute;left:10%;top:20%;background-color:#000c;padding:10px 20px;border-radius:8px}.riotIdContainer h1{margin:0;font-size:2rem;font-weight:700;color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,.5)}.riotIdContainer p{position:absolute;top:25%;left:40%;color:#fff;font-family:Arial,sans-serif;font-size:1.2rem;margin:0}.profileContent{position:absolute;top:0;width:100%;height:100%;overflow-y:auto;padding:2rem;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}html,body{height:100%;margin:0}
