@charset "UTF-8";
:root{color-scheme:dark;--gold:#ffda80;--muted:#d5c8af;--line:#e6bb6d77;--glass:#25231fea}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#33281b;color:#fff2d5;font:14px 'Segoe UI',Arial}body{isolation:isolate}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #bfa16b66;border-radius:9px;background:#302c26;padding:10px 14px;transition:filter .15s,background .15s}button:hover{filter:brightness(1.15)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #fff0a8;outline-offset:3px}input{width:100%;min-width:0;border:1px solid #ffffff35;border-radius:9px;padding:12px;background:#ffffff0b;color:#fff3d8}input::placeholder{color:#beb7aa}[hidden]{display:none!important}main{min-height:100svh}p{font-size:12px;line-height:1.75;color:var(--muted)}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{font-size:30px}h2{font-size:22px;margin:0 0 15px}small{font-size:10px;color:var(--muted)}.gold{background:linear-gradient(#ffe9a1,#ffc654);color:#37240e;border:1px solid #fff0bb;box-shadow:inset 0 0 0 3px #ffce6544,0 4px 14px #0005;font-weight:800}.wide{width:100%;margin-top:10px}.eyebrow{font-size:9px;letter-spacing:1.5px;color:#ffe0a0;text-transform:uppercase;font-weight:700}.lobby-background{position:fixed;inset:0;background:url('assets/lobby-with-board.png') center/cover;z-index:0}.world-shade{position:fixed;inset:0;background:linear-gradient(90deg,#251c1577,transparent 35%,transparent 65%,#241f1844),linear-gradient(0deg,#201b13c9,transparent 28%,transparent 75%,#221e1244);z-index:1;pointer-events:none}body[data-screen=room] .lobby-background{display:none}body[data-screen=auth] .world-shade,body[data-screen=profile] .world-shade{background:#19170f88}.hud{position:fixed;inset:0 0 auto;z-index:50;height:105px;padding:18px 22px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.hud button{pointer-events:auto}.brand{display:flex;align-items:center;position:relative;background:linear-gradient(165deg,#742d1c,#47231c 55%,#73321f);border:3px solid #dbab5d;border-radius:47% 25% 40% 20% / 20% 35% 22% 35%;padding:10px 17px 13px 27px;box-shadow:0 6px 15px #0007,inset 0 0 0 2px #a96332;color:#fff7dc;text-shadow:0 3px 2px #3f1c14}.brand>i{position:absolute;left:-16px;top:28px;border:3px solid #b77d36;box-shadow:0 3px 6px #0007;background:linear-gradient(#ffe7a1,#dfb363);border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font:30px Georgia;color:#493019;text-shadow:none}.brand>span{font:bold italic 40px Georgia;white-space:nowrap}.brand small{font:bold italic 17px Georgia;color:#fff3cf;display:block;text-align:right;margin-top:-4px}.brand em{display:block;font:8px 'Segoe UI';letter-spacing:2px;text-transform:uppercase;color:#f9d698;margin-top:4px;text-align:center}.topbar{display:flex;gap:10px;align-items:center}.profile-pill,.currency,.round-icon{background:linear-gradient(#3d3b35f2,#252522f2);border:1px solid #f4d88c77;box-shadow:0 5px 15px #0006;border-radius:35px;height:57px}.profile-pill{display:flex;gap:10px;align-items:center;padding:4px 20px 4px 4px;min-width:215px;max-width:260px;text-align:left}.profile-pill b{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.portrait{width:48px;height:48px;flex-shrink:0;border:2px solid #ffe29c;border-radius:50%;background-color:#a78f66;background-size:900% 600%;background-position:88% 3%;box-shadow:0 2px 8px #0005}.profile-pill small{display:flex;align-items:center;gap:8px;margin-top:4px;color:#ffdf8a}.xp-track{display:block;height:8px;width:92px;border-radius:12px;background:#171713;box-shadow:inset 0 0 0 1px #c8b79166;overflow:hidden}.xp-track i{display:block;height:100%;width:0%;background:linear-gradient(#ffe998,#e5b347)}.currency{display:flex;gap:10px;align-items:center;min-width:125px;padding:7px 9px 7px 7px}.currency b{font-size:20px;min-width:30px}.currency>i{font:25px Arial;display:grid;place-items:center;width:26px;height:26px;border:1px solid #ffeaa5;background:#dfa73e;color:#fff2cc;border-radius:50%;margin-left:auto}.coin{width:34px;height:34px;border-radius:50%;background:radial-gradient(#f3c153,#ba7727);color:#ffe7a5;font-size:25px;border:3px double #ffe79a;display:grid;place-items:center}.gem{font-size:35px;color:#7ce746;text-shadow:1px 3px #347b22}.round-icon{position:relative;width:52px;min-width:52px;padding:0;font-size:30px}.notification-dot{position:absolute;top:5px;right:7px;width:9px;height:9px;background:#df493a;border:1px solid white;border-radius:50%}.main-nav{position:fixed;top:167px;left:19px;width:175px;display:grid;gap:8px;z-index:40}.nav{text-align:left;font-size:14px;font-weight:700;padding:11px 14px;background:linear-gradient(#393a37ee,#222422ee);border-color:#c7bda35c;border-radius:13px;box-shadow:0 4px 9px #0005;white-space:nowrap}.nav>span{display:inline-block;width:29px;font-size:22px;vertical-align:middle;margin-right:4px}.nav.active{background:linear-gradient(#ffe591,#ffc94e);border:2px solid #fff0b0;color:#342713;box-shadow:0 4px 12px #0004,inset 0 0 0 2px #eab14a80}.welcome-note{position:fixed;left:225px;top:132px;z-index:5;max-width:300px;text-shadow:0 2px 10px #3b271d}.welcome-note h1{font-size:32px;line-height:1.15;margin:8px 0 9px;color:#fff7df}.welcome-note p{font-size:11px;margin:0;color:#ffe8b8}.speech{position:fixed;left:39%;top:26%;z-index:4;color:#46311b;background:#fff2d2;padding:13px 18px;border-radius:43% 40% 40% 25%;font-weight:800;text-align:center;box-shadow:0 5px 13px #0003;font-size:14px}.speech:after{content:'';position:absolute;bottom:-10px;left:25px;border-width:12px 15px 0 0;border-style:solid;border-color:#fff2d2 transparent transparent}.event-card{position:fixed;bottom:20px;left:18px;width:205px;min-height:139px;z-index:35;padding:15px;border:2px solid #ffe1a0;border-radius:17px;background:linear-gradient(115deg,#2b332a88,#642b1bdf),url('assets/lobby-with-board.png') 80% 50%/cover;box-shadow:0 0 0 3px #bd8e42,0 6px 25px #0006}.event-card strong{display:block;font:bold italic 22px Georgia;color:#fff0ce;margin:8px 0 10px;text-shadow:0 2px #4a2417}.event-card button{padding:8px 15px;font-size:12px}.entry-rail{position:fixed;left:250px;right:20px;bottom:20px;z-index:45;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:8px;background:#262a28dc;border:1px solid #e0bc7d88;border-radius:18px;box-shadow:0 7px 25px #0006;backdrop-filter:blur(10px)}.entry{display:flex;align-items:center;gap:13px;justify-content:center;min-height:68px;text-align:left;border-radius:12px;border-color:#e3cf9d6b;background:linear-gradient(#393a33ee,#222621ee)}.entry.gold{background:linear-gradient(#ffe6a1,#ffc54c)}.entry>span{font-size:29px}.entry b{font-size:18px}.entry small{display:block;font-size:10px;font-weight:400;color:#d3ccb6;margin-top:5px}.entry.gold small{color:#765126}.community{position:fixed;right:20px;top:105px;width:278px;z-index:40;display:flex;flex-direction:column;gap:12px;max-height:calc(100svh - 235px)}.minimap{position:relative;width:100%;padding:0;border:3px solid #d2bd7a8c;border-radius:15px;overflow:hidden;background:#282b26;box-shadow:0 5px 15px #0005;text-align:left;flex-shrink:0}.minimap>span{position:absolute;top:4px;left:7px;background:#252922e6;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:700}.minimap>svg{width:100%;height:99px;display:block}.minimap>small{position:absolute;bottom:5px;right:8px;color:#fff0bc;background:#263025d9;padding:3px 6px;border-radius:5px;font-size:9px}.community-card{padding:13px;border:1px solid #e2c28199;border-radius:16px;background:#272725e8;box-shadow:0 10px 25px #0005;backdrop-filter:blur(13px);min-height:0;overflow:auto;scrollbar-width:thin}.community-card h2{font:18px Georgia;margin:5px 0 8px}.muted{font-size:11px;color:#d2cbb9;margin:0 0 10px}.community-card .wide{font-size:11px;padding:9px}.street-room{border-top:1px solid #ffffff1a;padding:11px 0;font-size:12px}.street-room b{display:block;margin-bottom:4px}.street-room small{font-size:10px}.street-room button{padding:4px 7px;float:right;font-size:10px}.tabs{display:flex;gap:4px;margin:-5px -5px 8px;padding-bottom:6px;border-bottom:1px solid #ffffff1d}.tabs button{flex:1;padding:8px 3px;font-size:11px;background:#ffffff07;border-color:#ffffff12;border-radius:20px;white-space:nowrap}.tabs button[aria-selected=true]{background:linear-gradient(#ffe79a,#edc166);color:#342513;border:1px solid #ffe3a2;font-weight:800}.chat-messages{height:205px;max-height:27svh;min-height:130px;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain;padding:3px}.chat-message{margin:0 0 9px;padding:7px;border-radius:8px;border:1px solid #ffffff08;background:#ffffff04}.chat-message.mine{background:#e5bd6230;border-color:#e6c88755}.chat-heading{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:11px}.chat-heading b{color:#f4d391;overflow-wrap:anywhere}.chat-heading time{margin-left:auto;color:#b0a795;font-size:8px}.chat-role{font-size:8px;color:#d1c3a6}.chat-text{font-size:11px;margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#fff3da;line-height:1.6}.chat-form{display:flex;gap:5px;padding-top:8px;border-top:1px solid #ffffff1d}.chat-form input{padding:9px;font-size:11px}.chat-form button{padding:8px;font-size:11px;flex-shrink:0}.small,.chat-empty{font-size:11px;color:#c8bea8;line-height:1.7}.room-details{font-size:11px;border-top:1px solid #ffffff1c;margin-top:10px;padding-top:10px}.room-details summary{cursor:pointer;color:#dcc896}.room-details[open]{max-height:200px;overflow:auto}.person{display:flex;align-items:center;gap:8px;margin:8px 0}.person b{display:block;font-size:11px}.person small{display:block;font-size:9px;margin-top:4px}.mini{height:48px;width:42px;flex-shrink:0;background-size:300% 200%;background-position:100% 0%;background-repeat:no-repeat}.mine{color:var(--gold)}.empty{font-size:11px;color:#c5bba5;padding:8px 0}.separator{height:1px;background:#ffffff1b;margin:12px 0}#viewerPane{max-height:245px;overflow:auto}#history{padding-left:20px;font-size:10px;color:#d6c9b0}#history li{padding:3px 0}.room-info{position:fixed;left:220px;right:320px;top:109px;z-index:32;pointer-events:none;text-shadow:0 2px 5px #2f2115}.room-info h1{font-size:24px;margin:6px 0}.room-sub{display:flex;gap:12px;font-size:10px;color:#fff1cb}.game-status{display:inline-block;margin-top:8px;padding:7px 12px;border:1px solid #e6c17b66;border-radius:9px;background:#29251edb;font-size:11px;color:#ffe8b6;text-shadow:none}.room-world{position:fixed;left:50%;top:50%;width:1672px;height:941px;transform:translate(-50%,-50%);transform-origin:center;z-index:0;isolation:isolate;pointer-events:none}.scene-background,.scene-foreground{position:absolute;inset:0;background-repeat:no-repeat}.scene-background{z-index:0}.scene-person{position:absolute;background-size:300% 200%;background-repeat:no-repeat;filter:drop-shadow(1px 5px 4px #0003);pointer-events:none}.scene-person.back{z-index:4}.scene-person.front{z-index:16}.scene-foreground.table-mask{z-index:8}.scene-foreground.tea-mask{z-index:18}.scene-name{position:absolute;z-index:25;transform:translate(-50%,-100%);max-width:235px;padding:7px 12px;background:#33281deb;border:1px solid #deb579;border-radius:11px;box-shadow:0 4px 12px #0005;text-align:center;color:#fff2d5;pointer-events:none}.scene-name b{font-size:17px;display:block;max-width:205px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-name small{display:block;font-size:12px;margin-top:3px;color:#e6c88c}.scene-name.yours{border:2px solid #ffdf87;box-shadow:0 0 0 2px #ddae4050,0 4px 12px #0005}.scene-clock{font-variant-numeric:tabular-nums;font-weight:700}.scene-board{position:absolute;inset:0;z-index:12;pointer-events:none}.scene-board>svg{position:absolute;left:0;top:0;width:400px;height:450px;background:#e3bd80;outline:5px solid #956333;box-shadow:0 4px 4px #39200e77;transform-origin:0 0}.cell{position:absolute;width:30px;height:23px;padding:0;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;display:grid;place-items:center;pointer-events:auto;touch-action:manipulation}.cell:active{transform:translate(-50%,-50%)}.cell:hover{background:#fff8c677;filter:none}.piece{width:25px;height:19px;border-radius:50%;display:grid;place-items:center;font:bold 16px Georgia;color:#ad3422;background:radial-gradient(ellipse at 30% 20%,#fff2c6,#e2ba77);border:1px solid #9e662b;box-shadow:0 3px 0 #a16c37,1px 4px 3px #2a190e66;line-height:1}.piece.black{color:#29382d}.cell.selected{outline:3px solid #3d8e6d;background:#b2e5b866}.cell.last{background:#edbf5444}.cell.last .piece{outline:1px solid #b15f2d}.room-bottom{position:fixed;left:220px;right:320px;bottom:15px;z-index:45;padding:8px 12px;background:#282722e6;border:1px solid #dfbc7e88;border-radius:15px;box-shadow:0 6px 20px #0005;backdrop-filter:blur(10px)}.clockline{display:flex;align-items:center;gap:10px;padding:0 3px 8px}.clock{display:flex;gap:8px;align-items:center;padding:5px 9px;border:1px solid #b7a88d66;background:#18181299;border-radius:8px;white-space:nowrap}.clock span{font-size:9px;color:#e0d1b3}.clock b{font-size:18px;font-variant-numeric:tabular-nums}.clock.active{border-color:#ffdc85;box-shadow:0 0 0 1px #e6b75044}.clock.red b{color:#ffcea9}#turnHint{flex:1;text-align:center;font-size:10px;color:#f5dfae}.room-actions{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}.room-actions button{padding:8px 10px;font-size:11px}#mySeat{font-size:10px;margin-right:5px;color:#d7c7a9}.draw-response{display:flex;gap:12px;align-items:center;justify-content:center;padding:12px 4px 3px;color:#ffe6a3;font-size:12px}.draw-response button{padding:7px 12px}.auth{position:relative;z-index:60;width:min(92vw,460px);margin:0 auto;top:145px;padding:28px;background:#26221ce8;border:1px solid #e5bd78;border-radius:20px;box-shadow:0 20px 80px #0009;backdrop-filter:blur(15px)}.auth h1{font-size:31px;margin:10px 0}.auth p{font-size:13px}.auth label,dialog label{display:block;font-size:12px;margin:15px 0}.auth label input,dialog label input{margin-top:7px}.auth>small{display:block;margin-top:12px;text-align:center}.auth button{padding:13px}body[data-screen=auth] .brand,body[data-screen=profile] .brand{pointer-events:none}dialog{background:#2b261ff7;color:#fff1d1;border:1px solid #d4ac69;border-radius:18px;padding:23px;width:min(94vw,620px);max-height:85svh;box-shadow:0 20px 85px #0009}dialog::backdrop{background:#0b0c0999;backdrop-filter:blur(6px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:20px}.dialog-heading h2{margin:0;font-size:25px}.dialog-heading>button{padding:6px 10px;background:#ffffff0a;border-color:#ffffff22}.room-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #ffffff1b}.room-row b{font-size:14px}.room-row small{display:block;margin-top:6px}.row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.room-row .row{flex-shrink:0}.room-row button{padding:8px 11px;font-size:12px}.search-spinner{font-size:70px;color:#f5d58c;text-align:center;padding:10px;animation:breathe 1.5s ease-in-out infinite}@keyframes breathe{50%{opacity:.45;transform:translateY(-5px)}}#quickDialog{text-align:center}#quickDialog .dialog-heading{text-align:left}#toast{position:fixed;top:91px;left:50%;transform:translateX(-50%);z-index:100;padding:12px 20px;max-width:90vw;border-radius:10px;background:#332819f5;color:#ffe8b6;border:1px solid #e6bc72;box-shadow:0 8px 25px #0006;font-size:12px;text-align:center}#toast:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1150px){.brand>span{font-size:31px}.brand>i{width:40px;height:40px;font-size:25px}.brand{padding-left:22px}.topbar{gap:7px}.profile-pill{min-width:175px;max-width:195px;padding-right:10px}.profile-pill b{max-width:125px;font-size:13px}.xp-track{width:65px}.currency{min-width:99px;gap:7px;height:52px}.currency b{font-size:17px;min-width:18px}.round-icon{width:44px;min-width:44px;height:48px}.main-nav{left:12px;width:145px;top:149px}.nav{padding:10px;font-size:12px}.nav>span{width:23px;font-size:19px}.community{width:240px;right:12px;top:105px}.entry-rail{left:177px;right:12px;bottom:14px}.entry b{font-size:15px}.entry>span{font-size:25px}.event-card{left:12px;bottom:14px;width:145px;padding:10px;min-height:122px}.event-card strong{font-size:19px}.event-card .eyebrow{font-size:8px}.welcome-note{left:180px;top:120px}.welcome-note h1{font-size:27px}.room-info{left:177px;right:270px;top:105px}.room-info h1{font-size:20px}.room-bottom{left:170px;right:265px;padding:7px}.room-actions button{font-size:10px;padding:7px}.community-card{padding:10px}.room-sub{font-size:9px;gap:7px}.speech{left:36%;font-size:12px;padding:10px 15px}}
@media(max-width:760px){.hud{padding:10px 15px;height:80px}.brand>span{font-size:23px}.brand small{font-size:12px}.brand em{display:none}.brand{padding:8px 10px 8px 17px;border-width:2px}.brand>i{top:13px;left:-11px;width:30px;height:30px;font-size:20px}.currency{display:none}.topbar{gap:5px}.profile-pill{min-width:0;width:150px;height:45px;padding:3px 8px 3px 3px}.portrait{height:37px;width:37px}.profile-pill b{font-size:11px;max-width:92px}.profile-pill small{font-size:9px;margin-top:2px;gap:4px}.xp-track{width:52px;height:6px}.round-icon{width:34px;min-width:34px;height:37px;font-size:23px}.main-nav{display:none}.welcome-note{left:18px;top:105px}.welcome-note h1{font-size:24px}.welcome-note p{max-width:185px;font-size:10px}.community{top:92px;right:10px;width:200px;max-height:calc(100svh - 220px)}.minimap{display:none}.community-card{background:#242521dc}.community-card h2{font-size:16px}.community-card .muted{font-size:10px}.event-card{display:none}.entry-rail{left:10px;right:10px;bottom:12px;padding:6px;gap:5px}.entry{gap:5px;min-height:66px;padding:7px 5px;display:block;text-align:center}.entry>span{font-size:20px;display:block}.entry b{font-size:12px;display:block}.entry small{display:none}.speech{display:none}.room-info{top:88px;left:12px;right:218px}.room-info h1{font-size:16px}.room-sub{display:block}.game-status{font-size:10px;padding:5px 7px}.room-bottom{left:10px;right:10px;bottom:10px}.room-actions button{font-size:10px;padding:7px}.room-actions #mySeat{display:none}.clockline{padding-bottom:5px}.clock{padding:3px 6px;gap:4px}.clock b{font-size:15px}.clock span{font-size:8px}#turnHint{font-size:9px}.chat-messages{height:160px;min-height:100px;max-height:23svh}.tabs button{font-size:10px}.chat-text{font-size:10px}.chat-heading{font-size:10px}.room-details{font-size:9px}.room-world{left:43%}.auth{top:115px;padding:22px}.auth h1{font-size:27px}#toast{top:75px}.room-row{gap:7px}.room-row .row{display:grid}.room-row b{font-size:12px}}
/* Role-based table cameras. The original six street scenes remain the overview. */
body[data-screen=room]{overflow:hidden}body[data-screen=room] .main-nav{display:none}body[data-screen=room] .hud{height:88px;padding:12px 20px}body[data-screen=room] .brand>span{font-size:28px}body[data-screen=room] .brand em,body[data-screen=room] .brand small{display:none}body[data-screen=room] .brand>i{top:13px;width:36px;height:36px;font-size:24px}body[data-screen=room] .community{top:102px;bottom:116px;max-height:none;width:270px}body[data-screen=room] .minimap{display:none}body[data-screen=room] .community-card{flex:1;display:flex;flex-direction:column}body[data-screen=room] #roomPane{display:flex;flex-direction:column;height:100%;min-height:0}body[data-screen=room] #chatPane{flex:1;display:flex;flex-direction:column;min-height:0}body[data-screen=room] .chat-messages{flex:1;height:auto;max-height:none}body[data-screen=room] .room-info{left:24px;top:95px;right:auto;max-width:235px}body[data-screen=room] .room-info h1{font-size:17px;margin:4px 0}body[data-screen=room] .room-sub{font-size:10px;display:block}body[data-screen=room] .game-status{max-width:225px;font-size:10px}body[data-screen=room] .room-bottom{left:22px;right:22px;bottom:12px;min-height:85px}.camera-tabs{position:fixed;top:88px;left:51%;transform:translateX(-50%);z-index:46;display:flex;gap:4px;border:1px solid #dbb16d;border-radius:24px;background:#352719ed;padding:4px}.camera-tabs button{border-radius:20px;padding:8px 14px;font-size:12px}.camera-tabs button[aria-pressed=true]{background:linear-gradient(#ffe4a0,#d7a343);color:#392810;font-weight:800}.room-actions #leave{border-color:#f3cc7b;background:#72432d;font-weight:bold}.room-actions #zoom{display:none}.close-decor{position:absolute;pointer-events:none}.camera-plate{z-index:8;left:10px;top:80px;width:1320px;height:743px;background:url('assets/camera-table-plates.png') 0 0/100% 200% no-repeat;clip-path:polygon(14% 23%,65% 23%,100% 100%,0 100%)}body[data-camera=spectator] .camera-plate{background-position:0 100%;clip-path:polygon(16% 15%,75% 15%,100% 100%,0 100%)}body[data-camera=player] .scene-background,body[data-camera=spectator] .scene-background{filter:brightness(.82)}body[data-camera=player] .scene-board>svg,body[data-camera=spectator] .scene-board>svg{background:transparent;outline:none;box-shadow:none}body[data-camera=player] .cell,body[data-camera=spectator] .cell{width:64px;height:47px}body[data-camera=player] .piece,body[data-camera=spectator] .piece{width:52px;height:38px;font-size:29px;transform:scale(var(--piece-scale,1));border:2px solid #a06b36;box-shadow:0 5px 0 #a16c37,2px 7px 4px #2a190e66}.resting-arms{z-index:9;width:520px;height:115px;overflow:hidden;filter:drop-shadow(2px 6px 3px #0004)}.torso-sprite{position:absolute;left:0;top:-202px;width:520px;height:520px;background-size:300% 200%;background-position:0 100%;background-repeat:no-repeat}.arms-far{left:400px;top:135px}.arms-near{display:none}.arms-left{left:-160px;top:425px;transform:rotate(90deg)}.arms-right{left:925px;top:425px;transform:rotate(-90deg)}body[data-camera=overview] .scene-board>svg{background:transparent;outline:none;box-shadow:none}body[data-camera=overview] .scene-name{padding:5px 9px}body[data-camera=overview] .scene-name b{font-size:15px}body[data-camera=overview] .scene-name small{font-size:11px}@media(max-width:1150px){body[data-screen=room] .community{width:225px;right:12px}body[data-screen=room] .room-info{left:14px;max-width:185px}.camera-tabs{top:89px}.camera-tabs button{font-size:11px;padding:7px 10px}body[data-screen=room] .topbar .currency{display:none}}@media(max-width:760px){body[data-screen=room] .community{width:185px;right:8px;top:85px;bottom:115px}body[data-screen=room] .room-info{top:85px;max-width:160px}body[data-screen=room] .room-bottom{left:8px;right:8px}.camera-tabs{top:160px;left:35%}.camera-tabs button{padding:6px;font-size:10px}}@media(prefers-reduced-motion:reduce){button{transition:none}.search-spinner{animation:none}}
body[data-camera=overview] .room-world{left:calc(50% - 110px)}
.arms-far{left:140px;top:0;width:930px;height:250px;clip-path:inset(70px 0 0)}.arms-far .torso-sprite{width:1200px;height:1200px;left:-130px;top:-430px}
body[data-camera=overview] .room-info{max-width:155px}.camera-tabs{top:75px}
/* An opaque wood surface replaces the painted grid/pieces underneath it. */
body[data-camera=overview] .scene-board>svg{background:#dfb777 url('assets/board-wood.png') center/100% 100%;outline:2px solid #9c703d;box-shadow:none}body[data-camera=overview] .cell{height:17px;width:27px}body[data-camera=overview] .piece{width:24px;height:13px;font-size:12px;box-shadow:0 2px 0 #a16c37,1px 3px 2px #2a190e55}
/* Upright sprites: never rotate a seated person when changing the camera. */
.pov-person{position:absolute;pointer-events:none;width:1000px;height:1000px;z-index:16;overflow:hidden;clip-path:inset(37% 0 0)}.pov-sprite{position:absolute;inset:0;background-size:300% 200%;background-repeat:no-repeat}.pov-left{left:-480px;top:-20px}.pov-right{left:870px;top:-20px}.pov-near{display:none}.pov-far{width:1400px;height:1400px;left:-100px;top:-610px;z-index:7;clip-path:inset(0)}
.pov-left,.pov-right{clip-path:none}.pov-left{left:-600px}.camera-tabs{top:auto;bottom:113px}body[data-camera=overview] .room-info{left:15px;max-width:112px}body[data-camera=overview] .room-info h1{font-size:13px}body[data-camera=overview] .game-status{max-width:112px;font-size:9px}
/* Keep all close-view people outside the playable surface, including their hands. */
.camera-plate{left:110px}.pov-left{left:-800px}.pov-right{left:1160px}
.pov-right{clip-path:inset(40% 0 0)}
.room-backdrop{position:fixed;inset:-20px;background-repeat:no-repeat;background-size:cover!important;background-position:center!important;filter:blur(12px) brightness(.55);z-index:0;pointer-events:none}body:not([data-camera=overview]) .room-backdrop{display:none}body[data-camera=overview] .scene-name b{font-size:18px}body[data-camera=overview] .scene-name small{font-size:13px}
.pov-right{clip-path:polygon(0 40%,30% 40%,30% 100%,0 100%)}
/* Keep the retained wide composition; only the physical board surface is calibrated. */
.room-backdrop{display:none}body[data-camera=overview] .scene-board>svg{background:#dfbb7e url('assets/overview-wood.png') repeat;outline:none;box-shadow:none}
.host-label{font-size:10px;color:#ffe3a0;margin-top:5px;text-shadow:0 1px 3px #191108}.seat-request-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #e5ca8e30}.seat-request-row .person{flex:1;min-width:0}.seat-request-row .person b{font-size:15px;overflow-wrap:anywhere}.seat-request-row .person small{font-size:11px}.seat-request-row .mini{width:55px;height:62px}.seat-request-row .row{flex-shrink:0}#seatRequestsDialog p{font-size:12px}#hostSeatRequests{border-color:#ffe7aa}#takeSeat:disabled{opacity:.65}
.host-approval-box{padding:0 0 12px;margin-bottom:10px;border-bottom:1px solid #e2c28155}.host-approval-box .wide{margin-top:0;font-size:12px;padding:10px}.host-approval-box small{display:block;line-height:1.5;margin-top:7px;font-size:10px;color:#ddcda8}.host-approval-box button:disabled{opacity:.75}
/* Full camera plates: one continuous scene. Table masks only occlude character knees. */
body[data-camera=player] .scene-background,body[data-camera=spectator] .scene-background{filter:none}body[data-camera=player] .room-world,body[data-camera=spectator] .room-world{overflow:hidden}.camera-plate{inset:0;left:0;top:0;width:1672px;height:941px;pointer-events:none}body[data-camera=spectator] .camera-plate{background-position:initial}.pov-person{clip-path:none;overflow:hidden;transform:none}.pov-sprite{inset:auto;background-size:300% 200%;background-repeat:no-repeat}.pov-far{z-index:7}.pov-left,.pov-right{z-index:16;clip-path:none;transform:none}.camera-tabs{position:static;transform:none;margin:0 7px 0 0;flex-shrink:0;align-items:center;white-space:nowrap}.camera-tabs button{font-size:11px;padding:6px 10px}.room-actions{align-items:center}.room-bottom .clock span{max-width:210px;overflow:hidden;text-overflow:ellipsis}body[data-camera=player] .room-backdrop,body[data-camera=spectator] .room-backdrop{display:block;filter:blur(20px) brightness(.5)}

/* Keep natural side silhouettes beyond the scene frame; the viewport clips their outer edge. */
body[data-camera="spectator"] .room-world{overflow:visible}

/* Larger controls and clear feedback for older players. */
body[data-screen=room] .room-bottom{min-height:125px;padding:12px 16px}
body[data-screen=room] .room-actions{gap:10px}
body[data-screen=room] .room-actions button{font-size:18px;min-height:48px;padding:10px 16px;font-weight:700}
body[data-screen=room] .camera-tabs{gap:4px}
body[data-screen=room] .camera-tabs button{font-size:18px;min-height:46px;padding:10px 16px}
body[data-screen=room] #turnHint{font-size:24px;font-weight:800;color:#ffe69a;text-align:center;flex:1}
body[data-screen=room] .clock b{font-size:30px}
body[data-screen=room] .clock span,body[data-screen=room] #mySeat{font-size:16px}
body[data-screen=room] .game-status{font-size:17px;line-height:1.5}
#toast{font-size:20px;line-height:1.5;padding:16px 24px}
#infoDialog{max-width:560px;width:calc(100vw - 40px)}#infoDialog h2{font-size:28px}#infoDialog p{font-size:22px;line-height:1.6;color:#fff0d0}#infoDialog button{min-width:48px;min-height:48px;font-size:20px}
#seatHints{position:fixed;inset:0;pointer-events:none;z-index:35}.seat-hint{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;min-height:48px;padding:10px 18px;font-size:20px;font-weight:800;white-space:nowrap;border:2px solid #ffe7a1;background:linear-gradient(#ffe9a1,#ffc654);color:#3c270b;box-shadow:0 4px 15px #0009;border-radius:14px}.seat-hint::after{content:'↓';display:block;position:absolute;top:100%;left:50%;transform:translateX(-50%);font-size:35px;line-height:34px;color:#ffe599;text-shadow:0 2px 3px #000}.seat-hint:active{transform:translate(-50%,-100%)}.seat-hint:disabled{opacity:.8;background:#4b4033;color:#fff1c8}.seat-hint.watch{background:linear-gradient(#fff7dc,#e5cc97)}
@keyframes invalid-board-shake{0%,100%{translate:0}20%,60%{translate:-8px 0}40%,80%{translate:8px 0}}.room-world.invalid-move{animation:invalid-board-shake .42s ease-in-out}
@media(max-width:1100px){body[data-screen=room] .room-actions button,body[data-screen=room] .camera-tabs button{font-size:16px;padding:9px 12px}.seat-hint{font-size:18px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.room-world.invalid-move{animation:none;outline:5px solid #ffb14d}}

.match-alert{width:min(560px,calc(100vw - 32px));text-align:center;padding:30px;border:2px solid #e9c576;border-radius:24px;background:radial-gradient(ellipse at top,#5a4126,#28241e 70%);box-shadow:0 20px 90px #000b,inset 0 0 0 5px #ddac4322}.match-alert::backdrop{background:#100c08aa;backdrop-filter:blur(4px)}.alert-emblem{font-size:64px;line-height:1.3;margin-bottom:14px}.match-alert h2{font-size:30px;color:#ffe397;margin:0 0 14px}.match-alert p{font-size:22px;line-height:1.6;color:#fff0d0}.match-alert .result-reason{font-size:18px;color:#d4c7ad}.alert-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}.alert-actions button{font-size:20px;min-height:52px;padding:12px 20px;font-weight:700}.match-alert[data-outcome=win]{border-color:#ffe8a1}.victory-flowers{position:fixed;inset:0;z-index:200;pointer-events:none;overflow:hidden}.victory-flowers span{position:absolute;top:-55px;font-size:30px;animation:flower-fall 2.8s ease-in both}@keyframes flower-fall{to{translate:var(--drift) 105vh;rotate:450deg;opacity:0}}@media(prefers-reduced-motion:reduce){.victory-flowers{display:none}}

.match-alert{overflow:visible}.match-alert h2,#infoDialog h2{font-family:'Segoe UI',Arial,sans-serif;font-weight:800}

@media(prefers-reduced-motion:reduce){.victory-flowers{display:block}.victory-flowers span{display:none}.victory-flowers::before,.victory-flowers::after{content:'🌸 🌼 🌸';position:fixed;left:50%;transform:translateX(-50%);font-size:34px;letter-spacing:18px}.victory-flowers::before{top:22px}.victory-flowers::after{bottom:22px}}

.audio-settings{border-block:1px solid #e6bb6d55;padding:16px 0;margin:18px 0}.audio-settings h3{font-size:23px;margin:0 0 12px}.audio-settings .sound-check{display:flex;align-items:center;gap:12px;font-size:20px}.audio-settings input[type=checkbox]{width:24px;height:24px;accent-color:#ffd475}.audio-settings input[type=range]{padding:0;min-height:38px;accent-color:#ffd475}.audio-settings .sound-level{display:flex;justify-content:space-between;font-size:17px}.audio-settings p{font-size:17px}.audio-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.audio-buttons button{min-height:46px;font-size:17px}.audio-settings small{font-size:14px;line-height:1.6}#settingsDialog{overflow:auto}

.rank-emblem{width:30px;height:36px;display:inline-block;flex-shrink:0;overflow:hidden;vertical-align:middle}.rank-line{display:flex;align-items:center;gap:5px;color:#f4d58b;font-size:12px;font-weight:700;line-height:1.25;min-width:0}.rank-line .rank-emblem{width:19px;height:22px}.rank-line>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-name{display:flex;align-items:center;gap:5px;width:calc(184px / var(--scene-scale,1));max-width:none;height:calc(48px / var(--scene-scale,1));padding:calc(4px / var(--scene-scale,1)) calc(6px / var(--scene-scale,1));border:1px solid #d6b36e;border-radius:7px;background:#292317eb;text-align:left;box-shadow:0 2px 6px #0007}.compact-name.yours{border:1px solid #ffe194;box-shadow:0 0 0 1px #ffdc7044,0 2px 6px #0007}.compact-name .rank-emblem{width:calc(31px / var(--scene-scale,1));height:calc(38px / var(--scene-scale,1))}.nameplate-text{min-width:0;display:flex;flex-direction:column;gap:2px}.compact-name .nameplate-rank{font:700 calc(11px / var(--scene-scale,1)) 'Segoe UI',Arial;color:#f4d58b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;line-height:1.1}.compact-name .nameplate-name{font:700 calc(15px / var(--scene-scale,1)) 'Segoe UI',Arial;max-width:none;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 7px;align-items:center}.chat-heading .rank-line{grid-column:1 / -1;font-size:12px}.chat-heading>b{grid-column:1;grid-row:2;font-size:14px}.chat-heading time{grid-column:2;grid-row:2;font-size:10px}.chat-heading .chat-role{display:none}.xp-track{display:none}.profile-pill small strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.person .rank-line{margin-bottom:3px}

body[data-camera=overview] .compact-name{padding:calc(4px / var(--scene-scale,1)) calc(6px / var(--scene-scale,1))}body[data-camera=overview] .compact-name b{font-size:calc(15px / var(--scene-scale,1))}body[data-camera=overview] .compact-name small{font-size:calc(11px / var(--scene-scale,1))}.chat-message{display:grid;grid-template-columns:32px minmax(0,1fr);gap:3px 8px}.chat-message .chat-face{width:32px;height:36px;grid-column:1;grid-row:1 / 3;margin:0}.chat-message .chat-heading,.chat-message .chat-text{grid-column:2}.chat-text{margin-top:2px}.scene-name.compact-name{gap:calc(5px / var(--scene-scale,1))}

/* Player profiles and ranked season feedback. */
.scene-name.compact-name{pointer-events:auto;cursor:pointer}.scene-name.compact-name:hover,.profile-link:hover{border-color:#ffe49d;filter:brightness(1.1)}.scene-name.compact-name:focus-visible,.profile-link:focus-visible{outline:3px solid #ffe49d;outline-offset:3px}.profile-link{cursor:pointer;border-radius:8px}.chat-heading .chat-sender{grid-column:1;grid-row:2;font-size:14px;min-width:0;text-align:left;padding:0;border:0;background:none;font-weight:700;color:#fff1cd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sender:hover{text-decoration:underline}.result-rating{font-size:20px!important;color:#ffdf8a!important;font-weight:700}#playerProfileDialog{width:min(760px,calc(100vw - 32px));max-height:88vh;overflow:auto}#playerProfileDialog h2{font-size:28px}#playerProfileDialog h3{font-size:22px;margin:0 0 10px}#playerProfileDialog .small{font-size:15px;line-height:1.6}.profile-summary{display:flex;align-items:center;gap:18px;margin:16px 0}.profile-summary .profile-portrait{width:90px;height:100px;flex-shrink:0}.profile-summary h3{font-size:27px}.profile-season{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-rank-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;background:#1d1913;border:1px solid #b8945766;border-radius:14px;padding:18px}.profile-rank-card .rank-emblem{width:72px;height:82px}.profile-rank-card b{font-size:18px}.profile-rank-card strong{font-size:25px;color:#ffdf8a}.profile-rank-card small{font-size:15px;color:#d8c8a4}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.profile-stats>div{background:#ffffff08;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.profile-stats small{font-size:14px;color:#d8c8a4}.profile-stats b{font-size:18px}.profile-history{margin-top:24px;border-top:1px solid #b8945744;padding-top:18px}.profile-history-row{display:grid;grid-template-columns:110px 1fr;padding:12px 0;border-bottom:1px solid #ffffff15;gap:6px}.profile-history-row p{grid-column:1/-1;margin:0}.profile-history-row .rank-line{font-size:16px}.profile-match{display:grid;grid-template-columns:65px 1fr auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid #ffffff15}.profile-match small{grid-column:1/-1;color:#c8bca2}.profile-opponent{border:0;text-align:left;background:none;padding:0;font-size:16px}.elo-plus{color:#acdf8b}.elo-minus{color:#ffae95}#quickDialog{max-width:570px}#searchStatus{font-size:20px;line-height:1.65}#quickDialog #cancelQuick{font-size:19px;min-height:48px}@media(max-width:560px){.profile-season{grid-template-columns:1fr}.profile-stats{grid-template-columns:1fr 1fr}}
/* Seasonal leaderboard: approved highest-first groups, compact list, profile on row click. */
#leaderboardDialog{position:fixed;inset:auto;top:96px;left:max(190px,calc(50vw - 550px));margin:0;width:min(1000px,calc(100vw - 500px));max-width:none;max-height:calc(100dvh - 116px);padding:18px;border:2px solid #d3a24e;border-radius:22px;background:linear-gradient(135deg,#3b3027f8,#252019fa);box-shadow:0 18px 70px #0008,inset 0 0 0 4px #c89b3e22;color:#fff0d1;overflow:hidden}#leaderboardDialog[open]{display:flex;flex-direction:column;gap:14px}#leaderboardDialog::backdrop{background:#0c08051a}.lb-header{display:flex;align-items:center;gap:10px;flex-shrink:0}.lb-header>div{flex:1;min-width:0}.lb-header h2{font-size:28px;margin:0;color:#ffdf8e;line-height:1.15}.lb-header p{font-size:14px;margin:4px 0 0}.lb-header select{max-width:160px;min-height:42px;font:16px 'Segoe UI',Arial;background:#453824;color:#ffe8b4;border:1px solid #bd9658;border-radius:10px;padding:6px 8px}.lb-header>button{width:42px;height:42px;padding:4px;border-radius:50%;font-size:22px}.lb-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:14px;min-height:0;overflow:hidden;flex:1}#leaderboardGroups{display:flex;flex-direction:column;gap:4px;overflow:auto;min-height:0}.lb-group{width:100%;min-height:56px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:5px 9px;text-align:left;font-size:15px;font-weight:700;line-height:1.3;border-color:#d6ad6744;background:#2c261f}.lb-group .rank-emblem{width:42px;height:46px}.lb-group[aria-pressed=true],#leaderboardTiers button[aria-pressed=true]{background:linear-gradient(#ffe79b,#d9a842);color:#3a2508;border-color:#ffdf87;box-shadow:inset 0 0 0 2px #ffeeba66}.lb-main{display:flex;flex-direction:column;min-width:0;min-height:0}.lb-main h3{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.2;color:#ffe097;margin:2px 0 10px}#leaderboardTiers{display:flex;gap:7px;flex-shrink:0}#leaderboardTiers:empty{display:none}#leaderboardTiers button{min-width:58px;min-height:36px;padding:5px 12px;border-radius:20px;font-size:16px}#leaderboardStatus{font-size:13px;margin:7px 0;color:#cbbd9f;min-height:20px}.lb-columns,.lb-row{display:grid;grid-template-columns:48px minmax(0,1fr) 72px;align-items:center;gap:8px}.lb-columns{padding:9px 12px;background:#f3d58e12;border:1px solid #b8995e55;border-radius:12px 12px 0 0;font-size:15px;color:#e0cfaa;font-weight:700;flex-shrink:0}.lb-columns>span:last-child{text-align:right}#leaderboardRows{padding:0;margin:0;overflow:auto;min-height:0;list-style:none;border:1px solid #b8995e55;border-top:0;border-radius:0 0 12px 12px;flex:1}#leaderboardRows:empty{display:none}.lb-row{width:100%;text-align:left;min-height:60px;border:0;border-radius:0;border-bottom:1px solid #d7bb7b22;padding:6px 12px;background:#201b1533}.lb-row:hover{background:#ae86442e}.lb-row:focus-visible{outline-offset:-3px}#leaderboardRows li:nth-child(2n) .lb-row{background:#d7bb7b0c}.lb-row.yours{background:#a67b303d!important;box-shadow:inset 3px 0 #ffe18a}.lb-position{text-align:center;font-size:21px;color:#ffdf8f}.lb-position.medal{border:2px solid #d2a954;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-weight:800;color:#fbeab0;box-shadow:inset 0 0 0 3px #8b692b,0 2px 5px #0005}.lb-position.medal-1{background:linear-gradient(#ffe7a0,#bd852c);color:#4a2e08}.lb-position.medal-2{background:linear-gradient(#f7f3e3,#9396a1);color:#30343b;border-color:#d3d5d7;box-shadow:inset 0 0 0 3px #70737c}.lb-position.medal-3{background:linear-gradient(#f7c194,#a1643c);color:#4c2b13;border-color:#ce9267;box-shadow:inset 0 0 0 3px #80502b}.lb-identity{display:flex;align-items:center;gap:9px;min-width:0}.lb-identity .mini{width:38px;height:44px;flex-shrink:0}.lb-identity-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.lb-identity-copy .rank-line{font-size:12px}.lb-identity-copy>b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-identity-copy .rank-line .rank-emblem{width:19px;height:20px}.lb-elo{text-align:right;font-size:21px;font-variant-numeric:tabular-nums;color:#ffedbd}#leaderboardEmpty{padding:25px 18px;border:1px solid #bd995666;border-radius:0 0 12px 12px;font-size:17px;line-height:1.6;flex:1;margin:0;display:grid;place-content:center;min-height:180px;color:#ddd0b1}.lb-footer{display:flex;align-items:center;gap:10px;flex-shrink:0;border-top:1px solid #c5a96a55;padding-top:10px}#leaderboardMe{flex:1;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 7px;align-items:center;font-size:13px;line-height:1.4}#leaderboardMe .mini{grid-column:1;grid-row:1/3;width:32px;height:38px}#leaderboardMe>span{grid-column:2}#leaderboardMe small{grid-column:2;font-size:12px}#leaderboardLocate{font-size:15px;min-height:42px;padding:8px 12px;white-space:nowrap}.lb-pagination{display:flex;align-items:center;gap:7px;font-size:14px;white-space:nowrap}.lb-pagination button{font-size:23px;width:33px;height:40px;padding:0}.lb-pagination button:disabled{opacity:.3}@media(max-width:1350px){.lb-layout{grid-template-columns:175px minmax(0,1fr);gap:10px}.lb-group{gap:7px;font-size:14px}.lb-group .rank-emblem{width:34px;height:42px}.lb-header h2{font-size:25px}.lb-columns,.lb-row{grid-template-columns:38px minmax(0,1fr) 65px;gap:7px;padding-inline:9px}.lb-identity .mini{width:32px;height:38px}.lb-identity-copy>b{font-size:16px}.lb-elo{font-size:19px}.lb-footer{gap:7px}#leaderboardLocate{font-size:14px;padding:8px}#leaderboardMe{font-size:12px}.lb-pagination{gap:4px}}@media(max-width:1150px){#leaderboardDialog{left:170px;width:calc(100vw - 190px)}}@media(max-width:800px){#leaderboardDialog{left:12px;top:80px;width:calc(100vw - 24px);max-height:calc(100dvh - 92px);padding:12px}.lb-layout{grid-template-columns:145px minmax(0,1fr)}.lb-header h2{font-size:22px}.lb-header p{font-size:12px}.lb-header select{font-size:14px;max-width:135px}.lb-group{font-size:13px}.lb-footer{flex-wrap:wrap}#leaderboardMe{min-width:180px}#leaderboardLocate{font-size:13px}.lb-pagination{margin-left:auto}}

#leaderboardDialog::backdrop{backdrop-filter:none}.lb-main h3{font-size:24px;margin:0 0 7px}#leaderboardStatus{font-size:12px;min-height:17px;line-height:1.35;margin:4px 0}.lb-columns{padding-block:7px;font-size:14px}.lb-row{min-height:50px;padding-block:4px}.lb-identity .mini{border-radius:50%;border:1px solid #bda06466;background-color:#584027}.lb-group .rank-emblem{filter:drop-shadow(0 1px 2px #0008)}

/* Overview uses a complete scene; backdrop fills the surrounding screen. */
body[data-screen=room][data-camera=overview] .room-backdrop{display:block;filter:blur(20px) brightness(.55)}

/* Clearly identify the local player without covering the character. */
body[data-camera=overview] .scene-name.compact-name.yours{background:linear-gradient(135deg,#fff0b7,#e7b44b);border:2px solid #fff0a8;box-shadow:0 0 0 3px #9d661bdd,0 4px 16px #211205aa;color:#35230c;z-index:24}
body[data-camera=overview] .scene-name.compact-name.yours .nameplate-name{color:#35230c;font-weight:900}
body[data-camera=overview] .scene-name.compact-name.yours .nameplate-rank{color:#654311;font-weight:700}

body[data-camera=overview] .scene-name.yours::before{content:'Bạn';position:absolute;left:50%;top:calc(-44px / var(--scene-scale,1));transform:translateX(-50%);padding:calc(2px / var(--scene-scale,1)) calc(12px / var(--scene-scale,1));border-radius:calc(8px / var(--scene-scale,1));background:#123b24f2;border:calc(2px / var(--scene-scale,1)) solid #75ff9c;color:#75ff9c;font:900 calc(22px / var(--scene-scale,1)) 'Segoe UI',Arial;line-height:1.2;text-shadow:0 1px 2px #061b10;box-shadow:0 2px 7px #0009;pointer-events:none}
body[data-camera=overview] .scene-name.yours::after{content:'';position:absolute;left:50%;top:calc(-13px / var(--scene-scale,1));transform:translateX(-50%);border-left:calc(9px / var(--scene-scale,1)) solid transparent;border-right:calc(9px / var(--scene-scale,1)) solid transparent;border-top:calc(10px / var(--scene-scale,1)) solid #75ff9c;filter:drop-shadow(0 2px 1px #061b10);pointer-events:none}
/* Player identity and one-minute turn ring sit beside the total game clock. */
.clockline .clock{gap:10px;min-width:250px;padding:7px 12px}
.clockline .clock-avatar{display:block;position:relative;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:conic-gradient(#67ef9a calc(var(--turn-progress,0)*1turn),#6e644b44 0);box-shadow:0 0 0 1px #b29b6566}
.clockline .clock-avatar.urgent{background:conic-gradient(#ff8a61 calc(var(--turn-progress,0)*1turn),#6e644b44 0)}
.clockline .clock-portrait{display:block;position:absolute;inset:5px;border:2px solid #332a1d;border-radius:50%;background-color:#574934;background-repeat:no-repeat;background-size:900% 600%;background-position:88% 3%}
.clockline .clock-copy{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:165px;text-align:left}
.clockline .clock-copy strong{font:800 16px 'Segoe UI',Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clockline .clock-copy span{font-size:13px}.clockline .clock-copy small{font:700 13px 'Segoe UI',Arial;color:#d8c7a6}
.clockline .clock.active .clock-copy small{color:#8effb2}.clockline .clock.active{border-color:#80e9a4}
.clockline .clock>b{font-size:27px;margin-left:3px}.clockline #turnHint{min-width:100px}
#resignDialog .danger{border-color:#edb17c;background:linear-gradient(#8e4b2f,#623021);color:#fff1d2;font-weight:800}
#resignDialog p{font-size:20px;line-height:1.65}#resignDialog .alert-emblem{color:#ffdf91}
@media(max-width:1100px){.clockline .clock{min-width:205px;gap:7px}.clockline .clock-copy{max-width:110px}.clockline .clock-avatar{flex-basis:50px;width:50px;height:50px}.clockline .clock>b{font-size:24px}}
@media(max-width:760px){.clockline .clock{min-width:0;padding:6px;gap:5px}.clockline .clock-copy{max-width:85px}.clockline .clock-copy strong{font-size:13px}.clockline .clock-avatar{flex-basis:42px;width:42px;height:42px}.clockline .clock>b{font-size:20px}.clockline #turnHint{font-size:15px;min-width:40px}}

.clockline .clock-avatar.urgent{background:conic-gradient(#ff514f calc(var(--turn-progress,0)*1turn),#6a2226 0);box-shadow:0 0 0 2px #ff8a77,0 0 12px #ff4a4a80;animation:turn-avatar-warning 1s ease-in-out infinite}
.clockline .clock.active:has(.clock-avatar.urgent){border-color:#ff7767}.clockline .clock.active:has(.clock-avatar.urgent) .clock-copy small{color:#ff9a8c}
@keyframes turn-avatar-warning{0%,18%,100%{transform:translateX(0)}3%,9%{transform:translateX(-3px)}6%,12%{transform:translateX(3px)}}
#toast.move-notice{font:700 20px 'Segoe UI',Arial;pointer-events:none;animation:move-notice-pop 1.6s ease-out both}
@keyframes move-notice-pop{0%{opacity:0;transform:translate(-50%,12px)}12%,75%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-10px)}}
@media(prefers-reduced-motion:reduce){.clockline .clock-avatar.urgent{animation:none}#toast.move-notice{animation:none}}

:is(#ready,#playAgain).rank-ready{border:3px solid transparent;background:linear-gradient(#ffe9a0,#e8b24c) padding-box,conic-gradient(#45e98a calc(var(--ready-progress,1)*1turn),#344c39 0) border-box;box-shadow:0 0 0 2px #13291b,0 0 12px #45e98a55;color:#35240c;font-weight:900;min-width:158px}
:is(#ready,#playAgain).rank-ready.ready-urgent{background:linear-gradient(#7a2d28,#4b2220) padding-box,conic-gradient(#ff514f calc(var(--ready-progress,1)*1turn),#482424 0) border-box;box-shadow:0 0 0 2px #632c24,0 0 14px #ff514f88;color:#ffe4d4;animation:turn-avatar-warning 1s ease-in-out infinite}
.search-spinner.matched{animation:none;color:#8df0b1}#quickTitle{font-size:26px}
@media(prefers-reduced-motion:reduce){:is(#ready,#playAgain).rank-ready.ready-urgent{animation:none}}

.candy-wallet{min-width:165px;gap:8px}.candy-icon{font-size:30px}.currency-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.currency-copy small{font:11px 'Segoe UI',Arial;color:#e8d3aa;white-space:nowrap}.candy-dialog p{font:18px/1.6 'Segoe UI',Arial}.candy-dialog h2{font-family:'Segoe UI',Arial;font-size:28px}.candy-dialog .candy-regen{color:#f7d783;font-size:19px;font-weight:700}.candy-choices{display:grid;gap:12px;margin:20px 0}.candy-choices button{min-height:52px;font-size:19px}.candy-dialog small{font:14px/1.5 'Segoe UI',Arial;color:#d9c49c;display:block}.candy-later{margin-top:16px;min-width:120px}.candy-close{position:absolute;right:15px;top:15px}.candy-pack{display:grid;gap:10px;padding:22px;background:#c7963720;border:1px solid #d2aa62;border-radius:15px}.candy-pack strong{font-size:29px;color:#ffe29c}.candy-pack b{font-size:26px}.candy-pack span{font:16px/1.5 'Segoe UI',Arial}.candy-dialog .demo-label{padding:10px;background:#36534255;border:1px solid #9dbb87;border-radius:8px;font-size:14px;color:#d3edc6}.mock-ad{padding:24px;border:1px dashed #d5ba79;border-radius:14px;margin:20px 0;display:grid;gap:18px;background:#9b712822}.mock-ad>span{font:700 13px 'Segoe UI',Arial;letter-spacing:1px;color:#e9cd8b}.mock-ad strong{font-size:25px}#rewardAdProgress{width:100%;accent-color:#d9ab52;height:14px}#coinWallet{cursor:pointer}.candy-wallet .currency-copy b{font-size:22px}@media(max-width:1150px){.candy-wallet{min-width:148px}}@media(max-width:760px){.topbar .candy-wallet{display:flex;min-width:95px;height:45px;padding:4px 6px}.candy-wallet .currency-copy small{display:none}.candy-wallet .candy-icon{font-size:20px}.candy-wallet .currency-copy b{font-size:17px}.candy-wallet>i{display:none}}
.candy-wallet .candy-icon{width:48px;height:38px;object-fit:contain;flex-shrink:0}.candy-bar-large{width:100px;height:64px}.candy-pack .candy-icon{width:50px;height:34px;vertical-align:middle}.currency-copy small:empty{display:none}
.daily-shop{width:min(820px,94vw);max-width:820px;text-align:left}.daily-shop>h2,.daily-shop>p{text-align:center}.daily-section{padding:18px;border:1px solid #aa844a;border-radius:14px;background:#160e0780}.daily-section h3{font:700 23px "Segoe UI",Arial;color:#ffe3a1;margin:0 0 6px}.daily-mission{display:grid;grid-template-columns:30px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid #b190553d}.daily-mission:last-child{border-bottom:0}.daily-mission strong{font:700 19px "Segoe UI",Arial}.daily-dialog .daily-mission p,.daily-shop .daily-mission p{font:15px/1.4 "Segoe UI",Arial;margin:5px 0;color:#dbc9a8}.mission-check{width:28px;height:28px;border:2px solid #9b865f;border-radius:6px;display:grid;place-items:center;color:#83ef9d;font-size:23px;font-weight:800}.received .mission-check{border-color:#70d88e;background:#27603c66}.mission-prize{font:700 16px "Segoe UI",Arial;color:#f4cf77}.mission-status{font:600 14px "Segoe UI",Arial;color:#cebd9a;text-align:right;max-width:115px}.received .mission-status{color:#80e09a}.daily-shop .mission-note{font:13px/1.5 "Segoe UI",Arial;color:#c4b494;text-align:left;margin:12px 0 0}.candy-buy-details{margin-top:18px}.candy-buy-details summary{cursor:pointer;font:700 19px "Segoe UI",Arial;color:#ffe2a2;padding:10px 0}.daily-reward-amount{padding:22px;margin:20px 0;border:1px solid #f0c66d;background:#d6a34122;border-radius:12px;color:#ffe5a3;font:700 27px "Segoe UI",Arial}#dailyRewardName{font:700 23px "Segoe UI",Arial;color:#f4d280}@media(max-width:600px){.daily-mission{grid-template-columns:25px 1fr;gap:10px}.mission-status{grid-column:2;text-align:left;max-width:none}.daily-section{padding:12px}.daily-mission strong{font-size:17px}}
.daily-shop{width:min(790px,94vw);max-width:790px;max-height:calc(100dvh - 32px);overflow:auto;padding:20px;box-sizing:border-box}.wallet-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.wallet-heading>img{width:56px;height:48px;object-fit:contain}.wallet-heading>div{flex:1}.wallet-heading h2{font:700 25px "Segoe UI",Arial;margin:0;color:#ffe3a3}.wallet-heading p{font:14px "Segoe UI",Arial;margin:5px 0 0;color:#cdbb9a}.wallet-heading>button{align-self:flex-start;width:36px;height:36px;padding:0}.wallet-methods{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:14px}.daily-shop .daily-section{padding:14px}.daily-shop .daily-section h3{font-size:19px}.daily-shop .daily-section>small{font-size:12px}.daily-shop .daily-mission{padding:11px 0;gap:10px;grid-template-columns:23px 1fr auto}.daily-shop .daily-mission strong{font-size:16px}.daily-shop .daily-mission p{display:none}.daily-shop .mission-check{width:22px;height:22px;font-size:19px}.daily-shop .mission-prize{display:block;font-size:13px;margin-top:5px}.daily-shop .mission-status{font-size:12px;max-width:72px}.daily-shop .mission-note{font-size:11px;line-height:1.4}.wallet-extras{display:grid;gap:12px;align-content:start}.wallet-method{border:1px solid #a9854f;border-radius:13px;padding:14px;background:#180f0880}.wallet-method h3{font:700 18px "Segoe UI",Arial;color:#ffe3a1;margin:0 0 8px}.wallet-method p{font:14px/1.4 "Segoe UI",Arial;margin:6px 0}.wallet-method small{font:12px/1.4 "Segoe UI",Arial;color:#c9b997}.wallet-method button{font:700 15px "Segoe UI",Arial;min-height:40px;margin:10px 0 7px}.wallet-pack{display:flex;gap:10px;align-items:center}.wallet-pack img{width:62px;height:52px;object-fit:contain}.wallet-pack strong,.wallet-pack b{display:block;font:700 17px "Segoe UI",Arial;color:#ffe2a0}.wallet-pack b{margin-top:4px;color:#f6f0de}.wallet-method #shopDemoHint{font-size:11px}.daily-shop .wallet-demo{font-size:11px}@media(max-width:650px){.wallet-methods{grid-template-columns:1fr}.wallet-extras{grid-template-columns:1fr 1fr}.daily-shop{padding:15px}.wallet-heading h2{font-size:21px}}@media(max-width:430px){.wallet-extras{grid-template-columns:1fr}}
.social-button{position:relative;font-size:20px;letter-spacing:-7px;padding-right:16px}.social-badge{position:absolute;top:-3px;right:-3px;min-width:19px;height:19px;border-radius:10px;background:#bd3b30;color:#fff;font:700 12px/19px "Segoe UI",Arial;letter-spacing:normal;padding:0 3px}#socialDialog{width:min(880px,94vw);max-width:880px;max-height:calc(100dvh - 36px);overflow:auto;box-sizing:border-box;padding:22px}#socialTitle{font:700 26px "Segoe UI",Arial}.social-search{display:flex;gap:9px;margin:16px 0}.social-search input{flex:1;min-width:0;margin:0}.social-search button{min-width:70px}.social-tabs{display:flex;gap:7px;flex-wrap:wrap}.social-tabs button{font:600 15px "Segoe UI",Arial;min-height:40px}.social-note,.social-empty{font:14px/1.5 "Segoe UI",Arial;color:#cebf9f}.social-person{padding:15px 0;border-bottom:1px solid #96794a66;display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,1fr);gap:10px;align-items:center}.social-identity{display:flex;gap:10px;align-items:center;text-align:left;background:none;border:0;padding:0}.social-identity>span:last-child{display:grid;gap:5px}.social-identity strong{font:700 18px "Segoe UI",Arial}.social-identity small{font:13px "Segoe UI",Arial;color:#e0c182}.social-portrait{width:47px;height:47px;background-size:cover;background-position:center top;border:1px solid #cba665;border-radius:50%;flex-shrink:0}.social-presence{font:600 14px "Segoe UI",Arial;color:#b4ac9d}.social-presence.online,.social-presence.waiting{color:#8bd7a3}.social-presence.playing{color:#ffd778}.social-presence.watching{color:#a8c8e7}.social-presence small{display:block;font:12px/1.4 "Segoe UI",Arial;margin-top:5px;color:#d7c6a6}.social-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.social-person>.social-actions{grid-column:1/-1}.social-actions button{min-height:38px;font:600 14px "Segoe UI",Arial}.social-friend-label{color:#9ae0ad;font:600 14px "Segoe UI",Arial}.social-invitation{padding:16px;border:1px solid #aa884e;border-radius:12px;margin:12px 0}.social-invitation strong{font:700 18px "Segoe UI",Arial}.social-invitation p{font:14px "Segoe UI",Arial}.profile-summary+.social-actions{margin:12px 0 22px}@media(max-width:600px){.social-person{grid-template-columns:1fr}.social-person>.social-actions{grid-column:1}.social-tabs button{font-size:13px;padding:8px}#socialDialog{padding:15px}}
.social-button{letter-spacing:normal;padding-right:0}
.social-portrait{background-size:900% 600%;background-position:88% 3%;background-repeat:no-repeat;background-color:#a78f66}
#navFriends{position:relative}#navFriends .social-badge{top:7px;right:8px;font-style:normal}#socialDialog{width:min(740px,94vw);max-width:740px;padding:20px}#socialTitle{font-size:24px}.social-search{margin:12px 0 4px}.social-search select{width:148px;min-width:0;font:14px "Segoe UI",Arial;border-radius:9px;padding:8px;background:#362e21;color:#f4e5c7;border:1px solid #8d784d}.social-person{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.8fr) auto;padding:12px 0;gap:12px}.social-person .social-identity strong{font-size:16px}.social-person .social-identity small{font-size:12px}.social-person .social-portrait{width:40px;height:40px}.social-person .social-presence{font-size:13px}.social-person .social-presence small{font-size:11px}.social-row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.social-row-actions button{font:600 13px "Segoe UI",Arial;min-height:34px;padding:6px 10px}.social-request-label{color:#ead08d}.social-invitation{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;margin:0;border:0;border-bottom:1px solid #96794a66;border-radius:0}.social-invitation strong{font-size:16px}.social-invitation p{font-size:12px;margin:0}.social-invitation .social-actions{margin-left:auto}#socialList>h3{font:600 14px "Segoe UI",Arial;color:#d1bd96;margin:14px 0 0}@media(max-width:650px){.social-search{flex-wrap:wrap}.social-search input{flex-basis:100%}.social-search select{flex:1}.social-person{grid-template-columns:1fr auto}.social-person .social-presence{grid-column:1;grid-row:2}.social-row-actions{grid-column:2;grid-row:1/3}.social-row-actions{flex-direction:column}.social-invitation .social-actions{margin-left:0}}
#socialInboxDialog{width:min(700px,94vw);max-width:700px;max-height:calc(100dvh - 36px);overflow:auto;box-sizing:border-box;padding:20px}#socialInboxTitle{font:700 24px "Segoe UI",Arial}.social-person{grid-template-columns:minmax(185px,1fr) minmax(170px,1fr) auto}.social-search input{flex:1}.social-person .social-presence{white-space:nowrap}@media(max-width:650px){.social-person{grid-template-columns:1fr auto}.social-person .social-presence{grid-row:2;grid-column:1}}
.social-alert{width:min(550px,92vw);max-height:calc(100dvh - 32px);overflow:auto;text-align:center}.social-alert h2{font:700 27px "Segoe UI",Arial}.social-alert p{font:18px/1.6 "Segoe UI",Arial}.social-alert-portrait{display:block;width:72px;height:72px;margin:0 auto 16px;border:2px solid #e4bd72;border-radius:50%;background-color:#a78f66;background-size:900% 600%;background-position:88% 3%;background-repeat:no-repeat}.social-alert .alert-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.social-alert .alert-actions button{min-height:45px;font:600 17px "Segoe UI",Arial;padding:10px 18px}#openFriendRequests{font:600 14px "Segoe UI",Arial;min-height:36px;margin-left:auto}#socialDialog .dialog-heading h2{margin-right:10px}.social-actions .gold{opacity:1}#socialInboxList .social-invitation{padding:14px 0}
.social-person{grid-template-columns:minmax(0,1fr) 185px 135px;column-gap:12px}.social-person .social-identity{min-width:0}.social-person .social-identity>span:last-child{min-width:0}.social-person .social-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-person .social-presence{justify-self:start;text-align:left;font:600 13px/1.4 "Segoe UI",Arial,sans-serif;white-space:nowrap}.social-person .social-row-actions{width:135px;min-width:0;justify-self:end}@media(max-width:650px){.social-person{grid-template-columns:minmax(0,1fr) 120px}.social-person .social-presence{grid-column:1;grid-row:2;padding-left:50px}.social-person .social-row-actions{width:120px;grid-column:2;grid-row:1/3}}
body[data-screen=room] .community{bottom:var(--room-footer-clearance,185px);max-height:none}body[data-screen=room] .community-card{overflow:hidden}body[data-screen=room] #roomPane{flex:1;min-height:0;height:auto}body[data-screen=room] #chatPane{flex:1;min-height:0}body[data-screen=room] .chat-messages{min-height:0;overflow-y:auto}body[data-screen=room] .chat-form{flex:0 0 auto;margin-bottom:0}body[data-screen=room] .chat-form input{min-width:0}body[data-screen=room] .tabs,body[data-screen=room] .host-approval-box,body[data-screen=room] .room-details{flex-shrink:0}body[data-screen=room] .room-details[open]{max-height:min(180px,25vh);overflow:auto}
.victory-flowers span{top:auto;bottom:-35px;font-size:var(--petal-size,28px);animation:victory-flower-burst var(--petal-duration,4s) var(--petal-delay,0s) ease-out both;will-change:transform,opacity}@keyframes victory-flower-burst{0%{transform:translate3d(0,0,0) rotate(0) scale(.6);opacity:0}12%{opacity:1}45%{transform:translate3d(var(--burst-x),-78vh,0) rotate(220deg) scale(1);opacity:1}100%{transform:translate3d(calc(var(--burst-x)*1.35),12vh,0) rotate(620deg) scale(.8);opacity:0}}.match-alert[data-outcome=loss]{border-color:#b6bec7}
.victory-flowers.reduced-motion{display:block!important}.victory-flowers.reduced-motion span{animation:none;bottom:auto;opacity:1;font-size:24px;will-change:auto}

#authForm .remember-login{display:flex;align-items:center;gap:8px;font:14px/1.4 'Segoe UI',Arial,sans-serif;margin:12px 0 4px}.remember-login input{width:20px;height:20px;min-height:20px;margin:0;accent-color:#f3c363}.remember-note{display:block;font:12px/1.4 'Segoe UI',Arial,sans-serif;margin:0 0 14px;color:#cbbda4}#registerDialog{width:min(430px,calc(100vw - 28px));max-height:calc(100dvh - 36px);overflow:auto;padding:22px}#registerDialog h2{font:600 24px/1.4 'Segoe UI',Arial,sans-serif}#registerDialog label{font:14px/1.5 'Segoe UI',Arial,sans-serif;margin:14px 0}#registerDialog input{display:block;width:100%;box-sizing:border-box;font-size:16px;min-height:44px}#registerDialog .wide{min-height:44px;margin-top:9px;font-size:15px}#registerError{font:14px/1.4 'Segoe UI',Arial,sans-serif;color:#ffb7a6}#registerError:empty{display:none}

#profile{max-height:calc(100dvh - 130px);overflow:auto}#profile h1{font:600 26px/1.4 'Segoe UI',Arial,sans-serif}#profile p{font:14px/1.5 'Segoe UI',Arial,sans-serif}
#characterGroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}#characterGroups button{min-height:40px;font-size:14px;padding:7px}
#characterGroups button[aria-pressed=true],.character-choice[aria-pressed=true]{border-color:#ffdf80;background:#695025;box-shadow:inset 0 0 0 1px #ffe6a5}
#characterChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.character-choice{display:flex;flex-direction:column;align-items:center;min-width:0;padding:6px;font:13px/1.4 'Segoe UI',Arial,sans-serif}.character-choice-art{display:block;width:100%;aspect-ratio:1/1.3;background-size:300% 200%;background-position:0 0;background-repeat:no-repeat}.character-choice>span:last-child{min-height:35px;display:grid;place-items:center}#characterError{font-size:13px;color:#ffb7a6}#characterError:empty{display:none}#characterBack{margin-top:8px}
@media(min-width:901px){body[data-screen=room] .room-info{left:12px!important;right:auto!important;top:84px!important;width:176px;max-width:176px!important;max-height:245px;overflow:auto;padding:10px;background:#211c14e6;border:1px solid #c7a26166;border-radius:12px;box-sizing:border-box;pointer-events:auto;text-shadow:none;font:12px/1.45 'Segoe UI',Arial,sans-serif}body[data-screen=room] .room-info h1{font:600 14px/1.4 'Segoe UI',Arial,sans-serif!important;margin:5px 0}body[data-screen=room] .room-info .eyebrow{font-size:10px;letter-spacing:.5px}body[data-screen=room] .room-info .room-sub,body[data-screen=room] .room-info .host-label{font-size:10px;line-height:1.4}body[data-screen=room] .room-info #equippedBoardName{font:600 12px/1.4 'Segoe UI',Arial,sans-serif;display:block;margin:7px 0 3px}body[data-screen=room] .room-info #equippedPieceNames{font:11px/1.4 'Segoe UI',Arial,sans-serif;display:block}body[data-screen=room] .room-info .game-status{font:12px/1.45 'Segoe UI',Arial,sans-serif;padding:8px;margin-top:8px;border-radius:8px}}

.profile-rename{margin-top:6px;min-height:38px;padding:7px 14px;font:600 14px 'Segoe UI',Arial,sans-serif}#renameDialog{width:min(390px,calc(100vw - 28px));padding:20px}#renameDialog h2{font:600 22px/1.4 'Segoe UI',Arial,sans-serif}#renameDialog input{font-size:16px;min-height:44px;box-sizing:border-box;width:100%}#renameDialog button{min-height:40px}#renameError{font-size:14px;color:#ffb7a6}#renameError:empty{display:none}

/* Gentle last-move cues: a small origin dot and a soft arrival glow. */
.cell.last.opponent-last{background:transparent}
.cell.last.opponent-last.move-from{outline:0;box-shadow:none;background:radial-gradient(ellipse at center,#71a34a66 0 18%,#729b4a99 19% 24%,transparent 25%)}
.cell.last.opponent-last.move-to .piece{outline:1px solid #a7bd6b99;outline-offset:1px;filter:drop-shadow(0 0 3px #c6d99188)}
.cell.last.opponent-last.move-to::after{display:none}
body[data-camera=overview] .cell.last.opponent-last.move-to .piece{outline-width:1px;outline-offset:1px}
