@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&family=Outfit:wght@500;600;700;800;900&display=swap');
:root{--bg:#0b0e20;--panel:#171b33;--panel2:#1b203b;--stroke:#303754;--soft:#adb2d0;--light:#f7f7ff;--pink:#fc76c2;--lavender:#a98dff;--cyan:#74e5eb;--yellow:#ffd27d;font-family:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--light);background:var(--bg)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 47% -13%,#2b2855 0,transparent 37%),linear-gradient(140deg,#0c1027,#0a0d1d 60%,#131027);overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #9cefff;outline-offset:3px}.ambient{position:fixed;width:400px;height:400px;pointer-events:none;filter:blur(100px);opacity:.14;z-index:-1}.ambient-one{background:#a95bfa;top:23%;left:-260px}.ambient-two{background:#4ea4ef;bottom:0;right:-230px}.app-shell{max-width:1480px;margin:auto;padding:0 34px}.topbar{display:flex;justify-content:space-between;align-items:center;min-height:92px;border-bottom:1px solid #ffffff18;gap:16px}.brand-wrap{display:flex;align-items:center;gap:14px}.brand-wrap-logo{gap:16px}.brand-logo{display:block;width:clamp(220px,22vw,360px);height:auto;filter:drop-shadow(0 6px 18px rgba(10,15,40,.18))}.brand strong{display:block;font-family:Outfit,'Be Vietnam Pro',sans-serif;letter-spacing:.3px;font-size:22px;font-weight:900}.brand strong span{background:linear-gradient(110deg,#b695ff,#f68ed5);color:transparent;background-clip:text}.brand.small{display:block}.brand-subline small,.brand small{display:block;font-size:9px;letter-spacing:2.2px;color:#8791b6;font-weight:800;margin-top:2px}.header-actions{display:flex;align-items:center;gap:13px}.live-pill{display:flex;gap:6px;align-items:center;padding:11px 15px;background:#1d253a;border:1px solid #35445e;border-radius:99px;font-size:12px;white-space:nowrap}.live-pill strong{color:#fff}.live-pill>span:last-child{color:#aeb3cc}.live-dot,.room-status i,.stage-round i,.live-indicator i,.playing-as-dot{display:inline-block;flex-shrink:0;width:9px;height:9px;border-radius:50%;background:#46dc9b;box-shadow:0 0 0 4px #46dc9b1e,0 0 12px #46dc9b66}.live-dot{margin-right:4px}.icon-button{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid #35405b;background:#1a2038;font-size:18px;color:white;transition:.2s}.icon-button:hover{background:#30355b;transform:translateY(-2px)}
.intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:31px 0 29px}.eyebrow,.section-kicker{font-size:10px;font-weight:900;letter-spacing:2px;color:#a999ec}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow-line{width:23px;height:2px;background:#ad8bff;border-radius:5px}.eyebrow-star{color:#f18bc6}.intro h1{font-family:Outfit,'Be Vietnam Pro',sans-serif;font-size:clamp(28px,3.4vw,45px);margin:10px 0 8px;letter-spacing:-1.4px;font-weight:900}.intro h1>span:first-child{background:linear-gradient(110deg,#ff95c8,#ad93ff);background-clip:text;color:transparent}.title-spark{font-size:.7em;color:#ffe29c}.intro p{margin:0;color:#adb4d1;font-size:12px;line-height:1.8}.room-info{background:#191f37;border:1px solid #374160;border-radius:16px;padding:14px 19px;min-width:175px;display:flex;flex-direction:column;gap:5px}.room-label{font-size:9px;letter-spacing:1.4px;font-weight:900;color:#8d98bc}.room-info strong{font-size:18px;font-family:Outfit,sans-serif;letter-spacing:1px}.room-status{font-size:10px;color:#a5b5ce}.room-status i{width:6px;height:6px;vertical-align:1px;margin-right:5px}.room-status.offline i{background:#ff8c9a;box-shadow:none}
.dashboard{display:grid;grid-template-columns:minmax(0,1.92fr) minmax(290px,.96fr);gap:20px;align-items:start}.arena-column,.sidebar{min-width:0}.arena-frame,.side-card{border:1px solid #363858;border-radius:22px;overflow:hidden;background:linear-gradient(150deg,#1c203b,#15182e 75%);box-shadow:0 22px 60px #02061740}.arena-heading{display:flex;justify-content:space-between;align-items:center;height:57px;padding:0 21px}.section-heading{font-size:11px;font-weight:900;letter-spacing:1.25px}.tiny-asterisk{color:#ff9ccd;margin-right:4px;font-size:18px}.section-heading-quiet{font-weight:600;color:#838cae;letter-spacing:.4px}.stage-round{border-radius:99px;background:#263b48;padding:7px 11px;border:1px solid #365661;color:#8ff9db;font-size:9px;font-weight:900;letter-spacing:1.2px}.stage-round i{width:6px;height:6px;margin-right:4px;vertical-align:1px}
.stage{position:relative;height:450px;background:radial-gradient(ellipse at 50% 47%,#674ca5 0,#312a66 37%,#171d46 74%,#101730 100%);isolation:isolate;overflow:hidden}.stage-backdrop{position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 48% 80%,#ff78bb20,transparent 49%),linear-gradient(95deg,#22245450,transparent 27%,transparent 73%,#22245450)}.stage-backdrop:after{content:'';position:absolute;inset:0;background-image:radial-gradient(#fff5 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(transparent,#0008 18%,transparent 67%);opacity:.25}.stage-curtains .curtain{position:absolute;top:-25px;height:106%;width:135px;background:repeating-linear-gradient(90deg,#2a1b58 0px,#513177 29px,#34215e 56px);filter:drop-shadow(13px 5px 22px #110d37);z-index:1;opacity:.72}.curtain.left{left:-105px;border-radius:0 0 60% 0;transform:rotate(-4deg)}.curtain.right{right:-105px;border-radius:0 0 0 60%;transform:rotate(4deg)}.stage-stars{position:absolute;inset:0;pointer-events:none}.stage-stars i{position:absolute;color:#e7d8ff;font-style:normal;text-shadow:0 0 17px #ffc4ff85;animation:twinkle 3s ease-in-out infinite alternate}.stage-stars i:nth-child(1){top:15%;left:15%;font-size:28px}.stage-stars i:nth-child(2){top:27%;right:16%;font-size:16px;animation-delay:1.2s}.stage-stars i:nth-child(3){top:40%;left:25%;font-size:22px;animation-delay:.4s}.stage-stars i:nth-child(4){top:12%;right:29%;font-size:17px;animation-delay:.8s}.stage-stars i:nth-child(5){bottom:25%;right:17%;font-size:22px;animation-delay:1.8s}.stage-spotlight{position:absolute;top:-135px;width:280px;height:470px;opacity:.75;background:linear-gradient(#e9daff55,#b6b0fb11 90%,transparent);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);transform-origin:50% 0;z-index:-1}.spotlight-left{left:8%;transform:rotate(17deg)}.spotlight-right{right:8%;transform:rotate(-17deg)}.stage-beam{position:absolute;top:-180px;width:175px;height:570px;opacity:.25;filter:blur(8px);background:linear-gradient(#67d9f9a3,#83daff04);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);transform-origin:50% 0;z-index:0}.beam-one{left:6%;animation:beamLeft 7s infinite alternate ease-in-out}.beam-two{right:6%;background:linear-gradient(#fa7db2b3,#fa7db207);animation:beamRight 6s infinite alternate ease-in-out}.wall-badge{position:absolute;top:105px;z-index:0;font-family:Outfit,sans-serif;font-weight:900;font-size:24px;line-height:.87;letter-spacing:1.1px;color:#e4b5ffbb;transform:rotate(-11deg);text-align:center;text-shadow:0 0 18px #7f72c8}.wall-badge span{font-size:9px;letter-spacing:2px;color:#b7dcfc}.badge-left{left:9%}.badge-right{right:10%;transform:rotate(10deg);font-size:32px;color:#ffd5a7cf}.badge-right span{font-size:25px;color:#f9a4d5}.disco-ball{position:absolute;top:-100px;left:calc(50% - 24px);font-size:49px;z-index:4;filter:drop-shadow(0 0 19px #e6ecff);transition:top .45s ease;animation:ballRotate 4s linear infinite}.stage.party .disco-ball{top:11px}.center-halo{position:absolute;left:50%;top:32%;width:335px;height:335px;border:2px solid #cda8ff42;border-radius:50%;transform:translate(-50%,-20%);box-shadow:0 0 0 25px #e3baff0b,0 0 0 64px #e3baff05,inset 0 0 70px #dfa4ff17;z-index:0;animation:haloPulse 5s ease-in-out infinite}.speech-bubble{position:absolute;top:49px;right:6%;z-index:9;max-width:180px;padding:13px 16px;border-radius:17px 17px 5px 17px;color:#292447;font-size:12px;font-weight:800;line-height:1.65;text-align:center;background:#fff8ff;box-shadow:0 9px 0 #44316e80,0 15px 30px #100d3045;transform:rotate(5deg)}.speech-bubble:after{content:'';position:absolute;right:15px;bottom:-11px;border-style:solid;border-width:12px 0 0 15px;border-color:transparent transparent transparent #fff8ff}.speech-bubble.pop{animation:speechPop .33s ease both}.floor-glow{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:330px;height:53px;border-radius:50%;background:#dd8ad96e;filter:blur(31px);z-index:0}.stage-floor{position:absolute;bottom:0;left:0;right:0;height:83px;background:linear-gradient(#a060dc30,#160f397a 25%,#0d1338b0);border-top:2px solid #b578ee5b;z-index:0}.stage-floor-grid{position:absolute;bottom:-70px;left:0;right:0;height:170px;background-image:linear-gradient(#bf9dff35 1px,transparent 1px),linear-gradient(90deg,#bf9dff35 1px,transparent 1px);background-size:45px 25px;transform:perspective(180px) rotateX(53deg);transform-origin:bottom;z-index:0;opacity:.5}.bottom-marquee{position:absolute;bottom:16px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:8;font-family:Outfit,'Be Vietnam Pro',sans-serif;font-size:10px;font-weight:900;letter-spacing:1.1px;text-shadow:0 1px 5px #0d1138}.bottom-marquee span:first-child{padding:9px 11px;background:#282348bf;border:1px solid #b7a1e34f;border-radius:9px}.bottom-marquee span:last-child{text-align:right;color:#ebceff}.dot-sep{color:#ffcf9a}
/* cartoon figure */
.character-wrap{position:absolute;left:50%;top:50%;width:250px;height:355px;transform:translate(-50%,-39%);z-index:5;pointer-events:none}.character{position:relative;width:250px;height:355px;transform-origin:50% 87%;filter:drop-shadow(0 14px 8px #130b4088)}.character-shadow{position:absolute;bottom:18px;left:27px;width:197px;height:36px;border-radius:50%;background:#0f0e30ac;filter:blur(9px)}.face{position:absolute;left:69px;top:42px;width:111px;height:122px;border-radius:44% 44% 47% 47%;background:#ffcbac;border:5px solid #32254e;z-index:6;box-shadow:inset 0 -7px #de9c82;background-size:cover;background-position:center;overflow:hidden}.face.photo{background-size:cover;background-position:center 36%;filter:saturate(1.28) contrast(1.12);box-shadow:inset 0 0 0 2px #ffffff56,inset 0 -9px #9751b62a}.face.photo .cartoon-eyes,.face.photo .cartoon-cheeks,.face.photo .cartoon-smile,.face.photo .face-shine{display:none}.face-shine{position:absolute;width:40px;height:23px;left:6px;top:7px;border-radius:50%;background:#fff6;transform:rotate(-29deg)}.cartoon-eyes{position:absolute;top:50px;left:19px;right:19px;display:flex;justify-content:space-between}.cartoon-eyes i{background:#252342;width:10px;height:13px;border-radius:50%;position:relative}.cartoon-eyes i:before{content:'';position:absolute;left:3px;top:2px;width:3px;height:4px;border-radius:50%;background:#fff}.cartoon-smile{position:absolute;top:72px;left:36px;width:30px;height:17px;border-bottom:5px solid #bc6073;border-radius:50%}.cartoon-cheeks{position:absolute;top:77px;left:8px;right:8px;display:flex;justify-content:space-between}.cartoon-cheeks i{background:#e8809133;width:18px;height:10px;border-radius:50%}.ear{position:absolute;top:92px;width:18px;height:27px;background:#f6b28e;border:4px solid #33254d;border-radius:50%;z-index:5}.ear-left{left:61px}.ear-right{right:62px}.hair{position:absolute;top:27px;left:70px;width:109px;height:56px;background:#31213d;border:5px solid #2c223e;border-radius:55% 55% 31% 34%;z-index:5;transform:rotate(-4deg)}.hair:after{content:'';position:absolute;top:30px;left:0;width:92px;height:25px;background:#31213d;clip-path:polygon(0 0,100% 0,80% 80%,58% 27%,35% 100%,17% 33%,0 80%)}.face.photo~.hair{display:none}.neck{position:absolute;width:45px;height:32px;background:#e6a380;left:102px;top:148px;border:4px solid #302448;z-index:2}.body{position:absolute;left:45px;top:164px;width:159px;height:115px;border:6px solid #302448;border-radius:47px 47px 25px 25px;z-index:4;background:linear-gradient(130deg,#8bd3fa,#4b8cc9);box-shadow:inset -15px -8px #355b9130;transition:background .25s}.collar{position:absolute;top:1px;width:45px;height:26px;background:#f5ffff;border:3px solid #3b3a62;z-index:5}.collar-left{left:28px;clip-path:polygon(0 0,100% 0,90% 100%);transform:rotate(10deg)}.collar-right{right:28px;clip-path:polygon(0 0,100% 0,10% 100%);transform:rotate(-10deg)}.tie{position:absolute;top:22px;left:calc(50% - 12px);width:24px;height:59px;background:#f16f91;clip-path:polygon(50% 0,100% 25%,75% 100%,25% 100%,0 25%);filter:drop-shadow(0 3px 0 #33254b)}.chest-icon{display:none;position:absolute;top:34px;left:calc(50% - 19px);font-family:Outfit,sans-serif;font-size:35px;font-weight:900;color:#ffed8c;text-shadow:0 2px 0 #705d77}.arm{position:absolute;top:174px;width:47px;height:116px;border:5px solid #32254c;background:linear-gradient(#6bb8ee,#4786c8);border-radius:23px;z-index:2;transform-origin:50% 14%}.left-arm{left:24px;transform:rotate(19deg)}.right-arm{right:23px;transform:rotate(-19deg)}.hand{position:absolute;bottom:-11px;left:0;width:38px;height:38px;background:#ffc8a7;border:5px solid #34274e;border-radius:44%;box-shadow:inset -4px -2px #dca08d}.legs{position:absolute;z-index:3;top:269px;left:77px;display:flex;gap:16px}.leg{height:77px;width:41px;border:5px solid #302448;border-radius:5px 5px 16px 16px;background:linear-gradient(#45577b,#252a4f)}.shoe{position:absolute;bottom:0;width:49px;height:22px;border:4px solid #2a2244;border-radius:14px 15px 7px 7px;background:#191a37;transform:translateX(-6px)}.hat{display:none;position:absolute;left:65px;top:9px;width:122px;height:61px;border-radius:45% 45% 14% 14%;background:linear-gradient(130deg,#ff8ddd,#e8539f);border:5px solid #35244d;z-index:8;transform:rotate(-7deg)}.hat:after{content:'';position:absolute;bottom:-11px;left:-17px;width:145px;height:17px;border:4px solid #35244d;border-radius:50%;background:#ff91d2}.hat-decoration{display:block;position:absolute;left:15px;top:37px;height:9px;width:91px;background:#8b3d91;border-radius:5px}.character[data-costume="1"] .body,.character[data-costume="1"] .arm{background:linear-gradient(130deg,#ff808c,#b54fdb)}.character[data-costume="1"] .tie,.character[data-costume="2"] .tie,.character[data-costume="3"] .tie,.character[data-costume="4"] .tie{display:none}.character[data-costume="1"] .collar,.character[data-costume="2"] .collar,.character[data-costume="3"] .collar,.character[data-costume="4"] .collar{display:none}.character[data-costume="1"] .chest-icon,.character[data-costume="2"] .chest-icon,.character[data-costume="3"] .chest-icon,.character[data-costume="4"] .chest-icon{display:block}.character[data-costume="1"] .hat{display:block;transform:rotate(-9deg);background:#f65f94}.character[data-costume="2"] .body,.character[data-costume="2"] .arm{background:linear-gradient(130deg,#262943,#101527)}.character[data-costume="2"] .chest-icon{color:#e8ff7c}.character[data-costume="2"] .hat{display:block;height:35px;top:17px;border-radius:22px 22px 8px 8px;background:#181a33}.character[data-costume="3"] .body,.character[data-costume="3"] .arm{background:linear-gradient(135deg,#e9ecff,#8ec7db)}.character[data-costume="3"] .chest-icon{color:#5b87f6}.character[data-costume="3"] .hat{display:block;background:#f8fdff;top:5px;height:76px;border-radius:52% 52% 10% 10%}.character[data-costume="3"] .hat:after{background:#c3d9ee}.character[data-costume="4"] .body,.character[data-costume="4"] .arm{background:linear-gradient(135deg,#f8d473,#e9a63d)}.character[data-costume="4"] .chest-icon{color:#f8e3ff}.character[data-costume="4"] .hat{display:block;background:#8e65ed;border-color:#392b54;border-radius:8px 8px 24px 24px;top:6px;height:52px}.character[data-costume="4"] .hat:after{background:#e2c67a}.character.hit{animation:takeHit .56s cubic-bezier(.2,.8,.2,1)}.character.dancing{animation:groove .43s ease-in-out infinite alternate}.character.dancing .left-arm{animation:waveL .43s ease-in-out infinite alternate}.character.dancing .right-arm{animation:waveR .43s ease-in-out infinite alternate}.character.changing{animation:transformPop .6s ease-in-out}.stage.party{background:radial-gradient(ellipse at 45% 34%,#8144ac,#282c78 49%,#161442);animation:partyBackdrop 1.3s ease-in-out infinite alternate}.stage.party .stage-beam{opacity:.7;filter:blur(3px)}.stage.party .center-halo{border-color:#ffadfa99;box-shadow:0 0 0 25px #ffadfa21,0 0 0 64px #7ddaff11}.stage.party .stage-stars i{color:#ffe284}.stage.party .stage-floor{border-color:#7dfffb}.stage.party .beam-one{background:linear-gradient(#95ffccad,#6bfff705)}.stage.party .beam-two{background:linear-gradient(#ff97cbaa,#fa7db207)}
.arena-bottom{display:flex;align-items:center;gap:23px;padding:16px 20px;border-top:1px solid #343353;min-height:78px}.arena-metric{display:flex;align-items:center;gap:9px}.metric-icon{width:37px;height:37px;border-radius:11px;background:#2e3154;display:grid;place-items:center;font-size:19px}.arena-metric div{display:flex;flex-direction:column;gap:4px}.arena-metric strong{font-size:19px;line-height:1;font-family:Outfit,sans-serif;font-weight:900}.arena-metric div>span,.playing-as small{font-size:9px;letter-spacing:.7px;color:#9298b9;font-weight:800}.playing-as{display:flex;align-items:center;gap:12px;border-left:1px solid #ffffff24;margin-left:auto;padding-left:20px}.playing-as>div{display:flex;flex-direction:column;gap:5px}.playing-as strong{font-size:11px;color:#fff}.playing-as-dot{width:8px;height:8px}
.controls{margin-top:21px}.section-row{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:0 3px 16px}.section-row h2{margin:5px 0 0;font-size:20px;letter-spacing:-.4px}.controls-hint{font-size:11px;color:#8c98bb}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.action-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:148px;padding:18px 13px 14px;overflow:hidden;border-radius:18px;border:1px solid #ffffff32;box-shadow:inset 0 1px #ffffff2b,0 6px 25px #0002;color:#22283f;text-align:left;transition:transform .22s,filter .22s,box-shadow .22s}.action-card:disabled{cursor:not-allowed;filter:grayscale(.42);opacity:.75}.action-card:not(:disabled):hover{transform:translateY(-7px);box-shadow:0 15px 31px #0005;filter:saturate(1.15)}.action-card:not(:disabled):active{transform:translateY(-1px) scale(.975)}.cake-card{background:linear-gradient(155deg,#ffb2ce,#ed86ba)}.mud-card{background:linear-gradient(155deg,#d7b18a,#99653f)}.water-card{background:linear-gradient(155deg,#9fe8ff,#53a9f0)}.paint-card{background:linear-gradient(155deg,#ffc1e6,#b978ff)}.boxing-card{background:linear-gradient(155deg,#ffb386,#ff6a63)}.disco-card{background:linear-gradient(155deg,#bba4ff,#9876dd)}.costume-card{background:linear-gradient(155deg,#ffe3a1,#f3bd68)}.ducks-card{background:linear-gradient(155deg,#8eebeb,#64c6d5)}.action-art{font-size:36px;height:51px;display:block;filter:drop-shadow(0 6px 6px #4d30633b);transition:transform .3s}.action-card:hover .action-art{transform:rotate(-12deg) scale(1.25)}.action-art i{position:absolute;left:62px;top:4px;color:#fff9;font-size:23px;font-style:normal}.action-copy{display:flex;flex-direction:column;gap:6px;margin-top:auto}.action-copy strong{font-size:11px;line-height:1.4;font-weight:900}.action-copy small{font-size:9px;opacity:.67;font-weight:600}.action-arrow{position:absolute;right:13px;bottom:15px;font-weight:900;font-size:17px}.controls-note{font-size:10px;color:#8e97b8;padding:4px 4px 0;min-height:20px}
.sidebar{display:flex;flex-direction:column;gap:19px}.side-card{padding:19px 20px}.card-title-row{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:15px}.card-title-row h2,.admin-card h2{font-size:15px;margin:5px 0 0;line-height:1.4}.label-pill{font-family:Outfit,sans-serif;letter-spacing:1px;border-radius:6px;background:#33305b;color:#d8c4ff;padding:7px 8px;font-size:9px;font-weight:900}.score-list{display:flex;flex-direction:column;gap:7px}.score-item{display:flex;align-items:center;gap:10px;padding:11px 11px;background:#212640;border:1px solid #ffffff0b;border-radius:12px;min-height:52px}.score-item:first-child{background:linear-gradient(100deg,#4c3d64,#342e53);border-color:#ffe28e36}.rank-medal{font-size:20px;min-width:23px;text-align:center}.rank-number{font-size:11px;color:#a9accc;font-weight:800}.score-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.score-value{font:900 17px Outfit,sans-serif;color:#ffe292;white-space:nowrap}.score-value small{font:600 9px 'Be Vietnam Pro',sans-serif;color:#b9aed1;margin-left:3px}.feed{max-height:262px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#544969 transparent}.feed-item{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #ffffff11;animation:feedIn .35s ease both}.feed-icon{font-size:19px;background:#2c3154;border-radius:10px;flex-shrink:0;width:35px;height:35px;display:grid;place-items:center}.feed-text{font-size:11px;color:#aeb5d2;line-height:1.7;min-width:0}.feed-text strong{color:#f2eafd;font-weight:900;overflow-wrap:anywhere}.feed-time{display:block;color:#7b88ac;font-size:9px;margin-top:2px}.live-indicator{color:#ff9acb;font:900 10px Outfit,sans-serif;letter-spacing:1.1px}.live-indicator i{width:6px;height:6px;background:#ff83a8;box-shadow:0 0 9px #ff83a8;margin-right:4px;vertical-align:2px}.players-list{display:flex;gap:7px;flex-wrap:wrap}.player-chip{display:flex;align-items:center;gap:7px;border:1px solid #43496b;background:#272b48;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:700;max-width:100%;overflow-wrap:anywhere}.player-chip i{display:block;border-radius:50%;width:6px;height:6px;background:#6befb7}.nobody,.empty-state{color:#858fb4;font-size:11px;padding:20px 6px;text-align:center}.admin-card{padding:0}.admin-card summary{cursor:pointer;list-style:none;padding:18px 20px}.admin-card summary::-webkit-details-marker{display:none}.chevron{float:right;font-size:22px;color:#b6a2f5}.admin-content{padding:0 20px 20px}.admin-content p{font-size:11px;line-height:1.8;color:#9fa9c8}.admin-content label{display:block;font-size:10px;color:#adb5d4;margin:12px 0 7px;font-weight:800}.admin-content input{width:100%;min-width:0;background:#11172c;color:#f5eaff;padding:10px;border:1px solid #44476c;border-radius:9px;font-size:11px}.admin-upload{margin-top:12px;width:100%;border:0;border-radius:10px;padding:12px;color:#201936;font-size:11px;font-weight:900;background:linear-gradient(110deg,#bba0ff,#f59bc7)}#uploadStatus{font-size:11px;line-height:1.6;margin-top:9px;color:#ffdc9c}footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:31px 2px 38px;color:#858bad;font-size:10px}footer span:first-child{font-family:Outfit,'Be Vietnam Pro',sans-serif;font-weight:900;letter-spacing:1.4px}
.effect-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:7}.front-layer{z-index:11}.effect-emoji{position:absolute;display:block;font-size:45px;line-height:1;will-change:transform;filter:drop-shadow(0 7px 5px #24204266)}.cake-projectile{left:1%;top:30%;animation:cakeThrow .93s cubic-bezier(.24,.11,.3,1) forwards}.cake-splat{left:50%;top:28%;font-size:67px;animation:splat .88s ease-out forwards}.cream-splat{position:absolute;left:calc(50% - 49px);top:160px;width:98px;height:102px;z-index:12;pointer-events:none;border-radius:54% 46% 47% 53%;background:#fff8edda;box-shadow:0 4px #f6adc0,18px 4px #f7ecda9c,-13px 13px #fff9f0a8;animation:creamSplash 2.7s ease forwards;filter:drop-shadow(0 2px 4px #d83e7244)}.cream-splat:before,.cream-splat:after{content:'';position:absolute;border-radius:50%;background:#fff9f4}.cream-splat:before{width:40px;height:40px;top:-18px;left:-13px}.cream-splat:after{width:30px;height:48px;top:19px;right:-21px}.flying-duck{bottom:57px;left:-15%;font-size:clamp(25px,3.7vw,49px);animation:duckRun var(--travel,3.8s) linear forwards;animation-delay:var(--delay,0s);transform:scaleX(var(--flip,1));}.sparkle{font-size:24px;animation:sparkleRise 1.5s ease-out forwards}.note{font-size:26px;animation:noteFly 1.8s ease-out forwards}.confetti-piece{position:absolute;top:-20px;width:10px;height:18px;opacity:0;animation:confettiDrop var(--fall,2s) linear forwards;transform:rotate(var(--rot,15deg));border-radius:3px}.float-points{position:absolute;left:58%;top:20%;z-index:12;color:#ffeb9f;font:900 28px Outfit,sans-serif;filter:drop-shadow(0 4px 9px #0008);animation:pointsUp 1.2s ease-out forwards}.screen-flash{position:absolute;inset:0;z-index:13;background:#ffffff;opacity:0;pointer-events:none}.screen-flash.flash{animation:cameraFlash .32s ease-out}.toast-container{position:fixed;bottom:20px;right:20px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.toast{max-width:310px;padding:12px 17px;border:1px solid #c2afff65;border-radius:14px;background:#29264af2;box-shadow:0 16px 35px #0008;color:white;font-size:11px;font-weight:800;animation:toastIn .35s ease both}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#080b19dc;backdrop-filter:blur(10px);padding:20px}.modal.hidden{display:none}.modal-card{position:relative;isolation:isolate;overflow:hidden;width:min(100%,425px);background:linear-gradient(145deg,#282447,#171b36);border:1px solid #685c8d;border-radius:27px;box-shadow:0 30px 100px #0009;padding:30px 34px 28px;text-align:left}.modal-glow{position:absolute;z-index:-1;top:-190px;left:-15%;width:130%;height:330px;filter:blur(55px);background:#8e63d34c}.modal-logo{width:75px;height:75px;margin:0 auto 14px;display:grid;place-items:center;font-size:42px;border-radius:23px;background:linear-gradient(145deg,#663ca2,#a764b5);transform:rotate(-8deg);box-shadow:0 10px 36px #8642a655}.modal-eyebrow{text-align:center;letter-spacing:2px;font:900 10px Outfit,sans-serif;color:#d1b8ff}.modal h2{text-align:center;font-size:27px;letter-spacing:-1px;margin:9px 0 11px}.modal h2 span{color:#fa9ad2}.modal p{text-align:center;color:#b8b9d7;font-size:12px;line-height:1.8;margin:0 0 20px}.modal label{display:block;font-weight:900;font-size:10px;color:#c8c5e8;letter-spacing:1.4px;margin:14px 0 7px}.modal input{width:100%;padding:14px;background:#10172d;border:1px solid #58516f;color:#fff;border-radius:12px;font-size:13px}.join-button{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:21px;border:0;border-radius:12px;background:linear-gradient(110deg,#b28cf9,#e38bce);padding:15px 18px;color:#251d41;font:900 13px Outfit,'Be Vietnam Pro',sans-serif;box-shadow:0 7px 0 #61448a;transition:.2s}.join-button:hover{filter:brightness(1.1);transform:translateY(-2px)}.join-button span{font-size:21px}.modal .error{color:#ff9aa4;min-height:17px;margin:8px 0;font-size:11px}.consent-note{border-top:1px solid #ffffff1c;padding-top:13px;color:#9aa3c6;font-size:10px;line-height:1.7;text-align:center}
@keyframes twinkle{from{opacity:.25;transform:scale(.8)}to{opacity:.94;transform:scale(1.2)}}@keyframes haloPulse{50%{box-shadow:0 0 0 15px #e3baff12,0 0 0 69px #e3baff08,inset 0 0 90px #dfa4ff35}}@keyframes beamLeft{from{transform:rotate(3deg)}to{transform:rotate(49deg)}}@keyframes beamRight{from{transform:rotate(-6deg)}to{transform:rotate(-47deg)}}@keyframes ballRotate{50%{transform:rotate(13deg)}}@keyframes speechPop{0%{transform:rotate(2deg) scale(.8)}70%{transform:rotate(7deg) scale(1.12)}100%{transform:rotate(5deg) scale(1)}}@keyframes takeHit{0%,100%{transform:rotate(0) scale(1)}33%{transform:translate(12px,-2px) rotate(17deg) scale(.94)}60%{transform:translate(-5px,6px) rotate(-9deg) scale(1.05)}}@keyframes groove{from{transform:rotate(-12deg) translateY(-9px)}to{transform:rotate(12deg) translateY(2px)}}@keyframes waveL{from{transform:rotate(-65deg)}to{transform:rotate(20deg)}}@keyframes waveR{from{transform:rotate(60deg)}to{transform:rotate(-20deg)}}@keyframes transformPop{0%,100%{transform:scale(1) rotate(0)}35%{transform:scale(.85) rotate(-10deg)}70%{transform:scale(1.15) rotate(6deg)}}@keyframes partyBackdrop{0%{filter:hue-rotate(0)}100%{filter:hue-rotate(50deg)}}@keyframes cakeThrow{0%{transform:translate(0,130px) rotate(-38deg) scale(.7);opacity:1}67%{transform:translate(500%,25px) rotate(380deg) scale(1.4);opacity:1}90%{transform:translate(680%,65px) rotate(580deg) scale(1.8);opacity:1}100%{transform:translate(680%,65px) scale(.5);opacity:0}}@keyframes splat{0%{transform:scale(.1) rotate(-15deg);opacity:0}30%{opacity:1;transform:scale(1.55) rotate(12deg)}100%{opacity:0;transform:scale(1.9) rotate(-6deg)}}@keyframes creamSplash{0%{transform:scale(.15) rotate(-15deg);opacity:0}17%{transform:scale(1.2) rotate(9deg);opacity:1}36%,75%{transform:scale(1) rotate(0);opacity:.93}100%{transform:scale(.9) translateY(33px);opacity:0}}@keyframes duckRun{0%{left:-14%;transform:translateY(0) scaleX(var(--flip,1)) rotate(-9deg);opacity:1}20%{transform:translateY(-32px) scaleX(var(--flip,1)) rotate(8deg)}40%{transform:translateY(0) scaleX(var(--flip,1)) rotate(-6deg)}60%{transform:translateY(-39px) scaleX(var(--flip,1)) rotate(9deg)}80%{transform:translateY(-5px) scaleX(var(--flip,1)) rotate(-9deg)}100%{left:107%;transform:translateY(-20px) scaleX(var(--flip,1)) rotate(6deg);opacity:1}}@keyframes sparkleRise{0%{transform:translateY(45px) scale(.3) rotate(0);opacity:0}25%{opacity:1}100%{transform:translateY(-100px) scale(1.4) rotate(180deg);opacity:0}}@keyframes noteFly{0%{transform:translateY(0) rotate(-10deg);opacity:0}20%{opacity:1}100%{transform:translateY(-160px) translateX(40px) rotate(24deg);opacity:0}}@keyframes confettiDrop{0%{top:-40px;opacity:1;transform:translateX(0) rotate(0)}100%{top:110%;opacity:.85;transform:translateX(var(--drift,80px)) rotate(760deg)}}@keyframes pointsUp{0%{transform:translateY(25px) scale(.7);opacity:0}30%{opacity:1;transform:translateY(0) scale(1.2)}100%{transform:translateY(-85px);opacity:0}}@keyframes cameraFlash{0%{opacity:0}40%{opacity:.3}100%{opacity:0}}@keyframes feedIn{0%{transform:translateY(-7px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes toastIn{from{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:1150px){.dashboard{grid-template-columns:minmax(0,1.6fr) minmax(265px,.9fr)}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-card{min-height:116px;flex-direction:row;align-items:center;gap:10px;padding:15px}.action-art{height:auto;font-size:32px}.action-copy{margin-top:0}.action-arrow{bottom:11px;right:10px}.action-art i{display:none}.intro h1{font-size:37px}}
@media(max-width:800px){.app-shell{padding:0 17px}.topbar{min-height:76px}.brand strong{font-size:17px}.brand small,.brand-subline small{font-size:8px;letter-spacing:1.5px}.brand-logo{width:clamp(180px,34vw,280px)}.intro{padding:24px 0;flex-wrap:wrap}.intro h1{font-size:34px}.intro p{max-width:600px}.room-info{flex-direction:row;align-items:center;flex-wrap:wrap;min-width:0;padding:10px 15px}.room-label{display:none}.dashboard{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.players-card,.admin-card{grid-column:span 1}.stage{height:420px}.character-wrap{transform:translate(-50%,-39%)}}@media(max-width:580px){.brand strong{font-size:14px}.brand small{font-size:7px}.brand-wrap{gap:8px}.brand-icon{width:35px;height:35px;font-size:21px}.header-actions{gap:7px}.live-pill{padding:8px 10px;font-size:11px}.live-pill>span:last-child{display:none}.icon-button{width:34px;height:34px}.intro{gap:16px}.intro h1{font-size:30px;letter-spacing:-.8px}.eyebrow{font-size:8px;letter-spacing:1.1px}.intro p{font-size:11px}.room-info{font-size:11px}.arena-heading{padding:0 12px;height:50px}.section-heading{font-size:9px}.section-heading-quiet{display:none}.stage{height:355px}.character-wrap{transform:translate(-50%,-41%) scale(.82)}.speech-bubble{top:31px;right:3%;max-width:129px;padding:8px 10px;font-size:10px;line-height:1.5}.wall-badge{top:70px;font-size:18px}.badge-left{left:3%}.badge-right{right:3%;font-size:23px}.badge-right span{font-size:18px}.center-halo{width:270px;height:270px;top:29%}.arena-bottom{padding:12px;gap:10px}.arena-metric{gap:6px}.metric-icon{width:30px;height:30px;font-size:14px}.arena-metric strong{font-size:16px}.arena-metric div>span,.playing-as small{font-size:8px}.playing-as{padding-left:10px;gap:6px}.playing-as strong{font-size:10px}.bottom-marquee{left:9px;right:9px;font-size:8px}.bottom-marquee span:last-child{display:none}.dot-sep{display:none}.action-grid{gap:9px}.action-card{min-height:103px;padding:12px 10px;gap:7px}.action-art{font-size:29px}.action-copy strong{font-size:10px}.action-copy small{font-size:8px}.action-arrow{font-size:13px}.sidebar{grid-template-columns:1fr;gap:13px}.side-card{padding:17px}.admin-card{padding:0}.section-row h2{font-size:18px}.controls-hint{font-size:9px}footer{display:flex;flex-direction:column;gap:6px;text-align:center;font-size:9px}.modal-card{padding:26px 23px}.speech-bubble{z-index:10}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.character.photo-avatar .hair{display:none}

.mud-splash{position:absolute;left:calc(50% - 58px);top:148px;width:116px;height:96px;z-index:12;pointer-events:none;border-radius:53% 47% 58% 42%/50% 40% 60% 50%;background:radial-gradient(circle at 40% 34%,#a16a40 0 16%,transparent 17%),radial-gradient(circle at 56% 48%,#6f431f 0 18%,transparent 19%),radial-gradient(circle at 35% 65%,#7d4e27 0 14%,transparent 15%),radial-gradient(circle at 72% 34%,#89562f 0 12%,transparent 13%),radial-gradient(circle at 50% 55%,#5f3515 0 50%,#8d5b34 51% 74%,transparent 75%);filter:drop-shadow(0 5px 7px #3e210f55);animation:mudSplashAnim 2.4s ease forwards}.mud-splash:before,.mud-splash:after{content:'';position:absolute;border-radius:50%;background:#7a4924}.mud-splash:before{width:28px;height:28px;left:-10px;top:6px}.mud-splash:after{width:19px;height:19px;right:-8px;top:32px}.mud-droplet{font-size:18px;animation:mudDrop 1s ease-out forwards}.water-splash{position:absolute;left:calc(50% - 62px);top:145px;width:124px;height:112px;z-index:12;pointer-events:none;background:radial-gradient(circle at 50% 70%,#8fd7ff3f 0 10%,transparent 11%),radial-gradient(circle at 50% 52%,#b6eeff 0 30%,transparent 31%),radial-gradient(circle at 34% 43%,#d8f7ff 0 13%,transparent 14%),radial-gradient(circle at 68% 40%,#c5f2ff 0 14%,transparent 15%),radial-gradient(circle at 50% 50%,#6bc8ff88 0 47%,transparent 48%);filter:drop-shadow(0 6px 11px #0b6eb74f);animation:waterBurst 1.5s ease forwards}.water-droplet{font-size:20px;animation:waterDrop 1s ease-out forwards}.water-balloon{font-size:39px;filter:drop-shadow(0 7px 5px #24204244)}
@keyframes mudSplashAnim{0%{transform:scale(.1) rotate(-22deg);opacity:0}20%{transform:scale(1.25) rotate(9deg);opacity:1}70%{transform:scale(1) rotate(-4deg);opacity:.96}100%{transform:translateY(18px) scale(.88);opacity:0}}@keyframes mudDrop{0%{transform:scale(.4) translateY(0);opacity:0}25%{opacity:1}100%{transform:translateY(35px) translateX(var(--drift,0)) scale(.9);opacity:0}}@keyframes waterBurst{0%{transform:scale(.12);opacity:0}25%{transform:scale(1.18);opacity:1}100%{transform:scale(1.35) translateY(8px);opacity:0}}@keyframes waterDrop{0%{transform:scale(.45) translateY(0);opacity:0}25%{opacity:1}100%{transform:translateY(44px) translateX(var(--drift,0)) scale(.88);opacity:0}}

.paint-splash{position:absolute;left:calc(50% - 56px);top:146px;width:112px;height:96px;z-index:12;pointer-events:none;border-radius:48% 52% 58% 42%/54% 44% 56% 46%;background:radial-gradient(circle at 33% 27%,#ffdb4d 0 8%,transparent 9%),radial-gradient(circle at 68% 26%,#6ef3ae 0 12%,transparent 13%),radial-gradient(circle at 34% 67%,#9d74ff 0 14%,transparent 15%),radial-gradient(circle at 58% 51%,#ff6bd1 0 43%,#7a5cff 44% 58%,transparent 60%);filter:drop-shadow(0 6px 10px #7d48d177);animation:waterBurst 1.8s ease forwards}.boxing-glove{position:absolute;left:7%;top:34%;width:128px;height:64px;z-index:14;pointer-events:none}.boxing-glove:before{content:"";position:absolute;left:0;top:20px;width:76px;height:22px;border-radius:14px;background:linear-gradient(90deg,#e5def2,#c4b8de);box-shadow:inset 0 2px 4px #fff9,0 2px 5px #0003}.boxing-glove:after{content:"";position:absolute;right:0;top:0;width:72px;height:64px;border-radius:58% 42% 48% 52%/50% 44% 56% 50%;background:radial-gradient(circle at 34% 24%,#ffd6d0 0 10%,transparent 11%),linear-gradient(145deg,#ff8d78,#ef3d39);box-shadow:inset -6px -9px 11px #a2202866,0 8px 14px #0004}.boxing-burst{position:absolute;left:calc(50% - 24px);top:146px;font-size:48px;z-index:15;animation:splat .95s ease-out forwards}
