:root {
    color-scheme: dark;
    --cb-bg: #15141a;
    --cb-surface: #201e25;
    --cb-surface-raised: #2b2832;
    --cb-accent: #b8a6ca;
    --cb-accent-strong: #927da9;
    --cb-accent-soft: rgba(184, 166, 202, .14);
    --cb-border: rgba(236, 231, 241, .11);
    --cb-muted: #aaa5b0;
}

body[data-cobblebet-theme="pink"] {
    --cb-bg: #150f17;
    --cb-surface: #211823;
    --cb-surface-raised: #2c202f;
    --cb-accent: #f5a3c7;
    --cb-accent-strong: #e879ad;
    --cb-accent-soft: rgba(245, 163, 199, .14);
    --cb-border: rgba(248, 198, 222, .13);
    --cb-muted: #c4aab9;
}

body[data-cobblebet-theme="cat"] {
    --cb-bg: #12101a;
    --cb-surface: #1c1825;
    --cb-surface-raised: #282133;
    --cb-accent: #c6a7f7;
    --cb-accent-strong: #ab83e8;
    --cb-accent-soft: rgba(198, 167, 247, .14);
    --cb-border: rgba(221, 200, 255, .13);
    --cb-muted: #b9adc9;
    background-image: radial-gradient(ellipse at 88% 5%, rgba(194, 157, 239, .10), transparent 28%),
        radial-gradient(ellipse at 4% 92%, rgba(242, 169, 204, .07), transparent 28%);
}

body[data-cobblebet-theme="viking"] {
    --cb-bg: #111714;
    --cb-surface: #1a211d;
    --cb-surface-raised: #252e28;
    --cb-accent: #d4b16c;
    --cb-accent-strong: #b68d45;
    --cb-accent-soft: rgba(212, 177, 108, .14);
    --cb-border: rgba(224, 213, 183, .12);
    --cb-muted: #b2b4a5;
    background-image: radial-gradient(ellipse at 84% 4%, rgba(112, 139, 111, .11), transparent 30%),
        radial-gradient(ellipse at 4% 96%, rgba(212, 177, 108, .07), transparent 30%);
}

body[data-cobblebet-theme="ember"] {
    --cb-bg: #181311;
    --cb-surface: #241c19;
    --cb-surface-raised: #312521;
    --cb-accent: #e2a16f;
    --cb-accent-strong: #c77d4b;
    --cb-accent-soft: rgba(226, 161, 111, .14);
    --cb-border: rgba(238, 205, 181, .12);
    --cb-muted: #b8aaa2;
    background-image: radial-gradient(ellipse at 84% 4%, rgba(202, 112, 65, .12), transparent 31%),
        radial-gradient(ellipse at 4% 96%, rgba(144, 75, 59, .08), transparent 30%);
}

body[data-cobblebet-theme] {
    background-color: var(--cb-bg) !important;
    color: #f5f5f7;
}

body[data-cobblebet-theme] [class~="bg-slate-950"],
body[data-cobblebet-theme] [class~="bg-slate-900"],
body[data-cobblebet-theme] [class~="bg-[#0b0f1a]"] {
    background-color: var(--cb-bg) !important;
}

body[data-cobblebet-theme] [class~="bg-slate-800"],
body[data-cobblebet-theme] [class~="bg-[#121a2f]"],
body[data-cobblebet-theme] [class~="bg-[#0f1424]"] {
    background-color: var(--cb-surface) !important;
}

body[data-cobblebet-theme] [class~="border-slate-800"],
body[data-cobblebet-theme] [class~="border-white/10"] {
    border-color: var(--cb-border) !important;
}

body[data-cobblebet-theme] [class~="text-emerald-400"],
body[data-cobblebet-theme] [class~="text-emerald-100"] {
    color: var(--cb-accent) !important;
}

body[data-cobblebet-theme] [class~="bg-emerald-600"],
body[data-cobblebet-theme] [class~="bg-emerald-500"] {
    background-color: var(--cb-accent-strong) !important;
}

body[data-cobblebet-theme] [class~="bg-emerald-500/10"],
body[data-cobblebet-theme] [class~="bg-emerald-500/20"] {
    background-color: var(--cb-accent-soft) !important;
}

body[data-cobblebet-theme] [class~="hover:border-emerald-400/40"]:hover,
body[data-cobblebet-theme] [class~="hover:border-emerald-400/50"]:hover,
body[data-cobblebet-theme] [class~="hover:border-emerald-400/60"]:hover,
body[data-cobblebet-theme] [data-game-card]:hover {
    border-color: var(--cb-accent) !important;
}

body[data-cobblebet-theme] [data-game-card]:hover {
    box-shadow: 0 12px 36px var(--cb-accent-soft);
}

body[data-cobblebet-theme] input:focus,
body[data-cobblebet-theme] textarea:focus {
    border-color: var(--cb-accent) !important;
    box-shadow: 0 0 0 3px var(--cb-accent-soft);
}

.theme-accent-text { color: var(--cb-accent) !important; }
.theme-primary,
[data-theme-accent] {
    color: #101319 !important;
    background: var(--cb-accent) !important;
}
.theme-primary:hover,
[data-theme-accent]:hover { background: var(--cb-accent-strong) !important; }

.brand-mark { text-decoration: none; }

