/* ShowToday: authentic marquee mark, black stage and yellow broadcast details. */
@font-face{font-family:Gilroy;src:url('brand/Gilroy-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Gilroy;src:url('brand/Gilroy-Semibold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Gilroy;src:url('brand/Gilroy-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{font-family:Gilroy,Arial,sans-serif}
/* Keep the login background free of the competition's empty photo frames. */
.login-page .login-story:before{inset:28% auto 0 0;width:175px;background:url('brand/stage-refined.png') left bottom/1920px 1080px no-repeat;opacity:.45}
@font-face{font-family:Junegull;src:url('brand/Junegull.ttf') format('truetype');font-display:swap}
.header-logo{width:83px;height:72px;object-fit:contain}.topbar{height:100px;background:#0a0a0a;border-color:#292929}.brand{gap:20px}.brand small{margin:0;color:#aaa;letter-spacing:1.5px}.original-logo{width:290px;height:276px;background:url('brand/stage-original.png') left top /1920px 1080px no-repeat;flex-shrink:0}.login-layout{min-height:calc(100dvh - 100px);grid-template-columns:1.1fr 1fr}.login-story{position:relative;isolation:isolate;background:#000;display:flex;align-items:center;justify-content:center;padding:50px 20px;overflow:hidden;border-right:1px solid #302b13}.login-story:before{content:'';position:absolute;inset:0;z-index:-1;background:url('brand/stage-refined.png') center/cover;opacity:.15}.login-logo{transform:scale(1.5);margin-bottom:100px}.login-caption{font-family:Junegull,Arial,sans-serif;font-size:27px;color:var(--yellow);letter-spacing:2px}.login-form-wrap{background:#151515;padding:60px 12%}.login-form h1{font-size:34px;letter-spacing:-.6px;margin-bottom:30px}.login-form form{margin-top:0}.login-form .wide{justify-content:center}.login-form .help{margin-top:25px;font-size:13px}.container{max-width:1300px}.panel{border-radius:12px;border-color:#373329;background:#201e1c;box-shadow:0 8px 24px #0002}.page-heading h1{font-size:40px}.button{border-radius:6px;min-height:46px;letter-spacing:0}.page-heading .eyebrow{font-size:11px;letter-spacing:1.5px}.create-panel{border-top:2px solid #fed000}.dashboard-grid{grid-template-columns:1.2fr .8fr;gap:24px}.panel h2{font-size:25px}.primary{background:linear-gradient(180deg,#ffde28,#fed000);border:1px solid #f1c900;box-shadow:0 2px 0 #9e8000;color:#171300}.secondary{border-color:#75673b}.primary:hover{background:#ffe760}.wide{justify-content:center}.bot-link{color:#d4c989;font-size:14px}.instagram-settings{border-top:2px solid #6a5b30}.instagram-settings .help{margin-top:0}.task-panel{border-top:2px solid #fed000}.task-panel h2{font-size:29px}.player-card{border-radius:8px;border-color:#655629}.player-caption{background:#29251e;color:#f7d554;letter-spacing:0}.photo-area{background:#121110}.slot-number{font-family:Junegull,Arial,sans-serif;color:#52472b}.join-panel h2{font-size:24px}.join-panel .qr{border-radius:4px}.join-panel .bot-link{display:block;margin:14px 0 20px}.notice{font-size:14px}.empty-history{border-radius:8px}.task-editor{box-shadow:none}body.screen-page{background:#000;overflow:hidden}.contest-canvas{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform:translate(-50%,-50%) scale(.5);transform-origin:center center;background:#000;overflow:hidden}.contest-logo{position:absolute;left:0;top:0;z-index:3;width:290px;height:276px}.contest-logo>img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen}.contest-instagram{position:absolute;right:24px;top:20px;z-index:3;width:252px;height:255px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:transparent;color:#fff}.contest-instagram img{width:204px;height:204px;border-radius:5px;image-rendering:pixelated}.contest-instagram [data-instagram-handle]{font-size:18px;font-weight:600;letter-spacing:.5px}.instagram-placeholder{text-align:center;font-size:22px;color:#aaa}.instagram-placeholder small{font-size:16px;color:#777}.contest-task{position:absolute;left:328px;top:51px;z-index:3;width:1260px;height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.contest-meta{font-size:19px;letter-spacing:2px;color:#c6bd98;text-transform:uppercase}.contest-task h1{font-family:Junegull,'Arial Black',Arial,sans-serif;font-size:62px;line-height:1.12;letter-spacing:0;color:#fff;max-width:1220px;max-height:160px;margin:0;text-wrap:balance;text-shadow:0 3px 0 #504315;overflow-wrap:anywhere}.contest-player{position:absolute;z-index:2;top:335px;height:637px;width:500px;background:#fbfbfb;border-radius:5px;color:#231f20;box-shadow:0 0 0 3px #dcb421,0 4px 24px #0008}.contest-player-1{left:248px}.contest-player-2{left:1146px;width:505px}.contest-player>img{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px;background:#111}.contest-player-label{position:absolute;bottom:calc(100% + 14px);left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#fed000;font-size:23px;font-weight:800}.contest-player-label [data-name]{font-size:20px;font-weight:400;color:#e4e0d4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.contest-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.contest-empty>span{font-family:Junegull,Arial,sans-serif;font-size:106px;line-height:1;color:#dedbd2}.contest-empty p{font-size:23px;margin:20px 0;color:#8a8475}.contest-join{position:absolute;left:815px;top:760px;width:290px;display:flex;align-items:center;flex-direction:column;color:#e2d495;gap:7px}.contest-join>span{font-size:16px;letter-spacing:2px;font-weight:700}.contest-join img{width:170px;height:170px;image-rendering:pixelated;border-radius:4px}.contest-join strong{font-family:monospace;font-size:20px;letter-spacing:2px;color:#fff}.contest-join small{font-size:16px;color:#c1bfae}.contest-footer{position:absolute;bottom:16px;left:250px;right:270px;display:flex;justify-content:space-between;color:#9e9988;font-size:16px}.contest-footer .status{font-size:16px}.contest-footer .status:before{width:8px;height:8px}.screen-fullscreen{position:fixed;bottom:12px;right:12px;color:#ddd;background:#181818aa;border:1px solid #45402e;border-radius:5px;font-size:25px;width:44px;height:40px;opacity:.18;transition:opacity .2s}.screen-fullscreen:hover,.screen-fullscreen:focus{opacity:1}.finished-overlay{position:absolute;background:#000e;backdrop-filter:blur(12px);gap:35px}.finished-overlay h1{font-size:65px;margin:0}.finished-overlay .original-logo{margin-top:-40px}.finished-overlay .button{font-size:23px;padding:15px 35px}
@media(max-width:900px){.login-logo{transform:scale(1.15);margin-bottom:50px}.login-form-wrap{padding:45px 9%}.header-logo{width:78px}.page-heading h1{font-size:35px}}
@media(max-width:650px){.topbar{height:86px}.header-logo{width:68px;height:60px}.login-layout{min-height:calc(100dvh - 86px);grid-template-columns:1fr}.login-story{min-height:230px;padding:0}.login-logo{transform:scale(.7);margin:-35px}.login-caption{display:none}.login-form-wrap{padding:35px 25px}.login-form h1{font-size:29px}.dashboard-grid{grid-template-columns:1fr}.page-heading h1{font-size:32px}.brand small{font-size:11px;display:block}.brand{gap:12px}.task-panel h2{font-size:24px}}

/* Minimal branch login */
.login-page{min-height:100dvh;background:#090909 radial-gradient(circle at 50% 0,#232016 0,transparent 42%);display:grid;place-items:center}
.login-page .topbar{display:none}
.login-page .login-layout{display:block;min-height:auto;width:min(100% - 40px,420px)}
.login-page .login-form-wrap{display:block;padding:0;background:transparent}
.login-page .login-form{max-width:none;padding:44px 42px 38px;background:#111;border:1px solid #2c2a26;border-radius:20px;box-shadow:0 28px 90px #0009}
.login-mark{display:block;width:112px;height:96px;object-fit:contain;margin:0 auto 28px}
.login-page .login-form h1{text-align:center;font-size:30px;letter-spacing:-.5px;margin:0 0 30px}
.login-page .login-form form{margin:0}
.login-page .login-form label{font-size:13px;color:#cac7c0;margin-bottom:18px}
.login-page .login-form input{margin-top:8px;padding:14px 15px;background:#0b0b0b;border-color:#35332f;border-radius:9px}
.login-page .login-form .button{margin-top:7px;border-radius:9px;box-shadow:none}

/* Dashboard lobby list */
.game-row{padding:0;gap:10px;background:transparent}
.game-row:hover{background:transparent}
.game-row-main{display:flex;align-items:center;gap:24px;min-width:0;flex:1;padding:20px 8px}
.game-row-main:hover strong{color:var(--yellow)}
.game-row-main>div{flex:1;min-width:0}
.game-row-main small{display:block;color:var(--muted);margin-top:5px}
.icon-delete{background:transparent;border:1px solid #4c3e3f;border-radius:7px;color:#b99a9c;padding:8px 12px;font-size:13px}
.icon-delete:hover{border-color:#a65f64;color:#ffb6ba}
.icon-setup{border:1px solid #514a38;border-radius:7px;color:#d4c989;padding:8px 12px;font-size:13px}
.icon-setup:hover{border-color:#d4b83d;color:#fff}
.confirm-form input{display:none}

/* Lobby task setup */
.setup-page{max-width:980px}
.setup-panel{padding:34px;border-top:2px solid #fed000}
.setup-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.setup-heading h2{margin:0 0 7px}
.setup-heading p{margin:0;color:#aaa;font-size:14px}
.setup-heading>span{display:grid;place-items:center;min-width:40px;height:40px;border:1px solid #4a4537;border-radius:50%;color:#d8cc9e}
.setup-panel textarea{min-height:420px;margin:26px 0 22px;padding:20px;line-height:1.75;background:#121212;border-color:#403d37}
.setup-ready{width:180px;float:right}
.setup-panel:after{content:'';display:block;clear:both}
.reference-setup{margin:0 0 26px;padding:24px;border:1px solid #4a432a;border-radius:14px;background:#171612}.reference-setup-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.reference-setup-heading h2{margin:0 0 7px;font-size:23px}.reference-setup-heading p{max-width:650px;margin:0;color:#999;font-size:14px}.photo-toggle{min-width:170px}.photo-toggle.off{border-color:#5b5555;color:#aaa}.reference-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.reference-upload{margin:0}.reference-upload>span:first-child{display:block;margin-bottom:8px;color:#ddd}.reference-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.reference-preview{position:relative;min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed #716638;border-radius:12px;background:#0d0d0c center/cover no-repeat;color:#fed000;cursor:pointer;overflow:hidden}.reference-preview:after{content:'';position:absolute;inset:0;background:#0000;transition:background .2s}.reference-preview.has-image:after{background:#0003}.reference-preview b,.reference-preview small{position:relative;z-index:1}.reference-preview b{font-size:42px;line-height:1}.reference-preview small{color:#aaa}.reference-preview.has-image b{font-size:25px}.reference-preview.has-image small{color:#fff;text-shadow:0 2px 8px #000}.reference-off-note{margin:22px 0 0;padding:18px;border:1px dashed #4a4640;border-radius:10px;color:#aaa;text-align:center}.delete-all-games{min-height:40px;padding:8px 15px;font-size:13px}
.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}

/* QR lobby shown before the game */
body.lobby-page,body.game-running{margin:0;background:#090909;overflow:hidden}
.launch-page{position:relative;isolation:isolate;height:100dvh;min-height:680px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:92px 34px 28px;background:#000;overflow:hidden}
.launch-page:before,.launch-page:after{content:none}
.launch-ambient{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.launch-ambient i{position:absolute;display:block;font-style:normal;opacity:0;animation:lobby-float 17s ease-in infinite}.launch-ambient .emoji{font:44px/1 "Apple Color Emoji","Segoe UI Emoji",sans-serif;filter:drop-shadow(0 5px 14px #000)}.launch-ambient .word{color:#fed000;font:30px/1 Junegull,Arial,sans-serif;letter-spacing:1px;text-shadow:0 4px 0 #725c00;white-space:nowrap}.launch-ambient i:nth-child(1){left:7%;top:84%;animation-delay:-2s}.launch-ambient i:nth-child(2){left:23%;top:25%;font-size:36px;animation-delay:-11s}.launch-ambient i:nth-child(3){left:77%;top:78%;font-size:40px;animation-delay:-6s}.launch-ambient i:nth-child(4){left:91%;top:36%;font-size:34px;animation-delay:-15s}.launch-ambient i:nth-child(5){left:13%;top:65%;font-size:25px;animation-delay:-9s}.launch-ambient i:nth-child(6){left:82%;top:67%;font-size:23px;animation-delay:-1s}.launch-ambient i:nth-child(7){left:5%;top:46%;font-size:27px;animation-delay:-14s}.launch-ambient i:nth-child(8){left:88%;top:87%;font-size:24px;animation-delay:-5s}.launch-ambient i:nth-child(9){left:72%;top:31%;font-size:20px;animation-delay:-12s}.launch-ambient i:nth-child(10){left:29%;top:88%;font-size:23px;animation-delay:-3s}.launch-ambient i:nth-child(11){left:86%;top:52%;font-size:22px;animation-delay:-8s}
@keyframes lobby-float{0%{opacity:0;transform:translate3d(0,70px,0) rotate(-8deg) scale(.75)}16%{opacity:.72}58%{opacity:.72}72%,100%{opacity:0;transform:translate3d(26px,-360px,0) rotate(10deg) scale(1.08)}}
.launch-back{position:fixed;left:34px;top:28px;color:#aaa;font-size:14px;z-index:2}
.launch-back:hover{color:#fff}
.launch-logo{position:fixed;left:50%;top:20px;transform:translateX(-50%);width:92px;height:80px;object-fit:contain}
.launch-step{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:launch-step-in .48s cubic-bezier(.2,.85,.25,1) both}@keyframes launch-step-in{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
.launch-content{width:min(100%,1460px);display:grid;grid-template-columns:minmax(230px,1fr) 500px minmax(230px,1fr);align-items:center;gap:34px}.launch-card{grid-column:2;grid-row:1;text-align:center}
.launch-branch{margin:0 0 7px;color:#aaa;font-size:13px;letter-spacing:1.8px;text-transform:uppercase}
.launch-card h1{font-size:28px;margin:0 0 18px;letter-spacing:-.5px}
.launch-qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.launch-qr-option{min-width:0;padding:13px 13px 12px;border:1px solid #343127;border-radius:18px;background:#11110fe6;box-shadow:0 20px 55px #0008}.launch-qr-option>span{display:block;height:28px;color:#d6d0bd;font-size:10px;font-weight:900;letter-spacing:1.35px;line-height:14px}.launch-qr-option .launch-qr{display:block;width:100%;height:auto;aspect-ratio:1;margin:6px auto 10px;padding:8px;background:#fff;border-radius:11px;box-shadow:none}.launch-audience-qr{border-color:#7d6a23;background:linear-gradient(145deg,#1a180e,#11110f)}
.launch-card-single .launch-qr-option{width:min(35vh,340px);margin:auto}.launch-card-single .launch-qr-option>span{height:auto}
.launch-code{display:block;font-family:monospace;font-size:15px;letter-spacing:3px;color:#d4c989;margin:0}.launch-audience-status{display:block;color:#aaa;font-size:12px;margin:0}.launch-audience-status b{color:#fed000;font-size:15px;margin-right:3px}
.lobby-team{position:relative;min-height:210px;padding:34px 30px;border:1px solid #39362d;border-radius:22px;background:#11110fe6;text-align:center;box-shadow:0 24px 70px #0008;overflow:hidden;transition:border-color .45s,background .45s,transform .45s,box-shadow .45s}.lobby-team:first-child{grid-column:1;grid-row:1}.lobby-team:nth-child(2){grid-column:3;grid-row:1}.lobby-team-number{display:block;color:#514b38;font:52px/1 Junegull,Arial,sans-serif;transition:opacity .35s,transform .35s}.lobby-team h2{margin:20px 0 8px;font-size:25px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby-team p{margin:0;color:#777;font-size:12px;font-weight:700;letter-spacing:2px}.lobby-check{position:absolute;left:50%;top:31px;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#fed000;color:#171300;font-size:37px;font-weight:900;opacity:0;transform:translate(-50%,18px) scale(.4) rotate(-25deg)}.lobby-team.ready{border-color:#9d8525;background:#19170d;box-shadow:0 0 0 1px #fed00022,0 25px 80px #0009,0 0 55px #fed00012;animation:team-ready-in .65s cubic-bezier(.2,.85,.2,1) both}.lobby-team.ready .lobby-team-number{opacity:0;transform:translateY(-18px)}.lobby-team.ready .lobby-check{animation:ready-check .7s .08s cubic-bezier(.2,1.5,.4,1) both}.lobby-team.ready h2{color:#fff;animation:ready-name .55s .18s ease both}.lobby-team.ready p{color:#fed000}.lobby-team.just-ready:after{content:'';position:absolute;inset:-60%;border-radius:50%;border:3px solid #fed000;animation:ready-ring .8s ease-out both}
@keyframes team-ready-in{0%{opacity:.55;transform:translateY(16px) scale(.96)}100%{opacity:1;transform:none}}
@keyframes ready-check{to{opacity:1;transform:translate(-50%,0) scale(1) rotate(0)}}
@keyframes ready-name{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes ready-ring{from{opacity:.8;transform:scale(.2)}to{opacity:0;transform:scale(1.1)}}
.launch-button{width:min(100%,420px);min-height:66px;margin-top:26px;border:0;border-radius:12px;background:#fed000;color:#171300;font:700 19px Gilroy,Arial,sans-serif;box-shadow:0 4px 0 #8b7100;transition:transform .15s,background .15s;display:flex;align-items:center;justify-content:center;gap:18px}.launch-button small{font-size:12px;font-weight:700;letter-spacing:.5px;color:#6d5c17}.launch-button:disabled{background:#2b2923;color:#777;box-shadow:0 3px 0 #111;opacity:1}.launch-button:disabled small{color:#68645b}
.launch-button:hover{background:#ffe35a;transform:translateY(-1px)}
.launch-button:disabled:hover{background:#2b2923;transform:none}
.audience-launch-step{gap:23px}.audience-launch-heading{text-align:center}.audience-launch-heading h1{font:400 48px/1 Junegull,Arial,sans-serif;margin:7px 0 9px;color:#fff}.audience-launch-heading>p:last-child{margin:0;color:#999;font-size:15px}.audience-launch-content{width:min(100%,1280px);display:grid;grid-template-columns:minmax(240px,1fr) 360px minmax(240px,1fr);align-items:center;gap:34px}.audience-launch-qr{grid-column:2;grid-row:1;text-align:center}.audience-launch-qr .launch-qr{display:block;width:min(35vh,340px);height:auto;aspect-ratio:1;margin:auto;padding:10px;border-radius:14px;background:#fff;box-shadow:0 24px 70px #0009}.audience-launch-qr p{margin:14px 0 0;color:#aaa}.audience-launch-qr b{color:#fed000;font:400 23px/1 Junegull,Arial,sans-serif}.audience-choice-team{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;border:1px solid #4d4528;border-radius:20px;background:#13120e;text-align:center;box-shadow:0 24px 70px #0008}.audience-choice-team-1{grid-column:1;grid-row:1}.audience-choice-team-2{grid-column:3;grid-row:1}.audience-choice-team>span{color:#5b5131;font:400 42px/1 Junegull,Arial,sans-serif}.audience-choice-team h2{width:100%;margin:14px 0 10px;color:#fed000;font-size:25px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audience-choice-team p{margin:0;color:#888}.audience-choice-team p b{color:#fff}.audience-launch-actions{display:flex;align-items:center;justify-content:center;gap:16px}.audience-launch-actions .launch-button{margin:0}.launch-step-back{height:66px;padding:0 22px;border:1px solid #484238;border-radius:12px;background:#111;color:#aaa;font-weight:700}.launch-step-back:hover{color:#fff;border-color:#746738}
.countdown{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#000;color:#fed000;font:400 min(36vw,420px)/1 Junegull,Arial,sans-serif;text-shadow:0 0 50px #fed00055;transition:background-color .13s ease,color .13s ease,text-shadow .13s ease}
.countdown.countdown-inverted{background:#fed000;color:#090909;text-shadow:none}
.contest-shell{position:fixed;inset:0;background:#000;overflow:hidden}

/* Competition screen */
body.screen-page{width:100vw;height:100dvh;background:#000;overflow:hidden}
.contest-canvas{top:50%;left:50%;transform-origin:center;width:1920px;height:1080px}
.contest-player>img{object-fit:cover}
.contest-nav{display:none}
.screen-fullscreen{z-index:20}
.game-running .screen-fullscreen{display:none}
.contest-player-label{justify-content:center;text-align:center}
.contest-player-label [data-name]{display:block;width:100%;max-width:100%;font-size:28px;font-weight:800;color:#fed000;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contest-canvas.kazakh-game .contest-task h1{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-weight:800;font-size:56px;letter-spacing:-1px;text-shadow:0 3px 0 #504315}
.contest-player-label{min-height:44px;padding:0 62px}
.contest-player-label [data-name]{line-height:1.15}
.contest-player-label [data-score]{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:40px;border:2px solid #fed000;border-radius:12px;background:#171300;color:#fed000;font:800 25px/1 Gilroy,Arial,sans-serif}
.contest-logo{top:-18px}
.contest-logo>img{mix-blend-mode:normal}
.kinetic-lines{position:absolute;top:-90px;z-index:1;width:390px;height:1260px;overflow:hidden;pointer-events:none;filter:drop-shadow(0 0 12px #fed00066)}
.kinetic-lines-left{left:-42px;clip-path:inset(390px 0 0 0)}.kinetic-lines-right{right:-42px;transform:scaleX(-1)}
.kinetic-lines i{position:absolute;display:block;height:4px;border-radius:999px;background:linear-gradient(90deg,transparent,#fed000 20%,#fff4a0 55%,#fed000 80%,transparent);transform:rotate(-48deg);transform-origin:left center;box-shadow:0 0 8px #fed00088}
.kinetic-lines i:nth-child(1){left:20px;top:85px;width:270px}.kinetic-lines i:nth-child(2){left:118px;top:142px;width:195px;height:2px}.kinetic-lines i:nth-child(3){left:-35px;top:310px;width:255px;height:8px}.kinetic-lines i:nth-child(4){left:82px;top:410px;width:170px;height:3px}.kinetic-lines i:nth-child(5){left:-70px;top:610px;width:310px;height:5px}.kinetic-lines i:nth-child(6){left:120px;top:690px;width:160px;height:2px}.kinetic-lines i:nth-child(7){left:-20px;top:865px;width:250px;height:4px}.kinetic-lines i:nth-child(8){left:110px;top:985px;width:210px;height:9px}.kinetic-lines i:nth-child(9){left:8px;top:1110px;width:180px;height:2px}
/* Restrained side accents: they stay inside the empty gutters and never cross content. */
.kinetic-lines{top:0;width:218px;height:1080px;opacity:1;filter:drop-shadow(0 0 5px #fed00040)}
.kinetic-lines-left{left:0;clip-path:none}
.kinetic-lines-right{right:0}
.kinetic-lines i{height:3px;opacity:.52;background:linear-gradient(90deg,transparent 0,#b89300 16%,#fed000 52%,#fff0a0 70%,transparent 100%);box-shadow:none}
.kinetic-lines i:nth-child(1){left:18px;top:390px;width:122px;height:2px}
.kinetic-lines i:nth-child(2){left:92px;top:500px;width:98px;height:3px}
.kinetic-lines i:nth-child(3){left:-12px;top:660px;width:154px;height:2px}
.kinetic-lines i:nth-child(4){left:82px;top:812px;width:116px;height:3px}
.kinetic-lines i:nth-child(5){left:16px;top:970px;width:132px;height:2px}
.contest-versus{position:absolute;left:837px;top:480px;z-index:1;width:246px;height:245px;mix-blend-mode:screen;filter:contrast(1.45);pointer-events:none}
.contest-versus img{display:block;width:100%;height:100%;object-fit:fill}
.contest-shell.stage-entering .contest-canvas{animation:stage-bg-in .42s ease-out both}
.contest-shell.stage-entering .kinetic-lines-left{animation:stage-lines-left .5s ease-out both}
.contest-shell.stage-entering .kinetic-lines-right{animation:stage-lines-right .5s ease-out both}
.contest-shell.stage-entering .contest-logo{animation:stage-logo-in .55s .08s cubic-bezier(.2,.9,.25,1) both}
.contest-shell.stage-entering .contest-instagram{animation:stage-qr-in .55s .08s cubic-bezier(.2,.9,.25,1) both}
.contest-shell.stage-entering .contest-task{animation:stage-title-in .5s .14s cubic-bezier(.2,.9,.25,1) both}
.contest-shell.stage-entering .contest-player-1{animation:stage-card-left .62s .2s cubic-bezier(.15,1,.25,1) both}
.contest-shell.stage-entering .contest-player-2{animation:stage-card-right .62s .2s cubic-bezier(.15,1,.25,1) both}
.contest-shell.stage-entering .contest-versus{animation:stage-vs-in .48s .55s cubic-bezier(.15,1.45,.3,1) both}
@keyframes stage-bg-in{0%{opacity:0;filter:brightness(2) blur(12px)}45%{opacity:1;filter:brightness(1.45) blur(3px)}100%{opacity:1;filter:none}}
@keyframes stage-lines-left{from{opacity:0;transform:translateX(-120px)}to{opacity:1;transform:none}}
@keyframes stage-lines-right{from{opacity:0;transform:scaleX(-1) translateX(-120px)}to{opacity:1;transform:scaleX(-1)}}
@keyframes stage-logo-in{from{opacity:0;transform:translate(-70px,-35px) scale(.82)}to{opacity:1;transform:none}}
@keyframes stage-qr-in{from{opacity:0;transform:translate(70px,-35px) scale(.82)}to{opacity:1;transform:none}}
@keyframes stage-title-in{from{opacity:0;transform:translateY(-42px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes stage-card-left{from{opacity:0;transform:translateX(180px) scale(.88);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes stage-card-right{from{opacity:0;transform:translateX(-180px) scale(.88);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes stage-vs-in{0%{opacity:0;transform:scale(2.1) rotate(-8deg);filter:blur(10px) brightness(2)}65%{opacity:1;transform:scale(.9) rotate(1deg);filter:blur(0) brightness(1.5)}100%{opacity:1;transform:none;filter:none}}
.task-transition .contest-task h1{animation:task-change .5s ease both}
@keyframes task-change{0%{opacity:0;transform:translateY(-18px) scale(.96);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
.pose-task .contest-task{gap:12px}.pose-task .contest-task h1{font-size:50px;color:#fed000}
.contest-reference{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#f4f3ef;overflow:hidden}
.contest-reference[hidden]{display:none}
.contest-reference img{display:block;width:100%;height:100%;object-fit:contain;background:#f4f3ef}
.contest-reference span{position:absolute;left:18px;top:18px;padding:9px 14px;border:1px solid #fed000;border-radius:999px;background:#090909e8;color:#fed000;font:800 14px/1 Gilroy,Arial,sans-serif;letter-spacing:1.6px;box-shadow:0 6px 22px #0005}
.pose-task .contest-reference:not([hidden]){animation:reference-in .55s cubic-bezier(.2,1.1,.3,1) both}
.pose-task .contest-player.photo-arrived>img[data-photo]{animation:reference-replaced .55s ease both}
@keyframes reference-in{from{opacity:0;transform:scale(.94);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes reference-replaced{from{opacity:0;transform:scale(1.04);filter:brightness(1.35)}to{opacity:1;transform:none;filter:none}}
.kazakh-game.pose-task .contest-task h1{font-size:45px;letter-spacing:0}
.contest-player:after{content:'';position:absolute;inset:0;z-index:4;border-radius:5px;pointer-events:none;opacity:0}
.contest-player.photo-arrived:after{animation:photo-flash .62s ease-out}
@keyframes photo-flash{0%{opacity:1;background:#fff;box-shadow:0 0 80px 30px #fff,0 0 130px 45px #fed000}35%{opacity:.65;background:#fff4b0}100%{opacity:0;background:transparent;box-shadow:none}}
.start-burst{position:fixed;inset:0;z-index:120;background:#000;overflow:hidden;isolation:isolate}
.start-burst-flash,.start-burst-ring,.start-burst-particles,.start-burst-particles i{position:absolute;left:50%;top:50%;pointer-events:none}
.start-burst-flash{z-index:2;width:180px;height:180px;border-radius:50%;transform:translate(-50%,-50%) scale(.05);opacity:0;background:radial-gradient(circle,#fff 0 8%,#fff6ba 9% 20%,#fed000 21% 43%,#f28b00 44% 59%,transparent 72%);box-shadow:0 0 90px 35px #fff,0 0 190px 90px #fed000,0 0 360px 150px #f29b0066}
.start-burst.play .start-burst-flash{animation:start-explosion .88s cubic-bezier(.1,.7,.15,1) both}
.start-burst-ring{z-index:1;width:150px;height:150px;border:10px solid #fed000;border-radius:50%;transform:translate(-50%,-50%) scale(.1);opacity:0;box-shadow:0 0 35px #fed000,inset 0 0 25px #fff7}
.start-burst.play .start-burst-ring-1{animation:start-ring .75s .08s ease-out both}.start-burst.play .start-burst-ring-2{animation:start-ring .82s .18s ease-out both}
.start-burst-particles{z-index:3;width:0;height:0}.start-burst-particles i{display:block;width:var(--size);height:24px;margin:-12px 0 0 -6px;background:#fed000;border-radius:2px;opacity:0;transform:translate(-50%,-50%)}
.start-burst-particles i:nth-child(3n){background:#fff}.start-burst-particles i:nth-child(5n){background:#f49b00;border-radius:50%}.start-burst-particles .start-spark{width:4px;height:55px;border-radius:999px;background:linear-gradient(#fff,#fed000 45%,transparent);box-shadow:0 0 12px #fed000;transform-origin:50% 100%}
.start-burst.play .start-burst-particles i{animation:start-particle .82s var(--delay) cubic-bezier(.1,.65,.2,1) both}
@keyframes start-explosion{0%{opacity:0;transform:translate(-50%,-50%) scale(.05);filter:brightness(3)}16%{opacity:1}58%{opacity:1;transform:translate(-50%,-50%) scale(5.6);filter:brightness(1.4)}100%{opacity:0;transform:translate(-50%,-50%) scale(10);filter:brightness(1)}}
@keyframes start-ring{0%{opacity:1;transform:translate(-50%,-50%) scale(.1)}100%{opacity:0;transform:translate(-50%,-50%) scale(9)}}
@keyframes start-particle{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}12%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1) rotate(var(--r))}}
.finish-game{position:absolute;left:50%;bottom:18px;z-index:18;transform:translateX(-50%);min-width:270px;height:58px;border:2px solid #fed000;border-radius:12px;background:#fed000;color:#171300;font:800 20px Gilroy,Arial,sans-serif;box-shadow:0 0 32px #fed00055}
.finish-game:hover{background:#ffe86c;transform:translateX(-50%) translateY(-2px)}
.contest-exit{position:absolute;left:50%;bottom:20px;z-index:19;transform:translateX(-50%);padding:11px 18px;border:1px solid #5b543c;border-radius:10px;background:#090909d9;color:#aaa;font:700 15px Gilroy,Arial,sans-serif;letter-spacing:.2px;opacity:.42;transition:opacity .18s,color .18s,border-color .18s,background .18s}
.contest-exit:hover,.contest-exit:focus-visible{opacity:1;color:#fff;border-color:#a88e34;background:#111}
.finish-game:not([hidden])~.contest-exit{left:calc(50% + 250px)}
.finished-overlay~.contest-exit{display:none}
.finished-overlay{inset:0;z-index:30;background:#000;backdrop-filter:none;display:flex;flex-direction:column;gap:28px;padding:28px}
.finished-overlay>*:not(.confetti){position:relative;z-index:3}
.finished-overlay h1{font-family:Junegull,Arial,sans-serif;font-size:84px;color:#fed000;text-shadow:0 4px 0 #665000;margin:0}
.final-score{display:flex;align-items:center;justify-content:center;gap:42px;min-width:960px}
.final-score>span{display:flex;align-items:center;justify-content:flex-end;gap:26px;min-width:415px}.final-score>span:last-child{flex-direction:row-reverse}
.final-score b{max-width:310px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:31px}.final-score strong{font:94px/1 Junegull,Arial,sans-serif;color:#fff}.final-score i{font:65px/1 Junegull,Arial,sans-serif;color:#776b41;font-style:normal}
.finished-overlay.show-result h1{animation:final-title-in .75s ease both}.finished-overlay.show-result .final-score{animation:final-score-in .9s .18s cubic-bezier(.2,1.3,.3,1) both}.finished-overlay.show-result .archive-card{animation:final-card-in .7s .55s ease both}
@keyframes final-title-in{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:none}}@keyframes final-score-in{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes final-card-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.archive-card{display:flex;align-items:center;gap:42px;padding:26px 38px;border:2px solid #4b432a;border-radius:25px;background:#171713;min-width:720px}
.archive-card img{width:310px;height:310px;background:#fff;border-radius:13px;image-rendering:pixelated}.archive-card p{font-size:37px;margin:0}
.final-home{color:#aaa;font-size:19px}.final-home:hover{color:#fff}
.confetti{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-60px;width:12px;height:25px;background:#fed000;opacity:0}.confetti.play i{animation:confetti-fall 3.8s linear infinite}
.confetti i:nth-child(10n+1){left:4%;background:#fed000;animation-delay:.1s}.confetti i:nth-child(10n+2){left:14%;background:#fff;animation-delay:1.2s}.confetti i:nth-child(10n+3){left:24%;background:#f49b00;animation-delay:.5s}.confetti i:nth-child(10n+4){left:34%;background:#fed000;animation-delay:1.8s}.confetti i:nth-child(10n+5){left:44%;background:#fff;animation-delay:.9s}.confetti i:nth-child(10n+6){left:54%;background:#f49b00;animation-delay:2.1s}.confetti i:nth-child(10n+7){left:64%;background:#fed000;animation-delay:.3s}.confetti i:nth-child(10n+8){left:74%;background:#fff;animation-delay:1.5s}.confetti i:nth-child(10n+9){left:84%;background:#f49b00;animation-delay:2.4s}.confetti i:nth-child(10n){left:94%;background:#fed000;animation-delay:.7s}.confetti i:nth-child(3n){width:20px;height:9px;animation-duration:4.6s}.confetti i:nth-child(4n){border-radius:50%;animation-duration:3.2s}
@keyframes confetti-fall{0%{opacity:0;transform:translateY(-50px) rotate(0)}8%{opacity:1}100%{opacity:.9;transform:translateY(1180px) rotate(920deg)}}

/* Public photo archive */
.archive-page{min-height:100dvh;background:#070707 radial-gradient(circle at 50% 25%,#29230f 0,transparent 45%);display:grid;place-items:center;padding:25px}
.archive-public{width:min(100%,520px);text-align:center}.archive-public>img{width:120px;height:105px;object-fit:contain;margin-bottom:24px}.archive-public>section{padding:38px;border:1px solid #3d382a;border-radius:20px;background:#111;box-shadow:0 25px 80px #0009}.archive-public section>span{font-size:12px;letter-spacing:2px;color:#d5c98b}.archive-public h1{font-size:38px;margin:12px 0 20px}.archive-public p{color:#c8c4bb;margin-bottom:25px}.archive-public .button{width:100%;margin-bottom:18px}.archive-public small{display:block;color:#858179}

.status.setup:before{background:#9b92ff}.status.lobby:before{background:#6dc8ff}.status.countdown:before{background:#fed000}.status.finished:before{background:#777}
.dashboard-grid{grid-template-columns:1fr}

@media(max-width:650px){
  .login-page .login-form{padding:34px 25px 30px}
  .game-row-main{gap:10px}.game-row-main .status{display:none}
  .icon-setup{display:none}
  .setup-panel{padding:22px}.setup-panel textarea{min-height:360px}.setup-ready{width:100%;float:none}
  .launch-page{padding:90px 20px 25px}.launch-back{left:20px;top:20px}.launch-logo{top:14px;width:78px;height:68px}
  .launch-qr-grid{gap:9px}.launch-qr-option{padding:9px}.launch-qr-option>span{font-size:9px;letter-spacing:.7px}.launch-code{font-size:12px;letter-spacing:1.8px}.audience-launch-heading h1{font-size:34px}.audience-launch-content{grid-template-columns:1fr 1fr}.audience-launch-qr{grid-column:1/3;grid-row:1}.audience-choice-team-1{grid-column:1;grid-row:2}.audience-choice-team-2{grid-column:2;grid-row:2}.audience-choice-team{min-height:130px;padding:15px}.audience-choice-team h2{font-size:17px}.audience-launch-actions{flex-direction:column-reverse;width:100%}.launch-step-back,.audience-launch-actions .launch-button{width:min(100%,420px)}
}
@media(max-width:1050px){.launch-page{overflow:auto;justify-content:flex-start}.launch-content{grid-template-columns:1fr 1fr;max-width:760px;gap:18px}.launch-card{grid-column:1/3;grid-row:1;width:min(100%,500px);justify-self:center}.lobby-team:first-child{grid-column:1;grid-row:2}.lobby-team:nth-child(2){grid-column:2;grid-row:2}.lobby-team{min-height:150px;padding:20px}.lobby-team h2{font-size:20px}.lobby-team-number{font-size:36px}.lobby-check{top:18px;width:45px;height:45px;font-size:27px}.audience-launch-content{grid-template-columns:minmax(190px,1fr) 290px minmax(190px,1fr);gap:18px}.audience-launch-qr .launch-qr{width:min(30vh,270px)}}
@media(max-width:650px){.audience-launch-content{grid-template-columns:1fr 1fr}.audience-launch-qr{grid-column:1/3;grid-row:1}.audience-choice-team-1{grid-column:1;grid-row:2}.audience-choice-team-2{grid-column:2;grid-row:2}.audience-launch-actions{flex-direction:column-reverse;width:100%}.launch-step-back,.audience-launch-actions .launch-button{width:min(100%,420px)}}
