/* Shared SpinX public theme: landing page and live boards. */
:root{color-scheme:dark;--ink:#050b09;--panel:#0b1913;--green:#a9ff45;--cyan:#4fe5ff;--text:#edf8f0;--muted:#98b7a6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.spinx-site{margin:0;background:var(--ink);color:var(--text);font:15px/1.5 "Segoe UI",Arial,sans-serif;isolation:isolate}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}img{max-width:100%;display:block}
.tech-field{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 80% 10%,#125b343b,transparent 60%),radial-gradient(ellipse at 10% 80%,#075e7030,transparent 55%),#050b09}
.tech-field:before{content:"";position:absolute;inset:-64px;background-image:linear-gradient(#65ff9d09 1px,transparent 1px),linear-gradient(90deg,#65ff9d09 1px,transparent 1px);background-size:64px 64px;animation:tech-grid 16s linear infinite}
.tech-field:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 75% 35%,#39ffa21b,transparent 55%);animation:ambient-glow 8s ease-in-out infinite}
.site-header{width:min(1440px,calc(100% - 80px));height:100px;margin:auto;display:flex;align-items:center;gap:32px;border-bottom:1px solid #baff6f20}.logo-link{width:105px;flex-shrink:0}.logo-link img{width:100%;height:70px;object-fit:contain}.site-header nav{margin-left:auto;display:flex;gap:30px;font-size:13px;font-weight:700}.site-header nav a:hover,.site-header nav .active{color:var(--green)}.staff-link{padding:11px 17px;border:1px solid #84bf8b50;border-radius:6px;font-size:12px;font-weight:700}.staff-link span{color:var(--green);margin-left:10px}
main{width:min(1360px,calc(100% - 80px));margin:auto}.hero{min-height:510px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;padding:65px 0}.eyebrow{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.hero h1{font-size:clamp(54px,7vw,104px);line-height:.97;letter-spacing:-.055em;margin:25px 0}.hero h1 em{display:block;font-style:normal;color:var(--green);text-shadow:0 0 50px #a9ff4520}.hero-text{max-width:450px;color:var(--muted);font-size:17px;line-height:1.8;margin:25px 0 30px}.lime-button{display:inline-flex;align-items:center;gap:35px;background:var(--green);color:#10230b;padding:17px 23px;border-radius:5px;font-weight:800;box-shadow:0 0 28px #a9ff4517;transition:box-shadow .2s,transform .2s}.lime-button:hover{box-shadow:0 0 35px #a9ff4550;transform:translateY(-2px)}
.hero-mark{position:relative;display:grid;place-items:center;aspect-ratio:1;width:min(100%,430px);justify-self:center}.mark-core{font-size:240px;font-weight:950;font-style:italic;line-height:1;color:var(--green);text-shadow:8px 5px 0 #114738,-6px -2px 0 #4fe5ff80,0 0 80px #74ff4930;transform:skew(-9deg)}.orbit{position:absolute;inset:10%;border:1px solid #99ff4a45;border-radius:50%;border-top:3px solid var(--green);border-bottom:3px solid var(--cyan);animation:orbit-spin 20s linear infinite}.orbit-b{inset:0;border-style:dashed;opacity:.5;animation-duration:40s;animation-direction:reverse}.hero-mark:after{content:"SPINX / BATTLE SYSTEM";position:absolute;bottom:4%;font-size:9px;color:var(--cyan);letter-spacing:.3em;background:var(--ink);padding:7px 14px}
.event-section{padding:35px 0 80px;border-top:1px solid #baff6f20}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}h2{font-size:30px;letter-spacing:-.025em;margin:8px 0}.muted{color:var(--muted);font-size:12px}.featured-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.event-card{min-width:0;overflow:hidden;border:1px solid #76ff7940;border-radius:14px;background:linear-gradient(145deg,#14251b,#08110e);transition:transform .25s,border-color .25s;animation:card-glow 6s ease-in-out infinite}.event-card:nth-child(even){animation-delay:-3s}.event-card:hover{transform:translateY(-6px);border-color:var(--green)}.poster{aspect-ratio:210/297;position:relative;background:#09110e;overflow:hidden}.poster>img{width:100%;height:100%;object-fit:contain}.poster-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:repeating-linear-gradient(135deg,transparent 0 35px,#75ff7810 36px 37px),radial-gradient(ellipse at 50% 30%,#286337,#08120d 70%)}.poster-placeholder img{width:68%;margin-bottom:28px}.poster-placeholder>span{font-size:34px;font-weight:950;font-style:italic;line-height:1;letter-spacing:.06em;color:#bbfca0;text-align:center}.live-pulse{position:absolute;left:15px;top:15px;display:flex;align-items:center;gap:7px;background:#041008d9;border:1px solid #a9ff4560;border-radius:4px;padding:5px 9px;color:var(--green);font-size:9px;font-weight:900;letter-spacing:.12em}.live-pulse:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);animation:signal 3s ease-in-out infinite}.event-info{padding:20px}.event-info p{color:var(--cyan);font-size:9px;font-weight:800;letter-spacing:.15em;margin:0 0 10px}.event-info h3{font-size:20px;line-height:1.25;margin:0 0 22px;overflow-wrap:anywhere}.event-info>span{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.event-info b{color:var(--green)}.empty-event,.live-empty{padding:50px;border:1px solid #74ff7940;border-radius:14px;background:#0a1913;grid-column:1/-1;text-align:center}.empty-event img{width:140px;margin:0 auto 25px}
footer{width:min(1440px,calc(100% - 80px));margin:auto;padding:25px 0;display:flex;align-items:center;gap:25px;border-top:1px solid #baff6f20;color:var(--muted);font-size:10px;letter-spacing:.1em}footer img{width:55px;height:40px;object-fit:contain}footer a{margin-left:auto}
.live-main{width:min(1800px,calc(100% - 64px));min-height:75vh;padding:32px 0 60px}.live-title{margin-bottom:30px}.live-title h1{font-size:clamp(28px,4vw,52px);line-height:1.15;letter-spacing:-.035em;margin:8px 0 12px}.live-title>p:last-child{color:var(--muted);font-size:13px}.group-live-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.group-live-heading h2{font-size:20px}.public-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}.public-group{background:linear-gradient(150deg,#102b1d,#08130f);border:1px solid #69ff9655;box-shadow:0 12px 35px #0005}.group-games{display:grid}.public-qualifier{animation:champion-glow 4s ease-in-out infinite}
.bracket-public{display:flex;gap:32px;overflow:auto;padding:20px 10px 40px}.public-round{display:flex;flex-direction:column;justify-content:space-around;gap:20px;min-width:245px;flex:1}.public-round h2{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--cyan);text-align:center}.public-match{position:relative;background:#0b1c15;border:1px solid #65ff9140;border-radius:10px;padding:12px;box-shadow:0 8px 30px #0005}.public-match>small{display:block;color:var(--muted);font-size:9px;margin-bottom:10px}.live-slot{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#10291e;border:1px solid #7dd59930;border-radius:5px;padding:10px 12px;margin-top:7px;font-size:13px;font-weight:700}.live-slot span{overflow-wrap:anywhere}.live-slot b{flex-shrink:0;min-width:25px;text-align:right;font-size:18px;font-variant-numeric:tabular-nums}.live-slot.winner{color:#eeffdf;border-color:#a9ff45;background:#214725;animation:champion-glow 4s ease-in-out infinite}.live-slot.winner b{color:#a9ff45}.live-slot.loser{background:#343c39;border-color:#69736d;color:#f0f4f1}.live-slot.loser b{color:#ff7e85}.public-round:last-child .public-match{border-color:#4fe5ff;border-radius:22px 5px 22px 5px;background:linear-gradient(140deg,#0c3029,#111d2b);box-shadow:0 0 25px #4fe5ff20}
@keyframes tech-grid{from{transform:translate(0,0)}to{transform:translate(64px,64px)}}@keyframes ambient-glow{0%,100%{opacity:.4}50%{opacity:1}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes card-glow{0%,100%{box-shadow:0 0 14px #75ff7410}50%{box-shadow:0 0 27px #75ff7428}}@keyframes champion-glow{0%,100%{box-shadow:0 0 5px #a9ff4530}50%{box-shadow:0 0 20px #a9ff4565}}@keyframes signal{0%,100%{opacity:1;box-shadow:0 0 8px #a9ff4580}50%{opacity:.45;box-shadow:0 0 0 #a9ff4500}}@keyframes group-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.fixture-side.right .fixture-name{grid-column:1;grid-row:1}.fixture-side.right .fixture-score{grid-column:2;grid-row:1}
@media(min-width:851px){#public-language-switch{top:33px!important;left:max(160px,calc((100vw - 1440px)/2 + 135px))!important}}
@media(max-width:1050px){.featured-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:430px}.mark-core{font-size:180px}.public-groups{gap:10px}}
@media(max-width:850px){.site-header{width:calc(100% - 32px);height:120px;align-items:flex-start;padding-top:15px;gap:15px}.logo-link{width:80px}.logo-link img{height:48px}.site-header nav{padding-top:15px;gap:15px;font-size:11px}.staff-link{margin-top:6px;padding:8px;font-size:10px}main{width:calc(100% - 40px)}.hero{grid-template-columns:1fr .7fr;gap:15px;padding:45px 0}.hero-mark{width:100%}.mark-core{font-size:130px}.hero h1{font-size:62px}.hero-text{font-size:14px}.hero-mark:after{font-size:6px}.live-main{width:calc(100% - 28px)}.group-live-heading{display:block}.section-heading{align-items:start}footer{width:calc(100% - 32px)}}
@media(max-width:520px){.site-header nav{gap:10px}.hero{grid-template-columns:1fr;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:1}.hero-mark{position:absolute;width:230px;right:-75px;top:25px;opacity:.18}.hero h1{font-size:70px}.hero-text{max-width:290px}.featured-cards{gap:12px}.event-info{padding:13px}.event-info h3{font-size:17px}.event-info>span{font-size:9px}.poster-placeholder>span{font-size:24px}.section-heading{display:block}.section-heading h2{font-size:26px}footer{gap:10px;font-size:8px}.live-title h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
#public-language-switch{position:fixed;z-index:20;top:18px;left:160px;display:flex;gap:4px;padding:4px;border:1px solid #6cff9552;border-radius:999px;background:#07140dd9;box-shadow:0 0 20px #0008}#public-language-switch button{min-width:40px;padding:6px 8px;border:0;border-radius:999px;background:transparent;color:#a9c6b5;font:800 11px/1 Inter,ui-sans-serif,sans-serif;cursor:pointer}#public-language-switch button[aria-pressed=true]{background:#6cff95;color:#06200e}.public-groups{animation:none}.public-groups.page-turn{animation:group-fade .42s ease both}.public-group{padding:0;overflow:hidden;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px))}.public-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px 10px;border-bottom:1px solid #70ff9a36;background:linear-gradient(100deg,#143e29,#082219)}.public-group-head p{margin:0;color:#caffdb;font-size:15px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.public-group-head span{padding:4px 6px;border:1px solid #46dfff5c;border-radius:3px;color:#74eaff;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.public-standings{width:100%;border-collapse:collapse;font-size:11px}.public-standings th{padding:8px 7px;border-bottom:1px solid #7effb824;color:#a6cbbb;font-size:8px;font-weight:900;letter-spacing:.06em;text-align:left;text-transform:uppercase}.public-standings th:last-child,.public-standings td:last-child{text-align:right}.public-standings td{padding:7px;border-bottom:1px solid #7effb814;color:#d6e8de}.public-standings td:nth-child(2){max-width:0;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.public-standings b{color:#aaff75;font-variant-numeric:tabular-nums}.public-standings .qualified-row{background:#5bff9220}.public-standings .qualified-row td:nth-child(2){color:#eaffdc}.public-qualifier{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px;padding:8px;border:1px solid #92ed4f;border-radius:7px;background:#173622;color:#e9ffd6;font-size:11px}.public-qualifier span{color:#baff49;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.fixtures-heading{margin:14px 12px 7px;color:#9dcaaf;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.group-games{gap:0;margin:0 10px 12px}.public-fixture{padding:7px 0;border-top:1px solid #7effb81c}.public-fixture>small{display:block;margin:0 0 4px;color:#82a898;font-size:8px;font-weight:900;letter-spacing:.08em}.public-fixture.is-tiebreak>small{color:#78e8ff}.fixture-row{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:4px}.fixture-row>i{color:#5fe6ff;font-size:9px;font-style:normal;font-weight:950;text-align:center}.fixture-side{display:grid;align-items:center;gap:6px;min-width:0;padding:5px;border:1px solid #b5e1c314;background:#0208069c;color:#dce9e1}.fixture-side.left{grid-template-columns:22px minmax(0,1fr);text-align:right}.fixture-side.right{grid-template-columns:minmax(0,1fr) 22px;text-align:left}.fixture-score{color:#bdd3c6;font-size:15px;font-variant-numeric:tabular-nums;text-align:center}.fixture-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700}.fixture-side.winner{border-color:#76ff9b;background:#1e5131;color:#f1fff5}.fixture-side.winner .fixture-score{color:#9dffb9}.fixture-side.loser{border-color:#77817d;background:#3b4241;color:#f5f8f6}.fixture-side.loser .fixture-score{color:#ff7980}@media(max-width:850px){#public-language-switch{top:78px;left:14px}.public-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){#public-language-switch{top:78px}.public-groups{grid-template-columns:1fr}.public-group-head p{font-size:14px}}
