/* Online table: one consistent landscape board, integrated card artwork. */
select{width:100%;padding:12px;background:#181322;border:1px solid #b88b5055;color:#f7e7c8;border-radius:8px;font:inherit}input{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #9cf2d0;outline-offset:3px}.form-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.avatar-picker{flex-wrap:wrap}.playing-card .card-art{position:static;inset:auto;width:100%;height:100%;object-fit:contain;border-radius:8px}.playing-card{padding:0;background:transparent;overflow:visible;border-radius:8px;aspect-ratio:2/3}.playing-card:before,.playing-card:after{display:none}.lobby-shell{max-width:1350px;margin:auto;padding:30px 5% 60px}.lobby-heading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 36px;gap:20px}.lobby-heading h1{font:500 38px 'Pridi';color:#ffe3ad;margin:8px 0}.lobby-heading p{font-size:13px;color:#b4a4bc}.room-code{background:#302238;border:1px solid #d6ab62;border-radius:16px;padding:15px 25px;color:#ffe4ab;font:28px monospace;letter-spacing:5px}.room-code small{display:block;font:10px 'Noto Sans Thai';letter-spacing:0;margin-top:7px}.lobby-grid{display:grid;grid-template-columns:1fr 280px;gap:28px}.seat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px}.lobby-seat{min-height:210px;border:1px solid #d6ab6233;background:linear-gradient(160deg,#36263f,#1d182b);border-radius:18px;padding:24px 10px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:10px}.lobby-seat .avatar{width:58px;height:58px;font-size:34px}.lobby-seat h3{font-size:14px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.lobby-seat p{font-size:10px;color:#b6a2c3}.lobby-seat>strong{font-size:11px;color:#aa91b7}.lobby-seat.ready{border-color:#8ad5b777}.lobby-seat.ready>strong{color:#94e8bf}.lobby-seat.empty{border-style:dashed;justify-content:center;background:#ffffff03}.lobby-seat.empty>span{font-size:32px;color:#b89b75}.lobby-seat.empty h3{color:#b29bb9}.lobby-seat .outline-button{font-size:11px;padding:8px 13px}.lobby-rules{display:flex;flex-wrap:wrap;gap:15px;border:1px solid #e5be6d22;border-radius:10px;padding:18px;margin:22px 0;font-size:11px;color:#baa5c6}.lobby-rules b{color:#ebd0a5}.lobby-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.lobby-actions>span{font-size:12px;color:#b5a2bf}.chat-panel{background:#151320aa;border:1px solid #d0aa6233;border-radius:15px;padding:20px}.chat-panel h3{font-size:14px;color:#ecd4ae;display:flex;justify-content:space-between}.chat-panel h3>span{color:#df9dba}.chat-messages{min-height:180px;max-height:260px;overflow:auto;margin:17px 0}.chat-messages p{font-size:11px!important;margin:0 0 14px!important;line-height:1.6!important}.chat-messages b{display:block;font-size:10px;color:#cdaa73}.chat-messages span{overflow-wrap:anywhere;color:#e3d3e8}.chat-empty{color:#8c7a9c}.chat-panel form{display:flex;gap:5px}.chat-panel input{width:100%;min-width:0;background:#0f0e1a;border:1px solid #b99b5b44;border-radius:7px;color:white;padding:10px;font-size:12px}.chat-panel form button{background:#d0ab63;border-radius:7px;padding:8px;color:#211727}.emotes{display:flex;gap:8px;margin-bottom:12px}.emotes button{background:#ffffff09;font-size:20px;border-radius:7px;padding:5px 10px}
.arena{height:100svh;min-height:620px;position:relative;overflow:hidden;background:linear-gradient(#151122ce,#1d1528ed),url('assets/room.jpg') center/cover;color:#f5e3c9;--rail:270px;--top:238px;--bottom:235px}.arena .topbar{height:65px;padding:0 25px;border-bottom:1px solid #ba985630;position:relative;z-index:5;background:#171321bb}.arena .brand{font-size:16px}.arena .brand-mark{font-size:28px}.arena .brand small{font-size:6px}.connection-label{font-size:10px;color:#91d3b7}.connection-label.offline{color:#ffbc91}.arena-meta{position:absolute;top:74px;left:28px;right:28px;display:flex;gap:20px;align-items:center;font-size:10px;color:#a991b3}.arena-meta>span:nth-of-type(1){margin-right:auto}.arena-meta .text-button{font-size:11px}.rivals{position:absolute;top:103px;left:8%;right:calc(var(--rail) + 35px);display:grid;grid-template-columns:repeat(var(--rivals),minmax(0,1fr));gap:22px;z-index:4}.rival{text-align:center;min-width:0}.rival-profile{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #ac865548;background:#251b31e8;border-radius:30px;text-align:left;box-shadow:0 5px 12px #0003}.rival-profile .avatar{width:35px;height:35px;font-size:23px;flex-shrink:0}.rival-profile>div{min-width:0;flex:1}.rival-profile strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rival-profile small{display:block;font-size:9px;color:#ae98be;margin-top:3px}.rival-profile>b{font-size:9px;color:#b99b6a}.rival.active .rival-profile{border-color:#f4ca78;box-shadow:0 0 22px #e6bd642c}.rival.active .rival-profile>b{color:#f8d990}.rival.eliminated{opacity:.45}.rival-hand{position:relative;height:94px;margin-top:7px}.rival-hand img{position:absolute;width:49px;height:74px;left:calc(50% + (var(--i) - (var(--count) - 1)/2)*14px);transform:translateX(-50%) rotate(calc((var(--i) - (var(--count) - 1)/2)*4deg));transform-origin:50% 100%;border-radius:5px;box-shadow:0 3px 5px #0006}.rival-hand>span{font-size:36px}.play-field{position:absolute;left:5%;right:calc(var(--rail) + 30px);top:var(--top);bottom:var(--bottom);min-height:180px;border:2px solid #aa8254;border-radius:46%;background:radial-gradient(ellipse at center,#6a4076,#382344 70%);box-shadow:0 0 0 5px #24192d,0 0 0 7px #a5794b55,inset 0 0 70px #1a11298a;display:flex;align-items:center;justify-content:center}.field-ring{position:absolute;inset:10px;border:1px solid #d1a26255;border-radius:inherit;pointer-events:none}.field-logo{position:absolute;left:9%;top:43%;font:10px Georgia;letter-spacing:3px;color:#c5a1ca44;transform:rotate(-9deg)}.field-logo small{display:block;font-size:7px;letter-spacing:2px;text-align:center;margin-top:7px}.turn-chip{position:absolute;top:-17px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;white-space:nowrap;border:1px solid #b49a6455;border-radius:30px;background:#21192d;padding:7px 17px;font-size:12px;z-index:3}.turn-chip.your-turn{color:#ffe1a0;border-color:#e0bd77}.turn-chip b{font-size:10px;color:#f1a387}.turn-chip>span{font-size:10px;color:#cbb4d3}.arena-piles{display:flex;align-items:center;gap:35px;position:relative;z-index:1}.arena-deck{position:relative;background:transparent;width:92px;color:#ead3b3}.arena-deck>img{width:100%;border-radius:7px;box-shadow:2px 3px #94796c,4px 6px #4b3646,6px 9px #a68b70}.arena-deck>b{position:absolute;right:-10px;bottom:20px;background:#30203b;border:1px solid #e3b967;border-radius:50%;padding:7px;font-size:13px}.arena-deck>span,.arena-discard>span{display:block;margin-top:12px;font-size:10px;text-align:center;color:#d5bddf}.arena-deck:disabled{opacity:.65;cursor:default}.arena-deck:not(:disabled){filter:drop-shadow(0 0 12px #e7c56d44)}.arena-discard{width:92px}.arena-discard .playing-card{width:92px;height:138px}.pile-placeholder{width:92px;height:138px;border:1px dashed #aa86b0;border-radius:8px;display:grid;place-items:center;font-size:24px;color:#b999c1}.move-panel{position:absolute;right:20px;top:110px;bottom:35px;width:var(--rail);border:1px solid #ba94533d;border-radius:18px;background:linear-gradient(160deg,#33233edb,#181321ec);padding:24px 20px;overflow-y:auto;z-index:6;scrollbar-width:thin;scrollbar-color:#8e6b48 transparent;box-shadow:0 12px 30px #0002}.move-panel>.eyebrow{font-size:8px;letter-spacing:2px}.move-panel h2{font:500 23px/1.5 'Pridi';color:#ffe0ac;margin:15px 0}.move-panel p{font-size:12px;line-height:1.9;color:#cbb6d2;margin:15px 0}.detail-heading>span{display:inline-block;border-radius:20px;color:#211529;font-size:10px;padding:3px 11px;margin-top:15px}.detail-heading h2{margin-top:8px;font-size:21px}.card-permission{padding:12px;border:1px solid #b4966633;background:#16121e77;border-radius:9px;font-size:11px;line-height:1.8;color:#e0c7a2}.move-panel>.gold-button,.combo-toggle .outline-button{width:100%;margin-top:15px;font-size:12px;padding:11px}.move-panel>.text-button{font-size:11px;display:block;margin:13px auto}.combo-toggle{margin-top:20px;padding-top:3px;border-top:1px solid #d0ae6a22}.combo-toggle small{display:block;text-align:center;font-size:9px;line-height:1.9;color:#a88eb7;margin-top:9px}.my-hand{position:absolute;bottom:17px;left:24%;right:calc(var(--rail) + 40px);height:205px;z-index:5}.my-hand-label{display:flex;align-items:center;gap:9px;height:40px}.my-hand-label .avatar{width:32px;height:32px;font-size:22px}.my-hand-label strong{display:block;font-size:12px}.my-hand-label small{display:block;font-size:9px;color:#b5a0bd;margin-top:3px}.my-hand-label>.gold-button{margin-left:auto;font-size:12px;padding:9px 14px;min-height:36px}.arena .hand{height:170px;min-height:0;padding:27px 10px 7px;justify-content:center;align-items:flex-end;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#b0915d44 transparent}.arena .hand>.playing-card{width:94px;height:141px;flex-shrink:0;margin-left:-35px;transform:rotate(0);align-self:flex-end;transition:transform .16s,filter .16s}.arena .hand>.playing-card:first-child{margin-left:0}.arena .hand>.playing-card:hover{transform:translateY(-12px)}.arena .hand>.playing-card.selected{transform:translateY(-20px);filter:drop-shadow(0 0 5px #ffe3a2);z-index:6}.selection-number{position:absolute;right:-4px;top:-7px;background:#ffe0a1;color:#392340;display:grid;place-items:center;border-radius:50%;width:23px;height:23px;font-size:12px;box-shadow:0 2px 10px #0006}.arena-log{position:absolute;bottom:35px;left:3%;width:19%;max-height:155px;overflow:hidden;font-size:10px;padding:14px;border-radius:12px;background:#17121f88;border:1px solid #cda55d22}.arena-log>b{font-size:10px;color:#c9aa7a}.arena-log p{font-size:9px;line-height:1.8;color:#ad98b8;margin-top:7px}.arena-log p:last-child{color:#e9d2b1}.reaction-panel{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:min(410px,90%);border:1px solid #e8bb76;border-radius:18px;background:linear-gradient(145deg,#392343f7,#1e182bf9);box-shadow:0 10px 60px #000a,0 0 35px #d7a86722;display:grid;grid-template-columns:44px 1fr 32px;gap:8px 10px;padding:17px 20px;backdrop-filter:blur(15px)}.reaction-symbol{font-size:29px;align-self:center}.reaction-panel small{font-size:9px;color:#c6a6c9}.reaction-panel h2{font:500 23px 'Pridi';color:#ffe0a0;margin:2px 0}.reaction-panel p{font-size:10px;color:#cbb0d3}.reaction-number{font:27px Georgia;color:#ffe2a6;align-self:center}.reaction-progress{height:5px;grid-column:1/-1;background:#0d0b15;border-radius:9px;overflow:hidden;margin-top:5px}.reaction-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#bf82cd,#ffe0a2);transition:width .1s linear}.reaction-actions{grid-column:1/-1;display:flex;gap:8px;margin-top:4px}.reaction-actions>button{flex:1;font-size:12px;padding:9px;min-height:35px}.reaction-panel.canceled{border-color:#ef8caa}.reaction-panel.canceled h2{color:#ffb0c2}.choice-panel label{font-size:11px;display:block;margin-bottom:8px}.choice-panel input{width:100%;padding:12px;border:1px solid #cba55d77;border-radius:8px;background:#191323;color:#fff1dc}.choice-panel small{display:block;font-size:10px;line-height:1.9;color:#ba9fc4;margin-top:8px}.choice-panel .give-list{max-height:280px;overflow:auto}.future-peek{position:absolute;inset:0;z-index:9;background:#261b32f5;border:1px solid #c496e2;border-radius:22px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:12px;box-shadow:0 0 35px #b076ec44}.future-peek>b{font-size:11px;color:#e1bcff}.future-peek>div{display:flex;gap:12px}.future-peek section>small{font-size:9px;display:block;text-align:center;color:#c7a9d8;margin-bottom:4px}.future-peek .playing-card{width:74px;height:111px}.future-peek>.outline-button{font-size:10px;padding:6px 15px;min-height:28px}.zoom-card{display:flex;align-items:center;gap:25px}.zoom-card>.playing-card{width:230px;flex-shrink:0}.zoom-card>div:last-child{flex:1}.rotate-gate{display:none}.result-overlay{position:absolute;inset:65px 0 0;background:#100c1cce;backdrop-filter:blur(15px);z-index:15;display:grid;place-items:center;text-align:center;padding:20px;overflow:auto}.result-overlay>div{max-width:650px}.result-overlay h1{font:500 38px 'Pridi';color:#ffe0a5}.result-overlay p{font-size:13px;color:#c6acd0;margin:15px}.result-players{display:flex;justify-content:center;gap:15px;margin:24px;flex-wrap:wrap}.result-players>span{font-size:11px;display:flex;flex-direction:column;align-items:center;gap:7px}.result-overlay .text-button{margin-left:20px}.fx{position:fixed;inset:0;z-index:90;pointer-events:none;display:grid;place-items:center;overflow:hidden}.fx:empty{display:none}.fx>div{font-size:65px;animation:fx-pop 1.4s both;text-align:center;text-shadow:0 5px 25px #000}.fx strong{display:block;font:500 26px 'Pridi';color:#ffe8b4}.fx i{position:absolute;left:50%;top:50%;font-size:24px;color:#ffe0a5;animation:particle 1.2s var(--delay) both;font-style:normal}.fx.explode{background:radial-gradient(ellipse,#e68b2922,transparent 65%)}.fx.explode>div{font-size:110px}.fx.nope>div{color:#ffc5d2}.reduce-motion .fx{display:none}.reduce-motion *{animation:none!important;transition:none!important}@keyframes fx-pop{0%{opacity:0;transform:scale(.4) rotate(-10deg)}20%{opacity:1;transform:scale(1.15)}45%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-30px) scale(.85)}}@keyframes particle{0%{opacity:0;transform:rotate(var(--angle)) translateX(20px)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(240px) rotate(90deg)}}.rival.drop-allowed .rival-profile{border-color:#ffe3a0;box-shadow:0 0 25px #e5b85c66}.rival.drop-hover .rival-profile{border-color:#9deac5;box-shadow:0 0 25px #9deac566}.play-field.drop-allowed{border-color:#ffe3a0;box-shadow:0 0 25px #e5b85c66}.play-field.drop-hover{border-color:#9deac5;box-shadow:0 0 25px #9deac566}
@media(min-width:1500px){.arena{--rail:315px;--top:285px;--bottom:290px}.arena .topbar{height:78px}.arena-meta{top:90px}.rivals{top:122px;left:11%;gap:35px}.rival-profile{padding:10px}.rival-profile strong{font-size:15px}.rival-profile small{font-size:11px}.rival-profile .avatar{width:45px;height:45px;font-size:29px}.rival-hand img{width:61px;height:92px}.move-panel{top:135px;right:30px;padding:28px}.move-panel h2{font-size:28px}.move-panel p{font-size:14px}.card-permission{font-size:12px}.arena-deck,.arena-discard{width:120px}.arena-discard .playing-card,.pile-placeholder{width:120px;height:180px}.my-hand{height:255px;bottom:22px}.arena .hand{height:218px}.arena .hand>.playing-card{width:120px;height:180px;margin-left:-40px}.my-hand-label strong{font-size:14px}.reaction-panel{width:460px;padding:24px}.reaction-panel h2{font-size:28px}.future-peek .playing-card{width:100px;height:150px}.arena-log{bottom:55px}}
@media(max-width:1100px){.arena{--rail:220px;--top:210px;--bottom:205px;min-height:580px}.arena .topbar{height:54px;padding:0 17px}.arena .brand{font-size:12px}.arena-meta{top:61px;left:18px;right:18px}.rivals{top:85px;left:3%;gap:10px;right:calc(var(--rail) + 25px)}.rival-profile{padding:5px 6px;gap:4px}.rival-profile strong{font-size:10px}.rival-profile small{font-size:8px}.rival-profile .avatar{width:29px;height:29px;font-size:19px}.rival-profile>b{font-size:7px}.rival-hand img{width:40px;height:60px;left:calc(50% + (var(--i) - (var(--count) - 1)/2)*10px)}.move-panel{right:12px;top:85px;bottom:20px;padding:16px 14px}.move-panel h2{font-size:20px}.move-panel p{font-size:11px}.card-permission{font-size:10px}.my-hand{height:180px;bottom:12px;left:4%;right:calc(var(--rail) + 25px)}.arena-log{display:none}.arena .hand{height:145px;justify-content:flex-start}.arena .hand>.playing-card{width:82px;height:123px;margin-left:-22px}.play-field{left:4%;right:calc(var(--rail) + 25px)}.arena-deck,.arena-discard{width:73px}.arena-discard .playing-card,.pile-placeholder{width:73px;height:110px}.arena-deck>span,.arena-discard>span{font-size:9px}.field-logo{display:none}.reaction-panel{padding:12px;width:360px}.reaction-panel h2{font-size:21px}.reaction-panel p{font-size:9px}.turn-chip{font-size:10px;padding:6px 12px}.lobby-grid{grid-template-columns:1fr}.chat-panel{max-width:none}.chat-messages{min-height:60px;max-height:150px}}
@media(orientation:landscape) and (max-height:600px){.arena{min-height:0;height:100svh;--rail:210px;--top:157px;--bottom:135px}.arena .topbar{height:40px;padding:0 max(12px,env(safe-area-inset-left))}.arena .topbar .brand{font-size:10px}.arena .topbar .brand-mark{font-size:20px}.arena .brand small{display:none}.arena .icon-btn{width:27px;height:27px;font-size:15px}.arena-meta{top:46px;font-size:8px;gap:10px}.arena-meta .text-button{font-size:9px}.rivals{top:68px;left:3%;gap:8px}.rival-profile{padding:4px 6px}.rival-profile .avatar{width:23px;height:23px;font-size:16px}.rival-profile strong{font-size:9px}.rival-profile small{font-size:7px;margin-top:1px}.rival-profile>b{display:none}.rival-hand{margin-top:3px;height:50px}.rival-hand img{width:30px;height:45px;left:calc(50% + (var(--i) - (var(--count) - 1)/2)*8px)}.play-field{min-height:85px;border-radius:44%;right:calc(var(--rail) + 20px)}.arena-piles{gap:22px}.arena-deck,.arena-discard{width:48px}.arena-discard .playing-card,.pile-placeholder{width:48px;height:72px}.arena-deck>b{font-size:9px;padding:4px;right:-8px;bottom:8px}.arena-deck>span,.arena-discard>span{font-size:7px;margin-top:5px}.turn-chip{top:-13px;padding:4px 10px;font-size:8px}.turn-chip b,.turn-chip>span{font-size:8px}.move-panel{top:67px;bottom:10px;width:var(--rail);padding:12px}.move-panel>.eyebrow{font-size:6px}.move-panel h2{font-size:17px;margin:8px 0}.move-panel p{font-size:10px;margin:8px 0;line-height:1.7}.card-permission{padding:8px;font-size:9px}.detail-heading>span{margin-top:5px;font-size:8px}.move-panel>.text-button{font-size:9px;margin:7px auto}.combo-toggle{margin-top:8px}.combo-toggle .outline-button,.move-panel>.gold-button{font-size:10px;min-height:30px;padding:7px;margin-top:8px}.combo-toggle small{font-size:8px;margin-top:4px}.my-hand{height:124px;bottom:4px;left:3%;right:calc(var(--rail) + 20px)}.my-hand-label{height:25px}.my-hand-label .avatar{width:23px;height:23px;font-size:16px}.my-hand-label strong{font-size:9px}.my-hand-label small{font-size:7px;margin-top:0}.my-hand-label>.gold-button{min-height:26px;padding:5px 10px;font-size:9px}.arena .hand{height:98px;padding:15px 6px 0}.arena .hand>.playing-card{width:55px;height:82.5px;margin-left:-10px}.arena .hand>.playing-card.selected{transform:translateY(-12px)}.arena .hand>.playing-card:hover{transform:translateY(-8px)}.arena .hand:after{display:none}.selection-number{width:17px;height:17px;font-size:9px}.reaction-panel{width:300px;padding:9px 12px;gap:3px 8px;grid-template-columns:28px 1fr 26px;border-radius:12px}.reaction-symbol{font-size:21px}.reaction-panel h2{font-size:17px;margin:0}.reaction-panel small{font-size:7px}.reaction-panel p{font-size:8px}.reaction-number{font-size:21px}.reaction-progress{height:4px;margin:3px 0}.reaction-actions{margin:1px 0;gap:6px}.reaction-actions>button{font-size:9px;min-height:25px;padding:5px}.future-peek{inset:-20px 0;gap:4px;padding:6px}.future-peek>b{font-size:8px}.future-peek .playing-card{width:44px;height:66px}.future-peek section>small{font-size:7px;margin-bottom:1px}.future-peek .outline-button{font-size:8px;min-height:20px;padding:3px 12px}.choice-panel p{font-size:10px}.choice-panel input{padding:6px}.choice-panel .give-list{max-height:130px}.choice-panel small{font-size:8px}.choice-panel .gold-button{font-size:11px;min-height:30px;padding:6px}.choice-panel .give-list button{font-size:9px;padding:8px}.modal-backdrop{padding:12px}.modal{max-height:calc(100svh - 24px);padding:25px;}.zoom-card>.playing-card{width:140px}.zoom-card h2{font-size:22px}.result-overlay{inset:40px 0 0}.result-icon{font-size:36px;margin-bottom:5px}.result-overlay h1{font-size:27px}.result-overlay p{font-size:11px;margin:7px}.result-players{margin:12px}.result-players .avatar{width:30px;height:30px;font-size:20px}.fx>div{font-size:45px}.fx strong{font-size:20px}.fx.explode>div{font-size:70px}}
@media(orientation:landscape) and (max-height:380px){.arena{--top:140px;--bottom:116px;--rail:190px}.rivals{top:64px}.rival-hand img{width:25px;height:37px}.my-hand{height:108px}.arena .hand{height:82px}.arena .hand>.playing-card{width:45px;height:67.5px}.arena-deck,.arena-discard{width:39px}.arena-discard .playing-card,.pile-placeholder{width:39px;height:58.5px}.arena-meta{top:43px}.arena .topbar{height:37px}.move-panel{top:63px}.reaction-panel{width:280px}}
@media(orientation:portrait) and (max-width:900px){.arena .rotate-gate{display:flex;position:fixed;inset:0;z-index:200;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 50% 35%,#533060,#181121 75%);padding:35px;text-align:center}.rotate-gate>span{font-size:75px;transform:rotate(-12deg);margin-bottom:25px}.rotate-gate h2{font:500 27px 'Pridi';color:#ffe1a7}.rotate-gate p{font-size:14px;line-height:1.9;color:#cbb2d4;margin:18px 0 25px}.rotate-gate small{font-size:11px;line-height:1.8;color:#9c83ab;margin-top:25px}.modal-backdrop{z-index:210}.arena{min-height:100svh}.result-overlay{z-index:16}}
@media(max-width:700px){.game-card-actions{flex-wrap:wrap;gap:9px}.game-card-actions button{flex:1;font-size:11px!important;white-space:nowrap;padding:10px!important}.lobby-shell{padding:15px 20px 35px}.lobby-heading{align-items:flex-start;flex-direction:column;gap:15px}.lobby-heading h1{font-size:27px}.room-code{font-size:23px;padding:12px 20px}.seat-grid{grid-template-columns:repeat(2,1fr)}.lobby-seat{min-height:170px;padding:16px 8px}.lobby-actions{gap:10px}.lobby-actions .gold-button,.lobby-actions .outline-button{font-size:12px;padding:11px}.zoom-card{flex-direction:column}.form-cols{gap:10px}.lobby-rules{gap:10px;font-size:10px}.arena .header-actions{margin-left:auto}.arena .hand-caption:after{display:none}}
@media(prefers-reduced-motion:reduce){.fx{display:none}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(min-height:601px){.turn-chip{top:8px}}

.arena .hand{justify-content:flex-start;justify-content:safe center}


#game-vfx{position:fixed;inset:0;z-index:90;pointer-events:none} .reduce-motion #game-vfx{display:none}

/* Guided card play */
.pair-pictures{display:flex;justify-content:center;align-items:center;gap:8px;margin:16px 0}.pair-pictures>.playing-card{width:65px;height:97.5px;flex-shrink:0}.pair-pictures>span{color:#d4b37c}.missing-card{width:65px;height:97px;border:1px dashed #be9fce;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#cab2de0a;color:#c9b4d4;font-size:23px}.missing-card small{font-size:9px;text-align:center;line-height:1.7}.move-panel>.outline-button{display:flex;width:100%;margin:12px 0;font-size:11px;padding:10px}.wait-note{border-left:3px solid #af8ccc;padding-left:10px}.pair-tag,.pair-ready{position:absolute;left:3px;right:3px;bottom:-2px;border:1px solid #e7c783;border-radius:6px;background:#25172eee;color:#ffe6ab;font-size:9px;padding:3px;z-index:2}.pair-ready{bottom:auto;top:-8px;left:auto;font-size:8px;right:-2px;background:#26413e;border-color:#9be0ba;color:#b8f2cf}.ask-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ask-grid button{background:#ffffff08;border:1px solid #b69a6455;border-radius:8px;padding:6px}.ask-grid img{width:100%;border-radius:5px}.ask-grid span{font-size:10px;display:block;padding:5px 0;color:#eed8b5}.target:disabled{opacity:.5;cursor:default}.target:not(:disabled){border-color:#9de4bd88;box-shadow:0 0 12px #9de4bd12}.hand-lesson{position:absolute;bottom:100%;left:0;right:0;background:#241a31f5;border:1px solid #b49b6055;border-radius:10px;padding:10px 30px 10px 12px;font-size:10px;line-height:1.7;z-index:5}.hand-lesson b,.hand-lesson span{display:block}.hand-lesson span{color:#c5afd0;font-size:9px}.hand-lesson button{position:absolute;right:8px;top:5px;background:none;color:#dfc295;font-size:22px}.arena .rotate-gate{display:none!important}
@media(orientation:landscape) and (max-height:600px){.hand-lesson{bottom:100%;padding:5px 25px 5px 8px;font-size:8px;max-width:270px}.hand-lesson span{font-size:7px}.pair-pictures>.playing-card{width:45px;height:67.5px}.missing-card{width:45px;height:67px}.pair-pictures{gap:5px;margin:8px 0}.pair-tag{font-size:6px;padding:1px}.pair-ready{font-size:6px}.move-panel>.outline-button{font-size:9px;padding:6px;margin:7px 0}}
@media(orientation:portrait) and (max-width:900px){
 .arena{height:auto;min-height:100svh;overflow:visible;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:'header' 'meta' 'rivals' 'field' 'hand' 'details';grid-template-rows:55px 30px auto 195px auto auto;padding:0 12px 25px;gap:10px;background-attachment:fixed}
 .arena .topbar{grid-area:header;margin:0 -12px;padding:0 12px;height:55px}.arena .brand{font-size:10px}.arena .brand-mark{font-size:20px}.arena .brand small{font-size:5px}.arena .icon-btn{width:28px;height:28px;font-size:15px}.connection-label{font-size:8px}.arena .header-actions{gap:5px}
 .arena-meta{grid-area:meta;position:static;font-size:8px;gap:8px}.arena-meta .text-button{font-size:9px}.arena-meta>span:last-of-type{display:none}
 .rivals{grid-area:rivals;position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 15px;margin:0 4px}.rival-profile{padding:5px 8px}.rival-profile .avatar{width:27px;height:27px;font-size:18px}.rival-profile strong{font-size:11px}.rival-profile small{font-size:8px}.rival-hand{height:51px;margin-top:5px}.rival-hand img{width:30px;height:45px;left:calc(50% + (var(--i) - (var(--count) - 1)/2)*10px)}
 .play-field{grid-area:field;position:relative;inset:auto;min-height:0;height:175px;margin:10px 3px;border-radius:40%;width:auto}.turn-chip{top:-13px;font-size:10px;padding:5px 10px}.arena-piles{gap:26px}.arena-deck,.arena-discard{width:63px}.arena-discard .playing-card,.pile-placeholder{width:63px;height:94.5px}.arena-deck>span,.arena-discard>span{font-size:8px;margin-top:7px}.arena-deck>b{font-size:10px;padding:5px}.field-logo{display:none}
 .my-hand{grid-area:hand;position:relative;inset:auto;height:auto;min-width:0;padding-top:5px}.my-hand-label{height:38px}.my-hand-label .avatar{width:30px;height:30px;font-size:20px}.my-hand-label strong{font-size:11px}.my-hand-label small{font-size:8px}.my-hand-label>.gold-button{font-size:11px;padding:8px 10px;min-height:33px}.arena .hand{height:158px;padding:23px 8px 12px;justify-content:flex-start;overflow-x:auto}.arena .hand>.playing-card{width:84px;height:126px;margin-left:-15px}.arena .hand>.playing-card.selected{transform:translateY(-12px)}.pair-tag{font-size:8px}.pair-ready{font-size:7px}
 .hand-lesson{position:relative;bottom:auto;margin:0 0 10px;padding:10px 30px 10px 12px;max-width:none;font-size:11px}.hand-lesson span{font-size:10px}
 .move-panel{grid-area:details;position:relative;inset:auto;width:auto;max-height:none;overflow:visible;padding:20px;margin-top:3px}.move-panel h2{font-size:23px}.move-panel p{font-size:13px;line-height:1.9}.move-panel .card-permission{font-size:12px}.move-panel>.gold-button,.move-panel>.outline-button{font-size:13px;min-height:43px}.pair-pictures>.playing-card{width:78px;height:117px}.missing-card{width:78px;height:117px}.missing-card small{font-size:10px}.arena-log{display:none}.arena .hand:after{display:none}
 .reaction-panel{position:fixed;left:50%;top:38%;width:calc(100vw - 48px);max-width:410px;transform:translate(-50%,-50%);z-index:35;padding:17px}.reaction-panel h2{font-size:22px}.reaction-panel p{font-size:11px}.reaction-actions>button{font-size:13px;min-height:40px}.future-peek{inset:-5px 0}.future-peek .playing-card{width:60px;height:90px}.future-peek>b{font-size:10px}
 .ask-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.modal .pair-pictures>.playing-card{width:65px;height:97.5px}.result-overlay{position:fixed;inset:55px 0 0}.result-overlay h1{font-size:30px}.modal-backdrop{z-index:50}
}
