@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#060a11;--ink:#f2f6fc;--muted:#7e90a9;--blue:#398cff;--line:#ffffff12}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Golos Text',Arial,sans-serif;position:relative;isolation:isolate}body:before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:950px;background-image:linear-gradient(90deg,#060a11ed 3%,#060a11b0 34%,#060a1155 70%,#060a1155),linear-gradient(0deg,#060a11 4%,#060a1170 48%,transparent),url('assets/squad-custom.webp');background-size:cover;background-position:center top;pointer-events:none}a{color:inherit;text-decoration:none}button,input{font:inherit;touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{opacity:.35;cursor:not-allowed}header,main,footer{max-width:1160px;margin:auto;padding:0 30px}header{height:100px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Manrope,Arial,sans-serif;font-size:38px;letter-spacing:-3px;font-weight:800;line-height:1}.brand-dot{color:var(--blue)}.rating-link{font-size:11px;color:#a2b6d0;transition:color .2s}.rating-link:hover{color:white}.hero{display:flex;align-items:center;justify-content:space-between;min-height:220px;padding:25px 0 38px}.eyebrow{font-size:8px;letter-spacing:1.8px;color:#92a9c8;margin:0}h1{font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:62px;letter-spacing:-3px;line-height:1.1;margin:16px 0 15px}h1>span{color:var(--blue)}.hero-copy{font-size:12px;line-height:1.9;color:#90a6c3;margin:0}.round-chip{display:flex;align-items:center;gap:13px;padding:15px 20px;border:1px solid #b4d7ff21;border-radius:12px;background:#0b142357;backdrop-filter:blur(16px);margin-top:55px}.round-chip b{font-family:Manrope,sans-serif;font-size:38px;letter-spacing:-2px;line-height:1;font-weight:500}.round-chip>span{font-size:7px;letter-spacing:1px;line-height:1.8;color:#9ab6d8}.lab{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(265px,1fr);border:1px solid #adc9f01b;border-radius:18px;overflow:hidden;background:#0a1220b8;box-shadow:0 24px 80px #0004;backdrop-filter:blur(26px)}.camera{position:relative;min-height:452px;background:#080e18b3;overflow:hidden;border-right:1px solid var(--line)}video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scaleX(-1)}#overlay{position:absolute;inset:0;width:100%;height:100%;transform:none;object-fit:fill;z-index:1;pointer-events:none}.camera.file-mode video{transform:none;object-fit:contain}.camera.synced-preview video{opacity:0}.camtop,.camfoot{position:absolute;left:21px;right:21px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:3}.camtop{top:20px}.badge{display:flex;align-items:center;gap:7px;border-radius:20px;padding:8px 10px;background:#07101acc;color:#8da5c4;font-size:6px;letter-spacing:1px}.badge i{width:4px;height:4px;border-radius:50%;background:#455a75}.badge i.on{background:#72d7b1;box-shadow:0 0 8px #72d7b144}.small{background:#07101acc;border-radius:20px;padding:8px 10px;font-size:8px;color:#91a6c2}.camfoot{bottom:16px;font-size:6px;color:#56708f}.camfoot>span:last-child{font-size:7px}.camera.file-mode .camfoot{bottom:46px}.file-controls{position:absolute;bottom:12px;right:21px;display:flex;gap:8px;z-index:4}.file-controls button{font-size:8px;background:#0d1c2ecc;color:#b7cce5;padding:7px 10px;border-radius:5px}#placeholder{position:absolute;inset:60px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2}.camera-icon{width:60px;height:60px;display:grid;place-items:center;margin-bottom:24px;color:#7e9fc8;border:1px solid #ffffff10;background:#263d5c26;border-radius:18px}.camera-icon svg{width:32px;height:32px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linejoin:round}#placeholder h3{font-family:Manrope,Arial,sans-serif;font-size:23px;font-weight:500;letter-spacing:-.5px;margin:0}#placeholder p{font-size:10px;line-height:1.9;color:#6a85a8;margin:13px 0 24px}.primary{background:var(--blue);color:white;border-radius:8px;padding:14px 20px;min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:11px;font-weight:500;transition:background .2s,transform .2s}.primary:hover:enabled{background:#5b9fff;transform:translateY(-1px)}aside{padding:28px 29px;min-width:0}.scorehead{display:flex;justify-content:space-between;gap:10px;font-size:6px;letter-spacing:1px;color:#6f88a8}.scorehead span:last-child{color:#527eb5;font-size:5px}.player-label{display:block;font-size:10px;color:#8da3c0;margin-top:26px}.player-label input{display:block;width:100%;margin-top:9px;background:#06101b7a;border:1px solid #ffffff13;border-radius:7px;padding:11px 12px;font-size:11px;color:white;outline:none}.player-label input:focus{border-color:#398cff77}.player-label input::placeholder{color:#48617f}.score{display:flex;gap:22px;align-items:center;margin:12px 0 20px}.score>b{font-family:Manrope,Arial,sans-serif;font-size:100px;font-weight:500;line-height:1.13;letter-spacing:-5px}.score>div{font-size:10px;color:#9cb4d3}.score>div>span{display:block;font-size:8px;color:#496485;margin-top:6px}.timer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7c96b7}.timer b{font-family:Manrope,Arial,sans-serif;font-weight:400;font-size:26px;letter-spacing:-1px;color:#d5e4f7;font-variant-numeric:tabular-nums}.progress,.meter{height:2px;background:#1e3552;border-radius:6px;margin:12px 0 19px;overflow:hidden}.progress i,.meter i{display:block;height:100%;width:100%;background:var(--blue);transition:width .1s}aside>.primary{width:100%}.secondary{font-size:9px;padding:10px;color:#86a0c1;background:transparent;width:100%;margin-top:4px}#status{font-size:9px;line-height:1.8;color:#627fa3;min-height:34px;margin:12px 0 20px}.best{display:flex;align-items:center;justify-content:space-between;padding-top:17px;border-top:1px solid var(--line);font-size:9px;color:#627e9f}.best b{font-family:Manrope,Arial,sans-serif;font-size:17px;font-weight:500;letter-spacing:-.5px;color:#8cb9f1}.test-under{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:17px 5px 0}.test-under>p{font-size:9px;color:#3e5878;margin:0;line-height:1.8}.test-under>p>span{color:#6d8bab}.settings{max-width:320px;flex:1}summary{cursor:pointer;list-style:none;font-size:9px;color:#58769a}summary::-webkit-details-marker{display:none}summary>span{float:right;margin-left:24px}.settings>summary{text-align:right}.settings-body{padding:18px;border:1px solid var(--line);background:#0a1524;border-radius:10px;margin-top:15px}.meterlabel{display:flex;justify-content:space-between;gap:10px;font-size:8px;color:#8ba8cb}.meterlabel>span:last-child{font-size:6px;color:#72bba9}.meter{margin:8px 0 18px}.meter i{width:0;background:#72bba9}.sensitivity{font-size:10px;color:#a2b9d7}.sensitivity input{display:block;width:100%;accent-color:var(--blue);margin:13px 0}.sensitivity>span{display:flex;justify-content:space-between;font-size:7px;color:#506f96}.settings-body>p{font-size:9px;color:#506f96;line-height:1.8;margin-bottom:0}.file-setting{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.file-setting label{display:block;font-size:9px;color:#8ca7c9;margin-bottom:10px}.file-setting input{max-width:100%;font-size:8px}#pop{position:absolute;z-index:4;right:21px;top:60px;border-radius:6px;background:#398cff;color:white;padding:5px 11px;font:600 18px Manrope,sans-serif;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;pointer-events:none}#pop.show{opacity:1;transform:translateY(0)}#result{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px;margin-top:24px;border-radius:13px;border:1px solid #398cff33;background:#0d1e34}.eyebrow{font-size:7px;color:#789ac2}#result h2{font:500 48px Manrope,sans-serif;letter-spacing:-2px;color:#d0e5ff;margin:12px 0}#result p{font-size:10px;line-height:1.9;color:#7090b6;max-width:570px}#result .primary{white-space:nowrap;font-size:10px}.team{margin-top:50px;padding-top:27px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:21px}.section-heading h2{font-family:Manrope,sans-serif;font-size:23px;font-weight:500;letter-spacing:-.7px;margin:0}.blue-dot{color:var(--blue)}.leader-tag{font-size:6px;letter-spacing:1px;color:#405b7c}.leader-grid{display:grid;gap:7px}.rank-card{display:grid;grid-template-columns:40px 1fr 120px 100px;align-items:center;padding:16px 20px;background:#0d1725a0;border:1px solid #ffffff0a;border-radius:8px;font-size:11px}.position{color:#416386;font-size:9px}.nickname{color:#b9cde7}.round-count{color:#496e97;font-size:9px}.rating-score{text-align:right;color:#9fc7fa;font-size:13px}.rank-card:first-child .position{color:#398cff}#emptyTeam{padding:22px 0 26px;font-size:10px;color:#3e5a7b;margin:0}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:35px;padding-bottom:28px;margin-top:14px;color:#304865;font-size:7px;letter-spacing:.5px}footer p{font-size:7px;letter-spacing:0;margin:0}[hidden]{display:none!important}:focus-visible{outline:2px solid #398cff;outline-offset:4px}@media(min-width:1450px){body:before{background-size:1450px auto;background-repeat:no-repeat;background-position:right top}}@media(max-width:800px){header,main,footer{padding-left:5%;padding-right:5%}.lab{grid-template-columns:minmax(0,1.5fr) minmax(255px,1fr)}aside{padding:25px 22px}.camfoot>span:last-child{display:none}h1{font-size:55px}.hero{min-height:225px}.round-chip{margin-top:42px}.camera{min-height:450px}}@media(max-width:620px){body:before{height:770px;background-size:auto 650px;background-position:64% top;background-repeat:no-repeat;background-image:linear-gradient(90deg,#060a11c9,#060a1170),linear-gradient(0deg,#060a11 8%,#060a1160 60%,transparent),url('assets/squad-custom.webp')}header{height:82px}.brand{font-size:34px}.rating-link{font-size:10px}.hero{padding:26px 0 29px;min-height:200px;gap:20px}h1{font-size:48px;letter-spacing:-2px;margin:15px 0 14px}.hero-content>.eyebrow{font-size:6px;letter-spacing:1.3px}.hero-copy{font-size:10px;line-height:1.8}.round-chip{padding:12px 13px;gap:10px;border-radius:10px;margin-top:38px}.round-chip b{font-size:30px}.round-chip>span{font-size:5px;letter-spacing:.6px}.lab{grid-template-columns:1fr;border-radius:14px}.camera{min-height:325px;border-right:0;border-bottom:1px solid var(--line)}aside{padding:24px}.camera-icon{width:52px;height:52px;border-radius:15px;margin-bottom:18px}.camera-icon svg{width:28px;height:28px}#placeholder h3{font-size:21px}#placeholder p{font-size:9px;margin:10px 0 19px}.primary{font-size:11px;min-height:43px;padding:13px 19px}.camtop{top:15px;left:16px;right:16px}.camfoot{left:16px;right:16px;bottom:12px;font-size:6px}.badge{font-size:5px}.small{font-size:7px}.scorehead{font-size:7px}.scorehead span:last-child{font-size:6px}.player-label{font-size:11px;margin-top:21px}.player-label input{font-size:12px;padding:12px}.score{margin:12px 0 17px;gap:25px}.score>b{font-size:91px}.score>div{font-size:11px}.score>div>span{font-size:9px}.timer{font-size:11px}.timer b{font-size:26px}.best{font-size:10px}#status{font-size:10px}.best b{font-size:18px}.test-under{padding-top:15px;gap:15px}.test-under>p{font-size:8px}.settings{flex:1;min-width:0}.settings>summary{font-size:8px}.settings summary>span{margin-left:8px}.settings-body{width:calc(100vw - 10vw);position:relative;right:calc(100vw - 10vw - 100%);margin-top:15px}.sensitivity{font-size:11px}.sensitivity>span{font-size:8px}.settings-body>p{font-size:10px}.file-setting input{font-size:10px}.team{margin-top:38px;padding-top:25px}.section-heading h2{font-size:20px}.leader-tag{font-size:5px;letter-spacing:.5px}.rank-card{padding:15px 13px;grid-template-columns:28px 1fr 82px;font-size:10px}.round-count{display:none}.rating-score{font-size:12px}#emptyTeam{font-size:9px}footer{padding-top:23px;padding-bottom:24px;font-size:6px;gap:15px}footer p{font-size:6px;text-align:right;max-width:190px;line-height:1.8}#result{display:block;padding:23px}#result h2{font-size:43px}#result .primary{margin-top:15px}.file-controls{right:16px}#pop{right:16px;top:52px}}
/* Result and score presentation */
.hero{min-height:205px;padding-bottom:32px}.lab{display:block}.camera{min-height:420px;border-right:0;border-bottom:1px solid var(--line)}aside{padding:20px}.scorehead{margin-bottom:14px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat{padding:17px 20px;background:#13161ee8;border-left:3px solid #e43c43}.stat>span{display:block;font-size:10px;letter-spacing:2px;color:#7e8da6}.stat>b{display:block;font:700 42px Manrope,sans-serif;line-height:1.2;letter-spacing:-1.5px;color:#f5b537;margin-top:9px}.progress{height:6px;background:#171c27;border-radius:0;margin:16px 0 20px}.progress i{background:#f5b537}.round-actions{display:flex;align-items:center;justify-content:space-between;gap:24px}.round-actions>div:first-child{flex:1}.round-actions .primary{min-width:180px}.round-actions .secondary{width:auto;margin-left:10px}.round-actions #status{margin:9px 0 0;min-height:0}.best{border:0;padding:0;min-width:150px;gap:24px}.best b{white-space:nowrap}.test-under{justify-content:flex-end;padding-top:16px}.settings{width:290px;flex:initial}.rank-panel{display:flex;align-items:center;gap:17px;min-width:235px}.rank-emblem{width:75px;height:82px;display:grid;place-items:center;background:linear-gradient(150deg,#3e4b60,#101925);border:1px solid #ffffff28;clip-path:polygon(50% 0,95% 22%,87% 74%,50% 100%,13% 74%,5% 22%);font:700 24px Manrope,sans-serif;text-shadow:0 0 20px currentColor;flex-shrink:0}.rank-panel h3{font:600 24px Manrope,sans-serif;letter-spacing:-.6px;margin:8px 0 0}#result{flex-wrap:wrap;padding:27px;gap:25px;background:linear-gradient(120deg,#101f33,#0b1421);border-color:#7488a433}.result-score{flex:1;min-width:180px}#result h2{font-size:36px;letter-spacing:-1.5px;margin:0 0 9px}#result p{font-size:10px;margin:0}.result-actions{display:flex;flex-direction:column;gap:11px;min-width:180px}.prize-link{gap:32px;background:linear-gradient(110deg,#e0ad4f,#f5cb79);color:#20190c;box-shadow:0 4px 24px #e0ad4f14}.prize-link:hover{background:#ffda95}.text-button{background:transparent;color:#6883a6;font-size:9px;padding:4px}.fan-records{margin-top:45px;padding-top:25px;border-top:1px solid var(--line)}.fan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fan-card{border:1px solid #ffffff12;border-radius:11px;overflow:hidden;background:#0d1725;transition:transform .2s}.fan-card:hover{transform:translateY(-4px)}.fan-portrait{aspect-ratio:1/1.72;background-image:url('assets/team-records.webp');background-repeat:no-repeat;background-size:400% 100%;background-position:0 0;position:relative}.fan-portrait:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#0d1725)}.spirit .fan-portrait{background-position:33.333% 0}.liquid .fan-portrait{background-position:66.666% 0}.pari .fan-portrait{background-position:100% 0}.fan-card-info{padding:3px 18px 20px;margin-top:-3px;position:relative}.fan-card-info>span{font-size:9px;letter-spacing:1px;color:#a1b7d1}.fan-card-info>strong{display:block;font:600 35px Manrope,sans-serif;letter-spacing:-1px;color:#8dc7df;margin-top:8px}.fan-card-info small{font:8px 'Golos Text',sans-serif;margin-left:9px;letter-spacing:1px;color:#6c849e}.spirit .fan-card-info>strong{color:#e0e6ef}.liquid .fan-card-info>strong{color:#8aafff}.pari .fan-card-info>strong{color:#72d8ab}.fan-note{font-size:8px;color:#405875;margin:15px 0 0}.rank-scale{border-top:1px solid var(--line);margin-top:32px;padding:21px 0}.rank-scale>div{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:20px}.rank-scale>div>span{background:#0e1928;border-radius:6px;padding:12px;font-size:10px;color:#93aac6;display:flex;justify-content:space-between;gap:12px}.rank-scale b{color:#ddb86d;font-weight:500}.rank-scale p{font-size:8px;color:#405875;margin-top:15px}@media(max-width:700px){h1{font-size:46px}.hero{min-height:195px}.camera{min-height:330px}aside{padding:15px}.stat{padding:13px 12px}.stat>span{font-size:8px;letter-spacing:1.4px}.stat>b{font-size:34px;margin-top:10px}.stats-grid{gap:9px}.round-actions{align-items:flex-start;gap:15px}.round-actions .primary{min-width:150px;font-size:10px}.round-actions .secondary{margin:6px 0 0;display:block;padding-left:0}.best{min-width:0;display:block;text-align:right;font-size:8px}.best b{display:block;margin-top:7px;font-size:16px}.round-actions #status{font-size:9px}.progress{height:4px;margin-top:12px}.test-under{padding-top:14px}.settings{width:100%}.settings>summary{font-size:9px}.settings-body{right:0;width:100%}.rank-panel{min-width:0;gap:14px}.rank-emblem{width:64px;height:72px}.rank-panel h3{font-size:23px}#result{padding:22px;gap:20px}.result-score{min-width:0;flex-basis:100%}#result h2{font-size:35px}.result-actions{width:100%;gap:13px}#result .primary{margin:0;font-size:12px}.text-button{font-size:10px}.fan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fan-card-info{padding:2px 14px 17px}.fan-card-info>span{font-size:8px}.fan-card-info>strong{font-size:32px}.fan-portrait{aspect-ratio:1/1.7}.fan-note{font-size:7px;line-height:1.7}.rank-scale>div{grid-template-columns:repeat(2,1fr)}.rank-scale>div>span{font-size:9px;padding:11px}.fan-records{margin-top:35px}.section-heading h2{font-size:21px}.leader-tag{font-size:5px}.hero-copy{font-size:11px}}
.fan-portrait{aspect-ratio:1/2}@media(max-width:700px){.fan-portrait{aspect-ratio:1/2}}
/* Arena composition, rank guide and result reveal */
body:before{height:980px;background-image:radial-gradient(ellipse at 75% 12%,#12568c55,transparent 53%),linear-gradient(0deg,#060a11 10%,#060a1122);background-size:cover;background-repeat:no-repeat}.arena-scenery{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:min(1280px,100%);height:610px;z-index:-1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 55%,transparent 100%)}.arena-scenery>img{width:100%;height:auto;display:block;opacity:.82}.arena-scenery:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#060a11f5 0%,#060a1190 30%,transparent 61%)}.arena-glow{position:absolute;right:15%;top:60px;width:320px;height:320px;background:#1594f31c;border-radius:50%;filter:blur(60px);animation:arena-breathe 6s ease-in-out infinite;mix-blend-mode:screen}.hero{min-height:320px;align-items:center;padding-bottom:42px}.hero-content{max-width:400px}.hero h1{font-size:61px}.test-section{position:relative;padding-left:197px}.rank-rail{position:absolute;left:0;top:0;width:174px;border:1px solid #ffffff10;border-radius:13px;background:#0a1321d9;backdrop-filter:blur(20px);padding:17px 12px}.rail-title{font-size:8px;letter-spacing:1.5px;color:#8ea5c3;margin-bottom:14px}.music-toggle{display:block;width:100%;background:#13243b;border:1px solid #253d5d;color:#8ba9ce;border-radius:6px;font-size:8px;padding:9px 4px;margin-bottom:18px}.music-toggle[aria-pressed=true]{color:#ebcf91;border-color:#8a6c39;background:#2d2418}.live-rank{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 2px 13px;border-bottom:1px solid var(--line);font-size:8px;color:#4e709b}.live-rank>b{color:#e0c286;font-size:10px;font-weight:500}.rank-list{display:flex;flex-direction:column;gap:3px;margin-top:11px}.rank-tier{display:flex;align-items:center;gap:8px;padding:6px 5px;border:1px solid transparent;border-radius:7px;opacity:.4;transition:opacity .25s,background .25s,border .25s}.rank-tier img{width:35px;height:35px;object-fit:contain;flex-shrink:0}.rank-tier b{display:block;font-size:9px;font-weight:500;color:#a7b9d0}.rank-tier span{display:block;font-size:7px;color:#537197;margin-top:4px}.rank-tier.is-passed{opacity:.72}.rank-tier.is-current{opacity:1;background:linear-gradient(90deg,#58401b44,#101a2d);border-color:#b58c4544}.rank-tier.is-current b{color:#e6c484}.rank-progress{height:3px;background:#14243a;overflow:hidden;margin:15px 3px 0;border-radius:3px}.rank-progress i{display:block;width:0;height:100%;background:#d8b66a;transition:width .2s}#nextRankText{font-size:7px;color:#6684aa;margin:9px 3px 0;line-height:1.8}.camera{min-height:390px}.fan-portrait{background-image:url('assets/team-poses-v2.webp')}.rank-modal{border:1px solid #d1ad6a66;border-radius:19px;background:radial-gradient(ellipse at 50% 28%,#41435b6b,transparent 63%),linear-gradient(150deg,#172339,#080f1d 68%);color:#f2f4fa;width:min(430px,calc(100vw - 36px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:34px 38px 27px;text-align:center;box-shadow:0 0 120px #0a132f,0 30px 100px #000a;animation:rank-reveal .42s cubic-bezier(.2,.8,.2,1);isolation:isolate}.rank-modal::backdrop{background:#020713d9;backdrop-filter:blur(12px)}.modal-close{position:absolute;right:16px;top:12px;background:transparent;color:#7c91b1;font:24px Manrope,sans-serif;padding:0 6px;z-index:3}.rank-modal>.eyebrow{font-size:7px;letter-spacing:2px;color:#7b94b7;margin-top:9px}.modal-rays{position:absolute;inset:0;z-index:-1;background:repeating-conic-gradient(from -10deg at 50% 35%,transparent 0deg 16deg,#eec07107 17deg 19deg,transparent 20deg 34deg);mask-image:radial-gradient(ellipse at 50% 30%,#000,transparent 65%);pointer-events:none}.rank-modal .rank-panel{display:flex;flex-direction:column;gap:0;min-width:0;margin-top:12px}.dota-medal{width:170px;height:170px;object-fit:contain;filter:drop-shadow(0 0 25px #d29e4b45);animation:medal-float 4s ease-in-out infinite}.rank-panel>span{font-size:8px;letter-spacing:2px;color:#8299ba;margin-top:12px}.rank-modal .rank-panel h3{font:600 37px Manrope,sans-serif;letter-spacing:-1px;margin:8px 0}.modal-score{font:500 24px Manrope,sans-serif;letter-spacing:-.6px;color:#e3e9f4;margin-top:10px}.modal-copy{font-size:10px;color:#647fa7;line-height:1.8;margin:12px 0 23px}.rank-modal .result-actions{display:flex;flex-direction:column;gap:11px;width:100%;min-width:0}.rank-modal .prize-link{justify-content:space-between;padding:15px 21px;font-size:12px;min-height:49px}.rank-modal .secondary{width:100%;background:#ffffff06;border:1px solid #ffffff15;border-radius:7px;padding:12px;color:#93a8c6;font-size:11px;margin:0}.rank-modal .text-button{font-size:9px;padding:4px;margin:0}.rank-toast{position:fixed;left:28px;bottom:26px;display:flex;align-items:center;gap:12px;z-index:40;background:linear-gradient(120deg,#172943f5,#0b1425f5);backdrop-filter:blur(16px);border:1px solid #b9934c66;border-radius:11px;padding:12px 24px 12px 12px;box-shadow:0 12px 50px #0008;animation:toast-in .3s ease-out;pointer-events:none}.rank-toast>img{width:60px;height:60px;object-fit:contain}.rank-toast span{display:block;font-size:6px;letter-spacing:1.8px;color:#bca379}.rank-toast b{display:block;font:500 18px Manrope,sans-serif;letter-spacing:-.3px;margin:5px 0;color:#e2c48a}.rank-toast small{display:block;font-size:8px;color:#7190b5}.pari .fan-card-info>strong{color:#64e6df}#result h2{font-size:30px}#result .primary{white-space:nowrap}.rank-scale{display:none}@keyframes rank-reveal{from{opacity:0;transform:translateY(20px) scale(.93)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes medal-float{50%{transform:translateY(-5px)}}@keyframes arena-breathe{50%{opacity:.35;transform:scale(1.15)}}@keyframes toast-in{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@media(max-width:850px){.test-section{padding-left:165px}.rank-rail{width:147px;padding:15px 8px}.rank-tier{gap:5px;padding:6px 2px}.rank-tier img{width:30px;height:30px}.rank-tier b{font-size:8px}.rank-tier span{font-size:6px}.hero h1{font-size:54px}.hero{min-height:290px}.camera{min-height:355px}.round-actions{flex-wrap:wrap}.round-actions .best{margin-left:auto}.stats-grid{gap:7px}.stat{padding:13px 11px}.stat>b{font-size:31px}}@media(max-width:620px){body:before{height:1050px;background-image:radial-gradient(ellipse at 80% 10%,#173f7055,transparent 60%),linear-gradient(#060a1100,#060a11)}.arena-scenery{top:53px;height:350px;width:100%;mask-image:linear-gradient(#000 40%,transparent 100%)}.arena-scenery>img{width:100%;height:auto;opacity:.9}.arena-scenery:after{background:linear-gradient(0deg,#060a11 0%,#060a1144 45%,transparent 85%)}.arena-glow{width:180px;height:180px;right:0;top:10px;filter:blur(30px)}.hero{min-height:325px;align-items:flex-end;padding:175px 0 27px}.hero h1{font-size:44px;letter-spacing:-1.5px;margin:13px 0 12px}.hero-content{width:100%;max-width:none}.hero-copy{font-size:10px}.test-section{padding-left:0}.rank-rail{position:relative;width:100%;padding:13px 12px;margin-bottom:14px;border-radius:11px;display:grid;grid-template-columns:1fr auto;gap:0 15px}.rail-title{margin:5px 0 10px;font-size:8px;align-self:center}.music-toggle{grid-column:2;grid-row:1;width:auto;padding:7px 10px;margin:0 0 9px;font-size:7px}.live-rank{grid-column:1/-1;padding:0 2px 10px;font-size:7px}.live-rank>b{font-size:9px}.rank-list{grid-column:1/-1;flex-direction:row;overflow-x:auto;gap:4px;margin:8px -3px 0;padding:0 2px 3px;scrollbar-width:thin;scrollbar-color:#28486e transparent}.rank-tier{flex-direction:column;min-width:69px;padding:7px 5px;text-align:center;gap:4px}.rank-tier img{width:34px;height:34px}.rank-tier b{font-size:7px;white-space:nowrap}.rank-tier span{font-size:6px;margin-top:4px}.rank-progress{grid-column:1/-1;margin:11px 1px 0}#nextRankText{grid-column:1/-1;margin:7px 1px 0;font-size:7px}.camera{min-height:310px}.round-actions .best{margin-left:auto}.stat>span{font-size:7px}.stat>b{font-size:31px}.rank-modal{padding:29px 25px 23px}.dota-medal{width:155px;height:155px}.rank-modal .rank-panel h3{font-size:34px}.modal-score{font-size:23px}.modal-copy{font-size:10px}.rank-toast{left:16px;bottom:16px;right:16px;padding:9px 15px;gap:10px}.rank-toast>img{width:48px;height:48px}.rank-toast b{font-size:16px}.rank-toast small{font-size:7px}#result{display:block}#result .primary{margin-top:17px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.arena-glow,.dota-medal,.rank-modal,.rank-toast{animation:none}.progress i,.rank-progress i{transition:none}}
.rating-link{color:#edf6ff;background:#07101dc9;border:1px solid #76a8de55;border-radius:7px;padding:10px 14px;font-weight:500;backdrop-filter:blur(12px);text-shadow:0 1px 5px #000}.rating-link:hover{color:#fff;background:#163352;border-color:#80b8f4}.records-access{display:flex;justify-content:flex-end;margin-top:22px}.records-trigger{display:flex;align-items:center;gap:38px;background:#101d2c;border:1px solid #ffffff15;border-radius:7px;padding:12px 16px;font-size:11px;color:#a8c1df}.records-trigger:hover{background:#172c44;color:#fff}.records-trigger>span{color:#579ee9}.records-modal{width:min(580px,calc(100vw - 36px));max-height:calc(100dvh - 50px);overflow:auto;background:linear-gradient(140deg,#152136,#08111e);border:1px solid #7896be44;color:#eef4fd;border-radius:15px;padding:32px;box-shadow:0 25px 100px #000b}.records-modal::backdrop{background:#020713cf;backdrop-filter:blur(10px)}.records-modal .section-heading{margin:0 24px 10px 0}.records-modal .section-heading h2{font-size:26px}.records-caption{font-size:10px;color:#617c9e;margin:0 0 24px}.records-modal .rank-card{grid-template-columns:28px 1fr 90px 85px;padding:15px 12px}.fan-records{margin-top:28px}@media(max-width:620px){.rating-link{font-size:9px;padding:9px 11px}.records-access{margin-top:19px}.records-trigger{font-size:10px;padding:11px 14px;gap:28px}.records-modal{padding:27px 20px}.records-modal .rank-card{grid-template-columns:25px 1fr 80px}.records-modal .round-count{display:none}.records-modal .section-heading h2{font-size:23px}.records-caption{font-size:9px}.fan-records{margin-top:24px}}

.header-actions{display:flex;align-items:center;gap:10px}.header-actions .records-trigger{gap:14px;padding:10px 14px;font-size:11px;color:#d9e8fa;background:#0b1728cc;border-color:#76a8de40;backdrop-filter:blur(12px)}.hero-telegram{display:inline-flex;align-items:center;gap:9px;margin-top:21px;padding:9px 12px;border:1px solid #62acff33;border-radius:7px;background:#081625b3;color:#b8d9ff;font-size:11px;transition:background .2s,border-color .2s}.hero-telegram>span{color:#6ba7e8}.hero-telegram:hover{background:#123453;border-color:#62acff88;color:white}@media(max-width:620px){header{gap:12px}.header-actions{gap:6px}.header-actions .records-trigger{font-size:9px;padding:9px 10px;gap:7px}.header-actions .rating-link{font-size:8px;padding:9px 8px}.hero-telegram{font-size:10px;margin-top:15px;padding:8px 10px}.hero{padding-bottom:25px}}@media(max-width:380px){.header-actions{flex-direction:column;align-items:stretch;gap:5px}.header-actions .records-trigger,.header-actions .rating-link{font-size:8px;padding:7px 9px}header{height:105px}}

/* Records sit in the portrait corner, clear of the player's face. */
.fan-card{position:relative}.fan-card-info{padding:14px 18px 17px;margin-top:0;border-top:1px solid #ffffff08}.fan-card-info>strong{position:absolute;top:13px;right:12px;z-index:2;margin:0;padding:9px 11px 8px;min-width:75px;border:1px solid #99cfff30;border-radius:9px;background:linear-gradient(135deg,#112239e8,#07101be8);box-shadow:0 6px 22px #0005;backdrop-filter:blur(12px);font-size:27px;line-height:1.1;letter-spacing:-1px}.record-label{display:block;font:500 6px 'Golos Text',sans-serif;letter-spacing:1.5px;color:#91a8c3;margin-bottom:5px}.fan-card-info small{font-size:6px;margin-left:5px;letter-spacing:.8px;color:#9bb0c9}.fan-card-info{position:static}.spirit .fan-card-info>strong{border-color:#e0e6ef30}.liquid .fan-card-info>strong{border-color:#8aafff40}.pari .fan-card-info>strong{border-color:#64e6df40}@media(max-width:700px){.fan-card-info{padding:12px 13px 14px}.fan-card-info>strong{top:9px;right:8px;font-size:24px;padding:7px 9px;min-width:68px}.record-label{font-size:5px;letter-spacing:1.1px;margin-bottom:4px}.fan-card-info small{font-size:5px;margin-left:4px}}

.fan-card-info>strong{display:flex;align-items:baseline;gap:5px;top:10px;right:10px;min-width:0;padding:7px 10px;font-size:22px;font-weight:600;line-height:1;letter-spacing:-.6px;border-radius:5px;background:#07111c55;border:1px solid #d2e5ff1c;box-shadow:none;backdrop-filter:blur(5px);text-shadow:0 1px 8px #0009}.fan-card-info small{margin:0;font-size:8px;font-weight:500;letter-spacing:.5px;color:inherit;opacity:.8}.spirit .fan-card-info>strong,.liquid .fan-card-info>strong,.pari .fan-card-info>strong{border-color:#d2e5ff1c}@media(max-width:700px){.fan-card-info>strong{top:8px;right:8px;padding:6px 8px;font-size:20px;gap:4px}.fan-card-info small{font-size:7px}}

/* Friend duel */
.battle-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0b1422e6;border:1px solid #ffffff13;border-radius:13px;padding:20px 22px;margin-bottom:16px}.battle-bar h2{font:600 19px Manrope,sans-serif;letter-spacing:-.5px;margin:7px 0}.battle-bar p{font-size:10px;color:#8fa7c5;line-height:1.6;margin:0;max-width:390px}.battle-actions{display:flex;gap:8px;flex-wrap:wrap}.battle-actions .secondary{border:1px solid #659cf747;background:#14243a;border-radius:7px;padding:12px 16px;font-size:11px;color:#d3e4fa}.battle-actions .primary{min-width:0;font-size:11px;padding:12px 16px}.battle-room{border:1px solid #4778b544;background:#0a1423;border-radius:13px;overflow:hidden;margin-bottom:16px}.battle-invite{padding:10px 14px;display:flex;gap:10px;background:#0c1b2c}.battle-invite input{min-width:0;width:100%;background:none;border:0;font-size:10px;color:#89a9cc;outline-offset:4px}.battle-invite .small{white-space:nowrap}.opponent-camera{position:relative;aspect-ratio:16/8;max-height:340px;overflow:hidden;background:radial-gradient(ellipse,#14283d,#080e18)}.opponent-camera video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none}.opponent-label{position:absolute;top:15px;left:17px;z-index:1;font-size:8px;letter-spacing:1.5px;background:#050c16bb;padding:8px 10px;border-radius:5px;color:#bdd1ec}#battleHideVideo{position:absolute;top:15px;right:17px;z-index:1}#opponentWaiting{position:absolute;inset:0;display:grid;place-items:center;color:#65809f;font-size:14px}.battle-scoreboard{padding:15px 20px;display:flex;align-items:center;justify-content:center;gap:26px;border-top:1px solid #ffffff0c}.battle-scoreboard>div{display:flex;align-items:baseline;gap:7px}.battle-scoreboard>div>span{font-size:8px;color:#7597be;margin-right:6px;letter-spacing:1px}.battle-scoreboard b{font:600 29px Manrope,sans-serif;color:#b6d6ff}.battle-scoreboard small{font-size:8px;color:#6384ab}.versus{font-size:9px;color:#49678b}.battle-scoreboard .primary{font-size:11px;min-width:0;padding:12px 22px;margin-left:auto}#battleCountdown{position:absolute;inset:0;display:grid;place-items:center;z-index:2;background:#03081377;font:800 80px Manrope,sans-serif;color:#fff;text-shadow:0 0 45px #398cff}#battleOutcome{margin:0;text-align:center;color:#c8e0ff;font:600 16px Manrope,sans-serif;padding:0 15px 16px}#battleOutcome:empty{display:none}.video-concealed{visibility:hidden}.rank-rail{top:0}.battle-bar~.rank-rail{top:0}@media(max-width:620px){.battle-bar{padding:16px;align-items:flex-start;flex-direction:column}.battle-bar h2{font-size:18px}.battle-bar p{font-size:10px}.battle-scoreboard{gap:12px;padding:13px 12px;flex-wrap:wrap}.battle-scoreboard b{font-size:24px}.battle-scoreboard .primary{margin-left:5px;padding:10px 15px}.opponent-camera{aspect-ratio:4/3}.battle-scoreboard>div{gap:4px}.battle-scoreboard>div>span{font-size:7px;margin-right:2px}}

.test-section.in-duel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.in-duel .battle-bar{grid-column:1/-1;margin-bottom:0}.in-duel .battle-room{grid-column:2;grid-row:2;margin-bottom:0;align-self:start}.in-duel .lab{grid-column:1;grid-row:2;min-width:0}.in-duel .lab .camera{min-height:290px}.in-duel .opponent-camera{aspect-ratio:4/3;height:290px;max-height:none}.in-duel .battle-invite{padding:11px 10px}.in-duel .battle-invite input{font-size:8px}.in-duel .opponent-label{top:13px;font-size:6px}.in-duel .battle-scoreboard{flex-wrap:wrap;gap:13px}.in-duel .battle-scoreboard .primary{margin:0;width:100%}.in-duel .battle-scoreboard b{font-size:27px}.in-duel .lab aside{padding:16px 12px}.in-duel .stat{padding:12px 8px}.in-duel .stat>span{font-size:6px;letter-spacing:1px}.in-duel .stat>b{font-size:27px}.in-duel .round-actions{display:block}.in-duel .best{margin-top:12px}.in-duel .test-under,.in-duel #result{grid-column:1/-1}.in-duel .test-under{padding-top:0}.in-duel .camera-icon{width:45px;height:45px}.in-duel #placeholder h3{font-size:19px}.in-duel #placeholder p{font-size:10px}.in-duel #placeholder .primary{font-size:10px;padding:12px 15px;min-width:0}.in-duel #placeholder{inset:45px 10px}.in-duel .camfoot{left:12px;right:12px;gap:7px}.in-duel .camfoot>span:last-child{font-size:5px}.in-duel .camtop{left:10px;right:10px}.in-duel .badge{font-size:5px;padding:6px}.in-duel #disconnect{font-size:6px}.in-duel .battle-invite{position:relative;z-index:1}@media(max-width:850px){.test-section.in-duel{grid-template-columns:1fr}.in-duel .battle-bar,.in-duel .battle-room,.in-duel .lab,.in-duel .test-under,.in-duel #result{grid-column:1;grid-row:auto}.in-duel .battle-room{grid-row:2}.in-duel .lab{grid-row:3}.in-duel .opponent-camera{height:260px}.in-duel .lab .camera{min-height:310px}.in-duel .battle-scoreboard .primary{width:auto;margin-left:auto}.in-duel .battle-scoreboard{flex-wrap:nowrap}.in-duel .rank-rail{grid-column:1}.in-duel #placeholder h3{font-size:24px}.in-duel .stat>span{font-size:8px}.in-duel .stat>b{font-size:34px}}@media(max-width:620px){.in-duel .rank-rail{grid-row:1}.in-duel .battle-bar{grid-row:2}.in-duel .battle-room{grid-row:3}.in-duel .lab{grid-row:4}.in-duel .opponent-camera{height:240px}.in-duel .battle-scoreboard{gap:11px}.in-duel .battle-scoreboard b{font-size:24px}}

/* Mode selection and clearer type scale */
.battle-bar{display:none}.in-duel .battle-bar{display:flex}.mode-buttons{display:flex;justify-content:center;align-items:stretch;gap:12px;margin-top:26px}.mode-buttons .primary,.mode-duel{display:flex;align-items:center;justify-content:center;gap:18px;min-height:50px;min-width:175px;padding:14px 21px;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap;margin:0!important}.mode-duel{background:#152237;border:1px solid #7b9dcc40;color:#edf4ff;transition:background .2s,border-color .2s}.mode-duel:hover{background:#213651;border-color:#87b8ff80}.mode-duel>span{font-size:10px;font-weight:500;color:#8baee1;border-left:1px solid #a8c6f52b;padding-left:13px}.hero-telegram{gap:12px;padding:0 0 9px;margin-top:24px;background:none;border:0;border-bottom:1px solid #80baff55;border-radius:0;color:#e2eeff;font-size:13px;font-weight:600;backdrop-filter:none}.hero-telegram>svg{width:20px;height:20px;color:#65b7ff}.hero-telegram>span{color:inherit}.hero-telegram .telegram-arrow{width:14px;height:14px;margin-left:24px;color:#87a3c8}.hero-telegram:hover{background:none;border-color:#95d2ff;color:#fff}.hero-telegram:hover .telegram-arrow{color:white;transform:translate(2px,-2px)}.rail-title{font-size:10px}.music-toggle{font-size:10px;padding:11px 5px}.live-rank{font-size:10px}.live-rank>b{font-size:12px}.rank-tier b{font-size:11px}.rank-tier span{font-size:9px}.rank-tier img{width:37px;height:37px}.rank-tier{padding:7px 4px}.rank-list{gap:5px}#nextRankText{font-size:9px}.badge{font-size:8px}.camfoot,.camfoot>span:last-child{font-size:9px}.small{font-size:10px}.scorehead{font-size:9px}#status{font-size:12px}.battle-bar .eyebrow{font-size:13px;letter-spacing:2px}.battle-bar h2{font-size:24px}.battle-bar p{font-size:12px}.battle-actions .small{font-size:11px}.battle-scoreboard>div>span{font-size:10px}.battle-scoreboard small{font-size:10px}.battle-invite input{font-size:12px}.opponent-label{font-size:10px}.battle-scoreboard .primary{font-size:13px}.in-duel .battle-invite input{font-size:10px}.in-duel .opponent-label{font-size:9px}.in-duel .camfoot>span:last-child{font-size:8px}.in-duel .badge{font-size:7px}.in-duel #disconnect{font-size:9px}.in-duel .stat>span{font-size:8px}@media(max-width:850px){.rank-tier b{font-size:10px}.rank-tier span{font-size:8px}.rank-tier img{width:31px;height:31px}.rail-title{font-size:9px}.live-rank{font-size:9px}.live-rank>b{font-size:11px}#nextRankText{font-size:8px}.mode-buttons{gap:10px;flex-wrap:wrap}.mode-buttons .primary,.mode-duel{font-size:12px;min-width:165px;padding:13px 17px}}@media(max-width:620px){.hero-telegram{font-size:12px;margin-top:19px}.hero-telegram>svg{width:18px;height:18px}.hero-telegram .telegram-arrow{margin-left:15px}.rail-title{font-size:10px}.music-toggle{font-size:10px;padding:8px 11px}.rank-tier b{font-size:9px}.rank-tier span{font-size:8px}.rank-tier{min-width:77px}.live-rank{font-size:10px}.live-rank>b{font-size:12px}#nextRankText{font-size:9px}.mode-buttons{width:min(100%,330px);gap:10px;margin-top:22px}.mode-buttons .primary,.mode-duel{width:100%;min-height:48px;font-size:13px}#placeholder{inset:45px 18px}#placeholder h3{font-size:25px;margin-bottom:8px}#placeholder p{font-size:12px}.camera:not(.synced-preview){min-height:415px}.camera-icon{width:48px;height:48px}.camera-icon svg{width:32px;height:32px}.camfoot,.camfoot>span:last-child{font-size:8px}.badge{font-size:7px}.small{font-size:10px}.in-duel .camera:not(.synced-preview){min-height:340px}.in-duel .mode-buttons{margin-top:16px}.in-duel .battle-bar h2{font-size:22px}.in-duel .battle-bar p{font-size:12px}}

.mode-duel>span{font-size:12px}#placeholder>p{font-size:13px}.battle-bar .eyebrow{font-size:16px}@media(max-width:620px){.mode-duel>span{font-size:11px}}

footer.brand-footer{display:block;max-width:none;width:100%;margin:55px 0 0;padding:0 3vw;overflow:hidden;border-top:1px solid #ffffff0c}footer.brand-footer>a{display:block;width:100%;font-family:Manrope,Arial,sans-serif;font-size:17.2vw;font-weight:800;line-height:1.15;letter-spacing:-.075em;text-align:center;color:#21334b;white-space:nowrap;transition:color .25s}footer.brand-footer>a:hover{color:#527fb5}@media(max-width:620px){footer.brand-footer{margin-top:34px;padding:8px 3vw 0}}

footer.brand-footer{position:relative;height:150px;margin:45px 0 0;padding:0;border:0;overflow:hidden;pointer-events:none;user-select:none;mask-image:linear-gradient(transparent,#000 25%)}.footer-pattern{position:absolute;inset:8px -35px -20px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:17px 30px;transform:rotate(-5deg);color:#7b9fc51c}.footer-pattern>span{font:600 13px Manrope,Arial,sans-serif;letter-spacing:.4px;white-space:nowrap}@media(max-width:620px){footer.brand-footer{height:125px;margin-top:30px;padding:0}.footer-pattern{gap:14px 22px}.footer-pattern>span{font-size:11px}}

.hero-eyebrows{display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%}.hero-eyebrows .eyebrow{white-space:nowrap}.hero-eyebrows .eyebrow:last-child{text-align:right}@media(max-width:380px){.hero-eyebrows{gap:12px}.hero-eyebrows .eyebrow{font-size:7px;letter-spacing:1.3px}}

/* Alignment pass: hero metadata, equal actions, shared panel edges. */
.hero-content{width:430px;max-width:52%;flex:none}.hero-eyebrows{display:inline-flex;width:auto;max-width:100%;justify-content:flex-start;gap:12px;align-items:center}.hero-eyebrows .eyebrow{font-size:8px;line-height:1.5;letter-spacing:1.25px;white-space:nowrap;color:#8ea9ca}.hero-eyebrows .eyebrow:last-child{padding-left:12px;border-left:1px solid #8ea9ca40;text-align:left;color:#6d8db4}.hero h1{margin:20px 0 19px;line-height:1.08}.hero-copy{line-height:1.85}.hero-telegram{margin-top:23px}.header-actions>a,.header-actions>button{display:flex;align-items:center;min-height:38px;border-radius:7px}.header-actions .records-trigger{gap:14px}.mode-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(416px,100%);gap:12px;margin-top:27px}.mode-buttons .primary,.mode-duel{width:100%;min-width:0;min-height:50px;padding:14px 16px;gap:12px;line-height:1.3}.mode-duel>span{font-size:10px;padding-left:11px}.camera #placeholder>.camera-icon{margin:0}.camera #placeholder>h3{margin:22px 0 12px;line-height:1.25}.camera #placeholder>p{margin:0;line-height:1.6}.fan-records{margin-top:44px;padding-top:28px}.section-heading{align-items:center}.fan-grid{gap:16px}.fan-card{border-radius:12px}.fan-card-info{padding:16px 18px 18px}.fan-card-info>span{display:block;font-size:10px;line-height:1.4;letter-spacing:1.1px}.fan-card-info>strong{top:10px;right:10px}.brand-footer{opacity:.85}@media(min-width:621px){.test-section:not(.in-duel){display:grid;grid-template-columns:174px minmax(0,1fr);gap:0 24px;padding-left:0;align-items:stretch}.test-section:not(.in-duel)>.rank-rail{position:static;grid-column:1;grid-row:1;width:auto;display:flex;flex-direction:column;margin:0;min-width:0}.test-section:not(.in-duel)>.lab{grid-column:2;grid-row:1;min-width:0}.test-section:not(.in-duel)>#result{grid-column:2;grid-row:2}.test-section:not(.in-duel) .rank-list{flex:1;justify-content:space-between;gap:3px}.test-section:not(.in-duel) .rank-tier{padding:6px 4px}.test-section:not(.in-duel) .rank-tier img{width:35px;height:35px}.test-section:not(.in-duel) .rank-progress{margin-top:15px}.test-section:not(.in-duel) #nextRankText{line-height:1.6}.test-section:not(.in-duel) .rank-rail .music-toggle{margin-bottom:16px}}@media(min-width:621px) and (max-width:850px){.test-section:not(.in-duel){grid-template-columns:147px minmax(0,1fr);column-gap:18px}.test-section:not(.in-duel) .rank-tier img{width:30px;height:30px}.hero-content{max-width:57%}.hero-eyebrows .eyebrow{font-size:7px;letter-spacing:1px}.hero-eyebrows{gap:10px}.hero-eyebrows .eyebrow:last-child{padding-left:10px}}@media(max-width:620px){.hero-content{width:100%;max-width:100%}.hero-eyebrows{gap:10px}.hero-eyebrows .eyebrow{font-size:7px;letter-spacing:1.15px}.hero-eyebrows .eyebrow:last-child{padding-left:10px}.hero h1{margin:15px 0 13px}.hero-telegram{margin-top:18px}.mode-buttons{grid-template-columns:1fr;width:min(330px,100%);gap:10px;margin-top:24px}.mode-buttons .primary,.mode-duel{min-height:48px;font-size:13px}.camera #placeholder>h3{margin:19px 0 12px}.fan-records{margin-top:34px;padding-top:24px}.fan-grid{gap:12px}.fan-card-info{padding:13px 13px 15px}.fan-card-info>span{font-size:9px;letter-spacing:.8px}.header-actions>a,.header-actions>button{min-height:34px}}@media(max-width:380px){.hero-eyebrows .eyebrow{font-size:6.5px;letter-spacing:.85px}.hero-eyebrows{gap:8px}.hero-eyebrows .eyebrow:last-child{padding-left:8px}}

/* Compact play area: primary control directly against the camera edge. */
.lab,.test-section.in-duel .lab{display:flex;flex-direction:column;border-radius:13px}.lab .camera,.in-duel .lab .camera{height:clamp(265px,31vw,350px);min-height:0;flex:none;border:0;border-bottom:1px solid var(--line)}.camera.synced-preview{height:clamp(230px,28vw,320px)}.camera-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:12px 18px;border-bottom:1px solid var(--line);background:#0d1726}.camera-buttons{display:flex;align-items:center;gap:8px}.camera-controls .primary,.camera-controls .secondary{min-height:40px;min-width:155px;margin:0;padding:10px 17px;font-size:12px;border-radius:7px}.camera-controls .secondary{background:#19263a;border:1px solid #ffffff1c;color:#c7d7eb}.camera-controls #tracking{font-size:10px;line-height:1.5;color:#8fa9c8;margin-left:auto}.camera-controls #status{flex-basis:100%;font-size:10px;line-height:1.5;color:#7993b3;margin:0}.camera-controls #status:empty{display:none}.camera-controls:not(:has(.camera-buttons>button:not([hidden]))){padding-top:8px;padding-bottom:8px}.camera-controls:not(:has(.camera-buttons>button:not([hidden]))) #tracking{margin-left:0}.lab>aside,.in-duel .lab>aside{padding:14px 18px 12px}.stats-grid{gap:10px}.lab .stat,.in-duel .lab .stat{padding:10px 14px;border-left-width:2px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px}.lab .stat>span,.in-duel .lab .stat>span{font-size:9px;letter-spacing:1.5px}.lab .stat>b,.in-duel .lab .stat>b{font-size:31px;line-height:1.1;margin:0;letter-spacing:-1px}.progress{height:3px;margin-top:12px}.score-summary{display:flex;justify-content:flex-end;align-items:baseline;gap:10px;margin-top:10px;font-size:10px;color:#6f89aa}.score-summary b{font:500 12px Manrope,sans-serif;color:#acc8eb}.rank-rail{border-radius:13px}.test-section:not(.in-duel) .rank-list{gap:0;justify-content:space-between}.test-section:not(.in-duel) .rank-tier{padding:3px 4px}.test-section:not(.in-duel) .rank-tier img{width:30px;height:30px}.rank-tier b{font-size:10px}.rank-tier span{font-size:8px;margin-top:3px}.live-rank{padding-bottom:10px}.rail-title{margin-bottom:10px}.test-section:not(.in-duel) .rank-rail .music-toggle{margin-bottom:12px;padding-top:8px;padding-bottom:8px}.rank-list{margin-top:7px}.test-section:not(.in-duel) .rank-progress{margin-top:10px}#nextRankText{margin-top:6px;font-size:8px;line-height:1.4}.camera #placeholder{inset:35px 18px}.camera #placeholder>.camera-icon{width:44px;height:44px;border-radius:12px}.camera #placeholder>.camera-icon svg{width:31px;height:31px}.camera #placeholder>h3{font-size:24px;margin:16px 0 10px}.camera #placeholder>p{font-size:12px}.mode-buttons{margin-top:22px}.camtop{top:13px;left:15px;right:15px}.badge{font-size:7px;padding:7px 9px}.small{font-size:9px;padding:8px 10px}.in-duel .opponent-camera{height:clamp(265px,31vw,350px)}@media(max-width:850px){.lab .stat,.in-duel .lab .stat{padding:10px;gap:8px}.lab .stat>span,.in-duel .lab .stat>span{font-size:8px;letter-spacing:.8px}.lab .stat>b,.in-duel .lab .stat>b{font-size:27px}.camera-controls{padding:11px 14px}.camera-controls #tracking{font-size:9px}.in-duel .opponent-camera{height:260px}}@media(max-width:620px){.lab .camera,.in-duel .lab .camera{height:340px;min-height:0}.lab .camera.synced-preview,.in-duel .lab .camera.synced-preview{height:260px}.camera #placeholder>h3{font-size:23px;margin:15px 0 10px}.camera #placeholder>p{font-size:12px}.mode-buttons{margin-top:20px}.camera-controls{gap:8px;padding:10px 12px}.camera-controls .primary,.camera-controls .secondary{min-width:145px;min-height:40px;font-size:12px}.camera-controls #tracking{font-size:9px}.camera-controls #status{font-size:10px}.lab>aside,.in-duel .lab>aside{padding:12px}.lab .stat,.in-duel .lab .stat{min-height:61px;display:block;padding:9px 10px}.lab .stat>span,.in-duel .lab .stat>span{display:block;font-size:8px;letter-spacing:1px}.lab .stat>b,.in-duel .lab .stat>b{display:block;font-size:27px;margin-top:6px}.stats-grid{gap:8px}.score-summary{font-size:9px;margin-top:9px}.score-summary b{font-size:11px}.rank-tier b{font-size:9px}.rank-tier span{font-size:8px}.test-section:not(.in-duel) .rank-tier{padding:6px}.test-section:not(.in-duel) .rank-list{gap:4px}.test-section:not(.in-duel) .rank-tier img{width:30px;height:30px}}

.lab:has(#placeholder:not([hidden])) .camera-controls #tracking{display:none}.lab:has(#placeholder:not([hidden])) .camera-controls:has(#status:empty){display:none}.camera-controls .camera-buttons:has(#start:not([hidden]):disabled) #start{display:none}

#opponentFrame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

/* Keep the full solo camera frame within a centered preview. */
.test-section:not(.in-duel) .lab .camera.synced-preview { width: min(100%, 560px); height: auto; aspect-ratio: 4 / 3; max-height: 350px; align-self: center; border-inline: 1px solid var(--line); }
.test-section:not(.in-duel) .camera video { object-fit: contain; }
.duel-result h2 { font-size: clamp(26px, 6vw, 38px); margin: 10px 0 22px; }
.duel-result-scores { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.duel-result-scores > div { display: grid; gap: 8px; padding: 13px 8px; border-radius: 8px; background: #ffffff09; }
.duel-result-scores span, #duelYourRank { color: #9eb4ce; font-size: 12px; }
.duel-result-scores b { font-size: 22px; color: #eac274; }
#duelYourRank { margin: 17px 0 3px; }

.camera-controls:has(.camera-buttons > button:not([hidden]):not(:disabled)) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}
.camera-controls .camera-buttons { grid-column: 2; justify-content: center; }
.camera-controls:has(.camera-buttons > button:not([hidden]):not(:disabled)) #tracking { grid-column: 3; text-align: right; }
.camera-controls #status { grid-column: 1 / -1; }
@media (max-width: 380px) {
  .camera-controls:has(.camera-buttons > button:not([hidden]):not(:disabled)) #tracking { grid-column: 1 / -1; margin: 0; text-align: center; }
}

.records-modal .nickname{display:flex;align-items:center;gap:8px;flex-direction:row-reverse;justify-content:flex-end}.records-modal .nickname img{width:28px;height:28px;object-fit:contain;flex:none}

/* Invitation shown before the guest joins the room. */
.has-invite .lab {
  background: radial-gradient(ellipse at top, #172d4b, #0a101b 74%);
}
.has-invite .lab .camera {
  display: grid;
  place-items: center;
  height: auto;
  min-height: 0;
  padding: clamp(22px, 6vw, 68px) 16px;
  background: transparent;
}
.has-invite .lab #placeholder {
  position: relative;
  inset: auto;
  width: min(100%, 470px);
  padding: clamp(22px, 5vw, 42px);
  border: 1px solid #345072;
  border-radius: 18px;
  background: #101c2e;
  box-shadow: 0 16px 50px #0004;
}
.has-invite .camera-icon {
  font-size: 0;
  margin: 0;
}
.has-invite .camera-icon svg { display: none; }
.has-invite .camera-icon::after {
  content: '1 × 1';
  font-size: 12px;
  font-weight: 700;
}
.has-invite .lab #inviteTitle {
  font-size: clamp(23px, 4vw, 36px);
  line-height: 1.12;
}
.has-invite .lab #inviteDescription {
  color: #a3b8d3;
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}
.has-invite .mode-buttons {
  display: block;
  width: min(100%, 260px);
}
.has-invite #battleJoin {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  white-space: normal;
  background: #398cff;
  color: white;
}
.has-invite #battleJoin:hover { background: #5b9fff; }
.has-invite #connect,
.has-invite .camtop,
.has-invite .rank-rail,
.has-invite .lab > aside,
.has-invite .camera-controls { display: none; }
.test-section.has-invite:not(.in-duel) { grid-template-columns: minmax(0, 1fr); }
.test-section.has-invite:not(.in-duel) > .lab { grid-column: 1; display: block; }
.test-section.has-invite:not(.in-duel) > .rank-rail { display: none; }

.camera-privacy {
  margin: 12px 0 0;
  color: #899db8;
  font-size: 11px;
  line-height: 1.5;
}
