/* Authoritative theme layer. Board and card materials retain their original colors. */
/* Live lobby/history/clock updates must not select a new browser scroll anchor. */
html.game-page { overflow-anchor:none; }
html[data-theme] {
    --radius:14px; --radius-small:9px; --font-body:14px; --font-small:12px; --font-title:21px;
    --font-ui:'Segoe UI','Microsoft YaHei',system-ui,sans-serif; --font-display:STKaiti,KaiTi,SimSun,Georgia,serif;
    --bg:#f5f2e9; --surface:#fffdf7; --surface-raised:#edece2; --paper:#263d35; --muted:#59665d;
    --mint:#326957; --accent:#326957; --accent-hover:#285743; --accent-soft:#e4eddf; --on-accent:#fffdf7;
    --gold:#795b26; --gold-soft:#f1e7cd; --line:#d8dccf; --danger:#a63e3a; --danger-soft:#f8e8e2; --info:#3b6478;
    --ambient:#b8c4a322; --shadow:0 8px 26px #334c3610; --dialog-shadow:0 24px 80px #182c3540; color-scheme:light;
}
html[data-theme=dark] {
    --bg:#14231f; --surface:#1d302a; --surface-raised:#273e35; --paper:#f1eedf; --muted:#adbcaf;
    --mint:#b7d3be; --accent:#3e735b; --accent-hover:#4b8469; --accent-soft:#2c4538; --on-accent:#fffdf7;
    --gold:#ddc18b; --gold-soft:#3d3b2c; --line:#3d5045; --danger:#f0aaa0; --danger-soft:#482f2c; --info:#a1c6d8;
    --ambient:#65836b24; --shadow:0 8px 26px #00000020; --dialog-shadow:0 24px 80px #0009; color-scheme:dark;
}
/* Body overrides on individual games must not mask the chosen theme. */
html[data-theme] body {
    --bg:inherit; --surface:inherit; --surface-raised:inherit; --paper:inherit; --muted:inherit;
    --mint:inherit; --accent:inherit; --gold:inherit; --line:inherit;
    background:radial-gradient(ellipse at 80% 0,var(--ambient),transparent 55%),var(--bg)!important;
    color:var(--paper)!important; font:var(--font-body)/1.7 var(--font-ui)!important;
}
html[data-theme] :is(.hero h1,.page-intro h1,.chess-intro h1) { font:500 clamp(28px,3.5vw,44px)/1.45 var(--font-display)!important; letter-spacing:1px!important; color:var(--paper)!important; }
html[data-theme] :is(.hero,.page-intro,.chess-intro) { padding:16px 0 24px!important; margin-bottom:24px!important; min-height:0; }
html[data-theme] :is(.hero p,.page-intro p,.chess-intro p) { margin-top:10px!important; color:var(--muted)!important; line-height:1.9; }
html[data-theme] .eyebrow { color:var(--gold); letter-spacing:1.8px; line-height:1.7; }
html[data-theme] :is(.panel,.ai-settings,.ai-table,#gameArea,.play-panel,.international-table) { background:var(--surface)!important; border:1px solid var(--line)!important; border-radius:var(--radius)!important; box-shadow:var(--shadow)!important; color:var(--paper)!important; }
html[data-theme] :is(.roomItem,.infoBlock,.catalog-card,.gameItem,.forbidPanel) { background:var(--surface)!important; color:var(--paper)!important; border:1px solid var(--line)!important; border-radius:var(--radius)!important; box-shadow:var(--shadow)!important; }
html[data-theme] :is(dialog,.identity-gate,.ztx-modal) { background:var(--surface)!important; color:var(--paper)!important; border:1px solid var(--line)!important; border-radius:18px!important; box-shadow:var(--dialog-shadow)!important; }
html[data-theme] :is(input:not([type=checkbox]),select,select option) { background:var(--surface-raised)!important; color:var(--paper)!important; border:1px solid var(--line)!important; border-radius:var(--radius-small)!important; min-width:0; }
html[data-theme] input::placeholder { color:var(--muted); opacity:1; }
html[data-theme] input[type=checkbox] { accent-color:var(--accent); }
html[data-theme] :is(input,select):focus { border-color:var(--mint)!important; box-shadow:none; }
html[data-theme] :is(.muted,.smallText,.roomMeta,.board-help,.board-caption,.room-empty p,.catalog-copy p,.statsLine,.guestNotice,.hint,.ruleNote,.lobby-features,.star-label,#playersInfo,#turnInfo,#sideInfo,#movesList) { color:var(--muted)!important; }
html[data-theme] :is(.badge,.pill,.seat,.chess-seat,.draw-request,#userCard,.statsBlock,.guestNotice,.mode-tabs,.piece-legend>div) { background:var(--surface-raised)!important; color:var(--paper)!important; border-color:var(--line)!important; border-radius:var(--radius-small)!important; }
html[data-theme] :is(.seat.active,.chess-seat.active) { background:var(--accent-soft)!important; border:1px solid var(--mint)!important; }
html[data-theme] :is(.seat.active .seat-state,#identityText,.statsBlockTitle,#roomStatusLine,.infoBlock strong) { color:var(--mint)!important; }
html[data-theme] :is(.btn-gray,.btn-blue,.btn-red,.btn-green,.btn-purple,.btn-yellow,.btn-gold) { border:1px solid var(--line)!important; border-radius:var(--radius-small)!important; min-height:44px; font:600 13px/1.5 var(--font-ui)!important; transition:transform .15s,background .15s,box-shadow .15s!important; }
html[data-theme] .btn-gray { background:var(--surface-raised)!important; color:var(--paper)!important; }
html[data-theme] :is(.btn-green,.btn-purple,.btn-blue) { background:var(--accent)!important; color:var(--on-accent)!important; border-color:var(--accent)!important; }
html[data-theme] .btn-red { background:var(--danger-soft)!important; color:var(--danger)!important; border-color:var(--danger)!important; }
html[data-theme] :is(.btn-yellow,.btn-gold) { background:var(--gold-soft)!important; color:var(--gold)!important; }
html[data-theme] :is(.btn-green,.btn-purple,.btn-blue):hover:not(:disabled) { background:var(--accent-hover)!important; }
html[data-theme] :is(.btn-gray,.btn-red,.btn-yellow,.btn-gold):hover:not(:disabled) { box-shadow:inset 0 0 0 1px currentColor!important; }
html[data-theme] :is(.btn-gray,.btn-blue,.btn-red,.btn-green,.btn-purple,.btn-yellow,.btn-gold):disabled { opacity:.5; cursor:default; }
html[data-theme] button:active:not(:disabled) { transform:translateY(1px); }
html[data-theme] :focus-visible { outline:3px solid var(--info)!important; outline-offset:3px; }
html[data-theme] :is(.site-header,.topInner) { padding-top:16px!important; padding-bottom:16px!important; }
html[data-theme] .site-header { border-color:var(--line); }
html[data-theme] .site-brand { color:var(--paper)!important; letter-spacing:.5px; }
html[data-theme] .site-brand .brand-mark { display:block; width:36px; height:36px; flex:0 0 36px; padding:0; }
html[data-theme] .site-nav { align-items:center; }
html[data-theme] .site-nav a { color:var(--muted)!important; border-radius:var(--radius-small); }
html[data-theme] .site-nav a[aria-current=page] { background:var(--accent-soft); color:var(--mint)!important; border-color:var(--line); }
html[data-theme] :is(.topLink,.text-link) { color:var(--mint)!important; }
html[data-theme] .site-footer { color:var(--muted)!important; }
html[data-theme] .home-tabs a { background:var(--surface); color:var(--paper); border-color:var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
html[data-theme] .home-tabs a[aria-current=page] { background:var(--accent-soft)!important; color:var(--paper)!important; border-color:var(--mint); box-shadow:inset 3px 0 var(--mint); }
html[data-theme] .home-tabs a:hover { border-color:var(--mint); }
html[data-theme] .catalog-card { overflow:hidden; }
html[data-theme] .catalog-card .catalog-art { width:100%; height:auto!important; min-height:0!important; aspect-ratio:24/13; background-size:cover!important; background-position:center!important; }
html[data-theme] .catalog-card:hover { border-color:var(--mint)!important; }
html[data-theme] .catalog-copy h3 { font:500 27px/1.45 var(--font-display); color:var(--paper); }
html[data-theme] .catalog-copy .eyebrow { color:var(--mint)!important; letter-spacing:.6px; }
html[data-theme] .catalog-copy .button-link { background:var(--accent-soft)!important; color:var(--mint)!important; border-color:var(--line)!important; }
html[data-theme] .catalog-copy .button-link:hover { background:var(--accent)!important; color:var(--on-accent)!important; border-color:var(--accent)!important; }
html[data-theme] :is(.ranking-tabs,.ranking-filters,.mode-tabs,.room-tools) button[aria-pressed=true] { background:var(--accent-soft)!important; color:var(--mint)!important; border-color:var(--mint)!important; }
html[data-theme] :is(.ranking-emblem,.empty-symbol) { color:var(--gold); border-color:var(--line); }
html[data-theme] .leaderboard td { border-color:var(--line); }
html[data-theme] .leaderboard td:first-child { color:var(--muted); }
html[data-theme] .leaderboard tr:nth-child(-n+3) td:first-child,html[data-theme] .leaderboard td:nth-child(3) { color:var(--gold); }
html[data-theme] .leaderboard tr:first-child { background:transparent; }
html[data-theme] .leaderboard tbody tr:first-child { background:var(--accent-soft); }
html[data-theme] .dice-sheet button:not(:disabled) { color:var(--mint)!important; border-color:var(--mint)!important; }
html[data-theme] :is(.bluff-center,.empty-crown) { background:var(--accent-soft); border-color:var(--line); }
html[data-theme] .forbidPanel .custom-checkbox { background:var(--surface-raised)!important; border-color:var(--line); }
html[data-theme] .forbidPanel .custom-checkbox:has(input:checked) { background:var(--accent-soft)!important; border-color:var(--mint); }
html[data-theme] .forbidPanel .checkmark { background:var(--surface)!important; border-color:var(--line); }
html[data-theme] .forbidPanel .custom-checkbox input:checked+.checkmark { background:var(--accent)!important; border-color:var(--accent); }
html[data-theme] .forbidPanel { padding:14px; margin-top:0; box-shadow:none!important; }
html[data-theme] .forbidTitle { display:grid; gap:6px; margin-bottom:12px; }
html[data-theme] .forbidTitle .custom-checkbox { background:transparent!important; border:0; padding:0; font-size:14px; font-weight:600; }
.forbid-hint { color:var(--muted); font-size:11px; line-height:1.6; }
html[data-theme] .forbidCheckboxGroup { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px!important; }
html[data-theme] .forbidPanel .custom-checkbox { min-width:0; padding:8px 3px; gap:3px; justify-content:center; color:var(--paper); border-radius:var(--radius-small); font-size:12px; }
html[data-theme] .forbidCheckboxGroup .checkmark { width:14px; height:14px; }
.forbidCheckboxGroup .custom-checkbox>span:last-child { white-space:nowrap; }
html[data-theme] .forbidTitle .custom-checkbox { justify-content:flex-start; }
html[data-theme] .forbidPanel .custom-checkbox input { display:block; position:absolute; width:1px; height:1px; opacity:0; }
html[data-theme] .forbidPanel .custom-checkbox:has(input:focus-visible) { outline:2px solid var(--info); outline-offset:3px; }
html[data-theme] .forbidPanel .custom-checkbox input:checked+.checkmark::after { color:var(--on-accent)!important; }
html[data-theme] .forbidPanel .custom-checkbox.disabled { opacity:.65; }
.forbid-help summary { cursor:pointer; color:var(--muted); margin-bottom:6px; }
#forbidWarning { visibility:hidden; }#forbidWarning.show { visibility:visible; }
html[data-theme] #appContent { grid-template-columns:285px minmax(0,1fr)!important; gap:20px!important; }
html[data-theme] :is(#gameArea,#lobbyEmpty) { min-height:320px!important; }
html[data-theme] #boardWrap { padding:10px 6px!important; }
html[data-theme] :is(#boardCanvas,#gomokuCanvas) { width:auto!important; max-width:100%!important; max-height:60vh; aspect-ratio:auto; }
html[data-theme] #roomHeader { gap:12px; flex-wrap:wrap; }
html[data-theme] :is(#roomTitle,.table-header h2,.panel h2) { font-size:var(--font-title)!important; color:var(--paper)!important; }
html[data-theme] :is(.room-empty h2,#lobbyEmpty h2) { font:500 26px/1.5 var(--font-display)!important; }
html[data-theme] :is(#authMessage,#gameMessage,#notice) { color:var(--paper)!important; min-height:24px; }
html[data-theme] [data-feedback=error] { color:var(--danger)!important; }
html[data-theme] [data-feedback=success] { color:var(--mint)!important; }
.room-tools { padding:8px 0 12px; margin-bottom:12px; border-bottom:1px solid var(--line); }
.room-progress { color:var(--mint); margin:0 0 4px; font-weight:600; }
.room-players { color:var(--muted); margin:0 0 8px; overflow-wrap:anywhere; }
.room-clock { min-width:145px; font-variant-numeric:tabular-nums; color:var(--muted); }
.room-clock[data-urgent=true] { color:var(--danger); font-weight:600; }
.theme-switch { width:auto; flex-shrink:0; white-space:nowrap; }
.room-tools .action-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.room-tools .action-row button { width:auto!important; flex:0 0 auto; white-space:nowrap; padding:8px 12px!important; }
html[data-theme] #onlineActions>.action-row { margin-bottom:12px; }
[aria-busy=true] { cursor:progress; }
@media(max-width:900px) {
    html[data-theme] :is(#appContent,.table-layout,.international-layout,.ai-layout) { display:flex!important; flex-direction:column; gap:16px!important; }
    html[data-theme] #appContent { width:calc(100% - 24px)!important; }
    html[data-theme] :is(.table-layout,.international-layout,.ai-layout) { width:100%!important; }
    html[data-theme] :is(#appContent>.panel,.table-layout>*,.international-layout>*,.ai-layout>*) { width:100%!important; min-width:0; }
    html[data-theme] body.in-room :is(#gameArea,.play-panel,.international-table) { order:-1; }
    html[data-theme] body.solo-game :is(.ai-table,.play-panel,.international-table) { order:-1; }
    .mobile-game-actions { margin:0 0 16px; }
    .mobile-game-actions button { flex:1 1 90px; width:auto; padding:8px!important; }
    .solo-game :is(.ai-settings,.chess-controls,.table-controls) .action-row:empty { display:none; }
    html[data-theme] .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
    html[data-theme] .site-nav { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:6px; }
    html[data-theme] .site-nav a { text-align:center; min-height:40px; padding:8px; }
    html[data-theme] .header-actions { grid-column:2; grid-row:1; }
    html[data-theme] :is(.badgeGroup,.table-header,.action-row) { flex-wrap:wrap; }
    html[data-theme] .topInner { gap:8px; }
    html[data-theme] .badge { padding:4px 8px!important; }
    html[data-theme] :is(#appContent>.panel,.international-table,.play-panel) { padding:16px!important; }
    html[data-theme] :is(.chess-intro,.page-intro) { padding:8px 0 18px!important; }
    html[data-theme] :is(.seat,.chess-seat) { padding:8px 10px!important; min-height:44px!important; }
    html[data-theme] #roomActions { gap:6px; }
    html[data-theme] .chess-frame { max-width:520px; margin-inline:auto; }
    html[data-theme] .room-empty { min-height:220px!important; padding:24px 12px!important; }
}
@media(max-width:540px) {
    html[data-theme] .site-brand { font-size:16px; gap:8px; }
    html[data-theme] :is(.site-header,.site-footer,.wrap,.ai-shell,.chess-intro) { width:calc(100% - 24px)!important; }
    html[data-theme] :is(.hero h1,.page-intro h1,.chess-intro h1) { font-size:28px!important; letter-spacing:.5px!important; }
    html[data-theme] :is(.hero p,.page-intro p,.chess-intro p) { font-size:13px; }
    html[data-theme] :is(.hero,.page-intro) { padding-right:0!important; }
    html[data-theme] :is(.hero,.page-intro)::after { display:none; }
    html[data-theme] .intro-seal { display:none; }
    html[data-theme] .home-tabs a { font-size:15px; padding:14px 8px; }
    html[data-theme] .catalog-copy h3 { font-size:25px; }
    html[data-theme] .lobby-features { flex-wrap:wrap; justify-content:center; gap:12px; }
    html[data-theme] .ranking-footer { flex-wrap:wrap; }
}
@media(max-width:380px) { .header-actions .account-link>span:last-child { display:none; } }
@media(prefers-reduced-motion:reduce) { html[data-theme] * { scroll-behavior:auto!important; transition:none!important; } }

.header-actions { display:flex; align-items:center; gap:12px; }
.account-link { display:flex; align-items:center; gap:8px; color:var(--paper); font-size:13px; font-weight:600; text-decoration:none; min-height:44px; }
.account-avatar { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border-radius:50%; overflow:hidden; background:var(--accent-soft); color:var(--mint); border:1px solid var(--line); }
.account-avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.account-avatar.large { width:80px; height:80px; flex-basis:80px; font-size:32px; }
.home-account { display:none; }
.account-dialog { width:min(440px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; padding:26px; }
.account-dialog-heading { display:flex; gap:16px; justify-content:space-between; align-items:center; }
.account-dialog-heading h2 { margin:0; }
.account-dialog label { display:block; margin:16px 0 6px; }
.account-dialog input { margin-top:6px; }
.profile-shell { display:grid; gap:20px; }
.profile-intro { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.profile-intro .action-row { margin-left:auto; }
.profile-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; }
.profile-stat { padding:18px; border:1px solid var(--line); border-radius:var(--radius-small); background:var(--surface-raised); }
.profile-stat h3 { margin:0 0 8px; font-size:16px; }.profile-stat strong { font-size:28px; color:var(--mint); }.profile-stat p { margin-bottom:0; }
#avatarPreview { width:min(100%,340px); margin-top:20px; }
#avatarCrop { display:block; width:min(100%,280px); height:auto; aspect-ratio:1; touch-action:none; cursor:grab; border-radius:12px; }
#avatarCrop:active { cursor:grabbing; }
html[data-theme] input[type=range] { padding:0; accent-color:var(--accent); }
.live-lobby { margin:0 0 30px; }.live-lobby .section-heading { margin-bottom:12px; }
.live-rooms { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:12px; }
.live-rooms .roomItem p { font-size:12px; }.live-rooms .action-row { margin-bottom:0; }
.room-password-field { margin:10px 0; }.room-password-field label { display:block; margin-bottom:6px; font-size:12px; }
.network-status { font-size:12px; color:var(--muted); }.network-status[data-slow=true] { color:var(--gold); }
html[data-theme] .spider-page :is(.site-header,.site-footer,.spider-shell) { width:min(1380px,96vw)!important; }
@media(min-width:901px) { html[data-theme=light] .home-page .hero::before { background-image:url('/art/salon-cover-light.svg?v=1'); } }
/* Tavern cards retain their materials in both site themes. */
.tavern-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:0; margin:0 0 12px; list-style:none; color:#d5c1a1; font-size:11px; text-align:center; }
.tavern-steps li { padding:7px 3px; border:1px solid #aa8b5c44; border-radius:6px; }.tavern-steps .current { color:#fff0c6; background:#8c662755; border-color:#d8b773; }
.tavern-own .playing-card { position:relative; }.tavern-own .playing-card::after { content:attr(data-card-label); position:absolute; left:4px; right:4px; top:40%; text-align:center; font:600 10px/1.4 var(--font-ui); color:#6d604d; }
.tavern-gun-stage { flex:0 0 235px; width:min(100%,560px); padding:18px 8px 12px; margin-top:12px; background:radial-gradient(ellipse,#402d2599,#150f0faa); border:1px solid #d5aa6666; border-radius:12px; color:#f2d7a7; }
.tavern-gun-stage>strong { display:block; font-size:18px; }.tavern-gun-stage svg { width:min(280px,100%); height:130px; overflow:visible; }
.gun-metal { fill:#a8a18e; stroke:#eee2bc; stroke-width:2; }.gun-grip { fill:#77523a; stroke:#b28d61; stroke-width:2; }.gun-sight { fill:#d6cbaa; }.gun-trigger { fill:none; stroke:#d6cbaa; stroke-width:4; }
.gun-cylinder { transform-origin:113px 59px; }.gun-cylinder circle:first-child { fill:#807764; stroke:#e3d6ac; stroke-width:3; }.gun-cylinder circle:not(:first-child) { fill:#211e19; stroke:#bcb092; stroke-width:1; }
.gun-flash { fill:#ffd88a; opacity:0; }.tavern-suspense { height:4px; width:min(220px,85%); margin:12px auto 0; border-radius:4px; background:#e1bd8030; overflow:hidden; opacity:0; }.tavern-suspense span { display:block; height:100%; width:0; background:#e1bd80; }
.shooting .gun-cylinder { animation:tavern-spin 2.2s cubic-bezier(.1,.65,.25,1) forwards; }.shooting .tavern-suspense { opacity:1; }.shooting .tavern-suspense span { animation:tavern-wait 2.2s linear forwards; }.shooting .gun-flash { animation:tavern-flash 2.2s linear forwards; }
.shooting :is(.gun-cylinder,.tavern-suspense span,.gun-flash) { animation-delay:var(--shot-delay,0ms); }
html[data-theme] #controls .tavern-shoot-button { min-height:54px; font-size:16px!important; border-width:2px!important; }
@keyframes tavern-spin { from { transform:rotate(0); } to { transform:rotate(1080deg); } }@keyframes tavern-wait { to { width:100%; } }@keyframes tavern-flash { 0%,88% { opacity:0; } 89%,94% { opacity:1; } 95%,100% { opacity:0; } }
.tavern-table { display:grid; grid-template-rows:130px 42px 535px 66px 180px; align-items:stretch; height:1000px; min-height:1000px; overflow:hidden; padding:20px 16px 8px; border:5px solid #765338; border-radius:30px; background:repeating-linear-gradient(94deg,#ffffff03 0 3px,transparent 3px 22px),linear-gradient(120deg,#38291f,#61412b 50%,#38291f); box-shadow:inset 0 0 0 2px #bd945f55,inset 0 12px 35px #130e0b66; }
.tavern-table > * { min-height:0; min-width:0; }
.tavern-seat { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px 12px; padding:8px 12px; color:#f3e6cf; font-size:12px; }
.tavern-seat strong { font-size:15px; }.tavern-seat small { width:100%; text-align:center; color:#d5c1a1; font-size:11px; }
.tavern-seat.active strong::before { content:'● '; color:#f4d68a; }
.tavern-cylinder { display:flex; gap:4px; }.tavern-cylinder span { display:grid; place-items:center; width:18px; height:18px; border:1px solid #c5ab80; border-radius:50%; background:#1d1b18; color:#ead7b4; font-size:14px; }.tavern-cylinder .spent { background:#74624b; color:#f3e6cf; }
.tavern-opponent .card-backs { margin:8px 0 12px; height:52px; }.tavern-opponent .card-backs .playing-card { width:35px; height:48px; }
.tavern-opponent { overflow:hidden; }
html[data-theme] .tavern-felt { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; overflow:hidden; height:560px; background:radial-gradient(ellipse at 50% 20%,#36554a,#1b382e)!important; border:2px solid #c09d64!important; border-radius:45% / 18%; padding:20px 16px; margin:0 0 14px; box-shadow:inset 0 0 0 5px #10271f55,0 6px 14px #140e0a44; }
.tavern-target { display:grid; justify-items:center; gap:4px; color:#e8d5b2; font-size:12px; }
.tavern-target strong { display:grid; place-items:center; width:54px; height:66px; margin:3px 0; border:1px solid #c9b38a; border-radius:6px; color:#26382d; background:#f3e6ca; box-shadow:0 3px 0 #a79572; font:700 38px/1 Georgia,serif; }
html[data-theme] .tavern-felt h3 { color:#f7e7c8; font:600 18px/1.6 var(--font-ui); margin:14px 0 6px; }
html[data-theme] .tavern-felt p { color:#d8d6bd; font-size:12px; margin:8px 0; }
.tavern-pile { display:flex; justify-content:center; gap:5px; }.tavern-pile .playing-card { width:32px; height:44px; min-height:0; }
.tavern-instruction { color:#f8e8c6; text-align:center; margin:12px 0 6px; padding:10px; background:#1b171380; border:1px solid #bd945f44; border-radius:8px; font-size:13px; line-height:1.8; }
.tavern-hand-label { color:#ead8b7; font-size:12px; text-align:center; margin:8px 0 0; }
.tavern-own { overflow:hidden; }.tavern-own .bluff-hand { border:0; padding:18px 4px 14px; overflow:hidden; max-height:none; gap:12px; }
.tavern-own .playing-card { width:62px; height:90px; cursor:pointer; }.tavern-own .playing-card.selected { transform:translateY(-9px); outline:3px solid #f3ca72!important; outline-offset:2px; }
body[data-table-game=bluff] #controls { justify-content:center; gap:12px; min-height:60px; align-content:flex-start; }body[data-table-game=bluff] #controls button { flex:1; max-width:320px; }
@media(max-width:540px) { .tavern-table { grid-template-rows:125px 40px 460px 70px 150px; height:880px; min-height:880px; padding:10px 8px 4px; border-width:3px; border-radius:20px; }.tavern-own .playing-card { width:40px; height:63px; font-size:17px!important; padding:5px!important; }.tavern-own .bluff-hand { gap:8px; }.tavern-seat { gap:6px 8px; padding:6px 0; }.tavern-cylinder { gap:3px; }.tavern-cylinder span { width:15px; height:15px; }html[data-theme] .tavern-felt { height:460px; padding:14px 9px; }.tavern-gun-stage { flex-basis:215px; }.tavern-instruction { font-size:12px; }body[data-table-game=bluff] #controls { gap:8px; height:106px; min-height:106px; }body[data-table-game=bluff] #controls button { flex-basis:100%; max-width:none; } }
@media(max-width:540px) {
    .header-actions { gap:6px; }.account-link { font-size:12px; gap:5px; }.account-link .account-avatar { width:26px; height:26px; flex-basis:26px; }
    html[data-theme] .header-actions .theme-switch { padding:8px; font-size:11px!important; }
    html[data-theme] .site-brand { font-size:14px; }
    .live-rooms { grid-template-columns:1fr; }.profile-intro .action-row { width:100%; margin-left:0; }
    html[data-theme] .spider-page :is(.site-header,.site-footer,.spider-shell) { width:calc(100% - 24px)!important; }
}
