@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-Bold.woff2)format("woff2");font-weight:700;font-display:swap}*{box-sizing:border-box}body{color:#f4f5ef;background:#0b0d0c;margin:0;font-family:Pretendard,system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer;background:var(--acid);color:#11150d;border:1px solid #0000;border-radius:6px;padding:13px 18px;font-weight:700;transition:background .15s,transform .15s}button:disabled{color:#9ca296;cursor:not-allowed;background:#272c27}button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.quiet{color:inherit;background:#ffffff05;border-color:#ffffff24}.quiet:disabled{color:#747a71;background:0 0;border-color:#ffffff12}:focus-visible{outline:3px solid var(--pink);outline-offset:4px}a{color:inherit;text-underline-offset:4px}#twitch-cup{max-width:1500px;margin:auto;padding:24px 44px 30px}header{border-bottom:1px solid #ffffff20;justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;display:flex}.wordmark{letter-spacing:-1.7px;align-items:center;gap:18px;font-size:29px;font-weight:900;text-decoration:none;display:flex}.wordmark span{letter-spacing:2px;color:var(--acid);border-left:1px solid #ffffff35;padding-left:18px;font-size:10px}.header-actions{align-items:center;gap:10px;display:flex}.header-actions button{font-size:12px}#connection{color:#a9b0a3;margin-right:12px;font-size:11px}#connection:before{content:"";background:#70776b;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}[data-connected=true] #connection:before{background:var(--acid)}.settings{color:#a9b0a3;text-align:right;margin:12px 0 0;font-size:12px}.settings summary{display:inline-block}.settings-body{text-align:left;background:#161a15;border:1px solid #ffffff20;border-radius:8px;grid-template-columns:minmax(200px,1fr) auto 2fr;align-items:center;gap:24px;margin-top:12px;padding:20px;display:grid}.settings-body p{overflow-wrap:anywhere;margin:0;line-height:1.8}label{color:#a9b0a3;margin:0 0 8px;font-size:11px;display:block}input,select{color:inherit;background:#0b0d0c;border:1px solid #ffffff35;border-radius:5px;width:100%;padding:11px}select option{background:#111}code{overflow-wrap:anywhere}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--acid);margin-left:14px;font-size:17px}details[open]>summary:after{content:"−"}#local-host-help{text-align:right;color:#bbc2b5;font-size:12px}#local-host-link{color:var(--acid)}.cup-heading{justify-content:space-between;align-items:flex-end;gap:30px;padding:22px 0 32px;display:flex}.eyebrow{letter-spacing:2px;color:#b3bba9;margin:0 0 14px;font-size:10px;font-weight:700}h1{letter-spacing:-3px;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(38px,4.65vw,70px);font-weight:900;line-height:.95}h1 em{color:var(--acid);font-style:normal}.tagline{color:#bbc2b5;margin:17px 0 0;font-size:14px}.format{text-align:right;flex-shrink:0;padding-bottom:4px}.format>strong{letter-spacing:-2px;font-size:42px;line-height:1.1;display:block}.format strong span{color:var(--acid);margin:0 16px;font-size:24px;font-weight:400}.format>span{color:#a9b0a3;margin-top:10px;font-size:11px;display:block}.tournament-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px;display:grid}.stage-column{min-width:0}.arena-shell{background:#11150f;border:1px solid #fff2;border-radius:10px;position:relative;overflow:hidden}.arena-caption{letter-spacing:.4px;border-bottom:1px solid #ffffff14;align-items:center;gap:16px;min-height:43px;padding:12px 18px;font-size:10px;display:flex}.arena-caption strong{color:var(--acid);flex-shrink:0}.arena-caption #pairing{color:#a9b0a3;text-align:right;overflow-wrap:anywhere;margin-left:auto}#rehearsal-watermark{color:#ffb4da;border:1px solid #ffb4da55;border-radius:3px;flex-shrink:0;padding:3px 6px;font-size:9px}#arena{aspect-ratio:16/9;background:#13190f;width:100%;min-height:260px}#arena iframe{border:0;width:100%;height:100%;display:block}.arena-empty{isolation:isolate;background:radial-gradient(at 50% 90%,#c7f94328,#0000 66%),#141a11;height:100%;position:relative;overflow:hidden}.stage-grid{z-index:-1;background-image:linear-gradient(#c5dd8610 1px,#0000 1px),linear-gradient(90deg,#c5dd8610 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.stage-label{letter-spacing:2px;color:#b3bba9;font-size:10px;line-height:1.6;position:absolute;top:24px;left:26px}.stage-vs{letter-spacing:-22px;color:var(--acid);opacity:.93;font-family:Arial,sans-serif;font-size:clamp(150px,21vw,300px);font-style:italic;font-weight:900;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-55%,-49%)}.stage-fighter{object-fit:contain;object-position:top;filter:drop-shadow(0 14px 20px #0008);width:46%;height:115%;position:absolute;bottom:-21%}.fighter-left{left:3%;transform:rotate(-5deg)}.fighter-right{right:1%;transform:rotate(5deg)}.stage-footer{letter-spacing:1px;background:linear-gradient(#0000,#0b110ee8);justify-content:space-between;align-items:end;padding:28px 24px 17px;font-size:13px;font-weight:700;display:flex;position:absolute;bottom:0;left:0;right:0}.stage-footer b{color:var(--acid);padding:0 10px}.stage-footer>span:last-child{letter-spacing:1.5px;color:#b7bfb0;font-size:8px}.lobby{background:#121510;border:1px solid #ffffff20;border-radius:10px;padding:22px}.lobby-heading{justify-content:space-between;align-items:center;display:flex}.lobby h2{letter-spacing:1px;margin:0;font-size:13px}.lobby-heading>strong{color:var(--acid);font-size:20px}#instruction{color:#a9b0a3;min-height:38px;margin:10px 0 20px;font-size:12px;line-height:1.65}.lineup-row{border-top:1px solid #ffffff12;align-items:center;gap:12px;min-height:69px;display:flex;position:relative}.slot-number{color:#4c5545;flex-shrink:0;width:30px;font-family:Arial,sans-serif;font-size:22px;font-weight:700}.lineup-row>div{flex-direction:column;gap:5px;min-width:0;display:flex}.lineup-row strong{letter-spacing:1px;color:#b6bead;text-transform:uppercase;overflow-wrap:anywhere;font-size:11px}.lineup-row>div>span{color:#88917f;overflow-wrap:anywhere;font-size:10px}.lineup-row img{object-fit:cover;object-position:top;background:#e2ffbf15;border-radius:4px;width:39px;height:48px}.lineup-row.filled strong{color:var(--white)}.lineup-row.filled .slot-number{color:var(--acid)}.actions{gap:8px;margin-top:20px;display:grid}.actions button{width:100%;font-size:13px}#notice{color:var(--acid);overflow-wrap:anywhere;margin:12px 0 0;font-size:11px;line-height:1.6}#notice:empty{display:none}.test-tools{color:#a9b0a3;border-top:1px solid #ffffff12;margin-top:17px;padding-top:16px;font-size:11px}.test-tools p{line-height:1.7}.test-tools button{width:100%;margin:5px 0;padding:10px;font-size:11px}#demo-form{gap:7px;margin-top:15px;display:grid}#demo-form label{margin:4px 0 0}.bracket{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 0;display:grid}.match{background:#ffffff02;border:1px solid #ffffff18;border-radius:6px;min-width:0;padding:15px}.match.active{border-color:var(--acid);background:#ceff0007}.match h2{color:#9fa994;letter-spacing:.6px;margin:0 0 13px;font-size:10px}.match:last-child h2:before{content:"◇ ";color:var(--acid)}.match p{overflow-wrap:anywhere;color:#aab39f;margin:5px 0;font-size:11px;line-height:1.5}.match .won{color:var(--acid);font-weight:700}#champion{background:var(--acid);color:#101509;letter-spacing:-.5px;text-align:center;overflow-wrap:anywhere;padding:20px;font-size:clamp(18px,2.2vw,30px);font-weight:700}.lower{grid-template-columns:minmax(0,1fr) 300px;gap:22px;margin-top:24px;display:grid}.lower>details{border-top:1px solid #fff2;padding:17px 0;font-size:12px}.roster summary span{color:#88917f;margin-left:14px;font-size:10px}.fighters{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;margin-top:18px;display:grid}.fighter-chip{text-align:left;align-items:center;gap:9px;min-width:0;padding:9px;font-size:10px;display:flex}.fighter-chip img{object-fit:cover;object-position:top;width:28px;height:34px}.fighter-chip code{font-size:10px}ol{margin-bottom:0;padding-left:16px}li{color:#a9b0a3;margin:7px 0;font-size:11px;line-height:1.6}footer{color:#7e8875;letter-spacing:.7px;border-top:1px solid #ffffff14;justify-content:space-between;gap:20px;margin-top:15px;padding-top:20px;font-size:9px;display:flex}[hidden]{display:none!important}.theater .settings,.theater #local-host-help,.theater .cup-heading,.theater .lobby,.theater .lower,.theater footer,.theater #connect,.theater #connection{display:none}.theater .tournament-layout{margin-top:20px;display:block}.theater #arena{aspect-ratio:auto;height:min(66dvh,750px);min-height:230px}.theater header{padding-bottom:14px}.theater #twitch-cup{padding-top:16px}@media (min-width:1600px){.stage-fighter{height:112%;bottom:-18%}.stage-vs{font-size:300px}}@media (max-width:1050px){#twitch-cup{padding:22px 24px}.tournament-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.lobby{padding:18px}.lower{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.stage-label{font-size:8px;top:16px;left:18px}.stage-footer>span:last-child{display:none}.stage-vs{font-size:23vw}.format{display:none}.settings-body{grid-template-columns:1fr auto}.settings-body p{grid-column:1/-1}}@media (max-width:740px){#twitch-cup{padding:18px 16px}header{gap:12px}.wordmark{gap:10px;font-size:23px}.wordmark span{display:none}.header-actions{gap:6px}.header-actions button{padding:10px;font-size:10px}#connection{overflow-wrap:anywhere;max-width:110px;margin:0;font-size:10px}.cup-heading{padding:22px 0 24px}h1{letter-spacing:-2px;font-size:clamp(35px,8.7vw,62px)}.eyebrow{font-size:8px}.tagline{font-size:12px}.tournament-layout{grid-template-columns:1fr;gap:18px}.arena-caption{gap:8px;padding:10px 12px;font-size:9px}#arena{min-height:210px}.stage-vs{letter-spacing:-15px;font-size:34vw}.stage-label{font-size:7px}.stage-footer{padding:24px 17px 14px;font-size:11px}.lobby{padding:18px}#instruction{min-height:0;margin-bottom:12px}#lineup{grid-template-columns:1fr 1fr;gap:0 15px;display:grid}.lineup-row{gap:8px;min-height:65px}.slot-number{width:22px;font-size:18px}.lineup-row img{width:30px;height:40px}.actions{margin-top:14px}.match{padding:11px}.match h2{font-size:9px}.match p{font-size:10px}.lower{grid-template-columns:1fr;gap:0;margin-top:12px}.roster summary span{margin:8px 0 0;font-size:10px;display:block}.roster summary{position:relative}.roster summary:after{position:absolute;top:0;right:0}footer{font-size:8px;line-height:1.6}.settings-body{gap:12px;padding:15px}.theater #arena{aspect-ratio:16/9;height:auto;min-height:190px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}[data-phase=running] .cup-heading,[data-phase=complete] .cup-heading{padding:18px 0}[data-phase=running] .cup-heading h1,[data-phase=complete] .cup-heading h1,[data-phase=running] .tagline,[data-phase=complete] .tagline,[data-phase=running] .format,[data-phase=complete] .format,[data-phase=running] .test-tools{display:none}[data-phase=running] .eyebrow,[data-phase=complete] .eyebrow{margin:0}.theater .cup-heading{padding:12px 0 0;display:block}.theater .cup-heading h1,.theater .tagline,.theater .format{display:none}.theater .eyebrow{margin:0}#twitch-cup{--type-label:12px;--type-small:14px;--type-body:16px;--type-section:18px;font-size:var(--type-body);line-height:1.5}h1{letter-spacing:-.055em;text-wrap:balance;font-size:clamp(44px,5.5vw,82px);line-height:.98}.eyebrow,.wordmark span{font-size:var(--type-label);letter-spacing:.14em}.tagline{letter-spacing:-.025em;font-size:clamp(16px,1.4vw,19px);line-height:1.6}.format>strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:56px}.format>span{font-size:var(--type-small)}.lobby h2{font-size:var(--type-section);letter-spacing:.035em;line-height:1.2}.lobby-heading>strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:28px}.lineup-row strong{font-size:var(--type-body);letter-spacing:.015em;line-height:1.3}.lineup-row>div>span{font-size:var(--type-label);line-height:1.4}.slot-number{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:26px}.header-actions button,.test-tools button{font-size:var(--type-small);line-height:1.4}.actions button{font-size:var(--type-body);letter-spacing:-.015em;line-height:1.4}#instruction,.settings,.test-tools,.settings-body p,#local-host-help{font-size:var(--type-small);line-height:1.6}#connection,label,#notice,.arena-caption,#rehearsal-watermark,.match h2,.roster summary span,li{font-size:var(--type-label);line-height:1.5}.arena-caption strong{font-size:var(--type-small);letter-spacing:.025em}.arena-caption #pairing{flex:1;min-width:0}.stage-label{font-size:var(--type-label);letter-spacing:.14em}.stage-footer>span:last-child{font-size:var(--type-small);letter-spacing:.04em;color:var(--white);display:block}.match h2{letter-spacing:.02em;margin-bottom:12px;font-weight:700}.match p{font-size:var(--type-small);line-height:1.55}.lower>details{font-size:var(--type-body);line-height:1.5}.fighters{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.fighter-chip code{font-size:13px;line-height:1.5}.fighter-blank{color:var(--acid);background:#e2ffbf15;border-radius:4px;flex-shrink:0;place-items:center;font-weight:900;display:grid}.lineup-row .fighter-blank{width:39px;height:48px;font-size:20px}.fighter-chip .fighter-blank{width:28px;height:34px;font-size:14px}footer{font-size:var(--type-label);letter-spacing:.025em;line-height:1.6}#champion{letter-spacing:-.035em;font-size:clamp(22px,2.5vw,36px);line-height:1.3}@media (max-width:740px){h1{letter-spacing:-.055em;font-size:clamp(28px,8.6vw,62px);line-height:1}.eyebrow{letter-spacing:.1em;font-size:11px}.stage-label{font-size:11px}.lineup-row strong{font-size:15px}.slot-number{font-size:22px}.lineup-row{min-height:76px}.lineup-row .fighter-blank{width:30px;height:40px}.match p{font-size:13px}.arena-caption{flex-wrap:wrap}.arena-caption #pairing{flex-basis:55%}.roster summary span{font-size:var(--type-label);padding-right:20px;line-height:1.5}.stage-footer{padding-top:22px}footer{flex-wrap:wrap;gap:6px 20px}}@media (max-width:520px){header{flex-wrap:wrap;gap:16px}.header-actions{gap:8px;width:100%}#connection{max-width:105px;margin-right:auto}.header-actions button{padding:11px 12px}}
