/* Page-only layout: OBS continues to use its original independent stylesheet. */
.roulette-page.page{--paper:#111114;--ink:#f5f5f8;--green:#c9b3e3;--muted:#b0afb9;--line:#39333f;--panel:#1d1a23;--soft:#292232;--field:#151219;--gold:#d6b978;color:var(--ink);background:transparent;font:15px/1.7 Pretendard,system-ui,sans-serif;max-width:1280px;padding:28px 40px 64px;margin:0 auto;min-width:0}
.roulette-page.page[data-view=admin]{--paper:#f6f5f8;--ink:#302b39;--green:#735986;--muted:#746d7d;--line:#e5e0e9;--panel:#fff;--soft:#eee8f3;--field:#fff;margin-left:230px;margin-right:0;max-width:1510px;padding:32px clamp(24px,4vw,72px) 48px}
.roulette-page .roulette-nav{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding:0 0 16px;overflow-x:auto;white-space:nowrap;margin-bottom:30px;font-size:14px}
.roulette-page .roulette-nav a{padding:9px 15px;border-radius:8px;text-decoration:none;color:var(--muted);font-weight:650}.roulette-page .roulette-nav a[aria-current]{color:var(--ink);background:var(--soft)}.roulette-page .roulette-nav a:hover{color:var(--ink);background:var(--soft)}.roulette-page .roulette-public-link{margin-left:auto}
.roulette-page h1{font-size:40px;letter-spacing:-1.6px;margin:10px 0 20px}.roulette-page h2{font-size:21px;letter-spacing:-.5px}.roulette-page p{margin:8px 0}.roulette-page .eyebrow{color:var(--green);font-size:10px}.roulette-page .card,.roulette-page .history-toolbar,.roulette-page .donation-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:none}
.roulette-page .hero{position:relative;text-align:left;padding:28px 220px 35px 0;min-height:240px}.roulette-page .hero .cat{position:absolute;right:18px;top:10px}.roulette-page .hero .cat span{display:none}.roulette-page .hero p,.roulette-page .rules{color:var(--muted)}.roulette-page .hero .pills{justify-content:flex-start;flex-wrap:wrap}.roulette-page .cat img,.roulette-page .history-hero img{background:#f8f5ec;border-radius:50%;padding:8px}.roulette-page .hero .cat img{width:175px;height:175px}.roulette-page .hero+.actions{justify-content:flex-start!important;margin-bottom:36px!important}
.roulette-page .admin-hero{padding:0 0 24px}.roulette-page .admin-hero h1{font-size:32px;margin:8px 0}.roulette-page .admin-hero .cat img{width:92px;height:92px;background:#eee8f3}.roulette-page .history-hero{padding:8px 0 28px}.roulette-page .history-hero h1{font-size:36px}.roulette-page .history-hero img{width:96px;height:96px}
.roulette-page button,.roulette-page .button{background:var(--green);color:#17121d;border-radius:9px;font-size:14px;font-weight:650}.roulette-page[data-view=admin] button,.roulette-page[data-view=admin] .button{color:#fff}.roulette-page .secondary,.roulette-page .filters button,.roulette-page .day-nav a{background:var(--soft);color:var(--ink)}.roulette-page .filters .selected,.roulette-page .history-tabs [aria-current]{background:var(--green);color:#17121d}.roulette-page[data-view=admin] .filters .selected{color:white}
.roulette-page .stats{grid-template-columns:1fr 1fr 2fr;gap:16px;background:transparent;border:0;padding:0;border-radius:0}.roulette-page .stats>div{display:block;background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:13px}.roulette-page .stats strong{font-size:30px}.roulette-page .stats b{margin-top:8px}
.roulette-page .probability{border-bottom:1px solid var(--line);padding:18px 0}.roulette-page .probability i{background:var(--green)}.roulette-page .pills span,.roulette-page .ledger-totals>div,.roulette-page .owned-cards details,.roulette-page .reward-chip,.roulette-page .prize-tag{background:var(--soft);color:var(--ink)}.roulette-page .snack-chip,.roulette-page .prize-tag.snack{background:#372f24;color:#ead2a0}.roulette-page .snack-chip b,.roulette-page .ledger-snacks strong,.roulette-page .carry-tag,.roulette-page .owned-cards summary small{color:#d6b978}
.roulette-page input:not([type=checkbox]):not([type=hidden]),.roulette-page select,.roulette-page textarea{background:var(--field);border:1px solid var(--line);color:var(--ink);font-family:inherit;max-width:100%;min-width:0}.roulette-page input::placeholder{color:var(--muted)}.roulette-page a:focus-visible,.roulette-page button:focus-visible,.roulette-page input:focus-visible,.roulette-page select:focus-visible,.roulette-page summary:focus-visible{outline:3px solid #a287bd;outline-offset:3px}.roulette-page .task-body input{background:var(--field)}.roulette-page .notice{background:var(--soft);color:var(--ink)}.roulette-page .entry small{color:var(--muted)}.roulette-page .entry{border-color:var(--line)}.roulette-page .error{background:#fce3df;color:#8d302b}.roulette-page .item-save{background:var(--panel);border:1px solid var(--line)}.roulette-page .rules{padding:18px 0}.roulette-page footer{text-align:left;border-top:1px solid var(--line);padding-top:22px}.roulette-page .item-help{line-height:1.8}
@media(max-width:1100px){.roulette-page.page[data-view=admin]{margin-left:195px;padding:28px 24px}.roulette-page .roulette-nav{font-size:13px}.roulette-page .roulette-nav a{padding:8px 11px}}
@media(max-width:760px){.roulette-page.page,.roulette-page.page[data-view=admin]{margin:0;padding:20px 18px 40px}.roulette-page .roulette-nav{margin-bottom:24px;font-size:12px}.roulette-page .roulette-nav a{padding:8px 10px}.roulette-page .roulette-public-link{margin-left:0}.roulette-page h1,.roulette-page .history-hero h1{font-size:28px}.roulette-page .hero{padding:18px 0 28px;min-height:0}.roulette-page .hero .cat{position:static;float:right;margin:0 0 10px 10px}.roulette-page .hero .cat img{width:85px;height:85px}.roulette-page .hero h1{font-size:30px}.roulette-page .hero .pills{clear:both;gap:6px}.roulette-page .history-hero img{width:65px;height:65px}.roulette-page .admin-hero h1{font-size:28px}.roulette-page .card{padding:20px}.roulette-page .stats{grid-template-columns:1fr 1fr;gap:10px}.roulette-page .stats>div:last-child{grid-column:1/-1}.roulette-page .history-options{flex-wrap:wrap}.roulette-page .task{flex-wrap:wrap}.roulette-page .task>button{margin-left:40px}.roulette-page .probability{gap:16px;font-size:13px}.roulette-page .probability span{overflow-wrap:anywhere}.roulette-page .actions .button{font-size:12px}.roulette-page .search{flex-wrap:wrap}.roulette-page .search input{flex:1}.roulette-page .item-save{bottom:8px}}
.roulette-page[data-view=admin] .button.secondary,.roulette-page[data-view=admin] button.secondary{color:var(--ink)}
/* Kwoyangi cream palette for public roulette pages; geometry stays unchanged. */
:root:has(.roulette-page[data-view=public]){color-scheme:light;--bg:#f8f5ec;--surface:#fffdf7;--text:#342f39;--muted:#706974;--line:#e3dccf;--accent:#80618e;--purple:#80618e;--icon-cutout:#f8f5ec}
body:has(.roulette-page[data-view=public]){background:#f8f5ec;color:#342f39}
.roulette-page.page[data-view=public]{--paper:#f8f5ec;--ink:#342f39;--green:#80618e;--muted:#706974;--line:#e3dccf;--panel:#fffdf7;--soft:#eee7ef;--field:#fffefa;--gold:#806238}
body:has(.roulette-page[data-view=public]) .site-header,body:has(.roulette-page[data-view=public]) .site-footer{background:#f8f5ec;color:#342f39;border-color:#e3dccf}
body:has(.roulette-page[data-view=public]) .header-social{border-color:#ddd3c5}
body:has(.roulette-page[data-view=public]) .header-social a{color:#74617b}
body:has(.roulette-page[data-view=public]) .header-social a:hover{color:#50365e;background:#eee7ef}
.roulette-page[data-view=public] button,.roulette-page[data-view=public] .button,.roulette-page[data-view=public] .history-tabs [aria-current]{color:#fff}
.roulette-page[data-view=public] .secondary{color:var(--ink)}
.roulette-page[data-view=public] .snack-chip,.roulette-page[data-view=public] .prize-tag.snack{background:#f1e7ce;color:#745932}
.roulette-page[data-view=public] .snack-chip b,.roulette-page[data-view=public] .ledger-snacks strong,.roulette-page[data-view=public] .carry-tag,.roulette-page[data-view=public] .owned-cards summary small{color:#806238}

/* Public roulette follows the shared website palette (2026-10-05). */
:root:has(.roulette-page[data-view=public]){color-scheme:dark;--bg:#111114;--surface:#1b1b21;--text:#f5f5f8;--muted:#b0afb9;--line:#33333e;--accent:#9175ff;--purple:#7956ed;--icon-cutout:#17131e}
body:has(.roulette-page[data-view=public]){background:#111114;color:#f5f5f8}
.roulette-page.page[data-view=public]{--paper:#111114;--ink:#f5f5f8;--green:#c9b3e3;--muted:#b0afb9;--line:#33333e;--panel:#1b1b21;--soft:#292232;--field:#151219;--gold:#d6b978}
body:has(.roulette-page[data-view=public]) .site-header{background:#17131e;color:#f5f5f8;border-color:#33333e}
body:has(.roulette-page[data-view=public]) .site-footer{background:#111114;color:#b0afb9;border-color:#33333e}
body:has(.roulette-page[data-view=public]) .header-social{border-color:#ffffff35}
body:has(.roulette-page[data-view=public]) .header-social a{color:#f2eaf5}
body:has(.roulette-page[data-view=public]) .header-social a:hover{color:#e2c7f0;background:#ffffff18}
.roulette-page[data-view=public] button,.roulette-page[data-view=public] .button,.roulette-page[data-view=public] .history-tabs [aria-current]{color:#17121d}
.roulette-page[data-view=public] .secondary,.roulette-page[data-view=public] .filters button{color:var(--ink)}
.roulette-page[data-view=public] .filters .selected{color:#17121d}
.roulette-page[data-view=public] .snack-chip,.roulette-page[data-view=public] .prize-tag.snack{background:#372f24;color:#ead2a0}
.roulette-page[data-view=public] .snack-chip b,.roulette-page[data-view=public] .ledger-snacks strong,.roulette-page[data-view=public] .carry-tag,.roulette-page[data-view=public] .owned-cards summary small{color:#d6b978}

/* Public title and navigation share the website section layout. */
.roulette-page.page[data-view=public]{padding-top:40px}
.roulette-page[data-view=public] .hero{padding-top:0;min-height:0}
.roulette-page[data-view=public] .hero>h2{margin:0 0 14px}
.roulette-page[data-view=public] .hero .cat{top:0}
@media(max-width:650px){.roulette-page.page[data-view=public]{padding-top:28px}.roulette-page[data-view=public] .hero{padding-top:0}}

/* Public ledger controls must override the legacy cream form palette. */
.roulette-page[data-view=public] .ledger-form :is(input:not([type=hidden]),select,textarea){background:var(--field);color:var(--ink);border-color:var(--line);color-scheme:dark}
.roulette-page[data-view=public] .ledger-form :is(option,optgroup){background:var(--field);color:var(--ink)}
