/* HAGCADE PARTY V3 */
.player-profile{margin:8px 0 18px;padding:14px;box-shadow:none}
.profile-main{display:flex;align-items:center;justify-content:space-between;gap:12px}
.profile-main strong{display:block;margin-top:4px;font-size:20px;letter-spacing:-.02em}.profile-main small{display:block;margin-top:3px;color:var(--muted);font:9px var(--mono)}
.profile-edit{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:11px}.profile-edit input{min-width:0;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#080c13;color:var(--text);outline:0}.profile-edit input:focus{border-color:var(--cyan)}
.device-scorecard{margin-top:10px;border-top:1px solid var(--line2);padding-top:8px}.device-scorecard h4{margin:14px 0 6px;color:var(--muted);font:800 9px var(--mono);letter-spacing:.1em}
.scorecard-row{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;min-height:34px;padding:5px 3px;border-bottom:1px solid #182132;font-size:10px}.scorecard-row span{color:#97a4b8;font:8px var(--mono)}.scorecard-row em{color:var(--lime);font:800 8px var(--mono);font-style:normal}
.score-history-row{display:grid;grid-template-columns:62px minmax(80px,1fr) 28px minmax(80px,1fr);gap:7px;align-items:center;min-height:30px;border-bottom:1px solid #151e2c;color:#77859a;font:8px var(--mono)}.score-history-row b{color:#cdd8e8}.score-history-row em{font-style:normal;font-weight:900;text-align:center}.score-history-row .r-W{color:var(--lime)}.score-history-row .r-L{color:var(--red)}.score-history-row .r-D{color:var(--yellow)}

.memory-top{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;max-width:760px;margin:0 auto 10px;color:#a7b3c5;font:800 10px var(--mono)}.memory-top b:last-child{text-align:right}.memory-top span{text-align:center;color:var(--muted)}
.memory-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-width:760px;margin:auto;perspective:1000px}
.memory-card{position:relative;aspect-ratio:.78;border:1px solid #2b3950;border-radius:13px;background:#0b111c;transform-style:preserve-3d;transition:transform .38s cubic-bezier(.2,.8,.2,1),border-color .2s;cursor:pointer}
.memory-card>span{position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;backface-visibility:hidden}
.memory-card .card-back{background:linear-gradient(145deg,#17243a,#0d1421);color:#61e7ff;font:900 25px var(--mono);text-shadow:0 0 18px #61e7ff66}
.memory-card .card-face{transform:rotateY(180deg);background:linear-gradient(145deg,#f4f7fb,#dce7f4);color:#111827;font-size:30px}
.memory-card.shown{transform:rotateY(180deg)}.memory-card.owned0{border-color:var(--cyan);box-shadow:0 0 18px #61e7ff31}.memory-card.owned1{border-color:var(--violet);box-shadow:0 0 18px #a98cff31}

.motion-arena{min-height:clamp(470px,65dvh,760px);display:grid;align-content:center;gap:18px;max-width:860px;margin:auto;padding:20px;text-align:center;overflow:hidden;position:relative}
.motion-title{color:var(--cyan);font:900 11px var(--mono);letter-spacing:.18em}.motion-ready{display:inline-grid;place-items:center;justify-self:center;min-width:210px;min-height:48px;border:1px solid #65e89a66;border-radius:13px;background:#143021;color:var(--lime);font:900 10px var(--mono)}
.motion-enable{justify-self:center;min-width:min(360px,90%)}.motion-clock{justify-self:center;width:112px;height:112px;display:grid;place-items:center;border:1px solid #52617a;border-radius:50%;background:radial-gradient(circle,#182337,#090e17 70%);box-shadow:inset 0 0 30px #0007,0 0 40px #61e7ff14;font:900 28px var(--mono)}
.race-bars{display:grid;gap:12px}.race-bars>div{display:grid;grid-template-columns:34px 1fr 48px;gap:8px;align-items:center}.race-bars b,.race-bars strong{font:900 10px var(--mono)}.race-bars i{height:26px;border:1px solid #26344a;border-radius:999px;background:#070b11;overflow:hidden}.race-bars i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#47d8ff,#a6ff6f);box-shadow:0 0 22px #61e7ff55;transition:width .12s linear}.race-bars>div:nth-child(2) i span{background:linear-gradient(90deg,#a98cff,#ff8ac7)}
.motion-arena p{margin:0;color:#7d8ca2;font-size:10px}

.tilt-arena{grid-template-rows:auto auto minmax(300px,1fr) auto auto}.tilt-field{position:relative;min-height:360px;border:1px solid #2a3a51;border-radius:22px;overflow:hidden;background:radial-gradient(circle at 50% 50%,#11243a,#080d16 58%,#05080d);box-shadow:inset 0 0 50px #0008}
.tilt-field:before,.tilt-field:after{content:"";position:absolute;background:#ffffff0b}.tilt-field:before{width:1px;top:0;bottom:0;left:50%}.tilt-field:after{height:1px;left:0;right:0;top:50%}
.tilt-target{position:absolute;width:72px;height:72px;border:2px solid var(--lime);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #a6ff6f,0 0 55px #a6ff6f44;transition:left .28s ease,top .28s ease}
.tilt-target:after{content:"";position:absolute;inset:21px;border:1px solid #d8ffc1;border-radius:50%}
.tilt-player{position:absolute;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;transform:translate(-50%,-50%);font:900 11px var(--mono);transition:left .08s linear,top .08s linear;box-shadow:0 5px 15px #0009}.tilt-player.p0{background:var(--cyan);color:#061119}.tilt-player.p1{background:var(--violet);color:#fff}
.motion-scoreline{display:flex;justify-content:space-between;font:900 13px var(--mono)}

.simon-arena{min-height:clamp(520px,69dvh,820px);display:grid;grid-template-rows:auto minmax(240px,1fr) auto auto;gap:12px;align-items:center;max-width:900px;margin:auto;padding:15px}
.simon-score{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.simon-score>div:first-child{text-align:left}.simon-score>div:last-child{text-align:right}.simon-score b{display:block;color:#8795ab;font:800 9px var(--mono)}.simon-score strong{display:block;font-size:28px}.simon-score span{color:#ff6f86;font:900 14px var(--mono);letter-spacing:.08em}.simon-round{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:800 9px var(--mono)}
.simon-command{position:relative;min-height:280px;display:grid;place-content:center;text-align:center;border:1px solid #324159;border-radius:24px;overflow:hidden;background:radial-gradient(circle,#18334d 0,#0c1421 50%,#070b11 100%);box-shadow:inset 0 0 70px #0008}
.simon-command:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,#61e7ff12,transparent,#a98cff14,transparent);animation:simonSpin 8s linear infinite}.simon-command>*{position:relative;z-index:1}.simon-command small{color:var(--cyan);font:900 10px var(--mono);letter-spacing:.14em}.simon-command h2{max-width:700px;margin:12px auto;font-size:clamp(34px,8vw,72px);line-height:.95;letter-spacing:-.055em;text-transform:uppercase}.simon-command p{margin:0;color:#b9c7d8;font:900 15px var(--mono)}
.simon-command.simon-trick{border-color:#6b4350;background:radial-gradient(circle,#2c1820 0,#120d14 55%,#08090d 100%)}.simon-command.simon-trick small{color:#ff7d92}
.simon-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.simon-outcomes span{padding:10px;border:1px solid #243146;border-radius:11px;background:#0b111b;color:#8896aa;text-align:center;font:900 9px var(--mono)}.simon-endline{padding:12px;border:1px solid #ffd15c55;border-radius:12px;background:#2b2412;color:#ffe89b;text-align:center;font-weight:800}.voice-chip{justify-self:center;color:#6f8199;font:800 8px var(--mono);letter-spacing:.08em}
@keyframes simonSpin{to{transform:rotate(360deg)}}

.signal-lock{padding:6px 8px;border:1px solid #a6ff6f55;border-radius:999px;background:#102517dc;color:var(--lime);font:900 8px var(--mono);letter-spacing:.08em;backdrop-filter:blur(8px)}
.signal-stage{contain:layout style;backface-visibility:hidden;transform-style:flat}
.signal-victory-ripple{position:absolute;z-index:32;width:0;height:0;pointer-events:none}
.signal-victory-ripple i{position:absolute;left:0;top:0;width:20px;height:20px;border:3px solid #caff9d;border-radius:50%;transform:translate(-50%,-50%);animation:victoryRipple 2.15s cubic-bezier(.05,.55,.1,1) both;box-shadow:0 0 22px #a6ff6f88}
.signal-victory-ripple i:nth-child(2){animation-delay:.18s}.signal-victory-ripple i:nth-child(3){animation-delay:.36s}.signal-victory-ripple i:nth-child(4){animation-delay:.54s}
.signal-victory-ripple b{position:absolute;left:0;top:0;transform:translate(-50%,-50%);padding:7px 10px;border-radius:999px;background:#a6ff6f;color:#071006;font:1000 10px var(--mono);box-shadow:0 0 30px #a6ff6faa;animation:lockBadge 2.4s ease both}
@keyframes victoryRipple{0%{width:14px;height:14px;opacity:1}100%{width:min(105vw,900px);height:min(105vw,900px);opacity:0}}
@keyframes lockBadge{0%{opacity:0;scale:.5}12%,72%{opacity:1;scale:1}100%{opacity:0;scale:1.25}}

@media(max-width:760px){
 .player-profile{margin-top:2px}.profile-edit{grid-template-columns:1fr}.score-history-row{grid-template-columns:54px 1fr 24px}.score-history-row small{grid-column:2/4}
 .memory-grid{grid-template-columns:repeat(4,1fr);gap:6px}.memory-card{border-radius:10px}.memory-card .card-face{font-size:25px}
 .motion-arena{min-height:calc(100dvh - 230px);padding:10px}.tilt-field{min-height:330px}
 .simon-arena{min-height:calc(100dvh - 220px);padding:7px}.simon-command{min-height:260px}.simon-command h2{font-size:clamp(34px,11vw,58px)}
 .signal-lock{display:none}
}
@media(max-width:430px){
 .memory-grid{gap:5px}.memory-card .card-back{font-size:19px}.memory-card .card-face{font-size:22px}
 .motion-clock{width:92px;height:92px;font-size:24px}.tilt-field{min-height:300px}.tilt-target{width:62px;height:62px}
 .simon-score strong{font-size:23px}.simon-command{min-height:235px;border-radius:18px}
}
