:root { --ink:#172033; --muted:#62708a; --paper:#f7f8fc; --card:#fff; --accent:#6956e9; --accent-dark:#4e3dc6; --line:#dde2ee; --danger:#9f2436; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.55 Inter,ui-sans-serif,system-ui,sans-serif; overflow-x:hidden; }
a { color:var(--accent); }
.site-header,.site-footer { max-width:1120px; margin:auto; padding:20px 28px; display:flex; align-items:center; justify-content:space-between; }
.site-header nav a { margin-left:20px; }.brand { font-weight:800; color:var(--ink); text-decoration:none; letter-spacing:-.04em; }.site-footer { color:var(--muted); font-size:.9rem; }
.hero,.page-shell,.feature-grid { max-width:1120px; margin:auto; padding:72px 28px; }.hero { min-height:0; padding-bottom:20px; background:radial-gradient(circle at 75% 25%,#e5e0ff 0,transparent 30%); }
h1 { font-size:clamp(2.5rem,6vw,5rem); line-height:1.02; max-width:800px; letter-spacing:-.06em; margin:.2em 0; }.page-shell h1 { font-size:clamp(2.2rem,5vw,3.8rem); }h2 { letter-spacing:-.03em; }.lead { max-width:680px; color:var(--muted); font-size:1.18rem; }
.eyebrow,.game-badge,.tag { font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border:0; border-radius:10px; padding:12px 17px; margin:10px 8px 0 0; font:inherit; font-weight:750; text-align:center; text-decoration:none; cursor:pointer; }.button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #b8afff; outline-offset:2px; }.button-primary { background:var(--accent); color:#fff; }.button-primary:hover { background:var(--accent-dark); }.button-secondary { background:#ece9ff; color:#3c2fa5; }.button:disabled { opacity:.45; cursor:not-allowed; }
.feature-grid,.game-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding:0 28px 72px; }.game-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:32px 0; }.panel,.game-card { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:0 10px 30px #202d5010; }.game-actions { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
label { display:block; margin:10px 0 5px; font-weight:650; }input,select { display:block; width:100%; min-height:46px; border:1px solid #bbc4d8; border-radius:9px; padding:10px; font:inherit; background:white; }.notice { background:#eef0f8; padding:12px; border-radius:10px; }.notice-error { color:var(--danger); background:#fff0f2; }.player-list { padding-left:20px; }.muted,.phase { color:var(--muted); }.phase { text-transform:capitalize; }.secret { margin:20px 0; padding:16px; border-radius:12px; background:#fff7d6; }
.category-panel { margin:22px 0; padding:18px; border:1px solid var(--line); border-radius:12px; background:#fafbff; }.category-panel h2 { margin-top:0; }.category-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.category-option { display:flex; align-items:center; gap:9px; margin:0; padding:13px; border:1px solid #cbd4e6; border-radius:10px; background:#fff; cursor:pointer; font-weight:650; }.category-option:hover { border-color:var(--accent); background:#f7f5ff; }.category-option:has(input:checked) { border-color:var(--accent); background:#eeeaff; box-shadow:inset 0 0 0 1px var(--accent); }.category-option input { display:inline-block; width:auto; margin:0; }
.vote-list { display:flex; flex-wrap:wrap; }.result { padding:20px; margin-top:25px; background:#e5e0ff; border-radius:14px; }.result-list { list-style:none; padding:0; margin:12px 0; }.result-list li { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #cfc8f7; }.result-list span { color:#4c438c; }.back-link { font-weight:700; text-decoration:none; }.text-button { border:0; background:none; color:var(--accent); font-weight:700; cursor:pointer; }
.kraut-room .eyebrow { color:#547a31; }.plot-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.plot-button { min-height:72px; padding:10px; border:1px solid #a6c88c; border-radius:12px; background:#eff8e8; color:#284416; font:inherit; font-weight:700; cursor:pointer; }.plot-button small { display:block; margin-top:3px; color:#547a31; }.plot-button:hover { background:#dff0d1; }.card-row { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 18px; }.kraut-card { display:inline-flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:58px; padding:9px 11px; border:2px solid #547a31; border-radius:10px; background:linear-gradient(145deg,#f4ffd7,#c7ea99); color:#24430f; font-weight:800; box-shadow:0 3px 0 #90b872; }.kraut-card small { margin-top:2px; color:#547a31; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; }.offer-list { padding-left:20px; }.offer-list li { margin:10px 0; }.offer-list .kraut-card { display:inline-flex; min-height:40px; margin:2px; vertical-align:middle; }.offer-choice { display:grid; gap:7px; }.offer-choice label { padding:8px; margin:0; border:1px solid var(--line); border-radius:8px; }.offer-choice input { display:inline-block; width:auto; min-height:auto; margin-right:6px; }.settle-card { margin:12px 0; padding:12px; border:1px solid var(--line); border-radius:12px; }.settle-card .kraut-card { margin-bottom:9px; }
.round-fields { margin-top:28px; }.player-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.player-field-card { padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; }.player-field-card.is-active { border-color:#547a31; box-shadow:inset 0 0 0 1px #547a31; }.player-field-card h3 { margin:0; font-size:1rem; }.player-field-card p { margin:4px 0 10px; color:var(--muted); }.active-turn { display:inline-block; margin-left:5px; color:#547a31; font-size:.76rem; font-weight:800; text-transform:uppercase; }.public-plot-grid { display:grid; gap:7px; }.public-plot { min-height:48px; padding:8px; border-radius:8px; background:#eff8e8; color:#284416; }.public-plot small { display:block; margin-top:2px; color:#547a31; font-size:.73rem; }.public-plot-empty { display:flex; align-items:center; color:var(--muted); background:#f2f4f8; }
.brand { display:flex; align-items:center; gap:9px; }.brand-mark { display:inline-grid; place-items:center; min-width:38px; height:30px; border-radius:9px; background:var(--accent); color:#fff; font-size:.82rem; letter-spacing:-.12em; }.services { max-width:1120px; margin:auto; padding:20px 28px 72px; }.services > h2 { font-size:clamp(1.8rem,4vw,2.8rem); margin-top:0; }.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.service-card { min-height:250px; display:flex; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--card); box-shadow:0 10px 30px #202d5010; }.service-card h3 { margin:12px 0 4px; font-size:1.35rem; letter-spacing:-.03em; }.service-card p { margin-top:0; color:var(--muted); }.service-card .button { margin-top:auto; }.service-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:14px; font-size:1.7rem; background:#eeeaff; }.service-minecraft .service-icon { background:#ddf0d5; }.service-teamspeak .service-icon { background:#d9efff; }.mc-address { display:block; margin:4px 0 2px; padding:7px 9px; border-radius:7px; background:#f0f2f8; color:#313b50; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.86rem; }
@media (max-width:700px) { .site-header { min-height:64px; padding:14px max(20px,env(safe-area-inset-right)) 14px max(20px,env(safe-area-inset-left)); }.site-footer { padding:20px max(20px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); }.hero,.page-shell,.services { padding:clamp(32px,8vw,46px) max(20px,env(safe-area-inset-right)) clamp(42px,10vw,60px) max(20px,env(safe-area-inset-left)); }.hero { min-height:auto; }.feature-grid,.game-grid,.category-options,.service-grid,.player-field-grid { grid-template-columns:1fr; }.feature-grid,.game-grid { padding:0 max(20px,env(safe-area-inset-right)) 42px max(20px,env(safe-area-inset-left)); }.category-options { padding:0; }.game-actions { grid-template-columns:1fr; }.button { width:100%; min-height:50px; margin:10px 0 0; }.service-card .button { width:100%; }.lobby-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }.lobby-meta .text-button { min-height:44px; padding:8px; }.game-room .panel,.game-room #room-content { padding:18px; }.game-room .player-list { margin-bottom:20px; }.vote-list { display:grid; grid-template-columns:1fr; gap:8px; }.vote-list .button { margin:0; }.plot-grid { grid-template-columns:1fr; }.result-list li { align-items:flex-start; flex-direction:column; gap:2px; }h1 { letter-spacing:-.045em; }.mc-address { width:100%; overflow-wrap:anywhere; }.category-option { min-height:54px; }.back-link { display:inline-block; min-height:44px; padding-top:8px; } }
.selectable-card { appearance:none; padding:0; border:0; border-radius:12px; background:transparent; cursor:pointer; text-align:left; }.selectable-card .kraut-card { min-height:70px; }.selectable-card.is-selected .kraut-card { border-color:#2d5e11; background:linear-gradient(145deg,#d9ffc1,#9ad46f); box-shadow:0 0 0 4px #6fae44aa,0 3px 0 #527f36; }.selectable-card:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }.offer-summary { margin-top:14px; padding:14px; border:1px solid #a6c88c; border-radius:12px; background:#f6ffef; }.offer-summary p { margin:7px 0; }.offer-summary .kraut-card { display:inline-flex; min-height:40px; margin:2px; vertical-align:middle; }
.kraut-status { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:16px 0; }.kraut-status span { padding:8px; border-radius:9px; background:#eef8e7; color:#547a31; font-size:.8rem; text-align:center; }.kraut-status strong { display:block; color:#284416; font-size:1rem; }.action-panel { margin:18px 0 24px; padding:16px; border:1px solid #a6c88c; border-radius:14px; background:#fbfff7; }.action-panel h2 { margin-top:0; }.own-fields { margin:22px 0; }.game-details { margin:14px 0; border:1px solid var(--line); border-radius:12px; background:#fff; }.game-details summary { min-height:52px; display:flex; align-items:center; padding:12px 14px; cursor:pointer; font-weight:800; }.game-details > :not(summary) { margin-left:14px; margin-right:14px; }.game-details .player-field-grid { padding-bottom:14px; }.game-details .card-row { margin-bottom:14px; }
.compact-hand { margin:20px 0; }.compact-hand h2 { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:8px; }.compact-hand h2 span { color:var(--muted); font-size:.8rem; font-weight:700; letter-spacing:0; }.compact-hand .card-row { flex-wrap:nowrap; overflow-x:auto; padding:4px 2px 10px; margin:0; scrollbar-width:thin; }.compact-hand .kraut-card { min-height:48px; padding:7px 9px; border-width:1px; box-shadow:0 2px 0 #90b872; white-space:nowrap; }.compact-hand .kraut-card small { font-size:.64rem; }.compact-hand .selectable-card .kraut-card { min-height:54px; }
.market-hand { margin:14px 0; }.market-hand h3 { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0 0 6px; font-size:1rem; }.market-hand h3 span { color:var(--muted); font-size:.8rem; }
.plot-zone { min-height:112px; padding:11px; border:1px solid #a6c88c; border-radius:12px; background:#eff8e8; color:#284416; }.plot-zone-info { font-weight:800; }.plot-zone-info small { display:block; margin-top:3px; color:#547a31; font-weight:700; }.plot-zone-actions { display:flex; gap:7px; flex-wrap:wrap; }.plot-zone-actions .button { flex:1 1 120px; min-height:40px; margin:10px 0 0; padding:8px 10px; font-size:.88rem; }
.rarity-common { --rarity:#6e9e6b; --rarity-soft:#eff8e8; }.rarity-uncommon { --rarity:#4285c5; --rarity-soft:#e8f3ff; }.rarity-rare { --rarity:#8064c9; --rarity-soft:#f0ebff; }.rarity-very-rare { --rarity:#c84848; --rarity-soft:#fff0f0; }.rarity-legendary { --rarity:#d69b1f; --rarity-soft:#fff6dc; }.kraut-card.rarity-common,.kraut-card.rarity-uncommon,.kraut-card.rarity-rare,.kraut-card.rarity-very-rare,.kraut-card.rarity-legendary { border-color:var(--rarity); background:linear-gradient(145deg,#fff,var(--rarity-soft)); box-shadow:0 3px 0 var(--rarity); }.kraut-card.rarity-common small,.kraut-card.rarity-uncommon small,.kraut-card.rarity-rare small,.kraut-card.rarity-very-rare small,.kraut-card.rarity-legendary small { color:var(--rarity); }.plot-zone.rarity-common,.plot-zone.rarity-uncommon,.plot-zone.rarity-rare,.plot-zone.rarity-very-rare,.plot-zone.rarity-legendary,.public-plot.rarity-common,.public-plot.rarity-uncommon,.public-plot.rarity-rare,.public-plot.rarity-very-rare,.public-plot.rarity-legendary { border-left:5px solid var(--rarity); background:var(--rarity-soft); }.plot-zone.rarity-common .plot-zone-info small,.plot-zone.rarity-uncommon .plot-zone-info small,.plot-zone.rarity-rare .plot-zone-info small,.plot-zone.rarity-very-rare .plot-zone-info small,.plot-zone.rarity-legendary .plot-zone-info small,.public-plot.rarity-common small,.public-plot.rarity-uncommon small,.public-plot.rarity-rare small,.public-plot.rarity-very-rare small,.public-plot.rarity-legendary small { color:var(--rarity); }
.harvest-progress { display:block; margin-top:5px; color:var(--ink); font-size:.82rem; font-weight:800; }.harvest-levels { margin-top:6px; font-size:.78rem; }.harvest-levels summary { cursor:pointer; color:var(--rarity); font-weight:800; }.harvest-levels span { display:block; padding-top:2px; color:var(--ink); font-weight:650; }
.library-controls { display:grid; gap:12px; margin:28px 0 18px; }.library-filters { display:flex; flex-wrap:wrap; gap:8px; }.library-filters button { min-height:38px; border:1px solid var(--line); border-radius:999px; padding:7px 13px; background:#fff; color:var(--muted); font:inherit; font-weight:750; cursor:pointer; }.library-filters button.is-active { border-color:var(--accent); background:#eeeaff; color:var(--accent-dark); }.library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.library-card { display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:0 8px 24px #202d5010; }.library-card[hidden] { display:none; }.library-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:13px; background:#eeeaff; color:var(--accent); font-size:1.5rem; font-weight:900; }.library-icon-kraut { background:#e5f5d9; color:#547a31; }.library-card-content h2 { margin:2px 0 5px; font-size:1.2rem; }.library-card-content p { margin:0; color:var(--muted); }.library-card .button { grid-column:2; justify-self:start; margin:0; }.game-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }.game-meta span { padding:4px 8px; border-radius:999px; background:#f0f2f8; color:var(--muted); font-size:.76rem; font-weight:700; }.game-start { max-width:760px; }.game-start-meta { margin:14px 0 24px; }.game-start-actions { display:grid; gap:8px; }.game-start-actions h2 { margin:4px 0 0; }.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; }
.quick-join { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,1.2fr); gap:18px; align-items:end; margin:26px 0; }.quick-join h2 { margin:0 0 5px; }.quick-join p { margin:0; color:var(--muted); }.quick-join form { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:end; }.quick-field label { margin:0 0 3px; font-size:.82rem; }.quick-join input { min-width:0; }.quick-join .button { margin:0; }
@media (max-width:700px) { .library-grid { grid-template-columns:1fr; }.library-card { grid-template-columns:auto 1fr; padding:16px; }.library-card .button { grid-column:1 / -1; width:100%; }.library-filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:3px; }.library-filters button { flex:0 0 auto; }.game-start-actions .button { width:100%; }.quick-join { grid-template-columns:1fr; }.quick-join form { grid-template-columns:1fr; }.quick-join .button { width:100%; } }
@media (max-width:390px) { body { font-size:15px; }.brand-mark { min-width:34px; height:28px; }.hero,.page-shell,.services { padding-left:max(16px,env(safe-area-inset-left)); padding-right:max(16px,env(safe-area-inset-right)); }.feature-grid,.game-grid { padding-left:max(16px,env(safe-area-inset-left)); padding-right:max(16px,env(safe-area-inset-right)); }.panel,.game-card,.service-card { padding:18px; }.service-card { min-height:0; }.result { padding:16px; } }

.library-create { grid-column:2; display:flex; gap:8px; align-items:center; width:100%; }.library-create input { min-width:0; flex:1; }.library-create .button { white-space:nowrap; }
@media (max-width:700px) { .library-create { grid-column:1 / -1; flex-direction:column; align-items:stretch; }.library-create .button { width:100%; } }

.game-tools { display:flex; flex-wrap:wrap; gap:10px; margin:-6px 0 16px; }.game-dialog { width:min(92vw,520px); max-height:min(82vh,680px); border:0; border-radius:20px; padding:22px; color:var(--ink); background:#fff; box-shadow:0 24px 70px #121c3a55; }.game-dialog::backdrop { background:#10182baa; }.game-dialog-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:14px; }.game-dialog h2 { margin:0; }.game-dialog h3 { margin:20px 0 8px; }.game-dialog p { color:var(--muted); }.rule-list { display:grid; gap:10px; margin:0; padding-left:24px; }.game-qr-code { display:block; width:min(100%,320px); margin:18px auto 0; border:10px solid #fff; border-radius:14px; box-shadow:0 6px 20px #202d5020; }
@media (max-width:700px) { .game-dialog { width:100%; max-width:none; max-height:85vh; margin:auto 0 0; border-radius:20px 20px 0 0; padding:20px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); }.game-dialog-header { position:sticky; top:0; padding-bottom:10px; background:#fff; } }

.theme-toggle { display:grid; place-items:center; width:42px; min-width:42px; height:42px; border:1px solid var(--line); border-radius:12px; background:var(--card); color:var(--ink); font:inherit; font-size:1.2rem; cursor:pointer; }.theme-toggle:hover { border-color:var(--accent); color:var(--accent); }.theme-toggle:focus-visible { outline:3px solid #b8afff; outline-offset:2px; }
:root[data-theme='dark'] { color-scheme:dark; --ink:#edf1ff; --muted:#aab5cd; --paper:#101521; --card:#1a2130; --accent:#a99cff; --accent-dark:#c1b8ff; --line:#313c52; --danger:#ff9ba9; }
:root[data-theme='dark'] .hero { background:radial-gradient(circle at 75% 25%,#292253 0,transparent 34%); }:root[data-theme='dark'] .button-secondary { background:#30285c; color:#e8e4ff; }:root[data-theme='dark'] input,:root[data-theme='dark'] select { border-color:#4a5872; background:#151c29; color:var(--ink); }:root[data-theme='dark'] .notice { background:#222b3d; }:root[data-theme='dark'] .notice-error { background:#3d2029; }:root[data-theme='dark'] .secret { background:#403618; }:root[data-theme='dark'] .category-panel { background:#1c2535; }:root[data-theme='dark'] .category-option { border-color:#46536d; background:#1a2130; }:root[data-theme='dark'] .category-option:hover { background:#272044; }:root[data-theme='dark'] .category-option:has(input:checked) { background:#30285c; }:root[data-theme='dark'] .result { background:#30285c; }:root[data-theme='dark'] .result-list li { border-color:#5d5296; }:root[data-theme='dark'] .result-list span { color:#d0c9ff; }
:root[data-theme='dark'] .service-icon,:root[data-theme='dark'] .library-icon { background:#30285c; }:root[data-theme='dark'] .mc-address,:root[data-theme='dark'] .game-meta span { background:#252e40; color:#c8d2e8; }:root[data-theme='dark'] .library-card,:root[data-theme='dark'] .player-field-card,:root[data-theme='dark'] .game-details,:root[data-theme='dark'] .game-dialog { background:var(--card); }:root[data-theme='dark'] .game-dialog-header { background:var(--card); }:root[data-theme='dark'] .game-dialog::backdrop { background:#050811c9; }
:root[data-theme='dark'] .plot-zone,:root[data-theme='dark'] .public-plot { background:#223521; color:#d9f0ca; }:root[data-theme='dark'] .public-plot-empty { background:#252e40; color:var(--muted); }:root[data-theme='dark'] .action-panel { background:#1a2a1a; }:root[data-theme='dark'] .offer-summary { background:#1b2d1a; }:root[data-theme='dark'] .kraut-status span { background:#223521; color:#b7dd9a; }:root[data-theme='dark'] .kraut-status strong { color:#e2f3d2; }:root[data-theme='dark'] .game-qr-code { border-color:var(--card); }
@media (max-width:700px) { .theme-toggle { width:44px; min-width:44px; height:44px; } }

.brand-logo { display:grid; place-items:center; width:54px; height:54px; flex:0 0 54px; }.brand-logo img { grid-area:1 / 1; width:100%; height:100%; object-fit:contain; }.brand-logo .logo-white { display:none; }:root[data-theme='dark'] .brand-logo .logo-black { display:none; }:root[data-theme='dark'] .brand-logo .logo-white { display:block; }
.brand > span:last-child { display:flex; align-items:center; min-height:54px; font-size:1.18rem; line-height:1; }
@media (max-width:700px) { .brand-logo { width:48px; height:48px; flex-basis:48px; }.brand > span:last-child { min-height:48px; font-size:1.1rem; } }

.dealer-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:16px 0; }.dealer-stats span { padding:9px; border-radius:10px; background:#f0f2f8; color:var(--muted); text-align:center; font-size:.8rem; }.dealer-stats strong { display:block; color:var(--ink); }.dealer-table { display:grid; grid-template-columns:auto minmax(0,1fr); gap:24px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--card); }.dealer-current .dealer-card { width:150px; }.dealer-card { display:block; width:130px; aspect-ratio:5 / 7; object-fit:contain; filter:drop-shadow(0 6px 12px #202d5030); }.rank-guesses { display:flex; flex-wrap:wrap; gap:7px; }.rank-guess { min-width:52px; min-height:44px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); font:inherit; font-weight:800; cursor:pointer; }.rank-guess:hover { border-color:var(--accent); color:var(--accent); }.dealer-last { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:center; margin:20px 0; padding:14px; border-radius:14px; background:#f3f1ff; }.dealer-last h2 { grid-column:1 / -1; margin:0; }.dealer-last .dealer-card { width:86px; }.dealer-score-list { list-style:none; padding:0; margin:10px 0 22px; }.dealer-score-list li { display:flex; justify-content:space-between; padding:9px 11px; border-bottom:1px solid var(--line); }.dealer-score-list .is-dealer { color:var(--accent); font-weight:800; }.dealer-tracker { border:1px solid var(--line); border-radius:12px; background:var(--card); }.dealer-tracker summary { min-height:50px; display:flex; align-items:center; padding:12px; cursor:pointer; font-weight:800; }.rank-tracker { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:12px; }.rank-group { padding:7px; border:1px solid var(--line); border-radius:9px; }.rank-group strong { display:flex; justify-content:space-between; font-size:.84rem; }.rank-group small { color:var(--muted); }.rank-group > div { display:flex; flex-wrap:wrap; gap:2px; margin-top:5px; }.dealer-card-small { width:24%; min-width:14px; aspect-ratio:5 / 7; object-fit:contain; }.rank-group.is-exhausted { border-color:var(--danger); background:#fff3f4; }.rank-group.is-exhausted strong { color:var(--danger); }
@media (max-width:700px) { .dealer-table { grid-template-columns:1fr; gap:14px; text-align:center; }.dealer-current { justify-self:center; }.dealer-current .dealer-card { width:125px; }.rank-guesses { justify-content:center; }.rank-guess { min-width:48px; }.rank-tracker { grid-template-columns:repeat(2,1fr); }.dealer-last { grid-template-columns:1fr; text-align:center; }.dealer-last .dealer-card { justify-self:center; } }
:root[data-theme='dark'] .dealer-stats span { background:#252e40; }:root[data-theme='dark'] .dealer-table,:root[data-theme='dark'] .dealer-tracker { background:var(--card); }:root[data-theme='dark'] .rank-guess { background:#202a3b; }:root[data-theme='dark'] .dealer-last { background:#28214d; }:root[data-theme='dark'] .rank-group.is-exhausted { background:#40252d; }

.dealer-strikes { margin:0 0 18px; }.dealer-strikes h2 { margin:0 0 7px; font-size:1rem; }.dealer-strikes .dealer-score-list { display:flex; flex-wrap:wrap; gap:7px; margin:0; }.dealer-strikes .dealer-score-list li { gap:8px; padding:7px 10px; border:1px solid var(--line); border-radius:9px; background:var(--card); }.dealer-flip { position:relative; width:150px; aspect-ratio:5 / 7; transform-style:preserve-3d; }.dealer-flip-face { position:absolute; inset:0; display:grid; place-items:center; backface-visibility:hidden; }.dealer-flip-front { transform:rotateY(180deg); }.dealer-flip .dealer-card { width:100%; }.dealer-flip.is-revealed { animation:dealer-card-flip .65s ease-out forwards; }.dealer-tracker { margin-top:22px; padding:14px; }.dealer-tracker h2 { margin:0 0 10px; font-size:1rem; }.dealer-tracker h2 span { color:var(--muted); font-size:.84rem; font-weight:600; }
.dealer-strikes .dealer-score-list .is-guesser { border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); }
.rank-guess { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; min-width:62px; min-height:52px; }.rank-guess small { color:var(--muted); font-size:.68rem; font-weight:700; }.rank-guess.remaining-2 { border-color:#d69b1f; }.rank-guess.remaining-2 small { color:#a56d00; }.rank-guess.remaining-1 { border-color:var(--danger); background:#fff4f5; }.rank-guess.remaining-1 small { color:var(--danger); }
.dealer-outcome { display:inline-block; padding:3px 10px; border-radius:999px; font-size:.84em; }.dealer-outcome.is-correct { background:#ddf3df; color:#216c2b; }.dealer-outcome.is-wrong { background:#fff0f2; color:var(--danger); }
.dealer-end { margin:18px 0; padding:clamp(20px,4vw,34px); border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#f2efff,#fff); text-align:center; }.dealer-end > h2 { margin:0; font-size:clamp(2rem,5vw,3.3rem); }.dealer-podium { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:24px 0; text-align:left; }.dealer-podium article { display:grid; gap:3px; min-height:150px; padding:18px; border-radius:15px; }.dealer-podium span { font-size:1.7rem; }.dealer-podium small { font-weight:800; text-transform:uppercase; letter-spacing:.07em; }.dealer-podium strong { font-size:1.25rem; }.dealer-podium p { margin:0; color:var(--muted); }.dealer-end-winner { border:1px solid #d6b440; background:#fff9dc; }.dealer-end-winner small { color:#9b7410; }.dealer-end-loser { border:1px solid #d9a1a9; background:#fff2f3; }.dealer-end-loser small { color:#a24a59; }.dealer-end h3 { margin:26px 0 8px; text-align:left; }.dealer-final-ranking { display:grid; gap:7px; padding:0; margin:0; list-style:none; text-align:left; }.dealer-final-ranking li { display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--card); }.dealer-final-ranking b { color:var(--muted); }.dealer-final-ranking .is-winner { border-color:#d6b440; }.dealer-final-ranking .is-loser { border-color:#d9a1a9; }
@media (max-width:700px) { .dealer-podium { grid-template-columns:1fr; }.dealer-final-ranking li { align-items:flex-start; flex-direction:column; gap:2px; } }
:root[data-theme='dark'] .dealer-end { background:linear-gradient(145deg,#2c2550,#1a2130); }:root[data-theme='dark'] .dealer-end-winner { background:#413819; border-color:#8d761d; }:root[data-theme='dark'] .dealer-end-loser { background:#40252d; border-color:#864553; }
:root[data-theme='dark'] .rank-guess.remaining-1 { background:#40252d; }
:root[data-theme='dark'] .dealer-outcome.is-correct { background:#1f4928; color:#bcebc4; }:root[data-theme='dark'] .dealer-outcome.is-wrong { background:#40252d; color:#ffb4bf; }
@keyframes dealer-card-flip { from { transform:rotateY(0deg); } to { transform:rotateY(180deg); } }
@media (max-width:700px) { .dealer-flip { width:125px; }.dealer-strikes .dealer-score-list { justify-content:center; }.dealer-tracker { padding:11px; } }
