@font-face{font-family:Karmasa;src:local("Avenir Next"),local("Segoe UI")}*{box-sizing:border-box}
:root{--bg:#f4f5ef;--panel:#fff;--text:#152e2b;--muted:#556961;--line:#d8e1d9;--green:#08684e;--soft:#e7f2e9;--gold:#885815;--focus:#146bdf;--rail:#103831;--shadow:0 16px 44px #1c453412}
html[data-theme=dark]{--bg:#102622;--panel:#19352e;--text:#edf7ef;--muted:#b7cdc2;--line:#36564a;--green:#8adeb1;--soft:#294c3b;--gold:#ffcf79;--rail:#0c201c}
html[data-theme=amoled]{--bg:#000;--panel:#080c0a;--text:#f3faf5;--muted:#becdc4;--line:#354239;--green:#9be8b9;--soft:#172c20;--gold:#ffda86;--rail:#000}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 Karmasa,system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);padding:12px 18px;min-height:46px;transition:background .18s,transform .18s}button:hover{background:var(--soft)}button:active{transform:translateY(1px)}button:disabled{cursor:default;opacity:.55}button.primary{background:var(--green);color:var(--panel);border-color:var(--green);font-weight:700}button.danger{color:#b53537}a{color:var(--green)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}input,select,textarea{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px;max-width:100%;width:100%;min-height:46px}input[type=checkbox]{width:22px;min-height:22px}label{display:block;margin-bottom:6px;font-weight:650}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(26px,3vw,42px);line-height:1.2;letter-spacing:-.04em}h2{font-size:23px}h3{font-size:18px}small,.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:var(--panel);padding:14px}.skip:focus{top:12px}
#shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100dvh}#rail{background:var(--rail);color:#e2f1e8;padding:32px 20px;display:flex;flex-direction:column;gap:36px}#rail a{color:inherit;text-decoration:none}.brand{font-size:28px;font-weight:800;letter-spacing:-1px}.brand span{color:#e7bc69;font-size:34px}#navigation{display:grid;gap:8px}#navigation button{background:transparent;border:0;color:#b9d4c7;text-align:start;display:flex;gap:12px;align-items:center}#navigation button[aria-current=page]{background:#ffffff16;color:white}#navigation button:hover{background:#ffffff12}#rail-bottom{margin-top:auto;font-size:13px;color:#9ebcab}#workspace{padding:0 36px;min-width:0}#topbar{height:88px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px}#context{color:var(--muted);font-size:14px}#account{display:flex;align-items:center;gap:14px}.gold{display:flex;align-items:center;gap:10px;padding:9px 17px;background:linear-gradient(135deg,#fff3ca,#edce87);border:1px solid #d7ae51;border-radius:999px;color:#674208;font-weight:800}.gold span[aria-hidden]{font-size:23px;filter:drop-shadow(0 2px 1px #be881b)}main{max-width:1500px;margin:auto;padding:36px 0 20px;min-height:calc(100dvh - 150px)}footer{display:flex;gap:24px;padding:24px 0;font-size:13px;color:var(--muted)}.hero{border-radius:26px;padding:34px;background:linear-gradient(130deg,#174c3f,#22765a);color:#f4fff5;margin-bottom:30px;position:relative;overflow:hidden}.hero:after{content:"♠";position:absolute;right:7%;top:-20px;font-size:220px;opacity:.07;transform:rotate(14deg);pointer-events:none}.hero p{color:#d2e9dc}.hero button{background:#e8c982;color:#253d30;border:0}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.section-head,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-bottom:18px}.game-card{padding:0;text-align:start;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}.game-art{height:136px;display:flex;align-items:center;justify-content:center;font-size:65px;background:linear-gradient(135deg,var(--soft),#b5d2bc);color:#174c3f;position:relative}.game-art:before{content:"";position:absolute;border:1px solid #ffffff75;border-radius:50%;width:90px;height:90px}.game-art span{z-index:1;filter:drop-shadow(0 4px 4px #174c3f30)}.card-copy{padding:18px;display:grid;gap:4px}.card-copy strong{font-size:18px}.card-copy small{font-size:13px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.stack{display:grid;gap:16px}.actions{display:flex;flex-wrap:wrap;gap:10px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.4fr);gap:24px}.form{max-width:550px;display:grid;gap:18px}.field{display:grid;gap:4px}.badge{display:inline-flex;border-radius:999px;background:var(--soft);padding:3px 10px;font-size:13px}.error{color:#bb3238}.icon-btn{padding:10px 13px;font-size:20px}.room-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status-bar{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0}.stat{padding:12px 18px;background:var(--soft);border-radius:14px;display:grid;gap:2px}.stat strong{font-size:24px}.board{display:grid;gap:3px;max-width:680px;margin:0 auto 20px}.board button{border-radius:4px;min-width:0;padding:4px;aspect-ratio:1;min-height:0;font-size:clamp(12px,2vw,35px);overflow:hidden;display:flex;justify-content:center;align-items:center}.board.chess button{background:#e6dfc9;color:#18231c}.board.chess button[data-dark=true]{background:#788f77}.board button[aria-pressed=true]{box-shadow:inset 0 0 0 4px #e8a927}.board button[data-target=true]{box-shadow:inset 0 0 0 3px #0f925c}.hand{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:22px 0}.playing-card{width:98px;min-height:142px;border-radius:12px;background:#fffdf5;color:#22342b;border:1px solid #c8c8b8;box-shadow:0 5px 10px #122e2812;padding:12px 8px;text-align:center;display:flex;flex-direction:column;justify-content:space-between;font-weight:750}.playing-card:hover{transform:translateY(-5px)}.playing-card .suit{font-size:35px}.red-card{color:#b92e3e}.playing-card small{font-size:13px;color:inherit}.score-list{list-style:none;padding:0;margin:0}.score-list li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:12px}.score-list li.current{background:var(--soft);border-radius:8px}.history{max-height:380px;overflow:auto;padding-inline-start:22px}.history li{padding:9px}.board-note{white-space:pre-line}.dice{font-size:38px;letter-spacing:9px;padding:20px;text-align:center}.chat-log{list-style:none;padding:0;max-height:55dvh;overflow:auto;display:grid;gap:12px}.message{background:var(--soft);padding:12px 16px;border-radius:14px;white-space:pre-wrap;max-width:90%}.message.own{justify-self:end;background:var(--green);color:var(--panel)}.message time{display:block;font-size:12px;opacity:.75}.selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.selection button{text-align:start}dialog{width:min(850px,calc(100vw - 32px));max-height:90dvh;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 25px 80px #001b3060}dialog::backdrop{background:#001b30a8;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.dialog-head h2{padding-top:8px}#dialog-body{padding-top:12px}#toast{position:fixed;bottom:22px;inset-inline-end:22px;max-width:450px;padding:16px 22px;border-radius:14px;background:var(--rail);color:white;box-shadow:var(--shadow);z-index:20;display:none}#toast.show{display:block}.wheel{font-size:90px;text-align:center;padding:30px}.spin{animation:spin 2s ease-out}.new-move{animation:flash .65s ease-out}@keyframes spin{to{transform:rotate(1440deg)}}@keyframes flash{from{background:#dfc97a60}to{background:transparent}}
@media(max-width:1050px){#shell{grid-template-columns:190px minmax(0,1fr)}#workspace{padding:0 24px}.split{grid-template-columns:1fr}#rail{padding:24px 12px}.brand{font-size:24px}}
@media(max-width:700px){#shell{display:block}#rail{padding:12px 16px;gap:12px}.brand{font-size:24px}#navigation{display:flex;overflow:auto}#navigation button{white-space:nowrap;padding:10px}#rail-bottom{display:none}#workspace{padding:0 16px}#topbar{height:auto;min-height:68px}main{padding-top:24px}.hero{padding:24px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.game-art{height:108px}.panel{padding:18px}.playing-card{width:83px;min-height:122px}.board button{font-size:22px}#account{gap:8px;font-size:13px}.gold{padding:7px 12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.fronts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}.lane{padding:.7rem;border-block-end:1px solid var(--line)}.ticket-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.2rem}.ticket-grid button{padding:.35rem;min-width:0}.ticket-grid .marked{background:var(--green);color:var(--panel)}.score-table{width:100%;border-collapse:collapse}.score-table th,.score-table td{padding:.5rem;text-align:start;border-bottom:1px solid var(--line)}.hand-summaries{display:flex;flex-wrap:wrap;gap:1rem}

.gold img{filter:drop-shadow(0 2px 2px #996c25)}.wheel img{max-width:100%;height:auto}.playing-card:focus-visible{transform:translateY(-5px)}html[dir=rtl] .board{direction:ltr}

.chess-piece{width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 4px 2px #16282065)}
.board.chess{padding:12px;background:#302c25;border-radius:16px;box-shadow:0 8px 18px #0003;border:3px solid #605442;gap:1px}
.board.chess button{background:#89937e;color:#101a14;border-color:#52654e}.board.chess button[data-dark=true]{background:#52654e;color:#fff}.board.chess button[data-target=true]{box-shadow:inset 0 0 0 3px #8cd9f2}.board.chess button[aria-pressed=true]{box-shadow:inset 0 0 0 4px #e8a927}
.domino-card{width:78px;min-height:172px;background:linear-gradient(120deg,#fffdf8,#dfdacb);border:2px solid #b4b3a4;border-radius:9px;box-shadow:3px 5px 0 #a4a399,5px 9px 13px #0003}
.domino-face{display:grid;gap:12px}.pip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;aspect-ratio:1;padding:6px}.pip-grid:first-child{border-bottom:2px solid #7d7d70;padding-bottom:12px}.pip{background:#242e29;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 1px 2px #000}.no-pip{visibility:hidden}.okey-card{width:70px;min-height:112px;box-shadow:2px 4px 0 #c3b5a0,3px 7px 8px #0003}
.mini-board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;max-width:450px;direction:ltr}.mini-board span{background:var(--soft);text-align:center}.mini-board .occupied{background:var(--green);color:var(--panel)}
.request-count{background:#b6233a;color:white;border-radius:999px;min-width:24px;padding:0 6px;text-align:center;margin-inline-start:auto;font-size:13px;font-weight:800}
[data-game=amiral] .board{padding:12px;background:linear-gradient(135deg,#183c58,#24698b);border-radius:16px}[data-game=amiral] .board button{background:#dcebf2;color:#12344f}
[data-game=monopoly] .board{padding:12px;background:linear-gradient(120deg,#446c4a,#1f4931);border-radius:16px}
[data-game=99] .hand,[data-game=pisti] .hand,[data-game=scopa] .hand,[data-game=blackjack] .hand,[data-game=poker] .hand{padding:24px;border-radius:20px;background:radial-gradient(ellipse,#377b54,#1c4434);border:4px solid #77502f}
.playing-card{position:relative;border:1px solid #bfbcae;box-shadow:0 3px 0 #d9d4c5,0 8px 16px #0003}.playing-card .suit{font-size:44px;line-height:1.5}.playing-card small{line-height:1.4}

.ludo-scene{position:relative;width:min(100%,560px);aspect-ratio:1;background:#e7dfc5;border:8px solid #5b4230;border-radius:20px;margin:0 auto 20px;box-shadow:0 12px 18px #0003;direction:ltr}.ludo-home{position:absolute;width:40%;height:40%;border:10px solid #fff5;border-radius:12px}.ludo-home.red{left:0;top:0;background:#b82a35}.ludo-home.blue{right:0;top:0;background:#1d5699}.ludo-home.green{left:0;bottom:0;background:#24894a}.ludo-home.orange{right:0;bottom:0;background:#d66d16}.ludo-square{position:absolute;width:6.666%;height:6.666%;background:#fffce7;border:1px solid #b8b29e}.ludo-pawn{position:absolute;width:6.666%;height:6.666%;min-height:0;padding:0;border-radius:50%;color:white;border:2px solid #fff9;box-shadow:1px 3px 2px #0006;font-size:14px}.ludo-pawn.red{background:#ab1c30}.ludo-pawn.blue{background:#1a4b99}.ludo-pawn.green{background:#126b32}.ludo-pawn.orange{background:#924200}
[data-game=tavla] .board{padding:14px;background:linear-gradient(140deg,#be9464,#6e462b);border:6px solid #4b3020;gap:6px;border-radius:16px;max-width:100%;box-shadow:0 12px 22px #0004}[data-game=tavla] .board button{aspect-ratio:.48;position:relative;background:#eed8b4;overflow:visible}[data-game=tavla] .board button:before{content:'';position:absolute;inset:0;background:#b36938;clip-path:polygon(0 0,100% 0,50% 95%)}[data-game=tavla] .board button:nth-child(even):before{background:#41372c}.backgammon-point{display:flex;flex-direction:column;align-items:center;position:relative;width:100%;height:100%;gap:2px}.checker{display:block;border-radius:50%;width:75%;aspect-ratio:1;box-shadow:1px 2px 2px #0007;border:1px solid #8b7862}.ivory{background:radial-gradient(circle,#fff6da,#ceb588)}.ebony{background:radial-gradient(circle,#625040,#201b18)}
.mancala-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:20px;background:linear-gradient(130deg,#b07e48,#6c452a);border-radius:34px;box-shadow:0 10px 20px #0004;direction:ltr;margin-bottom:20px}.mancala-pit{border-radius:50%;aspect-ratio:1;min-width:0;padding:8px;background:#674126;color:#fff;box-shadow:inset 0 4px 7px #0008}.mancala-pit span{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center}.mancala-stone{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#dfe6bc,#708e67);box-shadow:1px 2px 2px #0004}

[data-game=monopoly] .board{aspect-ratio:1;grid-template-rows:repeat(11,minmax(0,1fr));direction:ltr;max-width:820px}
[data-game=monopoly] .board button{padding:3px;font-size:clamp(8px,1vw,13px);line-height:1.1;min-height:0;background:#f1e5cc;color:#293627;border-radius:3px;border:1px solid #334b36;overflow:hidden}
.city-center{grid-column:2/span 9;grid-row:2/span 9;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f6e1ad;font-size:clamp(15px,3vw,32px);background:radial-gradient(ellipse,#629365,#294e35);border-radius:10px;text-shadow:0 3px 3px #182d23;overflow:hidden}.city-skyline{display:flex;align-items:flex-end;gap:12px;transform:skewY(-10deg);height:40%;width:75%;margin-top:22px}.building{height:70%;width:20%;background:repeating-linear-gradient(0deg,#b8c2a4 0 8px,#375a57 8px 12px);box-shadow:10px 8px 0 #1e4944;border-top:12px solid #8ca09c;border-radius:3px}.building-2{height:100%}.building-3{height:50%}.building-4{height:90%}
.sport-scene{width:100%;max-height:390px;border-radius:20px;display:block;background:radial-gradient(ellipse,#416985,#152c45);box-shadow:inset 0 0 35px #132332,0 8px 20px #0003;margin-bottom:20px}.new-move .sport-ball{animation:sport-shot 600ms cubic-bezier(.2,.3,.6,1) both}.new-move .playing-card{animation:card-settle 280ms ease-out both}
@keyframes sport-shot{from{transform:translateY(60px)}to{transform:translateY(-180px)}}@keyframes card-settle{from{transform:translateY(-8px) rotate(-2deg);opacity:.8}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.new-move .sport-ball,.new-move .playing-card{animation:none}}

#rail .muted{color:#b9d4c7}

footer{flex-wrap:wrap}#web-release{margin-inline-start:auto;font-variant-numeric:tabular-nums}
footer .sponsor{flex-basis:100%;margin:0;padding-block-start:16px;border-block-start:1px solid var(--line);overflow-wrap:anywhere}footer .sponsor a{font-weight:650}

.board.sudoku{display:block;max-width:680px;gap:0;border:3px solid var(--text);border-radius:8px;overflow:visible;background:var(--panel)}.sudoku-row{display:grid;grid-template-columns:repeat(9,minmax(0,1fr))}.sudoku-cell{min-width:0;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-inline-end:1px solid var(--line);border-block-end:1px solid var(--line);font-size:clamp(16px,2.5vw,34px);color:var(--green);cursor:pointer}.sudoku-cell.given{font-weight:800;color:var(--text);background:var(--soft);cursor:default}.sudoku-cell[aria-readonly=true]{cursor:default}.sudoku-cell:nth-child(3n){border-inline-end:3px solid var(--text)}.sudoku-row:nth-child(3n){border-block-end:3px solid var(--text)}.sudoku-row:last-child{border-block-end:0}.sudoku-cell:last-child{border-inline-end:0}.sudoku-cell:focus-visible{outline-offset:-4px;position:relative;z-index:1}

.table-chat-panel {display:flex;flex-direction:column;gap:1rem;max-height:78vh;}
.table-chat-log {list-style:none;margin:0;padding:.4rem;overflow:auto;min-height:10rem;max-height:42vh;display:flex;flex-direction:column;gap:.7rem;}
.table-chat-message {border:1px solid var(--line);border-radius:1rem;padding:.8rem;background:var(--panel);overflow-wrap:anywhere;}
.table-chat-message.own {border-color:var(--green);background:var(--soft);}
.table-chat-meta {display:flex;justify-content:space-between;gap:1rem;}
.table-chat-meta time {font-size:.8rem;opacity:.75;}
.table-chat-message p {margin:.4rem 0 0;white-space:pre-wrap;}
.table-chat-switch {display:flex;align-items:center;gap:.6rem;padding:.7rem;}
#table-chat-button {position:relative;}
.chat-badge {position:absolute;inset-block-start:0;inset-inline-end:0;font-size:.65rem;background:#bd1832;color:white;border-radius:1rem;padding:.1rem .35rem;}

/* Native-style home: one profile, one primary action, then social and rewards. */
#shell[data-page=home]{display:block}
#shell[data-page=home] #rail{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:18px max(24px,calc((100vw - 1040px)/2));border-bottom:1px solid var(--line)}
#shell[data-page=home] #navigation,#shell[data-page=home] #topbar{display:none}
#shell[data-page=home] #rail-bottom{display:block;margin:0}
#shell[data-page=home] #workspace{max-width:1040px;margin:auto;padding:0 24px}
#shell[data-page=home] main{padding:32px 0 16px;min-height:0}
.shortcut-help{border:0;background:transparent;color:#e2f1e8;text-align:start;padding:8px 12px}
.shortcut-help>span{display:grid;gap:4px}
.shortcut-help kbd{font:inherit;font-size:12px;color:#b9d4c7}
.home-dashboard{display:grid;gap:20px;max-width:920px;margin:auto}
.home-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.65fr);gap:22px;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.home-identity{display:flex;align-items:center;gap:18px;min-width:0}
.home-identity>div:last-child{min-width:0}
.home-identity h1{font-size:clamp(24px,3vw,34px);letter-spacing:-.025em;margin:0 0 6px;overflow-wrap:anywhere}
.home-identity p{color:var(--muted);margin:0;overflow-wrap:anywhere;direction:ltr;text-align:start}
.home-avatar{flex-shrink:0;display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:var(--soft);color:var(--green);font-size:30px;font-weight:750}
.home-gold{display:flex;align-items:center;gap:14px;border-radius:18px;padding:14px 20px;background:linear-gradient(120deg,#332715,#60461c);border:1px solid #b99045;box-shadow:inset 0 1px 0 #f7d78b25;color:#ffe3a2}
.home-gold img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 4px 6px #0005)}
.home-gold>div{display:grid;gap:3px;min-width:0}
.home-gold-label{font-size:13px;font-weight:650;color:#f1dca8}
.home-gold strong{font-family:Georgia,serif;font-size:34px;line-height:1.1;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:#ffe8b5}
.home-presence{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:18px}
.home-presence button{display:flex;align-items:center;gap:9px;text-align:start;background:var(--soft);border-color:transparent;min-width:0;padding:12px 16px;font-size:14px}
.home-presence strong{margin-inline-start:auto;font-size:20px;font-variant-numeric:tabular-nums}
.presence-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
.home-links{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.home-action{display:flex;align-items:center;gap:16px;text-align:start;width:100%;min-width:0;padding:20px;border-radius:18px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);transition:background .16s,box-shadow .16s}
.home-action:hover{background:var(--soft);box-shadow:0 6px 20px #1c453418}
.home-action-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--soft);color:var(--green);flex-shrink:0}
.home-action svg{display:block;width:25px;height:25px}
.home-action-title{font-size:17px;font-weight:700;overflow-wrap:anywhere}
.home-chevron{margin-inline-start:auto;color:var(--muted);flex-shrink:0}
.home-chevron svg{width:18px;height:18px}
[dir=rtl] .home-chevron svg{transform:rotate(180deg)}
.home-play{background:linear-gradient(120deg,#0a4e3d,#167555);color:#f4fff8;border:1px solid #187858;padding:24px}
.home-play:hover{background:linear-gradient(120deg,#0b5946,#1a825e)}
.home-play .home-action-icon{width:56px;height:56px;background:#ffffff18;color:#f4fff8}
.home-play .home-action-title{font-size:23px}
.home-play small{display:block;font-size:14px;font-weight:450;color:#d7eee1;margin-top:5px}
.home-play .home-chevron{color:#d7eee1}
.home-rewards h2{font-size:19px;margin:4px 0 14px}
.home-reward .home-action-icon{background:transparent}
.home-reward img{object-fit:contain;width:52px;height:52px}
.home-action .request-count{margin-inline-start:0;order:0}
#shell[data-page=home] footer{margin-top:16px;border-top:1px solid var(--line)}
@media(max-width:600px){
 #shell[data-page=home] #rail{padding:12px 16px}
 #shell[data-page=home] #workspace{padding:0 16px}
 #shell[data-page=home] main{padding:20px 0 12px}
 .shortcut-help{padding:6px;font-size:12px}
 .shortcut-help kbd{font-size:10px}
 .home-dashboard{gap:16px}
 .home-profile{grid-template-columns:1fr;padding:20px;gap:18px}
 .home-identity{gap:14px}.home-avatar{width:54px;height:54px;border-radius:16px;font-size:26px}
 .home-gold{padding:12px 18px}.home-gold img{width:54px;height:54px}.home-gold strong{font-size:30px}
 .home-presence{gap:8px;padding-top:16px}.home-presence button{padding:12px 10px;font-size:12px;flex-wrap:wrap;gap:6px}.home-presence strong{font-size:18px}
 .home-links{gap:10px}.home-action{padding:14px;gap:10px;min-height:78px}
 .home-action-icon{width:36px;height:36px;border-radius:10px}.home-action-icon svg{width:22px;height:22px}
 .home-action-title{font-size:14px}.home-chevron{display:none}
 .home-play{padding:20px;min-height:98px}.home-play .home-action-title{font-size:21px}.home-play .home-chevron{display:block}
 .home-reward img{width:42px;height:42px}.home-rewards h2{font-size:18px}
}
@media(max-width:360px){.home-links{grid-template-columns:1fr}.home-presence{grid-template-columns:1fr}.home-chevron{display:block}}

.wheel-panel{display:grid;justify-items:center;gap:16px;text-align:center}
.wheel-panel .wheel{padding:12px}
.wheel-panel .wheel img{max-width:100%;height:auto}
.wheel-panel .spin{animation-duration:4s}
.wheel-status{color:var(--muted);margin:0}
.wheel-result{font-size:clamp(22px,4vw,32px);font-weight:750;color:var(--green);margin:0;min-height:1em}
.wheel-result:empty{display:none}
.wheel-panel [hidden]{display:none}
#shell[data-page=maintenance] main{max-width:650px;padding-block:48px}

.gold-visual{display:flex;gap:8px;align-items:center}
/* Long localized card names must stay inside the hand on small screens. */
.playing-card{min-width:0;max-width:100%;overflow-wrap:anywhere}
.playing-card>span,.playing-card small{min-width:0;max-width:100%}
.settings-category{min-height:82px;text-align:start;font-size:18px;font-weight:700}
#game-content[data-four-colors=true][data-game=pisti] .playing-card[data-suit="♦"]{color:#b65100}
#game-content[data-four-colors=true][data-game=pisti] .playing-card[data-suit="♣"]{color:#187247}
#game-content[data-high-contrast=true][data-game=monopoly] .board button{background:#fff;color:#000;border:2px solid #000;font-weight:800}
#game-content[data-colorblind=true][data-game=monopoly] .board button[data-group]:not([data-group=""]){border-block-start:5px double #1d452f}
#game-content[data-animation-speed=off] .new-move,#game-content[data-animation-speed=off].new-move{animation:none}
#game-content[data-animation-speed="0.5"].new-move{animation-duration:1.3s}
#game-content[data-animation-speed="2"].new-move{animation-duration:.325s}
[data-game=monopoly] .board{position:relative}
.monopoly-token{position:absolute;z-index:2;font-size:clamp(11px,2vw,22px);line-height:1;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 2px 2px #0006)}
@media(prefers-reduced-motion:reduce){.monopoly-token{transition:none!important}}
/* A table uses its own toolbar and leave confirmation, as on mobile. */
#shell[data-page=room]{grid-template-columns:minmax(0,1fr)}
#shell[data-page=room] #rail,#shell[data-page=room] #topbar{display:none}
[data-game=monopoly] .board button{position:relative;flex-direction:column}
.group-tag{position:absolute;inset-inline-start:2px;top:1px;font-size:9px;color:inherit;font-weight:900}
.property-buildings{font-size:clamp(8px,1vw,12px);color:inherit;line-height:1}

/* Room chat stays alongside the live board without trapping focus. */
#workspace.has-room-chat{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);column-gap:18px}
#workspace.has-room-chat>#topbar,#workspace.has-room-chat>footer{grid-column:1/-1}
#workspace.has-room-chat>#topbar{grid-row:1}
#workspace.has-room-chat>footer{grid-row:3}
#workspace.has-room-chat>#main{grid-column:1;grid-row:2;min-width:0;width:100%;align-self:start}
#room-chat{grid-column:2;grid-row:2;align-self:start;position:sticky;top:12px;max-height:calc(100dvh - 100px);overflow:auto;border:1px solid var(--line);border-radius:20px;padding:16px;background:var(--panel)}
#room-chat .table-chat-log{max-height:45dvh}#room-chat textarea{width:100%}
@media(max-width:800px){#workspace.has-room-chat{grid-template-columns:minmax(0,1fr)}#workspace.has-room-chat>footer{grid-row:4}#room-chat{grid-column:1;grid-row:3;position:static;max-height:none}}

.playing-card:hover,.playing-card:focus-visible{background:#fff4d1}

.saved-table-row{display:block;width:100%;max-width:760px;text-align:start;padding:20px 24px;margin-block:14px;border:1px solid var(--line);border-inline-start:5px solid var(--green);border-radius:18px;box-shadow:var(--shadow)}.saved-table-row strong{font-size:20px}.saved-table-row p{margin:6px 0 0;color:var(--muted)}

/* League and Royal cards follow the selected palette and remain keyboard focusable. */
.community-card{background:var(--panel,var(--surface));border:1px solid var(--border);border-radius:20px;padding:1.25rem;margin-block:1rem}
.community-card h2{margin-block-start:0}.community-stats{display:grid;grid-template-columns:1fr auto;gap:.6rem 1.5rem}.community-stats dd{margin:0;font-weight:700}.community-list{list-style:none;padding:0;display:grid;gap:.75rem}.royal-link{width:100%;text-align:start}.royal-summary strong{font-size:1.25rem;display:block}.royal-summary strong>span{margin-inline-end:.5rem}.community-search{display:flex;align-items:end;gap:.6rem}.community-search>.field{flex:1;min-width:0}.community-badge{background:#b42318;color:white;border-radius:100%;padding:.3rem .55rem;margin-inline-start:.75rem}.community-flags{display:grid;gap:.6rem;max-height:60vh;overflow:auto}.community-flags button{text-align:start}.community-chat{padding:0;list-style:none;display:grid;gap:.75rem}.community-chat li{padding:1rem;border:1px solid var(--border);border-radius:16px}.community-chat p{overflow-wrap:anywhere}

.community-prizes{border:1px solid var(--gold,#dcae4b);border-radius:18px;padding:18px;margin-block:16px;background:linear-gradient(135deg,rgba(220,174,75,.16),transparent)}
.community-prizes ol{padding-inline-start:0;list-style:none;display:grid;gap:12px}
.community-prizes li{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:12px}
.community-prizes li span{font-size:1.7rem}
.royal-profile-link{width:100%;text-align:start;margin-block:12px;border-color:var(--gold,#dcae4b)}

.clue-length{display:inline-block;padding:.2rem .6rem;border-radius:1rem;background:#f3dfa4;color:#30210c;margin-inline-end:.6rem;}

/* Simulation scenes keep a stable DOM during server ticks. Controls mirror every visual state. */
[data-simulation-host]{min-width:0}.simulation-scene{width:100%;overflow:hidden;border:2px solid var(--line);border-radius:20px;background:#102b3a;touch-action:pan-y}.simulation-scene:focus-visible{outline:4px solid var(--gold,#e7b84f);outline-offset:3px}.simulation-scene canvas{display:block;width:100%;height:clamp(260px,40vw,450px);object-fit:contain}.simulation-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0}.simulation-stat{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.simulation-stat dt{font-size:.85rem;color:var(--muted)}.simulation-stat dd{margin:6px 0 0;font-size:1.12rem;font-weight:750;overflow-wrap:anywhere}.simulation-stat meter{width:100%}.simulation-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.simulation-action-grid button{min-height:52px;touch-action:manipulation}.simulation-options{border-block-start:1px solid var(--line);margin-block-start:18px;padding-block-start:16px}.simulation-order,.simulation-station,.simulation-inventory{border:1px solid var(--line);border-radius:16px;padding:16px;margin-block:12px}.simulation-inventory ul{padding-inline-start:20px}.simulation-inventory li{margin-block:10px}.simulation-catalog{display:grid;gap:10px}.simulation-purchase{display:grid;gap:16px}.simulation-fallback,.simulation-feedback:not(:empty){border-inline-start:4px solid var(--gold,#e7b84f);padding:12px}.simulation-route{list-style:none;padding:0}.simulation-route li{padding:8px 12px;border-inline-start:3px solid var(--line)}.simulation-route li[aria-current=step]{border-color:var(--green);font-weight:750}.simulation-progress{width:100%;height:20px}
@media(prefers-reduced-motion:reduce){.simulation-scene *,[data-simulation-host] *{transition:none!important;animation:none!important}}
@media(max-width:600px){.simulation-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.simulation-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.simulation-catalog{max-height:360px;overflow:auto;padding:4px}.simulation-inventory input[type=search]{display:block;width:100%;margin-block:8px 12px}

/* The village is decorative; the full game remains operable without WebGL. */
[data-vampire-host]{display:grid;gap:1rem;min-width:0}
.vampire-scene{width:100%;height:clamp(190px,30vh,340px);border-radius:1.2rem;background:#091126;box-shadow:inset 0 0 0 1px #7182a344}
.vampire-info{padding:.5rem 1rem;border-inline-start:4px solid #ba9cee;background:var(--soft);border-radius:.5rem}
.vampire-info h2{margin:.2rem 0;font-size:1.3rem}.vampire-info p{margin:.4rem 0}.vampire-day{font-weight:700;color:var(--text)}
.vampire-actions,.vampire-options{display:flex;flex-wrap:wrap;gap:.65rem}.vampire-actions h3{width:100%;margin:.1rem 0}.vampire-actions button,.vampire-options button{min-height:48px;flex:1 1 180px}
.vampire-roster{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));padding:0;gap:.5rem}.vampire-roster li{display:grid;grid-template-columns:auto 1fr;gap:.4rem;padding:.65rem;border:1px solid #7588a855;border-radius:.7rem}.vampire-roster small{grid-column:2}.vampire-avatar{color:#bb9af3}.vampire-roster .eliminated{border-style:dashed;background:var(--soft)}.vampire-log summary{min-height:44px;padding:.6rem;cursor:pointer}.vampire-log li{padding:.45rem 0}.vampire-private{display:grid;gap:.4rem}.vampire-scene-fallback{padding:.5rem}
[data-game=vampir] .split{grid-template-columns:minmax(0,3fr) minmax(170px,1fr)}
@media(max-width:750px){[data-game=vampir] .split{grid-template-columns:1fr}.vampire-scene{height:190px}.vampire-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}

[data-theme="light"] .vampire-day{color:#513388}
[data-theme="light"] .vampire-hint{color:#394355}

/* Compact home: all destinations share one grid instead of stacked sections. */
#shell[data-page=home] main{padding-top:10px;padding-bottom:6px}
#shell[data-page=home] .home-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:920px}
#shell[data-page=home] .home-profile{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border-radius:18px}
#shell[data-page=home] .home-avatar{display:none}
#shell[data-page=home] .home-identity h1{font-size:20px;margin:0}
#shell[data-page=home] .home-identity p{font-size:12px}
#shell[data-page=home] .home-gold{padding:6px 10px;gap:6px}
#shell[data-page=home] .home-gold img{width:32px;height:32px}
#shell[data-page=home] .home-gold strong{font-size:24px}
#shell[data-page=home] .home-presence{grid-template-columns:1fr 1fr;gap:8px;padding-top:6px}
#shell[data-page=home] .home-presence button{padding:6px;min-height:44px;font-size:12px;flex-wrap:nowrap}
#shell[data-page=home] .home-links,#shell[data-page=home] .home-rewards{display:contents}
#shell[data-page=home] .home-rewards h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#shell[data-page=home] .home-action{flex-direction:column;justify-content:center;gap:4px;min-height:68px;padding:7px;text-align:center;border-radius:14px}
#shell[data-page=home] .home-action-title,#shell[data-page=home] .home-play .home-action-title{font-size:13px;line-height:1.25}
#shell[data-page=home] .home-chevron,#shell[data-page=home] .home-play small{display:none}
#shell[data-page=home] .home-action-icon,#shell[data-page=home] .home-play .home-action-icon{width:28px;height:28px;border-radius:8px}
#shell[data-page=home] .home-reward img{width:30px;height:30px}
#shell[data-page=home] footer{margin-top:6px;padding-top:6px;font-size:11px}
@media(max-height:700px){#shell[data-page=home] .home-action{min-height:54px;padding:4px}#shell[data-page=home] .home-dashboard{gap:5px}}
@media(max-width:600px) and (max-height:700px){
 #shell[data-page=home] #rail{padding:3px 10px;gap:8px;min-height:44px}
 #shell[data-page=home] .brand{font-size:21px}#shell[data-page=home] .brand span{font-size:24px}
 #shell[data-page=home] #workspace{padding:0 10px}
 #shell[data-page=home] main{min-height:0;padding:6px 0 3px}
 #shell[data-page=home] .home-profile{padding:7px;gap:5px}
 #shell[data-page=home] .home-identity h1{font-size:17px}
 #shell[data-page=home] .home-gold{padding:4px;gap:3px;font-size:11px}
 #shell[data-page=home] .home-gold img{width:24px;height:24px}
 #shell[data-page=home] .home-gold strong{font-size:21px}
 #shell[data-page=home] .home-presence{gap:4px;padding-top:3px}
 #shell[data-page=home] .home-presence button{font-size:11px;padding:3px;line-height:1.2}
 #shell[data-page=home] .home-action{height:62px;min-height:62px;padding:3px;gap:2px}
 #shell[data-page=home] .home-action-title,#shell[data-page=home] .home-play .home-action-title{font-size:12px}
 #shell[data-page=home] .home-action-icon,#shell[data-page=home] .home-play .home-action-icon{height:23px;width:23px}
 #shell[data-page=home] .home-action svg,#shell[data-page=home] .home-reward img{width:23px;height:23px}
 #shell[data-page=home] footer{padding:5px 0;margin-top:3px;gap:5px 12px;font-size:10px;line-height:1.25}
 #shell[data-page=home] footer .sponsor{margin:3px 0;padding-top:5px;font-size:10px;line-height:1.25}
}

.adventure-board{display:flex;flex-direction:column;gap:.65rem}.adventure-scene{display:flex;gap:1rem;align-items:center;min-height:90px;border-radius:18px;padding:1rem;color:white;background:radial-gradient(at 25% 30%,#7455b6,#15122a 75%);overflow:hidden}.adventure-scene.gecetreni{background:linear-gradient(150deg,#3c5899,#0c152b)}.adventure-scene.korsan{background:linear-gradient(150deg,#147f80,#09242b)}.adventure-emblem{font-size:2.8rem}.adventure-scene>span:last-child{margin-inline-start:auto}.adventure-status{font-size:.85rem;text-align:start}.adventure-hand{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.adventure-card{position:relative;text-align:start;min-height:96px;border:1px solid #9f8bc8;background:linear-gradient(135deg,#322c4c,#191d30);color:#fff;padding:.7rem;border-radius:12px}.adventure-card-symbol{display:block;font-size:1.6rem;color:#e1bd68}.adventure-cost{float:inline-end;background:#fff;color:#242039;border-radius:50%;width:1.5rem;text-align:center}.adventure-card[aria-disabled=true]{border-style:dashed;filter:saturate(.5)}.adventure-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.adventure-result{min-height:2.8rem;margin:0}.new-move .adventure-emblem{animation:adventure-pulse .5s ease-out}@keyframes adventure-pulse{from{transform:scale(.85);opacity:.6}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.new-move .adventure-emblem{animation:none}}@media(max-width:500px){.adventure-card{min-height:76px;font-size:.8rem}.adventure-scene{min-height:64px;padding:.65rem}.adventure-emblem{font-size:2rem}}

.adventure-scene.kader{background:linear-gradient(#0004,#0007),url('/play/art/adv_scene_kader.png') center/cover}.adventure-scene.gecetreni{background:linear-gradient(#0004,#0007),url('/play/art/adv_scene_gecetreni.png') center/cover}.adventure-scene.korsan{background:linear-gradient(#0004,#0007),url('/play/art/adv_scene_korsan.png') center/cover}img.adventure-card-symbol{width:40px;height:40px}

.quiz-board{padding:12px;display:grid;gap:12px;max-width:850px;margin:auto;width:100%}.quiz-meta{display:flex;justify-content:space-between;gap:12px}.quiz-question{font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:700;line-height:1.4;margin:0}.quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quiz-answer{text-align:start;min-height:60px;border-radius:16px;transition:background .2s,transform .2s}.quiz-answer b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#6757bc33;margin-inline-end:10px}.quiz-answer.selected{outline:3px solid #8d7bea}.quiz-result{padding:14px;border-inline-start:5px solid #2b9c6d;background:#2b9c6d20;border-radius:10px;animation:quizReveal .25s ease-out}.quiz-scores{display:flex;flex-wrap:wrap;gap:16px;list-style:none;padding:0;margin:0}@keyframes quizReveal{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:540px){.quiz-options{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.quiz-result{animation:none}.quiz-answer{transition:none}}

.birthday-fields{min-width:0;border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:12px}.birthday-fields legend{font-weight:700;padding:0 6px}.birthday-fields p{margin:0;color:var(--muted)}.birthday-fields input[aria-invalid=true]{border:2px solid var(--focus)}

.adventure-scene.maskeler{background-image:url("/play/art/adv_scene_maskeler.png")}
.adventure-scene.element{background-image:url("/play/art/adv_scene_element.png")}
.adventure-scene.siginak{background-image:url("/play/art/adv_scene_siginak.png")}
.adventure-scene.akademi{background-image:url("/play/art/adv_scene_akademi.png")}

.game-introduction{display:block;font-size:.875rem;line-height:1.5;margin-block:.4rem;white-space:normal;overflow-wrap:anywhere;font-weight:400}

/* Penalty duel: compact native radios retain keyboard and screen-reader behavior. */
#football-scene{width:100%;height:clamp(140px,26vh,250px);display:block;border-radius:18px;background:#0b3020}
.football-controls fieldset{border:0;padding:0;margin:8px 0;display:flex;flex-wrap:wrap;gap:6px}
.football-controls legend{font-weight:700;margin-bottom:5px}
.football-controls label.badge{display:flex;flex:1 1 95px;align-items:center;gap:8px;min-height:44px;border-radius:12px;font-size:14px;padding:8px 10px;cursor:pointer}
.football-controls input[type=radio]{width:18px;min-width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0;accent-color:var(--accent,#08785f)}
.football-controls label:has(input:checked){outline:2px solid var(--accent,#08785f);outline-offset:-2px}
.football-controls label:has(input:focus-visible){outline:3px solid #b76400;outline-offset:2px}

.board.sudoku.sudoku-zoom{max-width:480px}.sudoku-zoom .sudoku-row{grid-template-columns:repeat(3,minmax(0,1fr))}.sudoku-zoom .sudoku-cell{flex-direction:column;min-height:64px}.sudoku-zoom .sudoku-cell>span:last-child{font-size:32px}.sudoku-coordinate{font-size:14px;color:var(--text)}

.racing-board{display:flex;flex-direction:column;gap:8px;min-height:340px;height:min(65dvh,650px)}.race-scene{flex:1;min-height:130px;position:relative;border-radius:18px;overflow:hidden;background:#173640}.race-scene canvas{width:100%;height:100%;display:block}.race-toolbar{display:flex;gap:8px}.race-toolbar button{min-height:44px;min-width:48px}.race-result{min-height:1.4em;margin:0}.racing-board ol{display:flex;flex-wrap:wrap;gap:8px 20px;padding:0;list-style:none}.racing-board h3,.racing-board p{margin:0}

.campaign-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}.campaign-actions button{min-height:44px}.campaign-story{max-height:8rem;overflow:auto;line-height:1.5}

/* Keep campaign controls inside a laptop viewport without hiding large-text overflow. */
#shell[data-page=room] #main:has(.racing-board){padding-top:16px;min-height:0}
#room-view:has(.racing-board)>.section-head{margin-bottom:10px}
#room-view:has(.racing-board)>.section-head h1{margin-bottom:0;font-size:clamp(24px,2.4vw,34px)}
#game-content:has(.racing-board)>.status-bar{margin:6px 0}
#game-content:has(.racing-board) .stat{padding:5px 12px;display:flex;align-items:center;gap:8px}
#game-content:has(.racing-board) .stat strong{font-size:20px}
#game-content .racing-board{height:max(370px,calc(100dvh - 210px));min-height:0;padding:14px;gap:6px}
.racing-board .race-scene{min-height:100px}
.racing-board>ul{margin:0;padding-inline-start:20px}
.racing-board .campaign-actions button{padding:8px 12px}
@media(max-width:1050px){#game-content:has(.racing-board)>.split{gap:10px}#game-content:has(.racing-board)>.split>.panel:last-child:not(.racing-board){padding:10px;margin:0}#game-content:has(.racing-board) .score-list{display:flex;flex-wrap:wrap;gap:10px}#game-content:has(.racing-board) .score-list li{padding:3px}#game-content:has(.racing-board)>.split>.panel:last-child:not(.racing-board) h2{font-size:16px;margin-bottom:4px}#game-content .racing-board{height:max(370px,calc(100dvh - 290px))}}

/* Persistent, named lobby destinations; never cover a table's controls. */
.lobby-tabs{position:fixed;z-index:30;bottom:0;inset-inline:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom));background:var(--panel,#142329);border-top:1px solid #778a9466;box-shadow:0 -4px 22px #0003}
.lobby-tabs button{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:56px;padding:6px 2px;font-size:.78rem;white-space:normal}
.lobby-tabs svg{width:23px;height:23px}.lobby-tabs [aria-current=page]{outline:2px solid #d7af50;outline-offset:-2px}
.has-lobby-tabs #workspace{padding-bottom:86px}.has-lobby-tabs #rail{padding-bottom:86px}
#shell[data-page=home] .home-links{grid-template-columns:repeat(2,minmax(0,1fr))}
#shell[data-page=home] .home-action{min-height:70px}
@media(min-width:900px){.lobby-tabs{inset-inline-start:240px}}

.jackpot-reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.jackpot-reel{background:linear-gradient(160deg,#68501e,#201b11);border:2px solid #bb9950;border-radius:18px;min-height:120px;padding:14px 8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;color:#fff;box-shadow:inset 0 0 20px #0c0804}.jackpot-star{font-size:2rem;color:#ffd57a}.jackpot-odds table{width:100%;border-collapse:collapse}.jackpot-odds th,.jackpot-odds td{text-align:start;padding:10px 6px;border-bottom:1px solid var(--line)}.jackpot-odds caption{font-weight:700;margin:16px 0}.new-move .jackpot-reel{animation:jackpot-settle .65s ease-out}@keyframes jackpot-settle{from{transform:perspective(500px) rotateX(55deg);opacity:.35}to{transform:perspective(500px) rotateX(0);opacity:1}}@media(prefers-reduced-motion:reduce){.new-move .jackpot-reel{animation:none}}

dialog[open]:has(.jackpot-sheet){display:flex;flex-direction:column;overflow:hidden;max-height:88dvh}dialog:has(.jackpot-sheet) .dialog-head{flex:none}#dialog-body:has(.jackpot-sheet){display:flex;min-height:0}.jackpot-sheet{display:flex;flex-direction:column;min-height:0;width:100%}.jackpot-odds{overflow:auto;min-height:0;overscroll-behavior:contain}.jackpot-confirm{flex:none;padding-top:12px;border-top:1px solid var(--line)}.jackpot-confirm button{width:100%}

.gold-wheel-scene{width:100%;height:190px;max-height:28dvh;min-height:100px;overflow:hidden;border-radius:18px;background:#071522}.gold-wheel-scene canvas{display:block;width:100%;height:100%}.gold-hunter-board{display:flex;flex-direction:column;gap:10px}.gold-hunter-board p{margin:0}
.sniper-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.sniper-actions button{min-height:44px;padding:.45rem;font-size:.88rem}.sniper-actions button[aria-disabled="true"]{opacity:.55;cursor:default}.racing-board .race-scene{min-height:70px}

.mobile-store{max-width:720px;margin:1rem auto;padding:clamp(1.25rem,4vw,2.5rem);line-height:1.7}
.mobile-store h2{margin-top:.75rem;line-height:1.3}
.mobile-store-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--green);color:var(--bg);font-size:2rem}
.mobile-store-platforms{display:flex;flex-wrap:wrap;gap:.75rem}
.mobile-store-platforms span{padding:.35rem .85rem;border:1px solid var(--line);border-radius:999px;font-weight:700}