.theme-choice { background: rgba(255,255,255,.025); transition: border-color .18s, background .18s, transform .18s; }
.theme-choice:hover { background: rgba(255,255,255,.06); transform: translateY(-1px); }
.theme-choice.is-selected { border-color: var(--cb-accent); background: var(--cb-accent-soft); box-shadow: 0 0 0 1px var(--cb-accent); }
[role="group"][aria-label="Player site theme"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-theme-option="classic"] > span:first-child { background: linear-gradient(100deg, #34d399, #22d3ee); }
[data-theme-option="pink"] > span:first-child { background: linear-gradient(100deg, #f472b6, #fb7185); }
[data-theme-option="cat"] > span:first-child { background: linear-gradient(100deg, #c4b5fd, #f9a8d4); }
[data-theme-option="viking"] > span:first-child { background: linear-gradient(100deg, #71816c, #d4b16c); }
[data-theme-option="ember"] > span:first-child { background: linear-gradient(100deg, #8d4d36, #e2a16f); }

body:not(.site-home) {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background-image: radial-gradient(ellipse at 50% -15%, rgba(52, 211, 153, .075), transparent 42%);
    background-attachment: fixed;
}
body[data-cobblebet-theme="pink"]:not(.site-home) {
    background-image: radial-gradient(ellipse at 50% -15%, rgba(245, 163, 199, .10), transparent 42%);
}
body[data-cobblebet-theme="cat"]:not(.site-home) {
    background-image: radial-gradient(ellipse at 88% 5%, rgba(194, 157, 239, .10), transparent 28%),
        radial-gradient(ellipse at 4% 92%, rgba(242, 169, 204, .07), transparent 28%);
}
body[data-cobblebet-theme="viking"]:not(.site-home) {
    background-image: radial-gradient(ellipse at 84% 4%, rgba(112, 139, 111, .11), transparent 30%),
        radial-gradient(ellipse at 4% 96%, rgba(212, 177, 108, .07), transparent 30%);
}
body[data-cobblebet-theme="ember"]:not(.site-home) {
    background-image: radial-gradient(ellipse at 84% 4%, rgba(202, 112, 65, .12), transparent 31%),
        radial-gradient(ellipse at 4% 96%, rgba(144, 75, 59, .08), transparent 30%);
}

.site-home {
    min-height: 100vh;
    color: #f4f5f7;
    background: #0b0f15;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.home-shell { width: min(1100px, calc(100% - 48px)); margin: 0 auto; }
.home-header { height: 82px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.08); }
.home-brand { color: #f4f5f7; font-size: 1.25rem; font-weight: 750; letter-spacing: -.04em; }
.brand-period { color: #5ce0ad; }
.home-header nav { display: flex; align-items: center; gap: 28px; color: #a8b0bd; font-size: .91rem; }
.home-header nav a, .home-footer a { color: inherit; text-decoration: none; transition: color .16s; }
.home-header nav a:hover, .home-footer a:hover { color: #fff; }
.home-header nav .discord-link { color: #d7d9df; }
.home-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 72px; align-items: center; padding: 92px 0 88px; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: #aab2bf; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: #5ce0ad; box-shadow: 0 0 12px rgba(92,224,173,.65); }
.hero-copy h1 { margin: 22px 0 20px; font-size: clamp(2.8rem, 5vw, 4.35rem); line-height: 1.06; letter-spacing: -.065em; font-weight: 750; }
.hero-copy h1 em { color: #59d9a8; font-style: normal; }
.hero-description { max-width: 500px; color: #a1a9b6; font-size: 1.08rem; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 30px; }
.hero-actions a { text-decoration: none; }
.hero-actions .theme-primary { display: inline-flex; align-items: center; gap: 24px; border-radius: 10px; padding: 13px 17px; font-weight: 650; }
.hero-actions .theme-primary span { font-size: 1.2rem; }
.download-link { color: #c2c8d1; font-size: .93rem; }
.download-link:hover { color: #fff; }
.hero-meta { display: flex; gap: 10px; margin-top: 28px; color: #737d8b; font-size: .78rem; }
.game-preview { padding: 20px; border: 1px solid rgba(255,255,255,.10); border-radius: 16px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); box-shadow: 0 24px 70px rgba(0,0,0,.32); }
.preview-topline, .preview-foot { display: flex; justify-content: space-between; align-items: center; color: #778292; font-size: .68rem; letter-spacing: .11em; }
.online-dot { color: #65d8aa; letter-spacing: .04em; }
.preview-game { display: flex; align-items: center; gap: 14px; margin-top: 12px; padding: 15px 13px; border: 1px solid rgba(255,255,255,.06); border-radius: 11px; background: rgba(8,12,20,.58); }
.preview-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,.07); color: #f3ca8c; font-size: 1.3rem; }
.preview-game span:nth-child(2) { display: flex; flex: 1; flex-direction: column; gap: 4px; }
.preview-game strong { color: #edf0f4; font-size: .91rem; font-weight: 620; }
.preview-game small { color: #8993a1; font-size: .75rem; }
.preview-game b { color: #687383; font-weight: 400; }
.preview-blackjack .preview-icon { color: #96c2ff; }
.preview-roulette .preview-icon { color: #e7a2be; }
.preview-foot { margin-top: 17px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.07); letter-spacing: .03em; }
.home-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 34px; padding: 27px 0 64px; border-top: 1px solid rgba(255,255,255,.08); }
.home-features article { padding-right: 18px; }
.feature-number { color: #62d8aa; font-size: .75rem; letter-spacing: .08em; }
.home-features h2 { margin: 12px 0 8px; color: #e9ebef; font-size: 1rem; font-weight: 650; }
.home-features p { max-width: 300px; color: #9099a7; font-size: .88rem; line-height: 1.65; }
.home-footer { display: flex; align-items: center; justify-content: space-between; padding: 22px 0 30px; border-top: 1px solid rgba(255,255,255,.08); color: #77818f; font-size: .78rem; }
.home-footer .brand-mark { color: #cbd0d8; font-weight: 700; }

@media (max-width: 760px) {
    .home-shell { width: min(100% - 36px, 560px); }
    .home-header { height: 68px; }
    .home-header nav { gap: 14px; font-size: .8rem; }
    .home-hero { grid-template-columns: 1fr; gap: 40px; padding: 68px 0 60px; }
    .hero-copy h1 { font-size: clamp(2.65rem, 11vw, 4rem); }
    .hero-description { font-size: 1rem; }
    .home-features { grid-template-columns: 1fr; gap: 22px; padding-bottom: 38px; }
    .home-features article { padding-right: 0; }
}

@media (max-width: 420px) {
    .home-header nav { gap: 10px; }
    .home-header nav a { font-size: .74rem; }
    .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
    .hero-meta { flex-wrap: wrap; }
    .home-footer { gap: 10px; flex-wrap: wrap; }
}

@media (max-width: 600px) {
    [role="group"][aria-label="Player site theme"] { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Owner settings dashboard */
body.admin-page {
    min-height: 100vh;
    margin: 0;
    color: #edf0f5;
    background: #0c111b;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background-image: radial-gradient(ellipse at 15% -15%, rgba(77, 129, 126, .13), transparent 38%);
}
.admin-page[data-cobblebet-theme="pink"] { background-image: radial-gradient(ellipse at 15% -15%, rgba(245, 163, 199, .14), transparent 38%); }
.admin-page[data-cobblebet-theme="cat"] { background-image: radial-gradient(ellipse at 15% -15%, rgba(194, 157, 239, .16), transparent 38%), radial-gradient(ellipse at 90% 90%, rgba(242, 169, 204, .07), transparent 34%); }
.admin-page[data-cobblebet-theme="viking"] { background-image: radial-gradient(ellipse at 15% -15%, rgba(112, 139, 111, .16), transparent 38%), radial-gradient(ellipse at 90% 90%, rgba(212, 177, 108, .07), transparent 34%); }
.admin-page[data-cobblebet-theme="ember"] { background-image: radial-gradient(ellipse at 15% -15%, rgba(202,112,65,.16), transparent 38%), radial-gradient(ellipse at 90% 90%, rgba(144,75,59,.08), transparent 34%); }
.admin-header { height: 68px; padding: 0 max(28px, calc((100vw - 1160px) / 2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.075); background: rgba(13,18,29,.78); backdrop-filter: blur(16px); }
.admin-brand { display: inline-flex; align-items: center; gap: 10px; color: #f0f2f6; text-decoration: none; font-size: 1.05rem; font-weight: 730; letter-spacing: -.035em; }
.admin-brand-mark, .preview-brand-icon { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: #10151b; background: #62d6a8; font-size: .84rem; font-weight: 850; }
.admin-header-right { display: flex; align-items: center; gap: 22px; }
.admin-owner-label { display: inline-flex; align-items: center; gap: 8px; color: #aab3c0; font-size: .78rem; }
.admin-status-dot, .admin-live-dot { width: 7px; height: 7px; border-radius: 50%; background: #6bd6a4; box-shadow: 0 0 10px rgba(107,214,164,.48); }
.admin-logout { border: 0; padding: 8px 0 8px 12px; color: #c1c8d2; background: none; font: inherit; font-size: .82rem; cursor: pointer; }
.admin-logout:hover { color: #fff; }
.admin-shell { width: min(1160px, calc(100% - 56px)); margin: 0 auto; }
.admin-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; padding: 38px 0 29px; }
.admin-breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 26px; color: #697586; font-size: .76rem; }
.admin-breadcrumb a { color: #a1acba; text-decoration: none; }
.admin-breadcrumb a:hover { color: white; }
.admin-eyebrow { margin: 0 0 9px; color: var(--cb-accent); font-size: .7rem; font-weight: 720; letter-spacing: .16em; }
.admin-intro h1 { margin: 0; color: #f4f5f8; font-size: clamp(2.15rem, 4vw, 2.8rem); line-height: 1.05; letter-spacing: -.06em; font-weight: 730; }
.admin-lede { max-width: 520px; margin: 12px 0 0; color: #9aa5b5; font-size: .94rem; line-height: 1.6; }
.admin-intro-note { display: flex; align-items: flex-start; gap: 12px; max-width: 285px; margin-bottom: 3px; padding: 14px 15px; border: 1px solid rgba(255,255,255,.075); border-radius: 12px; background: rgba(255,255,255,.025); }
.admin-intro-note > span { color: var(--cb-accent); font-size: 1.1rem; }
.admin-intro-note strong, .admin-intro-note small { display: block; }
.admin-intro-note strong { color: #dfe4eb; font-size: .78rem; font-weight: 650; }
.admin-intro-note small { margin-top: 4px; color: #8793a2; font-size: .7rem; line-height: 1.5; }
.admin-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 26px; align-items: start; padding-bottom: 26px; }
.admin-settings { display: grid; gap: 15px; }
.admin-card { padding: 22px 23px 23px; border: 1px solid rgba(255,255,255,.075); border-radius: 15px; background: rgba(19,26,40,.91); box-shadow: 0 10px 32px rgba(0,0,0,.10); }
.admin-section-heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 19px; }
.admin-step { display: grid; place-items: center; flex: 0 0 27px; height: 27px; border-radius: 8px; color: var(--cb-accent); background: var(--cb-accent-soft); font-size: .69rem; font-weight: 750; }
.admin-section-heading h2 { margin: 1px 0 4px; color: #edf0f5; font-size: 1rem; font-weight: 660; letter-spacing: -.02em; }
.admin-section-heading p { margin: 0; color: #8994a4; font-size: .78rem; line-height: 1.5; }
.admin-theme-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.admin-theme-choice { min-width: 0; padding: 9px 9px 10px; border: 1px solid rgba(255,255,255,.085); border-radius: 11px; text-align: left; color: #e9edf3; background: rgba(8,12,20,.40); font: inherit; cursor: pointer; transition: border-color .16s, transform .16s, background .16s; }
.admin-theme-choice:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.045); }
.admin-theme-choice.is-selected { border-color: var(--cb-accent); background: var(--cb-accent-soft); box-shadow: 0 0 0 1px color-mix(in srgb, var(--cb-accent) 30%, transparent); }
.admin-theme-swatch { position: relative; display: flex; align-items: flex-end; gap: 5px; height: 55px; overflow: hidden; margin-bottom: 9px; padding: 8px; border-radius: 7px; }
.admin-theme-swatch::before { position: absolute; inset: 0; content: ""; opacity: .4; background: linear-gradient(135deg, transparent 35%, rgba(255,255,255,.22) 36%, transparent 62%); }
.admin-theme-swatch i { z-index: 1; display: block; width: 23%; height: 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 4px; background: rgba(255,255,255,.15); }
.swatch-classic { background: linear-gradient(125deg,#101b26,#25413e 55%,#183339); }
.swatch-pink { background: linear-gradient(125deg,#211824,#59324c 55%,#40253a); }
.swatch-cat { background-image: linear-gradient(125deg,rgba(29,23,39,.48),rgba(72,47,83,.55)),url('/images/cat-doodles.svg'),linear-gradient(125deg,#221a30,#513d62); background-size: auto,150px,auto; background-position: center,center,center; }
.swatch-viking { background-image: linear-gradient(125deg,rgba(17,23,20,.38),rgba(40,55,43,.46)),url('/images/viking-runes.svg'),linear-gradient(125deg,#17211b,#526249 55%,#765e36); background-size: auto,170px,auto; background-position: center,center,center; }
.swatch-ember { background-image: linear-gradient(125deg,rgba(25,17,15,.38),rgba(62,36,29,.44)),url('/images/ember-sparks.svg'),linear-gradient(125deg,#1b1412,#613929 58%,#a1603c); background-size: auto,145px,auto; background-position: center,center,center; }
.admin-theme-name, .admin-theme-caption { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-theme-name { font-size: .77rem; font-weight: 650; }
.admin-theme-caption { margin-top: 3px; color: #8994a4; font-size: .67rem; }
.admin-field-label { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; color: #cbd2dc; font-size: .77rem; font-weight: 600; }
.admin-field-label span { color: #788495; font-size: .68rem; font-weight: 450; }
.admin-card textarea { display: block; box-sizing: border-box; width: 100%; min-height: 88px; resize: vertical; padding: 12px 13px; border: 1px solid rgba(255,255,255,.095); border-radius: 9px; outline: 0; color: #eef1f6; background: rgba(8,12,20,.52); font: inherit; font-size: .82rem; line-height: 1.55; transition: border-color .16s, box-shadow .16s; }
.admin-card textarea::placeholder { color: #677384; }
.admin-card textarea:focus { border-color: var(--cb-accent) !important; box-shadow: 0 0 0 3px var(--cb-accent-soft); }
.admin-field-footer { display: flex; justify-content: space-between; gap: 10px; margin-top: 7px; color: #768293; font-size: .67rem; }
.admin-field-footer b { color: #aeb8c4; font-weight: 550; }
.admin-game-list { display: grid; gap: 7px; }
.admin-game-row { display: flex; align-items: center; gap: 11px; min-height: 54px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.06); border-radius: 10px; background: rgba(8,12,20,.31); cursor: pointer; transition: border-color .16s, background .16s; }
.admin-game-row:hover { border-color: rgba(255,255,255,.13); background: rgba(255,255,255,.035); }
.admin-game-icon { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 9px; font-size: 1rem; }
.game-logo-mini { overflow: hidden; padding: 0; background: #19181d !important; }
.game-logo-mini img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mines-icon { color: #84ddbb; background: rgba(52,211,153,.12); }
.blackjack-icon { color: #9dc4ff; background: rgba(98,151,224,.13); }
.roulette-icon { color: #f1a7c1; background: rgba(232,121,173,.12); }
.admin-game-copy { display: grid; flex: 1; gap: 3px; }
.admin-game-copy strong { color: #dce2e9; font-size: .77rem; font-weight: 610; }
.admin-game-copy small { color: #808c9b; font-size: .66rem; }
.admin-switch { position: relative; display: block; flex: 0 0 34px; width: 34px; height: 20px; }
.admin-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.admin-switch i { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.11); border-radius: 20px; background: #343b48; transition: background .18s; }
.admin-switch i::after { position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; content: ""; background: #c4cad2; transition: transform .18s, background .18s; }
.admin-switch input:checked + i { border-color: var(--cb-accent-strong); background: var(--cb-accent-strong); }
.admin-switch input:checked + i::after { transform: translateX(14px); background: #fff; }
.admin-switch input:focus-visible + i { outline: 2px solid var(--cb-accent); outline-offset: 3px; }
.admin-footnote { margin: 12px 0 0; color: #798595; font-size: .68rem; line-height: 1.55; }
.admin-save-row { display: flex; align-items: center; gap: 14px; padding: 2px 3px 0; }
.admin-save-button { display: inline-flex; align-items: center; gap: 22px; padding: 11px 14px 11px 16px; border: 0; border-radius: 9px; color: #111820; background: var(--cb-accent); font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; box-shadow: 0 5px 18px var(--cb-accent-soft); transition: background .16s, transform .16s; }
.admin-save-button:hover { transform: translateY(-1px); background: var(--cb-accent-strong); }
.admin-save-button:disabled { opacity: .6; cursor: wait; transform: none; }
.admin-save-button span:last-child { font-size: .95rem; }
.admin-save-status { margin: 0; color: #8390a0; font-size: .72rem; }
.admin-save-status[data-state="success"] { color: #71d7a7; }
.admin-save-status[data-state="error"] { color: #f09aa8; }
.admin-permission-list { display: grid; gap: 7px; }
.admin-permission-list code { color: #aab6c6; font: inherit; font-size: .92em; }
.admin-permission-warning { margin: 12px 0 0; padding: 10px 12px; border: 1px solid rgba(235,177,109,.16); border-radius: 9px; color: #c7ad8d; background: rgba(167,111,46,.08); font-size: .7rem; line-height: 1.55; }
.admin-permission-save { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 13px; margin-top: 14px; }
.admin-permission-save button { min-height: 37px; padding: 0 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; color: #e9edf3; background: rgba(255,255,255,.07); font: inherit; font-size: .73rem; font-weight: 650; cursor: pointer; transition: background .16s, border-color .16s; }
.admin-permission-save button:hover:not(:disabled) { border-color: var(--cb-accent-strong); background: var(--cb-accent-soft); }
.admin-permission-save button:disabled { opacity: .55; cursor: default; }
.admin-permission-save .admin-save-status { line-height: 1.45; }
.admin-preview-column { position: sticky; top: 24px; }
.admin-preview-label { display: flex; align-items: center; gap: 8px; margin: 4px 2px 10px; color: #8995a5; font-size: .64rem; font-weight: 700; letter-spacing: .14em; }
.admin-live-dot { width: 6px; height: 6px; }
.admin-preview { position: relative; isolation: isolate; overflow: hidden; min-height: 485px; border: 1px solid rgba(255,255,255,.11); border-radius: 16px; background: #101821; box-shadow: 0 22px 55px rgba(0,0,0,.27); }
.admin-preview::before { position: absolute; z-index: -2; inset: 0; content: ""; background: radial-gradient(ellipse at 76% 0%,rgba(52,211,153,.12),transparent 46%),#101821; }
.admin-preview[data-preview-theme="pink"]::before { background: radial-gradient(ellipse at 76% 0%,rgba(245,163,199,.18),transparent 46%),#19131c; }
.admin-preview[data-preview-theme="cat"]::before { background: radial-gradient(ellipse at 75% 0%,rgba(194,157,239,.17),transparent 46%),#191521; }
.admin-preview[data-preview-theme="viking"]::before { background: radial-gradient(ellipse at 75% 0%,rgba(112,139,111,.18),transparent 46%),#121915; }
.admin-preview[data-preview-theme="ember"]::before { background: radial-gradient(ellipse at 75% 0%,rgba(202,112,65,.17),transparent 46%),#181311; }
.preview-decor { position: absolute; z-index: -1; inset: -18px; opacity: 0; background: url('/images/cat-doodles.svg') center/300px auto repeat; filter: blur(1.7px); transition: opacity .25s; }
.admin-preview[data-preview-theme="cat"] .preview-decor { opacity: .18; }
.admin-preview[data-preview-theme="viking"] .preview-decor { opacity: .12; background-image: url('/images/viking-runes.svg'); background-size: 230px auto; }
.admin-preview[data-preview-theme="ember"] .preview-decor { opacity: .13; background-image: url('/images/ember-sparks.svg'); background-size: 230px auto; }
.preview-content { padding: 18px 16px 17px; }
.preview-brand { display: flex; align-items: center; gap: 8px; color: #e9edf3; font-size: .8rem; font-weight: 720; letter-spacing: -.02em; }
.preview-brand-icon { width: 23px; height: 23px; border-radius: 7px; font-size: .67rem; }
.preview-server { margin-left: auto; padding: 5px 6px; border: 1px solid rgba(255,255,255,.08); border-radius: 5px; color: #818d9c; font-size: .5rem; font-weight: 650; letter-spacing: .09em; }
.preview-welcome { margin: 28px 1px 19px; }
.preview-welcome > small { color: var(--cb-accent); font-size: .54rem; font-weight: 700; letter-spacing: .14em; }
.preview-welcome h3 { margin: 8px 0 6px; color: #f0f1f6; font-size: 1.68rem; line-height: 1.07; letter-spacing: -.055em; }
.preview-welcome p { min-height: 28px; margin: 0; color: #9aa5b4; font-size: .65rem; line-height: 1.5; }
.preview-player { display: flex; align-items: center; gap: 8px; padding: 9px; border: 1px solid rgba(255,255,255,.075); border-radius: 9px; background: rgba(255,255,255,.035); }
.preview-avatar { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; color: var(--cb-accent); background: var(--cb-accent-soft); font-size: .66rem; font-weight: 750; }
.preview-player > span:nth-child(2) { display: grid; flex: 1; gap: 2px; }
.preview-player strong { color: #e1e6ed; font-size: .63rem; }
.preview-player small { color: #7c8999; font-size: .52rem; }
.preview-player > b { color: #78d3a8; font-size: .48rem; font-weight: 650; }
.preview-games-label { margin: 19px 2px 7px; color: #8995a4; font-size: .55rem; font-weight: 700; letter-spacing: .13em; }
.preview-game-card { display: flex; align-items: center; gap: 9px; margin-top: 6px; padding: 8px; border: 1px solid rgba(255,255,255,.075); border-radius: 9px; background: rgba(8,12,20,.55); }
.preview-game-icon { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 7px; color: var(--cb-accent); background: var(--cb-accent-soft); font-size: .94rem; }
.preview-game-card > span:nth-child(2) { display: grid; flex: 1; gap: 3px; }
.preview-game-card strong { color: #e4e8ee; font-size: .65rem; }
.preview-game-card small { color: #7f8a99; font-size: .54rem; }
.preview-game-card > b { color: #798696; font-size: .8rem; font-weight: 450; }
.preview-game-card.is-disabled { display: none; }
.admin-preview-caption { margin: 10px 2px 0; color: #798596; text-align: center; font-size: .68rem; }
.admin-footer { display: flex; justify-content: space-between; padding: 17px 2px 25px; border-top: 1px solid rgba(255,255,255,.07); color: #788494; font-size: .7rem; }
.admin-footer a { color: #a9b3c0; text-decoration: none; }
.admin-footer a:hover { color: #fff; }
.admin-footer a span { padding-left: 3px; color: var(--cb-accent); }

body[data-cobblebet-theme="cat"]:not(.site-home):not(.admin-page) { position: relative; isolation: isolate; }
body[data-cobblebet-theme="cat"]:not(.site-home):not(.admin-page)::before { position: fixed; z-index: -1; inset: -20px; content: ""; pointer-events: none; opacity: .13; background: url('/images/cat-doodles.svg') center/390px auto repeat; filter: blur(1.6px); }
body[data-cobblebet-theme="viking"]:not(.site-home):not(.admin-page) { position: relative; isolation: isolate; }
body[data-cobblebet-theme="viking"]:not(.site-home):not(.admin-page)::before { position: fixed; z-index: -1; inset: -20px; content: ""; pointer-events: none; opacity: .085; background: url('/images/viking-runes.svg') center/520px auto repeat; filter: blur(.55px); }
body[data-cobblebet-theme="ember"]:not(.site-home):not(.admin-page) { position: relative; isolation: isolate; }
body[data-cobblebet-theme="ember"]:not(.site-home):not(.admin-page)::before { position: fixed; z-index: -1; inset: -20px; content: ""; pointer-events: none; opacity: .09; background: url('/images/ember-sparks.svg') center/410px auto repeat; filter: blur(.5px); }

@media (max-width: 900px) {
    .admin-layout { grid-template-columns: minmax(0,1fr) 285px; gap: 18px; }
    .admin-shell { width: min(100% - 40px, 760px); }
    .admin-header { padding: 0 20px; }
    .admin-preview { min-height: 465px; }
}
@media (max-width: 700px) {
    .admin-layout { grid-template-columns: 1fr; }
    .admin-preview-column { position: static; }
    .admin-preview { width: min(100%, 390px); min-height: 470px; margin: 0 auto; }
    .admin-preview-label, .admin-preview-caption { width: min(100%,390px); margin-right: auto; margin-left: auto; }
    .admin-intro { align-items: flex-start; flex-direction: column; gap: 16px; padding-top: 25px; }
    .admin-breadcrumb { margin-bottom: 20px; }
    .admin-intro-note { max-width: none; }
}
@media (max-width: 460px) {
    .admin-permission-save { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 480px) {
    .admin-shell { width: calc(100% - 28px); }
    .admin-header { height: 60px; padding: 0 14px; }
    .admin-owner-label { font-size: 0; gap: 0; }
    .admin-owner-label .admin-status-dot { width: 8px; height: 8px; }
    .admin-header-right { gap: 14px; }
    .admin-card { padding: 17px 15px 18px; }
.admin-theme-grid { gap: 6px; }
    .admin-theme-choice { padding: 7px; }
    .admin-theme-swatch { height: 45px; padding: 6px; }
    .admin-theme-caption { font-size: .6rem; }
    .admin-save-row { align-items: flex-start; flex-direction: column; gap: 9px; }
    .admin-footer { gap: 12px; }
}

/* Quiet, indie landing page and scannable documentation */
.site-home { min-height: 100vh; color: #e8e9df; background: #111710; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.site-home .home-shell { width: min(1050px, calc(100% - 48px)); margin: 0 auto; }
.site-home .home-header { height: 72px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(232,233,223,.12); }
.home-brand { color: #ecece4; text-decoration: none; font-size: 1rem; font-weight: 670; letter-spacing: -.035em; }
.home-brand span { color: #91b38a; }
.site-home .home-header nav { display: flex; align-items: center; gap: 24px; color: #a9afa2; font-size: .82rem; }
.site-home .home-header nav a { color: inherit; text-decoration: none; transition: color .16s; }
.site-home .home-header nav a:hover { color: #f0f0e8; }
.site-home .home-hero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); gap: clamp(42px,8vw,105px); align-items: center; padding: 91px 0 82px; }
.hero-copy { max-width: 510px; }
.hero-kicker { display: flex; align-items: center; gap: 9px; margin: 0 0 20px; color: #aeb7a6; font-size: .77rem; letter-spacing: .025em; }
.hero-kicker span { width: 7px; height: 7px; border-radius: 50%; background: #9aba87; }
.site-home .hero-copy h1 { margin: 0; color: #eeefe8; font-size: clamp(2.8rem,5.4vw,4.45rem); line-height: 1.06; letter-spacing: -.07em; font-weight: 630; }
.site-home .hero-description { max-width: 425px; margin: 22px 0 0; color: #abb1a5; font-size: 1rem; line-height: 1.78; }
.site-home .hero-actions { display: flex; align-items: center; gap: 21px; margin-top: 27px; }
.home-primary, .home-secondary { color: inherit; text-decoration: none; font-size: .83rem; }
.home-primary { display: inline-flex; align-items: center; gap: 25px; padding: 11px 13px 11px 15px; border: 1px solid #8fac83; border-radius: 7px; color: #e5ecdf; background: #496342; transition: background .16s; }
.home-primary:hover { background: #56754d; }
.home-primary span { color: #c5d7bd; }
.home-secondary { color: #bbc2b4; }
.home-secondary:hover { color: #fff; }
.hero-note { margin: 24px 0 0; color: #798477; font-size: .72rem; }
.site-home .home-game-list { padding: 9px 0; border-top: 1px solid rgba(232,233,223,.11); border-bottom: 1px solid rgba(232,233,223,.11); background: transparent; box-shadow: none; }
.home-game { display: flex; align-items: center; gap: 13px; padding: 13px 2px; border-bottom: 1px solid rgba(232,233,223,.075); color: inherit; text-decoration: none; }
.home-game:last-of-type { border-bottom: 0; }
.home-game img { width: 54px; height: 48px; flex: 0 0 54px; object-fit: cover; border-radius: 5px; opacity: .88; }
.home-game-coin { display: grid; width: 54px; height: 48px; flex: 0 0 54px; place-items: center; border: 1px solid rgba(145,179,138,.32); border-radius: 5px; color: #bdd4b3; background: radial-gradient(circle,#354832,#192119 68%); font-size: 1.45rem; }
.home-game > span { display: grid; flex: 1; gap: 4px; }
.home-game strong { color: #e3e6dc; font-size: .83rem; font-weight: 570; }
.home-game small { color: #929b8d; font-size: .7rem; }
.home-game > b { color: #798576; font-size: .85rem; font-weight: 400; }
.home-game:hover > b { color: #c3d3b8; }
.home-game-foot { display: flex; justify-content: space-between; margin-top: 11px; padding: 12px 3px 1px; color: #858e80; font-size: .68rem; }
.home-game-foot span:last-child { color: #a8bd9b; }
.site-home .home-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; padding: 22px 0 54px; border-top: 1px solid rgba(232,233,223,.11); }
.home-bottom > div { max-width: 390px; }
.home-small-label { color: #8da281; font-size: .63rem; letter-spacing: .12em; }
.home-bottom p { margin: 10px 0 13px; color: #a7aea0; font-size: .79rem; line-height: 1.65; }
.home-bottom a { color: #d0d9c7; text-decoration: none; font-size: .74rem; }
.home-bottom a:hover { color: white; }
.home-bottom a span { margin-left: 4px; color: #9aba87; }
.site-home .home-footer { display: flex; align-items: center; justify-content: space-between; padding: 18px 0 22px; border-top: 1px solid rgba(232,233,223,.09); color: #747f71; font-size: .68rem; }
.site-home .home-footer a { color: inherit; text-decoration: none; }
.site-home .home-footer a:hover { color: #dfe4d8; }

body.docs-page { min-height: 100vh; margin: 0; color: #e8eae4; background-color: #111710; background-image: none; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.docs-header { height: 68px; padding: 0 max(26px,calc((100vw - 1100px)/2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(232,233,223,.1); }
.docs-brand { color: #ecece4; text-decoration: none; font-size: .97rem; font-weight: 670; letter-spacing: -.03em; }
.docs-brand span { color: #91b38a; }
.docs-header nav { display: flex; gap: 21px; font-size: .75rem; }
.docs-header nav a { color: #9da697; text-decoration: none; }
.docs-header nav a:hover { color: #f0f0e8; }
.docs-shell { width: min(1100px,calc(100% - 48px)); margin: 0 auto; }
.docs-intro { padding: 51px 0 29px; }
.docs-kicker { margin: 0 0 13px; color: #91b38a; font-size: .65rem; font-weight: 650; letter-spacing: .14em; }
.docs-intro h1 { margin: 0; color: #eceee7; font-size: clamp(2rem,4.7vw,3.35rem); font-weight: 620; letter-spacing: -.065em; line-height: 1.08; }
.docs-intro > p:last-child { max-width: 555px; margin: 15px 0 0; color: #9ea79a; font-size: .87rem; line-height: 1.7; }
.docs-tabs { display: flex; gap: 22px; border-bottom: 1px solid rgba(232,233,223,.11); }
.docs-tabs button { position: relative; padding: 13px 2px; border: 0; color: #869083; background: transparent; font: inherit; font-size: .81rem; cursor: pointer; }
.docs-tabs button[aria-selected="true"] { color: #e4e9df; }
.docs-tabs button[aria-selected="true"]::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; content: ""; background: #92b387; }
.docs-content { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: clamp(30px,6vw,70px); padding: 27px 0 48px; }
.docs-content[hidden] { display: none; }
.docs-sidebar { position: sticky; top: 18px; align-self: start; display: grid; gap: 4px; }
.docs-sidebar p { margin: 0 0 10px; color: #788575; font-size: .6rem; letter-spacing: .12em; }
.docs-sidebar a { padding: 7px 9px; border-left: 1px solid rgba(232,233,223,.12); color: #98a192; text-decoration: none; font-size: .72rem; line-height: 1.35; }
.docs-sidebar a:hover { border-color: #9eba91; color: #e2e7de; }
.docs-article { min-width: 0; }
.docs-section { position: relative; scroll-margin-top: 24px; padding: 0 0 29px; margin: 0 0 27px; border-bottom: 1px solid rgba(232,233,223,.095); }
.docs-section:last-child { border-bottom: 0; }
.docs-section-number { color: #8da582; font-size: .64rem; letter-spacing: .08em; }
.docs-section h2 { margin: 7px 0 11px; color: #e9ebe4; font-size: 1.14rem; font-weight: 630; letter-spacing: -.025em; }
.docs-section p, .docs-section li { color: #a5ada1; font-size: .8rem; line-height: 1.8; }
.docs-section p { margin: 10px 0; }
.docs-section ul, .docs-section ol { display: grid; gap: 7px; padding-left: 20px; margin: 12px 0; }
.docs-section strong { color: #d1d8cc; font-weight: 600; }
.docs-section code { padding: 2px 5px; border: 1px solid rgba(232,233,223,.1); border-radius: 4px; color: #c2d4b9; background: rgba(255,255,255,.035); font-size: .92em; }
.docs-section pre { overflow-x: auto; padding: 14px 16px; border: 1px solid rgba(232,233,223,.11); border-radius: 7px; color: #c4d4bb; background: #0d120d; font: .72rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; tab-size: 2; }
.docs-callout { display: grid; gap: 5px; margin: 15px 0; padding: 13px 15px; border-left: 2px solid #90ae83; color: #9da99a; background: rgba(145,179,138,.065); font-size: .74rem; line-height: 1.65; }
.docs-callout strong { color: #d7dfd1; }
.docs-table { display: grid; border-top: 1px solid rgba(232,233,223,.09); margin: 13px 0; }
.docs-table > div { display: grid; grid-template-columns: minmax(155px,.42fr) minmax(0,1fr); gap: 16px; padding: 9px 2px; border-bottom: 1px solid rgba(232,233,223,.075); }
.docs-table > div > code { justify-self: start; }
.docs-table > div > span { color: #9da79a; font-size: .73rem; line-height: 1.6; }
.docs-footer { display: flex; justify-content: space-between; padding: 17px 0 25px; border-top: 1px solid rgba(232,233,223,.1); color: #828c7e; font-size: .71rem; }
.docs-footer a { color: #b5c5ab; text-decoration: none; }
.docs-footer a:hover { color: #edf1e9; }

@media (max-width: 760px) {
    .site-home .home-shell { width: calc(100% - 36px); }
    .site-home .home-hero { grid-template-columns: 1fr; gap: 38px; padding: 64px 0 50px; }
    .site-home .home-game-list { max-width: none; }
    .site-home .home-bottom { gap: 28px; }
    .docs-content { grid-template-columns: 1fr; gap: 20px; }
    .docs-sidebar { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px 8px; }
    .docs-sidebar p { grid-column: 1 / -1; }
}
@media (max-width: 500px) {
    .site-home .home-header { height: 62px; }
    .site-home .home-header nav { gap: 13px; font-size: .73rem; }
    .site-home .hero-actions { flex-wrap: wrap; gap: 17px; }
    .site-home .home-bottom { grid-template-columns: 1fr; gap: 22px; }
    .site-home .home-footer { gap: 12px; flex-wrap: wrap; }
    .docs-header { height: 60px; padding: 0 16px; }
    .docs-header nav { gap: 11px; font-size: .67rem; }
    .docs-shell { width: calc(100% - 32px); }
    .docs-intro { padding-top: 37px; }
    .docs-table > div { grid-template-columns: 1fr; gap: 5px; }
    .docs-footer { gap: 14px; flex-wrap: wrap; }
}

.site-admin-page { min-height: 100vh; margin: 0; color: #e8eae4; background: #111710; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.site-admin-header { height: 66px; padding: 0 max(24px,calc((100vw - 1080px)/2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(232,233,223,.1); }
.site-admin-header > div { display: flex; align-items: center; gap: 20px; }
.site-admin-lock { color: #96b58d; font-size: .7rem; }
.site-admin-header button, .site-admin-intro > button { padding: 8px 11px; border: 1px solid rgba(232,233,223,.15); border-radius: 6px; color: #c6cdc0; background: transparent; font: inherit; font-size: .73rem; cursor: pointer; }
.site-admin-header button:hover, .site-admin-intro > button:hover { border-color: rgba(232,233,223,.32); color: #fff; }
.site-admin-shell { width: min(1080px,calc(100% - 48px)); margin: 0 auto; }
.site-admin-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 40px 0 28px; }
.site-admin-intro h1 { margin: 0; color: #edf0e8; font-size: clamp(2rem,4vw,2.9rem); font-weight: 620; letter-spacing: -.06em; }
.site-admin-intro p:last-child { margin: 10px 0 0; color: #9ba598; font-size: .82rem; }
.site-admin-intro > button { display: flex; gap: 12px; align-items: center; margin-bottom: 2px; padding: 9px 12px; }
.site-admin-intro > button span { color: #9cba91; font-size: 1rem; }
.site-admin-section { padding: 23px 0 29px; border-top: 1px solid rgba(232,233,223,.11); }
.site-admin-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 17px; }
.site-admin-section-head .docs-kicker { margin-bottom: 7px; }
.site-admin-section-head h2 { display: flex; align-items: center; gap: 9px; margin: 0; color: #e6eae1; font-size: 1.15rem; font-weight: 600; letter-spacing: -.03em; }
.site-admin-section-head > div > p:last-child { margin: 7px 0 0; color: #929c8e; font-size: .74rem; line-height: 1.6; }
.site-admin-count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 12px; color: #c4d5bb; background: rgba(145,179,138,.13); font-size: .66rem; font-weight: 600; }
.site-admin-updated { color: #788474; font-size: .68rem; white-space: nowrap; }
.site-admin-server-list, .site-admin-key-list { display: grid; gap: 10px; }
.site-server-open { justify-self: start; margin-top: 14px; padding: 9px 12px; border: 1px solid var(--cb-border); border-radius: 9px; color: var(--cb-text); background: var(--cb-surface-raised); font: inherit; font-size: .78rem; cursor: pointer; transition: border-color .16s ease, background .16s ease; }
.site-server-open:hover { border-color: var(--cb-accent); background: var(--cb-accent-soft); }
.site-server-open:disabled { opacity: .55; cursor: wait; }
.cb-greeting { color: var(--cb-muted); font-size: .95rem; margin: 0 0 9px; }
.cb-game-terms { color: var(--cb-muted); font-size: .76rem; line-height: 1.65; margin: 20px 0 0; padding-top: 15px; border-top: 1px solid var(--cb-border); }
.cb-game-explanation, .cb-extra-house-edge { display: block; }
.cb-extra-house-edge { margin-top: .55rem; color: #f4c95d; font-weight: 750; }
.cb-extra-house-edge[hidden] { display: none; }
.admin-game-editor { border: 1px solid var(--cb-border); border-radius: 12px; overflow: hidden; }
.admin-game-editor + .admin-game-editor { margin-top: 12px; }
.admin-game-editor summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 18px; cursor: pointer; list-style: none; }
.admin-game-editor summary::-webkit-details-marker { display: none; }
.admin-game-editor summary span { color: var(--cb-accent); font-size: .78rem; }
.admin-game-editor[open] summary { background: var(--cb-accent-soft); }
.admin-game-editor-body { padding: 8px 18px 18px; }
.admin-game-editor-body .admin-field-label:not(:first-of-type) { margin-top: 20px; }
.admin-percent-controls { display: grid; grid-template-columns: minmax(80px,1fr) 80px auto; gap: 12px; align-items: center; }
.admin-percent-controls input[type="number"] { min-width: 0; width: 100%; padding: 10px; border: 1px solid var(--cb-border); border-radius: 8px; color: var(--cb-text); background: var(--cb-bg); font: inherit; }
.admin-game-editor-body > input[type="number"] { width: 100%; padding: 11px 12px; border: 1px solid var(--cb-border); border-radius: 8px; color: var(--cb-text); background: var(--cb-bg); font: inherit; }
.admin-percent-controls input[type="range"], .admin-background-controls input[type="range"] { width: 100%; accent-color: var(--cb-accent); cursor: pointer; }
.admin-background-controls { display: grid; gap: 12px; padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--cb-border); }
.admin-background-controls input[type="file"] { max-width: 100%; color: var(--cb-muted); font: inherit; font-size: .8rem; }
.admin-background-controls .cb-button { justify-self: start; }
.admin-vip-card { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.admin-vip-card > span { font-size: 3rem; color: var(--cb-accent); }
.admin-vip-card h2 { margin: 13px 0 8px; font-size: 1.15rem; }
.admin-vip-card p { margin: 0; color: var(--cb-muted); font-size: .85rem; line-height: 1.6; }
.admin-soon-badge { padding: 5px 9px; border-radius: 20px; background: var(--cb-accent-soft); color: var(--cb-accent); font-size: .7rem; }
body.cb-app-page, body.admin-page { isolation: isolate; position: relative; }
.cb-custom-background { position: absolute; inset: -35px; z-index: -1; pointer-events: none; background-size: cover; background-position: center; opacity: .22; }
body > .cb-custom-background { position: fixed; }
.site-server-card { position: relative; isolation: isolate; overflow: hidden; }
.site-server-card[data-cobblebet-theme="pink"] { background: linear-gradient(120deg,#30212e,#211c25); --cb-accent: #f0a4c3; }
.site-server-card[data-cobblebet-theme="cat"] { background: linear-gradient(120deg,rgba(39,30,54,.9),rgba(32,26,42,.94)), url('/images/cat-doodles.svg') center/330px; --cb-accent: #c6a7f7; }
.site-server-card[data-cobblebet-theme="viking"] { background: linear-gradient(120deg,rgba(31,42,33,.94),rgba(30,34,26,.9)), url('/images/viking-runes.svg') center/280px; --cb-accent: #d4b16c; }
.site-server-card[data-cobblebet-theme="ember"] { background: linear-gradient(120deg,rgba(40,27,23,.94),rgba(29,21,19,.9)), url('/images/ember-sparks.svg') center/280px; --cb-accent: #e2a16f; }
.site-server-card[data-cobblebet-theme="classic"] { background: linear-gradient(120deg,#26222f,#1c1a23); }
.site-server-card > .cb-custom-background { opacity: .25; }
.admin-preview > .cb-custom-background { opacity: .28; }
.site-admin-empty { padding: 20px; border: 1px dashed rgba(232,233,223,.16); border-radius: 7px; color: #899486; text-align: center; font-size: .76rem; }
.site-admin-error { color: #dfa0a0; }
.site-server-card { padding: 15px 16px 13px; border: 1px solid rgba(232,233,223,.1); border-radius: 8px; background: rgba(255,255,255,.018); }
.site-server-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.site-server-identity { display: flex; align-items: center; gap: 11px; min-width: 0; }
.site-server-icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 7px; color: #dce5d5; background: #354531; object-fit: cover; }
.site-server-icon-fallback { font-size: 1rem; font-weight: 700; }
.site-server-title h3 { margin: 0; color: #e1e6dc; font-size: .85rem; font-weight: 600; }
.site-server-title p { margin: 4px 0 0; color: #83907f; font: .68rem ui-monospace,SFMono-Regular,Consolas,monospace; }
.site-server-online { color: #94b887; font-size: .65rem; white-space: nowrap; }
.site-server-meta { display: grid; grid-template-columns: repeat(auto-fit,minmax(100px,1fr)); gap: 12px; margin: 14px 0 12px 53px; }
.site-server-meta-item { display: grid; gap: 4px; min-width: 0; }
.site-server-meta-item small { color: #788576; font-size: .62rem; }
.site-server-meta-item span { overflow-wrap: anywhere; color: #b6beb0; font-size: .69rem; }
.site-server-players { display: flex; align-items: baseline; gap: 9px; padding: 9px 0 0 53px; border-top: 1px solid rgba(232,233,223,.07); }
.site-server-players strong { flex: 0 0 auto; color: #aebaa7; font-size: .67rem; font-weight: 550; }
.site-server-players p { overflow: hidden; margin: 0; color: #828e7e; font-size: .68rem; text-overflow: ellipsis; }
.site-admin-key-form { max-width: 560px; margin: 20px 0; }
.site-admin-key-form label { display: block; margin-bottom: 7px; color: #b9c1b3; font-size: .71rem; }
.site-admin-key-form > div { display: flex; gap: 8px; }
.site-admin-key-form input { min-width: 0; flex: 1; padding: 10px 11px; border: 1px solid rgba(232,233,223,.15); border-radius: 6px; outline: none; color: #e3e7de; background: #0d120d; font: inherit; font-size: .74rem; }
.site-admin-key-form input:focus { border-color: #91b38a; }
.site-admin-key-form button, .site-admin-key-notice button { padding: 10px 12px; border: 1px solid #6c8962; border-radius: 6px; color: #e5ebdf; background: #435b3c; font: inherit; font-size: .72rem; cursor: pointer; white-space: nowrap; }
.site-admin-key-form button:hover, .site-admin-key-notice button:hover { background: #506d47; }
.site-admin-key-form button:disabled { opacity: .6; cursor: wait; }
.site-admin-key-notice { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin: 14px 0 18px; padding: 15px; border: 1px solid rgba(145,179,138,.3); border-radius: 7px; background: rgba(145,179,138,.07); }
.site-admin-key-notice[hidden] { display: none; }
.site-admin-key-notice strong { color: #d8e5d2; font-size: .77rem; }
.site-admin-key-notice p { margin: 5px 0 10px; color: #a0ab9a; font-size: .7rem; }
.site-admin-key-notice code { display: block; overflow-wrap: anywhere; color: #d7e6cd; font: .72rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; user-select: all; }
.site-admin-key-notice button { padding: 7px 10px; }
.site-admin-key-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 13px; border: 1px solid rgba(232,233,223,.085); border-radius: 7px; background: rgba(255,255,255,.015); }
.site-admin-key-row.is-revoked { opacity: .62; }
.site-admin-key-detail { display: grid; gap: 5px; min-width: 0; }
.site-admin-key-detail strong { color: #d6ddd1; font-size: .75rem; font-weight: 570; }
.site-admin-key-detail small { color: #7f8b7b; font-size: .65rem; }
.site-admin-key-controls { display: flex; align-items: center; gap: 12px; }
.site-key-state { color: #96b88c; font-size: .65rem; }
.site-key-state.revoked { color: #bd8888; }
.site-key-revoke { border: 0; color: #c58f8f; background: none; font: inherit; font-size: .66rem; cursor: pointer; }
.site-key-revoke:hover { color: #f0b0b0; }
.site-admin-footer { display: flex; justify-content: space-between; padding: 17px 0 25px; border-top: 1px solid rgba(232,233,223,.1); color: #798575; font-size: .69rem; }
.site-admin-footer a { color: #b2c3a9; text-decoration: none; }
.site-admin-footer a:hover { color: #edf1e9; }
@media (max-width: 700px) {
    .site-admin-header { padding: 0 17px; }
    .site-admin-shell { width: calc(100% - 34px); }
    .site-admin-intro { align-items: flex-start; flex-direction: column; }
    .site-admin-intro > button { align-self: flex-end; }
    .site-server-meta { grid-template-columns: repeat(2,minmax(0,1fr)); margin-left: 0; }
    .site-server-players { align-items: flex-start; flex-direction: column; gap: 4px; padding-left: 0; }
}
@media (max-width: 460px) {
    .site-admin-section-head { align-items: flex-start; flex-direction: column; gap: 8px; }
    .site-admin-key-form > div { align-items: stretch; flex-direction: column; }
    .site-admin-key-form button { align-self: flex-start; }
    .site-admin-key-row { align-items: flex-start; flex-direction: column; }
    .site-admin-key-controls { justify-content: space-between; width: 100%; }
}

/* Shared, roomier game shell keeps each game aligned with the site palette. */
body.cb-game-page { min-height: 100vh; margin: 0; overflow-x: hidden; background: #111710; color: #e8eae4; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.cb-game-page *, .coinflip-page * { box-sizing: border-box; }
.cb-game-page > aside { width: 100%; padding: 24px; gap: 16px; border-color: rgba(232,233,223,.1); background: #151d15; }
.cb-game-page:not(.coinflip-page) > main { min-width: 0; padding: clamp(22px,4vw,44px); }
.cb-game-page input, .coinflip-page input { min-height: 46px; padding: 12px 14px; border-radius: 8px; }
.cb-game-page button { min-height: 42px; padding: 10px 14px; border-radius: 8px; }
.cb-game-page #grid { width: min(100%,510px); grid-template-columns: repeat(5,minmax(0,1fr)); gap: clamp(7px,1.5vw,12px); padding: clamp(14px,2.8vw,23px); }
.cb-game-page #grid button { width: 100%; height: auto; min-width: 0; min-height: 0; aspect-ratio: 1; padding: 0; border: 1px solid rgba(232,233,223,.13); border-radius: 12px; font-size: clamp(1.1rem,3vw,1.6rem); }
.cb-game-page .cb-game-nav { display: flex; align-items: center; gap: 18px; }
.cb-game-nav a, .cb-game-header nav a { color: #aebba8; text-decoration: none; font-size: .78rem; }
.cb-game-nav a:hover, .cb-game-header nav a:hover { color: #eff3eb; }
.cb-game-page .brand-mark { padding: 11px 14px; border-radius: 8px; }
.cb-game-page main > .text-center h1 { font-size: clamp(2.2rem,5vw,3.5rem); }
.coinflip-card-art { display: grid; height: 128px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%,rgba(145,179,138,.2),transparent 38%),linear-gradient(135deg,#202b20,#131a13); }
.coinflip-card-art span { display: grid; width: 68px; height: 68px; place-items: center; border: 1px solid rgba(188,211,174,.6); border-radius: 50%; color: #c2d7b8; font-size: 2rem; box-shadow: 0 0 35px rgba(145,179,138,.16),inset 0 0 18px rgba(145,179,138,.1); }
.cb-game-header { display: flex; align-items: center; justify-content: space-between; min-height: 66px; padding: 0 max(22px,calc((100vw - 1080px)/2)); border-bottom: 1px solid rgba(232,233,223,.1); }
.cb-game-header nav { display: flex; align-items: center; gap: 22px; }
.cb-game-header nav span { color: #84917e; font-size: .72rem; }
.cb-game-header nav strong { margin-left: 5px; color: #d7e2d0; font-weight: 550; }
.coinflip-shell { width: min(1080px,calc(100% - 48px)); margin: 0 auto; padding: 52px 0 32px; }
.coinflip-intro { margin-bottom: 29px; }
.coinflip-intro h1 { margin: 0; color: #edf0e8; font-size: clamp(2.3rem,5vw,3.6rem); letter-spacing: -.065em; }
.coinflip-intro > p:last-child { max-width: 540px; margin: 12px 0 0; color: #9ea99a; font-size: .88rem; line-height: 1.7; }
.coinflip-grid { display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); gap: 18px; align-items: start; }
.coinflip-create-card, .coinflip-lobby-card { min-width: 0; padding: clamp(20px,3vw,29px); border: 1px solid rgba(232,233,223,.1); border-radius: 10px; background: rgba(255,255,255,.022); }
.coinflip-coin { display: grid; width: 48px; height: 48px; place-items: center; overflow: hidden; border: 1px solid var(--cb-border); border-radius: 12px; background: #19181d; }
.coinflip-coin img { display: block; width: 100%; height: 100%; object-fit: cover; }
.coinflip-create-card h2, .coinflip-lobby-heading h2 { margin: 16px 0 0; color: #e8ece4; font-size: 1.1rem; letter-spacing: -.02em; }
.coinflip-create-card > p, .coinflip-footnote { color: #939e8e; font-size: .76rem; line-height: 1.7; }
.coinflip-create-card label { display: block; margin: 22px 0 7px; color: #bec8b8; font-size: .73rem; }
.coinflip-create-card input { width: 100%; border: 1px solid rgba(232,233,223,.15); outline: 0; color: #e9eee5; background: #101610; }
.coinflip-create-card input:focus { border-color: #91b38a; }
.coinflip-primary, .coinflip-match { border: 1px solid var(--cb-accent-strong); color: #101610; background: var(--cb-accent); cursor: pointer; }
.coinflip-primary { width: 100%; margin-top: 12px; }
.coinflip-primary:hover, .coinflip-match:hover { background: var(--cb-accent-strong); }
.coinflip-primary:disabled { opacity: .55; cursor: wait; }
.coinflip-feedback { min-height: 20px; margin-bottom: 0; }
.coinflip-lobby-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 17px; border-bottom: 1px solid rgba(232,233,223,.09); }
.coinflip-lobby-heading .docs-kicker { margin: 0; }
.coinflip-lobby-heading h2 { margin-top: 6px; }
.coinflip-lobby-heading > span { color: var(--cb-accent); font-size: .7rem; }
.coinflip-listings { display: grid; gap: 9px; padding-top: 14px; }
.coinflip-listing { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; border: 1px solid rgba(232,233,223,.09); border-radius: 8px; background: rgba(255,255,255,.018); }
.coinflip-listing > div:first-child { display: grid; gap: 5px; }
.coinflip-listing strong { color: #dfe5da; font-size: .81rem; font-weight: 570; }
.coinflip-listing span { color: #8c9987; font-size: .71rem; }
.coinflip-actions { display: flex; gap: 8px; }
.coinflip-match, .coinflip-cancel { padding: 8px 12px; border-radius: 6px; font: inherit; font-size: .7rem; cursor: pointer; }
.coinflip-cancel { border: 1px solid var(--cb-border); color: #bac4b4; background: transparent; }
.coinflip-cancel:hover { color: white; border-color: rgba(232,233,223,.3); }
.coinflip-empty { padding: 25px 12px; color: #879382; text-align: center; font-size: .76rem; line-height: 1.6; }
.coinflip-footnote { margin: 15px 2px; font-size: .69rem; }
.cb-popups { position: fixed; z-index: 60; top: 16px; right: 16px; display: grid; gap: 8px; width: min(340px,calc(100vw - 32px)); }
.cb-toast { padding: 12px 14px; border: 1px solid rgba(232,233,223,.15); border-radius: 8px; color: #e8eee3; background: #1c261b; box-shadow: 0 10px 30px #0005; font-size: .76rem; }
.cb-toast.success { border-color: rgba(145,179,138,.4); }.cb-toast.error { border-color: rgba(201,125,125,.4); }
.docs-search { position: relative; display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1fr); align-items: end; gap: 20px; margin: 0 0 27px; padding: 18px 0 22px; border-top: 1px solid rgba(232,233,223,.1); border-bottom: 1px solid rgba(232,233,223,.1); }
.docs-search h2 { margin: 0; color: #e5e9df; font-size: .97rem; font-weight: 600; }
.docs-search > div > p:last-child { margin: 6px 0 0; color: #899484; font-size: .69rem; line-height: 1.5; }
.docs-search-control { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 9px 11px; border: 1px solid rgba(232,233,223,.16); border-radius: 7px; background: rgba(255,255,255,.025); }
.docs-search-control > span { color: #9ab28f; font-size: 1.15rem; }
.docs-search-control input { width: 100%; min-width: 0; border: 0; outline: 0; color: #e6eae2; background: transparent; font: inherit; font-size: .73rem; }
.docs-search-control input::placeholder { color: #717d6e; }
.docs-search-control kbd { flex: 0 0 auto; color: #798473; font-size: .57rem; }
.docs-search-results { position: absolute; z-index: 5; top: calc(100% - 15px); right: 0; left: 35%; display: grid; max-height: 310px; overflow: auto; padding: 6px; border: 1px solid rgba(232,233,223,.14); border-radius: 8px; background: #171f16; box-shadow: 0 18px 38px #0007; color: #99a392; font-size: .73rem; }
.docs-search-results[hidden] { display: none; }
.docs-search-result { display: grid; gap: 4px; padding: 10px; border-radius: 5px; text-decoration: none; }
.docs-search-result:hover { background: rgba(255,255,255,.04); }
.docs-search-result small { color: #91b38a; font-size: .57rem; letter-spacing: .08em; }
.docs-search-result strong { color: #e1e6dc; font-size: .75rem; font-weight: 580; }
.docs-search-result span { overflow: hidden; color: #8e9989; font-size: .67rem; line-height: 1.5; text-overflow: ellipsis; }
.home-header nav #siteAdminLink, .docs-header nav #siteAdminLink, .cb-game-nav #siteAdminLink { color: #c4d8b8; }
.site-panel-link, .site-admin-entry { align-self: center; padding: 9px 11px; border: 1px solid rgba(232,233,223,.12); border-radius: 7px; color: #b1c1a8; text-decoration: none; font-size: .73rem; }
.site-panel-link:hover, .site-admin-entry:hover { border-color: rgba(145,179,138,.48); color: #eaf0e4; }
#popupContainer.cb-popups { left: auto; right: 16px; }
.contact-page { min-height: 100vh; margin: 0; color: #e8eae4; background: #111710; font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.contact-shell { width: min(560px,calc(100% - 40px)); margin: 54px auto; padding: clamp(22px,5vw,36px); border: 1px solid rgba(232,233,223,.1); border-radius: 10px; background: rgba(255,255,255,.022); }
.contact-shell form { display: grid; gap: 12px; }
.contact-shell input, .contact-shell textarea { width: 100%; min-height: 46px; padding: 12px 14px; border: 1px solid rgba(232,233,223,.15); border-radius: 7px; outline: 0; color: #e8eae4; background: #101610; font: inherit; font-size: .8rem; }
.contact-shell textarea { min-height: 145px; resize: vertical; }
.contact-shell input:focus, .contact-shell textarea:focus { border-color: #91b38a; }
.contact-shell button { min-height: 44px; padding: 11px 14px; border: 1px solid #66825d; border-radius: 7px; color: #e8eee3; background: #435b3c; font: inherit; font-size: .8rem; cursor: pointer; }
.contact-shell button:hover { background: #526e49; }
.contact-shell > a { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 20px; color: #aebba8; text-decoration: none; font-size: .78rem; }
.economy-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 15px; }
.economy-option { display: flex; align-items: flex-start; gap: 11px; min-height: 82px; padding: 15px; border: 1px solid rgba(232,233,223,.12); border-radius: 8px; background: rgba(255,255,255,.018); cursor: pointer; transition: border-color .16s,background .16s; }
.economy-option:has(input:checked) { border-color: rgba(145,179,138,.65); background: rgba(145,179,138,.07); }
.economy-option input { flex: 0 0 auto; width: 16px; height: 16px; margin: 2px 0 0; accent-color: #91b38a; }
.economy-option > span { display: grid; gap: 5px; }
.economy-option strong { color: #e2e8dd; font-size: .78rem; font-weight: 600; }
.economy-option small { color: #909b8b; font-size: .67rem; line-height: 1.5; }
.economy-item-fields { display: grid; gap: 8px; margin: 5px 0 14px; }
.economy-item-fields[hidden], #customEconomyItem[hidden] { display: none; }
.economy-item-fields select, .economy-item-fields input { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid rgba(232,233,223,.14); border-radius: 6px; outline: 0; color: #e0e6db; background: #131a13; font: inherit; font-size: .73rem; }
.economy-item-fields select:focus, .economy-item-fields input:focus { border-color: #91b38a; }
.economy-help { display: flex; align-items: baseline; gap: 8px; margin-top: 13px; color: #929e8e; font-size: .68rem; line-height: 1.55; }
.economy-help strong { flex: 0 0 auto; color: #c1ceba; font-size: .67rem; }
.economy-warning { margin-top: 10px; padding: 10px 12px; border-left: 2px solid #ad966d; color: #a99d86; background: rgba(173,150,109,.07); font-size: .65rem; line-height: 1.55; }
.economy-save-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 17px; padding-top: 15px; border-top: 1px solid rgba(232,233,223,.09); }
.economy-current { color: #a6b39e; font-size: .67rem; line-height: 1.5; }
.economy-save-row button { flex: 0 0 auto; padding: 9px 13px; border: 1px solid #6c8962; border-radius: 6px; color: #e7eddf; background: #435b3c; font: inherit; font-size: .7rem; cursor: pointer; }
.economy-save-row button:hover { background: #506d47; }
.economy-save-row button:disabled { opacity: .5; cursor: wait; }
.admin-economy-card > .admin-save-status { margin: 10px 0 0; }
@media (max-width: 560px) { .economy-options { grid-template-columns: 1fr; }.economy-save-row { align-items: flex-start; flex-direction: column; }.economy-save-row button { width: 100%; } }

/* Warm charcoal and muted lilac tie the information and play areas together. */
[data-theme-option="classic"] > span:first-child { background: linear-gradient(100deg, #c9bbd8, #9f8bb9); }
.swatch-classic { background: linear-gradient(125deg,#17161d,#393342 55%,#27232e); }
.site-home { color: #ece9ef; background: #15141a; }
.site-home .home-hero { grid-template-columns: minmax(0,1fr); max-width: 760px; padding: 106px 0 86px; }
.site-home .hero-copy h1 { color: #f0edf2; }
.site-home .hero-kicker { color: #b8b1bf; }
.site-home .hero-kicker span { background: var(--cb-accent); box-shadow: 0 0 10px var(--cb-accent-soft); }
.site-home .home-brand span, .docs-brand span { color: var(--cb-accent); }
.site-home .home-header nav, .site-home .home-footer { color: #aaa5b0; }
.site-home .home-header nav a:hover, .site-home .home-footer a:hover { color: #f2eef5; }
.site-home .home-primary { border-color: #b8a6ca; color: #f3eff7; background: #51475e; }
.site-home .home-primary:hover { background: #625571; }
.site-home .home-secondary { color: #c3bdc9; }
.site-home .home-bottom { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 0 0 54px; border: 0; }
.home-bottom .home-info-card { color: inherit; font-size: initial; }
.home-info-card { display: grid; align-content: start; min-height: 190px; padding: 23px 24px; border: 1px solid rgba(236,231,241,.1); border-radius: 10px; color: inherit; background: linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); text-decoration: none; transition: border-color .18s,transform .18s,background .18s; }
.home-info-card:hover { transform: translateY(-2px); border-color: rgba(184,166,202,.4); background: rgba(255,255,255,.04); }
.home-info-card .home-small-label { color: #b8a6ca; font-size: .65rem; letter-spacing: .12em; }
.home-info-card strong { margin-top: 16px; color: #e9e5ed; font-size: 1.02rem; font-weight: 620; }
.home-info-card p { max-width: 380px; margin: 8px 0 20px; color: #aaa5b0; font-size: .8rem; line-height: 1.7; }
.home-info-link { display: flex; align-items: center; gap: 8px; margin-top: auto; color: #cbbbd9; font-size: .74rem; }
.home-bottom .home-info-card .home-info-link { color: #cbbbd9; }
.home-info-link b { font-weight: 500; }
body.docs-page, .contact-page, .site-admin-page { color: #e8e5eb; background-color: #15141a; }
.docs-header, .site-admin-header { border-color: rgba(236,231,241,.1); }
.docs-header nav a, .docs-footer a { color: #c5becb; }
.docs-header nav a:hover, .docs-footer a:hover { color: #fff; }
.docs-kicker, .docs-brand span { color: #b8a6ca; }
.docs-intro h1, .docs-section h2 { color: #efecf1; }
.docs-intro > p:last-child, .docs-section p, .docs-section li { color: #b2adb7; }
.docs-shell { width: min(1180px,calc(100% - 56px)); }
.docs-content { grid-template-columns: 265px minmax(0,1fr); gap: clamp(38px,5.5vw,68px); }
.docs-sidebar { gap: 5px; padding: 15px 12px; border: 1px solid rgba(236,231,241,.09); border-radius: 9px; background: rgba(255,255,255,.018); }
.docs-sidebar p { padding: 0 9px; color: #a59baa; font-size: .66rem; }
.docs-sidebar a { padding: 10px 11px; border-color: rgba(236,231,241,.12); color: #bdb7c3; font-size: .81rem; line-height: 1.55; }
.docs-sidebar a:hover { border-color: #b8a6ca; color: #f2eef5; }
.docs-tabs button[aria-selected="true"]::after { background: #b8a6ca; }
.docs-section-number { color: #b8a6ca; }
.docs-section h2 { font-size: 1.24rem; }
.docs-section p, .docs-section li { font-size: .87rem; }
.docs-callout { border-color: #b8a6ca; color: #b6b0bd; background: rgba(184,166,202,.07); }
.docs-callout strong, .docs-section strong { color: #e1dbe8; }
.docs-section code { color: #d4c5e0; }
.docs-section pre { color: #d4c5e0; background: #111015; }
.docs-search-control > span, .docs-search-result small { color: #b8a6ca; }
.docs-search-results { background: #201e25; }
.docs-search-result:hover { background: rgba(184,166,202,.08); }
.admin-page { color: #e8e5eb; background-color: #15141a; background-image: radial-gradient(ellipse at 15% -15%,rgba(184,166,202,.11),transparent 40%); }
.admin-header { background: rgba(21,20,26,.85); border-color: rgba(236,231,241,.1); }
.admin-brand-mark, .preview-brand-icon { color: #19151e; background: var(--cb-accent); }
.admin-status-dot, .admin-live-dot { background: #b8a6ca; box-shadow: 0 0 9px rgba(184,166,202,.38); }
.admin-card { border-color: rgba(236,231,241,.09); background: rgba(31,29,36,.94); }
.admin-preview::before { background: radial-gradient(ellipse at 76% 0%,rgba(184,166,202,.11),transparent 46%),#17161d; }
.admin-preview[data-preview-theme="classic"]::before { background: radial-gradient(ellipse at 76% 0%,rgba(184,166,202,.12),transparent 46%),#17161d; }
.site-admin-page { background-image: radial-gradient(ellipse at 15% -15%,rgba(184,166,202,.1),transparent 40%); }
.site-admin-lock, .site-admin-count, .site-key-state { color: #c6b5d4; }
.site-admin-count { background: rgba(184,166,202,.13); }
.site-admin-key-form input:focus { border-color: #b8a6ca; }
.site-admin-key-form button, .site-admin-key-notice button { border-color: #857392; color: #f0ebf5; background: #51475e; }
.site-admin-key-form button:hover, .site-admin-key-notice button:hover { background: #625571; }
.site-admin-key-notice { border-color: rgba(184,166,202,.3); background: rgba(184,166,202,.07); }
.site-admin-footer a, .site-admin-header .site-admin-lock { color: #cbbbd9; }
.cb-game-page, .contact-page { background-color: #15141a; }
.cb-game-nav a, .cb-game-header nav a { color: #c2bacb; }
.coinflip-card-art { background: radial-gradient(circle at 50% 45%,rgba(184,166,202,.2),transparent 38%),linear-gradient(135deg,#28242e,#17151b); }
.coinflip-card-art span { border-color: rgba(208,193,224,.55); color: #d0c1e0; box-shadow: 0 0 32px rgba(184,166,202,.15),inset 0 0 17px rgba(184,166,202,.1); }
.coinflip-primary, .coinflip-match { color: #18151d; }
.coinflip-create-card input:focus, .contact-shell input:focus, .contact-shell textarea:focus, .economy-item-fields select:focus, .economy-item-fields input:focus { border-color: #b8a6ca; }
.coinflip-coin { border-color: #b8a6ca; color: #cbbbd9; background: rgba(184,166,202,.1); }
.coinflip-lobby-heading > span { color: #cbbbd9; }
.economy-option:has(input:checked) { border-color: rgba(184,166,202,.65); background: rgba(184,166,202,.07); }
.economy-option input { accent-color: #b8a6ca; }
.economy-help strong, .economy-current { color: #c8bdd1; }
.economy-save-row button, .contact-shell button { border-color: #857392; color: #f0ebf5; background: #51475e; }
.economy-save-row button:hover, .contact-shell button:hover { background: #625571; }
.home-game-coin { border-color: rgba(184,166,202,.32); color: #cbbbd9; background: radial-gradient(circle,#45394e,#201e25 68%); }
body[data-cobblebet-theme] [class~="bg-green-500"], body[data-cobblebet-theme] [class~="bg-green-600"] { background-color: var(--cb-accent-strong) !important; }
body[data-cobblebet-theme] [class~="text-green-400"], body[data-cobblebet-theme] [class~="text-green-500"] { color: var(--cb-accent) !important; }
.mines-icon { color: #c8b7da; background: rgba(184,166,202,.12); }
body:not(.site-home):not([data-cobblebet-theme="pink"]):not([data-cobblebet-theme="cat"]):not([data-cobblebet-theme="viking"]):not([data-cobblebet-theme="ember"]):not([data-cobblebet-theme="harbor"]):not([data-cobblebet-theme="starlight"]) { background-image: radial-gradient(ellipse at 50% -18%,rgba(184,166,202,.075),transparent 42%); }
.preview-player > b, .site-server-online, .admin-save-status[data-state="success"] { color: #cbbbd9; }
.cb-toast.success { border-color: rgba(184,166,202,.4); }
.site-admin-footer a:hover, .site-panel-link:hover, .site-admin-entry:hover { border-color: rgba(184,166,202,.48); }
@media (max-width: 760px) {
    .site-home .home-hero { padding: 72px 0 55px; }
    .site-home .home-bottom { grid-template-columns: 1fr; }
    .docs-content { grid-template-columns: 1fr; gap: 19px; }
    .docs-sidebar { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .docs-sidebar p { grid-column: 1 / -1; }
}
@media (max-width: 500px) {
    .docs-header nav { gap: 12px; }
    .docs-sidebar a { font-size: .77rem; }
    .site-home .home-shell { width: calc(100% - 36px); }
}
@media (min-width: 768px) { .cb-game-page > aside { width: 320px; flex: 0 0 320px; min-height: 100vh; padding: 30px 24px; border-top: 0; border-right: 1px solid rgba(232,233,223,.1); } }
@media (max-width: 700px) { .coinflip-grid, .docs-search { grid-template-columns: 1fr; }.docs-search-results { top: calc(100% - 8px); left: 0; }.cb-game-header { padding: 0 17px; }.cb-game-header nav { gap: 12px; }.coinflip-shell { width: calc(100% - 34px); padding-top: 36px; } }

/* Shared visual system: keep the public site, dashboards, and every game in one family. */
:root {
    --cb-bg: #15141a;
    --cb-surface: #201e25;
    --cb-surface-raised: #2b2832;
    --cb-accent: #b8a6ca;
    --cb-accent-strong: #927da9;
    --cb-accent-soft: rgba(184, 166, 202, .14);
    --cb-border: rgba(236, 231, 241, .11);
    --cb-muted: #aaa5b0;
    --cb-text: #f2eef5;
}

body.site-home,
body.docs-page,
body.contact-page,
body.admin-page,
body.site-admin-page,
body.cb-game-page {
    color: var(--cb-text);
    background-color: var(--cb-bg) !important;
    background-image: radial-gradient(ellipse at 50% -18%, var(--cb-accent-soft), transparent 42%);
    background-attachment: fixed;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body[data-cobblebet-theme="pink"] { --cb-accent: #f0a4c3; --cb-accent-strong: #d982a8; --cb-accent-soft: rgba(240,164,195,.14); }
body[data-cobblebet-theme="cat"] { --cb-accent: #c6a7f7; --cb-accent-strong: #a982df; --cb-accent-soft: rgba(198,167,247,.14); }
body[data-cobblebet-theme="viking"] { --cb-bg: #111714; --cb-surface: #1a211d; --cb-surface-raised: #252e28; --cb-accent: #d4b16c; --cb-accent-strong: #b68d45; --cb-accent-soft: rgba(212,177,108,.14); --cb-border: rgba(224,213,183,.12); --cb-muted: #b2b4a5; }
body[data-cobblebet-theme="ember"] { --cb-bg: #181311; --cb-surface: #241c19; --cb-surface-raised: #312521; --cb-accent: #e2a16f; --cb-accent-strong: #c77d4b; --cb-accent-soft: rgba(226,161,111,.14); --cb-border: rgba(238,205,181,.12); --cb-muted: #b8aaa2; }
body[data-cobblebet-theme="harbor"] { --cb-bg:#10151d; --cb-surface:#18212c; --cb-surface-raised:#222e3b; --cb-accent:#d5b879; --cb-accent-strong:#b89453; --cb-accent-soft:rgba(213,184,121,.13); --cb-border:rgba(197,213,228,.12); --cb-muted:#a7b4c1; }

.site-home .home-brand span,
.docs-brand span,
.home-primary span,
.home-kicker,
.hero-kicker span,
.home-small-label,
.home-info-link b,
.home-game-foot span:last-child,
.docs-kicker,
.docs-section-number,
.admin-eyebrow,
.admin-step,
.site-admin-lock,
.site-admin-count,
.coinflip-lobby-heading > span,
.cb-game-page .theme-accent-text { color: var(--cb-accent) !important; }

.site-home .home-primary,
.coinflip-primary,
.coinflip-match,
.admin-save-button,
.site-admin-key-form button,
.site-admin-key-notice button,
.economy-save-row button,
.contact-shell button,
.cb-game-page [class~="bg-emerald-600"],
.cb-game-page [class~="bg-emerald-500"] {
    border-color: var(--cb-accent-strong) !important;
    color: #19151e !important;
    background: var(--cb-accent) !important;
}
.site-home .home-primary:hover,
.coinflip-primary:hover,
.coinflip-match:hover,
.admin-save-button:hover,
.site-admin-key-form button:hover,
.site-admin-key-notice button:hover,
.economy-save-row button:hover,
.contact-shell button:hover,
.cb-game-page [class~="hover:bg-emerald-500"]:hover,
.cb-game-page [class~="hover:bg-emerald-600"]:hover { background: var(--cb-accent-strong) !important; }

.site-home .game-preview,
.site-home .home-bottom-card,
.site-home .home-info-card,
.docs-search-results,
.admin-card,
.admin-preview,
.site-admin-section,
.coinflip-create-card,
.coinflip-lobby-card,
.contact-shell {
    border-color: var(--cb-border) !important;
    background-color: var(--cb-surface) !important;
}
.site-home .home-info-card:hover { border-color: var(--cb-accent) !important; background-color: var(--cb-accent-soft) !important; }
.admin-header,
.docs-header,
.site-admin-header,
.cb-game-header { border-color: var(--cb-border) !important; background-color: rgba(32,30,37,.88) !important; }

/* Older game templates use Tailwind color utilities. Map those onto the shared palette. */
.cb-game-page [class~="bg-slate-950"],
.cb-game-page [class~="bg-slate-900"],
.cb-game-page [class~="bg-[#0b0f1a]"],
.cb-game-page [class~="bg-[#0f1424]"] { background-color: var(--cb-bg) !important; }
.cb-game-page [class~="bg-slate-800"],
.cb-game-page [class~="bg-[#121a2f]"],
.cb-game-page [class~="bg-slate-900/40"] { background-color: var(--cb-surface) !important; }
.cb-game-page [class~="border-slate-800"],
.cb-game-page [class~="border-white/10"],
.cb-game-page [class~="border-emerald-500/20"] { border-color: var(--cb-border) !important; }
.cb-game-page [class~="text-emerald-400"],
.cb-game-page [class~="text-emerald-100"],
.cb-game-page [class~="text-green-400"] { color: var(--cb-accent) !important; }
.cb-game-page [class~="bg-emerald-500/10"],
.cb-game-page [class~="bg-emerald-500/20"] { background-color: var(--cb-accent-soft) !important; }
.cb-game-page [class~="bg-gradient-to-br"] {
    background-image: linear-gradient(135deg, var(--cb-surface-raised), var(--cb-surface)) !important;
}
.cb-game-page aside {
    box-sizing: border-box;
    color: var(--cb-text);
    background: var(--cb-surface) !important;
    border-color: var(--cb-border) !important;
}
.cb-game-page aside input,
.cb-game-page .coinflip-create-card input {
    box-sizing: border-box;
    min-height: 44px;
    border: 1px solid var(--cb-border) !important;
    border-radius: 9px;
    color: var(--cb-text) !important;
    background: var(--cb-bg) !important;
}
.cb-game-page input:focus { outline: 0; border-color: var(--cb-accent) !important; box-shadow: 0 0 0 3px var(--cb-accent-soft); }
.cb-game-page aside button {
    min-height: 42px;
    border: 1px solid var(--cb-border);
    border-radius: 9px;
    color: #19151e;
    background: var(--cb-accent);
    font-weight: 650;
    transition: background .16s, transform .16s;
}
.cb-game-page aside button:hover { background: var(--cb-accent-strong); transform: translateY(-1px); }
.cb-game-page aside button:disabled { opacity: .48; cursor: not-allowed; transform: none; }
.cb-game-page aside button[onclick*="placeColorBet('red')"] { color: #fff; background: #a94e5c; }
.cb-game-page aside button[onclick*="placeColorBet('black')"] { color: #f2eef5; background: #393640; }
.cb-game-page aside button[onclick*="placeColorBet('green')"] { color: #fff; background: #5e7664; }
.cb-game-page aside button[onclick*="placeNumberBet"] { color: #19151e; background: var(--cb-accent); }
.cb-game-page #grid button {
    border: 1px solid var(--cb-border);
    color: var(--cb-text);
    background: var(--cb-surface-raised) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.035);
}
.cb-game-page #grid button:hover { background: color-mix(in srgb, var(--cb-accent) 26%, var(--cb-surface-raised)) !important; }
.cb-game-page #grid button[class~="bg-emerald-500/20"] { background: var(--cb-accent-soft) !important; }
.cb-game-page .brand-mark { border-color: var(--cb-border) !important; color: #d7d0de !important; background: rgba(255,255,255,.035) !important; }
.cb-game-page .brand-mark span { color: var(--cb-accent) !important; }
.cb-game-page h1 span[class~="text-transparent"] {
    background-image: linear-gradient(90deg, var(--cb-accent), #eee7f5, var(--cb-accent-strong)) !important;
}
.cb-game-page .coinflip-create-card,
.cb-game-page .coinflip-lobby-card { box-shadow: 0 18px 50px rgba(0,0,0,.18); }
.coinflip-listing { border-color: var(--cb-border); background: rgba(255,255,255,.025); }
.coinflip-listing strong { color: var(--cb-text); }
.coinflip-listing span, .coinflip-empty, .coinflip-footnote { color: var(--cb-muted); }

.docs-sidebar,
.docs-search-control,
.docs-section pre,
.site-admin-key-notice,
.admin-intro-note { border-color: var(--cb-border) !important; background-color: var(--cb-surface) !important; }
.docs-sidebar a:hover { border-color: var(--cb-accent) !important; color: var(--cb-text) !important; background-color: var(--cb-accent-soft) !important; }
.docs-tabs button[aria-selected="true"]::after { background-color: var(--cb-accent) !important; }
.docs-callout { border-color: var(--cb-accent) !important; background: var(--cb-accent-soft) !important; }
.admin-preview::before,
.admin-preview[data-preview-theme="classic"]::before { background: radial-gradient(ellipse at 76% 0%, var(--cb-accent-soft), transparent 46%), var(--cb-bg) !important; }
.admin-preview[data-preview-theme="viking"]::before { background: radial-gradient(ellipse at 76% 0%, rgba(112,139,111,.18), transparent 46%), url('/images/viking-runes.svg') center/280px repeat, var(--cb-bg) !important; }
.admin-preview[data-preview-theme="ember"]::before { background: radial-gradient(ellipse at 76% 0%, rgba(202,112,65,.17), transparent 46%), url('/images/ember-sparks.svg') center/280px repeat, #181311 !important; }
.admin-status-dot, .admin-live-dot { background: var(--cb-accent) !important; box-shadow: 0 0 9px var(--cb-accent-soft) !important; }
.economy-option:has(input:checked) { border-color: var(--cb-accent) !important; background: var(--cb-accent-soft) !important; }
.economy-option input { accent-color: var(--cb-accent); }
.site-admin-count { background: var(--cb-accent-soft) !important; }
.site-panel-link, .site-admin-entry { border-color: var(--cb-border); color: var(--cb-accent); }
.site-panel-link:hover, .site-admin-entry:hover { border-color: var(--cb-accent); }

@media (max-width: 767px) {
    .cb-game-page > aside { width: 100%; border-right: 0 !important; border-top: 1px solid var(--cb-border) !important; }
}

/* Semantic app and game layouts shared by the lobby and every game page. */
.cb-app-page { min-height: 100vh; margin: 0; color: var(--cb-text); }
.cb-app-page .hidden, .cb-modal.hidden { display: none !important; }
.cb-site-header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 max(28px,calc((100vw - 1160px)/2)); border-bottom: 1px solid var(--cb-border); background: rgba(32,30,37,.82); backdrop-filter: blur(16px); }
.cb-brand { display: inline-flex; align-items: center; gap: 2px; color: var(--cb-text); font-size: 1.17rem; font-weight: 720; letter-spacing: -.045em; text-decoration: none; }
.cb-brand span { color: var(--cb-accent); }
.cb-brand-mark { width: 1.65em; height: 1.65em; margin-right: .28em; flex: 0 0 auto; object-fit: contain; }
.home-footer .home-brand { display: inline-flex; align-items: center; }
.cb-site-nav { display: flex; align-items: center; gap: 22px; }
.cb-site-nav a { color: #c6c0cd; text-decoration: none; }
.cb-site-nav a:hover { color: var(--cb-text); }
.cb-back-link { font-size: .92rem; font-weight: 550; }
.cb-balance { display: grid; gap: 3px; padding-left: 20px; border-left: 1px solid var(--cb-border); }
.cb-balance span { color: var(--cb-muted); font-size: .72rem; }
.cb-balance strong { color: var(--cb-text); font-size: 1rem; font-variant-numeric: tabular-nums; }
.cb-page-shell { width: min(1160px,calc(100% - 56px)); margin: 0 auto; }
.cb-page-intro { padding: 58px 0 29px; }
.cb-page-intro h1, .cb-game-intro h1 { margin: 8px 0 9px; color: var(--cb-text); font-size: clamp(2.15rem,4vw,3rem); font-weight: 650; letter-spacing: -.06em; line-height: 1.08; }
.cb-page-intro > p:last-child, .cb-game-intro > p:last-child { margin: 0; color: var(--cb-muted); font-size: 1rem; line-height: 1.65; }
.cb-eyebrow { margin: 0; color: var(--cb-accent); font-size: .75rem; font-weight: 720; letter-spacing: .15em; }
.cb-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 11px 16px; border: 1px solid var(--cb-border); border-radius: 10px; color: var(--cb-text); background: var(--cb-surface-raised); font: inherit; font-size: .91rem; font-weight: 650; text-decoration: none; cursor: pointer; transition: background .16s,border-color .16s,transform .16s; }
.cb-button[hidden] { display: none; }
.cb-button:hover:not(:disabled) { border-color: var(--cb-accent); transform: translateY(-1px); }
.cb-button:disabled { cursor: not-allowed; opacity: .5; }
.cb-button-primary { border-color: var(--cb-accent-strong); color: #19151e; background: var(--cb-accent); }
.cb-button-primary:hover:not(:disabled) { background: var(--cb-accent-strong); }
.cb-button-secondary { border-color: var(--cb-border); background: var(--cb-surface-raised); }
.cb-button-quiet { background: transparent; }
.cb-button-link { min-height: 40px; border: 0; color: var(--cb-muted); background: transparent; }
.cb-button-link:hover:not(:disabled) { color: var(--cb-text); background: transparent; transform: none; }
.cb-button-wide { width: 100%; }
.cb-game-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.cb-game-card { min-width: 0; min-height: 130px; display: grid; grid-template-columns: 94px minmax(0,1fr) 26px; align-items: center; gap: 19px; padding: 16px; border: 1px solid var(--cb-border); border-radius: 15px; color: var(--cb-text); background: var(--cb-surface); text-align: left; cursor: pointer; transition: transform .16s,border-color .16s,background .16s; }
.cb-game-card:hover { transform: translateY(-2px); border-color: var(--cb-accent); background: var(--cb-surface-raised); }
.cb-game-card > img, .cb-game-card-art { width: 94px; height: 94px; border-radius: 11px; object-fit: cover; }
.cb-game-card-logo { border: 1px solid var(--cb-border); background: #19181d; }
.cb-game-card-art { display: grid; place-items: center; border: 1px solid var(--cb-accent-soft); color: var(--cb-accent); background: radial-gradient(circle at 50% 45%,var(--cb-accent-soft),transparent 65%),var(--cb-surface-raised); font-size: 2.8rem; }
.cb-game-card-copy { display: grid; gap: 8px; }
.cb-game-card-copy strong { color: var(--cb-text); font-size: 1.13rem; font-weight: 650; }
.cb-game-card-copy small { max-width: 340px; color: var(--cb-muted); font-size: .9rem; line-height: 1.5; }
.cb-card-arrow { color: var(--cb-accent); font-size: 1.18rem; }
.cb-server-message { margin: 0 0 20px; padding: 14px 17px; border: 1px solid var(--cb-border); border-radius: 11px; color: var(--cb-text); background: var(--cb-accent-soft); font-size: .95rem; line-height: 1.55; }
.daily-reward-wrap { display: flex; justify-content: flex-end; padding-top: 22px; }
.daily-reward-wrap:has(#dailyRewardWidget.hidden) { display: none; }
.daily-reward { display: flex; align-items: center; gap: 20px; padding: 14px 16px; border: 1px solid var(--cb-border); border-radius: 13px; background: var(--cb-surface); }
.daily-reward-copy { display: grid; gap: 8px; }
.daily-reward-copy .cb-eyebrow { font-size: .62rem; }
.streak-days { display: flex; gap: 6px; }
.streak-day { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid var(--cb-border); border-radius: 50%; color: var(--cb-muted); background: var(--cb-surface-raised); font-size: .72rem; }
.streak-day.bg-green-500 { border-color: var(--cb-accent); color: #19151e; background: var(--cb-accent); }
.cb-inline-message { color: var(--cb-muted); }
.cb-page-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 48px; padding: 19px 0 26px; border-top: 1px solid var(--cb-border); color: var(--cb-muted); font-size: .78rem; }
.cb-page-footer a { color: #d0c7d9; text-decoration: none; }
.cb-game-layout { width: min(1320px,calc(100% - 56px)); display: grid; grid-template-columns: minmax(290px,340px) minmax(0,1fr); gap: clamp(28px,4vw,54px); align-items: start; margin: 0 auto; padding: 38px 0 56px; }
.cb-game-controls { position: sticky; top: 22px; min-width: 0; display: grid; gap: 17px; padding: 25px; border: 1px solid var(--cb-border); border-radius: 16px; background: var(--cb-surface); box-shadow: 0 16px 42px rgba(0,0,0,.15); }
.cb-controls-heading { margin-bottom: 1px; }
.cb-controls-heading h2 { margin: 7px 0 0; color: var(--cb-text); font-size: 1.35rem; font-weight: 640; letter-spacing: -.035em; }
.cb-field { min-width: 0; display: grid; gap: 8px; color: #d4cdda; font-size: .88rem; font-weight: 580; }
.cb-field input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--cb-border); border-radius: 10px; outline: 0; color: var(--cb-text); background: var(--cb-bg); font: inherit; font-size: 1rem; }
.cb-field input::placeholder { color: #77717e; }
.cb-action-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.cb-game-help { padding: 15px; border: 1px solid var(--cb-border); border-radius: 11px; background: rgba(255,255,255,.025); }
.cb-game-help strong { color: var(--cb-text); font-size: .9rem; }
.cb-game-help p { margin: 7px 0 0; color: var(--cb-muted); font-size: .86rem; line-height: 1.6; }
.cb-form-message { min-height: 20px; margin: 0; color: #e09aa8; font-size: .85rem; line-height: 1.5; }
.cb-game-main { min-width: 0; display: flex; flex-direction: column; align-items: center; }
.cb-game-intro { width: 100%; margin: 5px 0 23px; text-align: center; }
.cb-game-intro > p:last-child { font-size: .95rem; }
.cb-game-intro h1 { font-size: clamp(2.35rem,4.7vw,3.6rem); }
.cb-game-status { min-height: 24px; margin: 0 0 18px; color: #d2c9dc; font-size: 1rem; font-weight: 560; text-align: center; }
.cb-multiplier { display: inline-grid; gap: 5px; margin-top: 18px; padding: 11px 18px; border: 1px solid var(--cb-border); border-radius: 11px; background: var(--cb-surface); }
.cb-multiplier span { color: var(--cb-muted); font-size: .73rem; }
.cb-multiplier strong { color: var(--cb-accent); font-size: 1.32rem; font-variant-numeric: tabular-nums; }
.cb-board-card { width: min(100%,540px); padding: clamp(17px,2.7vw,27px); border: 1px solid var(--cb-border); border-radius: 18px; background: var(--cb-surface); box-shadow: 0 20px 55px rgba(0,0,0,.22); }
.mines-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: clamp(8px,1.4vw,13px); }
.mines-tile, .mines-grid button { width: 100%; aspect-ratio: 1; min-width: 0; min-height: 0; padding: 0; border: 1px solid var(--cb-border); border-radius: 13px; color: var(--cb-text); background: var(--cb-surface-raised); font-size: clamp(1.8rem,4vw,2.5rem); cursor: pointer; transition: transform .14s,background .14s,border-color .14s; }
.mines-grid button:hover { transform: translateY(-2px); border-color: var(--cb-accent); background: color-mix(in srgb,var(--cb-accent) 22%,var(--cb-surface-raised)) !important; }
.mines-grid button[data-tile-state="safe"] { border-color: color-mix(in srgb,var(--cb-accent) 55%,var(--cb-border)); background: var(--cb-accent-soft) !important; }
.mines-grid button[data-tile-state="mine"] { border-color: rgba(224,127,145,.5); background: rgba(224,127,145,.14) !important; }
.blackjack-table { width: 100%; display: grid; gap: 19px; }
.blackjack-hand { min-height: 208px; padding: clamp(20px,3vw,30px); border: 1px solid var(--cb-border); border-radius: 17px; background: linear-gradient(145deg,var(--cb-surface-raised),var(--cb-surface)); box-shadow: 0 17px 40px rgba(0,0,0,.15); }
.blackjack-hand-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.blackjack-hand-heading h2 { margin: 0; color: var(--cb-text); font-size: 1.2rem; font-weight: 620; }
.blackjack-hand-heading > span { color: var(--cb-muted); font-size: .86rem; }
.blackjack-hand-heading strong { margin-left: 6px; color: var(--cb-text); font-size: 1.12rem; }
.playing-cards { min-height: 116px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 13px; padding-top: 15px; }
.playing-card { width: 78px; height: 108px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 11px; color: #26212b; background: #f1edf4; box-shadow: 0 8px 22px rgba(0,0,0,.24); font-size: 1.45rem; font-weight: 750; }
.blackjack-player-hand { border-color: color-mix(in srgb,var(--cb-accent) 42%,var(--cb-border)); }
.roulette-bet-group { display: grid; gap: 12px; margin: 0; padding: 0; border: 0; }
.roulette-bet-group legend { margin-bottom: 11px; color: #d4cdda; font-size: .88rem; font-weight: 580; }
.roulette-color-buttons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.roulette-color-buttons button { min-height: 48px; border: 1px solid var(--cb-border); border-radius: 9px; color: white; font: inherit; font-size: .91rem; font-weight: 650; cursor: pointer; }
.roulette-red { background: #a94e5c; }.roulette-black { background: #393640; }.roulette-green { background: #5e7664; }
.roulette-color-buttons button:hover { filter: brightness(1.13); }
.roulette-result-card { width: min(100%,570px); display: grid; justify-items: center; gap: 17px; padding: 33px 24px; border: 1px solid var(--cb-border); border-radius: 18px; background: var(--cb-surface); }
.roulette-result { width: clamp(170px,24vw,220px); aspect-ratio: 1; display: grid; place-items: center; border: 7px solid var(--cb-surface-raised); border-radius: 50%; color: var(--cb-text); background: radial-gradient(circle,var(--cb-surface-raised),var(--cb-bg)); box-shadow: 0 0 0 1px var(--cb-border),0 18px 42px rgba(0,0,0,.27); font-size: 4.2rem; font-weight: 720; transition: transform .25s; }
.roulette-result[data-result-color="red"] { color: white; background: #a94e5c !important; }.roulette-result[data-result-color="black"] { color: white; background: #393640 !important; }.roulette-result[data-result-color="green"] { color: white; background: #5e7664 !important; }
.roulette-result-text { min-height: 26px; margin: 0; color: var(--cb-text); font-size: 1.08rem; font-weight: 620; text-align: center; }
.roulette-detail { margin: 0; color: var(--cb-muted); font-size: .9rem; text-align: center; }
.coinflip-shell { padding-top: 46px; }
.coinflip-intro { margin: 0 0 27px; text-align: left; }
.coinflip-intro h1 { font-size: clamp(2.35rem,4.7vw,3.6rem); }
.coinflip-grid { gap: 18px; }
.coinflip-create-card, .coinflip-lobby-card { padding: clamp(23px,3vw,31px); border-radius: 16px; }
.coinflip-create-card h2, .coinflip-lobby-heading h2 { color: var(--cb-text); font-size: 1.25rem; }
.coinflip-create-card > p, .coinflip-footnote { color: var(--cb-muted); font-size: .88rem; }
.coinflip-create-card label { color: #d4cdda; font-size: .88rem; }
.coinflip-listing { min-height: 74px; padding: 16px; border-radius: 10px; }
.coinflip-listing strong { font-size: .93rem; }
.coinflip-listing span { font-size: .84rem; }
.coinflip-match, .coinflip-cancel { min-height: 42px; padding: 9px 14px; border-radius: 9px; font-size: .84rem; }
.cb-modal { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 22px; }
.cb-modal-backdrop { position: absolute; inset: 0; background: rgba(8,7,10,.76); backdrop-filter: blur(8px); }
.cb-modal-card { position: relative; width: min(100%,460px); display: grid; gap: 14px; padding: clamp(24px,5vw,38px); border: 1px solid var(--cb-border); border-radius: 19px; background: var(--cb-surface); box-shadow: 0 28px 80px rgba(0,0,0,.45); }
.cb-modal-card h2 { margin: 0; color: var(--cb-text); font-size: 1.8rem; letter-spacing: -.05em; }
.cb-modal-lede { margin: -4px 0 4px; color: var(--cb-muted); font-size: .93rem; line-height: 1.6; }
.cb-field input:focus { border-color: var(--cb-accent); box-shadow: 0 0 0 3px var(--cb-accent-soft); }
.cb-modal-card .cb-field input { min-height: 48px; }
.cb-welcome-card { text-align: center; }
.cb-welcome-icon { color: var(--cb-accent); font-size: 2rem; }
.cb-popups { position: fixed; z-index: 100; top: 18px; right: 18px; display: grid; gap: 10px; width: min(370px,calc(100vw - 36px)); }
.cb-toast { padding: 14px 16px; border: 1px solid var(--cb-border); border-radius: 11px; color: var(--cb-text); background: var(--cb-surface-raised); box-shadow: 0 12px 32px rgba(0,0,0,.35); font-size: .9rem; line-height: 1.5; animation: cb-toast-in .2s ease-out; }
.cb-toast.success { border-color: color-mix(in srgb,var(--cb-accent) 55%,var(--cb-border)); }.cb-toast.error { border-color: rgba(224,127,145,.55); }
.cb-profile-card { width: min(100%,680px); max-height: min(88vh,780px); overflow: auto; }
.cb-profile-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.cb-profile-close { width: 38px; height: 38px; border: 1px solid var(--cb-border); border-radius: 9px; color: var(--cb-muted); background: transparent; font-size: 1.45rem; cursor: pointer; }
.cb-profile-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.cb-profile-stats div { display: grid; gap: 6px; padding: 13px; border: 1px solid var(--cb-border); border-radius: 10px; background: rgba(255,255,255,.025); }
.cb-profile-stats span { color: var(--cb-muted); font-size: .7rem; }.cb-profile-stats strong { overflow: hidden; font-size: .95rem; text-overflow: ellipsis; text-transform: capitalize; }
.cb-profile-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; padding-top: 7px; border-top: 1px solid var(--cb-border); }
.cb-profile-controls > div { grid-column: 1/-1; }.cb-profile-controls h3 { margin: 0 0 5px; }.cb-profile-controls p { margin: 0; color: var(--cb-muted); font-size: .82rem; line-height: 1.55; }
.cb-profile-controls .cb-field { display: grid; gap: 7px; }.cb-profile-controls .cb-field span { color: var(--cb-text); font-size: .8rem; }.cb-profile-controls .cb-field small { color: var(--cb-muted); }
.cb-profile-controls input, .cb-profile-controls select { min-height: 43px; padding: 9px 11px; border: 1px solid var(--cb-border); border-radius: 8px; color: var(--cb-text); background: var(--cb-bg); }
.cb-profile-exclusion { grid-column: 1/-1; display: flex; gap: 11px; align-items: center; padding: 12px; border: 1px solid var(--cb-border); border-radius: 10px; }.cb-profile-exclusion span { display: grid; gap: 3px; }.cb-profile-exclusion small { color: var(--cb-muted); }
.home-changelog { width: min(1080px,calc(100% - 48px)); margin: 90px auto 28px; padding-top: 54px; border-top: 1px solid var(--cb-border); }
.home-changelog-heading { display: flex; justify-content: space-between; gap: 36px; align-items: end; margin-bottom: 24px; }.home-changelog-heading h2 { margin: 8px 0 0; font-size: clamp(2rem,4vw,3.1rem); letter-spacing: -.055em; }.home-changelog-heading > p { max-width: 500px; margin: 0; color: var(--cb-muted); line-height: 1.65; }
.home-release-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }.home-release { padding: 25px; border: 1px solid var(--cb-border); border-radius: 15px; background: var(--cb-surface); }.home-release-featured { padding: clamp(26px,4vw,42px); }.home-release-meta { display: flex; justify-content: space-between; gap: 16px; color: var(--cb-muted); font-size: .71rem; letter-spacing: .07em; }.home-release-meta span { color: var(--cb-accent); font-weight: 700; }.home-release h3 { margin: 17px 0 10px; font-size: 1.3rem; letter-spacing: -.025em; }.home-release-featured h3 { font-size: clamp(1.55rem,3vw,2.15rem); }.home-release p, .home-release li { color: var(--cb-muted); line-height: 1.65; }.home-release ul { margin: 18px 0 0; padding-left: 19px; }
@media (max-width: 700px) { .cb-profile-stats, .cb-profile-controls, .home-release-grid { grid-template-columns: 1fr 1fr; }.home-changelog-heading { align-items: flex-start; flex-direction: column; }.home-release-grid { grid-template-columns: 1fr; } }
@media (max-width: 470px) { .cb-profile-stats, .cb-profile-controls { grid-template-columns: 1fr; }.cb-profile-exclusion, .cb-profile-controls > div { grid-column: auto; } }
.cb-dice-art,.cb-crash-art{display:grid;place-items:center;width:94px;height:94px;border-radius:13px;background:var(--cb-surface-raised);color:var(--cb-accent);font-size:2.8rem;font-weight:700}.cb-original-game .cb-game-main{min-width:0}.dice-stage,.crash-stage{position:relative;min-height:430px;display:grid;place-items:center;padding:30px;border:1px solid var(--cb-border);border-radius:18px;background:var(--cb-surface);overflow:hidden}.dice-number{font-size:clamp(4rem,11vw,8rem);font-weight:700;letter-spacing:-.07em}.dice-number[data-outcome="win"],.crash-readout strong[data-outcome="win"]{color:#8fc9a0}.dice-number[data-outcome="loss"],.crash-readout strong[data-outcome="loss"]{color:#d48b94}.dice-scale{position:absolute;left:8%;right:8%;bottom:72px;display:flex;justify-content:space-between;color:var(--cb-muted)}.dice-scale::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;border-radius:3px;background:var(--cb-surface-raised)}.dice-scale i{position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:50%;background:var(--cb-accent);transform:translate(-50%,-50%);transition:left .45s cubic-bezier(.2,.8,.2,1)}.dice-stage>p{position:absolute;bottom:24px;margin:0;color:var(--cb-muted)}.dice-direction,.crash-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.dice-direction button,.crash-presets button{min-height:42px;border:1px solid var(--cb-border);border-radius:9px;color:var(--cb-text);background:var(--cb-surface-raised);cursor:pointer}.dice-direction button.is-active{border-color:var(--cb-accent);background:var(--cb-accent-soft)}.crash-presets{grid-template-columns:repeat(4,1fr)}.crash-presets button{min-height:36px;padding:6px;font-size:.75rem}.crash-stage{display:block;padding:0}.crash-stage canvas{display:block;width:100%;height:100%}.crash-readout{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;pointer-events:none}.crash-readout strong{font-size:clamp(3.5rem,9vw,7rem);letter-spacing:-.07em}.crash-readout span{color:var(--cb-muted)}.game-mini-history{margin-top:14px;padding:18px;border:1px solid var(--cb-border);border-radius:13px;background:var(--cb-surface)}.game-mini-history h2{margin:0 0 12px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cb-muted)}.game-mini-history>div{display:flex;flex-wrap:wrap;gap:7px}.game-mini-history span{padding:6px 9px;border-radius:7px;background:var(--cb-surface-raised);font-size:.78rem}.game-mini-history .is-win{color:#9bcba8}.game-mini-history .is-loss{color:#d698a0}.swatch-harbor{background:#10151d!important}.swatch-harbor i:nth-child(1){background:#d5b879!important}.swatch-harbor i:nth-child(2){background:#32465b!important}.swatch-harbor i:nth-child(3){background:#9daebb!important}@media(max-width:620px){.cb-dice-art,.cb-crash-art{width:76px;height:76px}.dice-stage,.crash-stage{min-height:340px}.crash-presets{grid-template-columns:repeat(2,1fr)}}
@keyframes cb-toast-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 900px) {
    .cb-game-layout { width: min(740px,calc(100% - 40px)); grid-template-columns: 1fr; gap: 28px; }
    .cb-game-controls { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: end; }
    .cb-controls-heading, .cb-game-help, .cb-game-controls > .cb-button-wide, .cb-game-controls > .cb-form-message { grid-column: 1 / -1; }
    .cb-game-controls > .cb-field { align-self: stretch; }
    .cb-game-controls > .cb-field input { align-self: end; }
    .coinflip-grid { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); }
}
@media (max-width: 620px) {
    .cb-site-header { min-height: 68px; padding: 0 18px; }
    .cb-site-nav { gap: 13px; }
    .cb-page-shell { width: calc(100% - 36px); }
    .cb-page-intro { padding-top: 42px; }
    .cb-game-grid { grid-template-columns: 1fr; gap: 11px; }
    .cb-game-card { min-height: 112px; grid-template-columns: 76px minmax(0,1fr) 22px; gap: 14px; padding: 12px; }
    .cb-game-card > img, .cb-game-card-art { width: 76px; height: 76px; }
    .cb-game-card-copy strong { font-size: 1.04rem; }
    .cb-game-card-copy small { font-size: .84rem; }
    .cb-game-layout { width: calc(100% - 32px); padding-top: 20px; }
    .cb-game-controls { grid-template-columns: 1fr; gap: 14px; padding: 20px; }
    .cb-controls-heading, .cb-game-help, .cb-game-controls > .cb-button-wide, .cb-game-controls > .cb-form-message { grid-column: auto; }
    .cb-game-main { grid-row: 1; }
    .cb-game-controls { grid-row: 2; }
    .cb-board-card { padding: 14px; }
    .mines-grid { gap: 7px; }
    .mines-grid button { border-radius: 10px; font-size: 1.75rem; }
    .blackjack-hand { min-height: 185px; padding: 19px; }
    .playing-card { width: 62px; height: 90px; font-size: 1.15rem; }
    .coinflip-shell { padding-top: 33px; }
    .coinflip-grid { grid-template-columns: 1fr; }
    .coinflip-listing { align-items: flex-start; flex-direction: column; }
    .daily-reward { width: 100%; align-items: flex-end; justify-content: space-between; gap: 10px; }
    .daily-reward-wrap { padding-top: 15px; }
    .streak-days { gap: 4px; }
    .streak-day { width: 24px; height: 24px; font-size: .65rem; }
    .cb-page-footer { margin-top: 34px; flex-direction: column; }
    .cb-balance { padding-left: 12px; }
    .cb-balance span { display: none; }
    .cb-back-link { font-size: .82rem; }
}
@media (prefers-reduced-motion: reduce) { .cb-game-card, .cb-button, .mines-grid button { transition: none !important; } }

.site-home .cb-site-header { min-height: 72px; padding: 0; background: transparent !important; backdrop-filter: none; }
.site-home .cb-site-nav { gap: 23px; }
.cb-site-header .cb-brand { text-decoration: none; }
.admin-header.cb-site-header { height: auto; }
.admin-header.cb-site-header .admin-brand { color: var(--cb-text); }
.admin-brand-mark, .preview-brand-icon { color: #19151e !important; background: var(--cb-accent) !important; }
.contact-shell { width: min(690px,calc(100% - 56px)); margin: 0 auto; padding-bottom: 52px; }
.cb-contact-form { width: min(100%,650px); display: grid; gap: 18px; padding: 25px; border: 1px solid var(--cb-border); border-radius: 16px; background: var(--cb-surface); box-shadow: 0 18px 50px rgba(0,0,0,.16); }
.cb-contact-form .cb-field textarea { width: 100%; min-height: 160px; padding: 13px 14px; resize: vertical; border: 1px solid var(--cb-border); border-radius: 10px; outline: 0; color: var(--cb-text); background: var(--cb-bg); font: inherit; font-size: 1rem; line-height: 1.55; }
.cb-contact-form .cb-field textarea:focus { border-color: var(--cb-accent); box-shadow: 0 0 0 3px var(--cb-accent-soft); }
.contact-response-time { color: var(--cb-muted); font-size: .87rem; }
.plugin-release-current { display: flex; align-items: center; gap: 15px; margin: 18px 0 22px; padding: 15px; border: 1px solid var(--cb-border); border-radius: 13px; background: rgba(255,255,255,.025); }
.plugin-release-icon { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid var(--cb-accent-soft); border-radius: 11px; color: var(--cb-accent); background: var(--cb-accent-soft); font-size: .77rem; font-weight: 800; letter-spacing: .06em; }
.plugin-release-current > div { min-width: 0; display: grid; flex: 1; gap: 4px; }
.plugin-release-current small { color: var(--cb-muted); font-size: .63rem; font-weight: 700; letter-spacing: .1em; }
.plugin-release-current strong { overflow: hidden; color: var(--cb-text); font-size: .96rem; text-overflow: ellipsis; }
.plugin-release-version { color: var(--cb-muted); font-size: .77rem; }
.plugin-upload-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(155px,.45fr) minmax(180px,.55fr) auto; align-items: end; gap: 12px; }
.plugin-file-picker, .plugin-version-field { min-width: 0; min-height: 46px; display: grid; gap: 6px; color: #d4cdda; font-size: .78rem; font-weight: 600; }
.plugin-file-picker { position: relative; min-height: 72px; align-content: center; padding: 10px 13px; border: 1px dashed var(--cb-border); border-radius: 10px; background: rgba(255,255,255,.025); cursor: pointer; }
.plugin-file-picker:hover { border-color: var(--cb-accent); background: var(--cb-accent-soft); }
.plugin-file-picker > span { overflow: hidden; color: var(--cb-text); font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }
.plugin-file-picker small { color: var(--cb-muted); font-size: .68rem; font-weight: 450; }
.plugin-file-picker input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.plugin-version-control { display: grid; align-self: stretch; gap: 8px; }
.plugin-version-mode { display: flex; align-items: flex-start; gap: 9px; min-height: 72px; padding: 11px 12px; border: 1px solid var(--cb-border); border-radius: 10px; background: rgba(255,255,255,.025); cursor: pointer; }
.plugin-version-mode input { flex: 0 0 auto; margin-top: 3px; accent-color: var(--cb-accent); }
.plugin-version-mode span { display: grid; gap: 4px; }
.plugin-version-mode strong { color: var(--cb-text); font-size: .76rem; }
.plugin-version-mode small { color: var(--cb-muted); font-size: .65rem; font-weight: 450; line-height: 1.45; }
.plugin-version-field[hidden] { display: none; }
.plugin-version-field input { width: 100%; min-height: 46px; padding: 10px 11px; border: 1px solid var(--cb-border); border-radius: 9px; color: var(--cb-text); background: var(--cb-bg); font: inherit; }
.plugin-upload-status { min-height: 20px; margin: 10px 0 0; color: var(--cb-muted); font-size: .78rem; line-height: 1.5; }
.plugin-upload-status[data-state="success"] { color: #b7a5ca; }
.plugin-upload-status[data-state="error"] { color: #e09aa8; }
.site-admin-header .cb-site-nav button { min-height: 41px; padding: 8px 12px; border: 1px solid var(--cb-border); border-radius: 9px; color: var(--cb-text); background: var(--cb-surface-raised); font: inherit; font-size: .85rem; cursor: pointer; }
.site-admin-header .cb-site-nav button:hover { border-color: var(--cb-accent); }
@media (max-width: 760px) {
    .plugin-upload-fields { grid-template-columns: 1fr 1fr; }
    .plugin-file-picker { grid-column: 1 / -1; }
    .plugin-release-current { flex-wrap: wrap; }
    .plugin-release-current > a { width: 100%; }
}
@media (max-width: 560px) {
    .cb-site-header { gap: 12px; }
    .cb-site-nav { gap: 12px; }
    .site-home .cb-site-nav { gap: 13px; }
    .plugin-upload-fields { grid-template-columns: 1fr; }
    .plugin-file-picker { grid-column: auto; }
    .cb-contact-form { padding: 18px; }
}

/* Keep the owner preview aligned with the simple player game picker. */
.preview-brand-name { display: inline-flex; align-items: center; color: #e9edf3; font-size: .8rem; font-weight: 720; letter-spacing: -.02em; }
.preview-brand-name > span { color: var(--cb-accent); }
.preview-welcome { margin: 28px 1px 13px; }
.preview-welcome h3 { margin: 0; color: #f0f1f6; font-size: 1.35rem; line-height: 1.15; letter-spacing: -.045em; }
.preview-message { margin: 8px 0 0; color: #9aa5b4; font-size: .65rem; line-height: 1.5; }
.preview-message[hidden] { display: none; }
.preview-game-card > strong { flex: 1; color: #e4e8ee; font-size: .7rem; font-weight: 650; }
.preview-game-card > b { margin-left: auto; }

/* Server history */
.admin-history { margin: 12px 0 34px; padding: 26px; border: 1px solid var(--cb-border); border-radius: 18px; background: rgba(31,29,36,.94); box-shadow: 0 18px 45px rgba(0,0,0,.14); }
.admin-history-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.admin-history-heading .admin-eyebrow { margin-bottom: 7px; }
.admin-history-heading h2 { margin: 0; color: var(--cb-text); font-size: clamp(1.35rem,2vw,1.75rem); letter-spacing: -.04em; }
.admin-history-heading p:last-child { max-width: 650px; margin: 8px 0 0; color: var(--cb-muted); font-size: .84rem; line-height: 1.55; }
.admin-history-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.admin-history-actions button,
.admin-history-actions a,
.admin-history-more { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 9px 13px; border: 1px solid var(--cb-border); border-radius: 9px; color: var(--cb-text); background: var(--cb-surface-raised); font: inherit; font-size: .76rem; font-weight: 650; text-decoration: none; cursor: pointer; }
.admin-history-actions button:hover,
.admin-history-actions a:hover,
.admin-history-more:hover { border-color: var(--cb-accent); background: var(--cb-accent-soft); }
.admin-history-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 10px; margin-top: 22px; }
.admin-history-summary > div { min-width: 0; padding: 15px 16px; border: 1px solid var(--cb-border); border-radius: 12px; background: rgba(255,255,255,.025); }
.admin-history-summary span { display: block; color: var(--cb-muted); font-size: .65rem; font-weight: 680; letter-spacing: .08em; text-transform: uppercase; }
.admin-history-summary strong { display: block; overflow: hidden; margin-top: 7px; color: var(--cb-text); font-size: 1.22rem; letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap; }
.admin-history-summary strong[data-result="positive"] { color: #b8d6bd; }
.admin-history-summary strong[data-result="negative"] { color: #dda0ac; }
.admin-history-summary small { display: block; overflow: hidden; margin-top: 4px; color: var(--cb-muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-history-filters { display: grid; grid-template-columns: minmax(220px,1fr) repeat(3,minmax(125px,.42fr)); gap: 10px; margin-top: 16px; }
.admin-history-filters label { display: grid; gap: 6px; color: var(--cb-muted); font-size: .67rem; font-weight: 650; }
.admin-history-filters input,
.admin-history-filters select { box-sizing: border-box; width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--cb-border); border-radius: 9px; outline: 0; color: var(--cb-text); background: var(--cb-bg); font: inherit; font-size: .78rem; }
.admin-history-filters input:focus,
.admin-history-filters select:focus { border-color: var(--cb-accent); box-shadow: 0 0 0 3px var(--cb-accent-soft); }
.admin-history-status { min-height: 18px; margin: 14px 1px 9px; color: var(--cb-muted); font-size: .72rem; }
.admin-history-list { display: grid; gap: 8px; }
.history-event { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 12px; padding: 14px; border: 1px solid var(--cb-border); border-radius: 12px; background: rgba(8,10,15,.22); }
.history-event-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: var(--cb-accent); background: var(--cb-accent-soft); font-size: .72rem; }
.history-settings .history-event-icon { color: #dbc18f; background: rgba(197,151,75,.12); }
.history-system .history-event-icon { color: #93b7d0; background: rgba(86,143,180,.12); }
.history-player .history-event-icon { color: #c3abd8; background: rgba(151,116,181,.12); }
.history-event-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.history-event-head h3 { margin: 0; color: var(--cb-text); font-size: .86rem; font-weight: 680; }
.history-event-head time { flex: 0 0 auto; color: var(--cb-muted); font-size: .66rem; }
.history-event-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.history-badge { padding: 3px 6px; border: 1px solid var(--cb-border); border-radius: 999px; color: var(--cb-muted); background: rgba(255,255,255,.02); font-size: .57rem; font-weight: 680; letter-spacing: .045em; text-transform: uppercase; }
.history-outcome-win { color: #b8d6bd; border-color: rgba(125,190,139,.25); background: rgba(125,190,139,.08); }
.history-outcome-loss { color: #dda0ac; border-color: rgba(207,107,125,.25); background: rgba(207,107,125,.08); }
.history-event-description { margin: 8px 0 0; color: var(--cb-muted); font-size: .76rem; line-height: 1.5; }
.history-event-player { display: flex; flex-wrap: wrap; gap: 7px 12px; margin: 8px 0 0; font-size: .67rem; }
.history-event-player strong { color: var(--cb-text); }
.history-event-player span { color: var(--cb-muted); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; }
.history-event-amounts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.history-amount { padding: 5px 7px; border-radius: 7px; color: var(--cb-muted); background: rgba(255,255,255,.035); font-size: .64rem; }
.history-amount-payout { color: #b8d6bd; background: rgba(125,190,139,.08); }
.history-amount-bet { color: #d7c8e5; background: var(--cb-accent-soft); }
.history-event-details { margin-top: 9px; }
.history-event-details summary { width: max-content; color: var(--cb-muted); font-size: .66rem; cursor: pointer; }
.history-event-details[open] summary { color: var(--cb-text); }
.history-event-details pre { max-height: 330px; overflow: auto; margin: 9px 0 0; padding: 11px; border: 1px solid var(--cb-border); border-radius: 8px; color: #c9c4cf; background: rgba(4,5,8,.42); font: .64rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; white-space: pre-wrap; word-break: break-word; }
.admin-history-more { width: 100%; margin-top: 10px; }
.admin-history-more[hidden] { display: none; }
@media (max-width: 800px) {
    .admin-history-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-history-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .admin-history-search { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    .admin-history { padding: 18px 15px; }
    .admin-history-heading { display: grid; }
    .admin-history-actions { width: 100%; }
    .admin-history-actions > * { flex: 1; }
    .admin-history-filters { grid-template-columns: 1fr; }
    .admin-history-search { grid-column: auto; }
    .history-event-head { display: grid; gap: 7px; }
    .history-event-head time { order: -1; }
}

/* Internal admin dashboard */
.site-admin-page { --admin-panel: rgba(31,29,36,.82); --admin-panel-soft: rgba(255,255,255,.025); }
.site-admin-shell { width: min(1160px,calc(100% - 48px)); }
.site-admin-intro { padding-bottom: 22px; }
.site-admin-nav { position: sticky; top: 10px; z-index: 20; display: flex; align-items: center; gap: 6px; margin-bottom: 18px; padding: 7px; border: 1px solid var(--cb-border); border-radius: 13px; background: rgba(21,20,26,.9); box-shadow: 0 14px 35px rgba(0,0,0,.2); backdrop-filter: blur(14px); }
.site-admin-nav a { padding: 8px 11px; border-radius: 8px; color: var(--cb-muted); font-size: .73rem; font-weight: 650; text-decoration: none; }
.site-admin-nav a:hover { color: var(--cb-text); background: var(--cb-surface-raised); }
.site-admin-nav a[aria-current="page"] { color: var(--cb-text); background: var(--cb-accent-soft); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--cb-accent) 30%,transparent); }
.site-admin-nav span { margin-left: auto; padding-right: 8px; color: var(--cb-muted); font-size: .67rem; }
.site-admin-section[hidden] { display: none; }
.site-admin-section { scroll-margin-top: 78px; padding: 29px 0 34px; }
.site-admin-section-head h2 { font-size: 1.35rem; }
.site-admin-overview { border-top: 0; }
.site-admin-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.site-admin-stat-grid article { min-width: 0; padding: 17px 18px; border: 1px solid var(--cb-border); border-radius: 13px; background: var(--admin-panel); box-shadow: 0 12px 34px rgba(0,0,0,.08); }
.site-admin-stat-grid span { display: block; color: var(--cb-muted); font-size: .65rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.site-admin-stat-grid strong { display: block; margin: 8px 0 4px; color: var(--cb-text); font-size: 1.65rem; line-height: 1; letter-spacing: -.045em; }
.site-admin-stat-grid small { display: block; overflow: hidden; color: var(--cb-muted); font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
#statVersions[data-state="warning"] { color: #e2b475; }
#statVersions[data-state="current"] { color: #a7c9ad; }
.site-admin-money-grid { display: grid; gap: 10px; margin-top: 10px; }
.site-admin-money-grid[hidden] { display: none; }
.site-admin-period { align-self: center; padding: 7px 10px; border: 1px solid var(--cb-border); border-radius: 999px; color: var(--cb-muted); background: var(--admin-panel-soft); font-size: .68rem; white-space: nowrap; }
.site-admin-download-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.site-admin-analytics-layout { display: grid; grid-template-columns: minmax(0,2.25fr) minmax(220px,.75fr); gap: 10px; margin-top: 10px; }
.site-admin-chart-card,.site-admin-delivery-card,.site-admin-recent-card { border: 1px solid var(--cb-border); border-radius: 13px; background: var(--admin-panel); box-shadow: 0 12px 34px rgba(0,0,0,.08); }
.site-admin-chart-card { min-width: 0; padding: 17px 18px 12px; }
.site-admin-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.site-admin-card-head > div:first-child { display: grid; gap: 3px; }
.site-admin-card-head strong { color: var(--cb-text); font-size: .82rem; }
.site-admin-card-head small { color: var(--cb-muted); font-size: .67rem; }
.site-admin-chart-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; color: var(--cb-muted); font-size: .63rem; }
.site-admin-chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.site-admin-chart-legend i { width: 7px; height: 7px; border-radius: 2px; background: var(--cb-accent); }
.site-admin-chart-legend i[data-series="manual"] { background: #9581ad; }
.site-admin-chart-legend i[data-series="failed"] { background: #b9686f; }
.site-admin-chart { width: 100%; height: 250px; overflow: hidden; }
.site-admin-chart svg { display: block; width: 100%; height: 100%; }
.chart-grid-line { stroke: color-mix(in srgb,var(--cb-border) 80%,transparent); stroke-width: 1; vector-effect: non-scaling-stroke; }
.chart-axis-label { fill: var(--cb-muted); font: 10px Inter,ui-sans-serif,system-ui,sans-serif; }
.chart-bar { fill: var(--cb-accent); }
.chart-bar-manual { fill: #9581ad; }
.chart-bar-failed { fill: #b9686f; }
.site-admin-delivery-card { display: grid; align-content: stretch; }
.site-admin-delivery-card > div { display: grid; align-content: center; gap: 3px; min-height: 92px; padding: 15px 17px; border-bottom: 1px solid var(--cb-border); }
.site-admin-delivery-card > div:last-child { border-bottom: 0; }
.site-admin-delivery-card small { color: var(--cb-muted); font-size: .61rem; font-weight: 700; letter-spacing: .08em; }
.site-admin-delivery-card strong { color: var(--cb-text); font-size: 1.22rem; letter-spacing: -.035em; }
.site-admin-delivery-card span { overflow: hidden; color: var(--cb-muted); font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.site-admin-recent-card { margin-top: 10px; padding: 17px 18px; }
.site-admin-download-recent { display: grid; }
.site-admin-download-row { display: grid; grid-template-columns: 86px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 11px 0; border-top: 1px solid var(--cb-border); }
.site-admin-download-row > div { display: grid; min-width: 0; gap: 3px; }
.site-admin-download-row strong { overflow: hidden; color: var(--cb-text); font-size: .73rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.site-admin-download-row small,.site-admin-download-duration { color: var(--cb-muted); font-size: .65rem; }
.site-admin-download-state { width: fit-content; padding: 4px 7px; border-radius: 6px; color: #b8d6bc; background: rgba(95,145,103,.15); font-size: .61rem; font-weight: 700; }
.site-admin-download-state.is-aborted,.site-admin-download-state.is-failed { color: #e0a3a8; background: rgba(185,104,111,.14); }
.site-admin-money-card { display: grid; grid-template-columns: minmax(130px,.4fr) 1fr; align-items: center; gap: 22px; padding: 15px 18px; border: 1px solid var(--cb-border); border-radius: 13px; background: var(--admin-panel-soft); }
.site-admin-money-card > strong { color: var(--cb-text); font-size: .79rem; }
.site-admin-money-values { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.site-admin-money-values span { display: grid; gap: 3px; }
.site-admin-money-values small { color: var(--cb-muted); font-size: .61rem; text-transform: uppercase; letter-spacing: .06em; }
.site-admin-money-values b { color: var(--cb-text); font-size: .85rem; font-weight: 680; }
.site-admin-money-values .is-positive b { color: #afd1b5; }
.site-admin-money-values .is-negative b { color: #dda0ac; }
.site-admin-server-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.site-admin-server-list > .site-admin-empty { grid-column: 1 / -1; }
.site-server-card { display: flex; flex-direction: column; min-width: 0; padding: 19px; border-radius: 15px; background-color: var(--admin-panel); box-shadow: 0 15px 38px rgba(0,0,0,.11); }
.site-server-top { align-items: flex-start; }
.site-server-icon { flex-basis: 47px; width: 47px; height: 47px; border-radius: 11px; }
.site-server-title h3 { font-size: .94rem; }
.site-server-state { display: grid; justify-items: end; gap: 7px; text-align: right; }
.site-server-version { max-width: 220px; padding: 5px 8px; border: 1px solid var(--cb-border); border-radius: 999px; color: var(--cb-muted); background: rgba(0,0,0,.15); font-size: .59rem; line-height: 1.25; }
.site-server-version.is-current { color: #afd1b5; border-color: rgba(120,184,133,.25); background: rgba(120,184,133,.09); }
.site-server-version.is-outdated { color: #edbd7a; border-color: rgba(221,161,80,.3); background: rgba(221,161,80,.1); }
.site-server-version.is-unknown { color: #c5b7d2; }
.site-server-quick-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 17px; overflow: hidden; border: 1px solid var(--cb-border); border-radius: 11px; background: var(--cb-border); }
.site-server-quick-stats > span { display: grid; gap: 4px; padding: 11px 12px; background: rgba(24,22,28,.88); }
.site-server-quick-stats b { color: var(--cb-text); font-size: .9rem; }
.site-server-quick-stats small { color: var(--cb-muted); font-size: .59rem; }
.site-server-content { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: 16px; margin-top: 17px; }
.site-server-group { min-width: 0; }
.site-server-group > strong { display: block; margin-bottom: 10px; color: var(--cb-muted); font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.site-server-players { display: block; padding: 0; border: 0; }
.site-server-player-grid { display: flex; flex-wrap: wrap; gap: 7px; max-height: 113px; overflow: auto; }
.site-server-player { display: flex; align-items: center; gap: 7px; min-width: 0; max-width: 100%; padding: 5px 8px 5px 5px; border: 1px solid var(--cb-border); border-radius: 9px; background: rgba(0,0,0,.12); }
.site-server-player > span { overflow: hidden; color: var(--cb-text); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.site-player-head { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 6px; image-rendering: pixelated; object-fit: cover; background: var(--cb-surface-raised); }
.site-player-head-fallback { display: grid; place-items: center; color: var(--cb-accent); font-size: .68rem; font-weight: 750; }
.site-server-no-players { margin: 0; color: var(--cb-muted); font-size: .68rem; }
.site-server-meta { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; }
.site-server-meta-item small { font-size: .58rem; }
.site-server-meta-item span { font-size: .65rem; }
.site-server-join-editor { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 8px 10px; margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--cb-border); }
.site-server-join-editor label { display: grid; gap: 6px; min-width: 0; color: var(--cb-muted); font-size: .64rem; font-weight: 650; }
.site-server-join-input { box-sizing: border-box; width: 100%; min-width: 0; height: 36px; padding: 0 10px; border: 1px solid var(--cb-border); border-radius: 8px; outline: 0; color: var(--cb-text); background: color-mix(in srgb,var(--cb-bg) 82%,transparent); font: .72rem ui-monospace,SFMono-Regular,Consolas,monospace; }
.site-server-join-input:focus { border-color: var(--cb-accent); box-shadow: 0 0 0 3px var(--cb-accent-soft); }
.site-server-join-save { min-height: 36px; padding: 0 12px; border: 1px solid var(--cb-border); border-radius: 8px; color: var(--cb-text); background: var(--cb-surface-raised); font-size: .68rem; font-weight: 700; cursor: pointer; }
.site-server-join-save:hover { border-color: var(--cb-accent); }
.site-server-join-save:disabled { cursor: wait; opacity: .65; }
.site-server-join-status { grid-column: 1 / -1; color: var(--cb-muted); font-size: .61rem; line-height: 1.5; }
.site-server-join-status[data-state="success"] { color: #8fd19a; }
.site-server-join-status[data-state="error"] { color: #ef9a9a; }
.site-server-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; padding-top: 17px; }
.site-server-footer > span { color: var(--cb-muted); font-size: .61rem; }
.site-server-actions { display: flex; align-items: center; gap: 7px; }
.site-server-plus-controls { display: flex; align-items: center; gap: 6px; }
.site-server-plus-state { color: var(--cb-muted); font-size: .63rem; white-space: nowrap; }
.site-server-plus-duration { min-height: 36px; max-width: 108px; padding: 7px 25px 7px 9px; border: 1px solid rgba(205,170,92,.22); border-radius: 9px; color: var(--cb-text); background: rgba(255,255,255,.04); font: inherit; font-size: .68rem; }
.site-server-plus { min-height: 36px; padding: 8px 11px; border: 1px solid rgba(205,170,92,.28); border-radius: 9px; color: #d9bd79; background: rgba(190,145,62,.08); font: inherit; font-size: .7rem; cursor: pointer; }
.site-server-plus:hover { border-color: rgba(205,170,92,.52); background: rgba(190,145,62,.14); }
.site-server-plus.is-active { color: #b9d9bd; border-color: rgba(120,184,133,.3); background: rgba(120,184,133,.1); }
.site-server-plus:disabled { opacity: .6; cursor: wait; }
.site-server-open { margin: 0; flex: 0 0 auto; }

/* Minecraft player identity inside server logs */
.history-event-player { align-items: center; gap: 9px; }
.history-player-avatar { width: 36px; height: 36px; flex: 0 0 36px; border: 1px solid var(--cb-border); border-radius: 8px; image-rendering: pixelated; object-fit: cover; background: var(--cb-surface-raised); }
.history-player-avatar-fallback { display: grid; place-items: center; color: var(--cb-accent); font-size: .78rem; font-weight: 750; }
.history-event-player .history-player-avatar-fallback { color: var(--cb-accent); font-family: inherit; }
.history-event-player-text { display: flex; flex-wrap: wrap; gap: 5px 10px; min-width: 0; margin: 0; }
.history-event-player-text strong { width: 100%; }
.history-event-player-text span { overflow-wrap: anywhere; }

@media (max-width: 900px) {
    .site-admin-server-list { grid-template-columns: 1fr; }
    .site-admin-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .site-admin-analytics-layout { grid-template-columns: 1fr; }
    .site-admin-delivery-card { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .site-admin-delivery-card > div { min-height: 82px; border-right: 1px solid var(--cb-border); border-bottom: 0; }
    .site-admin-delivery-card > div:last-child { border-right: 0; }
}
@media (max-width: 700px) {
    .site-admin-shell { width: calc(100% - 32px); }
    .site-admin-nav { top: 6px; overflow-x: auto; }
    .site-admin-nav span { display: none; }
    .site-admin-nav a { white-space: nowrap; }
    .site-admin-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .site-admin-money-card { grid-template-columns: 1fr; gap: 11px; }
    .site-server-content { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .site-admin-stat-grid { grid-template-columns: 1fr; }
    .site-admin-download-stats { grid-template-columns: 1fr; }
    .site-admin-card-head { flex-direction: column; }
    .site-admin-chart-legend { justify-content: flex-start; }
    .site-admin-chart { height: 210px; }
    .site-admin-delivery-card { grid-template-columns: 1fr; }
    .site-admin-delivery-card > div { border-right: 0; border-bottom: 1px solid var(--cb-border); }
    .site-admin-download-row { grid-template-columns: 82px minmax(0,1fr); }
    .site-admin-download-duration { display: none; }
    .site-admin-money-values { grid-template-columns: 1fr; }
    .site-server-top { display: grid; }
    .site-server-state { justify-items: start; text-align: left; }
    .site-server-footer { align-items: flex-start; flex-direction: column; }
    .site-server-actions { width: 100%; }
    .site-server-plus-controls { flex: 1; flex-wrap: wrap; }
    .site-server-open, .site-server-plus { flex: 1; }
    .site-server-join-editor { grid-template-columns: 1fr; }
    .site-server-join-save { width: 100%; }
}

/* Roomier server owner dashboard */
.admin-page { background-image: radial-gradient(ellipse at 18% -12%,var(--cb-accent-soft),transparent 36%),linear-gradient(180deg,rgba(255,255,255,.018),transparent 28%) !important; }
.admin-shell { width: min(1180px,calc(100% - 64px)); }
.admin-intro { align-items: center; padding: 40px 0 25px; }
.admin-breadcrumb { margin-bottom: 20px; }
.admin-intro h1 { max-width: 720px; font-size: clamp(2.1rem,4vw,2.7rem); }
.admin-lede { max-width: 660px; }
.admin-intro-side { width: min(100%,330px); display: grid; gap: 10px; }
.admin-intro-side .admin-intro-note { box-sizing: border-box; width: 100%; max-width: none; margin: 0; }
.owner-version-card { display: grid; gap: 5px; padding: 15px 16px; border: 1px solid var(--cb-border); border-radius: 12px; background: color-mix(in srgb,var(--cb-surface) 92%,transparent); }
.owner-version-card > span { color: var(--cb-muted); font-size: .61rem; font-weight: 720; letter-spacing: .11em; }
.owner-version-card strong { color: var(--cb-text); font-size: .94rem; }
.owner-version-card small { color: var(--cb-muted); font-size: .69rem; line-height: 1.5; }
.owner-version-card a { justify-self: start; margin-top: 3px; color: #edbd7a; font-size: .7rem; font-weight: 680; text-decoration: none; }
.owner-version-card.is-current { border-color: rgba(120,184,133,.25); background: rgba(120,184,133,.07); }
.owner-version-card.is-current > span, .owner-version-card.is-current strong { color: #b7d7bd; }
.owner-version-card.is-outdated { border-color: rgba(221,161,80,.35); background: rgba(221,161,80,.09); }
.owner-version-card.is-outdated > span, .owner-version-card.is-outdated strong { color: #edbd7a; }
.owner-version-card.is-unknown { border-color: rgba(184,166,202,.28); }
.owner-section-switcher { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 30px; padding: 13px 15px; border: 1px solid var(--cb-border); border-radius: 14px; background: color-mix(in srgb,var(--cb-bg) 92%,transparent); box-shadow: 0 14px 36px rgba(0,0,0,.16); }
.owner-section-switcher>div>span,.owner-section-switcher>div>strong { display: block; }.owner-section-switcher>div>span { color: var(--cb-accent); font-size: .55rem; font-weight: 750; letter-spacing: .12em; }.owner-section-switcher>div>strong { margin-top: 4px; color: var(--cb-text); font-size: .86rem; }
.owner-section-switcher label { display: flex; align-items: center; gap: 9px; color: var(--cb-muted); font-size: .65rem; }.owner-section-switcher select { min-width: 180px; padding: 9px 34px 9px 11px; border: 1px solid var(--cb-border); border-radius: 9px; outline: 0; color: var(--cb-text); background-color: #24222a; font: inherit; font-weight: 650; }.owner-section-switcher select:focus { border-color: var(--cb-accent); box-shadow: 0 0 0 3px var(--cb-accent-soft); }.owner-section-switcher option { color: #f2eff5; background: #24222a; }
.owner-plus-badge { margin-left: 3px; padding: 3px 6px; border: 1px solid rgba(215,184,118,.32); border-radius: 999px; color: #e7c77f; background: rgba(190,145,62,.11); font-size: .52rem; letter-spacing: .09em; }
.owner-plus-card { overflow: hidden; background: radial-gradient(ellipse at 100% 0%,rgba(205,170,92,.12),transparent 42%),rgba(25,24,29,.94); }
.owner-plus-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; }
.owner-plus-hero > div { max-width: 690px; }
.owner-plus-hero > span { color: #ddbd74; font-size: 2.5rem; }
.owner-plus-hero h2 { margin: 13px 0 8px; color: var(--cb-text); font-size: 1.45rem; letter-spacing: -.04em; }
.owner-plus-hero p, .owner-plus-features p, .owner-plus-footer p { color: var(--cb-muted); line-height: 1.65; }
.owner-plus-hero p { margin: 0; font-size: .84rem; }
.owner-plus-card .admin-soon-badge { color: #dbc082; background: rgba(190,145,62,.12); }
.owner-plus-card.is-active { border-color: rgba(205,170,92,.38); }
.owner-plus-card.is-active .admin-soon-badge { color: #b9d9bd; background: rgba(120,184,133,.11); }
.owner-plus-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 26px; }
.owner-plus-features article { padding: 17px; border: 1px solid var(--cb-border); border-radius: 12px; background: rgba(255,255,255,.022); }
.owner-plus-features article > span { color: #bfa462; font-size: .61rem; font-weight: 750; }
.owner-plus-features strong { display: block; margin-top: 9px; color: var(--cb-text); font-size: .82rem; }
.owner-plus-features p { margin: 7px 0 0; font-size: .7rem; }
.owner-plus-footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--cb-border); }
.owner-plus-footer p { margin: 0; font-size: .73rem; }
.owner-plus-footer .cb-button { flex: 0 0 auto; }
.owner-plus-footer .cb-button:disabled { opacity: .55; cursor: not-allowed; }
.admin-layout { display: block; padding-bottom: 42px; }
.admin-layout.has-preview { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 34px; }
.admin-layout[hidden], [data-owner-panel][hidden] { display: none !important; }

.owner-console { padding: 16px 0 42px; }
.owner-console-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(340px,1fr); gap: 16px; margin-top: 19px; }
.console-side { display: grid; align-content: start; gap: 14px; }
.console-card { min-width: 0; padding: 20px; border: 1px solid var(--cb-border); border-radius: 16px; background: linear-gradient(145deg,rgba(32,30,38,.93),rgba(23,22,28,.92)); box-shadow: 0 18px 45px rgba(0,0,0,.16); }
.console-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.console-card-head strong,.console-card-head small { display: block; }
.console-card-head>div>strong { color: var(--cb-text); font-size: .92rem; }.console-card-head small { margin-top: 4px; color: var(--cb-muted); font-size: .7rem; line-height: 1.45; }
.console-filter { display: flex; align-items: center; gap: 7px; color: var(--cb-muted); font-size: .65rem; }.console-filter select { width: auto; min-width: 142px; padding: 8px 30px 8px 10px; border: 1px solid var(--cb-border); border-radius: 9px; color: var(--cb-text); background-color: #24222a; }.console-filter option { color: #f2eff5; background: #24222a; }
.console-feed { height: 470px; overflow: auto; border: 1px solid rgba(255,255,255,.065); border-radius: 12px; background: #111015; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; box-shadow: inset 0 1px 18px rgba(0,0,0,.24); }
.console-event { display: grid; grid-template-columns: 70px 66px 112px minmax(0,1fr); gap: 8px; padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.05); font-size: .71rem; line-height: 1.45; }
.console-event time { color: #777480; }.console-event>span { color: var(--cb-accent); text-transform: uppercase; }.console-event strong { overflow: hidden; text-overflow: ellipsis; }.console-event p { margin: 0; overflow-wrap: anywhere; color: #d9d6df; }
.console-empty { margin: 0; padding: 20px; color: var(--cb-muted); font-size: .78rem; }.console-empty-state { display: grid; min-height: 170px; place-content: center; gap: 7px; text-align: center; }.console-empty-state strong { color: var(--cb-text); font-size: .82rem; }.console-empty-state span { max-width: 360px; line-height: 1.55; }
.console-composer { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.console-composer input,.console-player input { box-sizing: border-box; min-width: 0; width: 100%; min-height: 42px; border: 1px solid var(--cb-border); border-radius: 10px; outline: 0; color: var(--cb-text); background: #17161b; }.console-composer input:focus,.console-player input:focus { border-color: var(--cb-accent); box-shadow: 0 0 0 3px var(--cb-accent-soft); }
.console-input-wrap { position: relative; }.console-input-wrap>span { position: absolute; z-index: 2; top: 50%; left: 12px; color: var(--cb-accent); font: 700 .85rem ui-monospace,SFMono-Regular,Consolas,monospace; transform: translateY(-50%); }.console-input-wrap input { padding-left: 25px; }
.console-composer button,.console-player button { min-height: 42px; border: 1px solid color-mix(in srgb,var(--cb-accent) 45%,transparent); border-radius: 10px; padding: 0 15px; color: var(--cb-text); background: color-mix(in srgb,var(--cb-accent) 16%,#24212a); font-weight: 700; cursor: pointer; white-space: nowrap; }.console-composer button:hover,.console-player button:hover { background: color-mix(in srgb,var(--cb-accent) 25%,#24212a); }
.console-preview { margin-top: 11px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.055); border-radius: 10px; background: rgba(0,0,0,.16); }.console-preview small { display: block; margin-bottom: 6px; color: var(--cb-muted); font-size: .54rem; font-weight: 700; letter-spacing: .11em; }.console-preview code { color: #e7dff0; font-size: .7rem; overflow-wrap: anywhere; }.console-chat-preview p { margin: 0; color: #eeeaf1; font-size: .72rem; line-height: 1.5; }.console-chat-preview b { color: var(--cb-accent); }
.console-suggestions { display: grid; max-height: 190px; margin-top: 8px; overflow: auto; border: 1px solid var(--cb-border); border-radius: 10px; background: #18171d; }.console-suggestions button { display: flex; align-items: center; justify-content: space-between; padding: 8px 11px; border: 0; border-bottom: 1px solid rgba(255,255,255,.05); color: var(--cb-text); background: transparent; text-align: left; cursor: pointer; }.console-suggestions button:hover { background: var(--cb-accent-soft); }.console-suggestions b { font: 650 .7rem ui-monospace,SFMono-Regular,Consolas,monospace; }.console-suggestions span { color: var(--cb-muted); font-size: .61rem; }
.console-status { min-height: 1.2em; margin: 9px 0 0; color: var(--cb-muted); font-size: .7rem; overflow-wrap: anywhere; }
.console-connection { color: var(--cb-muted); font-size: .72rem; }.console-connection[data-state="live"] { color: #73df99; }
.console-players-card { margin-top: 16px; }.console-players { display: grid; gap: 9px; }
.console-player { display: grid; grid-template-columns: minmax(190px,.8fr) minmax(145px,.45fr) minmax(265px,.9fr); gap: 18px; align-items: center; padding: 14px; border: 1px solid rgba(255,255,255,.06); border-radius: 12px; background: rgba(255,255,255,.025); }
.console-player-identity { display: flex; align-items: center; gap: 10px; min-width: 0; }.console-player-avatar { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border: 1px solid color-mix(in srgb,var(--cb-accent) 30%,transparent); border-radius: 9px; color: var(--cb-accent); background: var(--cb-accent-soft); font-weight: 750; }
.console-player strong,.console-player small { display: block; overflow: hidden; text-overflow: ellipsis; }.console-player small { margin-top: 3px; color: var(--cb-muted); font-size: .59rem; }.console-wallet-current>strong { margin-top: 4px; color: var(--cb-text); font-size: .84rem; }.console-wallet-current>strong span { color: var(--cb-muted); font-size: .62rem; font-weight: 500; }
.console-player form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; }.console-player label span { display: block; margin-bottom: 5px; color: var(--cb-muted); font-size: .57rem; font-weight: 650; letter-spacing: .05em; text-transform: uppercase; }
@media (max-width: 850px) { .owner-console-grid,.console-players { grid-template-columns: 1fr; }.console-feed { height: 330px; }.console-event { grid-template-columns: 62px 55px minmax(70px,90px) minmax(0,1fr); }.console-player { grid-template-columns: 1fr; } }
.admin-settings { gap: 32px; }
.admin-settings-group, .admin-history { scroll-margin-top: 82px; }
.admin-group-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; margin-bottom: 14px; padding: 0 3px 13px; border-bottom: 1px solid var(--cb-border); }
.admin-group-heading > div { display: flex; align-items: center; }
.admin-group-heading h2 { margin: 0; color: var(--cb-text); font-size: 1.25rem; letter-spacing: -.035em; }
.admin-group-heading p { max-width: 410px; margin: 0; color: var(--cb-muted); font-size: .75rem; line-height: 1.55; text-align: right; }
.admin-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: stretch; }
.admin-card-grid .admin-card-wide { grid-column: 1 / -1; }
.admin-card { padding: 24px; border-radius: 14px; background-image: linear-gradient(150deg,rgba(255,255,255,.018),transparent 48%); box-shadow: 0 13px 34px rgba(0,0,0,.11); }
.admin-card-grid > .admin-card { height: 100%; box-sizing: border-box; }
.admin-section-heading { gap: 12px; margin-bottom: 18px; padding-bottom: 15px; border-bottom: 1px solid var(--cb-border); }
.admin-step { width: auto; min-width: 27px; height: 25px; padding: 0 8px; flex: 0 0 auto; white-space: nowrap; line-height: 1; border: 1px solid color-mix(in srgb,var(--cb-accent) 22%,transparent); border-radius: 999px; font-size: .56rem; letter-spacing: .075em; text-transform: uppercase; }
.admin-section-heading > div { min-width: 0; }
.admin-section-heading h2 { font-size: 1.08rem; }
.admin-section-heading p { max-width: 580px; font-size: .8rem; }
.admin-card-wide .admin-theme-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.admin-card-wide .admin-theme-choice { padding: 11px; }
.admin-card-wide .admin-theme-swatch { height: 67px; }
.admin-game-row { min-height: 58px; padding: 9px 11px; border-radius: 9px; background: color-mix(in srgb,var(--cb-bg) 54%,transparent); }
.admin-card-wide > .admin-permission-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
.admin-card-wide > .admin-permission-list .admin-game-row:last-child:nth-child(odd) { grid-column: 1 / -1; }
.admin-permission-list, .admin-game-list { gap: 9px; }
.admin-card input[type="text"], .admin-card input[type="number"], .admin-card select, .admin-card textarea { border-color: var(--cb-border); border-radius: 9px; color: var(--cb-text); background: color-mix(in srgb,var(--cb-bg) 82%,transparent); }
.admin-card input[type="text"]:focus, .admin-card input[type="number"]:focus, .admin-card select:focus, .admin-card textarea:focus { outline: 0; border-color: var(--cb-accent); box-shadow: 0 0 0 3px var(--cb-accent-soft); }
.admin-permission-save button, .economy-save-row button { min-height: 39px; border: 1px solid var(--cb-border) !important; border-radius: 9px; color: var(--cb-text) !important; background: var(--cb-surface-raised) !important; }
.admin-permission-save button:hover:not(:disabled), .economy-save-row button:hover:not(:disabled) { border-color: var(--cb-accent) !important; background: var(--cb-accent-soft) !important; }
.admin-save-row { position: sticky; z-index: 18; bottom: 12px; min-height: 54px; padding: 11px 13px; border: 1px solid var(--cb-border); border-radius: 13px; background: rgba(24,22,29,.92); box-shadow: 0 16px 38px rgba(0,0,0,.28); backdrop-filter: blur(14px); }
.admin-save-button { min-height: 42px; }
.admin-preview-column { top: 82px; }
.admin-preview { min-height: 520px; }
.admin-history { margin-top: 2px; padding: 31px; border-radius: 19px; }
.admin-history-summary { gap: 12px; margin-top: 26px; }
.admin-history-summary > div { padding: 18px; }
.admin-history-filters { gap: 12px; margin-top: 20px; }
.admin-history-list { gap: 11px; }
.history-event { padding: 17px; }

@media (max-width: 1120px) {
    .admin-shell { width: min(100% - 40px,940px); }
    .admin-layout.has-preview { grid-template-columns: minmax(0,1fr) 310px; gap: 22px; }
    .admin-card-grid { grid-template-columns: 1fr; }
    .admin-card-grid .admin-card-wide { grid-column: auto; }
    .admin-card-wide .admin-theme-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .admin-shell { width: calc(100% - 32px); }
    .admin-intro { align-items: flex-start; }
    .admin-intro-side { width: 100%; }
    .owner-section-switcher { margin-bottom: 25px; }
    .admin-layout.has-preview { grid-template-columns: 1fr; }
    .admin-preview-column { position: static; }
    .admin-card-wide > .admin-permission-list { grid-template-columns: 1fr; }
    .admin-card-wide > .admin-permission-list .admin-game-row:last-child:nth-child(odd) { grid-column: auto; }
    .admin-save-row { bottom: 8px; }
    .admin-group-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .admin-group-heading p { text-align: left; }
    .owner-plus-features { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .admin-shell { width: calc(100% - 24px); }
    .admin-card { padding: 21px 17px 23px; }
    .admin-card-wide .admin-theme-grid { grid-template-columns: 1fr 1fr; }
    .admin-save-row { align-items: stretch; }
    .admin-save-button { justify-content: space-between; width: 100%; }
    .admin-history { padding: 21px 16px; }
    .owner-plus-footer { align-items: flex-start; flex-direction: column; }
}

/* Plinko */
.plinko-layout { align-items: stretch; }
.plinko-main { min-width: 0; }
.plinko-risk { border: 0; padding: 0; margin: 0; }
.plinko-risk + .plinko-risk { margin-top: .25rem; }
.plinko-risk legend { margin-bottom: .65rem; color: #d4cdda; font-size: .88rem; font-weight: 580; }
.plinko-risk > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; padding: 4px; border: 1px solid var(--cb-border); border-radius: .85rem; background: var(--cb-bg); }
.plinko-rows > div { grid-template-columns: repeat(5, 1fr); gap: 2px; }
.cb-game-page .plinko-risk button { border: 1px solid transparent; border-radius: .62rem; padding: .68rem .3rem; background: transparent; color: var(--cb-muted); font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; transition: color .16s, border-color .16s, background .16s, transform .16s; }
.cb-game-page .plinko-risk button:hover:not(:disabled) { color: var(--cb-text); background: var(--cb-surface-raised); }
.cb-game-page .plinko-risk button.is-active { border-color: color-mix(in srgb,var(--cb-accent) 38%,var(--cb-border)); background: var(--cb-accent-soft); color: var(--cb-text); box-shadow: inset 0 1px rgba(255,255,255,.055); }
.plinko-risk button:disabled { cursor: wait; opacity: .58; }
.plinko-drop-hint { margin: -8px 0 0; color: var(--cb-muted); font-size: .7rem; line-height: 1.45; text-align: center; }
.plinko-table-card { width: min(100%, 860px); margin: 0 auto; padding: 11px; border: 1px solid var(--cb-border); border-radius: 18px; background: var(--cb-surface); box-shadow: 0 20px 55px rgba(0,0,0,.22); }
.plinko-board-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; padding: 0 9px; color: var(--cb-muted); font-size: .67rem; letter-spacing: .025em; }
.plinko-board-toolbar strong { color: var(--cb-muted); font-size: .7rem; font-weight: 600; }
.plinko-board-toolbar button { justify-self: end; border: 0; padding: 5px 7px; color: var(--cb-muted); background: transparent; font: inherit; font-size: .67rem; cursor: pointer; }
.plinko-board-toolbar button:hover { color: #e9def7; }
.plinko-board { position: relative; height: min(68vh, 650px); min-height: 455px; overflow: hidden; border: 1px solid rgba(230,225,235,.07); border-radius: .9rem; background: #111015; box-shadow: inset 0 16px 45px rgba(0,0,0,.2); }
#plinkoCanvas { position: relative; z-index: 1; display: block; width: 100%; height: 100%; }
.plinko-result { min-height: 2rem; padding: 1rem .3rem .2rem; text-align: center; color: var(--cb-muted); font-size: .95rem; font-weight: 650; }
.plinko-result[data-outcome="win"] { color: #a9efc6; }
.plinko-result[data-outcome="loss"] { color: #efa8b4; }
.plinko-payout-float { position: absolute; z-index: 2; left: 50%; bottom: 72px; padding: 5px 9px; border: 1px solid rgba(213,194,153,.2); border-radius: 999px; color: #d7c59d; background: rgba(20,19,22,.84); box-shadow: 0 5px 18px rgba(0,0,0,.2); font-size: .72rem; font-weight: 750; opacity: 0; pointer-events: none; transform: translate(-50%,8px); }
.plinko-payout-float.is-visible { animation: plinko-payout-rise 1.25s ease-out both; }
@keyframes plinko-payout-rise { 0% { opacity: 0; transform: translate(-50%,8px); } 20%,70% { opacity: .92; } 100% { opacity: 0; transform: translate(-50%,-13px); } }
.plinko-history { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 11px; min-height: 40px; margin: 8px 5px 2px; padding-top: 9px; border-top: 1px solid rgba(230,225,235,.07); }
.plinko-history > span { color: #77717e; font-size: .61rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
#plinkoHistory { display: flex; align-items: center; gap: 5px; min-width: 0; overflow: hidden; }
#plinkoHistory small { color: #6f6975; font-size: .65rem; }
.plinko-history-hit { flex: 0 0 auto; min-width: 42px; padding: 5px 7px; border: 1px solid rgba(225,220,228,.08); border-radius: 7px; color: #aaa4ad; background: rgba(255,255,255,.025); font-size: .65rem; font-weight: 680; text-align: center; }
.plinko-history-hit.is-return { color: #c7b88f; border-color: rgba(199,184,143,.16); background: rgba(199,184,143,.055); }
@media (prefers-reduced-motion: reduce) { .plinko-payout-float.is-visible { animation-duration: .01ms; } }
@media (max-width: 720px) { .plinko-board { min-height: 430px; height: 58vh; } }
.cb-profile-anywhere,.cb-profile-deposit,.cb-profile-history{display:grid;gap:10px;padding:15px;border:1px solid var(--cb-border);border-radius:12px;background:rgba(255,255,255,.02)}.cb-profile-anywhere>strong,.cb-profile-deposit h3,.cb-profile-history h3{margin:0;color:var(--cb-text)}.cb-profile-anywhere>p,.cb-profile-deposit p,.cb-profile-history p{margin:0;color:var(--cb-muted);font-size:.8rem;line-height:1.55}.cb-profile-anywhere code{color:inherit;background:none;font-size:inherit;letter-spacing:0}.cb-command-copy{display:inline-flex;align-items:center;gap:.35rem;vertical-align:middle;margin:0 .1rem;padding:.18rem .42rem;border:1px solid var(--cb-border);border-radius:6px;background:var(--cb-bg);color:var(--cb-accent);font:inherit;line-height:1;cursor:pointer}.cb-command-copy span{font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cb-muted)}.cb-command-copy:hover{border-color:var(--cb-accent)}.cb-command-copy:focus-visible{outline:2px solid var(--cb-accent);outline-offset:2px}.cb-link-form,.cb-profile-deposit{grid-template-columns:minmax(0,1fr) auto;align-items:end}.cb-link-form input,.cb-profile-deposit input,.cb-profile-deposit select{min-height:43px;padding:9px 11px;border:1px solid var(--cb-border);border-radius:8px;color:var(--cb-text);background:var(--cb-bg)}.cb-profile-deposit>div{grid-column:1/-1}.cb-profile-history>div:last-child{display:grid;gap:6px;max-height:250px;overflow:auto}.cb-profile-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:9px;border-radius:8px;background:var(--cb-bg)}.cb-profile-history-row span{text-transform:capitalize}.cb-profile-history-row small{grid-column:1/-1;color:var(--cb-muted)}.cb-profile-history-row.is-win strong{color:#96cba4}.cb-profile-history-row.is-loss strong{color:#d698a0}@media(max-width:560px){.cb-link-form,.cb-profile-deposit{grid-template-columns:1fr}.cb-profile-deposit>div{grid-column:auto}}
.owner-alert-list{display:grid;gap:.55rem;margin:0 0 1rem}.owner-alert-list p{margin:0;padding:.75rem .9rem;border:1px solid color-mix(in srgb,var(--warning,#d9a441) 40%,transparent);border-radius:.8rem;background:color-mix(in srgb,var(--warning,#d9a441) 9%,transparent);color:var(--text-primary)}
.cb-field-optional{margin-left:.35rem;color:var(--cb-muted);font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em}

/* Dice and Crash use a fixed play surface so the result remains readable at every viewport size. */
.cb-original-game .cb-game-main{width:100%;align-items:stretch}.original-game-controls{gap:14px}.original-game-controls .cb-controls-heading p:last-child{margin:8px 0 0;color:var(--cb-muted);font-size:.82rem;line-height:1.5}.game-control-step{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start;padding:13px;border:1px solid var(--cb-border);border-radius:12px;background:rgba(255,255,255,.022)}.game-control-step>span{display:grid;width:24px;height:24px;place-items:center;border-radius:7px;color:var(--cb-accent);background:var(--cb-accent-soft);font-size:.7rem;font-weight:750}.game-control-step>.cb-field,.game-control-step>.control-step-body{min-width:0}.game-control-step .cb-field b,.control-step-body>b{color:var(--cb-text);font-size:.8rem;font-weight:650}.game-control-step .cb-field small{color:var(--cb-muted);font-size:.68rem;line-height:1.4}.game-control-step .cb-field input{min-height:44px}.bet-shortcuts{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.bet-shortcuts button,.dice-direction button,.crash-presets button{border:1px solid var(--cb-border);border-radius:8px;color:var(--cb-muted);background:var(--cb-surface-raised);font:inherit;font-size:.72rem;font-weight:650;cursor:pointer}.bet-shortcuts button{min-height:31px}.bet-shortcuts button:hover,.crash-presets button:hover{border-color:var(--cb-accent);color:var(--cb-text)}.control-step-body{display:grid;gap:9px}.dice-direction{grid-template-columns:1fr 1fr}.dice-direction button{min-height:42px}.dice-direction button.is-active{border-color:color-mix(in srgb,var(--cb-accent) 60%,var(--cb-border));color:var(--cb-text);background:var(--cb-accent-soft)}.dice-target-field b{display:flex;justify-content:space-between;gap:10px}.dice-target-field output{color:var(--cb-accent);font-variant-numeric:tabular-nums}.dice-target-field input[type="range"]{min-height:28px;padding:0;accent-color:var(--cb-accent)}.dice-terms{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dice-terms>div,.crash-potential{display:grid;gap:4px;padding:12px 13px;border:1px solid var(--cb-border);border-radius:10px;background:rgba(255,255,255,.022)}.dice-terms span,.crash-potential span{color:var(--cb-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}.dice-terms strong,.crash-potential strong{color:var(--cb-text);font-size:1.05rem;font-variant-numeric:tabular-nums}.original-game-controls>.cb-game-help{margin:0;padding:11px 13px;font-size:.72rem;line-height:1.5}.original-game-controls>.cb-form-message{min-height:18px;text-align:center}
.dice-stage{box-sizing:border-box;width:100%;height:clamp(430px,58vh,610px);min-height:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,62px);background:linear-gradient(160deg,color-mix(in srgb,var(--cb-surface) 95%,var(--cb-accent)),var(--cb-surface));}.dice-result-card{display:grid;justify-items:center;margin:auto 0 clamp(54px,9vh,100px)}.dice-result-card>span{color:var(--cb-muted);font-size:.67rem;font-weight:720;letter-spacing:.13em}.dice-result-card>strong{margin-top:8px;font-size:clamp(5.5rem,12vw,10rem);line-height:.88;font-weight:720;font-variant-numeric:tabular-nums;letter-spacing:-.075em}.dice-result-card>small{margin-top:16px;color:var(--cb-muted);font-size:.9rem}.dice-board-labels{display:flex;justify-content:space-between;margin:0 -6px 12px;color:var(--cb-muted);font-size:.65rem;font-variant-numeric:tabular-nums}.dice-track{position:relative;height:18px;border-radius:999px;background:rgba(193,112,126,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}.dice-winning-zone{position:absolute;top:0;bottom:0;border-radius:999px;background:rgba(111,166,126,.55)}.is-under .dice-winning-zone{left:0;width:var(--dice-target)}.is-over .dice-winning-zone{right:0;width:calc(100% - var(--dice-target))}.dice-target-marker{position:absolute;left:var(--dice-target);top:50%;width:3px;height:34px;border-radius:3px;background:var(--cb-text);transform:translate(-50%,-50%)}.dice-target-marker span{position:absolute;left:50%;bottom:42px;width:max-content;padding:5px 8px;border:1px solid var(--cb-border);border-radius:7px;color:var(--cb-text);background:var(--cb-surface-raised);font:normal 650 .68rem/1 sans-serif;transform:translateX(-50%)}.dice-track>b{position:absolute;z-index:2;left:var(--dice-roll);top:50%;width:18px;height:18px;border:3px solid var(--cb-text);border-radius:50%;background:var(--cb-accent);box-shadow:0 3px 12px rgba(0,0,0,.35);opacity:0;transform:translate(-50%,-50%);transition:left .5s cubic-bezier(.2,.8,.2,1),opacity .2s}.dice-stage.has-result .dice-track>b{opacity:1}.dice-board-caption{display:flex;gap:18px;margin-top:13px;color:var(--cb-muted);font-size:.67rem}.dice-board-caption span::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#6fa67e}.dice-board-caption .dice-loss-key::before{background:#c1707e}
.crash-stage{box-sizing:border-box;width:100%;height:clamp(430px,58vh,610px);min-height:0;contain:size layout paint;isolation:isolate;background:linear-gradient(165deg,color-mix(in srgb,var(--cb-surface) 96%,var(--cb-accent)),var(--cb-surface));}.crash-stage canvas{position:absolute;inset:0;width:100%;height:100%;}.crash-readout strong{font-size:clamp(4.5rem,10vw,8.5rem);font-variant-numeric:tabular-nums}.crash-readout span{margin-top:10px;font-size:.88rem}.crash-axis{position:absolute;z-index:2;left:20px;right:20px;bottom:14px;display:flex;justify-content:space-between;color:var(--cb-muted);font-size:.59rem;font-weight:670;letter-spacing:.08em}.crash-presets{grid-template-columns:repeat(4,1fr)}.crash-presets button{min-height:34px}.crash-potential{grid-template-columns:1fr auto;align-items:center}.crash-potential strong{font-size:1.1rem}.game-mini-history{width:100%;box-sizing:border-box}
.cb-game-card-logo{width:94px!important;height:94px!important;border-radius:13px}.admin-game-icon.game-logo-mini img,.preview-game-icon.game-logo-mini img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
@media(max-width:900px){.dice-stage,.crash-stage{height:500px}.original-game-controls{grid-template-columns:1fr 1fr}.original-game-controls .game-control-step{grid-column:auto}.original-game-controls>.dice-terms,.original-game-controls>.crash-presets,.original-game-controls>.crash-potential{grid-column:auto}.original-game-controls>.cb-game-help,.original-game-controls>.cb-button-wide,.original-game-controls>.cb-form-message{grid-column:1/-1}}
@media(max-width:620px){.dice-stage,.crash-stage{height:390px}.dice-stage{padding:26px 20px}.dice-result-card{margin:auto 0 70px}.dice-result-card>strong{font-size:4.8rem}.dice-target-marker span{bottom:38px}.original-game-controls{grid-template-columns:1fr}.original-game-controls .game-control-step,.original-game-controls>.dice-terms,.original-game-controls>.crash-presets,.original-game-controls>.crash-potential{grid-column:auto}.cb-game-card-logo{width:76px!important;height:76px!important}}
.dice-board-labels,.dice-track,.dice-board-caption{box-sizing:border-box;width:100%}.dice-track{flex:0 0 18px}

/* Keep controls first on every game. On phones they stay above the board, so starting
   another round never requires scrolling past the full play surface. */
@media(min-width:901px){.cb-game-layout{grid-template-columns:minmax(290px,340px) minmax(0,1fr)}.cb-game-layout>.cb-game-controls{grid-column:1;grid-row:1}.cb-game-layout>.cb-game-main{grid-column:2;grid-row:1;width:100%}}
@media(max-width:900px){.cb-game-layout>.cb-game-main,.cb-game-layout>.cb-game-controls{grid-column:1}.cb-game-layout>.cb-game-controls{grid-row:1}.cb-game-layout>.cb-game-main{grid-row:2}}
@media(max-width:620px){.cb-game-layout{width:calc(100% - 20px);gap:16px;padding:12px 0 30px}.cb-game-controls{gap:11px;padding:15px;border-radius:14px}.cb-controls-heading h2{margin-top:3px;font-size:1.18rem}.cb-controls-heading .cb-eyebrow{display:none}.cb-game-help{padding:11px 12px}.cb-game-help p{margin-top:4px;line-height:1.45}.cb-game-intro{margin:2px 0 14px}.cb-game-intro h1{font-size:2rem}.cb-board-card{padding:11px}.original-game-controls .cb-controls-heading p:last-child{margin-top:5px;line-height:1.4}.game-control-step{padding:10px}.dice-stage,.crash-stage{height:min(390px,58vh)}}

.crash-stage{transition:border-color .2s,box-shadow .2s}.crash-stage.is-running{border-color:color-mix(in srgb,var(--cb-accent) 38%,var(--cb-border));box-shadow:0 20px 60px rgba(0,0,0,.22)}.crash-stage.is-cashed-out{border-color:rgba(111,166,126,.45)}.crash-stage.did-crash{animation:crash-finish .32s ease-out}.crash-readout strong[data-outcome="crash"]{color:#d48b94}.crash-readout span{max-width:min(82%,620px);text-align:center;line-height:1.45}@keyframes crash-finish{0%{transform:translateX(0)}28%{transform:translateX(-3px)}56%{transform:translateX(3px)}100%{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.crash-stage.did-crash{animation:none}}

/* Starlight theme */
body[data-cobblebet-theme="starlight"]{--cb-bg:#11111a;--cb-surface:#1b1a27;--cb-surface-raised:#272538;--cb-accent:#c4b8ec;--cb-accent-strong:#9f8dd7;--cb-accent-soft:rgba(196,184,236,.14);--cb-border:rgba(218,213,239,.13);--cb-muted:#aaa6bd}
body[data-cobblebet-theme="starlight"]:not(.site-home){background-image:radial-gradient(ellipse at 70% -12%,rgba(157,139,211,.14),transparent 38%),radial-gradient(ellipse at 5% 95%,rgba(202,194,229,.055),transparent 30%)}
body[data-cobblebet-theme="harbor"]:not(.site-home){background-image:radial-gradient(ellipse at 70% -12%,rgba(70,102,132,.15),transparent 38%),radial-gradient(ellipse at 5% 95%,rgba(213,184,121,.05),transparent 30%)}
.swatch-starlight{background:radial-gradient(circle at 18% 27%,rgba(255,255,255,.75) 0 1px,transparent 1.5px),radial-gradient(circle at 78% 22%,rgba(255,255,255,.55) 0 1px,transparent 1.5px),linear-gradient(125deg,#11121e,#302b4b 58%,#4a4168);background-size:31px 29px,43px 37px,auto}
.swatch-starlight i:nth-child(1){background:#c4b8ec}.swatch-starlight i:nth-child(2){background:#494262}.swatch-starlight i:nth-child(3){background:#ddd7ef}
.admin-page[data-cobblebet-theme="starlight"]{background-image:radial-gradient(ellipse at 15% -15%,rgba(157,139,211,.16),transparent 38%),radial-gradient(ellipse at 90% 90%,rgba(202,194,229,.06),transparent 34%)}
.admin-preview[data-preview-theme="starlight"]::before{background:radial-gradient(ellipse at 75% 0%,rgba(170,153,220,.18),transparent 46%),#11111a}
.admin-preview[data-preview-theme="starlight"] .preview-decor{opacity:.2;background-image:radial-gradient(circle,rgba(238,234,250,.8) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(196,184,236,.62) 0 1px,transparent 1.5px);background-position:0 0,19px 23px;background-size:43px 43px,59px 59px}
.site-server-card[data-cobblebet-theme="starlight"]{--cb-accent:#c4b8ec;background:radial-gradient(circle at 18% 27%,rgba(255,255,255,.32) 0 1px,transparent 1.5px),linear-gradient(120deg,#242238,#171722)}
body[data-cobblebet-theme="starlight"]:not(.site-home):not(.admin-page){position:relative;isolation:isolate}
body[data-cobblebet-theme="starlight"]:not(.site-home):not(.admin-page)::before{position:fixed;z-index:-1;inset:0;content:"";pointer-events:none;opacity:.18;background-image:radial-gradient(circle,rgba(235,231,248,.72) 0 1px,transparent 1.4px),radial-gradient(circle,rgba(173,160,217,.65) 0 1px,transparent 1.4px);background-position:0 0,24px 31px;background-size:67px 67px,89px 89px}

/* Active wallet source and linked servers */
.cb-site-header{position:relative}.cb-play-source{position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:9px;max-width:230px;padding:7px 12px;border:1px solid var(--cb-border);border-radius:999px;background:color-mix(in srgb,var(--cb-surface) 88%,transparent);transform:translate(-50%,-50%)}.cb-play-source>i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--cb-accent);box-shadow:0 0 0 4px var(--cb-accent-soft)}.cb-play-source>span{min-width:0;display:grid;gap:1px}.cb-play-source small{color:var(--cb-muted);font-size:.58rem;line-height:1;text-transform:uppercase;letter-spacing:.08em}.cb-play-source strong{overflow:hidden;color:var(--cb-text);font-size:.75rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.cb-play-source[data-source="cobblebet"]>i{background:#d6cfdf}
.cb-profile-sources{display:grid;gap:11px;padding:15px;border:1px solid var(--cb-border);border-radius:12px;background:rgba(255,255,255,.02)}.cb-profile-sources h3{margin:0 0 4px;color:var(--cb-text);font-size:1rem}.cb-profile-sources p{margin:0;color:var(--cb-muted);font-size:.8rem;line-height:1.5}.cb-profile-sources>div:last-child{display:grid;gap:7px}.cb-profile-source{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--cb-border);border-radius:10px;color:var(--cb-text);background:var(--cb-bg);text-align:left;font:inherit;cursor:pointer}.cb-profile-source>span{min-width:0;display:grid;gap:3px}.cb-profile-source strong{font-size:.88rem}.cb-profile-source small{overflow:hidden;color:var(--cb-muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.cb-profile-source>b{flex:0 0 auto;color:var(--cb-accent);font-size:.7rem}.cb-profile-source[data-active="true"]{border-color:color-mix(in srgb,var(--cb-accent) 45%,var(--cb-border));background:var(--cb-accent-soft)}.cb-profile-source:disabled{cursor:default;opacity:.62}.cb-profile-source[data-active="true"]:disabled{opacity:1}
.cb-auth-close{position:absolute;top:15px;right:15px}
@media(max-width:760px){.cb-site-header:has(.cb-play-source){min-height:96px;align-items:flex-start;padding-top:13px;padding-bottom:30px}.cb-play-source{top:auto;bottom:7px;max-width:calc(100% - 36px);padding:5px 10px}.cb-play-source small{display:none}.cb-profile-source{align-items:flex-start}.cb-profile-source small{white-space:normal}}

/* Public home: direct, quiet, and useful without feeling like a dashboard. */
.site-home .home-hero { max-width: none; grid-template-columns: minmax(0,1.15fr) minmax(280px,.65fr); gap: clamp(48px,8vw,104px); padding: 88px 0 76px; }
.site-home .hero-copy { max-width: 620px; }
.site-home .hero-copy > h1:first-child { margin-top: 0; }
.site-home .hero-copy h1 { max-width: 610px; font-size: clamp(3rem,5.7vw,4.8rem); line-height: 1.01; }
.site-home .hero-description { max-width: 540px; font-size: 1.02rem; }
.home-links { align-self: end; margin-bottom: 4px; }
.home-link-list { display: grid; border-top: 1px solid var(--cb-border); }
.home-link-list > a { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 66px; padding: 13px 4px; border-bottom: 1px solid var(--cb-border); color: var(--cb-text); text-decoration: none; transition: padding .18s ease,color .18s ease,border-color .18s ease; }
.home-link-list > a:hover { padding-left: 9px; color: #fff; border-color: rgba(255,255,255,.2); }
.home-link-list span { display: grid; gap: 4px; }
.home-link-list strong { font-size: .84rem; font-weight: 590; }
.home-link-list small { color: var(--cb-muted); font-size: .7rem; line-height: 1.35; }
.home-link-list b { color: var(--cb-muted); font-size: .9rem; font-weight: 400; }
.site-home .home-bottom { padding-bottom: 68px; }
.home-changelog { width: 100%; margin: 26px 0 34px; padding-top: 54px; }
.home-changelog-heading { align-items: flex-start; }
.home-changelog-heading > p { max-width: 360px; font-size: .88rem; }
.home-release-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.home-release-list .home-release { min-height: 175px; padding: 22px 23px; border-radius: 11px; background: rgba(255,255,255,.022); }
.home-release-list .home-release h3 { margin: 15px 0 8px; font-size: 1.08rem; }
.home-release-list .home-release p { margin: 0; font-size: .82rem; }
.home-footer-links { display: flex; gap: 17px; }
.docs-project-links { display: grid; grid-template-columns: minmax(180px,.7fr) repeat(2,minmax(0,1fr)); gap: 12px; align-items: stretch; margin: 24px 0 38px; padding-top: 30px; border-top: 1px solid var(--cb-border); }
.docs-project-links > div { padding: 12px 14px 12px 0; }
.docs-project-links h2 { margin: 7px 0 0; color: var(--cb-text); font-size: 1.25rem; }
.docs-project-links > a { display: grid; align-content: center; gap: 6px; min-height: 90px; padding: 17px 18px; border: 1px solid var(--cb-border); border-radius: 10px; color: var(--cb-text); background: rgba(255,255,255,.022); text-decoration: none; }
.docs-project-links > a:hover { border-color: var(--cb-accent); background: var(--cb-accent-soft); }
.docs-project-links strong { font-size: .86rem; }
.docs-project-links span { color: var(--cb-muted); font-size: .72rem; line-height: 1.5; }
.docs-section a { color: #cbbbd9; }
@media (max-width: 760px) {
    .site-home .home-hero { grid-template-columns: 1fr; gap: 34px; padding: 64px 0 56px; }
    .home-links { align-self: auto; margin: 0; }
    .home-release-list, .docs-project-links { grid-template-columns: 1fr; }
    .docs-project-links > div { padding-left: 0; }
    .site-home .cb-site-nav a[href="/contact"], .site-home .cb-site-nav a[href*="github.com"], .docs-header .cb-site-nav a[href="/contact"], .docs-header .cb-site-nav a[href*="github.com"] { display: none; }
}
@media (max-width: 520px) {
    .site-home .hero-copy h1 { font-size: clamp(2.75rem,14vw,3.65rem); }
    .home-footer-links { width: 100%; }
    .docs-header .cb-site-nav a[href*="discord.gg"] { display: none; }
}
