@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Unbounded:wght@500;600&display=swap');

:root { --bg:#061525; --panel:#0a2138; --panel-bright:#0d2b49; --text:#f3f8fc; --muted:#91a9bd; --accent:#138ed1; --cyan:#42d7d0; --line:rgba(118,195,235,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; padding-bottom:42px; color:var(--text); background:radial-gradient(circle at 88% 0,rgba(13,118,180,.2),transparent 34rem),linear-gradient(135deg,#04111f 0%,#061525 56%,#071b2d 100%); font-family:Manrope,Arial,sans-serif; line-height:1.6; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { height:84px; max-width:1440px; margin:auto; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:10; }
.logo { font:600 1.15rem Unbounded,sans-serif; letter-spacing:-.04em; }
.logo span { color:var(--cyan); }
nav { display:flex; align-items:center; gap:2.2rem; font-size:.84rem; }
nav a { color:#c8ced5; transition:.2s; }
nav a:hover { color:var(--text); }
.nav-accent { border:1px solid var(--line); border-radius:100px; padding:.65rem 1.1rem; }
.menu-button { display:none; background:none; border:0; padding:8px; }
.menu-button span:not(.sr-only) { display:block; width:24px; height:1px; background:white; margin:6px; }
.profile-header { max-width:1240px; min-height:112px; margin:auto; padding:1.1rem 0; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.header-tools { display:flex; align-items:center; gap:1rem; }
.profile-brand { display:flex; align-items:center; gap:1rem; min-width:250px; }
.profile-brand img { width:58px; height:58px; filter:drop-shadow(0 0 18px rgba(66,215,208,.22)); }
.profile-brand strong { display:block; font:600 clamp(1.55rem,2.5vw,2.25rem)/1.15 Unbounded,sans-serif; letter-spacing:-.055em; }
.profile-brand small { display:block; margin-top:.3rem; color:var(--muted); font-size:.8rem; }
.quick-links { display:flex; align-items:center; gap:.75rem; }
.quick-link { position:relative; width:64px; height:58px; display:grid; place-items:center; border:1px solid rgba(27,185,242,.58); border-radius:15px; color:#10c4ef; background:rgba(8,35,57,.62); transition:transform .2s,border-color .2s,background .2s,box-shadow .2s; }
.quick-link b { font:700 1rem Unbounded,sans-serif; }
.quick-link svg { width:25px; height:25px; display:block; fill:currentColor; filter:drop-shadow(0 0 8px rgba(16,196,239,.18)); }
.quick-link span { position:absolute; z-index:3; top:calc(100% + 8px); left:50%; padding:.25rem .5rem; border-radius:5px; color:#d9edf8; background:#0b2438; font-size:.64rem; white-space:nowrap; opacity:0; transform:translate(-50%,-4px); pointer-events:none; transition:.2s; }
.quick-link:hover { color:#70f4ef; border-color:var(--cyan); background:rgba(12,59,88,.85); box-shadow:0 8px 28px rgba(0,173,239,.13); transform:translateY(-2px); }
.quick-link:hover span { opacity:1; transform:translate(-50%,0); }
.stream-status { min-width:132px; height:38px; padding:0 .85rem; display:flex; align-items:center; justify-content:center; gap:.55rem; border:1px solid rgba(145,169,189,.25); border-radius:100px; color:#8797a5; background:rgba(8,25,40,.72); font-size:.66rem; font-weight:700; text-transform:uppercase; white-space:nowrap; }
.stream-status i { width:8px; height:8px; border-radius:50%; background:#6e7a84; }
.stream-status[data-online="true"] { border-color:rgba(255,62,76,.55); color:#ff9ba3; background:rgba(83,8,18,.48); }
.stream-status[data-online="true"] i { background:#ff3142; box-shadow:0 0 12px #ff3142; animation:status-pulse 1.6s ease-in-out infinite; }
@keyframes status-pulse { 50% { opacity:.45; transform:scale(.78); } }
.stream-panel { max-width:1240px; margin:1rem auto 2rem; overflow:hidden; border:1px solid rgba(25,150,211,.42); border-radius:22px; background:rgba(5,22,38,.82); box-shadow:0 30px 90px rgba(0,0,0,.2); }
.panel-bar { min-height:58px; padding:0 1.45rem; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(16,45,72,.72); color:#c5d8e8; font-size:.68rem; font-weight:700; text-transform:uppercase; }
.panel-bar span { display:flex; align-items:center; gap:.65rem; }
.panel-bar i { width:11px; height:11px; display:inline-block; border:2px solid #11c8ee; border-radius:2px; box-shadow:0 0 12px rgba(17,200,238,.25); }
.panel-bar a { color:#a6bbcc; font-size:.64rem; text-transform:none; transition:.2s; }
.panel-bar a:hover { color:var(--cyan); }
.stream-layout { min-height:520px; padding:3rem 3.4rem; display:grid; grid-template-columns:minmax(280px,.68fr) minmax(500px,1.5fr); gap:4.5rem; align-items:center; }
.stream-copy { max-width:430px; }
.stream-copy h1 { max-width:100%; font-size:clamp(2.2rem,3vw,3.35rem); overflow-wrap:normal; }
.stream-copy>p:not(.eyebrow) { margin:1.7rem 0 2rem; color:var(--muted); font-size:1rem; }
.stream-copy .button { border-radius:11px; padding:.95rem 1.25rem; gap:1.5rem; }
.stream-actions { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.stream-actions .button { min-height:52px; gap:.7rem; }
.button.follow { border:1px solid rgba(66,215,208,.42); color:#dffcff; background:rgba(9,45,67,.72); box-shadow:none; }
.button.follow:hover { border-color:var(--cyan); background:rgba(15,73,94,.82); }
.hero { min-height:700px; max-width:1440px; margin:auto; padding:7rem 5vw 6rem; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:4rem; }
.eyebrow { margin:0 0 1.4rem; color:var(--cyan); text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:700; }
.eyebrow span { display:inline-block; width:28px; height:1px; vertical-align:middle; background:var(--cyan); margin-right:.6rem; }
h1,h2 { margin:0; font-family:Unbounded,sans-serif; line-height:1.04; letter-spacing:-.055em; font-weight:600; }
h1 { font-size:clamp(3.4rem,7vw,7rem); }
h1 em,h2 em { color:var(--cyan); font-style:normal; }
.hero-text { max-width:560px; margin:2rem 0; color:var(--muted); font-size:1.1rem; }
.hero-actions { display:flex; align-items:center; gap:2rem; }
.button { display:inline-flex; align-items:center; gap:2rem; padding:1rem 1.3rem; border-radius:4px; font-weight:700; font-size:.86rem; }
.button.primary { background:linear-gradient(135deg,var(--accent),var(--cyan)); color:#03111e; box-shadow:0 10px 35px rgba(19,142,209,.28); }
.text-link { color:#c8ced5; font-size:.86rem; }
.hero-visual { position:relative; aspect-ratio:1; display:grid; place-items:center; }
.grid-card { width:58%; aspect-ratio:.78; border:1px solid rgba(255,255,255,.24); border-radius:12px; padding:1.4rem; background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02)); backdrop-filter:blur(12px); transform:rotate(7deg); box-shadow:0 30px 80px rgba(0,0,0,.35); display:flex; flex-direction:column; justify-content:space-between; }
.card-label,.card-status { font-size:.67rem; letter-spacing:.15em; }
.card-mark { font:600 clamp(7rem,14vw,13rem) Unbounded,sans-serif; color:var(--cyan); line-height:1; text-align:center; text-shadow:0 0 42px rgba(66,215,208,.25); }
.card-status { align-self:flex-end; color:#bdc4cc; }
.card-status i { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 12px var(--cyan); }
.orb { position:absolute; border-radius:50%; filter:blur(2px); }
.orb-one { width:72%; height:72%; background:radial-gradient(circle at 35% 30%,#158dd0,#0b3c66 55%,transparent 70%); opacity:.8; }
.orb-two { width:35%; height:35%; right:2%; bottom:10%; background:#36cfc8; filter:blur(55px); opacity:.55; }
.marquee { overflow:hidden; border-block:1px solid var(--line); background:linear-gradient(90deg,#0877ba,var(--cyan)); color:#03111e; transform:rotate(-1deg) scale(1.02); }
.marquee div { width:max-content; padding:.65rem 0; font:500 1rem Unbounded,sans-serif; word-spacing:1rem; animation:move 25s linear infinite; }
@keyframes move { to { transform:translateX(-50%); } }
.section { max-width:1440px; margin:auto; padding:9rem 5vw; display:grid; grid-template-columns:12% 1fr; border-bottom:1px solid var(--line); }
.section-number { color:#66717d; font:500 .72rem Unbounded,sans-serif; }
.section-content h2,.contact h2 { font-size:clamp(2.4rem,5vw,5rem); }
.about .section-content { max-width:960px; }
.lead { margin:3rem 0 0 auto; max-width:640px; font-size:clamp(1.15rem,2vw,1.55rem); color:#bdc4cc; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:3rem; margin-bottom:5rem; }
.section-heading>p { max-width:340px; color:var(--muted); }
.stream-frame { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border:1px solid rgba(66,215,208,.35); border-radius:10px; background:#020a12; box-shadow:0 24px 80px rgba(0,0,0,.32),0 0 60px rgba(19,142,209,.09); }
.stream-frame::before { content:""; position:absolute; inset:0; pointer-events:none; z-index:1; box-shadow:inset 0 0 0 1px rgba(255,255,255,.05); }
.stream-frame iframe { display:block; width:100%; height:100%; border:0; }
.stream-poster { position:absolute; inset:0; z-index:2; width:100%; height:100%; padding:0; overflow:hidden; border:0; color:white; background:radial-gradient(circle at 50% 48%,rgba(13,75,130,.34),transparent 38%),linear-gradient(145deg,#01050b,#030b16 60%,#020711); cursor:pointer; }
.stream-poster::before { content:""; position:absolute; width:55%; aspect-ratio:1; left:22%; top:5%; border-radius:50%; background:#008fe8; opacity:.15; filter:blur(70px); }
.poster-letter { position:absolute; left:50%; top:47%; font:600 clamp(9rem,20vw,17rem)/1 Unbounded,sans-serif; letter-spacing:-.12em; background:linear-gradient(145deg,#45e6de 8%,#0b91e9 48%,#164ce3 72%,#7935dc); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 0 20px rgba(13,129,229,.3)); transform:translate(-54%,-50%) skewX(-7deg); }
.poster-play { position:absolute; left:50%; top:50%; width:58px; height:58px; display:grid; place-items:center; padding-left:4px; border:1px solid rgba(66,215,208,.65); border-radius:50%; color:#44e8e0; background:rgba(2,15,27,.72); box-shadow:0 0 28px rgba(11,145,233,.22); transform:translate(-50%,-50%); transition:.2s; }
.poster-caption { position:absolute; left:50%; bottom:1.2rem; color:#7897ad; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; transform:translateX(-50%); opacity:0; transition:.2s; }
.stream-poster:hover .poster-play { color:white; border-color:#74fff7; background:rgba(10,73,108,.88); transform:translate(-50%,-50%) scale(1.08); }
.stream-poster:hover .poster-caption { opacity:1; }
.stream-frame.is-playing .stream-poster { display:none; }
.stream-link { display:inline-flex; gap:.75rem; margin-top:1.5rem; color:var(--cyan); font-size:.85rem; font-weight:700; }
.games-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.2rem; }
.game-card { position:relative; overflow:hidden; aspect-ratio:3/4; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.game-card:nth-child(n+13) { display:none; }
.games-grid.expanded .game-card { display:block; }
.game-cover { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease,filter .3s ease; }
.game-card:hover .game-cover { transform:scale(1.035); filter:saturate(1.12); }
.game-card::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(2,11,20,.96)); pointer-events:none; }
.game-meta { position:absolute; z-index:1; left:1rem; right:1rem; bottom:.9rem; }
.game-meta h3 { margin:0 0 .25rem; font:600 clamp(.82rem,1.25vw,1rem)/1.25 Manrope,sans-serif; }
.game-meta time { color:#a9c2d5; font-size:.7rem; }
.game-rating { position:absolute; z-index:2; top:.75rem; right:.75rem; min-width:58px; padding:.4rem .55rem; border:1px solid rgba(66,215,208,.55); border-radius:9px; color:#061525; background:linear-gradient(135deg,#20a9e2,#59e0d5); box-shadow:0 8px 24px rgba(0,0,0,.3); font:700 1.05rem Manrope,sans-serif; text-align:center; }
.game-rating small { font-size:.62rem; }
.game-review { display:-webkit-box; margin:.35rem 0 .45rem; overflow:hidden; color:#d8e9f3; font-size:.72rem; line-height:1.35; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.games-more { margin:2rem auto 0; display:flex; align-items:center; gap:.8rem; border:1px solid var(--line); border-radius:100px; padding:.85rem 1.3rem; color:var(--text); background:var(--panel); font:600 .82rem Manrope,sans-serif; cursor:pointer; }
.games-more:hover { border-color:var(--cyan); }
.games-source { margin:1rem 0 0; text-align:center; color:#668096; font-size:.7rem; }
.games-source a { color:#88b7d1; }
.project-card { display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:2rem; padding:2.5rem; border:1px solid var(--line); background:var(--panel); transition:.25s; }
.project-card:hover { border-color:rgba(66,215,208,.55); background:var(--panel-bright); transform:translateY(-4px); }
.project-index { color:#697480; }
.project-info span { color:var(--cyan); font-size:.7rem; text-transform:uppercase; letter-spacing:.15em; }
.project-info h3 { margin:.5rem 0; font:500 clamp(1.5rem,3vw,2.7rem) Unbounded,sans-serif; }
.project-info p { color:var(--muted); margin:0; }
.project-symbol { font-size:2rem; color:var(--cyan); }
.contact { max-width:1440px; margin:auto; padding:10rem 5vw; text-align:center; }
.contact .eyebrow { margin-bottom:2rem; }
.contact>p:last-child { color:var(--muted); margin-top:2rem; }
.contact-email { display:inline-block; padding:.85rem 1.25rem; border:1px solid rgba(66,215,208,.38); border-radius:100px; color:var(--cyan); background:rgba(9,45,67,.55); font:700 .86rem Manrope,sans-serif; cursor:pointer; transition:.2s; }
.contact-email:hover { border-color:var(--cyan); color:white; background:rgba(15,73,94,.82); transform:translateY(-2px); }
footer { max-width:1440px; margin:auto; padding:2rem 5vw; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; color:#7c8793; font-size:.78rem; }
.admin-page { min-height:100vh; }
.admin-shell { width:min(1120px,92vw); margin:auto; padding:4rem 0; }
#login-panel { width:min(680px,100%); margin-inline:auto; }
.admin-back { display:inline-block; margin-bottom:1.5rem; color:var(--muted); }
.admin-card { padding:clamp(1.5rem,5vw,3rem); border:1px solid var(--line); border-radius:20px; background:rgba(8,31,51,.92); box-shadow:0 24px 80px rgba(0,0,0,.25); }
.admin-card h1 { margin-bottom:1rem; font-size:clamp(2rem,6vw,3.4rem); }
.admin-card h2 { margin:0 0 1.25rem; font:600 clamp(1.25rem,3vw,1.8rem) Unbounded,sans-serif; letter-spacing:-.04em; }
.admin-card>p:not(.eyebrow) { color:var(--muted); }
.admin-card form { display:grid; gap:1.25rem; margin-top:2rem; }
.admin-card label { display:grid; gap:.5rem; color:#cde0ec; font-size:.8rem; font-weight:700; }
.admin-card input,.admin-card select,.admin-card textarea { width:100%; padding:.85rem 1rem; border:1px solid var(--line); border-radius:9px; outline:none; color:var(--text); background:#061525; font:inherit; }
.admin-card input:focus,.admin-card select:focus,.admin-card textarea:focus { border-color:var(--cyan); }
.admin-card textarea { resize:vertical; }
.admin-card label small { justify-self:end; color:var(--muted); }
.admin-actions { display:flex; gap:.8rem; flex-wrap:wrap; }
.admin-actions .button { border:0; cursor:pointer; }
.button.danger { border:1px solid rgba(255,105,105,.35); color:#ffb2b2; background:rgba(90,20,30,.35); }
.admin-message { min-height:1.5em; margin:0; color:var(--cyan); }
.admin-divider { margin:2.5rem 0; border:0; border-top:1px solid var(--line); }
.admin-tabs { margin:1.5rem 0 2rem; display:flex; gap:.5rem; flex-wrap:wrap; }
.admin-tabs button { padding:.7rem 1rem; border:1px solid var(--line); border-radius:100px; color:var(--muted); background:#061525; cursor:pointer; font:700 .75rem Manrope,sans-serif; }
.admin-tabs button.active { border-color:var(--cyan); color:#061525; background:var(--cyan); }
.admin-tab-panel { display:none; }
.admin-tab-panel.active { display:block; }
.admin-list { margin-top:1.5rem; display:grid; gap:.6rem; }
.admin-list>p { color:var(--muted); }
.admin-list article { padding:.85rem 1rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; border:1px solid var(--line); border-radius:9px; background:#061525; }
.admin-list article div { display:grid; }
.admin-list article small { color:var(--muted); }
.admin-list article span { display:flex; gap:.4rem; }
.admin-list button { border:0; color:#9eddeb; background:none; cursor:pointer; }
.admin-list button[data-delete-game],.admin-list button[data-delete-schedule] { color:#ff9d9d; }
.stats-heading { margin-bottom:1.5rem; display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.stats-heading h2 { margin-bottom:.4rem; }
.stats-heading p { margin:0; color:var(--muted); font-size:.8rem; }
.stats-heading label { min-width:150px; }
.stats-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.stats-summary article { padding:1.15rem; display:grid; gap:.2rem; border:1px solid var(--line); border-radius:12px; background:#061525; }
.stats-summary span { color:#9eddeb; font-size:.72rem; font-weight:700; text-transform:uppercase; }
.stats-summary strong { font:600 clamp(1.8rem,4vw,2.8rem) Unbounded,sans-serif; color:var(--cyan); }
.stats-summary small { color:var(--muted); font-size:.68rem; }
.stats-chart { height:260px; margin:1.25rem 0 2rem; padding:1rem 1rem .7rem; display:flex; align-items:stretch; gap:clamp(3px,1vw,10px); border:1px solid var(--line); border-radius:14px; background:linear-gradient(180deg,rgba(19,142,209,.08),rgba(6,21,37,.72)); }
.stats-bar { min-width:0; flex:1; display:flex; align-items:center; justify-content:flex-end; flex-direction:column; gap:.4rem; color:#9eddeb; }
.stats-bar>span { min-height:1.1rem; font-size:.62rem; }
.stats-bar>i { width:100%; max-width:38px; min-height:3px; display:block; border-radius:6px 6px 2px 2px; background:linear-gradient(180deg,var(--cyan),var(--accent)); box-shadow:0 0 18px rgba(66,215,208,.12); }
.stats-bar>small { color:#7897ad; font-size:.58rem; white-space:nowrap; }
.stats-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(240px,.75fr); gap:1rem; }
.stats-grid>section { min-width:0; padding:1.1rem; border:1px solid var(--line); border-radius:14px; background:#061525; }
.stats-grid h3 { margin:0 0 1rem; font:600 1rem Unbounded,sans-serif; }
.stats-table-wrap { overflow-x:auto; }
.stats-table { width:100%; border-collapse:collapse; font-size:.75rem; }
.stats-table th,.stats-table td { padding:.7rem .55rem; border-bottom:1px solid rgba(118,195,235,.11); text-align:right; white-space:nowrap; }
.stats-table th:first-child,.stats-table td:first-child { text-align:left; }
.stats-table th { color:#88b7d1; font-size:.65rem; text-transform:uppercase; }
.stats-pages { display:grid; gap:1rem; }
.stats-pages article div { margin-bottom:.35rem; display:flex; justify-content:space-between; gap:1rem; font-size:.76rem; }
.stats-pages article span { color:var(--cyan); }
.stats-pages article>i { height:5px; display:block; border-radius:100px; background:linear-gradient(90deg,var(--accent),var(--cyan)); }
.stats-empty,.stats-updated { color:var(--muted); font-size:.72rem; }
.stats-updated { margin:1rem 0 0; text-align:right; }
.simple-header { width:min(1120px,90vw); margin:auto; padding:1.3rem 0; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.schedule-page { width:min(1120px,90vw); min-height:calc(100vh - 170px); margin:auto; padding:5rem 0; }
.schedule-page>h1 { font-size:clamp(3rem,8vw,6.5rem); }
.schedule-grid { margin-top:4rem; display:grid; gap:1rem; }
.home-schedule .schedule-grid { margin-top:0; }
.calendar-toolbar { margin-bottom:1rem; display:flex; align-items:center; justify-content:flex-end; gap:.7rem; }
.calendar-toolbar button { width:38px; height:38px; border:1px solid var(--line); border-radius:50%; color:var(--cyan); background:var(--panel); cursor:pointer; }
.calendar-toolbar strong { min-width:190px; color:#bcd1df; font-size:.78rem; text-align:center; text-transform:capitalize; }
.week-calendar { overflow-x:auto; border:1px solid var(--line); border-radius:16px; background:rgba(5,20,34,.78); }
.calendar-grid { position:relative; min-width:920px; display:grid; grid-template-columns:64px repeat(7,minmax(120px,1fr)); grid-template-rows:52px repeat(var(--hour-count),64px); }
.calendar-zone,.calendar-day,.calendar-time,.calendar-cell { border-right:1px solid rgba(118,195,235,.11); border-bottom:1px solid rgba(118,195,235,.11); }
.calendar-zone,.calendar-day { position:sticky; top:0; z-index:4; display:grid; place-items:center; background:#0a2138; }
.calendar-zone { grid-column:1; grid-row:1; color:#718ca1; font-size:.62rem; }
.calendar-day { color:#a8bdcc; font-size:.72rem; font-weight:700; text-transform:uppercase; }
.calendar-day.today { color:#061525; background:var(--cyan); }
.calendar-time { padding:.35rem .5rem; color:#6f8ca2; font-size:.62rem; text-align:right; }
.calendar-cell { background:rgba(7,25,42,.35); }
.calendar-event { z-index:3; align-self:start; min-height:112px; margin:4px; padding:.55rem .65rem; overflow:hidden; border:1px solid rgba(66,215,208,.58); border-radius:9px; color:white; background:linear-gradient(145deg,rgba(19,142,209,.94),rgba(21,78,158,.94)); box-shadow:0 8px 24px rgba(0,0,0,.25); }
.calendar-event time,.calendar-event span { display:block; color:#bffbf6; font-size:.62rem; }
.calendar-event strong { display:block; margin:.15rem 0; font-size:.75rem; line-height:1.25; }
.calendar-now { z-index:5; height:2px; background:#ff4050; box-shadow:0 0 8px rgba(255,64,80,.5); pointer-events:none; }
.calendar-now::before { content:""; position:absolute; left:-4px; top:-3px; width:8px; height:8px; border-radius:50%; background:#ff4050; }
.calendar-empty-note { margin:0; padding:1rem; color:var(--muted); font-size:.75rem; text-align:center; }
.schedule-card { padding:clamp(1.4rem,4vw,2.3rem); border:1px solid var(--line); border-radius:18px; background:rgba(8,31,51,.8); }
.schedule-card time { color:var(--cyan); font-size:.78rem; font-weight:700; text-transform:capitalize; }
.schedule-card h2 { margin:.55rem 0; font:600 clamp(1.35rem,4vw,2.2rem) Unbounded,sans-serif; }
.schedule-card strong { color:#94dcea; }
.schedule-card p,.schedule-empty { color:var(--muted); }
.bottom-ticker { position:fixed; z-index:50; left:0; right:0; bottom:0; height:42px; overflow:hidden; border-top:1px solid rgba(66,215,208,.45); color:#061525; background:linear-gradient(90deg,#159bd8,#54ddd4); box-shadow:0 -8px 28px rgba(0,0,0,.2); }
.ticker-track { width:max-content; height:100%; display:flex; align-items:center; animation:ticker-scroll 22s linear infinite; }
.ticker-text { min-width:100vw; padding:0 4rem; font:700 .82rem Unbounded,sans-serif; letter-spacing:.01em; text-align:center; white-space:nowrap; }
@keyframes ticker-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.site-actions { display:flex; gap:.45rem; }
.site-actions button { width:38px; height:38px; padding:0; border:1px solid var(--line); border-radius:50%; color:var(--cyan); background:var(--panel); cursor:pointer; font-size:1rem; }
.site-actions button:hover { border-color:var(--cyan); transform:translateY(-1px); }
.site-actions button[hidden] { display:none; }
.site-actions .theme-switch { position:relative; width:66px; height:36px; display:block; overflow:hidden; border:0; border-radius:100px; color:#8fa5b5; background:#25394b; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 5px 18px rgba(0,0,0,.18); transition:background .28s ease,box-shadow .28s ease,transform .2s ease; }
.site-actions .theme-switch:hover { border-color:transparent; }
.theme-switch>span { position:absolute; z-index:3; top:50%; font-size:.72rem; line-height:1; transform:translateY(-50%); transition:color .28s ease,opacity .28s ease; pointer-events:none; }
.theme-switch .theme-sun { right:10px; color:#90a3b1; }
.theme-switch .theme-moon { left:10px; color:#354c5e; }
.theme-switch>i { position:absolute; z-index:2; top:3px; left:3px; width:30px; height:30px; border-radius:50%; background:#f8fbfd; box-shadow:0 2px 8px rgba(0,0,0,.35); transition:transform .3s cubic-bezier(.22,.8,.32,1),background .28s ease; }
.theme-switch[aria-checked="true"] { background:linear-gradient(135deg,var(--accent),var(--cyan)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 5px 18px rgba(19,142,209,.24); }
.theme-switch[aria-checked="true"]>i { background:#fff; transform:translateX(30px); }
.theme-switch[aria-checked="true"] .theme-sun { color:#e5a900; }
.theme-switch[aria-checked="true"] .theme-moon { color:#d5efdc; }
.theme-switch:focus-visible { outline:3px solid rgba(66,215,208,.45); outline-offset:3px; }
.videos-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.video-card { min-width:0; display:grid; gap:.55rem; }
.video-cover { position:relative; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--panel); }
.video-cover img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }
.video-cover i { position:absolute; left:50%; top:50%; width:48px; height:48px; display:grid; place-items:center; padding-left:3px; border:1px solid rgba(255,255,255,.5); border-radius:50%; color:white; background:rgba(3,17,30,.72); font-style:normal; transform:translate(-50%,-50%); }
.video-card:hover img { transform:scale(1.04); }
.video-card strong { overflow:hidden; font-size:.9rem; text-overflow:ellipsis; white-space:nowrap; }
.video-card time,.section-loading { color:var(--muted); font-size:.72rem; }
.section-loading { grid-column:1/-1; }
.section-loading a { color:var(--cyan); }
.game-filters { margin:-2rem 0 1rem; padding:1rem; display:grid; grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr)) auto; align-items:end; gap:.75rem; border:1px solid var(--line); border-radius:14px; background:rgba(8,31,51,.72); }
.game-filters label { display:grid; gap:.35rem; color:var(--muted); font-size:.68rem; font-weight:700; }
.game-filters input,.game-filters select { width:100%; min-height:42px; padding:.65rem .8rem; border:1px solid var(--line); border-radius:8px; outline:none; color:var(--text); background:var(--bg); font:inherit; }
.game-filters input:focus,.game-filters select:focus { border-color:var(--cyan); }
.game-filters button { min-height:42px; padding:.65rem 1rem; border:1px solid var(--line); border-radius:8px; color:var(--cyan); background:var(--panel); cursor:pointer; }
.games-found { margin:0 0 1rem; color:var(--muted); font-size:.72rem; }
.games-grid.filtered .game-card { display:block; }
.games-empty { grid-column:1/-1; color:var(--muted); }
.game-status { position:absolute; z-index:3; top:.75rem; left:.75rem; max-width:calc(100% - 90px); padding:.3rem .5rem; border:1px solid rgba(255,255,255,.25); border-radius:100px; color:white; background:rgba(4,17,30,.82); font-size:.6rem; font-weight:700; }
.game-status.status-completed { color:#9fffe0; }
.game-status.status-playing { color:#7ee9ff; box-shadow:0 0 16px rgba(66,215,208,.18); }
.game-status.status-dropped { color:#ffb0b0; }
.poll-options { display:grid; gap:.8rem; }
.poll-option { position:relative; min-height:64px; overflow:hidden; padding:0; border:1px solid var(--line); border-radius:12px; color:var(--text); background:var(--panel); cursor:pointer; text-align:left; }
.poll-option>span { position:relative; z-index:2; padding:1rem 1.2rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.poll-option strong { font-size:.9rem; }
.poll-option b { color:var(--cyan); font-size:.72rem; white-space:nowrap; }
.poll-option>i { position:absolute; z-index:1; inset:0 auto 0 0; display:block; background:linear-gradient(90deg,rgba(19,142,209,.42),rgba(66,215,208,.28)); transition:width .5s ease; }
.poll-option:not(:disabled):hover { border-color:var(--cyan); }
.poll-option.voted { border-color:var(--cyan); }
.poll-message { color:var(--muted); font-size:.75rem; }
.suggestion-search { max-width:760px; margin:-2rem 0 1rem; display:grid; gap:.45rem; }
.suggestion-search>label { color:var(--muted); font-size:.7rem; font-weight:700; }
.suggestion-search>div { display:flex; gap:.65rem; }
.suggestion-search input { min-width:0; min-height:48px; flex:1; padding:.75rem 1rem; border:1px solid var(--line); border-radius:10px; outline:none; color:var(--text); background:var(--panel); font:inherit; }
.suggestion-search input:focus { border-color:var(--cyan); }
.suggestion-search button,.suggestion-result button { border:1px solid var(--cyan); border-radius:10px; color:#03111e; background:linear-gradient(135deg,var(--accent),var(--cyan)); cursor:pointer; font-weight:700; }
.suggestion-search button { padding:.75rem 1.2rem; }
.suggestion-results { margin-bottom:2rem; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.65rem; }
.suggestion-result { min-width:0; padding:.55rem; display:grid; grid-template-rows:auto 1fr auto; gap:.5rem; border:1px solid var(--line); border-radius:11px; background:var(--panel); }
.suggestion-result img { width:100%; aspect-ratio:3/4; display:block; object-fit:cover; border-radius:7px; background:#101d28; }
.suggestion-result strong { font-size:.72rem; line-height:1.3; }
.suggestion-result button { padding:.55rem .4rem; font-size:.68rem; }
.suggestion-result button:disabled { opacity:.65; cursor:wait; }
.suggestions-title { margin:2.3rem 0 1rem; font:600 1rem Unbounded,sans-serif; }
.poll-option { display:grid; grid-template-columns:72px 1fr; align-items:center; }
.poll-option>img,.poll-option>.suggestion-placeholder { position:relative; z-index:2; width:72px; height:82px; display:block; object-fit:cover; background:#071a2b; }
.poll-option>.suggestion-placeholder { padding:0; display:grid; place-items:center; color:var(--cyan); font:600 1.6rem Unbounded,sans-serif; }
.poll-option>span:not(.suggestion-placeholder) { position:relative; z-index:2; padding:1rem 1.2rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.poll-option b { min-width:84px; padding:.45rem .65rem; border:1px solid rgba(66,215,208,.38); border-radius:100px; text-align:center; }
.poll-option b em { margin-left:.25rem; color:var(--text); font-style:normal; }
.poll-option.voted b { color:#061525; background:var(--cyan); }
.poll-option:disabled { cursor:default; }
.poll-admin-actions { margin-top:1.2rem; }
.button.secondary { border:1px solid var(--line); color:var(--cyan); background:var(--panel); cursor:pointer; }
.site-toast { position:fixed; z-index:100; right:1rem; bottom:58px; max-width:330px; padding:.85rem 1rem; border:1px solid var(--cyan); border-radius:10px; color:var(--text); background:var(--panel); box-shadow:0 12px 40px rgba(0,0,0,.35); opacity:0; transform:translateY(12px); pointer-events:none; transition:.25s; }
.site-toast.show { opacity:1; transform:none; }
html[data-theme="light"] { --bg:#edf6fb; --panel:#fff; --panel-bright:#e3f2fa; --text:#10283a; --muted:#577184; --line:rgba(20,93,132,.2); color-scheme:light; }
html[data-theme="light"] body { background:radial-gradient(circle at 88% 0,rgba(19,142,209,.14),transparent 34rem),linear-gradient(135deg,#f8fcff,#edf6fb 60%,#e8f4fa); }
html[data-theme="light"] .profile-header,
html[data-theme="light"] footer { color:#29485d; }
html[data-theme="light"] .quick-link { background:rgba(255,255,255,.72); }
html[data-theme="light"] .site-actions .theme-switch { background:linear-gradient(135deg,var(--accent),var(--cyan)); }
html[data-theme="light"] .quick-link span { color:#effaff; }
html[data-theme="light"] .stream-panel,
html[data-theme="light"] .game-filters,
html[data-theme="light"] .week-calendar { background:rgba(255,255,255,.8); }
html[data-theme="light"] .panel-bar,
html[data-theme="light"] .calendar-zone,
html[data-theme="light"] .calendar-day { color:#35576c; background:#dcecf5; }
html[data-theme="light"] .calendar-cell { background:rgba(226,240,248,.5); }
html[data-theme="light"] .game-meta h3 { color:white; }
html[data-theme="light"] .game-review { color:#d8e9f3; }
html[data-theme="light"] .admin-card { background:rgba(255,255,255,.92); }
html[data-theme="light"] .admin-card label { color:#29485d; }
html[data-theme="light"] .admin-card input,
html[data-theme="light"] .admin-card select,
html[data-theme="light"] .admin-card textarea,
html[data-theme="light"] .admin-tabs button,
html[data-theme="light"] .admin-list article,
html[data-theme="light"] .stats-summary article,
html[data-theme="light"] .stats-grid>section { background:#edf6fb; }
.heresy-page { padding-bottom:0; }
.heresy-hero { position:relative; max-width:1240px; min-height:520px; margin:1rem auto 2rem; padding:clamp(3rem,8vw,6.5rem); overflow:hidden; border:1px solid rgba(19,142,209,.42); border-radius:22px; background:radial-gradient(circle at 80% 35%,rgba(19,142,209,.24),transparent 28rem),linear-gradient(145deg,rgba(5,22,38,.96),rgba(8,34,58,.86)); box-shadow:0 30px 90px rgba(0,0,0,.2); }
.heresy-hero::after { content:"HH"; position:absolute; right:5%; top:50%; color:transparent; font:600 clamp(10rem,24vw,22rem)/1 Unbounded,sans-serif; -webkit-text-stroke:1px rgba(66,215,208,.16); transform:translateY(-50%); pointer-events:none; }
.heresy-hero>* { position:relative; z-index:1; }
.heresy-hero h1 { font-size:clamp(3.8rem,8vw,7rem); }
.heresy-hero>p:not(.eyebrow) { max-width:650px; margin:2rem 0; color:var(--muted); font-size:1.05rem; }
.heresy-summary { display:flex; flex-wrap:wrap; gap:.7rem; }
.heresy-summary span { padding:.7rem 1rem; border:1px solid var(--line); border-radius:100px; color:var(--muted); background:rgba(5,22,38,.55); font-size:.72rem; }
.heresy-summary strong { margin-right:.3rem; color:var(--cyan); }
.book-cycles { position:static; display:flex; flex-wrap:wrap; gap:.75rem; margin:-2rem 0 1rem; padding:0; background:none; }
.book-cycles button { display:flex; align-items:center; gap:.75rem; min-height:48px; padding:.7rem .9rem .7rem 1rem; border:1px solid var(--line); border-radius:12px; color:var(--muted); background:var(--panel); font:700 .76rem Manrope,sans-serif; cursor:pointer; transition:.2s; }
.book-cycles button:hover,.book-cycles button.active { color:var(--text); border-color:var(--cyan); background:var(--panel-bright); box-shadow:0 8px 30px rgba(19,142,209,.12); }
.book-cycles button strong { min-width:28px; padding:.25rem .45rem; border-radius:100px; color:#061525; background:linear-gradient(135deg,#20a9e2,#59e0d5); text-align:center; }
.book-groups { display:grid; gap:3rem; }
.book-cycle-group>header { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:0 0 1rem; padding:0 0 .85rem; border-bottom:1px solid var(--line); }
.book-cycle-group>header span { color:var(--cyan); font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.book-cycle-group>header h3 { margin:.2rem 0 0; font:600 clamp(1.35rem,2.2vw,2rem)/1.15 Unbounded,sans-serif; }
.book-cycle-group>header>strong { color:var(--muted); font-size:.72rem; white-space:nowrap; }
.book-filters { grid-template-columns:minmax(220px,2fr) repeat(4,minmax(115px,1fr)) auto; }
.book-card .game-meta { bottom:1rem; }
.book-number { position:absolute; z-index:3; left:.75rem; top:.75rem; width:38px; height:30px; display:grid; place-items:center; border:1px solid rgba(66,215,208,.52); border-radius:8px; color:var(--cyan); background:rgba(4,17,30,.86); font:600 .66rem Unbounded,sans-serif; }
.book-status { position:absolute; z-index:3; left:.75rem; top:3.25rem; max-width:calc(100% - 1.5rem); padding:.3rem .5rem; border:1px solid rgba(255,255,255,.25); border-radius:100px; color:#fff; background:rgba(4,17,30,.86); font-size:.6rem; font-weight:700; }
.book-status.status-completed { color:#9fffe0; }
.book-status.status-reading { color:#7ee9ff; box-shadow:0 0 16px rgba(66,215,208,.18); }
.book-status.status-dropped { color:#ffb0b0; }
.book-author { margin:.35rem 0 .15rem; color:#d8e9f3; font-size:.72rem; }
.admin-divider { margin:2.5rem 0; border:0; border-top:1px solid var(--line); }
.book-catalog-list { margin-top:1.5rem; }
.admin-book-cycle { display:grid; gap:.55rem; margin-top:1.25rem; }
.admin-book-cycle h4 { display:flex; align-items:center; gap:.6rem; margin:0; color:var(--text); font:600 1rem Unbounded,sans-serif; }
.admin-book-cycle h4 small { padding:.2rem .45rem; border-radius:100px; color:#061525; background:var(--cyan); font:700 .62rem Manrope,sans-serif; }
html[data-theme="light"] .heresy-hero { background:radial-gradient(circle at 80% 35%,rgba(19,142,209,.2),transparent 28rem),linear-gradient(145deg,#fff,#e4f3fa); }
html[data-theme="light"] .heresy-summary span { background:rgba(255,255,255,.7); }
html[data-theme="light"] .book-cycles button { background:rgba(255,255,255,.82); }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .75s ease,transform .75s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee div,.ticker-track{animation:none} }
@media (max-width:800px) {
  .site-header { height:70px; }
  .menu-button { display:block; }
  nav { display:none; position:absolute; left:5vw; right:5vw; top:70px; flex-direction:column; align-items:stretch; padding:1.5rem; background:var(--panel); border:1px solid var(--line); }
  nav.open { display:flex; }
  .hero { padding-top:5rem; grid-template-columns:1fr; min-height:auto; }
  .hero-visual { max-width:480px; width:100%; margin:auto; }
  .section { grid-template-columns:1fr; gap:1.5rem; padding-block:6rem; }
  .section-heading { display:block; }
  .section-heading>p { margin-top:2rem; }
  .project-card { grid-template-columns:1fr auto; padding:1.6rem; }
  .games-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
  .project-index { display:none; }
  .profile-header { padding:1rem 5vw; }
  .header-tools { align-items:flex-end; flex-direction:column; }
  .quick-links { position:static; display:flex; flex-direction:row; align-items:center; padding:0; border:0; background:none; }
  .quick-link { width:52px; height:50px; }
  .stream-panel { margin-inline:5vw; }
  .stream-layout { min-height:0; padding:2.5rem; grid-template-columns:1fr; gap:2.5rem; }
  .stream-copy { max-width:620px; }
  .game-filters { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:0; }
  .book-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .book-cycles { position:static; display:flex; flex-direction:row; align-items:stretch; padding:0; border:0; background:none; }
  .game-search { grid-column:1/-1; }
  .videos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .suggestion-results { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .profile-header { align-items:flex-start; flex-direction:column; padding-block:1rem 1.5rem; }
  .header-tools { width:100%; align-items:flex-start; }
  .profile-brand img { width:48px; height:48px; }
  .quick-links { width:100%; gap:.6rem; }
  .quick-link { flex:1; max-width:72px; }
  .stream-layout { padding:1.6rem 1.2rem 1.4rem; }
  .stream-copy h1 { font-size:2.35rem; }
  .simple-header { align-items:flex-start; }
  .simple-header .profile-brand small { display:none; }
  .schedule-page { padding-top:3rem; }
  .admin-list article { align-items:flex-start; flex-direction:column; }
  .stats-heading { align-items:stretch; flex-direction:column; gap:1rem; }
  .stats-summary { grid-template-columns:1fr; }
  .stats-chart { height:220px; padding-inline:.55rem; }
  .stats-bar>span { display:none; }
  .stats-bar>small { font-size:.52rem; transform:rotate(-55deg); transform-origin:center; }
  .stats-grid { grid-template-columns:1fr; }
  .site-actions { position:absolute; right:5vw; top:1rem; }
  .videos-grid { grid-template-columns:1fr; }
  .game-filters { grid-template-columns:1fr; }
  .game-search { grid-column:auto; }
  .suggestion-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .suggestion-search>div { align-items:stretch; flex-direction:column; }
  .heresy-hero { margin-inline:5vw; min-height:0; }
}
@media (max-width:480px) { h1{font-size:2.9rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.hero{padding-inline:6vw}.section{padding-inline:6vw}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-info p{font-size:.86rem}footer{gap:1rem;flex-wrap:wrap} }
