:root{--bg: #0d0f14;--panel: #161a22;--line: #262c38;--text: #e6e9ef;--muted: #8a93a6;--accent: #c89b3c;--accent-soft: rgb(200 155 60 / .12);--panel-2: #1c212b;--radius: 12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg)}main{max-width:1000px;margin:0 auto;padding:16px 16px 48px}main.wide{max-width:1360px}h1{font-size:1.25rem;margin:0 0 12px}h2{font-size:.95rem;margin:0 0 6px}button{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.6;cursor:default}input{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 10px}.meta,.warn{color:var(--muted);font-size:.85rem;margin:6px 0 12px}.warn{color:#e57373}.player{position:relative;width:100%;background:#000;border-radius:10px;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;color:#fff}.player:focus{outline:none}.player.pseudo-fs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;height:100dvh}.player:fullscreen,.player.pseudo-fs{border-radius:0}.player.idle{cursor:none}.stage{position:relative;width:100%;aspect-ratio:16 / 9;container-type:size}.player:fullscreen .stage,.player.pseudo-fs .stage{height:100%;aspect-ratio:auto}.video-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(100cqw,calc(100cqh * 16 / 9));aspect-ratio:16 / 9;overflow:hidden}.frame{position:absolute;top:0;right:0;bottom:0;left:0;--crop: max(72px, 14cqh)}.frame.cropped{top:calc(-1 * var(--crop));bottom:calc(-1 * var(--crop))}.frame>div,.frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.surface{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#000;font-size:.95rem}.cover.start,.cover.start *{pointer-events:none}.cover.start .tap-block{position:absolute;left:0;right:0;height:25%;pointer-events:auto}.cover .tap-block.top{top:0}.cover .tap-block.bottom{bottom:0}.cover small{color:var(--muted)}.cover .row{display:flex;gap:8px;margin-top:6px}.big-play{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--accent);color:#000;font-size:46px;transition:transform .15s}.big-play svg{margin-left:4px}.big-play.busy{background:var(--panel-2);color:var(--muted)}.big-play.busy:after,.spinner{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:3px solid transparent;border-top-color:var(--accent);animation:spin .8s linear infinite}.spinner{position:relative;inset:auto;width:48px;height:48px}@keyframes spin{to{transform:rotate(360deg)}}.ripple{position:absolute;top:0;bottom:0;z-index:4;width:40%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.8rem;font-weight:600;pointer-events:none;background:#ffffff24;animation:ripple-fade .7s ease-out forwards}.ripple svg{font-size:28px}.ripple.left{left:0;border-radius:0 50% 50% 0}.ripple.right{right:0;border-radius:50% 0 0 50%}@keyframes ripple-fade{0%,60%{opacity:1}to{opacity:0}}.pill{position:absolute;z-index:6;display:flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;background:#000000a6;font-size:.85rem;font-weight:600;pointer-events:none}.pill.top-center{top:10px;left:50%;transform:translate(-50%)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;opacity:0;transition:opacity .2s;background:#00000059}.overlay.shown{opacity:1}.overlay.shown button,.overlay.shown input{pointer-events:auto}.overlay button{color:#fff;background:transparent;border:0;border-radius:999px}.overlay button:hover{background:#ffffff1f}.center-row{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:clamp(20px,9cqw,80px)}.round{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:52px;padding:0;font-size:28px;background:#00000073!important}.round small{font-size:10px;line-height:1;margin-top:-1px}.round.big{width:clamp(58px,10.5cqw,84px);height:clamp(58px,10.5cqw,84px);font-size:clamp(34px,6cqw,48px);background:#0d0f14f0!important}.bottom-bar{position:absolute;left:0;right:0;bottom:0;padding:0 6px 2px;background:linear-gradient(transparent,#0009)}.bottom-bar .row{display:flex;align-items:center;gap:2px}.bottom-bar .spacer{flex:1}.overlay button.icon{display:grid;place-items:center;padding:8px;font-size:24px}.overlay button.text{padding:8px 10px;font-size:.9rem;font-weight:600}.bottom-bar .time{padding:0 6px;font-size:.85rem;font-variant-numeric:tabular-nums}.scrub{width:100%;margin:0;padding:0;accent-color:var(--accent);background:transparent;border:0}.player:fullscreen .round,.player.pseudo-fs .round{width:64px;height:64px;font-size:34px}.player:fullscreen .round.big,.player.pseudo-fs .round.big{width:clamp(64px,7.5cqw,96px);height:clamp(64px,7.5cqw,96px);font-size:clamp(38px,4.4cqw,56px)}a{color:var(--accent);text-decoration:none}.meta{color:var(--muted)}.appbar{position:sticky;top:0;z-index:50;background:#0d0f14d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.appbar-inner{display:flex;align-items:center;justify-content:space-between;max-width:1000px;margin:0 auto;padding:10px 16px}.appbar-inner.wide{max-width:1360px}.brand{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:700;letter-spacing:.01em}.brand small{color:var(--muted);font-weight:400;font-size:.8rem}.brand-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--accent);color:#000;font-size:12px}.appbar-link{color:var(--muted);font-size:.85rem}.appbar-link:hover{color:var(--text)}.crumb{display:block;width:fit-content;margin-bottom:10px;color:var(--muted);font-size:.85rem}.crumb:hover{color:var(--text)}.button,.chip{display:inline-flex;align-items:center;gap:6px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:.9rem;white-space:nowrap;cursor:pointer}.button:hover,.chip:hover{border-color:var(--accent)}.button.primary{background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}.chip{padding:4px 10px;border-radius:999px;font-size:.8rem}.chip span{color:var(--muted)}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.seg button{border:0;border-radius:7px;padding:6px 12px;font-size:.85rem;background:transparent;color:var(--muted)}.seg button.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.league{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--league, var(--muted));background:color-mix(in srgb,var(--league, var(--muted)) 14%,transparent)}.league-worlds{--league: #c89b3c}.league-msi{--league: #b57bff}.league-fs{--league: #ff8a5b}.league-lcs{--league: #4ea1ff}.league-lec{--league: #2ad1c9}.league-lck{--league: #ff5d73}.league-lpl{--league: #ff6b4a}.team-tag{display:inline-flex;align-items:center;gap:8px;min-width:0}.team-tag.right{flex-direction:row-reverse}.team-tag .avatar.logo{background:#2c3442;padding:3px}.team-tag .avatar img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 .6px rgb(255 255 255 / .7)) drop-shadow(0 0 1px rgb(255 255 255 / .25))}.team-tag .avatar{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:hsl(var(--hue, 220) 45% 28%);color:hsl(var(--hue, 220) 80% 88%);font-size:.68rem;font-weight:800;letter-spacing:.02em}.team-tag .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-tag.tbd .avatar{background:var(--panel-2);color:var(--muted);border:1px dashed var(--line)}.team-tag.revealed .name{text-decoration:underline dotted color-mix(in srgb,var(--accent) 60%,transparent);text-underline-offset:4px}.team-tag.tbd .name{color:var(--muted);font-weight:500;font-size:.85em}.continue{margin-top:20px;display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:24px;color:var(--text);background:linear-gradient(120deg,var(--accent-soft),transparent 70%),var(--panel);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:var(--radius)}.continue:hover{border-color:var(--accent)}.continue-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#000}.continue-text{display:flex;flex-direction:column;gap:1px;min-width:0}.continue-text small{color:var(--accent);font-size:.75rem;font-weight:600}.continue-text span{color:var(--muted);font-size:.85rem}.section-title{margin:20px 0 10px;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.event-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.event-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;height:100%;padding:16px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .15s,transform .15s}.event-card:hover{border-color:var(--accent);transform:translateY(-1px)}.event-card strong{font-size:1.05rem}.event-sub{color:var(--text);opacity:.8;font-size:.9rem}.event-meta{margin-top:auto;padding-top:6px;color:var(--muted);font-size:.8rem}.event-header{padding:18px 0 8px}.event-header h1{margin:8px 0 2px;font-size:clamp(1.4rem,3.5vw,1.9rem)}.event-header .event-sub,.event-header .meta{margin:0}.format{margin-top:10px;font-size:.85rem;color:var(--muted)}.format summary{cursor:pointer;width:fit-content}.format p{max-width:70ch;margin:6px 0 0;line-height:1.5}.day-nav{position:sticky;top:47px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px -16px 16px;padding:10px 16px;background:#0d0f14eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.day-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;max-width:100%}.day-chips::-webkit-scrollbar{display:none}.day-chips .chip{flex:none}.day{margin-bottom:28px;scroll-margin-top:110px}.day-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:10px}.day-head h2{margin:0;font-size:1.1rem}.day-head .meta{margin:2px 0 0;font-size:.85rem}.stage-label{margin-right:8px;color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;vertical-align:2px}.round-block h3{margin:12px 0 8px;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.series-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.series{position:relative;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.series .teams{display:flex;flex-direction:column;gap:6px;min-width:0}.series .team-tag{max-width:100%}.series.bo1{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.series.is-current{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.series.finished .teams{opacity:.7}.vs{color:var(--muted);font-size:.75rem;font-weight:500}.play{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--accent);font-size:1.2rem}.play:hover{background:var(--accent);color:#000}.games{display:grid;grid-template-columns:auto repeat(var(--bo, 3),minmax(0,1fr));align-items:center;gap:6px;margin-top:12px}.games-label{padding-right:4px;color:var(--muted);font-size:.65rem;font-weight:700;letter-spacing:.06em}.game{position:relative;padding:8px 0;text-align:center;white-space:nowrap;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;font-size:.85rem;overflow:hidden}.game:hover,.game.current{border-color:var(--accent);background:var(--accent-soft)}.game.done:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent)}.watched-badge{position:absolute;top:-9px;right:12px;z-index:1;display:inline-flex;align-items:center;gap:3px;padding:2px 8px 2px 6px;border-radius:999px;background:var(--accent);color:#000;font-size:.68rem;font-weight:700;letter-spacing:.02em}.watched-badge svg{font-size:.8rem}.watch-layout{display:grid;gap:20px;padding-top:12px}@media(min-width:1000px){.watch-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.watch-aside{position:sticky;top:64px;max-height:calc(100dvh - 80px);overflow-y:auto}}.watch-header{margin-bottom:10px}.watch-title{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.watch-title h1{display:flex;align-items:center;gap:12px;margin:0;font-size:clamp(1.1rem,3vw,1.5rem)}.watch-title .team-tag .avatar{width:36px;height:36px;font-size:.75rem}.watch-header .meta{margin:6px 0 0;font-size:.85rem}.watch-main .player{margin-bottom:12px}.game-tabs{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid var(--line)}.game-tabs a{flex:1;min-width:0;padding:9px 0;margin-bottom:-1px;text-align:center;white-space:nowrap;color:var(--muted);border-bottom:2px solid transparent;font-size:.9rem}.game-tabs a:hover{color:var(--text)}.game-tabs a.active{color:var(--text);border-bottom-color:var(--accent)}.watch-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.watch-bar .spacer{flex:1}.inline-opt{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted)}.watch-aside h2{margin:0 0 4px;font-size:.95rem}.watch-aside h2 small{color:var(--muted);font-weight:400}.watch-aside .series{margin-bottom:8px}.not-played{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:16 / 9;margin-bottom:12px;background:#000;border-radius:10px;color:var(--muted)}.not-played strong{color:var(--text)}.switch{display:inline-flex;align-items:center;gap:8px;padding:4px 2px;border:0;background:transparent;color:var(--muted);font-size:.85rem}.switch:hover{color:var(--text)}.switch-track{position:relative;width:34px;height:20px;border-radius:999px;background:var(--line);transition:background .15s}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text);transition:transform .15s}.switch.on{color:var(--text)}.switch.on .switch-track{background:var(--accent)}.switch.on .switch-thumb{transform:translate(14px);background:#000}button.team-tag{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}button.team-tag.right{text-align:right}button.team-tag:hover .avatar{border-color:var(--accent);color:var(--accent)}.team-tag .name.ph small{margin-right:4px;color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.series.flash{animation:series-flash 1.6s ease-out}@keyframes series-flash{0%,30%{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}to{border-color:var(--line);box-shadow:none}}.team-tag .avatar.pair{position:relative;border-style:solid;background:var(--panel-2)}.team-tag .avatar.pair img{position:absolute;width:60%;height:60%;object-fit:contain;filter:drop-shadow(0 0 .6px rgb(255 255 255 / .7))}.team-tag .avatar.pair img:first-child{top:8%;left:8%}.team-tag .avatar.pair img:last-child{right:8%;bottom:8%}.game-tabs a.done:after{content:" ✓";color:var(--accent)}.series .team-tag .name{font-size:.98rem;font-weight:700}.series .team-tag.tbd .avatar{width:26px;height:26px;margin:2px}.series .team-tag.tbd .name{font-size:.85rem;font-weight:500;color:#a3abbb}.icon-link{display:grid;place-items:center;font-size:20px}.settings{max-width:680px}.setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.setting strong{font-size:.95rem}.setting p{margin:3px 0 0;color:var(--muted);font-size:.85rem;line-height:1.4}.setting>:last-child{flex:none}
