*{box-sizing:border-box}:root{font-family:Inter,system-ui,sans-serif;background-color:#020617;color:#e2e8f0;line-height:1.5;font-weight:400}body{margin:0;min-height:100vh;background-color:#020617}button{font-family:inherit}.app{max-width:1100px;margin:0 auto;padding:32px 20px 80px;display:flex;flex-direction:column;gap:24px;color:#e2e8f0;min-height:100vh}.app__header{display:flex;flex-direction:column;gap:8px}.app__header--centered{align-items:center;text-align:center}.app__counter{font-size:1rem;color:#94a3b8;letter-spacing:.08em}.app__counter--big{font-size:2.5rem;font-weight:700;color:#e2e8f0;letter-spacing:.04em;display:flex;flex-direction:column;align-items:center}.app__counter--with-nav{flex-direction:row;gap:16px}.app__counter-value{display:flex;flex-direction:column;align-items:center}.app__counter-value--correct{color:#4ade80}.app__counter-value--partial{color:#facc15}.app__counter-value--wrong{color:#f87171}.app__counter-nav{background:transparent;border:1px solid rgba(148,163,184,.35);color:#e2e8f0b3;width:32px;height:32px;border-radius:999px;font-size:.9rem;cursor:pointer;transition:border-color .2s ease,color .2s ease,transform .2s ease}.app__counter-nav:disabled{opacity:.35;cursor:not-allowed}.app__counter-nav:not(:disabled):hover{border-color:#e2e8f0d9;color:#e2e8f0f2;transform:translateY(-1px)}.app__hint-count{font-size:.75rem;color:#94a3b8a6;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}.app__date{font-size:1.05rem;color:#94a3b8;letter-spacing:.12em}.app__date--complete{color:#4ade80}.app__date--with-nav{display:inline-flex;align-items:center;gap:10px}.app__date-nav{background:transparent;border:1px solid rgba(148,163,184,.4);color:#e2e8f0b3;width:26px;height:26px;border-radius:999px;font-size:.75rem;cursor:pointer;transition:border-color .2s ease,color .2s ease,transform .2s ease}.app__date-nav:disabled{opacity:.35;cursor:not-allowed}.app__date-nav:not(:disabled):hover{border-color:#e2e8f0cc;color:#e2e8f0e6;transform:translateY(-1px)}.app__header h1{margin:0;font-size:2.5rem}.card{background:#0f172a;border:1px solid #1e293b;padding:20px;border-radius:12px;display:flex;flex-direction:column;gap:12px}.card button,.run__header button,.results button{padding:10px 16px;border-radius:8px;border:1px solid #1e293b;background:#1f2937;color:#e2e8f0;cursor:pointer}.run{display:flex;flex-direction:column;gap:16px}.run__header{display:none}.run__matches{display:flex;flex-direction:column;gap:16px}.run__match-card{animation-duration:.5s;animation-timing-function:ease}.run__match-card--slide-next{animation-name:slideInNext}.run__match-card--slide-prev{animation-name:slideInPrev}@keyframes slideInNext{0%{transform:translate(28px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInPrev{0%{transform:translate(-28px);opacity:0}to{transform:translate(0);opacity:1}}.run__summary{display:flex;justify-content:center}.run__summary button{padding:10px 18px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172a99;color:#e2e8f0d9;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.run__summary button:hover{border-color:#e2e8f0cc;color:#e2e8f0;background:#1e293bcc}.run__nav{display:flex;justify-content:center}.run__nav-button{border:1px solid rgba(148,163,184,.35);background:#0f172a99;color:#e2e8f0cc;width:44px;height:44px;border-radius:999px;font-size:1.4rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.run__nav-button:hover{border-color:#e2e8f0cc;color:#e2e8f0;background:#1e293bcc}.results{display:flex;flex-direction:column;gap:16px}.results__countdown{font-size:.9rem;color:#94a3b8cc;text-align:left}.app__footer{margin-top:auto;text-align:center;font-size:.8rem;color:#94a3b899}.app__footer a{color:#94a3b8cc;text-decoration:none}.app__footer a:hover{color:#e2e8f0e6;text-decoration:underline}.error{color:#f87171;font-size:.9rem}.match-card__footer{display:flex;flex-direction:column;gap:8px;margin-top:auto}.match-card{border:1px solid #2d3748;border-radius:12px;padding:16px;background:#0f172a;color:#e2e8f0;display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 40px #0f172a59;position:relative}.match-card__header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.match-card__title{font-weight:600}.match-card__header-score{flex:1;text-align:center;font-size:.75rem;color:#94a3b8;letter-spacing:.08em;text-transform:uppercase}.match-card__rank-tooltip{text-decoration:underline dotted rgba(148,163,184,.7);text-underline-offset:4px;cursor:help}.match-card__meta{display:flex;align-items:center;gap:12px}.match-card__rank{font-size:.85rem;color:#cbd5f5}.match-card__region{font-size:.8rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.match-card__rank-value{font-weight:700;color:#e2e8f0}.match-card__teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;background:#0b1220;border:1px solid #1e293b;border-radius:12px;padding:16px}.match-card__team-name{font-size:.9rem;margin-bottom:8px;color:#94a3b8;letter-spacing:.08em;text-transform:uppercase}.match-card__heroes{display:grid;grid-template-columns:repeat(5,minmax(52px,1fr));gap:8px;justify-items:center;align-items:center}.hero-card{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.hero-name{font-size:clamp(.38rem,.7vw,.52rem);color:#e2e8f0b3;text-transform:uppercase;letter-spacing:.06em;text-align:center;max-width:72px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-lane{font-size:.6rem;color:#94a3b8b3;text-transform:uppercase;letter-spacing:.06em;text-align:center;display:flex;flex-direction:column;gap:2px}.hero-level{font-size:.55rem;color:#e2e8f0bf;text-transform:none}.hero-kda{font-size:.6rem;color:#e2e8f0e6;text-transform:none;font-weight:700}.hero-kda--target{text-decoration:underline;text-decoration-color:#38bdf88c;text-underline-offset:2px}.hero-networth{font-size:.5rem;color:#f5cd48e6;text-transform:none;margin-top:-2px;text-align:center}.hero-networth--target{text-decoration:underline;text-decoration-color:#38bdf88c;text-underline-offset:2px}.hero-networth__value{display:block;text-align:center}.hero-items{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);display:grid;grid-template-columns:repeat(3,1fr);gap:4px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:2;width:90px;justify-items:center}.hero-items img{width:28px;height:20px;border-radius:4px;border:1px solid rgba(30,41,59,.6);background:transparent}.hero-level{display:block;text-align:center;font-size:.5rem;color:#94a3b8b3;margin-top:0;line-height:1.05}.hero-level--target{text-decoration:underline;text-decoration-color:#38bdf88c;text-underline-offset:2px}.hero-card:hover .hero-items{opacity:1}.match-card__heroes img{width:100%;max-width:72px;aspect-ratio:16 / 9;border-radius:6px;object-fit:cover;border:1px solid #1e293b;box-shadow:0 6px 12px #02061766}.match-card__heroes img.hero{transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.match-card__heroes img.hero--killer{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf899,0 0 16px #38bdf899;transform:translateY(-2px)}.match-card__heroes img.hero--victim{border-color:#f87171;box-shadow:0 0 0 2px #f8717199,0 0 16px #f8717199;transform:translateY(2px)}.match-card__team{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;transition:transform .25s ease;position:relative;padding:8px;border-radius:12px}.match-card__team--radiant .match-card__team-name{color:#a7f3d0}.match-card__team--dire .match-card__team-name{color:#fecaca}.match-card__team--winner{transform:scale(1.05)}.match-card__team--winner:before{content:"";position:absolute;inset:-6px;border-radius:14px;background:radial-gradient(circle,#22c55e40,#22c55e00);opacity:.8;z-index:0}.match-card__team--winner.match-card__team--dire:before{background:radial-gradient(circle,#ef44444d,#ef444400)}.match-card__team--winner>*{position:relative;z-index:1}.match-card__team--winner .match-card__team-name{font-size:1rem;text-shadow:0 0 10px rgba(226,232,240,.35)}.match-card__team--winner .match-card__heroes img{transform:scale(1.05)}.match-card__vs{font-size:1.5rem;font-weight:700;padding:8px 12px;border-radius:999px;background:radial-gradient(circle,#1e40af99,#0f172ae6);border:1px solid #334155;color:#e2e8f0;text-transform:uppercase;letter-spacing:.2em}.match-card__center{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:160px;text-align:center}.match-card__hint-pill{padding:6px 12px;border-radius:999px;background:#111827;border:1px solid #1e293b;color:#cbd5f5;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.match-card__hint-pill--reveal{border-color:#38bdf8;box-shadow:0 0 18px #38bdf873;transform:translateY(-2px) scale(1.02)}.match-card__hint-value{font-weight:700;color:#e2e8f0}.match-card__scoreline{font-size:1.2rem;font-weight:600;color:#e2e8f0;letter-spacing:.15em;text-transform:uppercase;display:grid;grid-template-columns:minmax(24px,1fr) auto minmax(24px,1fr);align-items:center;gap:10px;transition:transform .3s ease,text-shadow .3s ease,color .3s ease;opacity:.85;width:100%;justify-items:center}.match-card__scoreline--reveal{transform:scale(1.08);text-shadow:0 0 14px rgba(56,189,248,.35);opacity:1}.match-card__score{font-size:1.4rem;font-weight:800;letter-spacing:.05em;min-width:28px;text-align:center}.match-card__score--placeholder{color:#94a3b8;font-weight:600}.match-card__score--radiant{color:#a7f3d0}.match-card__score--dire{color:#fecaca}.match-card__score-duration{color:#94a3b8;font-weight:700;font-size:.85rem;letter-spacing:.12em;transition:transform .2s ease,color .2s ease;min-width:52px;text-align:center}.match-card__score-duration--reveal{color:#e2e8f0;transform:translateY(-1px)}.match-card__networth{font-size:.7rem;color:#f5cd48d9;letter-spacing:.2em;text-transform:uppercase}.match-card__firstblood{font-size:.85rem;color:#94a3b8bf;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.match-card__firsttower{font-size:.6rem;color:#94a3b8a6;text-transform:uppercase;letter-spacing:.08em;margin-top:2px;line-height:1.2;max-width:160px}.match-card__kda-hint,.match-card__networth-hint{font-size:.6rem;color:#94a3b899;text-transform:uppercase;letter-spacing:.06em;line-height:1.2;text-align:center;max-width:200px}.match-card__actions{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px;justify-items:center}.match-card__actions button{padding:10px 12px;min-width:140px;border-radius:8px;border:1px solid #1e293b;background:#111827;color:#e2e8f0;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}.match-card__actions button:disabled{opacity:.5;cursor:not-allowed}.match-card__actions button.active{border-color:#38bdf8;background:#0c4a6e}.match-card__actions button.match-card__button--correct{border-color:#22c55e;background:#22c55e33;color:#bbf7d0}.match-card__actions button.match-card__button--wrong{border-color:#f87171;background:#f8717133;color:#fecaca}.match-card__actions button.match-card__button--glow-radiant{position:relative;overflow:hidden;box-shadow:0 0 10px #22c55e2e}.match-card__actions button.match-card__button--glow-dire{position:relative;overflow:hidden;box-shadow:0 0 10px #ef44442e}.match-card__actions button.match-card__button--glow-radiant:before,.match-card__actions button.match-card__button--glow-dire:before{content:"";position:absolute;inset:-80% -20%;filter:blur(10px);opacity:.5;animation:actionGlow 3.5s ease-in-out infinite}.match-card__actions button.match-card__button--glow-radiant:before{background:radial-gradient(circle,#22c55e40,#22c55e00)}.match-card__actions button.match-card__button--glow-dire:before{background:radial-gradient(circle,#ef444440,#ef444400)}.match-card__actions button.match-card__button--glow-radiant:after,.match-card__actions button.match-card__button--glow-dire:after{content:"";position:absolute;inset:-10px -40px;border-radius:10px;opacity:.35;animation:actionSweep 4s linear infinite}.match-card__actions button.match-card__button--glow-radiant:after{background:linear-gradient(120deg,transparent,rgba(34,197,94,.22),transparent)}.match-card__actions button.match-card__button--glow-dire:after{background:linear-gradient(120deg,transparent,rgba(239,68,68,.22),transparent)}@keyframes actionGlow{0%,to{transform:translate(-10%,-10%)}50%{transform:translate(10%,10%)}}@keyframes actionSweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}.match-card__result{text-align:center;font-size:.9rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.match-card__result--reveal{color:#e2e8f0;text-align:center;font-size:.85rem;letter-spacing:.2em;position:relative;padding:6px 0;overflow:hidden}.match-card__result--radiant{color:#22c55ed9}.match-card__result--dire{color:#ef4444d9}.match-card__result--reveal:before,.match-card__result--reveal:after{content:none}.match-card__hint-action{display:flex;justify-content:center}.match-card__hint-action button{padding:10px 16px;border-radius:999px;border:1px solid #1e293b;background:#1f2937;color:#e2e8f0;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;position:relative;overflow:hidden}.match-card__hint-action button:disabled{opacity:.5;cursor:not-allowed}.match-card__hint-action button:before{content:"";position:absolute;inset:-60% -20%;background:radial-gradient(circle,#38bdf840,#38bdf800);filter:blur(8px);opacity:.6;animation:hintGlow 3.5s ease-in-out infinite}.match-card__hint-action button:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,transparent,rgba(56,189,248,.2),transparent);opacity:.4;animation:hintSweep 4s linear infinite}@keyframes hintGlow{0%,to{transform:translate(-10%,-10%)}50%{transform:translate(10%,10%)}}@keyframes hintSweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}.match-card__hints{display:block;font-size:.9rem;color:#cbd5f5b3;text-align:center;margin-bottom:4px}.match-card__hint-item{color:#cbd5f5b3;transition:color .24s ease,text-shadow .24s ease}.match-card__hint-block{display:inline-flex;flex-direction:column;align-items:center;position:relative}.match-card__hint-next{font-size:.55rem;color:#38bdf8;text-transform:uppercase;letter-spacing:.12em;position:absolute;top:calc(100% - 2px);left:50%;transform:translate(-50%);text-shadow:0 0 6px rgba(56,189,248,.6);pointer-events:none}.match-card__hint-item--auto{color:#22c55e;font-weight:700;text-shadow:0 0 8px rgba(34,197,94,.55)}.match-card__hint-item--manual{color:#38bdf8;font-weight:700;text-shadow:0 0 8px rgba(56,189,248,.65)}.match-card__hint-sep{color:#cbd5f58c}.match-card__hint-sep--next{color:#38bdf8;text-shadow:0 0 6px rgba(56,189,248,.6)}.match-card__match-id{position:static;margin-top:8px;text-align:left;font-size:.65rem;color:#e2e8f059;letter-spacing:.08em}.match-card__chat-panel{background:#0a0f1ecc;border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.match-card__chat-title{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8}.match-card__chat-entries{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto}.match-card__chat-entry{display:grid;grid-template-columns:52px 140px 1fr;gap:10px;font-size:.85rem;color:#e2e8f0}.match-card__chat-entry--blur{filter:blur(6px);opacity:.4;-webkit-user-select:none;user-select:none}.match-card__chat-time{color:#94a3b8;font-variant-numeric:tabular-nums}.match-card__chat-name{color:#e2e8f0;font-weight:600;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.match-card__chat-message{color:#e2e8f0;word-break:break-word}@media(max-width:420px){.match-card__teams{grid-template-columns:1fr;gap:12px;padding:12px}.match-card__team{padding:4px}.match-card__center{min-width:auto;gap:8px}.match-card__scoreline{font-size:1.05rem;letter-spacing:.08em;gap:6px}.match-card__scoreline--reveal{transform:none}.match-card__score{min-width:22px}.match-card__score-duration{min-width:42px;font-size:.75rem}.match-card__heroes{grid-template-columns:repeat(5,minmax(44px,1fr));gap:6px}.match-card__heroes img,.hero-name{max-width:56px}.hero-items{width:78px}.match-card__team--winner{transform:none}.match-card__actions{grid-template-columns:1fr}.match-card__actions button{min-width:0;width:100%}}.results-grid{background:#0f172a;border:1px solid #1e293b;border-radius:12px;padding:20px;color:#e2e8f0;display:flex;flex-direction:column;gap:16px}.results-grid__score{font-size:1.2rem;font-weight:600}.results-grid__average{font-size:.95rem;color:#cbd5f5}.results-grid__rounds{display:flex;flex-direction:column;gap:16px}.results-round{border:1px solid #1e293b;background:#0b1220;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.results-round--correct{background:#14532d59;border-color:#22c55e73}.results-round--incorrect{background:#7f1d1d59;border-color:#f8717173}.results-round__meta{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.85rem;color:#cbd5f5}.results-round__teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.results-round__team-block{display:flex;flex-direction:column;align-items:center;gap:6px}.results-round__team{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;border-radius:10px;border:1px solid transparent;background:#02061773}.results-round__team--winner.results-round__team--radiant{border-color:#22c55eb3;box-shadow:0 0 18px #22c55e33}.results-round__team--winner.results-round__team--dire{border-color:#ef4444b3;box-shadow:0 0 18px #ef444433}.results-round__team-name{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:#94a3b8;margin-bottom:2px}.results-round__team-name--radiant{color:#a7f3d0}.results-round__team-name--dire{color:#fecaca}.results-round__heroes{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.results-round__heroes img{width:56px;aspect-ratio:16 / 9;border-radius:6px;object-fit:cover;border:1px solid #1e293b;box-shadow:0 6px 12px #02061759}.results-round__vs{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:#94a3b8}@media(max-width:520px){.results-round__teams{grid-template-columns:1fr}.results-round__vs{display:none}}
