:root{--ink:#11100f;--surface:#1b1917;--surface2:#29241f;--gold:#dfbd80;--amber:#f2d7a2;--cream:#f7edda;--muted:#b3a997;--line:rgba(234,198,147,.2);--red:#9d3c35;--h:100dvh}*{box-sizing:border-box}html,body{padding:0;margin:0;background:#090807;color:var(--cream);font-family:system-ui,-apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;overscroll-behavior:none}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0}#app{position:relative;width:100%;max-width:630px;height:100dvh;margin:auto;overflow:hidden;background:var(--ink);isolation:isolate;box-shadow:0 0 65px #000c}.screen{position:absolute;inset:0;display:none;overflow:hidden}.screen.on{display:block}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.micro{font-size:10px;font-weight:700;color:var(--gold);letter-spacing:2px}.primary{background:linear-gradient(135deg,#f1d49e,#bb8c4c);color:#26190c;font-weight:900;border-radius:13px;padding:15px 18px;box-shadow:0 8px 25px #0007}.primary.full{width:calc(100% - 36px);margin:10px 18px 0;display:flex;justify-content:space-between;align-items:center}.ghost,.outline{padding:12px 15px;border:1px solid var(--line);background:#2a241c;border-radius:12px}.wallet{white-space:nowrap;border:1px solid #c29b5d66;background:#100f0bbd;color:#f0d19d;padding:9px 12px;border-radius:60px;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.wallet.compact{font-size:10px;padding:7px 8px}.skygrain,.home-ambient{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 60% at 52% 37%,#4c302a 0%,#281b19 44%,#100e10 85%)}.skygrain:after,.home-ambient:after{content:'';position:absolute;inset:0;opacity:.28;background:repeating-linear-gradient(0deg,transparent 0 5px,#ffffff05 6px 7px)}#select{display:none;overflow-y:auto;scrollbar-width:none;padding-bottom:max(20px,env(safe-area-inset-bottom))}#select.on{display:block}.select-head{position:relative;text-align:center;padding:calc(env(safe-area-inset-top) + 24px) 12px 10px}.select-head h1{font-size:clamp(29px,9vw,45px);line-height:1.1;margin:6px 0;font-weight:1000;letter-spacing:-2px;text-shadow:0 3px 15px #0007}.select-head h1 span{color:var(--gold)}.select-head p{font-size:13px;margin:8px 0;color:#d8c8b4}.featured{position:relative;height:clamp(260px,44dvh,450px);width:calc(100% - 36px);margin:10px 18px 6px;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#613b33,#23171a 71%);border:1px solid #b38e674a;box-shadow:0 22px 45px #0007}.featured-light{position:absolute;inset:0;background:linear-gradient(90deg,#200e1a55,transparent 60%),linear-gradient(0deg,#130c0ced 0%,transparent 38%);z-index:1}.featured img{position:absolute;height:110%;top:-1%;left:50%;transform:translateX(-50%);max-width:none;object-fit:contain;filter:drop-shadow(0 12px 15px #000b)}.feat-copy{position:absolute;bottom:10px;left:16px;right:12px;z-index:3;text-shadow:0 2px 15px #000}.feat-name{font-weight:1000;font-size:clamp(27px,8vw,44px);letter-spacing:-1px}.feat-desc{font-size:12px;color:#f7dbc1}.feat-label{display:block;font-size:9px;color:#b4aaa0;margin-top:7px}.character-strip{position:relative;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 18px 14px}.character-strip button{flex:0 0 74px;scroll-snap-align:start;border:1.5px solid #b7a18138;border-radius:11px;padding:3px 3px 6px;background:#221d1c;transition:.15s;min-width:0}.character-strip button.chosen{border-color:var(--gold);background:#4b342b;box-shadow:0 0 0 2px #ebc27a25}.character-strip img{width:100%;height:64px;object-fit:cover;object-position:center 14%;border-radius:7px;display:block}.character-strip span{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:4px}.tiny-foot{position:relative;text-align:center;color:#8d8079;font-size:10px;padding:10px 12px}#nickname{background:radial-gradient(ellipse at top,#422822,#141111 75%)}.setup-screen{max-width:430px;margin:auto;padding:calc(env(safe-area-inset-top) + 56px) 25px}.setup-screen h2{font-size:32px;margin:10px 0 3px;letter-spacing:-1px}.setup-screen>p{font-size:13px;color:#cabca7;line-height:1.7}.identity-card{display:flex;gap:15px;align-items:center;background:#231b19;border:1px solid var(--line);border-radius:16px;padding:10px;margin:28px 0}.identity-card img{width:74px;height:85px;object-fit:cover;object-position:center 12%;border-radius:10px}.identity-card strong{display:block;font-size:22px}.identity-card small{display:block;color:#9d9185;margin-top:7px}.form-label{display:block;font-size:13px;font-weight:800;margin-bottom:8px}#nicknameInput{display:block;width:100%;padding:16px;border-radius:12px;border:1px solid #bfa07875;background:#120f0f;color:white;font-size:18px;outline:0}#nicknameInput:focus{border-color:var(--gold)}.input-tip{font-size:10px;color:#a49a8b;margin:9px 0}.setup-actions{display:flex;gap:9px;margin-top:34px}.setup-actions>*{flex:1}.error{color:#e3a6a1;font-size:12px;min-height:30px}.home-ambient{background:radial-gradient(ellipse at 50% 50%,#58402b 0%,#251914 58%,#121010 100%)}.home-top,.plaza-head{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(env(safe-area-inset-top) + 14px) 17px 10px}.logo-small{font-size:22px;font-weight:1000;letter-spacing:-1px}.logo-small span,.plaza-brand span{color:var(--gold)}.logo-small small{display:block;font-size:8px;letter-spacing:2px;color:#a9906d;font-weight:600}.home-center{position:absolute;top:50%;left:0;right:0;transform:translateY(-48%);padding:0 23px;display:flex;flex-direction:column;align-items:center;gap:16px}.home-profile{display:flex;align-items:center;gap:13px;width:min(95%,390px);border:1px solid #c9a46944;background:#0a0908a1;padding:8px 12px;border-radius:15px}.home-profile img{height:60px;width:50px;object-fit:cover;object-position:center top;border-radius:7px}.home-profile b{font-size:17px;display:block}.home-profile small{font-size:11px;color:#a89c85}.equipped-title{display:block;color:#e5bd77;font-size:11px;font-weight:900}.crt-wrap{width:min(100%,400px);padding:11px 12px 20px;border-radius:19px 19px 10px 10px;background:linear-gradient(138deg,#ad9671,#887457 48%,#6c5b42);box-shadow:inset 2px 3px 0 #f3ddad5c,inset -4px -4px 0 #3a2a1c99,0 25px 48px #000a;position:relative}.crt-brand{height:15px;font-size:9px;font-weight:900;letter-spacing:1px;color:#41301e;padding-left:5px}.crt-display{background:radial-gradient(ellipse at center,#123c30,#081b18 88%);padding:24px 18px 17px;box-shadow:inset 0 0 25px #000,inset 0 0 0 5px #312f28;border-radius:16px 16px 23px 23px;position:relative}.crt-display:after{content:'';pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0000 0 4px,#0004 5px 6px);opacity:.35;border-radius:inherit}.crt-title{text-align:center;color:#e8cd9b;letter-spacing:2px;font-size:12px;font-weight:900;margin:5px 0 22px;text-shadow:0 0 16px #c6c580}.blink{animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.crt-menu{display:grid;gap:9px;position:relative;z-index:2}.crt-menu button{background:#b7cca018;border:1px solid #bdd3ac55;border-radius:5px;padding:11px 12px;text-align:left;font-size:17px;font-weight:900}.crt-menu button:active{background:#c0dba055}.crt-menu button span{font-size:10px;letter-spacing:1px;color:#a5ba9e;margin-right:15px}.crt-menu button b{float:right;color:var(--gold)}.crt-footer{text-align:center;font-size:9px;color:#839d8c;letter-spacing:1px;margin-top:19px}.crt-foot{height:12px;width:55%;background:#7e6850;position:absolute;bottom:-26px;left:22%;box-shadow:0 6px 12px #000a;border-radius:0 0 9px 9px}.home-bottom{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 12px);left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:9px}.home-bottom span{font-size:10px;color:#988b7f}.textbutton{background:transparent;color:var(--gold);text-decoration:underline;font-size:12px;padding:6px}#plaza{background:#1d1815}#scene{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block}#nameplates{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.nameplate{position:absolute;transform:translate(-50%,-100%);font-size:10px;text-align:center;text-shadow:0 1px 4px #000,0 2px 9px #000;width:max-content;max-width:120px;pointer-events:none}.nameplate em{display:block;font-size:9px;color:#f4c975;font-style:normal;white-space:nowrap}.nameplate b{display:block;font-weight:900;font-size:11px;white-space:nowrap}.plaza-head{background:linear-gradient(#090908ec,#0b0b0b00);justify-content:flex-start;padding-right:12px}.plaza-head .wallet{margin-left:auto}.return,.back{width:35px;height:35px;border-radius:11px;background:#1b1514c9;border:1px solid var(--line);font-size:26px;line-height:1}.plaza-brand{font-size:16px;font-weight:900}.plaza-caption{font-size:9px;color:#d6c1a0;max-width:172px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plaza-tip{position:absolute;top:calc(env(safe-area-inset-top) + 83px);left:50%;transform:translateX(-50%);text-align:center;background:#17120ebe;border:1px solid #c59b5a40;border-radius:25px;padding:7px 12px;z-index:6;font-size:10px;color:#f7e2be;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.plaza-controls{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 74px);left:16px;right:16px;display:flex;align-items:end;justify-content:space-between;z-index:7;pointer-events:none}.plaza-controls>*{pointer-events:auto}.joy{height:104px;width:104px;flex:none;border-radius:50%;background:#201d1bc0;border:2px solid #e0b77770;box-shadow:inset 0 0 20px #0007;touch-action:none;position:relative}.joy:before,.joy:after{content:'';position:absolute;background:#dac69b3a}.joy:before{left:50%;top:13%;bottom:13%;width:1px}.joy:after{top:50%;left:13%;right:13%;height:1px}.joy-inner{height:43px;width:43px;border-radius:50%;background:linear-gradient(135deg,#e2c89f,#9b7751);position:absolute;left:29px;top:29px;box-shadow:0 4px 12px #0009}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:190px;gap:7px}.quick{font-size:11px;padding:12px 7px;border:1px solid #bca0776b;background:#201b17ec;border-radius:11px;backdrop-filter:blur(8px);white-space:nowrap}.primary2{background:linear-gradient(130deg,#d3ac71,#92653f);color:#24170c;font-weight:900}.plaza-footer{position:absolute;bottom:0;left:0;right:0;height:calc(62px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px 8px calc(env(safe-area-inset-bottom) + 8px);background:linear-gradient(#15110de6,#080705f7);z-index:8;border-top:1px solid #a67c513b}.plaza-footer button{background:transparent;font-size:11px;color:#e4d0ae}.bubble-toast{display:none;position:absolute;z-index:10;left:50%;transform:translateX(-50%);bottom:44%;padding:10px 15px;border-radius:16px;background:#f9e7c9;color:#2a2018;font-size:12px;font-weight:800;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.bubble-toast.show{display:block}.inner-screen{background:radial-gradient(ellipse at top,#433125,#171410 62%);overflow-y:auto;scrollbar-width:none;padding:calc(env(safe-area-inset-top) + 20px) 18px calc(env(safe-area-inset-bottom) + 22px)}.section-head{display:flex;align-items:center;gap:13px}.section-head h2{font-size:27px;letter-spacing:-1px;margin:3px 0}.section-head .wallet{margin-left:auto}.section-lead{font-size:12px;color:#c6b7a2;line-height:1.7;margin:20px 4px}.game-list{display:grid;gap:11px}.game-list button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #ab91644d;border-radius:15px;background:linear-gradient(110deg,#33291f,#211d19);padding:14px 12px;min-height:86px}.game-icon{font-size:26px;width:45px;text-align:center}.game-list strong{display:block;font-size:17px}.game-list small{display:block;font-size:11px;color:#bba893;margin-top:5px;line-height:1.4}.game-list b{margin-left:auto;color:#e4ba79;white-space:nowrap;font-size:11px}.disclaimer{font-size:11px;line-height:1.7;padding:16px;background:#100f0caa;border-radius:10px;border:1px solid #8c765635;margin-top:18px;color:#c3ae90}.play-screen{display:none;flex-direction:column;background:radial-gradient(ellipse at center,#283d31,#101c17);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.play-screen.on{display:flex}.play-head{display:flex;align-items:center;gap:12px;padding:9px 12px 7px;flex:0 0 auto}.play-head #playKind{font-size:18px;font-weight:900;display:block}.play-head small{font-size:9px;color:#c0b7a0;display:block}.play-head .outline{margin-left:auto;padding:8px 11px;font-size:12px}.play-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto;padding:5px 10px;scrollbar-width:none}.play-status{flex:0 0 auto;padding:9px 13px;background:#141d17;color:#e4d3b6;font-size:12px;min-height:38px;line-height:1.4;max-height:80px;overflow:auto;text-align:center;border-top:1px solid #ffffff18}.play-bottom{flex:0 0 auto;padding:8px 10px 11px;display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.play-bottom button{padding:10px 14px;border-radius:9px;background:#ccae79;color:#1a241a;font-weight:900;font-size:12px}.play-bottom button.alt{background:#2f4b3c;color:#f8e6be;border:1px solid #b2a77a6c}.play-bottom button:disabled{opacity:.36}.modal{display:none;position:absolute;inset:0;z-index:30;background:#080706bc;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(6px)}.modal.open{display:flex}.modal-pane{background:linear-gradient(155deg,#31271e,#171512);width:min(100%,440px);max-height:min(82dvh,730px);overflow:auto;border-radius:20px;border:1px solid #c1a17278;padding:18px 17px;box-shadow:0 20px 65px #000a;scrollbar-width:thin}.modal-hd{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.modal-hd h3{font-size:20px;margin:0}.modal-hd button{background:transparent;font-size:26px;padding:0 5px}.modal-row{display:flex;align-items:center;gap:10px;justify-content:space-between;border-bottom:1px solid #e8ce9a25;padding:12px 0}.modal-row b{display:block;font-size:13px}.modal-row small{display:block;color:#b4a38b;font-size:11px;margin-top:4px;line-height:1.6}.modal-row button,.modal-buttons button{border:1px solid #bf9b6c55;background:#383025;border-radius:10px;padding:9px 11px;white-space:nowrap;font-size:12px}.modal-row button.active{background:#d8b97c;color:#21180e;font-weight:900}.modal-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.modal-buttons button{min-height:45px}.modal-pane p{font-size:12px;line-height:1.65;color:#c9b9a3}.toast{position:absolute;top:18%;left:50%;transform:translateX(-50%) translateY(-10px);max-width:92%;z-index:50;display:none;padding:11px 17px;border-radius:12px;background:#f1dec0;color:#302319;font-size:12px;font-weight:800;box-shadow:0 12px 34px #0008;text-align:center}.toast.show{display:block;transform:translateX(-50%) translateY(0)}.ht-top{display:flex;justify-content:space-between;align-items:center;color:#efdda5;font-size:11px;margin:4px 2px 7px;gap:8px}.ht-zone{display:flex;flex-wrap:wrap;gap:4px;align-content:start;align-items:start;justify-content:center;min-height:66px;border:1px solid #d5c39c30;background:#10231799;border-radius:10px;padding:8px 5px}.ht-captured{display:flex;gap:5px;margin:4px 0 10px;justify-content:space-between;font-size:9px;color:#c4c3a7}.ht-card{width:clamp(35px,10.5vw,55px);height:clamp(56px,16.5vw,82px);border:2px solid #e7cf9e;border-radius:5px;background:#e6d6ac;position:relative;color:#3a3027;padding:0;overflow:hidden;box-shadow:0 2px 6px #0006;flex:none;touch-action:manipulation}.ht-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#b82c27}.ht-card .month{position:absolute;top:2px;right:3px;font-size:9px;font-weight:900}.ht-card .plant{display:block;position:absolute;top:14px;left:50%;transform:translateX(-50%);font-size:clamp(19px,6.5vw,32px);filter:drop-shadow(0 1px 1px #0002)}.ht-card .cat{position:absolute;bottom:2px;left:6px;right:2px;font-size:9px;font-weight:900;color:#5e2520}.ht-card.bright{background:linear-gradient(145deg,#e5bd70,#f9e6b4)}.ht-card.bright .cat{color:#a21b17}.ht-card.selected{transform:translateY(-8px);border-color:#fff9c0;box-shadow:0 0 0 2px #ffe68855,0 5px 15px #0008}.ht-card.back{background:repeating-linear-gradient(45deg,#982c26 0 6px,#bf4737 6px 12px);border-color:#e7bf93}.ht-card.back>*{display:none}.ht-hand{display:flex;justify-content:center;gap:3px;align-items:end;flex-wrap:wrap;padding:7px 2px}.ht-hand .ht-card{width:clamp(29px,8.7vw,45px);height:clamp(50px,14.4vw,69px)}.ht-actionline{color:#e9d2aa;text-align:center;font-size:11px;padding:4px}.ht-select-overlay{position:absolute;inset:0;background:#000b;z-index:1;display:flex;align-items:center;justify-content:center}.ht-select-panel{padding:15px;max-width:310px;border-radius:15px;background:#263d2e;border:1px solid #d1b178}.ht-select-panel h4{margin:0 0 10px;text-align:center}.ht-select-panel .cards{display:flex;gap:9px;justify-content:center}.ht-stage{display:flex;flex-direction:column;gap:7px;flex:1;min-height:0;justify-content:space-between;position:relative}.omok-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:10px;min-height:0}.omok-board{width:min(100%,min(72dvh,540px));aspect-ratio:1;border:7px solid #64472f;background:#b58f5c;box-shadow:0 12px 30px #0008;touch-action:manipulation}.omok-board canvas{width:100%;height:100%;display:block}.omok-info{font-size:12px;color:#dcc9a8}.sd-stage{display:flex;align-items:center;justify-content:space-evenly;flex-direction:column;flex:1;min-height:0}.sd-cards{display:flex;gap:12px;justify-content:center}.sd-cards .ht-card{width:75px;height:121px}.sd-label{font-size:12px;color:#d9c4a2}.sd-status{font-weight:900;font-size:17px;color:#edd29b;text-align:center}.sd-pot{font-size:12px;color:#a7c2aa}.modal-mini-label{font-size:10px;color:#ebc995;font-weight:900;letter-spacing:.5px;margin:15px 0 8px}@media(max-height:700px){.select-head{padding-top:calc(env(safe-area-inset-top) + 12px)}.featured{height:clamp(210px,39dvh,340px)}.character-strip{padding:5px 18px}.character-strip img{height:50px}.character-strip button{flex-basis:66px}.home-center{gap:10px;transform:translateY(-46%)}.crt-display{padding:13px 15px}.crt-title{margin:1px 0 12px}.crt-menu button{padding:8px 11px}.plaza-controls{bottom:calc(env(safe-area-inset-bottom) + 63px)}.quick{padding:9px 6px}}@media(max-width:350px){.plaza-tip{top:calc(env(safe-area-inset-top) + 76px)}.joy{width:94px;height:94px}.joy-inner{left:24px;top:24px}.quick-actions{max-width:175px}.quick{font-size:10px}.plaza-caption{max-width:125px}.ht-card{width:33px;height:54px}.ht-hand .ht-card{width:26px;height:45px}}
/* v3: touch-safe game controls and responsive stacking */
.online-game-panel{margin-top:18px;background:linear-gradient(140deg,#30271e,#171512);border:1px solid #bb95585a;border-radius:16px;padding:15px}.online-game-panel h3{font-size:15px;margin:0 0 7px}.online-game-panel p{font-size:11px;line-height:1.55;color:#d0bda3}.match-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.match-buttons button{background:#453425;border:1px solid #d3b07f66;border-radius:10px;padding:12px 5px;font-size:12px}.match-buttons button:disabled{opacity:.44}.online-game-panel>.ghost{margin-top:9px;width:100%}.turn-hud{display:flex;align-items:center;justify-content:space-between;gap:6px;background:#19291edb;border-top:1px solid #bd986343;border-bottom:1px solid #bd986343;padding:5px 11px;min-height:37px;font-size:11px}.turn-hud #turnOwner{font-weight:900;color:#f4d494;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42%}.turn-hud #turnTime{font-size:23px;font-variant-numeric:tabular-nums;font-weight:950;color:#f5e3b9}.turn-hud #turnTime.urgent{color:#f0735d;animation:tickPulse .45s alternate infinite}.turn-hud #pointsChange{font-size:10px;color:#d7c3a2;text-align:right}.dramatic{pointer-events:none;position:absolute;inset:0;display:none;z-index:25;align-items:center;justify-content:center;font-size:clamp(36px,15vw,84px);font-weight:1000;color:#fff2c5;text-shadow:0 4px 30px #000,0 0 40px #c38335;letter-spacing:-2px;background:radial-gradient(circle,#72352045,#00000012 60%);animation:dramaticIn .45s ease-out}.dramatic.show{display:flex}.dramatic.count{color:#f88b70;text-shadow:0 0 35px #f0441d}@keyframes dramaticIn{from{opacity:0;transform:scale(1.22)}to{opacity:1;transform:scale(1)}}@keyframes tickPulse{from{transform:scale(1)}to{transform:scale(1.14)}}.play-head,.plaza-head,.plaza-footer,.plaza-controls{user-select:none}.modal-pane{overscroll-behavior:contain}.game-list button{touch-action:manipulation}.ht-card{transition:transform .15s ease,box-shadow .15s ease}.ht-card:active{transform:translateY(-13px) rotate(-3deg)}.sd-coin{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,#f2ce86,#a66f30);color:#392415;font-size:13px;font-weight:900;box-shadow:0 4px 8px #0008}.sd-table{border:1px solid #b9b07b55;background:radial-gradient(circle,#31523b,#142e24);border-radius:20px;min-height:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;padding:15px}.sd-bet-opts{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.sd-bet-opts button{padding:10px 12px;border-radius:9px;background:#d9b87a;color:#281a11;font-size:12px;font-weight:850}.sd-bet-opts button.allin{background:#96382e;color:white}.sd-cards .ht-card{width:70px;height:107px}.sd-potbig{font-weight:900;font-size:16px;color:#efd398}.sd-message{font-size:12px;text-align:center;line-height:1.5;color:#dec9a1}.ht-avatar-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#d7c39d;min-height:26px}.ht-avatar-row b{color:#f0dcaf}.ht-captured{margin:0}.ht-captured span{flex:1;min-width:0}.ht-zone{min-height:55px;max-height:26dvh;overflow:auto;align-content:start}.ht-hand{min-height:70px;max-height:22dvh;overflow:auto}.ht-table-center{display:flex;align-items:center;justify-content:center;gap:8px;min-height:30px;font-size:11px;color:#eacb92}.ht-stage{gap:5px}.ht-hand .ht-card{min-width:27px}.plaza-head{padding-right:9px}.screen{contain:layout style}.screen.on{contain:none}#nameplates{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:4}.world-nameplate{position:absolute;transform:translate(-50%,-100%);text-align:center;font-size:11px;color:#fff7e4;text-shadow:0 2px 4px #000;pointer-events:none;white-space:nowrap;max-width:140px}.world-nameplate .title{font-size:9px;color:#f2c983;display:block}.world-nameplate .speech{position:relative;display:block;max-width:170px;white-space:normal;word-break:break-word;background:#f6ead5;border:1px solid #d9bb83;border-radius:11px;padding:6px 9px;color:#292018;text-shadow:none;font-size:11px;font-weight:750;box-shadow:0 3px 12px #0009;margin-bottom:5px}.world-nameplate .speech:after{content:'';position:absolute;bottom:-5px;left:50%;width:8px;height:8px;transform:translateX(-50%) rotate(45deg);background:#f6ead5;border-right:1px solid #d9bb83;border-bottom:1px solid #d9bb83}.plaza-tip{white-space:normal;min-width:120px}.plaza-controls{bottom:calc(env(safe-area-inset-bottom) + 70px)}.plaza-footer{height:calc(61px + env(safe-area-inset-bottom))}@media(max-height:640px){.play-head{padding:6px 11px}.turn-hud{padding:3px 10px}.play-bottom{padding:5px 7px}.ht-zone{max-height:20dvh}.ht-hand{max-height:19dvh}.plaza-controls{bottom:calc(env(safe-area-inset-bottom) + 65px)}.joy{height:92px;width:92px}.joy-inner{left:23px;top:23px}}
.card-flight{position:absolute;z-index:45;pointer-events:none;margin:0;will-change:transform,opacity;box-shadow:0 15px 25px #000b,0 0 0 2px #f4d9aa7f;transition:transform 330ms cubic-bezier(.15,.8,.24,1),opacity 340ms ease-out;transform-origin:center center}.card-flight.flying{opacity:.15}
@media(prefers-reduced-motion:reduce){.card-flight{transition:none}.dramatic{animation:none}.ht-card{transition:none}}

/* v3.1: prevent the decorative background layer from painting over the entry button. */
#select > #selectNext { position:relative; z-index:3; margin-top:12px; min-height:54px; box-shadow:0 8px 25px #0009; }
#select > .tiny-foot {position:relative;z-index:2;}
#select .skygrain {z-index:0;}
#select .select-head, #select .featured, #select .character-strip {z-index:1;}
/* Keep primary action reachable on short phones, with real scrolling and safe-area room. */
#select {padding-bottom:calc(32px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;}
#nickname {overflow-y:auto;-webkit-overflow-scrolling:touch;}
#nickname .setup-screen {padding-bottom:calc(32px + env(safe-area-inset-bottom));}

/* v4 unified avatar, three outfits, and multiplayer layouts */
.world-nameplate{width:max-content;max-width:160px}.world-nameplate .speech{width:max-content;max-width:160px}
.outfit-picker{border:0;margin:16px 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.outfit-picker legend{font-size:12px;color:var(--muted);padding-bottom:10px}.outfit-picker button{padding:6px 4px 10px;min-width:0;border:1px solid var(--line);background:#29231f;border-radius:12px;color:var(--cream);font-size:12px}.outfit-picker img{display:block;width:100%;height:90px;object-fit:contain}.outfit-picker .active{border-color:#dfbd80;box-shadow:0 0 0 1px #dfbd80;background:#3a3025}.setup-screen{max-width:450px;width:100%;margin:auto}.setup-actions .primary{width:100%}.identity-card{max-height:95px}.identity-card img{height:74px;width:62px;object-fit:contain}.waiting-room{padding:15px;overflow:auto}.waiting-room h2{font-size:21px}.waiting-room p{font-size:12px;line-height:1.6;color:var(--muted)}.waiting-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.waiting-seat{display:flex;flex-direction:column;align-items:center;background:#2a241f;padding:10px;border:1px solid var(--line);border-radius:12px;min-width:0}.waiting-seat img{height:100px}.waiting-seat b{font-size:13px;overflow-wrap:anywhere}.waiting-seat small{font-size:10px;color:#c9b68f;margin:5px 0}.waiting-seat span{font-size:11px;color:#baa99a}.waiting-seat .ready{color:#a9d89b}.opponents{display:flex;justify-content:space-around;gap:6px;width:100%;flex-wrap:wrap}.opponent{min-width:0;text-align:center;flex:1}.opponent b{font-size:11px;overflow-wrap:anywhere}.opponent small{font-size:10px;color:#d7c6a2}.opponent .sd-cards{gap:3px;margin:7px 0}.opponent .ht-card{width:38px;height:57px;font-size:10px}.opponent .ht-card .plant{font-size:21px}.opponent .ht-card .cat{font-size:8px}.opponent.folded{opacity:.45}.sd-table.multiplayer{gap:12px;padding:12px 7px;overflow:auto}.waiting-turn{font-size:12px;color:#cdbb9c;padding:14px}.play-bottom{flex-wrap:wrap}.play-head small{overflow:hidden;text-overflow:ellipsis;max-width:58vw;white-space:nowrap}.game-list{margin-bottom:18px}button{min-height:42px}@media(max-height:700px){.outfit-picker img{height:65px}.setup-screen h2{font-size:25px}.setup-screen{padding-top:20px}.waiting-seat img{height:70px}.sd-table.multiplayer{gap:7px}.sd-cards .ht-card{height:84px;width:56px}.opponent .ht-card{height:51px;width:34px}}
