.hidden{display:none!important}.lobby{max-width:1200px;margin:auto;padding:0 40px}.brand-games{font:600 14px var(--font);color:var(--accent);align-self:flex-end;padding-bottom:5px}.lobby .top>a:last-child{font-size:13px;color:var(--muted)}.lobby-layout{min-height:calc(100svh - 110px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:70px;align-items:center;padding:50px 0}.lobby-copy h1{font-size:clamp(36px,5vw,60px);line-height:1.1;letter-spacing:-2px;margin:12px 0 24px}.lobby-copy>p:not(.section-label){color:var(--muted);font-size:18px}.lobby-box{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:32px}.lobby-box h2{font-size:21px;margin:0 0 28px}.lobby-box label{display:block;font-size:13px;margin-bottom:8px}.lobby-box input{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:10px;width:100%;padding:13px 15px;min-width:0}.lobby-box input:focus{border-color:var(--accent)}#createBtn{width:100%;margin-top:14px}.separator{margin:26px 0 20px;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:12px}.separator:before,.separator:after{content:'';height:1px;flex:1;background:var(--line)}.join-row{display:flex;gap:10px}#roomIdInput{text-transform:uppercase;letter-spacing:3px}.lobby-note{font-size:12px;color:var(--muted);margin:22px 0 0}.message{color:var(--accent);font-size:13px;margin:12px 0 0;min-height:0}.message:empty{display:none}.mini-cards{display:flex;margin:30px 0 35px;gap:0;padding-left:8px}.mini-cards span{width:66px;height:90px;background:var(--card);color:var(--black);border-radius:8px;padding:10px;font-size:19px;font-weight:800;box-shadow:0 8px 20px #0004;transform:rotate(-10deg);border:1px solid var(--line)}.mini-cards span:nth-child(2){color:var(--red);transform:translateY(-8px) rotate(-3deg)}.mini-cards span:nth-child(3){transform:translateY(-8px) rotate(3deg)}.mini-cards span:nth-child(4){color:var(--red);transform:rotate(10deg)}.rules{max-width:470px;font-size:13px;color:var(--muted)}.rules summary{cursor:pointer;color:var(--text);padding:10px 0}.rules p{margin:12px 0}.game-header{display:flex;align-items:center;gap:24px;padding:16px 28px;border-bottom:1px solid var(--line);background:var(--bg)}.game-brand{font-size:13px;color:var(--accent);font-weight:800}.game-header h1{font-size:17px;margin:0;flex:1}.small-button,.room-code,.ask-btn{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 14px;cursor:pointer}.room-code{font-size:12px;color:var(--muted)}.room-code strong{color:var(--accent);letter-spacing:2px;margin-left:8px}.small-button{font-size:12px}#gameArea{min-height:100svh;background:radial-gradient(ellipse at 50% 45%,#30234488,transparent 65%);display:flex;flex-direction:column}.connection{padding:0 24px;text-align:center;color:var(--accent);font-size:12px;min-height:18px;margin:5px 0}.opponents-container{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;padding:10px 20px}.opponent{position:relative;text-align:center;border:1px solid var(--line);border-radius:14px;padding:12px 16px;min-width:130px;background:var(--surface)}.opponent.active-turn{border-color:var(--accent);box-shadow:0 0 20px #c0afff13}.avatar{display:grid;place-items:center;background:var(--line);width:36px;height:36px;border-radius:50%;margin:0 auto 6px;font-weight:800;color:var(--accent)}.opp-name{font-size:13px;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opp-stats{font-size:11px;color:var(--muted);display:flex;justify-content:center;gap:12px;margin:4px 0}.ask-btn{display:none;margin-top:10px;font-size:12px;background:var(--accent);color:var(--ink);width:100%;font-weight:750}.asking-mode .ask-btn{display:block}.ask-btn:disabled{opacity:.4;cursor:default}.table-center{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:245px;padding:20px 24px;text-align:center}.deck-area{width:76px;height:108px;background:repeating-linear-gradient(45deg,#51436c 0 5px,#45385f 5px 10px);border:3px solid #a697c6;border-radius:10px;box-shadow:-4px 4px 0 #292332,-8px 8px 0 #383044,0 14px 30px #0004;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:11px;position:relative}.deck-area strong{font-size:25px;line-height:1.3}.deck-suit{font-size:18px;color:var(--accent)}#startBtn{margin-top:24px}.action-prompt{font-size:16px;margin:24px 0 8px;font-weight:750;color:var(--accent)}.last-move{font-size:12px;max-width:600px;color:var(--muted);margin:0}.turn-clock{font-size:11px;color:var(--muted);margin:8px 0 0}.my-area{padding:18px 24px 26px;border-top:1px solid var(--line);background:#0c0e1380;min-height:205px}.my-stats{display:flex;justify-content:space-between;gap:12px;font-size:12px;max-width:800px;margin:auto;color:var(--muted)}#myTurnStatus{color:var(--accent)}.hand-container{display:flex;justify-content:center;align-items:flex-end;height:135px;max-width:850px;width:100%;margin:12px auto 0;position:relative}.card{position:absolute;width:70px;height:100px;bottom:0;border:2px solid transparent;border-radius:9px;background:var(--card);color:var(--black);box-shadow:-3px 4px 10px #0004;display:flex;flex-direction:column;justify-content:space-between;text-align:left;padding:7px 9px;cursor:pointer;transform:translate(var(--x),var(--y)) rotate(var(--angle));transform-origin:bottom center;transition:transform .2s,box-shadow .2s}.card.red{color:var(--red)}.card .rank{font-size:20px;font-weight:800;line-height:1}.card .suit{font-size:30px;align-self:center;line-height:1}.card .rank:last-child{align-self:flex-end;transform:rotate(180deg)}.card.selected{transform:translate(var(--x),-26px) scale(1.08);box-shadow:0 0 22px #c0afff60;border-color:var(--accent);z-index:100!important}.card:disabled{cursor:default}.results{margin-top:20px;padding:15px 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:14px}.results p{margin:5px 0}.no-script{position:fixed;bottom:0;background:var(--surface);padding:20px;width:100%;margin:0;text-align:center}button:disabled{opacity:.6;cursor:wait}
@media(max-width:700px){.lobby{padding:0 22px}.lobby-layout{grid-template-columns:1fr;gap:28px;padding:35px 0;min-height:auto}.lobby-copy h1{letter-spacing:-1.2px;margin-bottom:16px}.lobby-copy>p:not(.section-label){font-size:15px}.mini-cards{display:none}.rules{margin-top:15px}.lobby-box{padding:24px}.game-header{gap:12px;padding:12px 14px;flex-wrap:wrap}.game-header h1{font-size:14px;flex-basis:50%;text-align:right}.game-brand{font-size:12px}.room-code{margin-right:auto}.opponents-container{gap:8px;padding:8px 10px}.opponent{min-width:92px;padding:9px;flex:1;max-width:150px}.opp-name{font-size:12px;max-width:110px}.opp-stats{font-size:10px;gap:5px}.table-center{padding:18px 15px;min-height:240px}.action-prompt{font-size:14px}.my-area{padding:14px 15px 30px}.hand-container{height:130px}.card{width:62px;height:92px;padding:6px}.card .rank{font-size:18px}.card .suit{font-size:26px}.my-stats{font-size:11px}.connection{font-size:11px}.game-header .small-button{padding:8px 13px}}
@media(max-height:650px) and (min-width:701px){.opponent{padding:6px 16px}.avatar{display:none}.table-center{min-height:165px;padding:10px}.deck-area{width:55px;height:76px}.action-prompt{margin-top:12px}.my-area{min-height:160px;padding-top:10px}.hand-container{height:115px;margin-top:0}.game-header{padding:10px 24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
