/* v056: External webfont import removed so CSP stays clean and mobile typography matches desktop. */

:root {
    --bg: #fff7dc;
    --bg-2: #ffeaa8;
    --panel: rgba(255,255,255,.84);
    --panel-strong: #ffffff;
    --ink: #271b48;
    --muted: #6c6380;
    --brand: #ff5dad;
    --brand-2: #23d7ff;
    --brand-3: #ffdc4f;
    --accent: #61ff9b;
    --danger: #ff4f6d;
    --warning: #ffb020;
    --success: #33c071;
    --shadow: 0 18px 50px rgba(39,27,72,.18);
    --border: 3px solid rgba(39,27,72,.16);
    --radius: 24px;
    --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-theme="cosmic"] {
    --bg: #120c28;
    --bg-2: #26124f;
    --panel: rgba(35,22,73,.88);
    --panel-strong: #2d195f;
    --ink: #fff7ff;
    --muted: #cabcef;
    --brand: #9d7cff;
    --brand-2: #00e7ff;
    --brand-3: #ff70d1;
    --accent: #ffef77;
    --border: 3px solid rgba(255,255,255,.16);
    --shadow: 0 18px 60px rgba(0,0,0,.36);
}

[data-theme="terminal"] {
    --bg: #071108;
    --bg-2: #0d2010;
    --panel: rgba(12,31,16,.9);
    --panel-strong: #102a16;
    --ink: #c8ffd6;
    --muted: #85bd91;
    --brand: #44ff77;
    --brand-2: #00c853;
    --brand-3: #b6ff00;
    --accent: #79ff9d;
    --border: 2px solid rgba(68,255,119,.35);
    --shadow: 0 18px 50px rgba(0,0,0,.45);
}

[data-theme="clean"] {
    --bg: #f5f7fb;
    --bg-2: #e9eef8;
    --panel: rgba(255,255,255,.95);
    --panel-strong: #fff;
    --ink: #1e293b;
    --muted: #64748b;
    --brand: #2563eb;
    --brand-2: #0ea5e9;
    --brand-3: #f59e0b;
    --accent: #10b981;
    --border: 1px solid rgba(30,41,59,.12);
    --shadow: 0 12px 36px rgba(15,23,42,.11);
    --radius: 16px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--font);
    color: var(--ink);
    background:
        radial-gradient(circle at 12% 8%, var(--brand-2), transparent 28rem),
        radial-gradient(circle at 87% 16%, var(--brand), transparent 24rem),
        linear-gradient(135deg, var(--bg), var(--bg-2));
    min-height: 100vh;
    overflow-x: hidden;
}

a { color: inherit; text-decoration-thickness: 2px; }
img { max-width: 100%; display: block; }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
pre { background: rgba(0,0,0,.12); padding: 1rem; border-radius: 14px; overflow:auto; }

.skip-link { position: absolute; left: -999px; top: 1rem; z-index: 99; background: var(--ink); color: var(--bg); padding: .7rem 1rem; border-radius: 99px; }
.skip-link:focus { left: 1rem; }

.site-shell { width: min(1220px, calc(100% - 24px)); margin: 0 auto; }
.site-header {
    position: sticky; top: 10px; z-index: 20;
    display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center;
    margin: 10px 0 22px; padding: .75rem;
    background: var(--panel); border: var(--border); border-radius: var(--radius); box-shadow: var(--shadow);
    backdrop-filter: blur(12px);
}
.brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; min-width: max-content; }
.brand-orb { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; font-weight: 1000; background: linear-gradient(135deg, var(--brand), var(--brand-2)); border: 3px solid rgba(255,255,255,.65); box-shadow: 0 8px 0 rgba(0,0,0,.15); transform: rotate(-4deg); }
.brand strong { display: block; font-size: 1.3rem; line-height: 1; }
.brand small { display: block; color: var(--muted); max-width: 330px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.site-nav { display: flex; justify-content: center; gap: .35rem; flex-wrap: wrap; }
.nav-link, .admin-nav a { text-decoration: none; font-weight: 800; padding: .6rem .85rem; border-radius: 999px; transition: transform .16s ease, background .16s ease; }
.nav-link:hover, .admin-nav a:hover { transform: translateY(-2px) rotate(-1deg); background: rgba(255,255,255,.42); }
.nav-link.active, .nav-link.admin.active, .admin-nav a { background: linear-gradient(135deg, var(--brand-3), var(--brand-2)); color: #21153c; }
.nav-toggle { display:none; border:0; background:var(--panel-strong); color:var(--ink); border-radius:14px; padding:.55rem .75rem; font-size:1.2rem; }
.header-tools { display:flex; align-items:center; justify-content:flex-end; gap:.55rem; flex-wrap:wrap; }
.auth-panel { display:flex; align-items:center; gap:.4rem; }
.mini-profile { text-decoration:none; font-weight:800; padding:.45rem .65rem; border-radius:999px; background:rgba(255,255,255,.44); }
.theme-picker label { display:flex; align-items:center; gap:.35rem; margin:0; font-size:.8rem; color:var(--muted); }
.theme-picker select { min-width: 130px; padding:.45rem .6rem; }

.main-content { padding: 0 0 42px; }
.panel, .card, .flash, .cookie-banner {
    background: var(--panel); border: var(--border); border-radius: var(--radius); box-shadow: var(--shadow);
}
.panel { padding: clamp(1rem, 2vw, 2rem); margin-bottom: 1.1rem; }
.panel.compact { padding: 1.25rem; }
.card { padding: 1.25rem; }
.pop-card { transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.pop-card:hover { transform: translateY(-7px) rotate(var(--tilt, -1deg)) scale(1.015); filter: saturate(1.12); }
.pop-card:nth-child(2n) { --tilt: 1deg; }
.rainbow-border { position: relative; overflow: hidden; }
.rainbow-border::before { content:""; position:absolute; inset:0; border-radius:inherit; padding:4px; background:linear-gradient(90deg,var(--brand),var(--brand-2),var(--brand-3),var(--accent),var(--brand)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events:none; }

.hero { display:grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); align-items:center; gap:2rem; min-height: 430px; }
.hero h1, .panel h1 { font-size: clamp(2rem, 6vw, 4.8rem); line-height:.92; margin:.25rem 0 1rem; letter-spacing:-.06em; }
.lead { font-size: clamp(1.05rem, 2vw, 1.32rem); color: var(--muted); line-height:1.55; }
.eyebrow { text-transform:uppercase; letter-spacing:.16em; font-weight:1000; color:var(--brand); margin:0 0 .5rem; }
.hero-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1.3rem; }
.hero-toy { display:grid; grid-template-columns: repeat(2, minmax(100px, 1fr)); gap:1rem; perspective:800px; }
.pixel-card { aspect-ratio:1; display:grid; place-items:center; font-size:4rem; border-radius:28px; background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.35)); border:var(--border); box-shadow: 0 14px 0 rgba(0,0,0,.12); animation: floaty 5s ease-in-out infinite; }
.pixel-card:nth-child(2) { animation-delay:-1s; }
.pixel-card:nth-child(3) { animation-delay:-2s; }
.pixel-card:nth-child(4) { animation-delay:-3s; }
@keyframes floaty { 0%,100%{ transform:translateY(0) rotate(-2deg);} 50%{ transform:translateY(-12px) rotate(3deg);} }

.grid { display:grid; gap:1rem; margin-bottom:1rem; }
.grid.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.grid.five { grid-template-columns: repeat(5, minmax(0,1fr)); }
.stats-grid { margin-bottom:1rem; }
.stat-card { background: var(--panel); border: var(--border); border-radius:20px; padding:1.1rem; box-shadow:var(--shadow); }
.stat-card span { display:block; color:var(--muted); font-weight:800; text-transform:capitalize; }
.stat-card strong, .huge-number { display:block; font-size: clamp(1.7rem, 4vw, 3rem); line-height:1; margin-top:.3rem; }
.icon-bubble { width:60px; height:60px; display:grid; place-items:center; font-size:2rem; border-radius:18px; background:linear-gradient(135deg,var(--brand-3),var(--brand-2)); margin-bottom:.75rem; }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.section-head h2 { margin:0; }

.button, button.button { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; border:0; border-radius:999px; padding:.75rem 1rem; background:var(--panel-strong); color:var(--ink); font-weight:1000; text-decoration:none; cursor:pointer; box-shadow: 0 5px 0 rgba(0,0,0,.14); transition: transform .12s ease, box-shadow .12s ease; }
.button:hover, button.button:hover { transform: translateY(-2px); }
.button:active, button.button:active { transform: translateY(2px); box-shadow: 0 2px 0 rgba(0,0,0,.18); }
.button.primary { background: linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; }
.button.ghost { background: transparent; border: 2px solid currentColor; }
.button.big { padding: .95rem 1.25rem; font-size:1.03rem; }
.button.tiny { padding:.45rem .7rem; font-size:.86rem; }
button:disabled, .button[disabled] { opacity:.55; cursor:not-allowed; }

form { margin:0; }
label { display:grid; gap:.35rem; margin-bottom:.85rem; font-weight:900; }
input, select, textarea { width:100%; border:2px solid rgba(39,27,72,.18); border-radius:16px; background:rgba(255,255,255,.82); color:var(--ink); padding:.78rem .9rem; font:inherit; outline:none; }
input:focus, select:focus, textarea:focus { border-color:var(--brand-2); box-shadow:0 0 0 4px rgba(35,215,255,.18); }
textarea { resize: vertical; }
.inline-label { display:flex; align-items:center; gap:.5rem; }
.inline-label input { width:80px; }
.grid-form { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:.75rem 1rem; }
.grid-form .full { grid-column:1/-1; }

.flash { padding:.9rem 1rem; margin-bottom:1rem; font-weight:800; }
.flash.success { border-color: rgba(51,192,113,.45); background: rgba(51,192,113,.14); }
.flash.warning { border-color: rgba(255,176,32,.55); background: rgba(255,176,32,.16); }
.flash.danger { border-color: rgba(255,79,109,.55); background: rgba(255,79,109,.16); }
.flash.info { border-color: rgba(35,215,255,.5); background: rgba(35,215,255,.14); }
.status-pill { display:inline-flex; align-items:center; width:max-content; border-radius:999px; padding:.28rem .6rem; font-size:.78rem; font-weight:1000; background:rgba(255,255,255,.48); border:1px solid rgba(0,0,0,.12); text-transform:uppercase; letter-spacing:.08em; }
.status-pill.warn { background:rgba(255,176,32,.22); }
.muted { color:var(--muted); }
.small { font-size:.88rem; }
.price { font-size:1.6rem; font-weight:1000; color:var(--brand); }
.center-card { text-align:center; max-width:760px; margin-inline:auto; }
.mega-emoji { font-size:5rem; margin-bottom: .5rem; }
.prose { line-height:1.7; max-width:75ch; }

.table-wrap { overflow:auto; }
table { width:100%; border-collapse:separate; border-spacing:0 .45rem; }
th, td { text-align:left; padding:.7rem .85rem; background:rgba(255,255,255,.5); }
th { color:var(--muted); font-size:.86rem; text-transform:uppercase; letter-spacing:.08em; }
tr td:first-child, tr th:first-child { border-radius:14px 0 0 14px; }
tr td:last-child, tr th:last-child { border-radius:0 14px 14px 0; }

.list-row { display:grid; grid-template-columns: minmax(0,1fr) auto auto auto; gap:.75rem; align-items:center; padding:.75rem; border-radius:16px; background:rgba(255,255,255,.45); margin-bottom:.5rem; text-decoration:none; }
.notice-list { display:grid; gap:1rem; }
.auth-grid { display:grid; grid-template-columns: minmax(0,1fr) minmax(280px,.75fr); gap:1rem; align-items:stretch; }
.fun-panel { background: linear-gradient(135deg, rgba(255,93,173,.2), rgba(35,215,255,.2)), var(--panel); }

.ad-slot { display:grid; grid-template-columns: minmax(0,1fr) minmax(180px,300px); gap:1rem; align-items:center; }
.ad-preview, .ad-card { text-decoration:none; color:inherit; }
.ad-preview img, .ad-card img, .admin-ad-row img { border-radius:18px; border:var(--border); background:rgba(255,255,255,.45); aspect-ratio: 728 / 90; object-fit:cover; width:100%; }
.ad-grid { display:grid; gap:.8rem; }
.ad-card { display:grid; gap:.4rem; padding:.7rem; border-radius:18px; background:rgba(255,255,255,.45); }
.admin-ad-row { display:grid; grid-template-columns: 210px minmax(0,1fr) auto; gap:1rem; align-items:center; margin-bottom:1rem; }
.shop-card { display:grid; align-content:start; }
.chat-log { display:grid; gap:.8rem; max-height:520px; overflow:auto; padding:.5rem; }
.chat-message { max-width: 760px; padding:.85rem; border-radius:18px; background:rgba(255,255,255,.58); border:1px solid rgba(0,0,0,.1); }
.chat-message.admin { margin-left:auto; background:rgba(35,215,255,.16); }
.chat-message strong { display:inline-block; margin-right:.5rem; }
.chat-message span { color:var(--muted); font-size:.85rem; }
.chat-form { margin-top:1rem; }
.admin-nav { display:flex; gap:.5rem; flex-wrap:wrap; margin: 1rem 0; }
.setup-shell { min-height:100vh; display:grid; place-items:center; padding:2rem; }

.site-footer { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin: 2rem 0; padding:1rem; color:var(--muted); }
.site-footer a { color:inherit; }
.footer-dots { margin:0 .45rem; }
.cookie-banner { position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:60; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; }
.cookie-banner[hidden] { display:none; }
.party-layer { position:fixed; inset:0; pointer-events:none; z-index:80; overflow:hidden; }
.emoji-pop { position:absolute; font-size:1.4rem; animation: emoji-pop 900ms ease-out forwards; transform:translate(-50%,-50%); }
@keyframes emoji-pop { 0% { opacity:1; transform:translate(-50%,-50%) scale(.6) rotate(0deg); } 100% { opacity:0; transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(1.4) rotate(var(--r)); } }

@media (max-width: 980px) {
    .site-header { grid-template-columns: auto auto; }
    .header-tools { grid-column:1/-1; justify-content:space-between; }
    .nav-toggle { display:inline-flex; }
    .site-nav { display:none; grid-column:1/-1; justify-content:flex-start; }
    body.nav-open .site-nav { display:flex; }
    .hero, .auth-grid, .grid.two, .grid.three, .grid.four, .grid.five, .ad-slot, .admin-ad-row { grid-template-columns:1fr; }
    .brand small { display:none; }
    .list-row { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
    .site-shell { width:min(100% - 14px, 1220px); }
    .site-header { top:5px; border-radius:18px; }
    .panel, .card { border-radius:18px; }
    .hero h1, .panel h1 { font-size:2.25rem; }
    .theme-picker { width:100%; }
    .theme-picker label { width:100%; align-items:flex-start; }
    .cookie-banner { flex-direction:column; align-items:flex-start; }
}

/* V2 template-object additions */
.site-body { width: min(1220px, calc(100% - 24px)); margin: 0 auto; position: relative; }
.site-main { padding: 0 0 42px; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:.55rem; flex-wrap:wrap; }
.brand-mark { width:54px; height:54px; border-radius:18px; display:grid; place-items:center; font-weight:1000; background:linear-gradient(135deg,var(--brand),var(--brand-2)); border:3px solid rgba(255,255,255,.65); box-shadow:0 8px 0 rgba(0,0,0,.15); transform:rotate(-4deg); }
.brand em { display:block; color:var(--muted); max-width:330px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:.86rem; font-style:normal; }
.background-bubbles { position:fixed; inset:0; pointer-events:none; z-index:-1; overflow:hidden; }
.background-bubbles span { position:absolute; width:10rem; height:10rem; border-radius:999px; background:rgba(255,255,255,.18); filter:blur(2px); animation:floaty 9s ease-in-out infinite; }
.background-bubbles span:nth-child(1){left:6%;top:18%;}.background-bubbles span:nth-child(2){right:10%;top:12%;animation-delay:-1s}.background-bubbles span:nth-child(3){left:35%;bottom:8%;animation-delay:-2s}.background-bubbles span:nth-child(4){right:20%;bottom:18%;animation-delay:-3s}.background-bubbles span:nth-child(5){left:65%;top:42%;animation-delay:-4s}
.card-icon, .tile-icon, .empty-icon { width:64px; height:64px; display:grid; place-items:center; font-size:2rem; border-radius:20px; background:linear-gradient(135deg,var(--brand-3),var(--brand-2)); margin-bottom:.8rem; box-shadow:0 7px 0 rgba(0,0,0,.12); }
.hero-art { position:relative; min-height:300px; display:grid; place-items:center; }
.pixel-orb { width:min(260px, 70vw); aspect-ratio:1; display:grid; place-items:center; border-radius:44px; font-size:5rem; font-weight:1000; color:#fff; background:linear-gradient(135deg,var(--brand),var(--brand-2)); border:5px solid rgba(255,255,255,.8); box-shadow:0 20px 0 rgba(0,0,0,.14); animation:floaty 5s ease-in-out infinite; }
.floating-sticker { position:absolute; display:grid; place-items:center; width:70px; height:70px; border-radius:22px; background:rgba(255,255,255,.7); border:var(--border); font-size:2.1rem; box-shadow:var(--shadow); animation:floaty 4.5s ease-in-out infinite; }
.floating-sticker.one{left:4%;top:20%;}.floating-sticker.two{right:4%;top:42%;animation-delay:-1.5s}.floating-sticker.three{left:30%;bottom:0;animation-delay:-2.2s}
.stack { display:grid; gap:.8rem; }
.notify-box { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.8rem; padding:1rem; margin-bottom:.8rem; background:var(--panel); border:var(--border); border-radius:20px; box-shadow:var(--shadow); }
.notify-box.success { border-color:rgba(51,192,113,.55); background:rgba(51,192,113,.14); }
.notify-box.warning { border-color:rgba(255,176,32,.6); background:rgba(255,176,32,.16); }
.notify-box.error, .notify-box.danger { border-color:rgba(255,79,109,.6); background:rgba(255,79,109,.16); }
.notify-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:16px; background:rgba(255,255,255,.58); font-size:1.4rem; }
.notify-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; color:var(--muted); }
.notify-head strong { color:var(--ink); }
.notify-body p { margin:.2rem 0 .5rem; }
.notify-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.flash-stack { display:grid; gap:.75rem; margin-bottom:1rem; }
.badge, .tiny-badge { display:inline-flex; align-items:center; width:max-content; border-radius:999px; padding:.25rem .58rem; font-size:.76rem; font-weight:1000; background:rgba(255,255,255,.48); border:1px solid rgba(0,0,0,.12); text-transform:uppercase; letter-spacing:.06em; }
.badge.success { background:rgba(51,192,113,.18); }.badge.warning { background:rgba(255,176,32,.2); }.badge.error { background:rgba(255,79,109,.18); }
.stat-card em { display:block; color:var(--muted); font-size:.85rem; margin-top:.35rem; font-style:normal; }
.feature-card, .social-card, .bot-card { min-height:100%; }
.mini-list { margin:.7rem 0; padding-left:1.1rem; color:var(--muted); }
.shop-ribbon { width:max-content; padding:.24rem .55rem; border-radius:999px; background:var(--brand-3); color:#21153c; font-weight:1000; text-transform:uppercase; letter-spacing:.08em; font-size:.76rem; }
.inline-form { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.ad-box { padding:.65rem; background:rgba(255,255,255,.58); border:var(--border); border-radius:20px; }
.ad-box a { display:grid; gap:.4rem; text-decoration:none; }
.ad-box img { width:100%; aspect-ratio:728/90; object-fit:cover; border-radius:14px; background:rgba(255,255,255,.5); }
.ad-box span { font-weight:900; color:var(--muted); }
.timeline { display:grid; gap:.85rem; padding:0; margin:1rem 0 0; list-style:none; }
.timeline-step { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.8rem; align-items:start; }
.timeline-step > span { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; font-weight:1000; box-shadow:0 5px 0 rgba(0,0,0,.14); }
.timeline-step p { margin:.2rem 0 0; color:var(--muted); }
.empty-state { text-align:center; }
.empty-state .empty-icon { margin-inline:auto; }
.empty-actions { margin-top:1rem; display:flex; justify-content:center; gap:.6rem; }
.admin-grid { align-items:stretch; }
.admin-tile { display:grid; align-content:start; gap:.4rem; padding:1rem; border:var(--border); border-radius:20px; background:var(--panel); box-shadow:var(--shadow); text-decoration:none; }
.admin-tile b { font-size:2rem; color:var(--brand); }
.admin-tile em { color:var(--muted); font-style:normal; }
.profile-block .section-head { margin-bottom:.6rem; }
.error-panel .debug-dump:empty { display:none; }
.setup-main { padding:2rem 0; }
.setup-body { width:min(1220px, calc(100% - 24px)); }
.setup-table-scroll { max-height:420px; }
.maintenance-card { max-width:800px; margin:5rem auto; }
.data-table { width:100%; border-collapse:separate; border-spacing:0 .45rem; }
.home-split .empty-state { margin:0; }

@media (max-width: 980px) {
    .header-actions { grid-column:1/-1; justify-content:space-between; }
    .hero-art { min-height:220px; }
    .brand em { display:none; }
}
@media (max-width: 560px) {
    .site-body, .setup-body { width:min(100% - 14px, 1220px); }
    .notify-box { grid-template-columns:1fr; }
    .pixel-orb { font-size:3rem; }
}

/* V6 core systems patch */
html[data-theme="retro"] {
    cursor: cell;
}
html[data-theme="clean"] {
    cursor: default;
}
html[data-theme="party"] {
    --bg: #fff032;
    --bg-2: #ff5dad;
    --panel: rgba(255,255,255,.74);
    --panel-strong: rgba(255,255,255,.92);
    --ink: #210947;
    --muted: #5b267a;
    --brand: #ff1bbd;
    --brand-2: #00eaff;
    --brand-3: #ffff37;
    --accent: #2fff78;
    --danger: #ff1744;
    --warning: #ffea00;
    --success: #00e676;
    --border: 4px solid rgba(33,9,71,.22);
    --shadow: 0 22px 65px rgba(255,27,189,.26), 0 8px 0 rgba(33,9,71,.16);
    --radius: 28px;
    cursor: grab;
    animation: party-rainbow-bg 9s linear infinite;
}
html[data-theme="party"] body {
    background:
        radial-gradient(circle at 8% 12%, #00eaff, transparent 22rem),
        radial-gradient(circle at 92% 9%, #ff1bbd, transparent 28rem),
        radial-gradient(circle at 25% 88%, #2fff78, transparent 26rem),
        linear-gradient(135deg, #fff032, #ff8bd8 45%, #74f4ff);
}
html[data-theme="party"] .card,
html[data-theme="party"] .panel,
html[data-theme="party"] .admin-tile,
html[data-theme="party"] .button,
html[data-theme="party"] button,
html[data-theme="party"] .brand-mark {
    animation: party-wiggle 1.35s ease-in-out infinite;
}
html[data-theme="party"] .card:nth-child(2n),
html[data-theme="party"] .panel:nth-child(2n),
html[data-theme="party"] .admin-tile:nth-child(2n) {
    animation-delay: -.42s;
}
html[data-theme="party"] input:focus,
html[data-theme="party"] textarea:focus,
html[data-theme="party"] select:focus {
    outline: 4px dashed var(--brand-2);
    box-shadow: 0 0 0 7px rgba(255,255,55,.45);
}
html[data-theme="party"] .background-bubbles span {
    background: rgba(255,255,255,.35);
    animation-duration: 4.5s;
}
@keyframes party-rainbow-bg {
    0% { filter: hue-rotate(0deg) saturate(1.15); }
    100% { filter: hue-rotate(360deg) saturate(1.15); }
}
@keyframes party-wiggle {
    0%, 100% { transform: rotate(-.35deg) scale(1); }
    45% { transform: rotate(.35deg) scale(1.01); }
}
.party-layer {
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:9999;
    overflow:hidden;
}
.emoji-pop {
    position:absolute;
    font-size:clamp(1.1rem, 2.5vw, 2.2rem);
    line-height:1;
    transform:translate(-50%,-50%);
    will-change:transform,opacity;
    animation: emoji-pop 950ms cubic-bezier(.17,.84,.44,1) forwards;
}
.emoji-trail {
    position:absolute;
    font-size:1.3rem;
    pointer-events:none;
    transform:translate(-50%,-50%);
    animation: emoji-trail 700ms ease-out forwards;
}
@keyframes emoji-trail {
    0% { opacity:.95; transform:translate(-50%,-50%) scale(.65) rotate(0deg); }
    100% { opacity:0; transform:translate(calc(-50% + var(--tx, 0px)), calc(-50% + var(--ty, -28px))) scale(1.2) rotate(var(--tr, 40deg)); }
}
.site-search {
    display:flex;
    align-items:center;
    gap:.45rem;
    min-width:min(100%, 370px);
}
.site-search input,
.site-search select {
    min-height:42px;
}
.site-search input {
    min-width:12rem;
}
.site-search select {
    max-width:9rem;
}
.site-search button {
    min-height:42px;
    padding:.45rem .7rem;
}
.remember-prompt {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:1rem;
    align-items:center;
    margin-bottom:1rem;
    border-color:rgba(35,215,255,.55);
    background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(35,215,255,.18));
}
.remember-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
    justify-content:flex-end;
}
.remember-inline {
    display:flex;
    align-items:center;
    gap:.55rem;
    margin-top:1rem;
    font-weight:900;
}
.remember-inline input {
    width:auto;
}
.profile-avatar,
.big-avatar {
    width:112px;
    height:112px;
    border-radius:30px;
    object-fit:cover;
    border:var(--border);
    box-shadow:var(--shadow);
    background:var(--panel-strong);
}
.mini-avatar {
    width:28px;
    height:28px;
    border-radius:999px;
    object-fit:cover;
    vertical-align:middle;
    border:2px solid rgba(255,255,255,.7);
}
.theme-card.active,
.shop-card.owned {
    outline:4px solid var(--accent);
    outline-offset:4px;
}
.theme-options {
    display:grid;
    gap:.4rem;
}
.theme-options label {
    display:flex;
    align-items:center;
    gap:.5rem;
    padding:.45rem .6rem;
    border-radius:14px;
    background:rgba(255,255,255,.45);
}
.theme-options input {
    width:auto;
}
.badge-wall {
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
}
.badge-chip {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.55rem .75rem;
    border:var(--border);
    border-radius:999px;
    background:var(--panel);
    font-weight:900;
}
.checkout-form,
.close-ticket-form,
.search-page-form {
    display:grid;
    gap:.75rem;
}
.price {
    font-size:1.35rem;
    font-weight:1000;
    color:var(--brand);
}
.balance-pill {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.4rem .7rem;
    border-radius:999px;
    background:var(--panel-strong);
    border:var(--border);
    font-weight:1000;
}
.danger {
    color:var(--danger);
}
.big-search {
    display:grid;
    grid-template-columns:minmax(0,1fr) 170px auto;
    gap:.65rem;
}
.support-message {
    padding:.9rem;
    border:var(--border);
    border-radius:18px;
    background:var(--panel);
    margin:.6rem 0;
}
.support-message.staff {
    border-color:rgba(255,93,173,.55);
    background:rgba(255,93,173,.12);
}
.closed-reason {
    border:2px dashed rgba(39,27,72,.28);
    background:rgba(255,255,255,.45);
    border-radius:16px;
    padding:.8rem;
}
.shop-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
}
@media (max-width: 760px) {
    .remember-prompt,
    .big-search {
        grid-template-columns:1fr;
    }
    .remember-actions {
        justify-content:flex-start;
    }
    .site-search {
        width:100%;
        flex-wrap:wrap;
    }
    .site-search input {
        flex:1 1 100%;
    }
}

/* V8 polish: compact header, restored themes, shop categories */
.compact-header.site-header {
    display:flex;
    align-items:center;
    gap:.55rem;
    flex-wrap:wrap;
    padding:.5rem .65rem;
    border-width:2px;
}
.compact-header .brand {
    min-width:auto;
    flex:0 0 auto;
}
.compact-header .brand-mark {
    width:44px;
    height:44px;
    border-radius:15px;
    font-size:.95rem;
}
.compact-header .brand strong {
    font-size:1.08rem;
}
.compact-header .brand em,
.compact-header .brand small {
    display:none;
}
.compact-header .site-nav {
    flex:1 1 390px;
    justify-content:center;
    gap:.15rem;
}
.compact-header .nav-link {
    padding:.42rem .65rem;
    font-size:.95rem;
}
.header-tools,
.header-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.42rem;
    flex:1 1 410px;
    min-width:min(100%, 320px);
    flex-wrap:wrap;
}
.compact-header .site-search {
    min-width:0;
    width:min(100%, 330px);
    flex:1 1 260px;
    display:grid;
    grid-template-columns:minmax(130px, 1fr) minmax(88px, 120px) auto;
    gap:.35rem;
}
.compact-header .site-search input,
.compact-header .site-search select,
.compact-header .site-search button {
    min-height:38px;
    border-radius:13px;
    padding:.48rem .65rem;
}
.cart-link {
    white-space:nowrap;
}
.cart-link b {
    min-width:1.35rem;
    height:1.35rem;
    display:inline-grid;
    place-items:center;
    border-radius:999px;
    background:var(--brand);
    color:#fff;
    font-size:.78rem;
}
.auth-panel {
    display:flex;
    align-items:center;
    gap:.35rem;
    flex-wrap:wrap;
}
.mini-profile {
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.35rem .55rem;
    border-radius:999px;
    text-decoration:none;
    background:rgba(255,255,255,.45);
    font-weight:900;
}
.shop-actions,
.button-row,
.card-actions {
    display:flex;
    align-items:center;
    gap:.55rem;
    flex-wrap:wrap;
}
.shop-action-form {
    display:grid;
    gap:.65rem;
}
.shop-action-form .inline-label {
    justify-content:flex-start;
}
.shop-action-form .inline-label input {
    max-width:90px;
}
.price-inline {
    display:inline-block;
    margin-top:.45rem;
    font-size:1.2rem;
    color:var(--brand);
}
.premium-plan-card.owned,
.shop-card.owned,
.theme-card.active {
    outline:4px solid var(--accent);
    outline-offset:3px;
}
html[data-theme="cosmic"] {
    cursor: default;
}
html[data-theme="cosmic"] .card,
html[data-theme="cosmic"] .panel,
html[data-theme="cosmic"] .site-header {
    box-shadow: var(--shadow), 0 0 28px rgba(0,231,255,.16);
}
html[data-theme="terminal"] {
    cursor: text;
}
html[data-theme="terminal"] body::after {
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:repeating-linear-gradient(to bottom, rgba(255,255,255,.035), rgba(255,255,255,.035) 1px, transparent 2px, transparent 4px);
    mix-blend-mode:screen;
    opacity:.4;
    z-index:1;
}
html[data-theme="terminal"] .site-header,
html[data-theme="terminal"] .site-main,
html[data-theme="terminal"] .site-footer {
    position:relative;
    z-index:2;
}
@media (max-width: 980px) {
    .compact-header.site-header { align-items:flex-start; }
    .compact-header .site-nav { order:3; flex-basis:100%; justify-content:flex-start; display:none; }
    body.nav-open .compact-header .site-nav { display:flex; }
    .header-tools { flex:1 1 100%; justify-content:space-between; }
    .compact-header .site-search { width:100%; }
}
@media (max-width: 560px) {
    .compact-header .site-search { grid-template-columns:1fr; }
    .compact-header .site-search select,
    .compact-header .site-search button { width:100%; max-width:none; }
    .cart-link span { display:none; }
    .mini-profile span { max-width:120px; overflow:hidden; text-overflow:ellipsis; }
}

/* V9 feature polish patch: animated gradients, compact theme selector, aligned shop cards, social logos */
.rainbow-border::before {
    background-size: 300% 100%;
}

@keyframes border-gradient-pan {
    0% { background-position: 0% 50%; }
    100% { background-position: 300% 50%; }
}

@keyframes soft-gradient-pan {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

@media (prefers-reduced-motion: no-preference) {
    .rainbow-border::before {
        animation: border-gradient-pan 8s linear infinite;
    }

    .button.primary,
    .nav-link.active,
    .nav-link.admin.active,
    .card-icon,
    .brand-mark,
    .brand-orb,
    .timeline-step > span {
        background-size: 220% 220%;
        animation: soft-gradient-pan 9s ease infinite;
    }
}

.compact-theme-picker {
    display:flex;
    align-items:center;
    gap:.35rem;
    padding:.18rem;
    border-radius:999px;
    background:rgba(255,255,255,.32);
}

.compact-theme-picker label {
    display:flex;
    align-items:center;
    gap:.35rem;
    margin:0;
    font-size:.78rem;
    color:var(--muted);
}

.compact-theme-picker label span {
    font-weight:1000;
}

.compact-theme-picker select {
    min-width:128px;
    min-height:36px;
    padding:.38rem .55rem;
    border-radius:999px;
}

.compact-theme-picker .button {
    white-space:nowrap;
}

.shop-card {
    min-height:100%;
    align-content:start;
    grid-template-rows:auto auto minmax(4.5rem, 1fr) auto auto auto;
}

.shop-card .price {
    margin:.25rem 0;
}

.shop-card .shop-actions {
    margin-top:auto;
}

.shop-card .small.muted {
    min-height:2.2rem;
}

.social-logo {
    overflow:hidden;
}

.social-logo img {
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:inherit;
}

.social-card .shop-ribbon {
    margin:.15rem 0 .4rem;
}

.social-card {
    display:grid;
    grid-template-rows:auto auto auto minmax(4rem, 1fr) auto;
}

@media (max-width:760px) {
    .auth-panel {
        width:100%;
    }

    .compact-theme-picker {
        width:100%;
        justify-content:space-between;
    }

    .compact-theme-picker label {
        flex:1;
    }

    .compact-theme-picker select {
        width:100%;
        min-width:0;
    }
}


/* V10 admin polish */
.admin-edit-row { margin: 1rem 0; }
.admin-edit-row input, .admin-edit-row select, .admin-edit-row textarea { width: 100%; }
.admin-edit-row textarea { resize: vertical; }
.shop-action-form.compact { margin-bottom: .65rem; }
.theme-picker.compact-theme-picker label { display:flex; align-items:center; gap:.45rem; }
.theme-picker.compact-theme-picker select { min-width: 9rem; }

/* V11 whole-site UX/admin CRUD polish */
.button.warn { background: rgba(255,176,32,.24); color: var(--ink); }
.button.danger { background: rgba(255,79,109,.24); color: #7b1230; }
.status-pill.good { background: rgba(51,192,113,.18); }
.status-pill.danger { background: rgba(255,79,109,.18); }
.notice.warning { border: 1px solid rgba(255,176,32,.45); background: rgba(255,176,32,.14); border-radius: 16px; padding: .75rem .9rem; font-weight: 800; }
.admin-form-grid { grid-template-columns: repeat(3, minmax(0,1fr)); align-items:end; }
.admin-form-grid .wide, .grid-form .wide { grid-column: 1 / -1; }
.admin-record-card { display: grid; gap: 1rem; }
.admin-actions { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; padding-top:.25rem; }
.inline-form { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.inline-form input, .inline-form select { width:auto; min-width: 160px; }
.admin-checkbox-row { display:flex; gap:1rem; flex-wrap:wrap; align-items:center; }
.check { display:flex; grid-template-columns:auto 1fr; align-items:center; gap:.45rem; margin:.2rem 0; width:max-content; }
.check input { width:auto; }
.admin-ad-preview { width: min(100%, 420px); max-height: 180px; object-fit: cover; border-radius: 18px; border: var(--border); box-shadow: var(--shadow); }
.small-stack { gap:.45rem; }
.admin-mini-edit { display:grid; grid-template-columns: 1fr 1fr 1.5fr auto; gap:.5rem; align-items:center; }
.admin-mini-edit input { min-width:0; }
.shop-theme-preview-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; border-style:dashed; }
[data-shop-theme-preview].is-active { outline: 3px solid var(--brand-2); outline-offset: 3px; }
.shop-actions .button-row { margin-bottom:.65rem; }
.theme-picker.compact-theme-picker .button { display:none; }

@media (max-width:980px) {
    .admin-form-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .admin-mini-edit { grid-template-columns:1fr; }
}

@media (max-width:760px) {
    .admin-form-grid, .grid-form { grid-template-columns:1fr; }
    .inline-form { align-items:stretch; }
    .inline-form input, .inline-form select, .inline-form .button { width:100%; }
    .admin-actions { align-items:stretch; }
    .admin-actions form, .admin-actions .button { width:100%; }
    .shop-theme-preview-bar { align-items:stretch; }
}

/* V12 social live chat + party game polish */
.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.friend-code-card,
.game-code-card {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.85rem;
    flex-wrap:wrap;
    padding:1rem;
    border:var(--border);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(35,215,255,.14));
    box-shadow:var(--shadow);
}
.friend-code-card strong,
.game-code-card strong {
    font-size:clamp(1.8rem, 6vw, 3.3rem);
    letter-spacing:.12em;
    line-height:1;
}
.friend-code-inline {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    flex-wrap:wrap;
}
.friend-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.85rem;
    align-items:center;
    padding:.85rem;
    margin-bottom:.65rem;
    border:var(--border);
    border-radius:18px;
    background:rgba(255,255,255,.5);
}
.friend-person {
    display:flex;
    align-items:center;
    gap:.7rem;
    min-width:0;
}
.friend-person span { display:grid; gap:.15rem; }
.friend-actions { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; justify-content:flex-end; }
.mini-avatar.fallback {
    display:inline-grid;
    place-items:center;
    background:rgba(255,255,255,.7);
    font-size:.9rem;
}

.chat-shell,
.game-room-layout {
    display:grid;
    grid-template-columns:minmax(250px, .34fr) minmax(0, 1fr);
    gap:1rem;
    align-items:start;
}
.chat-sidebar,
.chat-panel,
.game-phase { min-width:0; }
.chat-room-list,
.game-player-list,
.game-submission-grid,
.check-grid {
    display:grid;
    gap:.65rem;
}
.chat-room-link {
    display:grid;
    gap:.2rem;
    padding:.75rem;
    border:var(--border);
    border-radius:16px;
    background:rgba(255,255,255,.45);
    color:inherit;
    text-decoration:none;
}
.chat-room-link span { color:var(--muted); font-size:.9rem; font-weight:800; text-transform:capitalize; }
.chat-room-link.active {
    outline:3px solid var(--brand-2);
    background:rgba(35,215,255,.16);
}
.chat-create-group { margin-top:1rem; }
.live-chat-log {
    min-height:420px;
    max-height:60vh;
    align-content:start;
    background:rgba(255,255,255,.25);
    border:1px solid rgba(39,27,72,.12);
    border-radius:20px;
}
.live-chat-form {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.75rem;
    align-items:end;
}
.live-chat-form textarea { margin:0; min-height:74px; }
.chat-message.self {
    margin-left:auto;
    background:rgba(35,215,255,.17);
    border-color:rgba(35,215,255,.35);
}
.chat-message.system {
    max-width:none;
    margin-inline:auto;
    text-align:center;
    background:rgba(255,220,79,.18);
    border-style:dashed;
}
.check-grid { grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); }
.check-row {
    display:flex;
    align-items:center;
    gap:.5rem;
    padding:.45rem .55rem;
    border-radius:14px;
    background:rgba(255,255,255,.45);
    margin:0;
}
.check-row input { width:auto; }

.game-room-card {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.75rem;
    align-items:center;
    padding:.85rem;
    border:var(--border);
    border-radius:18px;
    background:rgba(255,255,255,.52);
}
.game-room-card div { display:grid; gap:.15rem; }
.game-room-card strong { font-size:1.35rem; letter-spacing:.08em; }
.game-room-card span,
.game-room-card em { color:var(--muted); font-weight:800; font-style:normal; }
.game-player {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    padding:.7rem;
    border-radius:16px;
    background:rgba(255,255,255,.52);
    border:1px solid rgba(39,27,72,.12);
}
.game-player span {
    display:flex;
    align-items:center;
    gap:.55rem;
    min-width:0;
}
.game-player b {
    display:inline-grid;
    place-items:center;
    min-width:2.4rem;
    padding:.25rem .45rem;
    border-radius:999px;
    background:var(--panel-strong);
    border:1px solid rgba(39,27,72,.12);
}
.game-submission-grid { grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); margin:1rem 0; }
.game-submission {
    display:grid;
    gap:.7rem;
    align-content:start;
    padding:1rem;
    border:var(--border);
    border-radius:20px;
    background:rgba(255,255,255,.58);
}
.game-submission p { margin:0; font-size:1.08rem; font-weight:900; }
.game-submission.result { background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,220,79,.18)); }
.game-refresh-notice { margin-bottom:1rem; }
.button.big { font-size:1.15rem; padding:.95rem 1.25rem; }
.button.tiny { font-size:.85rem; padding:.45rem .65rem; }
.status-pill.warn { background:rgba(255,176,32,.18); }
.leave-room-form { margin-top:1rem; }

@media (max-width: 980px) {
    .chat-shell,
    .game-room-layout,
    .friend-row,
    .game-room-card {
        grid-template-columns:1fr;
    }
    .friend-actions { justify-content:flex-start; }
    .live-chat-form { grid-template-columns:1fr; }
}
.profile-identity {
    display:flex;
    align-items:center;
    gap:1.25rem;
    flex-wrap:wrap;
}
.big-avatar.fallback {
    display:grid;
    place-items:center;
    font-size:3rem;
}
.friend-person {
    color:inherit;
    text-decoration:none;
}
.friend-person em {
    color:var(--muted);
    font-style:normal;
    font-size:.9rem;
    font-weight:800;
}


/* v12 whole-site UX polish: theme fonts, custom cursors, compact top bar, party motion */
:root {
    --font-ui: var(--font);
    --font-display: var(--font);
}

html[data-theme="retro"] {
    --font-ui: var(--font);
    --font-display: var(--font);
}

html[data-theme="cosmic"] {
    --font-ui: var(--font);
    --font-display: var(--font);
}

html[data-theme="terminal"] {
    --font-ui: Consolas, "Liberation Mono", "Courier New", monospace;
    --font-display: Consolas, "Liberation Mono", "Courier New", monospace;
}

html[data-theme="clean"] {
    --font-ui: var(--font);
    --font-display: var(--font);
}

html[data-theme="party"] {
    --font-ui: var(--font);
    --font-display: var(--font);
}

body,
button,
input,
select,
textarea {
    font-family: var(--font-ui);
}

h1,
h2,
h3,
.brand strong,
.hero-title,
.page-title,
.section-title,
.stat-value {
    font-family: var(--font-display);
    letter-spacing: .02em;
}

.header-collapse-toggle {
    border: var(--border);
    border-radius: 999px;
    background: var(--panel-strong);
    color: var(--ink);
    font-weight: 900;
    padding: .55rem .8rem;
    box-shadow: var(--shadow);
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
}

.header-collapse-toggle:hover,
.header-collapse-toggle:focus-visible {
    transform: translateY(-1px);
    border-color: var(--accent);
}

.collapse-icon {
    display: inline-block;
    transform: rotate(90deg);
}

body.header-minimized .compact-header .site-nav,
body.header-minimized .compact-header .header-tools,
body.header-minimized .compact-header .nav-toggle {
    display: none !important;
}

body.header-minimized .compact-header {
    width: fit-content;
    max-width: calc(100vw - 2rem);
    margin-left: auto;
    padding: .65rem;
    gap: .55rem;
}

body.header-minimized .brand > span:not(.brand-mark) {
    display: none;
}

body.header-minimized .collapse-icon {
    transform: rotate(-90deg);
}

@media (max-width: 820px) {
    .compact-header {
        position: sticky;
        top: .35rem;
        z-index: 40;
    }

    .header-collapse-toggle {
        padding: .48rem .68rem;
        font-size: .82rem;
    }

    body.header-minimized .compact-header {
        position: fixed;
        top: .55rem;
        right: .55rem;
        z-index: 80;
    }
}

.party-layer {
    pointer-events: none;
    position: fixed;
    inset: 0;
    overflow: hidden;
    z-index: 75;
}

.emoji-rain {
    position: fixed;
    top: -2rem;
    pointer-events: none;
    animation: emoji-rain-fall var(--fall-duration, 6s) linear forwards;
    filter: drop-shadow(0 6px 10px rgba(0,0,0,.22));
}

@keyframes emoji-rain-fall {
    0% {
        transform: translate3d(0, -2rem, 0) rotate(0deg);
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    100% {
        transform: translate3d(var(--fall-x, 0), 110vh, 0) rotate(var(--fall-r, 360deg));
        opacity: 0;
    }
}

html[data-theme="party"] .card:hover,
html[data-theme="party"] .panel:hover,
html[data-theme="party"] .button:hover,
html[data-theme="party"] button:hover,
html[data-theme="party"] .nav-link:hover,
html[data-theme="party"] .shop-card:hover,
html[data-theme="party"] .admin-tile:hover,
html[data-theme="party"] .profile-block:hover,
html[data-theme="party"] .pixel-card:hover,
html[data-theme="party"] .social-card:hover,
html[data-theme="party"] .content-card:hover {
    animation: party-vibrate .16s linear infinite;
}

@keyframes party-vibrate {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
    25% { transform: translate3d(1px, -1px, 0) rotate(-.6deg); }
    50% { transform: translate3d(-1px, 1px, 0) rotate(.6deg); }
    75% { transform: translate3d(1px, 1px, 0) rotate(.35deg); }
}

/* Custom theme cursors use inline SVG data so no font/image files are needed. */
html[data-theme="retro"],
html[data-theme="retro"] * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23ff5dad' stroke='%23271b48' stroke-width='2' d='M4 3 L27 16 L18 19 L22 29 L16 31 L12 21 L4 27 Z'/%3E%3C/svg%3E") 4 3, auto;
}

html[data-theme="cosmic"],
html[data-theme="cosmic"] * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%239d7cff' stroke='%2300e7ff' stroke-width='2' d='M4 3 L27 16 L18 19 L22 29 L16 31 L12 21 L4 27 Z'/%3E%3Ccircle cx='23' cy='8' r='4' fill='%23ffef77'/%3E%3C/svg%3E") 4 3, auto;
}

html[data-theme="terminal"],
html[data-theme="terminal"] * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%2344ff77' stroke='%23071108' stroke-width='2' d='M4 3 L27 16 L18 19 L22 29 L16 31 L12 21 L4 27 Z'/%3E%3C/svg%3E") 4 3, auto;
}

html[data-theme="clean"],
html[data-theme="clean"] * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%232563eb' stroke='%231e293b' stroke-width='2' d='M4 3 L27 16 L18 19 L22 29 L16 31 L12 21 L4 27 Z'/%3E%3C/svg%3E") 4 3, auto;
}

html[data-theme="party"],
html[data-theme="party"] * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23ff5dad' stroke='%23271b48' stroke-width='2' d='M4 3 L27 16 L18 19 L22 29 L16 31 L12 21 L4 27 Z'/%3E%3Ccircle cx='24' cy='8' r='4' fill='%23ffdc4f'/%3E%3Ccircle cx='27' cy='20' r='3' fill='%2323d7ff'/%3E%3C/svg%3E") 4 3, auto;
}

a,
button,
.button,
select,
summary,
[data-copy-text],
input[type="submit"] {
    cursor: pointer;
}

input,
textarea {
    cursor: text;
}

.account-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin: 1rem 0 1.25rem;
}

.account-tab-link {
    border: var(--border);
    border-radius: 999px;
    background: var(--panel);
    color: var(--ink);
    padding: .65rem .95rem;
    text-decoration: none;
    font-weight: 900;
}

.account-tab-link:hover,
.account-tab-link:focus-visible {
    border-color: var(--accent);
    transform: translateY(-1px);
}

.account-tab-panel {
    scroll-margin-top: 8rem;
    margin-top: 1rem;
}

.form-help {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.45;
}

.badge-grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.badge-chip.large {
    font-size: 1rem;
    padding: .75rem .9rem;
    justify-content: flex-start;
}

.badge-icon-img {
    width: 1.65rem;
    height: 1.65rem;
    object-fit: contain;
    border-radius: .45rem;
}

.invoice-item-row {
    display: grid;
    grid-template-columns: 1.4fr 2fr .65fr .8fr;
    gap: .6rem;
    align-items: end;
    padding: .8rem;
    border: var(--border);
    border-radius: var(--radius);
    background: rgba(255,255,255,.35);
    margin-bottom: .65rem;
}

@media (max-width: 760px) {
    .invoice-item-row {
        grid-template-columns: 1fr;
    }
}

.content-media-preview {
    border: var(--border);
    background: rgba(255,255,255,.35);
    border-radius: var(--radius);
    padding: .8rem;
}

.content-media-preview img,
.content-media-preview video {
    max-width: 100%;
    border-radius: var(--radius);
    display: block;
}

.admin-rule-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.5fr) minmax(150px, .8fr) minmax(110px, .5fr);
    gap: .7rem;
    align-items: center;
    border: var(--border);
    border-radius: var(--radius);
    padding: .8rem;
    background: rgba(255,255,255,.35);
    margin-bottom: .65rem;
}

@media (max-width: 760px) {
    .admin-rule-row {
        grid-template-columns: 1fr;
    }
}

.content-card-media {
    margin-top: .85rem;
}
.content-card-media img,
.content-card-media video {
    max-width: 100%;
    border-radius: calc(var(--radius) * .6);
    display: block;
    border: var(--border);
}

.account-tab-panel .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.account-tab-panel .span-2 {
    grid-column: 1 / -1;
}
.field-note,
.details-grid > div {
    border: var(--border);
    border-radius: calc(var(--radius) * .65);
    background: rgba(255,255,255,.35);
    padding: .9rem;
}
.details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .85rem;
}
.details-grid span,
.stat-card span {
    display: block;
    color: var(--muted);
    font-size: .85rem;
    font-weight: 900;
}
@media (max-width: 760px) {
    .account-tab-panel .form-grid {
        grid-template-columns: 1fr;
    }
    .account-tab-panel .span-2 {
        grid-column: auto;
    }
}

/* v14 account settings layout */
.account-settings-shell { overflow: hidden; }
.account-settings-heading { margin-bottom: 1.25rem; }
.account-settings-heading h1 { margin: .15rem 0 .35rem; }
.account-settings-layout { display: grid; grid-template-columns: minmax(180px, 240px) 1fr; gap: 1.25rem; align-items: start; }
.account-tabs.vertical { display: flex; flex-direction: column; flex-wrap: nowrap; gap: .65rem; margin: 0; position: sticky; top: 1rem; }
.account-tabs.vertical .account-tab-link { width: 100%; border-radius: 1rem; text-align: left; }
.account-tabs.vertical .account-tab-link.is-active { border-color: var(--accent); box-shadow: var(--shadow); transform: translateX(3px); }
.account-settings-content { min-width: 0; }
.account-settings-content .account-tab-panel { display: none; margin-top: 0; scroll-margin-top: 7rem; }
.account-settings-content .account-tab-panel.is-active { display: block; }
.remember-inline-panel { border: var(--border); border-radius: var(--radius); padding: 1rem; margin-top: 1rem; background: var(--panel-soft); }
@media (max-width: 760px) {
  .account-settings-layout { grid-template-columns: 1fr; }
  .account-tabs.vertical { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-tabs.vertical .account-tab-link { text-align: center; padding-inline: .65rem; }
}

/* Invoice builder + history polish */
.invoice-admin-grid { align-items: start; }
.invoice-item-row { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) 90px 130px auto; gap: .75rem; align-items: end; padding: .75rem; border: 1px solid var(--border, rgba(0,0,0,.12)); border-radius: 1rem; margin-bottom: .75rem; background: rgba(255,255,255,.55); }
.invoice-remove { white-space: nowrap; }
.invoice-preview-panel { position: sticky; top: 1rem; }
.invoice-preview-lines { display: grid; gap: .6rem; }
.invoice-preview-line { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem .8rem; border-radius: .9rem; background: rgba(0,0,0,.045); }
.invoice-history-card summary { cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; }
.stat-card { padding: 1rem; border-radius: 1.25rem; border: 1px solid var(--border, rgba(0,0,0,.12)); background: rgba(255,255,255,.7); display: grid; gap: .35rem; }
.stat-card span { color: var(--muted, #70658a); font-size: .9rem; }
.stat-card strong { font-size: 1.45rem; }
.price-text { font-size: 2rem; font-weight: 900; margin: .25rem 0 1rem; }
@media (max-width: 850px) { .invoice-item-row { grid-template-columns: 1fr; } .invoice-preview-panel { position: static; } .invoice-history-card summary { align-items: flex-start; flex-direction: column; } }

/* v16 Party Mode chaos tools */
html[data-theme="party"] .theme-card,
html[data-theme="party"] .shop-card,
html[data-theme="party"] .panel,
html[data-theme="party"] .card {
    transform-origin: center;
}

.emoji-physics-pop {
    position: fixed;
    z-index: 100000;
    pointer-events: none;
    transform: translate3d(-50%, -50%, 0);
    opacity: 1;
    font-weight: 900;
    text-shadow: 0 2px 0 #fff, 0 5px 12px rgba(0,0,0,.34);
    filter: saturate(1.35) contrast(1.08) drop-shadow(0 8px 9px rgba(0,0,0,.28));
    will-change: transform, opacity;
}

.emoji-final-boom {
    position: fixed;
    z-index: 100001;
    pointer-events: none;
    transform: translate3d(-50%, -50%, 0);
    animation: party-final-boom .62s ease-out forwards;
    font-size: 2.7rem;
    text-shadow: 0 3px 0 #fff, 0 8px 18px rgba(0,0,0,.28);
}

@keyframes party-final-boom {
    0% { transform: translate3d(-50%, -50%, 0) scale(.35) rotate(-16deg); opacity: 0; }
    18% { opacity: 1; }
    100% { transform: translate3d(-50%, -50%, 0) scale(1.85) rotate(16deg); opacity: 0; }
}

.party-toolbar {
    position: fixed;
    right: .75rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100010;
    display: grid;
    gap: .45rem;
    padding: .65rem;
    width: 6.8rem;
    border: 3px solid #271b48;
    border-radius: 1.35rem;
    background: linear-gradient(160deg, rgba(255,255,255,.94), rgba(255,225,249,.93));
    box-shadow: 0 20px 42px rgba(39,27,72,.26), 0 0 0 5px rgba(255,93,173,.26);
    color: #271b48;
    font-family: var(--font-ui);
}

.party-toolbar strong { font-size: .8rem; text-align: center; line-height: 1.05; }

.party-toolbar button {
    border: 2px solid #271b48;
    border-radius: 1rem;
    background: #fff8c8;
    color: #271b48;
    min-height: 3rem;
    font-weight: 900;
    display: grid;
    place-items: center;
    gap: .1rem;
    box-shadow: 0 5px 0 #271b48;
}

.party-toolbar button span { font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; }
.party-toolbar button:hover,
.party-toolbar button.is-active { background: #ff5dad; color: #fff; transform: translateY(2px) rotate(-1deg); box-shadow: 0 3px 0 #271b48; }

.party-warning {
    position: fixed;
    left: 50%;
    top: 1rem;
    transform: translateX(-50%);
    z-index: 100011;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .8rem 1rem;
    border: 3px solid #271b48;
    border-radius: 999px;
    background: #fff8c8;
    color: #271b48;
    box-shadow: 0 14px 34px rgba(39,27,72,.25);
    font-weight: 900;
}
.party-warning span { color: #b00042; }
.party-warning button { border: 0; background: #ff5dad; color: #fff; border-radius: 999px; width: 1.65rem; height: 1.65rem; font-size: 1.1rem; line-height: 1; padding: 0; }
.party-draw-canvas { position: fixed; inset: 0; z-index: 100005; pointer-events: none; }
.party-draw-canvas.is-active { pointer-events: auto; cursor: crosshair !important; }
body[data-party-tool="grab"] { cursor: grab; }
body[data-party-tool="grab"] [data-party-physics="1"] { cursor: grabbing; }
body[data-party-tool="boot"] { cursor: cell; }
body[data-party-tool="bomb"] { cursor: crosshair; }

.party-background-event {
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: .24;
    background-size: 140px 140px;
    background-repeat: repeat;
    animation: party-meme-grid 5.8s linear forwards;
    mix-blend-mode: multiply;
}

@keyframes party-meme-grid {
    0% { opacity: 0; transform: scale(1.05); filter: hue-rotate(0deg); }
    12%, 82% { opacity: .28; }
    100% { opacity: 0; transform: scale(1); filter: hue-rotate(180deg); }
}

.party-meme-window {
    position: fixed;
    z-index: 100009;
    width: min(250px, calc(100vw - 1rem));
    border: 3px solid #0b2a7a;
    background: #c8d8ff;
    box-shadow: 8px 8px 0 rgba(0,0,0,.28);
    color: #111;
    animation: party-window-pop .28s cubic-bezier(.2,1.45,.45,1) both;
    font-family: Tahoma, Verdana, sans-serif;
}
.party-meme-title { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .35rem .45rem; color: #fff; background: linear-gradient(90deg, #0437a0, #38a3ff); font-size: .82rem; }
.party-meme-title button { border: 2px solid #fff; background: #d00; color: #fff; width: 1.35rem; height: 1.35rem; line-height: 1; padding: 0; border-radius: 0; }
.party-meme-window img { display: block; width: 100%; height: 145px; object-fit: cover; background: #fff; }
.party-meme-actions { display: flex; gap: .35rem; padding: .45rem; background: #ece9d8; }
.party-meme-actions button { flex: 1; border: 2px outset #fff; border-radius: 0; background: #ece9d8; color: #111; font-size: .72rem; font-weight: 700; padding: .35rem; }
@keyframes party-window-pop { from { transform: translateY(-24px) scale(.78) rotate(-4deg); opacity: 0; } to { transform: translateY(0) scale(1) rotate(1deg); opacity: 1; } }

@media (max-width: 760px) {
    .party-toolbar { top: auto; right: .5rem; bottom: .5rem; transform: none; width: auto; grid-template-columns: repeat(6, minmax(2.75rem, 1fr)); max-width: calc(100vw - 1rem); align-items: center; }
    .party-toolbar strong { display: none; }
    .party-toolbar button { min-height: 2.7rem; padding: .25rem; }
    .party-toolbar button span { display: none; }
    .party-warning { width: calc(100vw - 1rem); justify-content: center; border-radius: 1rem; }
}

/* v17 next updates */
.chat-compose-label { display: block; flex: 1 1 auto; min-width: 0; }
.chat-compose-label textarea { width: 100%; min-height: 3.15rem; resize: vertical; }
body[data-party-tool="mouse"] { cursor: auto; }

.badge-chip-details { position: relative; display: inline-block; }
.badge-chip-details summary { list-style: none; }
.badge-chip-details summary::-webkit-details-marker { display: none; }
.badge-chip-details[open] .badge-chip { border-color: var(--accent); box-shadow: var(--shadow); }
.badge-info-popover {
    position: absolute;
    z-index: 25;
    left: 0;
    top: calc(100% + .45rem);
    width: min(280px, 85vw);
    padding: .8rem;
    border: var(--border);
    border-radius: 1rem;
    background: var(--panel-strong);
    box-shadow: var(--shadow);
}
.badge-info-popover p { margin: 0 0 .45rem; }
.badge-info-popover p:last-child { margin-bottom: 0; }

.status-list { display: grid; gap: .75rem; }
.status-card {
    display: flex;
    justify-content: space-between;
    gap: .85rem;
    align-items: center;
    border: var(--border);
    border-radius: 1rem;
    padding: .85rem;
    background: rgba(255,255,255,.45);
}
.status-card strong { display: block; font-size: 1.02rem; }
.status-card span:not(.status-pill),
.status-card em { display: block; color: var(--muted); font-style: normal; font-size: .9rem; margin-top: .2rem; }
.status-card.status-online,
.status-card.status-operational { border-color: rgba(34,197,94,.45); }
.status-card.status-degraded,
.status-card.status-updating,
.status-card.status-maintenance,
.status-update-banner { border-color: rgba(245,158,11,.5); }
.status-card.status-offline,
.status-card.status-setup-needed { border-color: rgba(239,68,68,.5); }

.team-card { text-align: center; display: grid; justify-items: center; gap: .6rem; }
.profile-avatar.small { width: 82px; height: 82px; border-radius: 999px; object-fit: cover; border: var(--border); box-shadow: var(--shadow); background: var(--panel-strong); display: grid; place-items: center; font-size: 2rem; }
.giveaway-card .details-grid { margin: .9rem 0; }

.premium-plan-card { align-content: start; }
.premium-plan-card .tier-logo { font-size: 2.2rem; }
.premium-plan-card.tier-free .tier-logo { filter: grayscale(.1); }
.premium-plan-card.tier-basic .tier-logo { transform: rotate(-4deg); }
.premium-plan-card.tier-premium .tier-logo { transform: scale(1.06); }
.premium-plan-card.tier-pro .tier-logo { transform: rotate(4deg) scale(1.1); }
.premium-plan-body { display: grid; gap: .7rem; }
.premium-perks { margin: 0; padding-left: 1.15rem; display: grid; gap: .4rem; }
.premium-perks li { line-height: 1.35; }

.rabbit-run-shell { width: 100%; max-width: 1160px; margin-inline: auto; }
.rabbit-run-canvas {
    display: block;
    width: 100%;
    height: clamp(340px, 52vw, 520px);
    min-height: 300px;
    border: var(--border);
    border-radius: var(--radius);
    background: var(--panel-strong);
    box-shadow: var(--shadow);
    touch-action: none;
}
.rabbit-run-hud {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
    margin: .85rem 0;
}
.rabbit-run-hud strong { padding: .35rem .65rem; border: var(--border); border-radius: 999px; background: var(--panel-strong); }
.rabbit-run-hud span:last-child { color: var(--muted); font-weight: 800; }

@media (max-width: 760px) {
    .status-card { align-items: flex-start; flex-direction: column; }
    .badge-info-popover { position: static; margin-top: .45rem; width: auto; }
}

[data-theme="basic-bunny"] {
    --bg: #ffe9f3;
    --bg-2: #ffd2e8;
    --panel: rgba(255,255,255,.92);
    --panel-strong: #fffafc;
    --ink: #4b2f34;
    --muted: #8d6a73;
    --brand: #ff77ad;
    --brand-2: #ffc7de;
    --brand-3: #ffd37d;
    --accent: #a8e77d;
}
[data-theme="booster-glow"] {
    --bg: #0b1024;
    --bg-2: #1d315f;
    --panel: rgba(18,28,62,.9);
    --panel-strong: #17244d;
    --ink: #f5f8ff;
    --muted: #b7c3e4;
    --brand: #5865f2;
    --brand-2: #57f287;
    --brand-3: #fee75c;
    --accent: #eb459e;
    --border: 2px solid rgba(255,255,255,.16);
}
[data-theme="premium-neon"] {
    --bg: #100018;
    --bg-2: #240044;
    --panel: rgba(36,0,68,.9);
    --panel-strong: #32005c;
    --ink: #fff7ff;
    --muted: #e1b9f5;
    --brand: #ff38d1;
    --brand-2: #28f7ff;
    --brand-3: #fff04a;
    --accent: #7cff6b;
    --border: 2px solid rgba(255,56,209,.35);
}
[data-theme="cosmic-plus"] {
    --bg: #050718;
    --bg-2: #1a0b3d;
    --panel: rgba(15,16,50,.9);
    --panel-strong: #201354;
    --ink: #f9f6ff;
    --muted: #b9aee5;
    --brand: #7c5cff;
    --brand-2: #00e0ff;
    --brand-3: #ff9df2;
    --accent: #ffd166;
    --border: 2px solid rgba(124,92,255,.35);
}
[data-theme="pro-crown"] {
    --bg: #181000;
    --bg-2: #3a2600;
    --panel: rgba(56,38,5,.92);
    --panel-strong: #4b3206;
    --ink: #fff8dc;
    --muted: #ead59b;
    --brand: #ffd700;
    --brand-2: #ff9f1c;
    --brand-3: #fff1a8;
    --accent: #f72585;
    --border: 2px solid rgba(255,215,0,.38);
}
[data-theme="creator-lab"] {
    --bg: #06141b;
    --bg-2: #122c34;
    --panel: rgba(12,35,43,.9);
    --panel-strong: #143945;
    --ink: #eefcff;
    --muted: #a6cad2;
    --brand: #00f5d4;
    --brand-2: #00bbf9;
    --brand-3: #fee440;
    --accent: #f15bb5;
    --border: 2px solid rgba(0,245,212,.28);
}

/* Patch 009: distinct theme art, custom SVG cursors, Rabbit Run/admin polish */
html[data-theme] body { position: relative; }
html[data-theme] body::before { content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .22; background-repeat: repeat; background-size: 280px 240px; mix-blend-mode: soft-light; }
html[data-theme] .site-header, html[data-theme] .site-main, html[data-theme] .site-footer { position: relative; z-index: 1; }
html[data-theme="retro"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22260%22%20height=%22260%22%20viewBox=%220%200%20260%20260%22%3E%3Crect%20width=%22260%22%20height=%22260%22%20fill=%22none%22/%3E%3Cg%20opacity=%22.55%22%20fill=%22none%22%20stroke=%22%23271b48%22%20stroke-width=%223%22%3E%3Cpath%20d=%22M20%2040%20H100%20V120%20H20%20Z%22/%3E%3Cpath%20d=%22M34%2090%20H84%20M59%2064%20V116%22/%3E%3C/g%3E%3Cg%20opacity=%22.65%22%3E%3Crect%20x=%22145%22%20y=%2232%22%20width=%2272%22%20height=%2258%22%20rx=%2212%22%20fill=%22%23ffdc4f%22%20stroke=%22%23271b48%22%20stroke-width=%224%22/%3E%3Ccircle%20cx=%22162%22%20cy=%2261%22%20r=%227%22%20fill=%22%23ff5dad%22/%3E%3Ccircle%20cx=%22188%22%20cy=%2261%22%20r=%227%22%20fill=%22%2323d7ff%22/%3E%3C/g%3E%3Cpath%20d=%22M35%20205%20H225%22%20stroke=%22%23271b48%22%20stroke-width=%224%22%20stroke-dasharray=%2210%2014%22%20opacity=%22.35%22/%3E%3C/svg%3E"); }
html[data-theme="cosmic"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22320%22%20height=%22260%22%20viewBox=%220%200%20320%20260%22%3E%3Crect%20width=%22320%22%20height=%22260%22%20fill=%22none%22/%3E%3Ccircle%20cx=%2270%22%20cy=%2270%22%20r=%2235%22%20fill=%22%239d7cff%22%20opacity=%22.65%22/%3E%3Cellipse%20cx=%2270%22%20cy=%2270%22%20rx=%2255%22%20ry=%2214%22%20fill=%22none%22%20stroke=%22%2300e7ff%22%20stroke-width=%224%22%20opacity=%22.65%22%20transform=%22rotate(-18%2070%2070)%22/%3E%3Cpath%20d=%22M235%2042%20L247%2070%20L278%2074%20L255%2094%20L262%20124%20L235%20108%20L208%20124%20L215%2094%20L192%2074%20L223%2070%20Z%22%20fill=%22%23ffef77%22%20opacity=%22.55%22/%3E%3Cg%20fill=%22%23fff7ff%22%20opacity=%22.55%22%3E%3Ccircle%20cx=%2240%22%20cy=%22180%22%20r=%223%22/%3E%3Ccircle%20cx=%22130%22%20cy=%2245%22%20r=%222%22/%3E%3Ccircle%20cx=%22280%22%20cy=%22170%22%20r=%223%22/%3E%3Ccircle%20cx=%22180%22%20cy=%22210%22%20r=%222%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="terminal"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22320%22%20height=%22220%22%20viewBox=%220%200%20320%20220%22%3E%3Crect%20width=%22320%22%20height=%22220%22%20fill=%22none%22/%3E%3Cg%20fill=%22%2344ff77%22%20opacity=%22.18%22%20font-family=%22monospace%22%20font-size=%2220%22%3E%3Ctext%20x=%2220%22%20y=%2242%22%3E&gt;%20deploy%20--safe%3C/text%3E%3Ctext%20x=%2242%22%20y=%2286%22%3E01001001%3C/text%3E%3Ctext%20x=%2218%22%20y=%22132%22%3Estatus:%20ONLINE%3C/text%3E%3Ctext%20x=%2276%22%20y=%22180%22%3Erun%209000INC%3C/text%3E%3C/g%3E%3Cg%20stroke=%22%2344ff77%22%20stroke-width=%222%22%20opacity=%22.18%22%3E%3Cpath%20d=%22M0%2030%20H320%20M0%2090%20H320%20M0%20150%20H320%20M0%20210%20H320%22/%3E%3Cpath%20d=%22M40%200%20V220%20M120%200%20V220%20M200%200%20V220%20M280%200%20V220%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="clean"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22300%22%20height=%22260%22%20viewBox=%220%200%20300%20260%22%3E%3Crect%20width=%22300%22%20height=%22260%22%20fill=%22none%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%232563eb%22%20stroke-width=%222%22%20opacity=%22.16%22%3E%3Cpath%20d=%22M0%2040%20H300%20M0%20100%20H300%20M0%20160%20H300%20M0%20220%20H300%22/%3E%3Cpath%20d=%22M40%200%20V260%20M100%200%20V260%20M160%200%20V260%20M220%200%20V260%20M280%200%20V260%22/%3E%3C/g%3E%3Cpath%20d=%22M60%2070%20H220%20V150%20H60%20Z%22%20fill=%22%23fff%22%20opacity=%22.2%22%20stroke=%22%2310b981%22%20stroke-width=%224%22/%3E%3Cpath%20d=%22M75%20130%20L125%2082%20L160%20118%20L205%2072%22%20fill=%22none%22%20stroke=%22%23f59e0b%22%20stroke-width=%226%22%20stroke-linecap=%22round%22%20opacity=%22.35%22/%3E%3C/svg%3E"); }
html[data-theme="party"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22280%22%20height=%22240%22%20viewBox=%220%200%20280%20240%22%3E%3Crect%20width=%22280%22%20height=%22240%22%20fill=%22none%22/%3E%3Cg%20opacity=%22.55%22%3E%3Ccircle%20cx=%2252%22%20cy=%2254%22%20r=%2218%22%20fill=%22%23ff5dad%22/%3E%3Ccircle%20cx=%22214%22%20cy=%2278%22%20r=%2216%22%20fill=%22%2323d7ff%22/%3E%3Ccircle%20cx=%22142%22%20cy=%22172%22%20r=%2220%22%20fill=%22%23ffdc4f%22/%3E%3Cpath%20d=%22M92%2038%20L122%2058%20L92%2078%20Z%22%20fill=%22%2361ff9b%22/%3E%3Cpath%20d=%22M205%20155%20L250%20185%22%20stroke=%22%23ff5dad%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M44%20180%20L76%20150%22%20stroke=%22%2323d7ff%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="basic-bunny"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22360%22%20height%3D%22280%22%20viewBox%3D%220%200%20360%20280%22%3E%0A%3Crect%20width%3D%22360%22%20height%3D%22280%22%20fill%3D%22none%22%2F%3E%0A%3Cg%20opacity%3D%22.45%22%20stroke%3D%22%234b2f34%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%3Cg%20transform%3D%22translate%2824%2024%29%22%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2225%22%20rx%3D%2211%22%20ry%3D%2235%22%20fill%3D%22%23fff7fb%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2225%22%20rx%3D%2211%22%20ry%3D%2235%22%20fill%3D%22%23fff7fb%22%2F%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2223%22%20fill%3D%22%23f7c3d5%22%20stroke%3D%22none%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2223%22%20fill%3D%22%23f7c3d5%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2272%22%20r%3D%2231%22%20fill%3D%22%23fff7fb%22%2F%3E%3Ccircle%20cx%3D%2246%22%20cy%3D%2270%22%20r%3D%223.6%22%20fill%3D%22%234b2f34%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2268%22%20cy%3D%2270%22%20r%3D%223.6%22%20fill%3D%22%234b2f34%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2279%22%20r%3D%223.5%22%20fill%3D%22%23c98f72%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M53%2084%20Q57%2088%2061%2084%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M36%2083%20Q27%2086%2024%2094%20M78%2083%20Q87%2086%2090%2094%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate%28164%2014%29%22%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2225%22%20rx%3D%2211%22%20ry%3D%2235%22%20fill%3D%22%23dcc4b6%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2225%22%20rx%3D%2211%22%20ry%3D%2235%22%20fill%3D%22%23dcc4b6%22%2F%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2222%22%20fill%3D%22%23f6d8d2%22%20stroke%3D%22none%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2222%22%20fill%3D%22%23f6d8d2%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2272%22%20r%3D%2231%22%20fill%3D%22%23dcc4b6%22%2F%3E%3Cellipse%20cx%3D%2257%22%20cy%3D%2281%22%20rx%3D%2217%22%20ry%3D%2212%22%20fill%3D%22%23fff7fb%22%2F%3E%3Ccircle%20cx%3D%2246%22%20cy%3D%2269%22%20r%3D%223.6%22%20fill%3D%22%234b2f34%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M66%2070%20q5%20-4%208%200%22%20fill%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2279%22%20r%3D%223.5%22%20fill%3D%22%23c98f72%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M52%2086%20q5%20-4%2010%200%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate%2892%20150%29%22%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2224%22%20rx%3D%2211%22%20ry%3D%2234%22%20fill%3D%22%23fff7fb%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2224%22%20rx%3D%2211%22%20ry%3D%2234%22%20fill%3D%22%23fff7fb%22%2F%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2223%22%20fill%3D%22%23f7c3d5%22%20stroke%3D%22none%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2223%22%20fill%3D%22%23f7c3d5%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2272%22%20r%3D%2230%22%20fill%3D%22%23fff7fb%22%2F%3E%3Ccircle%20cx%3D%2246%22%20cy%3D%2270%22%20r%3D%223.5%22%20fill%3D%22%234b2f34%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2268%22%20cy%3D%2270%22%20r%3D%223.5%22%20fill%3D%22%234b2f34%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2280%22%20r%3D%223.4%22%20fill%3D%22%23c98f72%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M48%2086%20q9%208%2018%200%22%20fill%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2235%22%20cy%3D%2279%22%20r%3D%224%22%20fill%3D%22%23ffc7de%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2279%22%20cy%3D%2279%22%20r%3D%224%22%20fill%3D%22%23ffc7de%22%20stroke%3D%22none%22%2F%3E%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate%28248%20150%29%22%3E%3Cpath%20d%3D%22M24%2014%20C20%202%2029%20-4%2038%202%20M35%2016%20C35%204%2046%20-1%2056%206%20M46%2018%20C49%207%2059%206%2066%2012%22%20fill%3D%22none%22%20stroke%3D%22%2379c95b%22%20stroke-width%3D%227%22%2F%3E%3Cpath%20d%3D%22M20%2024%20L74%2048%20L40%20118%20Z%22%20fill%3D%22%23ff9d3c%22%2F%3E%3Cpath%20d%3D%22M31%2034%20L62%2047%20M27%2049%20L55%2060%20M24%2065%20L49%2074%20M22%2081%20L43%2089%22%20fill%3D%22none%22%20stroke%3D%22%23ffc67d%22%20stroke-width%3D%224%22%2F%3E%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate%2816%20172%29%22%3E%3Cpath%20d%3D%22M24%2014%20C20%202%2029%20-4%2038%202%20M35%2016%20C35%204%2046%20-1%2056%206%20M46%2018%20C49%207%2059%206%2066%2012%22%20fill%3D%22none%22%20stroke%3D%22%2379c95b%22%20stroke-width%3D%227%22%2F%3E%3Cpath%20d%3D%22M20%2024%20L74%2048%20L40%20118%20Z%22%20fill%3D%22%23ff9d3c%22%2F%3E%3Cpath%20d%3D%22M31%2034%20L62%2047%20M27%2049%20L55%2060%20M24%2065%20L49%2074%20M22%2081%20L43%2089%22%20fill%3D%22none%22%20stroke%3D%22%23ffc67d%22%20stroke-width%3D%224%22%2F%3E%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E"); }
html[data-theme="booster-glow"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22300%22%20height=%22260%22%20viewBox=%220%200%20300%20260%22%3E%3Crect%20width=%22300%22%20height=%22260%22%20fill=%22none%22/%3E%3Cpath%20d=%22M120%2018%20L48%20142%20H118%20L92%20242%20L240%2086%20H154%20Z%22%20fill=%22%23fee75c%22%20opacity=%22.24%22/%3E%3Cg%20opacity=%22.35%22%3E%3Ccircle%20cx=%22230%22%20cy=%2270%22%20r=%2232%22%20fill=%22%235865f2%22/%3E%3Cpath%20d=%22M208%2075%20H252%20M230%2053%20V97%22%20stroke=%22%2357f287%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="premium-neon"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22280%22%20height=%22240%22%20viewBox=%220%200%20280%20240%22%3E%3Crect%20width=%22280%22%20height=%22240%22%20fill=%22none%22/%3E%3Cg%20opacity=%22.35%22%3E%3Cpath%20d=%22M82%2028%20L140%2074%20L82%20152%20L24%2074%20Z%22%20fill=%22%2328f7ff%22%20stroke=%22%23ff38d1%22%20stroke-width=%226%22/%3E%3Cpath%20d=%22M200%2084%20L250%20124%20L200%20192%20L150%20124%20Z%22%20fill=%22%23ff38d1%22%20stroke=%22%2328f7ff%22%20stroke-width=%226%22/%3E%3Cpath%20d=%22M25%20200%20H255%22%20stroke=%22%23fff04a%22%20stroke-width=%225%22%20stroke-dasharray=%2218%2016%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="cosmic-plus"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22320%22%20height=%22260%22%20viewBox=%220%200%20320%20260%22%3E%3Crect%20width=%22320%22%20height=%22260%22%20fill=%22none%22/%3E%3Ccircle%20cx=%2295%22%20cy=%22115%22%20r=%2246%22%20fill=%22%237c5cff%22%20opacity=%22.35%22/%3E%3Cellipse%20cx=%2295%22%20cy=%22115%22%20rx=%2276%22%20ry=%2222%22%20fill=%22none%22%20stroke=%22%23ffd166%22%20stroke-width=%226%22%20opacity=%22.45%22%20transform=%22rotate(-16%2095%20115)%22/%3E%3Cpath%20d=%22M230%20190%20C238%20140%20260%2096%20302%2064%20C296%20118%20274%20158%20230%20190%20Z%22%20fill=%22%2300e0ff%22%20opacity=%22.28%22/%3E%3Cg%20fill=%22%23ff9df2%22%20opacity=%22.45%22%3E%3Ccircle%20cx=%22260%22%20cy=%2252%22%20r=%224%22/%3E%3Ccircle%20cx=%2228%22%20cy=%22206%22%20r=%223%22/%3E%3Ccircle%20cx=%22184%22%20cy=%2238%22%20r=%222%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="pro-crown"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22300%22%20height=%22240%22%20viewBox=%220%200%20300%20240%22%3E%3Crect%20width=%22300%22%20height=%22240%22%20fill=%22none%22/%3E%3Cg%20opacity=%22.28%22%20fill=%22%23ffd700%22%20stroke=%22%23fff1a8%22%20stroke-width=%225%22%3E%3Cpath%20d=%22M38%20170%20L54%2074%20L100%20134%20L150%2044%20L200%20134%20L246%2074%20L262%20170%20Z%22/%3E%3Cpath%20d=%22M38%20170%20H262%20V198%20H38%20Z%22/%3E%3C/g%3E%3Ccircle%20cx=%22150%22%20cy=%2244%22%20r=%2212%22%20fill=%22%23f72585%22%20opacity=%22.38%22/%3E%3C/svg%3E"); }
html[data-theme="creator-lab"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22300%22%20height=%22260%22%20viewBox=%220%200%20300%20260%22%3E%3Crect%20width=%22300%22%20height=%22260%22%20fill=%22none%22/%3E%3Cg%20opacity=%22.34%22%20fill=%22none%22%20stroke-width=%226%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M70%2028%20V100%20L36%20174%20C28%20192%2042%20212%2062%20212%20H130%20C150%20212%20164%20192%20156%20174%20L122%20100%20V28%22%20stroke=%22%2300f5d4%22/%3E%3Cpath%20d=%22M188%2060%20L258%20130%22%20stroke=%22%23fee440%22/%3E%3Cpath%20d=%22M180%20170%20C210%20130%20238%20130%20270%20166%22%20stroke=%22%23f15bb5%22/%3E%3C/g%3E%3Ccircle%20cx=%2296%22%20cy=%22160%22%20r=%2218%22%20fill=%22%2300bbf9%22%20opacity=%22.22%22/%3E%3C/svg%3E"); }
html[data-theme="retro"] body { background: radial-gradient(circle at 15% 10%, #23d7ff 0 0, transparent 24rem), radial-gradient(circle at 84% 18%, #ff5dad 0 0, transparent 22rem), linear-gradient(135deg, #fff7dc, #ffeaa8 48%, #ffd4f0); }
html[data-theme="cosmic"] body { background: radial-gradient(circle at 18% 15%, rgba(0,231,255,.46), transparent 20rem), radial-gradient(circle at 82% 18%, rgba(255,112,209,.38), transparent 24rem), linear-gradient(135deg, #07041a, #26124f 52%, #120c28); }
html[data-theme="terminal"] body { background: radial-gradient(circle at 10% 10%, rgba(68,255,119,.16), transparent 18rem), linear-gradient(135deg, #030704, #071108 45%, #0d2010); }
html[data-theme="clean"] body { background: radial-gradient(circle at 14% 18%, rgba(14,165,233,.18), transparent 22rem), radial-gradient(circle at 88% 16%, rgba(16,185,129,.14), transparent 21rem), linear-gradient(135deg, #f8fbff, #e9eef8); }
html[data-theme="party"] body { background: radial-gradient(circle at 12% 8%, #23d7ff, transparent 24rem), radial-gradient(circle at 84% 18%, #ff5dad, transparent 22rem), radial-gradient(circle at 50% 0%, #ffdc4f, transparent 18rem), linear-gradient(135deg, #fff0fb, #ddf7ff 48%, #fff5b8); }
html[data-theme="basic-bunny"] body { background: radial-gradient(circle at 14% 10%, rgba(255,119,173,.34), transparent 22rem), radial-gradient(circle at 84% 18%, rgba(255,205,225,.45), transparent 20rem), radial-gradient(circle at 50% 100%, rgba(168,231,125,.18), transparent 18rem), linear-gradient(135deg, #fff3f8, #ffddea 52%, #ffeef6); }
html[data-theme="booster-glow"] body { background: radial-gradient(circle at 16% 12%, rgba(88,101,242,.42), transparent 20rem), radial-gradient(circle at 80% 20%, rgba(87,242,135,.24), transparent 22rem), linear-gradient(135deg, #070b18, #0b1024 48%, #1d315f); }
html[data-theme="premium-neon"] body { background: radial-gradient(circle at 14% 14%, rgba(255,56,209,.38), transparent 20rem), radial-gradient(circle at 82% 18%, rgba(40,247,255,.28), transparent 22rem), linear-gradient(135deg, #08000f, #240044 48%, #100018); }
html[data-theme="cosmic-plus"] body { background: radial-gradient(circle at 14% 15%, rgba(124,92,255,.42), transparent 22rem), radial-gradient(circle at 80% 20%, rgba(0,224,255,.26), transparent 22rem), linear-gradient(135deg, #030512, #1a0b3d 48%, #050718); }
html[data-theme="pro-crown"] body { background: radial-gradient(circle at 18% 16%, rgba(255,215,0,.28), transparent 21rem), radial-gradient(circle at 80% 18%, rgba(247,37,133,.18), transparent 22rem), linear-gradient(135deg, #120b00, #3a2600 52%, #181000); }
html[data-theme="creator-lab"] body { background: radial-gradient(circle at 14% 18%, rgba(0,245,212,.24), transparent 22rem), radial-gradient(circle at 84% 12%, rgba(241,91,181,.18), transparent 20rem), linear-gradient(135deg, #031016, #122c34 52%, #06141b); }
html[data-theme="retro"], html[data-theme="retro"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%23ff5dad%22%20stroke=%22%23271b48%22%20stroke-width=%222.5%22%20d=%22M4%203%20L29%2016%20L19%2020%20L24%2032%20L17%2034%20L13%2022%20L5%2029%20Z%22/%3E%3Crect%20x=%2222%22%20y=%225%22%20width=%228%22%20height=%228%22%20rx=%222%22%20fill=%22%23ffdc4f%22%20stroke=%22%23271b48%22%20stroke-width=%222%22/%3E%3Ccircle%20cx=%2226%22%20cy=%229%22%20r=%222%22%20fill=%22%2323d7ff%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="cosmic"], html[data-theme="cosmic"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%239d7cff%22%20stroke=%22%2300e7ff%22%20stroke-width=%222.4%22%20d=%22M5%2031%20C8%2021%2014%2010%2028%204%20C26%2018%2015%2027%205%2031%20Z%22/%3E%3Cpath%20fill=%22%23ffef77%22%20d=%22M9%2027%20L3%2033%20L15%2030%20Z%22/%3E%3Ccircle%20cx=%2224%22%20cy=%229%22%20r=%224%22%20fill=%22%23fff7ff%22/%3E%3Cpath%20d=%22M28%2020%20L33%2018%20M29%2023%20L34%2024%22%20stroke=%22%23ff70d1%22%20stroke-width=%222%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="terminal"], html[data-theme="terminal"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2228%22%20height=%2224%22%20rx=%223%22%20fill=%22%23071108%22%20stroke=%22%2344ff77%22%20stroke-width=%222.5%22/%3E%3Cpath%20d=%22M9%2013%20L14%2018%20L9%2023%20M17%2023%20L27%2023%22%20fill=%22none%22%20stroke=%22%23b6ff00%22%20stroke-width=%222.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="clean"], html[data-theme="clean"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%232563eb%22%20stroke=%22%231e293b%22%20stroke-width=%222%22%20d=%22M6%204%20L28%2018%20L20%2020%20L24%2031%20L18%2033%20L14%2022%20L7%2028%20Z%22/%3E%3Cpath%20d=%22M22%206%20L31%2015%22%20stroke=%22%2310b981%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M25%204%20L33%2012%22%20stroke=%22%23f59e0b%22%20stroke-width=%222%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="party"], html[data-theme="party"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Ccircle%20cx=%2218%22%20cy=%2216%22%20r=%2210%22%20fill=%22%23ff5dad%22%20stroke=%22%23271b48%22%20stroke-width=%222.4%22/%3E%3Cpath%20d=%22M10%2016%20H26%20M18%206%20V26%20M12%209%20L24%2023%20M24%209%20L12%2023%22%20stroke=%22%23fff8c8%22%20stroke-width=%221.4%22/%3E%3Cpath%20d=%22M18%2026%20L18%2034%22%20stroke=%22%23271b48%22%20stroke-width=%222.4%22/%3E%3Ccircle%20cx=%2229%22%20cy=%227%22%20r=%223%22%20fill=%22%2323d7ff%22/%3E%3Ccircle%20cx=%227%22%20cy=%2227%22%20r=%223%22%20fill=%22%23ffdc4f%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="basic-bunny"], html[data-theme="basic-bunny"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%23ff8c2a%22%20stroke=%22%23321a35%22%20stroke-width=%222%22%20d=%22M8%206%20L29%2014%20L16%2032%20Z%22/%3E%3Cpath%20d=%22M18%208%20C17%204%2018%202%2022%201%20M20%209%20C23%205%2026%205%2029%207%22%20fill=%22none%22%20stroke=%22%234fc36b%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%2218%22%20cy=%2217%22%20r=%222%22%20fill=%22%23fff4f8%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="booster-glow"], html[data-theme="booster-glow"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%23fee75c%22%20stroke=%22%230b1024%22%20stroke-width=%222.4%22%20d=%22M19%202%20L6%2020%20H17%20L14%2034%20L30%2013%20H19%20Z%22/%3E%3Ccircle%20cx=%2227%22%20cy=%228%22%20r=%225%22%20fill=%22%235865f2%22%20stroke=%22%2357f287%22%20stroke-width=%222%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="premium-neon"], html[data-theme="premium-neon"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%2328f7ff%22%20stroke=%22%23ff38d1%22%20stroke-width=%222.5%22%20d=%22M18%203%20L32%2014%20L18%2033%20L4%2014%20Z%22/%3E%3Cpath%20d=%22M4%2014%20H32%20M11%2014%20L18%2033%20M25%2014%20L18%2033%20M11%2014%20L18%203%20L25%2014%22%20fill=%22none%22%20stroke=%22%23fff04a%22%20stroke-width=%221.7%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="cosmic-plus"], html[data-theme="cosmic-plus"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Ccircle%20cx=%2218%22%20cy=%2218%22%20r=%2210%22%20fill=%22%237c5cff%22%20stroke=%22%2300e0ff%22%20stroke-width=%222.3%22/%3E%3Cellipse%20cx=%2218%22%20cy=%2218%22%20rx=%2216%22%20ry=%226%22%20fill=%22none%22%20stroke=%22%23ffd166%22%20stroke-width=%222.2%22%20transform=%22rotate(-22%2018%2018)%22/%3E%3Ccircle%20cx=%2225%22%20cy=%2211%22%20r=%222.6%22%20fill=%22%23ff9df2%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="pro-crown"], html[data-theme="pro-crown"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%23ffd700%22%20stroke=%22%23181000%22%20stroke-width=%222.4%22%20d=%22M5%2028%20L7%2010%20L14%2020%20L18%208%20L23%2020%20L30%2010%20L31%2028%20Z%22/%3E%3Cpath%20d=%22M7%2028%20H31%22%20stroke=%22%23fff1a8%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%2218%22%20cy=%228%22%20r=%223%22%20fill=%22%23f72585%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="creator-lab"], html[data-theme="creator-lab"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%2300f5d4%22%20stroke=%22%2306141b%22%20stroke-width=%222.2%22%20d=%22M9%204%20L25%2020%20L17%2028%20L2%2012%20Z%22/%3E%3Cpath%20d=%22M23%2018%20L33%2028%20C34%2029%2034%2031%2032%2033%20C30%2035%2028%2035%2027%2033%20L18%2023%22%20fill=%22%23fee440%22%20stroke=%22%2306141b%22%20stroke-width=%222%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%223%22%20fill=%22%23f15bb5%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme] input, html[data-theme] textarea, html[data-theme] [contenteditable="true"] { cursor: text; }
html[data-theme] select, html[data-theme] button, html[data-theme] .button, html[data-theme] a, html[data-theme] summary, html[data-theme] [data-copy-text] { cursor: inherit; }

.profile-stat-link { color: inherit; text-decoration: none; }
.profile-stat-link:hover, .profile-stat-link:focus-visible { transform: translateY(-3px) rotate(-.6deg); border-color: var(--accent); }
.rabbit-run-layout { align-items: start; grid-template-columns: minmax(0, 1fr); max-width: 1180px; margin-inline: auto; }
.rabbit-leaderboard-panel { position: static; width: 100%; }
.rabbit-leaderboard { margin: 0; padding-left: 1.2rem; display: grid; gap: .65rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.rabbit-leaderboard li { padding: .65rem .75rem; border: var(--border); border-radius: 1rem; background: var(--panel-strong); }
.rabbit-leaderboard strong, .rabbit-leaderboard span { display: block; }
.rabbit-leaderboard span { color: var(--muted); font-size: .9rem; margin-top: .12rem; }
.rabbit-run-hud strong:nth-child(3) { border-color: var(--brand-2); }
.rabbit-run-shell:fullscreen,
.rabbit-run-shell:-webkit-full-screen {
    width: 100vw;
    height: 100vh;
    max-width: none;
    margin: 0;
    border-radius: 0;
    overflow: auto;
    display: flex;
    flex-direction: column;
    background: var(--bg);
}
.rabbit-run-shell:fullscreen .rabbit-run-canvas,
.rabbit-run-shell:-webkit-full-screen .rabbit-run-canvas {
    flex: 1 1 auto;
    height: min(76vh, 780px);
    min-height: 420px;
    max-height: none;
}
.rabbit-run-shell:fullscreen .rabbit-run-hud,
.rabbit-run-shell:-webkit-full-screen .rabbit-run-hud {
    margin-bottom: .65rem;
}

.premium-assign-card { border-style: dashed; }
.premium-assignment-row em { max-width: 60ch; }
.bot-stat-grid strong { word-break: break-word; }
.legal-page .mini-list, .legal-page .feature-list { line-height: 1.55; }
@media (max-width: 900px) {
    .rabbit-run-layout { grid-template-columns: 1fr; }
    .rabbit-run-canvas { height: clamp(300px, 72vw, 440px); }
    .rabbit-leaderboard-panel { position: static; }
}


/* 012 9k Trivia party game patch */
.trivia-hero,
.trivia-room-hero {
    position: relative;
    overflow: hidden;
}
.trivia-hero::after,
.trivia-room-hero::after,
.trivia-phase::after {
    content: "";
    position: absolute;
    inset: auto -10% -45% auto;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 216, 102, .35), rgba(255, 105, 180, .18), transparent 70%);
    pointer-events: none;
    animation: triviaFloat 7s ease-in-out infinite alternate;
}
.trivia-stage {
    position: relative;
    isolation: isolate;
    display: grid;
    gap: 1rem;
    animation: triviaPop .35s ease both;
}
.trivia-question {
    font-size: clamp(1.8rem, 4vw, 3.5rem);
    line-height: 1.02;
    letter-spacing: -.04em;
    text-wrap: balance;
}
.trivia-answer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}
.trivia-choice {
    min-height: 110px;
    border: 0;
    border-radius: 24px;
    padding: 1rem;
    display: flex;
    gap: .85rem;
    align-items: center;
    text-align: left;
    font: inherit;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 18px 35px rgba(17, 10, 41, .22);
    transform: translateY(0) rotate(-.2deg);
    transition: transform .15s ease, filter .15s ease;
}
.trivia-choice:hover,
.trivia-choice:focus-visible {
    transform: translateY(-4px) scale(1.015) rotate(.2deg);
    filter: saturate(1.2) brightness(1.06);
}
.trivia-choice b {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    height: 44px;
    border-radius: 15px;
    background: rgba(255,255,255,.24);
    font-size: 1.35rem;
}
.trivia-choice span {
    font-weight: 900;
    font-size: clamp(1rem, 2vw, 1.35rem);
}
.choice-a { background: linear-gradient(135deg, #ff4d6d, #b5179e); }
.choice-b { background: linear-gradient(135deg, #3a86ff, #4361ee); }
.choice-c { background: linear-gradient(135deg, #06d6a0, #118ab2); }
.choice-d { background: linear-gradient(135deg, #ffbe0b, #fb5607); }
.trivia-meter {
    height: 12px;
    border-radius: 999px;
    background: rgba(42, 31, 84, .12);
    overflow: hidden;
}
.trivia-meter span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #06d6a0, #ffbe0b, #ff4d6d);
    transform-origin: left center;
}
.trivia-pulse {
    animation: triviaPulse 1.4s ease-in-out infinite;
}
.game-submission.correct { border-color: rgba(6, 214, 160, .65); }
.game-submission.wrong { border-color: rgba(255, 77, 109, .45); opacity: .9; }
@keyframes triviaPop { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes triviaPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.035); } }
@keyframes triviaFloat { from { transform: translateY(0) rotate(0); } to { transform: translateY(-30px) rotate(12deg); } }
@media (max-width: 760px) {
    .trivia-answer-grid { grid-template-columns: 1fr; }
    .trivia-choice { min-height: 86px; }
}

/* First 3 themes free shop pricing */
.shop-card .price-old {
    text-decoration: line-through;
    opacity: .55;
    margin-right: .4rem;
}

.shop-card .price-free {
    display: inline-block;
    color: var(--accent-strong, #ff4fb3);
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* 013 next update: readable themes, scroll panels, profile friend previews, functional theme toggles */
html[data-theme] body::before {
    opacity: .12;
    background-size: 240px 220px;
}
html[data-theme="terminal"] body::before,
html[data-theme="cosmic"] body::before,
html[data-theme="cosmic-plus"] body::before,
html[data-theme="premium-neon"] body::before {
    opacity: .16;
}
html[data-theme] .panel,
html[data-theme] .stat-card,
html[data-theme] .shop-card,
html[data-theme] .theme-card,
html[data-theme] .profile-block,
html[data-theme] .account-settings-shell,
html[data-theme] .admin-record-card {
    background-color: color-mix(in srgb, var(--panel, rgba(255,255,255,.9)) 92%, transparent);
    backdrop-filter: blur(12px) saturate(1.08);
    -webkit-backdrop-filter: blur(12px) saturate(1.08);
}
html[data-theme] h1,
html[data-theme] h2,
html[data-theme] h3,
html[data-theme] h4,
html[data-theme] .lead,
html[data-theme] p,
html[data-theme] label,
html[data-theme] .plain-list-row,
html[data-theme] .list-row,
html[data-theme] .form-help,
html[data-theme] .muted {
    text-shadow: 0 1px 0 rgba(255,255,255,.18);
}
html[data-theme="terminal"] h1,
html[data-theme="terminal"] h2,
html[data-theme="terminal"] h3,
html[data-theme="terminal"] p,
html[data-theme="terminal"] label,
html[data-theme="cosmic"] h1,
html[data-theme="cosmic"] h2,
html[data-theme="cosmic"] h3,
html[data-theme="cosmic"] p,
html[data-theme="cosmic"] label,
html[data-theme="premium-neon"] h1,
html[data-theme="premium-neon"] h2,
html[data-theme="premium-neon"] h3,
html[data-theme="premium-neon"] p,
html[data-theme="premium-neon"] label {
    text-shadow: 0 1px 8px rgba(0,0,0,.28);
}
.scroll-panel {
    max-height: min(58vh, 36rem);
    overflow: auto;
    padding-right: .35rem;
    scrollbar-gutter: stable;
}
.bot-scroll-panel {
    max-height: 34rem;
    border-radius: 18px;
    border: 1px solid rgba(42,31,84,.1);
}
.bot-filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: end;
    margin: .65rem 0 1rem;
}
.bot-filter-form label {
    min-width: min(100%, 250px);
}
.bot-filter-form select {
    width: 100%;
}
.friend-preview-list {
    display: grid;
    gap: .65rem;
}
.friend-preview-card {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .7rem;
    border: var(--border);
    border-radius: 16px;
    background: rgba(255,255,255,.42);
    color: inherit;
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.friend-preview-card:hover,
.friend-preview-card:focus-visible {
    transform: translateY(-2px);
    border-color: var(--accent);
    box-shadow: 0 10px 22px rgba(42,31,84,.12);
}
.friend-preview-card img,
.avatar-dot {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 50%;
    object-fit: cover;
    display: grid;
    place-items: center;
    font-weight: 900;
    background: linear-gradient(135deg, var(--brand), var(--brand-2));
    color: #fff;
}
.friend-preview-card strong,
.friend-preview-card small {
    display: block;
}
.friend-preview-card small {
    color: var(--muted);
    font-size: .82rem;
    margin-top: .12rem;
}
.profile-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .75rem;
}
.profile-detail-grid > div,
.profile-bio {
    border: var(--border);
    border-radius: 16px;
    padding: .85rem;
    background: rgba(255,255,255,.42);
}
.profile-detail-grid span {
    display: block;
    color: var(--muted);
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.profile-detail-grid strong {
    display: block;
    margin-top: .2rem;
    word-break: break-word;
}
.profile-bio h3 { margin-top: 0; }
.profile-bio p { margin-bottom: 0; }
.theme-opt-large-text {
    font-size: 1.075rem;
    line-height: 1.65;
}
.theme-opt-large-text .lead,
.theme-opt-large-text .plain-list-row strong,
.theme-opt-large-text .list-row strong {
    font-size: 1.08em;
}
.theme-opt-compact-cards .panel.compact,
.theme-opt-compact-cards .shop-card,
.theme-opt-compact-cards .theme-card,
.theme-opt-compact-cards .stat-card {
    padding: clamp(.75rem, 1.4vw, 1rem);
    gap: .55rem;
}
.theme-opt-glow-cards .panel,
.theme-opt-glow-cards .stat-card,
.theme-opt-glow-cards .shop-card,
.theme-opt-glow-cards .theme-card,
.theme-opt-glow-cards .friend-preview-card {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 25%, transparent), 0 18px 45px color-mix(in srgb, var(--brand-2) 16%, transparent);
}
body:not(.theme-opt-soft-motion) .pop-card:hover,
body:not(.theme-opt-hover-bounce) .pop-card:hover {
    transform: none;
}
.theme-opt-hover-bounce .pop-card:hover,
.theme-opt-hover-bounce .friend-preview-card:hover,
.theme-opt-hover-bounce .button:hover {
    transform: translateY(-4px) scale(1.012);
}
body:not(.theme-opt-scanlines)::after {
    content: none !important;
}
.theme-opt-scanlines::after {
    content: '';
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 2;
    opacity: .06;
    background: repeating-linear-gradient(180deg, rgba(0,0,0,.9) 0 1px, transparent 1px 4px);
    mix-blend-mode: multiply;
}
body:not(.theme-opt-emoji-clicks) .emoji-confetti,
body:not(.theme-opt-emoji-clicks) .party-particle {
    display: none !important;
}
@media (prefers-reduced-motion: reduce) {
    .theme-opt-hover-bounce .pop-card:hover,
    .theme-opt-hover-bounce .friend-preview-card:hover,
    .theme-opt-hover-bounce .button:hover {
        transform: none;
    }
}
/* support the actual theme setting key: scanline_hint */
body:not(.theme-opt-scanline-hint)::after { content: none !important; }
.theme-opt-scanline-hint::after {
    content: '';
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 2;
    opacity: .06;
    background: repeating-linear-gradient(180deg, rgba(0,0,0,.9) 0 1px, transparent 1px 4px);
    mix-blend-mode: multiply;
}


/* v22 unified tab workspace patch
   All admin, bot, account, and profile tab layouts use the same vertical shell. */
.ui-tab-shell,
.account-settings-shell,
.admin-tab-shell {
    overflow: hidden;
}

.admin-tab-shell {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    padding: 1.25rem;
    border: var(--border);
    border-radius: var(--radius);
    background: var(--panel);
    box-shadow: var(--shadow);
    margin-bottom: 1.25rem;
}

.admin-tab-shell > .account-tabs.vertical,
.admin-tab-shell > .admin-tabs {
    margin: 0;
    position: sticky;
    top: 1rem;
}

.admin-tab-content,
.ui-tab-content,
.account-settings-content {
    min-width: 0;
}

[data-tab-shell] .account-tab-panel,
[data-account-settings] .account-tab-panel {
    display: none;
    margin-top: 0;
    scroll-margin-top: 7rem;
}

[data-tab-shell] .account-tab-panel.is-active,
[data-account-settings] .account-tab-panel.is-active {
    display: block;
}

[data-tab-shell] .account-tab-panel[hidden],
[data-account-settings] .account-tab-panel[hidden] {
    display: none !important;
}

.ui-tab-nav,
.account-tabs.vertical,
.admin-tabs {
    min-width: 0;
}

.account-tabs.vertical .account-tab-link,
.ui-tab-link {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 3rem;
    border-radius: 1rem;
    text-align: left;
    line-height: 1.2;
}

.account-tabs.vertical .account-tab-link.is-active,
.ui-tab-link.is-active {
    border-color: var(--accent);
    box-shadow: var(--shadow);
    transform: translateX(3px);
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 18%, var(--panel)), color-mix(in srgb, var(--brand-2) 14%, var(--panel)));
}

.tabbed-profile-shell .profile-block {
    box-shadow: none;
}

.profile-activity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.profile-tab-intro {
    margin: 0 0 1rem;
    color: var(--muted);
}

.admin-form-grid input,
.admin-form-grid select,
.admin-form-grid textarea,
.account-tab-panel input,
.account-tab-panel select,
.account-tab-panel textarea {
    color: var(--ink) !important;
    background: color-mix(in srgb, var(--panel-strong, rgba(255,255,255,.88)) 92%, #fff 8%) !important;
    text-shadow: none !important;
}

.admin-form-grid input::placeholder,
.admin-form-grid textarea::placeholder,
.account-tab-panel input::placeholder,
.account-tab-panel textarea::placeholder {
    color: color-mix(in srgb, var(--ink) 55%, transparent) !important;
    opacity: 1;
}

@media (max-width: 760px) {
    .admin-tab-shell {
        grid-template-columns: 1fr;
    }

    .admin-tab-shell > .account-tabs.vertical,
    .admin-tab-shell > .admin-tabs {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-activity-grid {
        grid-template-columns: 1fr;
    }
}


/* v23 admin/friends vertical workspace cleanup
   Keeps admin tabs vertically stacked inside the main panel and fixes form readability on dark themes. */
.admin-tab-workspace,
.friends-workspace {
    margin-top: 1.25rem;
}

.admin-tab-workspace .ui-tab-content,
.friends-workspace .ui-tab-content {
    display: grid;
    gap: 1rem;
}

.admin-tab-workspace .nested-panel,
.friends-workspace .nested-panel {
    margin: 0;
    box-shadow: none;
    background: color-mix(in srgb, var(--panel) 88%, transparent);
}

.admin-equal-grid {
    align-items: stretch;
}

.admin-record-stack {
    display: grid;
    gap: 1rem;
}

.admin-scroll-panel {
    max-height: min(68vh, 48rem);
    overflow: auto;
    padding-right: .35rem;
    scrollbar-gutter: stable;
}


.friend-tab-list {
    max-height: min(66vh, 42rem);
}

.friend-request-form {
    display: grid;
    gap: .85rem;
}

.friend-request-form h3 {
    margin: 0;
}

.admin-mini-edit {
    display: grid;
    grid-template-columns: minmax(130px, .8fr) minmax(120px, .65fr) minmax(180px, 1fr) auto;
    gap: .6rem;
    align-items: center;
}

.admin-form-grid input,
.admin-form-grid select,
.admin-form-grid textarea,
.account-tab-panel input,
.account-tab-panel select,
.account-tab-panel textarea,
.admin-mini-edit input,
.friend-request-form input {
    color: #261a4a !important;
    background: rgba(255,255,255,.86) !important;
    text-shadow: none !important;
    caret-color: #261a4a;
}

.admin-form-grid input::placeholder,
.admin-form-grid textarea::placeholder,
.account-tab-panel input::placeholder,
.account-tab-panel textarea::placeholder,
.admin-mini-edit input::placeholder,
.friend-request-form input::placeholder {
    color: rgba(38,26,74,.62) !important;
    opacity: 1;
}

.admin-form-grid label,
.friend-request-form label,
.account-tab-panel label {
    color: var(--ink);
}

@media (max-width: 900px) {
    .admin-mini-edit {
        grid-template-columns: 1fr;
    }
}


/* v24 theme admin asset controls */
.theme-admin-workspace .theme-asset-form {
    align-items: start;
}

.theme-admin-card {
    overflow: visible;
}

.theme-asset-preview {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    min-height: 5.25rem;
    padding: 1rem;
    border: 2px solid color-mix(in srgb, var(--accent) 65%, transparent);
    border-radius: 1.25rem;
    background:
        radial-gradient(circle at 15% 25%, color-mix(in srgb, var(--brand) 22%, transparent), transparent 9rem),
        linear-gradient(135deg, color-mix(in srgb, var(--panel-strong) 88%, transparent), color-mix(in srgb, var(--panel) 82%, transparent));
    box-shadow: var(--shadow);
}

.theme-preview-cursor {
    display: inline-grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.78);
    color: #261a4a;
    font-size: 1.8rem;
    border: 2px solid rgba(38,26,74,.18);
}

.theme-preview-emojis {
    font-size: 1.35rem;
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-option-fieldset {
    border: 1px solid color-mix(in srgb, var(--line) 85%, transparent);
    border-radius: 1.1rem;
    padding: 1rem;
    background: color-mix(in srgb, var(--panel) 86%, transparent);
}

.theme-option-fieldset legend {
    padding: 0 .45rem;
    font-weight: 900;
}

.theme-option-grid,
.theme-chip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.theme-option-check,
.theme-chip {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.4rem;
    padding: .55rem .7rem;
    border: 1px solid color-mix(in srgb, var(--line) 75%, transparent);
    border-radius: .9rem;
    background: rgba(255,255,255,.08);
    font-weight: 800;
}

.theme-option-check input {
    width: auto !important;
    min-height: 1rem !important;
}

.theme-json-details summary {
    cursor: pointer;
    font-weight: 900;
    margin-bottom: .55rem;
}

.theme-effect-row {
    grid-template-columns: minmax(10rem, 1fr) minmax(12rem, 1.5fr) auto;
}

.theme-asset-form select,
.theme-asset-form input,
.theme-asset-form textarea {
    min-height: 3.05rem;
}

@media (max-width: 900px) {
    .theme-option-grid,
    .theme-chip-grid {
        grid-template-columns: 1fr;
    }
    .theme-asset-preview {
        grid-template-columns: 1fr;
    }
}

/* Runtime custom theme assets selected from the admin theme panel. */
html[data-theme-background] body::before {
    opacity: .24;
}

html[data-theme-background="none"] body::before {
    opacity: .18;
}

html[data-theme-background="candy"] body {
    background: radial-gradient(circle at 12% 18%, rgba(255,112,214,.32), transparent 22rem), radial-gradient(circle at 82% 16%, rgba(255,214,102,.28), transparent 22rem), linear-gradient(135deg, #fff3fb, #ffe0f0 48%, #e8fbff);
}
html[data-theme-background="candy"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='220' viewBox='0 0 260 220'%3E%3Crect width='260' height='220' fill='none'/%3E%3Cg opacity='.45' stroke='%23271b48' stroke-width='3'%3E%3Ccircle cx='58' cy='58' r='28' fill='%23ff70d6'/%3E%3Cpath d='M58 86v58'/%3E%3Cpath d='M38 58c12-16 28-16 40 0s28 16 40 0' fill='none'/%3E%3Crect x='155' y='100' width='62' height='38' rx='12' fill='%23ffe66d'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="gothic"] body {
    background: radial-gradient(circle at 15% 14%, rgba(120,72,170,.32), transparent 20rem), radial-gradient(circle at 84% 16%, rgba(0,0,0,.38), transparent 24rem), linear-gradient(135deg, #070611, #15112b 52%, #050307);
}
html[data-theme-background="gothic"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='240' viewBox='0 0 300 240'%3E%3Crect width='300' height='240' fill='none'/%3E%3Cg opacity='.35' fill='%23d7c2ff'%3E%3Cpath d='M45 72c25-30 42 5 64-20-4 35-34 48-64 20z'/%3E%3Ccircle cx='215' cy='58' r='25'/%3E%3Cpath d='M210 58a25 25 0 0 0 30 24 31 31 0 1 1-30-24z' fill='%23070611'/%3E%3Cpath d='M155 170h68v16h-68zM170 132h38v38h-38z'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="sewer"] body {
    background: radial-gradient(circle at 50% 16%, rgba(73,166,120,.25), transparent 20rem), linear-gradient(135deg, #07140f, #142822 55%, #070b0a);
}
html[data-theme-background="sewer"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Crect width='320' height='220' fill='none'/%3E%3Cg opacity='.34' fill='none' stroke='%237cf5a6' stroke-width='4'%3E%3Cpath d='M20 170c52-80 228-80 280 0'/%3E%3Cpath d='M55 170c38-48 172-48 210 0'/%3E%3Cpath d='M20 172h280M78 80h62M180 80h62M104 118h112'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="ocean"] body {
    background: radial-gradient(circle at 16% 14%, rgba(38,211,255,.32), transparent 22rem), radial-gradient(circle at 80% 20%, rgba(0,128,255,.22), transparent 24rem), linear-gradient(135deg, #062033, #064c78 55%, #03111d);
}
html[data-theme-background="ocean"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Crect width='320' height='220' fill='none'/%3E%3Cg opacity='.4' fill='none' stroke='%23b8f7ff' stroke-width='4'%3E%3Cpath d='M0 70c40 30 80-30 120 0s80 30 120 0 80-30 120 0'/%3E%3Cpath d='M0 140c40 30 80-30 120 0s80 30 120 0 80-30 120 0'/%3E%3Ccircle cx='80' cy='112' r='12'/%3E%3Ccircle cx='230' cy='48' r='8'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="clouds"] body {
    background: radial-gradient(circle at 20% 12%, rgba(255,255,255,.42), transparent 20rem), linear-gradient(135deg, #c9efff, #8fd3ff 52%, #f6fbff);
}
html[data-theme-background="clouds"] body::before,
html[data-theme-background="heaven"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Crect width='320' height='220' fill='none'/%3E%3Cg opacity='.46' fill='%23ffffff' stroke='%2379a8ff' stroke-width='3'%3E%3Cpath d='M45 130c-20 0-24-28-4-34 4-24 40-32 54-8 22-6 42 8 42 30 0 15-12 26-28 26H45z'/%3E%3Cpath d='M190 78c-16 0-19-22-3-28 5-22 36-25 48-7 18-4 34 8 34 25 0 13-10 23-24 23h-55z'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="heaven"] body {
    background: radial-gradient(circle at 20% 12%, rgba(255,255,255,.55), transparent 19rem), radial-gradient(circle at 80% 20%, rgba(255,232,128,.35), transparent 20rem), linear-gradient(135deg, #fff9df, #dff1ff 52%, #fff);
}
html[data-theme-background="hell"] body,
html[data-theme-background="fire"] body {
    background: radial-gradient(circle at 20% 18%, rgba(255,94,0,.34), transparent 20rem), radial-gradient(circle at 80% 12%, rgba(255,0,0,.24), transparent 22rem), linear-gradient(135deg, #160400, #3b0900 55%, #090100);
}
html[data-theme-background="hell"] body::before,
html[data-theme-background="fire"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='220' viewBox='0 0 280 220'%3E%3Crect width='280' height='220' fill='none'/%3E%3Cg opacity='.42' fill='%23ffb000' stroke='%23ff3b00' stroke-width='3'%3E%3Cpath d='M50 180c-12-42 30-50 18-96 38 34 16 60 48 96z'/%3E%3Cpath d='M165 185c-18-54 42-62 24-122 52 48 20 76 66 122z'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="forest"] body {
    background: radial-gradient(circle at 16% 14%, rgba(75,220,110,.24), transparent 22rem), linear-gradient(135deg, #061a0c, #123b1e 52%, #061009);
}
html[data-theme-background="forest"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='220' viewBox='0 0 260 220'%3E%3Crect width='260' height='220' fill='none'/%3E%3Cg opacity='.38' fill='%2382f58b' stroke='%23051a0a' stroke-width='3'%3E%3Cpath d='M60 35l36 70H24zM60 78l44 78H16zM190 28l40 78h-80zM190 80l50 90H140z'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="money"] body {
    background: radial-gradient(circle at 18% 16%, rgba(45,255,120,.28), transparent 20rem), radial-gradient(circle at 80% 18%, rgba(255,221,67,.25), transparent 22rem), linear-gradient(135deg, #03130a, #12351c 52%, #080f08);
}
html[data-theme-background="money"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='220' viewBox='0 0 280 220'%3E%3Crect width='280' height='220' fill='none'/%3E%3Cg opacity='.42' fill='%237dff9d' stroke='%23062610' stroke-width='4'%3E%3Crect x='35' y='48' width='92' height='48' rx='8'/%3E%3Ccircle cx='81' cy='72' r='14' fill='%23ffe55c'/%3E%3Crect x='168' y='120' width='76' height='46' rx='8'/%3E%3Ctext x='73' y='80' font-size='24' font-family='Arial' fill='%23062610'%3E$%3C/text%3E%3C/g%3E%3C/svg%3E");
}

/* Attribute-based cursors so custom DB themes can use the same cursor library as config themes. */
html[data-theme-cursor="default"], html[data-theme-cursor="default"] * { cursor: auto; }
html[data-theme-cursor="pixel"], html[data-theme-cursor="pixel"] *,
html[data-theme-cursor="retro-arcade"], html[data-theme-cursor="retro-arcade"] *,
html[data-theme-cursor="joystick"], html[data-theme-cursor="joystick"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ff5dad' stroke='%23271b48' stroke-width='2.5' d='M4 3L29 16L19 20L24 32L17 34L13 22L5 29Z'/%3E%3Crect x='22' y='5' width='8' height='8' rx='2' fill='%23ffdc4f' stroke='%23271b48' stroke-width='2'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="rocket"], html[data-theme-cursor="rocket"] *,
html[data-theme-cursor="spark"], html[data-theme-cursor="spark"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%239d7cff' stroke='%2300e7ff' stroke-width='2.4' d='M5 31C8 21 14 10 28 4C26 18 15 27 5 31Z'/%3E%3Cpath fill='%23ffef77' d='M9 27L3 33L15 30Z'/%3E%3Ccircle cx='24' cy='9' r='4' fill='%23fff7ff'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="terminal"], html[data-theme-cursor="terminal"] *,
html[data-theme-cursor="terminal-prompt"], html[data-theme-cursor="terminal-prompt"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Crect x='3' y='5' width='28' height='24' rx='3' fill='%23071108' stroke='%2344ff77' stroke-width='2.5'/%3E%3Cpath d='M9 13L14 18L9 23M17 23L27 23' fill='none' stroke='%23b6ff00' stroke-width='2.8' stroke-linecap='round'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="clean-pencil"], html[data-theme-cursor="clean-pencil"] *,
html[data-theme-cursor="pencil"], html[data-theme-cursor="pencil"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%232563eb' stroke='%231e293b' stroke-width='2' d='M6 4L28 18L20 20L24 31L18 33L14 22L7 28Z'/%3E%3Cpath d='M22 6L31 15' stroke='%2310b981' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="emoji"], html[data-theme-cursor="emoji"] *,
html[data-theme-cursor="disco"], html[data-theme-cursor="disco"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='16' r='10' fill='%23ff5dad' stroke='%23271b48' stroke-width='2.4'/%3E%3Cpath d='M10 16H26M18 6V26M12 9L24 23M24 9L12 23' stroke='%23fff8c8' stroke-width='1.4'/%3E%3Cpath d='M18 26L18 34' stroke='%23271b48' stroke-width='2.4'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="carrot"], html[data-theme-cursor="carrot"] *,
html[data-theme-cursor="bunny"], html[data-theme-cursor="bunny"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ff8c2a' stroke='%23321a35' stroke-width='2' d='M8 6L29 14L16 32Z'/%3E%3Cpath d='M18 8C17 4 18 2 22 1M20 9C23 5 26 5 29 7' fill='none' stroke='%234fc36b' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="lightning"], html[data-theme-cursor="lightning"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23fee75c' stroke='%230b1024' stroke-width='2.4' d='M19 2L6 20H17L14 34L30 13H19Z'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="diamond"], html[data-theme-cursor="diamond"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%2328f7ff' stroke='%23ff38d1' stroke-width='2.5' d='M18 3L32 14L18 33L4 14Z'/%3E%3Cpath d='M4 14H32M11 14L18 33M25 14L18 33M11 14L18 3L25 14' fill='none' stroke='%23fff04a' stroke-width='1.7'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="planet"], html[data-theme-cursor="planet"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='10' fill='%237c5cff' stroke='%2300e0ff' stroke-width='2.3'/%3E%3Cellipse cx='18' cy='18' rx='16' ry='6' fill='none' stroke='%23ffd166' stroke-width='2.2' transform='rotate(-22 18 18)'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="crown"], html[data-theme-cursor="crown"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ffd700' stroke='%23181000' stroke-width='2.4' d='M5 28L7 10L14 20L18 8L23 20L30 10L31 28Z'/%3E%3Ccircle cx='18' cy='8' r='3' fill='%23f72585'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="brush"], html[data-theme-cursor="brush"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%2300f5d4' stroke='%2306141b' stroke-width='2.2' d='M9 4L25 20L17 28L2 12Z'/%3E%3Cpath d='M23 18L33 28C34 29 34 31 32 33C30 35 28 35 27 33L18 23' fill='%23fee440' stroke='%2306141b' stroke-width='2'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="ocean"], html[data-theme-cursor="ocean"] *,
html[data-theme-cursor="gothic"], html[data-theme-cursor="gothic"] *,
html[data-theme-cursor="candy"], html[data-theme-cursor="candy"] *,
html[data-theme-cursor="fire"], html[data-theme-cursor="fire"] *,
html[data-theme-cursor="cloud"], html[data-theme-cursor="cloud"] * { cursor: crosshair; }

html[data-theme] input,
html[data-theme] textarea,
html[data-theme] [contenteditable="true"] { cursor: text; }
html[data-theme] select,
html[data-theme] button,
html[data-theme] .button,
html[data-theme] a,
html[data-theme] summary,
html[data-theme] [data-copy-text] { cursor: pointer; }

/* Extra preset backgrounds available to DB-created themes. */
html[data-theme-background="arcade"] body {
    background: radial-gradient(circle at 12% 16%, rgba(255,93,173,.26), transparent 20rem), radial-gradient(circle at 82% 18%, rgba(0,231,255,.22), transparent 22rem), linear-gradient(135deg, #100727, #17104a 52%, #050616);
}
html[data-theme-background="arcade"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='220' viewBox='0 0 280 220'%3E%3Crect width='280' height='220' fill='none'/%3E%3Cg opacity='.38' fill='none' stroke='%23ff5dad' stroke-width='4'%3E%3Crect x='38' y='48' width='76' height='98' rx='12'/%3E%3Ccircle cx='76' cy='82' r='20'/%3E%3Cpath d='M55 124h42M76 106v36M55 124h42M184 48h56M184 82h56M184 116h56'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="planets"] body,
html[data-theme-background="orbit"] body {
    background: radial-gradient(circle at 16% 16%, rgba(124,92,255,.32), transparent 20rem), radial-gradient(circle at 84% 18%, rgba(0,231,255,.2), transparent 24rem), linear-gradient(135deg, #060919, #10173a 50%, #040512);
}
html[data-theme-background="planets"] body::before,
html[data-theme-background="orbit"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Crect width='320' height='220' fill='none'/%3E%3Cg opacity='.42' fill='none' stroke='%23c8f7ff' stroke-width='3'%3E%3Ccircle cx='84' cy='82' r='30' fill='%237c5cff'/%3E%3Cellipse cx='84' cy='82' rx='52' ry='14' transform='rotate(-18 84 82)'/%3E%3Ccircle cx='235' cy='132' r='22' fill='%23ff5dad'/%3E%3Cpath d='M20 185h280'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="terminal"] body {
    background: radial-gradient(circle at 12% 14%, rgba(68,255,119,.22), transparent 19rem), linear-gradient(135deg, #031006, #081b10 55%, #010603);
}
html[data-theme-background="terminal"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Crect width='320' height='220' fill='none'/%3E%3Cg opacity='.38' fill='none' stroke='%2344ff77' stroke-width='3'%3E%3Cpath d='M40 58h92M40 94h150M40 130h76M170 166h92M28 42l22 22-22 22'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="blueprint"] body {
    background: radial-gradient(circle at 16% 15%, rgba(37,99,235,.2), transparent 18rem), linear-gradient(135deg, #eef7ff, #dceeff 52%, #f8fbff);
}
html[data-theme-background="blueprint"] body::before {
    background-image: linear-gradient(rgba(37,99,235,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(37,99,235,.18) 1px, transparent 1px);
    background-size: 44px 44px;
}
html[data-theme-background="confetti"] body {
    background: radial-gradient(circle at 16% 16%, rgba(255,93,173,.28), transparent 22rem), radial-gradient(circle at 84% 18%, rgba(255,230,109,.24), transparent 22rem), linear-gradient(135deg, #2a164a, #10183f 52%, #0b0d21);
}
html[data-theme-background="confetti"] body::before {
    background-image: radial-gradient(circle at 12px 18px, rgba(255,93,173,.75) 0 5px, transparent 6px), radial-gradient(circle at 58px 44px, rgba(255,230,109,.72) 0 4px, transparent 5px), radial-gradient(circle at 95px 22px, rgba(0,231,255,.68) 0 5px, transparent 6px);
    background-size: 130px 90px;
}
html[data-theme-background="bunny"] body {
    background: radial-gradient(circle at 16% 15%, rgba(120,255,170,.25), transparent 21rem), radial-gradient(circle at 82% 17%, rgba(255,140,42,.22), transparent 22rem), linear-gradient(135deg, #091b0d, #14351b 52%, #050c06);
}
html[data-theme-background="lightning"] body {
    background: radial-gradient(circle at 20% 17%, rgba(254,231,92,.28), transparent 20rem), radial-gradient(circle at 84% 18%, rgba(87,255,137,.22), transparent 22rem), linear-gradient(135deg, #071029, #111a43 52%, #030713);
}
html[data-theme-background="diamonds"] body {
    background: radial-gradient(circle at 18% 16%, rgba(40,247,255,.25), transparent 21rem), radial-gradient(circle at 82% 18%, rgba(255,56,209,.22), transparent 22rem), linear-gradient(135deg, #090724, #181443 52%, #04020c);
}
html[data-theme-background="crowns"] body {
    background: radial-gradient(circle at 18% 16%, rgba(255,215,0,.25), transparent 22rem), radial-gradient(circle at 82% 18%, rgba(255,93,173,.16), transparent 20rem), linear-gradient(135deg, #160d00, #2d1b05 52%, #090500);
}
html[data-theme-background="lab"] body {
    background: radial-gradient(circle at 17% 16%, rgba(0,245,212,.24), transparent 21rem), radial-gradient(circle at 82% 18%, rgba(254,228,64,.18), transparent 22rem), linear-gradient(135deg, #06141b, #102c35 52%, #030a0e);
}

/* Theme admin preview box background samples. */
.theme-asset-preview[data-theme-background="arcade"] { background: radial-gradient(circle at 15% 22%, rgba(255,93,173,.22), transparent 7rem), linear-gradient(135deg, rgba(16,7,39,.95), rgba(23,16,74,.9)); }
.theme-asset-preview[data-theme-background="planets"],
.theme-asset-preview[data-theme-background="orbit"] { background: radial-gradient(circle at 12% 22%, rgba(124,92,255,.28), transparent 7rem), radial-gradient(circle at 84% 22%, rgba(0,231,255,.2), transparent 7rem), linear-gradient(135deg, rgba(6,9,25,.95), rgba(16,23,58,.9)); }
.theme-asset-preview[data-theme-background="terminal"] { background: linear-gradient(135deg, rgba(3,16,6,.95), rgba(8,27,16,.9)); color: #caffd7; }
.theme-asset-preview[data-theme-background="blueprint"] { background: linear-gradient(135deg, rgba(238,247,255,.95), rgba(220,238,255,.9)); color: #14335f; }
.theme-asset-preview[data-theme-background="confetti"] { background: radial-gradient(circle at 16px 22px, rgba(255,93,173,.75) 0 5px, transparent 6px), radial-gradient(circle at 64px 52px, rgba(255,230,109,.7) 0 4px, transparent 5px), linear-gradient(135deg, rgba(42,22,74,.94), rgba(16,24,63,.9)); }
.theme-asset-preview[data-theme-background="candy"] { background: linear-gradient(135deg, rgba(255,243,251,.95), rgba(255,224,240,.9)); color: #351449; }
.theme-asset-preview[data-theme-background="gothic"] { background: linear-gradient(135deg, rgba(7,6,17,.96), rgba(21,17,43,.92)); color: #f0e9ff; }
.theme-asset-preview[data-theme-background="ocean"] { background: linear-gradient(135deg, rgba(6,32,51,.96), rgba(6,76,120,.9)); color: #e7fbff; }
.theme-asset-preview[data-theme-background="clouds"],
.theme-asset-preview[data-theme-background="heaven"] { background: linear-gradient(135deg, rgba(201,239,255,.95), rgba(255,249,223,.9)); color: #163450; }
.theme-asset-preview[data-theme-background="hell"],
.theme-asset-preview[data-theme-background="fire"] { background: linear-gradient(135deg, rgba(22,4,0,.96), rgba(59,9,0,.92)); color: #fff0d8; }
.theme-asset-preview[data-theme-background="forest"],
.theme-asset-preview[data-theme-background="bunny"] { background: linear-gradient(135deg, rgba(6,26,12,.96), rgba(18,59,30,.92)); color: #efffed; }
.theme-asset-preview[data-theme-background="money"] { background: linear-gradient(135deg, rgba(3,19,10,.96), rgba(18,53,28,.92)); color: #eaffe7; }
.theme-asset-preview[data-theme-background="lightning"] { background: linear-gradient(135deg, rgba(7,16,41,.96), rgba(17,26,67,.92)); color: #fff8be; }
.theme-asset-preview[data-theme-background="diamonds"] { background: linear-gradient(135deg, rgba(9,7,36,.96), rgba(24,20,67,.92)); color: #eafeff; }
.theme-asset-preview[data-theme-background="crowns"] { background: linear-gradient(135deg, rgba(22,13,0,.96), rgba(45,27,5,.92)); color: #fff4bc; }
.theme-asset-preview[data-theme-background="lab"] { background: linear-gradient(135deg, rgba(6,20,27,.96), rgba(16,44,53,.92)); color: #e9fffb; }

/* v24 profile card click cleanup
   Removes tiny inline action links from profile containers and makes the cards themselves navigate. */
.profile-hero .hero-actions {
    margin-bottom: 1.25rem;
}

.profile-workspace {
    margin-top: 1.35rem;
}

.profile-link-card[data-card-href] {
    cursor: pointer;
    position: relative;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.profile-link-card[data-card-href]:hover,
.profile-link-card[data-card-href]:focus-visible {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--accent) 68%, rgba(255,255,255,.28));
    box-shadow: 0 18px 38px rgba(0,0,0,.18);
    outline: none;
}

.profile-link-card[data-card-href]:focus-visible::after {
    content: '';
    position: absolute;
    inset: .45rem;
    border-radius: calc(var(--radius) - .45rem);
    border: 2px solid var(--accent);
    pointer-events: none;
}

.profile-link-card .section-head a {
    display: none !important;
}

.profile-link-card .section-head .status-pill {
    pointer-events: none;
}

.profile-link-card .list-row,
.profile-link-card .plain-list-row,
.profile-link-card .friend-preview-card {
    position: relative;
    z-index: 1;
}

.profile-link-card a[href],
.profile-link-card button,
.profile-link-card input,
.profile-link-card select,
.profile-link-card textarea {
    position: relative;
    z-index: 2;
}


/* v25 game lobby unified room-code workspace */
.game-lobby-workspace {
    margin-top: 1.25rem;
}

.game-lobby-tab-content {
    display: grid;
    gap: 1rem;
}

.room-join-form,
.game-create-form {
    max-width: 100%;
}

.room-browser-controls {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, .8fr));
    gap: .85rem;
    align-items: end;
    margin: 1rem 0;
}

.room-browser-controls label,
.game-create-form label {
    min-width: 0;
}

.room-browser-list {
    display: grid;
    gap: .8rem;
    max-height: min(54vh, 34rem);
}

.room-browser-card {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(210px, .9fr) auto;
    gap: .85rem;
    align-items: center;
    padding: .9rem;
    border: var(--border);
    border-radius: 1.15rem;
    background:
        radial-gradient(circle at 5% 15%, color-mix(in srgb, var(--brand-2) 16%, transparent), transparent 7rem),
        color-mix(in srgb, var(--panel-strong) 82%, transparent);
    box-shadow: 0 10px 24px rgba(18, 12, 40, .12);
}

.room-browser-main {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.room-browser-main h3 {
    margin: 0;
    font-size: 1.2rem;
}

.room-browser-main p {
    margin: .2rem 0 0;
    color: var(--muted);
}

.room-game-icon {
    width: 3rem;
    height: 3rem;
    flex: 0 0 3rem;
    display: grid;
    place-items: center;
    border-radius: 1rem;
    background: linear-gradient(135deg, var(--brand), var(--brand-2));
    box-shadow: 0 5px 0 rgba(0,0,0,.16);
    font-size: 1.35rem;
}

.room-browser-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-start;
}

.room-browser-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: .3rem .6rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
    background: color-mix(in srgb, var(--panel) 75%, transparent);
    color: var(--ink);
    font-weight: 900;
    font-size: .84rem;
}

.room-browser-myrooms {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--line) 75%, transparent);
}

.room-browser-myrooms h3 {
    margin-top: 0;
}

.room-empty {
    padding: 1.25rem;
    border: var(--border);
    border-radius: 1.15rem;
    background: color-mix(in srgb, var(--panel-strong) 74%, transparent);
}

.game-create-form .grid.two {
    align-items: end;
}

.game-create-form [hidden] {
    display: none !important;
}

@media (max-width: 1050px) {
    .room-browser-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .room-browser-card {
        grid-template-columns: 1fr;
    }
    .room-browser-card form .button {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .room-browser-controls {
        grid-template-columns: 1fr;
    }
}


/* v28 carrot field layered restore + new carrot field top-down farm plot */
html[data-theme="basic-bunny"],
html[data-theme-background="carrot-field-topdown"] {
    --bunny-soil-1: #7d4b32;
    --bunny-soil-2: #925a3d;
    --bunny-green-1: #5aa34a;
    --bunny-green-2: #85c95f;
    --bunny-sky-1: #fef5fb;
    --bunny-sky-2: #ffe2ef;
}

html[data-theme="basic-bunny"] body,
html[data-theme-background="carrot-field-topdown"] body {
    background:
        radial-gradient(circle at 14% 10%, rgba(255,255,255,.76), transparent 18rem),
        radial-gradient(circle at 84% 14%, rgba(255,220,234,.58), transparent 17rem),
        linear-gradient(180deg, #ffeef6 0 18%, #efd2b4 18% 100%);
}

html[data-theme="basic-bunny"] body::before,
html[data-theme-background="carrot-field-topdown"] body::before {
    background-image:
        url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22900%22%20height=%22560%22%20viewBox=%220%200%20900%20560%22%3E%0A%3Crect%20width=%22900%22%20height=%22560%22%20fill=%22none%22/%3E%0A%3Cg%20opacity=%220.95%22%3E%0A%20%20%3Cpath%20d=%22M40%2086L860%2086L822%20160L78%20160Z%22%20fill=%22#c58b63%22/%3E%0A%20%20%3Cpath%20d=%22M68%20172L832%20172L798%20246L102%20246Z%22%20fill=%22#b77b54%22/%3E%0A%20%20%3Cpath%20d=%22M96%20258L804%20258L774%20332L126%20332Z%22%20fill=%22#c58b63%22/%3E%0A%20%20%3Cpath%20d=%22M124%20344L776%20344L748%20418L152%20418Z%22%20fill=%22#b77b54%22/%3E%0A%20%20%3Cpath%20d=%22M152%20430L748%20430L722%20504L178%20504Z%22%20fill=%22#c58b63%22/%3E%0A%3C/g%3E%0A%3Cg%20opacity=%220.28%22%20fill=%22#7a4e37%22%3E%0A%20%20%3Cpath%20d=%22M42%2096L858%2096L850%20112L50%20112Z%22/%3E%0A%20%20%3Cpath%20d=%22M70%20182L830%20182L822%20198L78%20198Z%22/%3E%0A%20%20%3Cpath%20d=%22M98%20268L802%20268L794%20284L106%20284Z%22/%3E%0A%20%20%3Cpath%20d=%22M126%20354L774%20354L766%20370L134%20370Z%22/%3E%0A%20%20%3Cpath%20d=%22M154%20440L746%20440L738%20456L162%20456Z%22/%3E%0A%3C/g%3E%0A%3Cg%20fill=%22#9dd86b%22%20opacity=%220.95%22%3E%0A%20%20%3Crect%20x=%22135%22%20y=%2299%22%20width=%2288%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22278%22%20y=%2299%22%20width=%22100%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22470%22%20y=%2299%22%20width=%2290%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22634%22%20y=%2299%22%20width=%2296%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22180%22%20y=%22185%22%20width=%2290%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22352%22%20y=%22185%22%20width=%2296%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22564%22%20y=%22185%22%20width=%2288%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22122%22%20y=%22271%22%20width=%2288%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22292%22%20y=%22271%22%20width=%22100%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22468%22%20y=%22271%22%20width=%22100%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22648%22%20y=%22271%22%20width=%2284%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22170%22%20y=%22357%22%20width=%2296%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22360%22%20y=%22357%22%20width=%2292%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22554%22%20y=%22357%22%20width=%22110%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22230%22%20y=%22443%22%20width=%22100%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22466%22%20y=%22443%22%20width=%22120%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%3C/g%3E%0A%3Cg%20opacity=%220.55%22%20fill=%22#8d5b42%22%3E%0A%20%20%3Cellipse%20cx=%22128%22%20cy=%22112%22%20rx=%2240%22%20ry=%2220%22%20transform=%22rotate(-10%20128%20112)%22/%3E%0A%20%20%3Cellipse%20cx=%22590%22%20cy=%22294%22%20rx=%2244%22%20ry=%2222%22%20transform=%22rotate(6%20590%20294)%22/%3E%0A%20%20%3Cellipse%20cx=%22674%22%20cy=%22451%22%20rx=%2244%22%20ry=%2222%22%20transform=%22rotate(-6%20674%20451)%22/%3E%0A%20%20%3Cellipse%20cx=%22416%22%20cy=%22380%22%20rx=%2238%22%20ry=%2220%22%20transform=%22rotate(7%20416%20380)%22/%3E%0A%3C/g%3E%0A%3Cg%20transform=%22translate(0%200)%22%3E%0A%20%20%3Cg%20transform=%22translate(176%20108)%20rotate(-14)%22%3E%3Cpath%20d=%22M16%2010C14%203%2020-2%2028%202M26%2012C28%204%2036%202%2043%207%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M10%2016L48%2030L24%2076Z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M17%2024L38%2031M15%2036L33%2042M13%2048L29%2053%22%20fill=%22none%22%20stroke=%22#ffc980%22%20stroke-width=%223%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(322%20120)%20rotate(12)%22%3E%3Cpath%20d=%22M16%2010C14%203%2020-2%2028%202M26%2012C28%204%2036%202%2043%207%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M10%2016L48%2030L24%2076Z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M17%2024L38%2031M15%2036L33%2042M13%2048L29%2053%22%20fill=%22none%22%20stroke=%22#ffc980%22%20stroke-width=%223%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(692%20208)%20rotate(-10)%22%3E%3Cpath%20d=%22M16%2010C14%203%2020-2%2028%202M26%2012C28%204%2036%202%2043%207%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M10%2016L48%2030L24%2076Z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M17%2024L38%2031M15%2036L33%2042M13%2048L29%2053%22%20fill=%22none%22%20stroke=%22#ffc980%22%20stroke-width=%223%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(224%20380)%20rotate(8)%22%3E%3Cpath%20d=%22M16%2010C14%203%2020-2%2028%202M26%2012C28%204%2036%202%2043%207%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M10%2016L48%2030L24%2076Z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M17%2024L38%2031M15%2036L33%2042M13%2048L29%2053%22%20fill=%22none%22%20stroke=%22#ffc980%22%20stroke-width=%223%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(514%20452)%20rotate(-18)%22%3E%3Cpath%20d=%22M16%2010C14%203%2020-2%2028%202M26%2012C28%204%2036%202%2043%207%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M10%2016L48%2030L24%2076Z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M17%2024L38%2031M15%2036L33%2042M13%2048L29%2053%22%20fill=%22none%22%20stroke=%22#ffc980%22%20stroke-width=%223%22/%3E%3C/g%3E%0A%3C/g%3E%0A%3Cg%20opacity=%220.92%22%3E%0A%20%20%3Cg%20transform=%22translate(742%20112)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2286%22%20ry=%2250%22%20fill=%22#84d8f0%22/%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2270%22%20ry=%2238%22%20fill=%22#9be8ff%22/%3E%3Cpath%20d=%22M-20%20-12c8%204%2016%204%2024%200M-14%208c10%206%2024%204%2034-4%22%20fill=%22none%22%20stroke=%22#ffffff%22%20stroke-opacity=%220.45%22%20stroke-width=%224%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(690%2074)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2220%22%20ry=%2216%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%22-10%22%20cy=%22-16%22%20rx=%227%22%20ry=%2216%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%2210%22%20cy=%22-16%22%20rx=%227%22%20ry=%2216%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%22-10%22%20cy=%22-16%22%20rx=%223%22%20ry=%2210%22%20fill=%22#f3bfd2%22/%3E%3Cellipse%20cx=%2210%22%20cy=%22-16%22%20rx=%223%22%20ry=%2210%22%20fill=%22#f3bfd2%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.2%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.2%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%225%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3C/g%3E%0A%3C/g%3E%0A%3Cg%3E%0A%20%20%3Cg%20transform=%22translate(118%2070)%20rotate(-8)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f1bdd0%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f1bdd0%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(246%20202)%20rotate(10)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#c9b5a5%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#c9b5a5%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#c9b5a5%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f1d1cb%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f1d1cb%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3Cpath%20d=%22M18%200l18-8l-6%2018z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M29%20-9c2-6%206-8%2010-6M31%20-6c5-4%209-4%2013-2%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(476%20204)%20rotate(-12)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#8b8f99%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#8b8f99%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#8b8f99%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#d8c3d2%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#d8c3d2%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#242833%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#242833%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(678%20284)%20rotate(8)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#e2ccb9%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#e2ccb9%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#e2ccb9%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f3d1cb%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f3d1cb%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3Cpath%20d=%22M18%200l18-8l-6%2018z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M29%20-9c2-6%206-8%2010-6M31%20-6c5-4%209-4%2013-2%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(348%20392)%20rotate(-8)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#f5d7c1%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#f5d7c1%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#f5d7c1%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f0bcd0%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f0bcd0%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(716%20470)%20rotate(-6)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#ffffff%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#ffffff%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#ffffff%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f0bcd0%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f0bcd0%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3C/g%3E%0A%3C/g%3E%0A%3C/svg%3E");
    background-size: 720px auto;
    opacity: .96;
}

html[data-theme="basic-bunny"] body::after,
html[data-theme-background="carrot-field-topdown"] body::after {
    content: "";
    position: fixed;
    inset: auto 0 0 0;
    height: 20vh;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(circle at 12% 50%, rgba(255,255,255,.18), transparent 8rem),
        radial-gradient(circle at 88% 40%, rgba(255,255,255,.14), transparent 8rem),
        linear-gradient(180deg, rgba(0,0,0,0), rgba(76,45,30,.06));
}

.theme-asset-preview[data-theme-background="carrot-field-topdown"] {
    background:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,.45), transparent 4rem),
        linear-gradient(180deg, #ffeef6 0 24%, #e7c6a4 24% 100%);
    color: #3d2031;
}

.theme-asset-preview[data-theme-background="carrot-field-topdown"]::after {
    content: "🐇  🥕  💧  🐇";
    position: absolute;
    left: 1rem;
    bottom: .8rem;
    font-size: 1.2rem;
    letter-spacing: .2rem;
    opacity: .95;
}

html[data-theme-background="carrot-field"] body {
    background:
        radial-gradient(circle at 12% 10%, rgba(255,255,255,.76), transparent 20rem),
        radial-gradient(circle at 86% 14%, rgba(255,208,228,.58), transparent 18rem),
        linear-gradient(180deg, #ffeef6 0 34%, #f3d88f 34% 44%, #8fca63 44% 54%, #805038 54% 100%);
}

html[data-theme-background="carrot-field"] body::before {
    background-image:
        url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22420%22%20height=%22300%22%20viewBox=%220%200%20420%20300%22%3E%0A%3Crect%20width=%22420%22%20height=%22300%22%20fill=%22none%22/%3E%0A%3Cg%20opacity=%22.28%22%3E%0A%20%20%3Cpath%20d=%22M0%20148C52%20116%20106%20106%20160%20128C205%20146%20256%20142%20310%20116C354%2096%20389%2090%20420%2098V300H0Z%22%20fill=%22#82c95f%22/%3E%0A%20%20%3Cpath%20d=%22M0%20172C55%20144%20118%20150%20176%20178C224%20200%20280%20192%20341%20162C373%20146%20398%20138%20420%20142V300H0Z%22%20fill=%22#64a644%22/%3E%0A%3C/g%3E%0A%3Cg%20opacity=%22.34%22%20stroke=%22#845239%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%3E%0A%20%20%3Cpath%20d=%22M28%20222C58%20202%2092%20196%20128%20212%22/%3E%0A%20%20%3Cpath%20d=%22M72%20268C108%20242%20148%20234%20192%20252%22/%3E%0A%20%20%3Cpath%20d=%22M174%20218C210%20196%20244%20192%20290%20210%22/%3E%0A%20%20%3Cpath%20d=%22M236%20270C272%20242%20316%20238%20362%20258%22/%3E%0A%20%20%3Cpath%20d=%22M300%20218C332%20200%20364%20198%20394%20212%22/%3E%0A%3C/g%3E%0A%3Cg%20opacity=%22.50%22%3E%0A%20%20%3Cg%20transform=%22translate(36%20170)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(124%20194)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(226%20168)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(320%20196)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%3C/g%3E%0A%3Cg%20opacity=%22.38%22%3E%0A%20%20%3Cg%20transform=%22translate(90%20114)%20rotate(-14)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M20%2024L70%2046L38%20108Z%22%20fill=%22#f69436%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M42%2022C45%2010%2055%208%2063%2014M33%2018C32%208%2040%202%2049%207%22%20fill=%22none%22%20stroke=%22#6ebf57%22%20stroke-width=%226%22%20stroke-linecap=%22round%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(272%20102)%20rotate(16)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M20%2024L70%2046L38%20108Z%22%20fill=%22#f69436%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M42%2022C45%2010%2055%208%2063%2014M33%2018C32%208%2040%202%2049%207%22%20fill=%22none%22%20stroke=%22#6ebf57%22%20stroke-width=%226%22%20stroke-linecap=%22round%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Ccircle%20cx=%22118%22%20cy=%22203%22%20r=%2215%22%20fill=%22#6f402c%22/%3E%0A%20%20%3Ccircle%20cx=%22301%22%20cy=%22214%22%20r=%2216%22%20fill=%22#6f402c%22/%3E%0A%3C/g%3E%0A%3C/svg%3E");
    background-size: 520px auto;
    opacity: .92;
}

html[data-theme-background="carrot-field"] body::after {
    content: "";
    position: fixed;
    inset: auto 0 0 0;
    height: 26vh;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(circle at 12% 20%, rgba(132, 201, 95, .55), transparent 8rem),
        radial-gradient(circle at 38% 18%, rgba(107, 178, 73, .48), transparent 8rem),
        radial-gradient(circle at 62% 26%, rgba(132, 201, 95, .55), transparent 9rem),
        radial-gradient(circle at 84% 22%, rgba(107, 178, 73, .48), transparent 9rem),
        linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.05));
}

.theme-asset-preview[data-theme-background="carrot-field"] {
    background:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,.5), transparent 4rem),
        linear-gradient(180deg, #ffeef6 0 38%, #f3d88f 38% 50%, #84c95f 50% 62%, #87523a 62% 100%);
    color: #3d2031;
}

.theme-asset-preview[data-theme-background="carrot-field"]::after {
    content: "🥕  🐇  🥕";
    position: absolute;
    left: 1rem;
    bottom: .8rem;
    font-size: 1.35rem;
    letter-spacing: .32rem;
    opacity: .95;
}

.compact-theme-picker {
    display:flex;
    align-items:center;
    gap:.35rem;
    padding:.18rem;
    border-radius:999px;
    background:rgba(255,255,255,.32);
}

.compact-theme-picker label {
    display:flex;
    align-items:center;
    gap:.35rem;
    margin:0;
    font-size:.78rem;
    color:var(--muted);
}

.compact-theme-picker label span {
    font-weight:1000;
}

.compact-theme-picker select {
    min-width:128px;
    min-height:36px;
    padding:.38rem .55rem;
    border-radius:999px;
}

.compact-theme-picker .button {
    white-space:nowrap;
}

.shop-card {
    min-height:100%;
    align-content:start;
    grid-template-rows:auto auto minmax(4.5rem, 1fr) auto auto auto;
}

.shop-card .price {
    margin:.25rem 0;
}

.shop-card .shop-actions {
    margin-top:auto;
}

.shop-card .small.muted {
    min-height:2.2rem;
}

.social-logo {
    overflow:hidden;
}

.social-logo img {
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:inherit;
}

.social-card .shop-ribbon {
    margin:.15rem 0 .4rem;
}

.social-card {
    display:grid;
    grid-template-rows:auto auto auto minmax(4rem, 1fr) auto;
}

@media (max-width:760px) {
    .auth-panel {
        width:100%;
    }

    .compact-theme-picker {
        width:100%;
        justify-content:space-between;
    }

    .compact-theme-picker label {
        flex:1;
    }

    .compact-theme-picker select {
        width:100%;
        min-width:0;
    }
}


/* V10 admin polish */
.admin-edit-row { margin: 1rem 0; }
.admin-edit-row input, .admin-edit-row select, .admin-edit-row textarea { width: 100%; }
.admin-edit-row textarea { resize: vertical; }
.shop-action-form.compact { margin-bottom: .65rem; }
.theme-picker.compact-theme-picker label { display:flex; align-items:center; gap:.45rem; }
.theme-picker.compact-theme-picker select { min-width: 9rem; }

/* V11 whole-site UX/admin CRUD polish */
.button.warn { background: rgba(255,176,32,.24); color: var(--ink); }
.button.danger { background: rgba(255,79,109,.24); color: #7b1230; }
.status-pill.good { background: rgba(51,192,113,.18); }
.status-pill.danger { background: rgba(255,79,109,.18); }
.notice.warning { border: 1px solid rgba(255,176,32,.45); background: rgba(255,176,32,.14); border-radius: 16px; padding: .75rem .9rem; font-weight: 800; }
.admin-form-grid { grid-template-columns: repeat(3, minmax(0,1fr)); align-items:end; }
.admin-form-grid .wide, .grid-form .wide { grid-column: 1 / -1; }
.admin-record-card { display: grid; gap: 1rem; }
.admin-actions { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; padding-top:.25rem; }
.inline-form { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.inline-form input, .inline-form select { width:auto; min-width: 160px; }
.admin-checkbox-row { display:flex; gap:1rem; flex-wrap:wrap; align-items:center; }
.check { display:flex; grid-template-columns:auto 1fr; align-items:center; gap:.45rem; margin:.2rem 0; width:max-content; }
.check input { width:auto; }
.admin-ad-preview { width: min(100%, 420px); max-height: 180px; object-fit: cover; border-radius: 18px; border: var(--border); box-shadow: var(--shadow); }
.small-stack { gap:.45rem; }
.admin-mini-edit { display:grid; grid-template-columns: 1fr 1fr 1.5fr auto; gap:.5rem; align-items:center; }
.admin-mini-edit input { min-width:0; }
.shop-theme-preview-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; border-style:dashed; }
[data-shop-theme-preview].is-active { outline: 3px solid var(--brand-2); outline-offset: 3px; }
.shop-actions .button-row { margin-bottom:.65rem; }
.theme-picker.compact-theme-picker .button { display:none; }

@media (max-width:980px) {
    .admin-form-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .admin-mini-edit { grid-template-columns:1fr; }
}

@media (max-width:760px) {
    .admin-form-grid, .grid-form { grid-template-columns:1fr; }
    .inline-form { align-items:stretch; }
    .inline-form input, .inline-form select, .inline-form .button { width:100%; }
    .admin-actions { align-items:stretch; }
    .admin-actions form, .admin-actions .button { width:100%; }
    .shop-theme-preview-bar { align-items:stretch; }
}

/* V12 social live chat + party game polish */
.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.friend-code-card,
.game-code-card {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.85rem;
    flex-wrap:wrap;
    padding:1rem;
    border:var(--border);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(35,215,255,.14));
    box-shadow:var(--shadow);
}
.friend-code-card strong,
.game-code-card strong {
    font-size:clamp(1.8rem, 6vw, 3.3rem);
    letter-spacing:.12em;
    line-height:1;
}
.friend-code-inline {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    flex-wrap:wrap;
}
.friend-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.85rem;
    align-items:center;
    padding:.85rem;
    margin-bottom:.65rem;
    border:var(--border);
    border-radius:18px;
    background:rgba(255,255,255,.5);
}
.friend-person {
    display:flex;
    align-items:center;
    gap:.7rem;
    min-width:0;
}
.friend-person span { display:grid; gap:.15rem; }
.friend-actions { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; justify-content:flex-end; }
.mini-avatar.fallback {
    display:inline-grid;
    place-items:center;
    background:rgba(255,255,255,.7);
    font-size:.9rem;
}

.chat-shell,
.game-room-layout {
    display:grid;
    grid-template-columns:minmax(250px, .34fr) minmax(0, 1fr);
    gap:1rem;
    align-items:start;
}
.chat-sidebar,
.chat-panel,
.game-phase { min-width:0; }
.chat-room-list,
.game-player-list,
.game-submission-grid,
.check-grid {
    display:grid;
    gap:.65rem;
}
.chat-room-link {
    display:grid;
    gap:.2rem;
    padding:.75rem;
    border:var(--border);
    border-radius:16px;
    background:rgba(255,255,255,.45);
    color:inherit;
    text-decoration:none;
}
.chat-room-link span { color:var(--muted); font-size:.9rem; font-weight:800; text-transform:capitalize; }
.chat-room-link.active {
    outline:3px solid var(--brand-2);
    background:rgba(35,215,255,.16);
}
.chat-create-group { margin-top:1rem; }
.live-chat-log {
    min-height:420px;
    max-height:60vh;
    align-content:start;
    background:rgba(255,255,255,.25);
    border:1px solid rgba(39,27,72,.12);
    border-radius:20px;
}
.live-chat-form {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.75rem;
    align-items:end;
}
.live-chat-form textarea { margin:0; min-height:74px; }
.chat-message.self {
    margin-left:auto;
    background:rgba(35,215,255,.17);
    border-color:rgba(35,215,255,.35);
}
.chat-message.system {
    max-width:none;
    margin-inline:auto;
    text-align:center;
    background:rgba(255,220,79,.18);
    border-style:dashed;
}
.check-grid { grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); }
.check-row {
    display:flex;
    align-items:center;
    gap:.5rem;
    padding:.45rem .55rem;
    border-radius:14px;
    background:rgba(255,255,255,.45);
    margin:0;
}
.check-row input { width:auto; }

.game-room-card {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.75rem;
    align-items:center;
    padding:.85rem;
    border:var(--border);
    border-radius:18px;
    background:rgba(255,255,255,.52);
}
.game-room-card div { display:grid; gap:.15rem; }
.game-room-card strong { font-size:1.35rem; letter-spacing:.08em; }
.game-room-card span,
.game-room-card em { color:var(--muted); font-weight:800; font-style:normal; }
.game-player {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    padding:.7rem;
    border-radius:16px;
    background:rgba(255,255,255,.52);
    border:1px solid rgba(39,27,72,.12);
}
.game-player span {
    display:flex;
    align-items:center;
    gap:.55rem;
    min-width:0;
}
.game-player b {
    display:inline-grid;
    place-items:center;
    min-width:2.4rem;
    padding:.25rem .45rem;
    border-radius:999px;
    background:var(--panel-strong);
    border:1px solid rgba(39,27,72,.12);
}
.game-submission-grid { grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); margin:1rem 0; }
.game-submission {
    display:grid;
    gap:.7rem;
    align-content:start;
    padding:1rem;
    border:var(--border);
    border-radius:20px;
    background:rgba(255,255,255,.58);
}
.game-submission p { margin:0; font-size:1.08rem; font-weight:900; }
.game-submission.result { background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,220,79,.18)); }
.game-refresh-notice { margin-bottom:1rem; }
.button.big { font-size:1.15rem; padding:.95rem 1.25rem; }
.button.tiny { font-size:.85rem; padding:.45rem .65rem; }
.status-pill.warn { background:rgba(255,176,32,.18); }
.leave-room-form { margin-top:1rem; }

@media (max-width: 980px) {
    .chat-shell,
    .game-room-layout,
    .friend-row,
    .game-room-card {
        grid-template-columns:1fr;
    }
    .friend-actions { justify-content:flex-start; }
    .live-chat-form { grid-template-columns:1fr; }
}
.profile-identity {
    display:flex;
    align-items:center;
    gap:1.25rem;
    flex-wrap:wrap;
}
.big-avatar.fallback {
    display:grid;
    place-items:center;
    font-size:3rem;
}
.friend-person {
    color:inherit;
    text-decoration:none;
}
.friend-person em {
    color:var(--muted);
    font-style:normal;
    font-size:.9rem;
    font-weight:800;
}


/* v12 whole-site UX polish: theme fonts, custom cursors, compact top bar, party motion */
:root {
    --font-ui: var(--font);
    --font-display: var(--font);
}

html[data-theme="retro"] {
    --font-ui: var(--font);
    --font-display: var(--font);
}

html[data-theme="cosmic"] {
    --font-ui: var(--font);
    --font-display: var(--font);
}

html[data-theme="terminal"] {
    --font-ui: Consolas, "Liberation Mono", "Courier New", monospace;
    --font-display: Consolas, "Liberation Mono", "Courier New", monospace;
}

html[data-theme="clean"] {
    --font-ui: var(--font);
    --font-display: var(--font);
}

html[data-theme="party"] {
    --font-ui: var(--font);
    --font-display: var(--font);
}

body,
button,
input,
select,
textarea {
    font-family: var(--font-ui);
}

h1,
h2,
h3,
.brand strong,
.hero-title,
.page-title,
.section-title,
.stat-value {
    font-family: var(--font-display);
    letter-spacing: .02em;
}

.header-collapse-toggle {
    border: var(--border);
    border-radius: 999px;
    background: var(--panel-strong);
    color: var(--ink);
    font-weight: 900;
    padding: .55rem .8rem;
    box-shadow: var(--shadow);
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
}

.header-collapse-toggle:hover,
.header-collapse-toggle:focus-visible {
    transform: translateY(-1px);
    border-color: var(--accent);
}

.collapse-icon {
    display: inline-block;
    transform: rotate(90deg);
}

body.header-minimized .compact-header .site-nav,
body.header-minimized .compact-header .header-tools,
body.header-minimized .compact-header .nav-toggle {
    display: none !important;
}

body.header-minimized .compact-header {
    width: fit-content;
    max-width: calc(100vw - 2rem);
    margin-left: auto;
    padding: .65rem;
    gap: .55rem;
}

body.header-minimized .brand > span:not(.brand-mark) {
    display: none;
}

body.header-minimized .collapse-icon {
    transform: rotate(-90deg);
}

@media (max-width: 820px) {
    .compact-header {
        position: sticky;
        top: .35rem;
        z-index: 40;
    }

    .header-collapse-toggle {
        padding: .48rem .68rem;
        font-size: .82rem;
    }

    body.header-minimized .compact-header {
        position: fixed;
        top: .55rem;
        right: .55rem;
        z-index: 80;
    }
}

.party-layer {
    pointer-events: none;
    position: fixed;
    inset: 0;
    overflow: hidden;
    z-index: 75;
}

.emoji-rain {
    position: fixed;
    top: -2rem;
    pointer-events: none;
    animation: emoji-rain-fall var(--fall-duration, 6s) linear forwards;
    filter: drop-shadow(0 6px 10px rgba(0,0,0,.22));
}

@keyframes emoji-rain-fall {
    0% {
        transform: translate3d(0, -2rem, 0) rotate(0deg);
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    100% {
        transform: translate3d(var(--fall-x, 0), 110vh, 0) rotate(var(--fall-r, 360deg));
        opacity: 0;
    }
}

html[data-theme="party"] .card:hover,
html[data-theme="party"] .panel:hover,
html[data-theme="party"] .button:hover,
html[data-theme="party"] button:hover,
html[data-theme="party"] .nav-link:hover,
html[data-theme="party"] .shop-card:hover,
html[data-theme="party"] .admin-tile:hover,
html[data-theme="party"] .profile-block:hover,
html[data-theme="party"] .pixel-card:hover,
html[data-theme="party"] .social-card:hover,
html[data-theme="party"] .content-card:hover {
    animation: party-vibrate .16s linear infinite;
}

@keyframes party-vibrate {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
    25% { transform: translate3d(1px, -1px, 0) rotate(-.6deg); }
    50% { transform: translate3d(-1px, 1px, 0) rotate(.6deg); }
    75% { transform: translate3d(1px, 1px, 0) rotate(.35deg); }
}

/* Custom theme cursors use inline SVG data so no font/image files are needed. */
html[data-theme="retro"],
html[data-theme="retro"] * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23ff5dad' stroke='%23271b48' stroke-width='2' d='M4 3 L27 16 L18 19 L22 29 L16 31 L12 21 L4 27 Z'/%3E%3C/svg%3E") 4 3, auto;
}

html[data-theme="cosmic"],
html[data-theme="cosmic"] * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%239d7cff' stroke='%2300e7ff' stroke-width='2' d='M4 3 L27 16 L18 19 L22 29 L16 31 L12 21 L4 27 Z'/%3E%3Ccircle cx='23' cy='8' r='4' fill='%23ffef77'/%3E%3C/svg%3E") 4 3, auto;
}

html[data-theme="terminal"],
html[data-theme="terminal"] * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%2344ff77' stroke='%23071108' stroke-width='2' d='M4 3 L27 16 L18 19 L22 29 L16 31 L12 21 L4 27 Z'/%3E%3C/svg%3E") 4 3, auto;
}

html[data-theme="clean"],
html[data-theme="clean"] * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%232563eb' stroke='%231e293b' stroke-width='2' d='M4 3 L27 16 L18 19 L22 29 L16 31 L12 21 L4 27 Z'/%3E%3C/svg%3E") 4 3, auto;
}

html[data-theme="party"],
html[data-theme="party"] * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23ff5dad' stroke='%23271b48' stroke-width='2' d='M4 3 L27 16 L18 19 L22 29 L16 31 L12 21 L4 27 Z'/%3E%3Ccircle cx='24' cy='8' r='4' fill='%23ffdc4f'/%3E%3Ccircle cx='27' cy='20' r='3' fill='%2323d7ff'/%3E%3C/svg%3E") 4 3, auto;
}

a,
button,
.button,
select,
summary,
[data-copy-text],
input[type="submit"] {
    cursor: pointer;
}

input,
textarea {
    cursor: text;
}

.account-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin: 1rem 0 1.25rem;
}

.account-tab-link {
    border: var(--border);
    border-radius: 999px;
    background: var(--panel);
    color: var(--ink);
    padding: .65rem .95rem;
    text-decoration: none;
    font-weight: 900;
}

.account-tab-link:hover,
.account-tab-link:focus-visible {
    border-color: var(--accent);
    transform: translateY(-1px);
}

.account-tab-panel {
    scroll-margin-top: 8rem;
    margin-top: 1rem;
}

.form-help {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.45;
}

.badge-grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.badge-chip.large {
    font-size: 1rem;
    padding: .75rem .9rem;
    justify-content: flex-start;
}

.badge-icon-img {
    width: 1.65rem;
    height: 1.65rem;
    object-fit: contain;
    border-radius: .45rem;
}

.invoice-item-row {
    display: grid;
    grid-template-columns: 1.4fr 2fr .65fr .8fr;
    gap: .6rem;
    align-items: end;
    padding: .8rem;
    border: var(--border);
    border-radius: var(--radius);
    background: rgba(255,255,255,.35);
    margin-bottom: .65rem;
}

@media (max-width: 760px) {
    .invoice-item-row {
        grid-template-columns: 1fr;
    }
}

.content-media-preview {
    border: var(--border);
    background: rgba(255,255,255,.35);
    border-radius: var(--radius);
    padding: .8rem;
}

.content-media-preview img,
.content-media-preview video {
    max-width: 100%;
    border-radius: var(--radius);
    display: block;
}

.admin-rule-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.5fr) minmax(150px, .8fr) minmax(110px, .5fr);
    gap: .7rem;
    align-items: center;
    border: var(--border);
    border-radius: var(--radius);
    padding: .8rem;
    background: rgba(255,255,255,.35);
    margin-bottom: .65rem;
}

@media (max-width: 760px) {
    .admin-rule-row {
        grid-template-columns: 1fr;
    }
}

.content-card-media {
    margin-top: .85rem;
}
.content-card-media img,
.content-card-media video {
    max-width: 100%;
    border-radius: calc(var(--radius) * .6);
    display: block;
    border: var(--border);
}

.account-tab-panel .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.account-tab-panel .span-2 {
    grid-column: 1 / -1;
}
.field-note,
.details-grid > div {
    border: var(--border);
    border-radius: calc(var(--radius) * .65);
    background: rgba(255,255,255,.35);
    padding: .9rem;
}
.details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .85rem;
}
.details-grid span,
.stat-card span {
    display: block;
    color: var(--muted);
    font-size: .85rem;
    font-weight: 900;
}
@media (max-width: 760px) {
    .account-tab-panel .form-grid {
        grid-template-columns: 1fr;
    }
    .account-tab-panel .span-2 {
        grid-column: auto;
    }
}

/* v14 account settings layout */
.account-settings-shell { overflow: hidden; }
.account-settings-heading { margin-bottom: 1.25rem; }
.account-settings-heading h1 { margin: .15rem 0 .35rem; }
.account-settings-layout { display: grid; grid-template-columns: minmax(180px, 240px) 1fr; gap: 1.25rem; align-items: start; }
.account-tabs.vertical { display: flex; flex-direction: column; flex-wrap: nowrap; gap: .65rem; margin: 0; position: sticky; top: 1rem; }
.account-tabs.vertical .account-tab-link { width: 100%; border-radius: 1rem; text-align: left; }
.account-tabs.vertical .account-tab-link.is-active { border-color: var(--accent); box-shadow: var(--shadow); transform: translateX(3px); }
.account-settings-content { min-width: 0; }
.account-settings-content .account-tab-panel { display: none; margin-top: 0; scroll-margin-top: 7rem; }
.account-settings-content .account-tab-panel.is-active { display: block; }
.remember-inline-panel { border: var(--border); border-radius: var(--radius); padding: 1rem; margin-top: 1rem; background: var(--panel-soft); }
@media (max-width: 760px) {
  .account-settings-layout { grid-template-columns: 1fr; }
  .account-tabs.vertical { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-tabs.vertical .account-tab-link { text-align: center; padding-inline: .65rem; }
}

/* Invoice builder + history polish */
.invoice-admin-grid { align-items: start; }
.invoice-item-row { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) 90px 130px auto; gap: .75rem; align-items: end; padding: .75rem; border: 1px solid var(--border, rgba(0,0,0,.12)); border-radius: 1rem; margin-bottom: .75rem; background: rgba(255,255,255,.55); }
.invoice-remove { white-space: nowrap; }
.invoice-preview-panel { position: sticky; top: 1rem; }
.invoice-preview-lines { display: grid; gap: .6rem; }
.invoice-preview-line { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem .8rem; border-radius: .9rem; background: rgba(0,0,0,.045); }
.invoice-history-card summary { cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; }
.stat-card { padding: 1rem; border-radius: 1.25rem; border: 1px solid var(--border, rgba(0,0,0,.12)); background: rgba(255,255,255,.7); display: grid; gap: .35rem; }
.stat-card span { color: var(--muted, #70658a); font-size: .9rem; }
.stat-card strong { font-size: 1.45rem; }
.price-text { font-size: 2rem; font-weight: 900; margin: .25rem 0 1rem; }
@media (max-width: 850px) { .invoice-item-row { grid-template-columns: 1fr; } .invoice-preview-panel { position: static; } .invoice-history-card summary { align-items: flex-start; flex-direction: column; } }

/* v16 Party Mode chaos tools */
html[data-theme="party"] .theme-card,
html[data-theme="party"] .shop-card,
html[data-theme="party"] .panel,
html[data-theme="party"] .card {
    transform-origin: center;
}

.emoji-physics-pop {
    position: fixed;
    z-index: 100000;
    pointer-events: none;
    transform: translate3d(-50%, -50%, 0);
    opacity: 1;
    font-weight: 900;
    text-shadow: 0 2px 0 #fff, 0 5px 12px rgba(0,0,0,.34);
    filter: saturate(1.35) contrast(1.08) drop-shadow(0 8px 9px rgba(0,0,0,.28));
    will-change: transform, opacity;
}

.emoji-final-boom {
    position: fixed;
    z-index: 100001;
    pointer-events: none;
    transform: translate3d(-50%, -50%, 0);
    animation: party-final-boom .62s ease-out forwards;
    font-size: 2.7rem;
    text-shadow: 0 3px 0 #fff, 0 8px 18px rgba(0,0,0,.28);
}

@keyframes party-final-boom {
    0% { transform: translate3d(-50%, -50%, 0) scale(.35) rotate(-16deg); opacity: 0; }
    18% { opacity: 1; }
    100% { transform: translate3d(-50%, -50%, 0) scale(1.85) rotate(16deg); opacity: 0; }
}

.party-toolbar {
    position: fixed;
    right: .75rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100010;
    display: grid;
    gap: .45rem;
    padding: .65rem;
    width: 6.8rem;
    border: 3px solid #271b48;
    border-radius: 1.35rem;
    background: linear-gradient(160deg, rgba(255,255,255,.94), rgba(255,225,249,.93));
    box-shadow: 0 20px 42px rgba(39,27,72,.26), 0 0 0 5px rgba(255,93,173,.26);
    color: #271b48;
    font-family: var(--font-ui);
}

.party-toolbar strong { font-size: .8rem; text-align: center; line-height: 1.05; }

.party-toolbar button {
    border: 2px solid #271b48;
    border-radius: 1rem;
    background: #fff8c8;
    color: #271b48;
    min-height: 3rem;
    font-weight: 900;
    display: grid;
    place-items: center;
    gap: .1rem;
    box-shadow: 0 5px 0 #271b48;
}

.party-toolbar button span { font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; }
.party-toolbar button:hover,
.party-toolbar button.is-active { background: #ff5dad; color: #fff; transform: translateY(2px) rotate(-1deg); box-shadow: 0 3px 0 #271b48; }

.party-warning {
    position: fixed;
    left: 50%;
    top: 1rem;
    transform: translateX(-50%);
    z-index: 100011;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .8rem 1rem;
    border: 3px solid #271b48;
    border-radius: 999px;
    background: #fff8c8;
    color: #271b48;
    box-shadow: 0 14px 34px rgba(39,27,72,.25);
    font-weight: 900;
}
.party-warning span { color: #b00042; }
.party-warning button { border: 0; background: #ff5dad; color: #fff; border-radius: 999px; width: 1.65rem; height: 1.65rem; font-size: 1.1rem; line-height: 1; padding: 0; }
.party-draw-canvas { position: fixed; inset: 0; z-index: 100005; pointer-events: none; }
.party-draw-canvas.is-active { pointer-events: auto; cursor: crosshair !important; }
body[data-party-tool="grab"] { cursor: grab; }
body[data-party-tool="grab"] [data-party-physics="1"] { cursor: grabbing; }
body[data-party-tool="boot"] { cursor: cell; }
body[data-party-tool="bomb"] { cursor: crosshair; }

.party-background-event {
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: .24;
    background-size: 140px 140px;
    background-repeat: repeat;
    animation: party-meme-grid 5.8s linear forwards;
    mix-blend-mode: multiply;
}

@keyframes party-meme-grid {
    0% { opacity: 0; transform: scale(1.05); filter: hue-rotate(0deg); }
    12%, 82% { opacity: .28; }
    100% { opacity: 0; transform: scale(1); filter: hue-rotate(180deg); }
}

.party-meme-window {
    position: fixed;
    z-index: 100009;
    width: min(250px, calc(100vw - 1rem));
    border: 3px solid #0b2a7a;
    background: #c8d8ff;
    box-shadow: 8px 8px 0 rgba(0,0,0,.28);
    color: #111;
    animation: party-window-pop .28s cubic-bezier(.2,1.45,.45,1) both;
    font-family: Tahoma, Verdana, sans-serif;
}
.party-meme-title { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .35rem .45rem; color: #fff; background: linear-gradient(90deg, #0437a0, #38a3ff); font-size: .82rem; }
.party-meme-title button { border: 2px solid #fff; background: #d00; color: #fff; width: 1.35rem; height: 1.35rem; line-height: 1; padding: 0; border-radius: 0; }
.party-meme-window img { display: block; width: 100%; height: 145px; object-fit: cover; background: #fff; }
.party-meme-actions { display: flex; gap: .35rem; padding: .45rem; background: #ece9d8; }
.party-meme-actions button { flex: 1; border: 2px outset #fff; border-radius: 0; background: #ece9d8; color: #111; font-size: .72rem; font-weight: 700; padding: .35rem; }
@keyframes party-window-pop { from { transform: translateY(-24px) scale(.78) rotate(-4deg); opacity: 0; } to { transform: translateY(0) scale(1) rotate(1deg); opacity: 1; } }

@media (max-width: 760px) {
    .party-toolbar { top: auto; right: .5rem; bottom: .5rem; transform: none; width: auto; grid-template-columns: repeat(6, minmax(2.75rem, 1fr)); max-width: calc(100vw - 1rem); align-items: center; }
    .party-toolbar strong { display: none; }
    .party-toolbar button { min-height: 2.7rem; padding: .25rem; }
    .party-toolbar button span { display: none; }
    .party-warning { width: calc(100vw - 1rem); justify-content: center; border-radius: 1rem; }
}

/* v17 next updates */
.chat-compose-label { display: block; flex: 1 1 auto; min-width: 0; }
.chat-compose-label textarea { width: 100%; min-height: 3.15rem; resize: vertical; }
body[data-party-tool="mouse"] { cursor: auto; }

.badge-chip-details { position: relative; display: inline-block; }
.badge-chip-details summary { list-style: none; }
.badge-chip-details summary::-webkit-details-marker { display: none; }
.badge-chip-details[open] .badge-chip { border-color: var(--accent); box-shadow: var(--shadow); }
.badge-info-popover {
    position: absolute;
    z-index: 25;
    left: 0;
    top: calc(100% + .45rem);
    width: min(280px, 85vw);
    padding: .8rem;
    border: var(--border);
    border-radius: 1rem;
    background: var(--panel-strong);
    box-shadow: var(--shadow);
}
.badge-info-popover p { margin: 0 0 .45rem; }
.badge-info-popover p:last-child { margin-bottom: 0; }

.status-list { display: grid; gap: .75rem; }
.status-card {
    display: flex;
    justify-content: space-between;
    gap: .85rem;
    align-items: center;
    border: var(--border);
    border-radius: 1rem;
    padding: .85rem;
    background: rgba(255,255,255,.45);
}
.status-card strong { display: block; font-size: 1.02rem; }
.status-card span:not(.status-pill),
.status-card em { display: block; color: var(--muted); font-style: normal; font-size: .9rem; margin-top: .2rem; }
.status-card.status-online,
.status-card.status-operational { border-color: rgba(34,197,94,.45); }
.status-card.status-degraded,
.status-card.status-updating,
.status-card.status-maintenance,
.status-update-banner { border-color: rgba(245,158,11,.5); }
.status-card.status-offline,
.status-card.status-setup-needed { border-color: rgba(239,68,68,.5); }

.team-card { text-align: center; display: grid; justify-items: center; gap: .6rem; }
.profile-avatar.small { width: 82px; height: 82px; border-radius: 999px; object-fit: cover; border: var(--border); box-shadow: var(--shadow); background: var(--panel-strong); display: grid; place-items: center; font-size: 2rem; }
.giveaway-card .details-grid { margin: .9rem 0; }

.premium-plan-card { align-content: start; }
.premium-plan-card .tier-logo { font-size: 2.2rem; }
.premium-plan-card.tier-free .tier-logo { filter: grayscale(.1); }
.premium-plan-card.tier-basic .tier-logo { transform: rotate(-4deg); }
.premium-plan-card.tier-premium .tier-logo { transform: scale(1.06); }
.premium-plan-card.tier-pro .tier-logo { transform: rotate(4deg) scale(1.1); }
.premium-plan-body { display: grid; gap: .7rem; }
.premium-perks { margin: 0; padding-left: 1.15rem; display: grid; gap: .4rem; }
.premium-perks li { line-height: 1.35; }

.rabbit-run-shell { width: 100%; max-width: 1160px; margin-inline: auto; }
.rabbit-run-canvas {
    display: block;
    width: 100%;
    height: clamp(340px, 52vw, 520px);
    min-height: 300px;
    border: var(--border);
    border-radius: var(--radius);
    background: var(--panel-strong);
    box-shadow: var(--shadow);
    touch-action: none;
}
.rabbit-run-hud {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
    margin: .85rem 0;
}
.rabbit-run-hud strong { padding: .35rem .65rem; border: var(--border); border-radius: 999px; background: var(--panel-strong); }
.rabbit-run-hud span:last-child { color: var(--muted); font-weight: 800; }

@media (max-width: 760px) {
    .status-card { align-items: flex-start; flex-direction: column; }
    .badge-info-popover { position: static; margin-top: .45rem; width: auto; }
}

[data-theme="basic-bunny"] {
    --bg: #ffe9f3;
    --bg-2: #ffd2e8;
    --panel: rgba(255,255,255,.92);
    --panel-strong: #fffafc;
    --ink: #4b2f34;
    --muted: #8d6a73;
    --brand: #ff77ad;
    --brand-2: #ffc7de;
    --brand-3: #ffd37d;
    --accent: #a8e77d;
}
[data-theme="booster-glow"] {
    --bg: #0b1024;
    --bg-2: #1d315f;
    --panel: rgba(18,28,62,.9);
    --panel-strong: #17244d;
    --ink: #f5f8ff;
    --muted: #b7c3e4;
    --brand: #5865f2;
    --brand-2: #57f287;
    --brand-3: #fee75c;
    --accent: #eb459e;
    --border: 2px solid rgba(255,255,255,.16);
}
[data-theme="premium-neon"] {
    --bg: #100018;
    --bg-2: #240044;
    --panel: rgba(36,0,68,.9);
    --panel-strong: #32005c;
    --ink: #fff7ff;
    --muted: #e1b9f5;
    --brand: #ff38d1;
    --brand-2: #28f7ff;
    --brand-3: #fff04a;
    --accent: #7cff6b;
    --border: 2px solid rgba(255,56,209,.35);
}
[data-theme="cosmic-plus"] {
    --bg: #050718;
    --bg-2: #1a0b3d;
    --panel: rgba(15,16,50,.9);
    --panel-strong: #201354;
    --ink: #f9f6ff;
    --muted: #b9aee5;
    --brand: #7c5cff;
    --brand-2: #00e0ff;
    --brand-3: #ff9df2;
    --accent: #ffd166;
    --border: 2px solid rgba(124,92,255,.35);
}
[data-theme="pro-crown"] {
    --bg: #181000;
    --bg-2: #3a2600;
    --panel: rgba(56,38,5,.92);
    --panel-strong: #4b3206;
    --ink: #fff8dc;
    --muted: #ead59b;
    --brand: #ffd700;
    --brand-2: #ff9f1c;
    --brand-3: #fff1a8;
    --accent: #f72585;
    --border: 2px solid rgba(255,215,0,.38);
}
[data-theme="creator-lab"] {
    --bg: #06141b;
    --bg-2: #122c34;
    --panel: rgba(12,35,43,.9);
    --panel-strong: #143945;
    --ink: #eefcff;
    --muted: #a6cad2;
    --brand: #00f5d4;
    --brand-2: #00bbf9;
    --brand-3: #fee440;
    --accent: #f15bb5;
    --border: 2px solid rgba(0,245,212,.28);
}

/* Patch 009: distinct theme art, custom SVG cursors, Rabbit Run/admin polish */
html[data-theme] body { position: relative; }
html[data-theme] body::before { content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .22; background-repeat: repeat; background-size: 280px 240px; mix-blend-mode: soft-light; }
html[data-theme] .site-header, html[data-theme] .site-main, html[data-theme] .site-footer { position: relative; z-index: 1; }
html[data-theme="retro"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22260%22%20height=%22260%22%20viewBox=%220%200%20260%20260%22%3E%3Crect%20width=%22260%22%20height=%22260%22%20fill=%22none%22/%3E%3Cg%20opacity=%22.55%22%20fill=%22none%22%20stroke=%22%23271b48%22%20stroke-width=%223%22%3E%3Cpath%20d=%22M20%2040%20H100%20V120%20H20%20Z%22/%3E%3Cpath%20d=%22M34%2090%20H84%20M59%2064%20V116%22/%3E%3C/g%3E%3Cg%20opacity=%22.65%22%3E%3Crect%20x=%22145%22%20y=%2232%22%20width=%2272%22%20height=%2258%22%20rx=%2212%22%20fill=%22%23ffdc4f%22%20stroke=%22%23271b48%22%20stroke-width=%224%22/%3E%3Ccircle%20cx=%22162%22%20cy=%2261%22%20r=%227%22%20fill=%22%23ff5dad%22/%3E%3Ccircle%20cx=%22188%22%20cy=%2261%22%20r=%227%22%20fill=%22%2323d7ff%22/%3E%3C/g%3E%3Cpath%20d=%22M35%20205%20H225%22%20stroke=%22%23271b48%22%20stroke-width=%224%22%20stroke-dasharray=%2210%2014%22%20opacity=%22.35%22/%3E%3C/svg%3E"); }
html[data-theme="cosmic"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22320%22%20height=%22260%22%20viewBox=%220%200%20320%20260%22%3E%3Crect%20width=%22320%22%20height=%22260%22%20fill=%22none%22/%3E%3Ccircle%20cx=%2270%22%20cy=%2270%22%20r=%2235%22%20fill=%22%239d7cff%22%20opacity=%22.65%22/%3E%3Cellipse%20cx=%2270%22%20cy=%2270%22%20rx=%2255%22%20ry=%2214%22%20fill=%22none%22%20stroke=%22%2300e7ff%22%20stroke-width=%224%22%20opacity=%22.65%22%20transform=%22rotate(-18%2070%2070)%22/%3E%3Cpath%20d=%22M235%2042%20L247%2070%20L278%2074%20L255%2094%20L262%20124%20L235%20108%20L208%20124%20L215%2094%20L192%2074%20L223%2070%20Z%22%20fill=%22%23ffef77%22%20opacity=%22.55%22/%3E%3Cg%20fill=%22%23fff7ff%22%20opacity=%22.55%22%3E%3Ccircle%20cx=%2240%22%20cy=%22180%22%20r=%223%22/%3E%3Ccircle%20cx=%22130%22%20cy=%2245%22%20r=%222%22/%3E%3Ccircle%20cx=%22280%22%20cy=%22170%22%20r=%223%22/%3E%3Ccircle%20cx=%22180%22%20cy=%22210%22%20r=%222%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="terminal"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22320%22%20height=%22220%22%20viewBox=%220%200%20320%20220%22%3E%3Crect%20width=%22320%22%20height=%22220%22%20fill=%22none%22/%3E%3Cg%20fill=%22%2344ff77%22%20opacity=%22.18%22%20font-family=%22monospace%22%20font-size=%2220%22%3E%3Ctext%20x=%2220%22%20y=%2242%22%3E&gt;%20deploy%20--safe%3C/text%3E%3Ctext%20x=%2242%22%20y=%2286%22%3E01001001%3C/text%3E%3Ctext%20x=%2218%22%20y=%22132%22%3Estatus:%20ONLINE%3C/text%3E%3Ctext%20x=%2276%22%20y=%22180%22%3Erun%209000INC%3C/text%3E%3C/g%3E%3Cg%20stroke=%22%2344ff77%22%20stroke-width=%222%22%20opacity=%22.18%22%3E%3Cpath%20d=%22M0%2030%20H320%20M0%2090%20H320%20M0%20150%20H320%20M0%20210%20H320%22/%3E%3Cpath%20d=%22M40%200%20V220%20M120%200%20V220%20M200%200%20V220%20M280%200%20V220%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="clean"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22300%22%20height=%22260%22%20viewBox=%220%200%20300%20260%22%3E%3Crect%20width=%22300%22%20height=%22260%22%20fill=%22none%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%232563eb%22%20stroke-width=%222%22%20opacity=%22.16%22%3E%3Cpath%20d=%22M0%2040%20H300%20M0%20100%20H300%20M0%20160%20H300%20M0%20220%20H300%22/%3E%3Cpath%20d=%22M40%200%20V260%20M100%200%20V260%20M160%200%20V260%20M220%200%20V260%20M280%200%20V260%22/%3E%3C/g%3E%3Cpath%20d=%22M60%2070%20H220%20V150%20H60%20Z%22%20fill=%22%23fff%22%20opacity=%22.2%22%20stroke=%22%2310b981%22%20stroke-width=%224%22/%3E%3Cpath%20d=%22M75%20130%20L125%2082%20L160%20118%20L205%2072%22%20fill=%22none%22%20stroke=%22%23f59e0b%22%20stroke-width=%226%22%20stroke-linecap=%22round%22%20opacity=%22.35%22/%3E%3C/svg%3E"); }
html[data-theme="party"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22280%22%20height=%22240%22%20viewBox=%220%200%20280%20240%22%3E%3Crect%20width=%22280%22%20height=%22240%22%20fill=%22none%22/%3E%3Cg%20opacity=%22.55%22%3E%3Ccircle%20cx=%2252%22%20cy=%2254%22%20r=%2218%22%20fill=%22%23ff5dad%22/%3E%3Ccircle%20cx=%22214%22%20cy=%2278%22%20r=%2216%22%20fill=%22%2323d7ff%22/%3E%3Ccircle%20cx=%22142%22%20cy=%22172%22%20r=%2220%22%20fill=%22%23ffdc4f%22/%3E%3Cpath%20d=%22M92%2038%20L122%2058%20L92%2078%20Z%22%20fill=%22%2361ff9b%22/%3E%3Cpath%20d=%22M205%20155%20L250%20185%22%20stroke=%22%23ff5dad%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M44%20180%20L76%20150%22%20stroke=%22%2323d7ff%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="basic-bunny"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22360%22%20height%3D%22280%22%20viewBox%3D%220%200%20360%20280%22%3E%0A%3Crect%20width%3D%22360%22%20height%3D%22280%22%20fill%3D%22none%22%2F%3E%0A%3Cg%20opacity%3D%22.45%22%20stroke%3D%22%234b2f34%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%3Cg%20transform%3D%22translate%2824%2024%29%22%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2225%22%20rx%3D%2211%22%20ry%3D%2235%22%20fill%3D%22%23fff7fb%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2225%22%20rx%3D%2211%22%20ry%3D%2235%22%20fill%3D%22%23fff7fb%22%2F%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2223%22%20fill%3D%22%23f7c3d5%22%20stroke%3D%22none%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2223%22%20fill%3D%22%23f7c3d5%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2272%22%20r%3D%2231%22%20fill%3D%22%23fff7fb%22%2F%3E%3Ccircle%20cx%3D%2246%22%20cy%3D%2270%22%20r%3D%223.6%22%20fill%3D%22%234b2f34%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2268%22%20cy%3D%2270%22%20r%3D%223.6%22%20fill%3D%22%234b2f34%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2279%22%20r%3D%223.5%22%20fill%3D%22%23c98f72%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M53%2084%20Q57%2088%2061%2084%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M36%2083%20Q27%2086%2024%2094%20M78%2083%20Q87%2086%2090%2094%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate%28164%2014%29%22%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2225%22%20rx%3D%2211%22%20ry%3D%2235%22%20fill%3D%22%23dcc4b6%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2225%22%20rx%3D%2211%22%20ry%3D%2235%22%20fill%3D%22%23dcc4b6%22%2F%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2222%22%20fill%3D%22%23f6d8d2%22%20stroke%3D%22none%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2222%22%20fill%3D%22%23f6d8d2%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2272%22%20r%3D%2231%22%20fill%3D%22%23dcc4b6%22%2F%3E%3Cellipse%20cx%3D%2257%22%20cy%3D%2281%22%20rx%3D%2217%22%20ry%3D%2212%22%20fill%3D%22%23fff7fb%22%2F%3E%3Ccircle%20cx%3D%2246%22%20cy%3D%2269%22%20r%3D%223.6%22%20fill%3D%22%234b2f34%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M66%2070%20q5%20-4%208%200%22%20fill%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2279%22%20r%3D%223.5%22%20fill%3D%22%23c98f72%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M52%2086%20q5%20-4%2010%200%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate%2892%20150%29%22%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2224%22%20rx%3D%2211%22%20ry%3D%2234%22%20fill%3D%22%23fff7fb%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2224%22%20rx%3D%2211%22%20ry%3D%2234%22%20fill%3D%22%23fff7fb%22%2F%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2223%22%20fill%3D%22%23f7c3d5%22%20stroke%3D%22none%22%2F%3E%3Cellipse%20cx%3D%2272%22%20cy%3D%2226%22%20rx%3D%225%22%20ry%3D%2223%22%20fill%3D%22%23f7c3d5%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2272%22%20r%3D%2230%22%20fill%3D%22%23fff7fb%22%2F%3E%3Ccircle%20cx%3D%2246%22%20cy%3D%2270%22%20r%3D%223.5%22%20fill%3D%22%234b2f34%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2268%22%20cy%3D%2270%22%20r%3D%223.5%22%20fill%3D%22%234b2f34%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2280%22%20r%3D%223.4%22%20fill%3D%22%23c98f72%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M48%2086%20q9%208%2018%200%22%20fill%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2235%22%20cy%3D%2279%22%20r%3D%224%22%20fill%3D%22%23ffc7de%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2279%22%20cy%3D%2279%22%20r%3D%224%22%20fill%3D%22%23ffc7de%22%20stroke%3D%22none%22%2F%3E%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate%28248%20150%29%22%3E%3Cpath%20d%3D%22M24%2014%20C20%202%2029%20-4%2038%202%20M35%2016%20C35%204%2046%20-1%2056%206%20M46%2018%20C49%207%2059%206%2066%2012%22%20fill%3D%22none%22%20stroke%3D%22%2379c95b%22%20stroke-width%3D%227%22%2F%3E%3Cpath%20d%3D%22M20%2024%20L74%2048%20L40%20118%20Z%22%20fill%3D%22%23ff9d3c%22%2F%3E%3Cpath%20d%3D%22M31%2034%20L62%2047%20M27%2049%20L55%2060%20M24%2065%20L49%2074%20M22%2081%20L43%2089%22%20fill%3D%22none%22%20stroke%3D%22%23ffc67d%22%20stroke-width%3D%224%22%2F%3E%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate%2816%20172%29%22%3E%3Cpath%20d%3D%22M24%2014%20C20%202%2029%20-4%2038%202%20M35%2016%20C35%204%2046%20-1%2056%206%20M46%2018%20C49%207%2059%206%2066%2012%22%20fill%3D%22none%22%20stroke%3D%22%2379c95b%22%20stroke-width%3D%227%22%2F%3E%3Cpath%20d%3D%22M20%2024%20L74%2048%20L40%20118%20Z%22%20fill%3D%22%23ff9d3c%22%2F%3E%3Cpath%20d%3D%22M31%2034%20L62%2047%20M27%2049%20L55%2060%20M24%2065%20L49%2074%20M22%2081%20L43%2089%22%20fill%3D%22none%22%20stroke%3D%22%23ffc67d%22%20stroke-width%3D%224%22%2F%3E%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E"); }
html[data-theme="booster-glow"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22300%22%20height=%22260%22%20viewBox=%220%200%20300%20260%22%3E%3Crect%20width=%22300%22%20height=%22260%22%20fill=%22none%22/%3E%3Cpath%20d=%22M120%2018%20L48%20142%20H118%20L92%20242%20L240%2086%20H154%20Z%22%20fill=%22%23fee75c%22%20opacity=%22.24%22/%3E%3Cg%20opacity=%22.35%22%3E%3Ccircle%20cx=%22230%22%20cy=%2270%22%20r=%2232%22%20fill=%22%235865f2%22/%3E%3Cpath%20d=%22M208%2075%20H252%20M230%2053%20V97%22%20stroke=%22%2357f287%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="premium-neon"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22280%22%20height=%22240%22%20viewBox=%220%200%20280%20240%22%3E%3Crect%20width=%22280%22%20height=%22240%22%20fill=%22none%22/%3E%3Cg%20opacity=%22.35%22%3E%3Cpath%20d=%22M82%2028%20L140%2074%20L82%20152%20L24%2074%20Z%22%20fill=%22%2328f7ff%22%20stroke=%22%23ff38d1%22%20stroke-width=%226%22/%3E%3Cpath%20d=%22M200%2084%20L250%20124%20L200%20192%20L150%20124%20Z%22%20fill=%22%23ff38d1%22%20stroke=%22%2328f7ff%22%20stroke-width=%226%22/%3E%3Cpath%20d=%22M25%20200%20H255%22%20stroke=%22%23fff04a%22%20stroke-width=%225%22%20stroke-dasharray=%2218%2016%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="cosmic-plus"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22320%22%20height=%22260%22%20viewBox=%220%200%20320%20260%22%3E%3Crect%20width=%22320%22%20height=%22260%22%20fill=%22none%22/%3E%3Ccircle%20cx=%2295%22%20cy=%22115%22%20r=%2246%22%20fill=%22%237c5cff%22%20opacity=%22.35%22/%3E%3Cellipse%20cx=%2295%22%20cy=%22115%22%20rx=%2276%22%20ry=%2222%22%20fill=%22none%22%20stroke=%22%23ffd166%22%20stroke-width=%226%22%20opacity=%22.45%22%20transform=%22rotate(-16%2095%20115)%22/%3E%3Cpath%20d=%22M230%20190%20C238%20140%20260%2096%20302%2064%20C296%20118%20274%20158%20230%20190%20Z%22%20fill=%22%2300e0ff%22%20opacity=%22.28%22/%3E%3Cg%20fill=%22%23ff9df2%22%20opacity=%22.45%22%3E%3Ccircle%20cx=%22260%22%20cy=%2252%22%20r=%224%22/%3E%3Ccircle%20cx=%2228%22%20cy=%22206%22%20r=%223%22/%3E%3Ccircle%20cx=%22184%22%20cy=%2238%22%20r=%222%22/%3E%3C/g%3E%3C/svg%3E"); }
html[data-theme="pro-crown"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22300%22%20height=%22240%22%20viewBox=%220%200%20300%20240%22%3E%3Crect%20width=%22300%22%20height=%22240%22%20fill=%22none%22/%3E%3Cg%20opacity=%22.28%22%20fill=%22%23ffd700%22%20stroke=%22%23fff1a8%22%20stroke-width=%225%22%3E%3Cpath%20d=%22M38%20170%20L54%2074%20L100%20134%20L150%2044%20L200%20134%20L246%2074%20L262%20170%20Z%22/%3E%3Cpath%20d=%22M38%20170%20H262%20V198%20H38%20Z%22/%3E%3C/g%3E%3Ccircle%20cx=%22150%22%20cy=%2244%22%20r=%2212%22%20fill=%22%23f72585%22%20opacity=%22.38%22/%3E%3C/svg%3E"); }
html[data-theme="creator-lab"] body::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22300%22%20height=%22260%22%20viewBox=%220%200%20300%20260%22%3E%3Crect%20width=%22300%22%20height=%22260%22%20fill=%22none%22/%3E%3Cg%20opacity=%22.34%22%20fill=%22none%22%20stroke-width=%226%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M70%2028%20V100%20L36%20174%20C28%20192%2042%20212%2062%20212%20H130%20C150%20212%20164%20192%20156%20174%20L122%20100%20V28%22%20stroke=%22%2300f5d4%22/%3E%3Cpath%20d=%22M188%2060%20L258%20130%22%20stroke=%22%23fee440%22/%3E%3Cpath%20d=%22M180%20170%20C210%20130%20238%20130%20270%20166%22%20stroke=%22%23f15bb5%22/%3E%3C/g%3E%3Ccircle%20cx=%2296%22%20cy=%22160%22%20r=%2218%22%20fill=%22%2300bbf9%22%20opacity=%22.22%22/%3E%3C/svg%3E"); }
html[data-theme="retro"] body { background: radial-gradient(circle at 15% 10%, #23d7ff 0 0, transparent 24rem), radial-gradient(circle at 84% 18%, #ff5dad 0 0, transparent 22rem), linear-gradient(135deg, #fff7dc, #ffeaa8 48%, #ffd4f0); }
html[data-theme="cosmic"] body { background: radial-gradient(circle at 18% 15%, rgba(0,231,255,.46), transparent 20rem), radial-gradient(circle at 82% 18%, rgba(255,112,209,.38), transparent 24rem), linear-gradient(135deg, #07041a, #26124f 52%, #120c28); }
html[data-theme="terminal"] body { background: radial-gradient(circle at 10% 10%, rgba(68,255,119,.16), transparent 18rem), linear-gradient(135deg, #030704, #071108 45%, #0d2010); }
html[data-theme="clean"] body { background: radial-gradient(circle at 14% 18%, rgba(14,165,233,.18), transparent 22rem), radial-gradient(circle at 88% 16%, rgba(16,185,129,.14), transparent 21rem), linear-gradient(135deg, #f8fbff, #e9eef8); }
html[data-theme="party"] body { background: radial-gradient(circle at 12% 8%, #23d7ff, transparent 24rem), radial-gradient(circle at 84% 18%, #ff5dad, transparent 22rem), radial-gradient(circle at 50% 0%, #ffdc4f, transparent 18rem), linear-gradient(135deg, #fff0fb, #ddf7ff 48%, #fff5b8); }
html[data-theme="basic-bunny"] body { background: radial-gradient(circle at 14% 10%, rgba(255,119,173,.34), transparent 22rem), radial-gradient(circle at 84% 18%, rgba(255,205,225,.45), transparent 20rem), radial-gradient(circle at 50% 100%, rgba(168,231,125,.18), transparent 18rem), linear-gradient(135deg, #fff3f8, #ffddea 52%, #ffeef6); }
html[data-theme="booster-glow"] body { background: radial-gradient(circle at 16% 12%, rgba(88,101,242,.42), transparent 20rem), radial-gradient(circle at 80% 20%, rgba(87,242,135,.24), transparent 22rem), linear-gradient(135deg, #070b18, #0b1024 48%, #1d315f); }
html[data-theme="premium-neon"] body { background: radial-gradient(circle at 14% 14%, rgba(255,56,209,.38), transparent 20rem), radial-gradient(circle at 82% 18%, rgba(40,247,255,.28), transparent 22rem), linear-gradient(135deg, #08000f, #240044 48%, #100018); }
html[data-theme="cosmic-plus"] body { background: radial-gradient(circle at 14% 15%, rgba(124,92,255,.42), transparent 22rem), radial-gradient(circle at 80% 20%, rgba(0,224,255,.26), transparent 22rem), linear-gradient(135deg, #030512, #1a0b3d 48%, #050718); }
html[data-theme="pro-crown"] body { background: radial-gradient(circle at 18% 16%, rgba(255,215,0,.28), transparent 21rem), radial-gradient(circle at 80% 18%, rgba(247,37,133,.18), transparent 22rem), linear-gradient(135deg, #120b00, #3a2600 52%, #181000); }
html[data-theme="creator-lab"] body { background: radial-gradient(circle at 14% 18%, rgba(0,245,212,.24), transparent 22rem), radial-gradient(circle at 84% 12%, rgba(241,91,181,.18), transparent 20rem), linear-gradient(135deg, #031016, #122c34 52%, #06141b); }
html[data-theme="retro"], html[data-theme="retro"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%23ff5dad%22%20stroke=%22%23271b48%22%20stroke-width=%222.5%22%20d=%22M4%203%20L29%2016%20L19%2020%20L24%2032%20L17%2034%20L13%2022%20L5%2029%20Z%22/%3E%3Crect%20x=%2222%22%20y=%225%22%20width=%228%22%20height=%228%22%20rx=%222%22%20fill=%22%23ffdc4f%22%20stroke=%22%23271b48%22%20stroke-width=%222%22/%3E%3Ccircle%20cx=%2226%22%20cy=%229%22%20r=%222%22%20fill=%22%2323d7ff%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="cosmic"], html[data-theme="cosmic"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%239d7cff%22%20stroke=%22%2300e7ff%22%20stroke-width=%222.4%22%20d=%22M5%2031%20C8%2021%2014%2010%2028%204%20C26%2018%2015%2027%205%2031%20Z%22/%3E%3Cpath%20fill=%22%23ffef77%22%20d=%22M9%2027%20L3%2033%20L15%2030%20Z%22/%3E%3Ccircle%20cx=%2224%22%20cy=%229%22%20r=%224%22%20fill=%22%23fff7ff%22/%3E%3Cpath%20d=%22M28%2020%20L33%2018%20M29%2023%20L34%2024%22%20stroke=%22%23ff70d1%22%20stroke-width=%222%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="terminal"], html[data-theme="terminal"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2228%22%20height=%2224%22%20rx=%223%22%20fill=%22%23071108%22%20stroke=%22%2344ff77%22%20stroke-width=%222.5%22/%3E%3Cpath%20d=%22M9%2013%20L14%2018%20L9%2023%20M17%2023%20L27%2023%22%20fill=%22none%22%20stroke=%22%23b6ff00%22%20stroke-width=%222.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="clean"], html[data-theme="clean"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%232563eb%22%20stroke=%22%231e293b%22%20stroke-width=%222%22%20d=%22M6%204%20L28%2018%20L20%2020%20L24%2031%20L18%2033%20L14%2022%20L7%2028%20Z%22/%3E%3Cpath%20d=%22M22%206%20L31%2015%22%20stroke=%22%2310b981%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M25%204%20L33%2012%22%20stroke=%22%23f59e0b%22%20stroke-width=%222%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="party"], html[data-theme="party"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Ccircle%20cx=%2218%22%20cy=%2216%22%20r=%2210%22%20fill=%22%23ff5dad%22%20stroke=%22%23271b48%22%20stroke-width=%222.4%22/%3E%3Cpath%20d=%22M10%2016%20H26%20M18%206%20V26%20M12%209%20L24%2023%20M24%209%20L12%2023%22%20stroke=%22%23fff8c8%22%20stroke-width=%221.4%22/%3E%3Cpath%20d=%22M18%2026%20L18%2034%22%20stroke=%22%23271b48%22%20stroke-width=%222.4%22/%3E%3Ccircle%20cx=%2229%22%20cy=%227%22%20r=%223%22%20fill=%22%2323d7ff%22/%3E%3Ccircle%20cx=%227%22%20cy=%2227%22%20r=%223%22%20fill=%22%23ffdc4f%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="basic-bunny"], html[data-theme="basic-bunny"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%23ff8c2a%22%20stroke=%22%23321a35%22%20stroke-width=%222%22%20d=%22M8%206%20L29%2014%20L16%2032%20Z%22/%3E%3Cpath%20d=%22M18%208%20C17%204%2018%202%2022%201%20M20%209%20C23%205%2026%205%2029%207%22%20fill=%22none%22%20stroke=%22%234fc36b%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%2218%22%20cy=%2217%22%20r=%222%22%20fill=%22%23fff4f8%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="booster-glow"], html[data-theme="booster-glow"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%23fee75c%22%20stroke=%22%230b1024%22%20stroke-width=%222.4%22%20d=%22M19%202%20L6%2020%20H17%20L14%2034%20L30%2013%20H19%20Z%22/%3E%3Ccircle%20cx=%2227%22%20cy=%228%22%20r=%225%22%20fill=%22%235865f2%22%20stroke=%22%2357f287%22%20stroke-width=%222%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="premium-neon"], html[data-theme="premium-neon"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%2328f7ff%22%20stroke=%22%23ff38d1%22%20stroke-width=%222.5%22%20d=%22M18%203%20L32%2014%20L18%2033%20L4%2014%20Z%22/%3E%3Cpath%20d=%22M4%2014%20H32%20M11%2014%20L18%2033%20M25%2014%20L18%2033%20M11%2014%20L18%203%20L25%2014%22%20fill=%22none%22%20stroke=%22%23fff04a%22%20stroke-width=%221.7%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="cosmic-plus"], html[data-theme="cosmic-plus"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Ccircle%20cx=%2218%22%20cy=%2218%22%20r=%2210%22%20fill=%22%237c5cff%22%20stroke=%22%2300e0ff%22%20stroke-width=%222.3%22/%3E%3Cellipse%20cx=%2218%22%20cy=%2218%22%20rx=%2216%22%20ry=%226%22%20fill=%22none%22%20stroke=%22%23ffd166%22%20stroke-width=%222.2%22%20transform=%22rotate(-22%2018%2018)%22/%3E%3Ccircle%20cx=%2225%22%20cy=%2211%22%20r=%222.6%22%20fill=%22%23ff9df2%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="pro-crown"], html[data-theme="pro-crown"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%23ffd700%22%20stroke=%22%23181000%22%20stroke-width=%222.4%22%20d=%22M5%2028%20L7%2010%20L14%2020%20L18%208%20L23%2020%20L30%2010%20L31%2028%20Z%22/%3E%3Cpath%20d=%22M7%2028%20H31%22%20stroke=%22%23fff1a8%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%2218%22%20cy=%228%22%20r=%223%22%20fill=%22%23f72585%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme="creator-lab"], html[data-theme="creator-lab"] * { cursor: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2236%22%20height=%2236%22%20viewBox=%220%200%2036%2036%22%3E%3Cpath%20fill=%22%2300f5d4%22%20stroke=%22%2306141b%22%20stroke-width=%222.2%22%20d=%22M9%204%20L25%2020%20L17%2028%20L2%2012%20Z%22/%3E%3Cpath%20d=%22M23%2018%20L33%2028%20C34%2029%2034%2031%2032%2033%20C30%2035%2028%2035%2027%2033%20L18%2023%22%20fill=%22%23fee440%22%20stroke=%22%2306141b%22%20stroke-width=%222%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%223%22%20fill=%22%23f15bb5%22/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme] input, html[data-theme] textarea, html[data-theme] [contenteditable="true"] { cursor: text; }
html[data-theme] select, html[data-theme] button, html[data-theme] .button, html[data-theme] a, html[data-theme] summary, html[data-theme] [data-copy-text] { cursor: inherit; }

.profile-stat-link { color: inherit; text-decoration: none; }
.profile-stat-link:hover, .profile-stat-link:focus-visible { transform: translateY(-3px) rotate(-.6deg); border-color: var(--accent); }
.rabbit-run-layout { align-items: start; grid-template-columns: minmax(0, 1fr); max-width: 1180px; margin-inline: auto; }
.rabbit-leaderboard-panel { position: static; width: 100%; }
.rabbit-leaderboard { margin: 0; padding-left: 1.2rem; display: grid; gap: .65rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.rabbit-leaderboard li { padding: .65rem .75rem; border: var(--border); border-radius: 1rem; background: var(--panel-strong); }
.rabbit-leaderboard strong, .rabbit-leaderboard span { display: block; }
.rabbit-leaderboard span { color: var(--muted); font-size: .9rem; margin-top: .12rem; }
.rabbit-run-hud strong:nth-child(3) { border-color: var(--brand-2); }
.rabbit-run-shell:fullscreen,
.rabbit-run-shell:-webkit-full-screen {
    width: 100vw;
    height: 100vh;
    max-width: none;
    margin: 0;
    border-radius: 0;
    overflow: auto;
    display: flex;
    flex-direction: column;
    background: var(--bg);
}
.rabbit-run-shell:fullscreen .rabbit-run-canvas,
.rabbit-run-shell:-webkit-full-screen .rabbit-run-canvas {
    flex: 1 1 auto;
    height: min(76vh, 780px);
    min-height: 420px;
    max-height: none;
}
.rabbit-run-shell:fullscreen .rabbit-run-hud,
.rabbit-run-shell:-webkit-full-screen .rabbit-run-hud {
    margin-bottom: .65rem;
}

.premium-assign-card { border-style: dashed; }
.premium-assignment-row em { max-width: 60ch; }
.bot-stat-grid strong { word-break: break-word; }
.legal-page .mini-list, .legal-page .feature-list { line-height: 1.55; }
@media (max-width: 900px) {
    .rabbit-run-layout { grid-template-columns: 1fr; }
    .rabbit-run-canvas { height: clamp(300px, 72vw, 440px); }
    .rabbit-leaderboard-panel { position: static; }
}


/* 012 9k Trivia party game patch */
.trivia-hero,
.trivia-room-hero {
    position: relative;
    overflow: hidden;
}
.trivia-hero::after,
.trivia-room-hero::after,
.trivia-phase::after {
    content: "";
    position: absolute;
    inset: auto -10% -45% auto;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 216, 102, .35), rgba(255, 105, 180, .18), transparent 70%);
    pointer-events: none;
    animation: triviaFloat 7s ease-in-out infinite alternate;
}
.trivia-stage {
    position: relative;
    isolation: isolate;
    display: grid;
    gap: 1rem;
    animation: triviaPop .35s ease both;
}
.trivia-question {
    font-size: clamp(1.8rem, 4vw, 3.5rem);
    line-height: 1.02;
    letter-spacing: -.04em;
    text-wrap: balance;
}
.trivia-answer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}
.trivia-choice {
    min-height: 110px;
    border: 0;
    border-radius: 24px;
    padding: 1rem;
    display: flex;
    gap: .85rem;
    align-items: center;
    text-align: left;
    font: inherit;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 18px 35px rgba(17, 10, 41, .22);
    transform: translateY(0) rotate(-.2deg);
    transition: transform .15s ease, filter .15s ease;
}
.trivia-choice:hover,
.trivia-choice:focus-visible {
    transform: translateY(-4px) scale(1.015) rotate(.2deg);
    filter: saturate(1.2) brightness(1.06);
}
.trivia-choice b {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    height: 44px;
    border-radius: 15px;
    background: rgba(255,255,255,.24);
    font-size: 1.35rem;
}
.trivia-choice span {
    font-weight: 900;
    font-size: clamp(1rem, 2vw, 1.35rem);
}
.choice-a { background: linear-gradient(135deg, #ff4d6d, #b5179e); }
.choice-b { background: linear-gradient(135deg, #3a86ff, #4361ee); }
.choice-c { background: linear-gradient(135deg, #06d6a0, #118ab2); }
.choice-d { background: linear-gradient(135deg, #ffbe0b, #fb5607); }
.trivia-meter {
    height: 12px;
    border-radius: 999px;
    background: rgba(42, 31, 84, .12);
    overflow: hidden;
}
.trivia-meter span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #06d6a0, #ffbe0b, #ff4d6d);
    transform-origin: left center;
}
.trivia-pulse {
    animation: triviaPulse 1.4s ease-in-out infinite;
}
.game-submission.correct { border-color: rgba(6, 214, 160, .65); }
.game-submission.wrong { border-color: rgba(255, 77, 109, .45); opacity: .9; }
@keyframes triviaPop { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes triviaPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.035); } }
@keyframes triviaFloat { from { transform: translateY(0) rotate(0); } to { transform: translateY(-30px) rotate(12deg); } }
@media (max-width: 760px) {
    .trivia-answer-grid { grid-template-columns: 1fr; }
    .trivia-choice { min-height: 86px; }
}

/* First 3 themes free shop pricing */
.shop-card .price-old {
    text-decoration: line-through;
    opacity: .55;
    margin-right: .4rem;
}

.shop-card .price-free {
    display: inline-block;
    color: var(--accent-strong, #ff4fb3);
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* 013 next update: readable themes, scroll panels, profile friend previews, functional theme toggles */
html[data-theme] body::before {
    opacity: .12;
    background-size: 240px 220px;
}
html[data-theme="terminal"] body::before,
html[data-theme="cosmic"] body::before,
html[data-theme="cosmic-plus"] body::before,
html[data-theme="premium-neon"] body::before {
    opacity: .16;
}
html[data-theme] .panel,
html[data-theme] .stat-card,
html[data-theme] .shop-card,
html[data-theme] .theme-card,
html[data-theme] .profile-block,
html[data-theme] .account-settings-shell,
html[data-theme] .admin-record-card {
    background-color: color-mix(in srgb, var(--panel, rgba(255,255,255,.9)) 92%, transparent);
    backdrop-filter: blur(12px) saturate(1.08);
    -webkit-backdrop-filter: blur(12px) saturate(1.08);
}
html[data-theme] h1,
html[data-theme] h2,
html[data-theme] h3,
html[data-theme] h4,
html[data-theme] .lead,
html[data-theme] p,
html[data-theme] label,
html[data-theme] .plain-list-row,
html[data-theme] .list-row,
html[data-theme] .form-help,
html[data-theme] .muted {
    text-shadow: 0 1px 0 rgba(255,255,255,.18);
}
html[data-theme="terminal"] h1,
html[data-theme="terminal"] h2,
html[data-theme="terminal"] h3,
html[data-theme="terminal"] p,
html[data-theme="terminal"] label,
html[data-theme="cosmic"] h1,
html[data-theme="cosmic"] h2,
html[data-theme="cosmic"] h3,
html[data-theme="cosmic"] p,
html[data-theme="cosmic"] label,
html[data-theme="premium-neon"] h1,
html[data-theme="premium-neon"] h2,
html[data-theme="premium-neon"] h3,
html[data-theme="premium-neon"] p,
html[data-theme="premium-neon"] label {
    text-shadow: 0 1px 8px rgba(0,0,0,.28);
}
.scroll-panel {
    max-height: min(58vh, 36rem);
    overflow: auto;
    padding-right: .35rem;
    scrollbar-gutter: stable;
}
.bot-scroll-panel {
    max-height: 34rem;
    border-radius: 18px;
    border: 1px solid rgba(42,31,84,.1);
}
.bot-filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: end;
    margin: .65rem 0 1rem;
}
.bot-filter-form label {
    min-width: min(100%, 250px);
}
.bot-filter-form select {
    width: 100%;
}
.friend-preview-list {
    display: grid;
    gap: .65rem;
}
.friend-preview-card {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .7rem;
    border: var(--border);
    border-radius: 16px;
    background: rgba(255,255,255,.42);
    color: inherit;
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.friend-preview-card:hover,
.friend-preview-card:focus-visible {
    transform: translateY(-2px);
    border-color: var(--accent);
    box-shadow: 0 10px 22px rgba(42,31,84,.12);
}
.friend-preview-card img,
.avatar-dot {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 50%;
    object-fit: cover;
    display: grid;
    place-items: center;
    font-weight: 900;
    background: linear-gradient(135deg, var(--brand), var(--brand-2));
    color: #fff;
}
.friend-preview-card strong,
.friend-preview-card small {
    display: block;
}
.friend-preview-card small {
    color: var(--muted);
    font-size: .82rem;
    margin-top: .12rem;
}
.profile-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .75rem;
}
.profile-detail-grid > div,
.profile-bio {
    border: var(--border);
    border-radius: 16px;
    padding: .85rem;
    background: rgba(255,255,255,.42);
}
.profile-detail-grid span {
    display: block;
    color: var(--muted);
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.profile-detail-grid strong {
    display: block;
    margin-top: .2rem;
    word-break: break-word;
}
.profile-bio h3 { margin-top: 0; }
.profile-bio p { margin-bottom: 0; }
.theme-opt-large-text {
    font-size: 1.075rem;
    line-height: 1.65;
}
.theme-opt-large-text .lead,
.theme-opt-large-text .plain-list-row strong,
.theme-opt-large-text .list-row strong {
    font-size: 1.08em;
}
.theme-opt-compact-cards .panel.compact,
.theme-opt-compact-cards .shop-card,
.theme-opt-compact-cards .theme-card,
.theme-opt-compact-cards .stat-card {
    padding: clamp(.75rem, 1.4vw, 1rem);
    gap: .55rem;
}
.theme-opt-glow-cards .panel,
.theme-opt-glow-cards .stat-card,
.theme-opt-glow-cards .shop-card,
.theme-opt-glow-cards .theme-card,
.theme-opt-glow-cards .friend-preview-card {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 25%, transparent), 0 18px 45px color-mix(in srgb, var(--brand-2) 16%, transparent);
}
body:not(.theme-opt-soft-motion) .pop-card:hover,
body:not(.theme-opt-hover-bounce) .pop-card:hover {
    transform: none;
}
.theme-opt-hover-bounce .pop-card:hover,
.theme-opt-hover-bounce .friend-preview-card:hover,
.theme-opt-hover-bounce .button:hover {
    transform: translateY(-4px) scale(1.012);
}
body:not(.theme-opt-scanlines)::after {
    content: none !important;
}
.theme-opt-scanlines::after {
    content: '';
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 2;
    opacity: .06;
    background: repeating-linear-gradient(180deg, rgba(0,0,0,.9) 0 1px, transparent 1px 4px);
    mix-blend-mode: multiply;
}
body:not(.theme-opt-emoji-clicks) .emoji-confetti,
body:not(.theme-opt-emoji-clicks) .party-particle {
    display: none !important;
}
@media (prefers-reduced-motion: reduce) {
    .theme-opt-hover-bounce .pop-card:hover,
    .theme-opt-hover-bounce .friend-preview-card:hover,
    .theme-opt-hover-bounce .button:hover {
        transform: none;
    }
}
/* support the actual theme setting key: scanline_hint */
body:not(.theme-opt-scanline-hint)::after { content: none !important; }
.theme-opt-scanline-hint::after {
    content: '';
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 2;
    opacity: .06;
    background: repeating-linear-gradient(180deg, rgba(0,0,0,.9) 0 1px, transparent 1px 4px);
    mix-blend-mode: multiply;
}


/* v22 unified tab workspace patch
   All admin, bot, account, and profile tab layouts use the same vertical shell. */
.ui-tab-shell,
.account-settings-shell,
.admin-tab-shell {
    overflow: hidden;
}

.admin-tab-shell {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    padding: 1.25rem;
    border: var(--border);
    border-radius: var(--radius);
    background: var(--panel);
    box-shadow: var(--shadow);
    margin-bottom: 1.25rem;
}

.admin-tab-shell > .account-tabs.vertical,
.admin-tab-shell > .admin-tabs {
    margin: 0;
    position: sticky;
    top: 1rem;
}

.admin-tab-content,
.ui-tab-content,
.account-settings-content {
    min-width: 0;
}

[data-tab-shell] .account-tab-panel,
[data-account-settings] .account-tab-panel {
    display: none;
    margin-top: 0;
    scroll-margin-top: 7rem;
}

[data-tab-shell] .account-tab-panel.is-active,
[data-account-settings] .account-tab-panel.is-active {
    display: block;
}

[data-tab-shell] .account-tab-panel[hidden],
[data-account-settings] .account-tab-panel[hidden] {
    display: none !important;
}

.ui-tab-nav,
.account-tabs.vertical,
.admin-tabs {
    min-width: 0;
}

.account-tabs.vertical .account-tab-link,
.ui-tab-link {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 3rem;
    border-radius: 1rem;
    text-align: left;
    line-height: 1.2;
}

.account-tabs.vertical .account-tab-link.is-active,
.ui-tab-link.is-active {
    border-color: var(--accent);
    box-shadow: var(--shadow);
    transform: translateX(3px);
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 18%, var(--panel)), color-mix(in srgb, var(--brand-2) 14%, var(--panel)));
}

.tabbed-profile-shell .profile-block {
    box-shadow: none;
}

.profile-activity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.profile-tab-intro {
    margin: 0 0 1rem;
    color: var(--muted);
}

.admin-form-grid input,
.admin-form-grid select,
.admin-form-grid textarea,
.account-tab-panel input,
.account-tab-panel select,
.account-tab-panel textarea {
    color: var(--ink) !important;
    background: color-mix(in srgb, var(--panel-strong, rgba(255,255,255,.88)) 92%, #fff 8%) !important;
    text-shadow: none !important;
}

.admin-form-grid input::placeholder,
.admin-form-grid textarea::placeholder,
.account-tab-panel input::placeholder,
.account-tab-panel textarea::placeholder {
    color: color-mix(in srgb, var(--ink) 55%, transparent) !important;
    opacity: 1;
}

@media (max-width: 760px) {
    .admin-tab-shell {
        grid-template-columns: 1fr;
    }

    .admin-tab-shell > .account-tabs.vertical,
    .admin-tab-shell > .admin-tabs {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-activity-grid {
        grid-template-columns: 1fr;
    }
}


/* v23 admin/friends vertical workspace cleanup
   Keeps admin tabs vertically stacked inside the main panel and fixes form readability on dark themes. */
.admin-tab-workspace,
.friends-workspace {
    margin-top: 1.25rem;
}

.admin-tab-workspace .ui-tab-content,
.friends-workspace .ui-tab-content {
    display: grid;
    gap: 1rem;
}

.admin-tab-workspace .nested-panel,
.friends-workspace .nested-panel {
    margin: 0;
    box-shadow: none;
    background: color-mix(in srgb, var(--panel) 88%, transparent);
}

.admin-equal-grid {
    align-items: stretch;
}

.admin-record-stack {
    display: grid;
    gap: 1rem;
}

.admin-scroll-panel {
    max-height: min(68vh, 48rem);
    overflow: auto;
    padding-right: .35rem;
    scrollbar-gutter: stable;
}


.friend-tab-list {
    max-height: min(66vh, 42rem);
}

.friend-request-form {
    display: grid;
    gap: .85rem;
}

.friend-request-form h3 {
    margin: 0;
}

.admin-mini-edit {
    display: grid;
    grid-template-columns: minmax(130px, .8fr) minmax(120px, .65fr) minmax(180px, 1fr) auto;
    gap: .6rem;
    align-items: center;
}

.admin-form-grid input,
.admin-form-grid select,
.admin-form-grid textarea,
.account-tab-panel input,
.account-tab-panel select,
.account-tab-panel textarea,
.admin-mini-edit input,
.friend-request-form input {
    color: #261a4a !important;
    background: rgba(255,255,255,.86) !important;
    text-shadow: none !important;
    caret-color: #261a4a;
}

.admin-form-grid input::placeholder,
.admin-form-grid textarea::placeholder,
.account-tab-panel input::placeholder,
.account-tab-panel textarea::placeholder,
.admin-mini-edit input::placeholder,
.friend-request-form input::placeholder {
    color: rgba(38,26,74,.62) !important;
    opacity: 1;
}

.admin-form-grid label,
.friend-request-form label,
.account-tab-panel label {
    color: var(--ink);
}

@media (max-width: 900px) {
    .admin-mini-edit {
        grid-template-columns: 1fr;
    }
}


/* v24 theme admin asset controls */
.theme-admin-workspace .theme-asset-form {
    align-items: start;
}

.theme-admin-card {
    overflow: visible;
}

.theme-asset-preview {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    min-height: 5.25rem;
    padding: 1rem;
    border: 2px solid color-mix(in srgb, var(--accent) 65%, transparent);
    border-radius: 1.25rem;
    background:
        radial-gradient(circle at 15% 25%, color-mix(in srgb, var(--brand) 22%, transparent), transparent 9rem),
        linear-gradient(135deg, color-mix(in srgb, var(--panel-strong) 88%, transparent), color-mix(in srgb, var(--panel) 82%, transparent));
    box-shadow: var(--shadow);
}

.theme-preview-cursor {
    display: inline-grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.78);
    color: #261a4a;
    font-size: 1.8rem;
    border: 2px solid rgba(38,26,74,.18);
}

.theme-preview-emojis {
    font-size: 1.35rem;
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-option-fieldset {
    border: 1px solid color-mix(in srgb, var(--line) 85%, transparent);
    border-radius: 1.1rem;
    padding: 1rem;
    background: color-mix(in srgb, var(--panel) 86%, transparent);
}

.theme-option-fieldset legend {
    padding: 0 .45rem;
    font-weight: 900;
}

.theme-option-grid,
.theme-chip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.theme-option-check,
.theme-chip {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.4rem;
    padding: .55rem .7rem;
    border: 1px solid color-mix(in srgb, var(--line) 75%, transparent);
    border-radius: .9rem;
    background: rgba(255,255,255,.08);
    font-weight: 800;
}

.theme-option-check input {
    width: auto !important;
    min-height: 1rem !important;
}

.theme-json-details summary {
    cursor: pointer;
    font-weight: 900;
    margin-bottom: .55rem;
}

.theme-effect-row {
    grid-template-columns: minmax(10rem, 1fr) minmax(12rem, 1.5fr) auto;
}

.theme-asset-form select,
.theme-asset-form input,
.theme-asset-form textarea {
    min-height: 3.05rem;
}

@media (max-width: 900px) {
    .theme-option-grid,
    .theme-chip-grid {
        grid-template-columns: 1fr;
    }
    .theme-asset-preview {
        grid-template-columns: 1fr;
    }
}

/* Runtime custom theme assets selected from the admin theme panel. */
html[data-theme-background] body::before {
    opacity: .24;
}

html[data-theme-background="none"] body::before {
    opacity: .18;
}

html[data-theme-background="candy"] body {
    background: radial-gradient(circle at 12% 18%, rgba(255,112,214,.32), transparent 22rem), radial-gradient(circle at 82% 16%, rgba(255,214,102,.28), transparent 22rem), linear-gradient(135deg, #fff3fb, #ffe0f0 48%, #e8fbff);
}
html[data-theme-background="candy"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='220' viewBox='0 0 260 220'%3E%3Crect width='260' height='220' fill='none'/%3E%3Cg opacity='.45' stroke='%23271b48' stroke-width='3'%3E%3Ccircle cx='58' cy='58' r='28' fill='%23ff70d6'/%3E%3Cpath d='M58 86v58'/%3E%3Cpath d='M38 58c12-16 28-16 40 0s28 16 40 0' fill='none'/%3E%3Crect x='155' y='100' width='62' height='38' rx='12' fill='%23ffe66d'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="gothic"] body {
    background: radial-gradient(circle at 15% 14%, rgba(120,72,170,.32), transparent 20rem), radial-gradient(circle at 84% 16%, rgba(0,0,0,.38), transparent 24rem), linear-gradient(135deg, #070611, #15112b 52%, #050307);
}
html[data-theme-background="gothic"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='240' viewBox='0 0 300 240'%3E%3Crect width='300' height='240' fill='none'/%3E%3Cg opacity='.35' fill='%23d7c2ff'%3E%3Cpath d='M45 72c25-30 42 5 64-20-4 35-34 48-64 20z'/%3E%3Ccircle cx='215' cy='58' r='25'/%3E%3Cpath d='M210 58a25 25 0 0 0 30 24 31 31 0 1 1-30-24z' fill='%23070611'/%3E%3Cpath d='M155 170h68v16h-68zM170 132h38v38h-38z'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="sewer"] body {
    background: radial-gradient(circle at 50% 16%, rgba(73,166,120,.25), transparent 20rem), linear-gradient(135deg, #07140f, #142822 55%, #070b0a);
}
html[data-theme-background="sewer"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Crect width='320' height='220' fill='none'/%3E%3Cg opacity='.34' fill='none' stroke='%237cf5a6' stroke-width='4'%3E%3Cpath d='M20 170c52-80 228-80 280 0'/%3E%3Cpath d='M55 170c38-48 172-48 210 0'/%3E%3Cpath d='M20 172h280M78 80h62M180 80h62M104 118h112'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="ocean"] body {
    background: radial-gradient(circle at 16% 14%, rgba(38,211,255,.32), transparent 22rem), radial-gradient(circle at 80% 20%, rgba(0,128,255,.22), transparent 24rem), linear-gradient(135deg, #062033, #064c78 55%, #03111d);
}
html[data-theme-background="ocean"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Crect width='320' height='220' fill='none'/%3E%3Cg opacity='.4' fill='none' stroke='%23b8f7ff' stroke-width='4'%3E%3Cpath d='M0 70c40 30 80-30 120 0s80 30 120 0 80-30 120 0'/%3E%3Cpath d='M0 140c40 30 80-30 120 0s80 30 120 0 80-30 120 0'/%3E%3Ccircle cx='80' cy='112' r='12'/%3E%3Ccircle cx='230' cy='48' r='8'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="clouds"] body {
    background: radial-gradient(circle at 20% 12%, rgba(255,255,255,.42), transparent 20rem), linear-gradient(135deg, #c9efff, #8fd3ff 52%, #f6fbff);
}
html[data-theme-background="clouds"] body::before,
html[data-theme-background="heaven"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Crect width='320' height='220' fill='none'/%3E%3Cg opacity='.46' fill='%23ffffff' stroke='%2379a8ff' stroke-width='3'%3E%3Cpath d='M45 130c-20 0-24-28-4-34 4-24 40-32 54-8 22-6 42 8 42 30 0 15-12 26-28 26H45z'/%3E%3Cpath d='M190 78c-16 0-19-22-3-28 5-22 36-25 48-7 18-4 34 8 34 25 0 13-10 23-24 23h-55z'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="heaven"] body {
    background: radial-gradient(circle at 20% 12%, rgba(255,255,255,.55), transparent 19rem), radial-gradient(circle at 80% 20%, rgba(255,232,128,.35), transparent 20rem), linear-gradient(135deg, #fff9df, #dff1ff 52%, #fff);
}
html[data-theme-background="hell"] body,
html[data-theme-background="fire"] body {
    background: radial-gradient(circle at 20% 18%, rgba(255,94,0,.34), transparent 20rem), radial-gradient(circle at 80% 12%, rgba(255,0,0,.24), transparent 22rem), linear-gradient(135deg, #160400, #3b0900 55%, #090100);
}
html[data-theme-background="hell"] body::before,
html[data-theme-background="fire"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='220' viewBox='0 0 280 220'%3E%3Crect width='280' height='220' fill='none'/%3E%3Cg opacity='.42' fill='%23ffb000' stroke='%23ff3b00' stroke-width='3'%3E%3Cpath d='M50 180c-12-42 30-50 18-96 38 34 16 60 48 96z'/%3E%3Cpath d='M165 185c-18-54 42-62 24-122 52 48 20 76 66 122z'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="forest"] body {
    background: radial-gradient(circle at 16% 14%, rgba(75,220,110,.24), transparent 22rem), linear-gradient(135deg, #061a0c, #123b1e 52%, #061009);
}
html[data-theme-background="forest"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='220' viewBox='0 0 260 220'%3E%3Crect width='260' height='220' fill='none'/%3E%3Cg opacity='.38' fill='%2382f58b' stroke='%23051a0a' stroke-width='3'%3E%3Cpath d='M60 35l36 70H24zM60 78l44 78H16zM190 28l40 78h-80zM190 80l50 90H140z'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="money"] body {
    background: radial-gradient(circle at 18% 16%, rgba(45,255,120,.28), transparent 20rem), radial-gradient(circle at 80% 18%, rgba(255,221,67,.25), transparent 22rem), linear-gradient(135deg, #03130a, #12351c 52%, #080f08);
}
html[data-theme-background="money"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='220' viewBox='0 0 280 220'%3E%3Crect width='280' height='220' fill='none'/%3E%3Cg opacity='.42' fill='%237dff9d' stroke='%23062610' stroke-width='4'%3E%3Crect x='35' y='48' width='92' height='48' rx='8'/%3E%3Ccircle cx='81' cy='72' r='14' fill='%23ffe55c'/%3E%3Crect x='168' y='120' width='76' height='46' rx='8'/%3E%3Ctext x='73' y='80' font-size='24' font-family='Arial' fill='%23062610'%3E$%3C/text%3E%3C/g%3E%3C/svg%3E");
}

/* Attribute-based cursors so custom DB themes can use the same cursor library as config themes. */
html[data-theme-cursor="default"], html[data-theme-cursor="default"] * { cursor: auto; }
html[data-theme-cursor="pixel"], html[data-theme-cursor="pixel"] *,
html[data-theme-cursor="retro-arcade"], html[data-theme-cursor="retro-arcade"] *,
html[data-theme-cursor="joystick"], html[data-theme-cursor="joystick"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ff5dad' stroke='%23271b48' stroke-width='2.5' d='M4 3L29 16L19 20L24 32L17 34L13 22L5 29Z'/%3E%3Crect x='22' y='5' width='8' height='8' rx='2' fill='%23ffdc4f' stroke='%23271b48' stroke-width='2'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="rocket"], html[data-theme-cursor="rocket"] *,
html[data-theme-cursor="spark"], html[data-theme-cursor="spark"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%239d7cff' stroke='%2300e7ff' stroke-width='2.4' d='M5 31C8 21 14 10 28 4C26 18 15 27 5 31Z'/%3E%3Cpath fill='%23ffef77' d='M9 27L3 33L15 30Z'/%3E%3Ccircle cx='24' cy='9' r='4' fill='%23fff7ff'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="terminal"], html[data-theme-cursor="terminal"] *,
html[data-theme-cursor="terminal-prompt"], html[data-theme-cursor="terminal-prompt"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Crect x='3' y='5' width='28' height='24' rx='3' fill='%23071108' stroke='%2344ff77' stroke-width='2.5'/%3E%3Cpath d='M9 13L14 18L9 23M17 23L27 23' fill='none' stroke='%23b6ff00' stroke-width='2.8' stroke-linecap='round'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="clean-pencil"], html[data-theme-cursor="clean-pencil"] *,
html[data-theme-cursor="pencil"], html[data-theme-cursor="pencil"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%232563eb' stroke='%231e293b' stroke-width='2' d='M6 4L28 18L20 20L24 31L18 33L14 22L7 28Z'/%3E%3Cpath d='M22 6L31 15' stroke='%2310b981' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="emoji"], html[data-theme-cursor="emoji"] *,
html[data-theme-cursor="disco"], html[data-theme-cursor="disco"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='16' r='10' fill='%23ff5dad' stroke='%23271b48' stroke-width='2.4'/%3E%3Cpath d='M10 16H26M18 6V26M12 9L24 23M24 9L12 23' stroke='%23fff8c8' stroke-width='1.4'/%3E%3Cpath d='M18 26L18 34' stroke='%23271b48' stroke-width='2.4'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="carrot"], html[data-theme-cursor="carrot"] *,
html[data-theme-cursor="bunny"], html[data-theme-cursor="bunny"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ff8c2a' stroke='%23321a35' stroke-width='2' d='M8 6L29 14L16 32Z'/%3E%3Cpath d='M18 8C17 4 18 2 22 1M20 9C23 5 26 5 29 7' fill='none' stroke='%234fc36b' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="lightning"], html[data-theme-cursor="lightning"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23fee75c' stroke='%230b1024' stroke-width='2.4' d='M19 2L6 20H17L14 34L30 13H19Z'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="diamond"], html[data-theme-cursor="diamond"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%2328f7ff' stroke='%23ff38d1' stroke-width='2.5' d='M18 3L32 14L18 33L4 14Z'/%3E%3Cpath d='M4 14H32M11 14L18 33M25 14L18 33M11 14L18 3L25 14' fill='none' stroke='%23fff04a' stroke-width='1.7'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="planet"], html[data-theme-cursor="planet"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='10' fill='%237c5cff' stroke='%2300e0ff' stroke-width='2.3'/%3E%3Cellipse cx='18' cy='18' rx='16' ry='6' fill='none' stroke='%23ffd166' stroke-width='2.2' transform='rotate(-22 18 18)'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="crown"], html[data-theme-cursor="crown"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ffd700' stroke='%23181000' stroke-width='2.4' d='M5 28L7 10L14 20L18 8L23 20L30 10L31 28Z'/%3E%3Ccircle cx='18' cy='8' r='3' fill='%23f72585'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="brush"], html[data-theme-cursor="brush"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%2300f5d4' stroke='%2306141b' stroke-width='2.2' d='M9 4L25 20L17 28L2 12Z'/%3E%3Cpath d='M23 18L33 28C34 29 34 31 32 33C30 35 28 35 27 33L18 23' fill='%23fee440' stroke='%2306141b' stroke-width='2'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="ocean"], html[data-theme-cursor="ocean"] *,
html[data-theme-cursor="gothic"], html[data-theme-cursor="gothic"] *,
html[data-theme-cursor="candy"], html[data-theme-cursor="candy"] *,
html[data-theme-cursor="fire"], html[data-theme-cursor="fire"] *,
html[data-theme-cursor="cloud"], html[data-theme-cursor="cloud"] * { cursor: crosshair; }

html[data-theme] input,
html[data-theme] textarea,
html[data-theme] [contenteditable="true"] { cursor: text; }
html[data-theme] select,
html[data-theme] button,
html[data-theme] .button,
html[data-theme] a,
html[data-theme] summary,
html[data-theme] [data-copy-text] { cursor: pointer; }

/* Extra preset backgrounds available to DB-created themes. */
html[data-theme-background="arcade"] body {
    background: radial-gradient(circle at 12% 16%, rgba(255,93,173,.26), transparent 20rem), radial-gradient(circle at 82% 18%, rgba(0,231,255,.22), transparent 22rem), linear-gradient(135deg, #100727, #17104a 52%, #050616);
}
html[data-theme-background="arcade"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='220' viewBox='0 0 280 220'%3E%3Crect width='280' height='220' fill='none'/%3E%3Cg opacity='.38' fill='none' stroke='%23ff5dad' stroke-width='4'%3E%3Crect x='38' y='48' width='76' height='98' rx='12'/%3E%3Ccircle cx='76' cy='82' r='20'/%3E%3Cpath d='M55 124h42M76 106v36M55 124h42M184 48h56M184 82h56M184 116h56'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="planets"] body,
html[data-theme-background="orbit"] body {
    background: radial-gradient(circle at 16% 16%, rgba(124,92,255,.32), transparent 20rem), radial-gradient(circle at 84% 18%, rgba(0,231,255,.2), transparent 24rem), linear-gradient(135deg, #060919, #10173a 50%, #040512);
}
html[data-theme-background="planets"] body::before,
html[data-theme-background="orbit"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Crect width='320' height='220' fill='none'/%3E%3Cg opacity='.42' fill='none' stroke='%23c8f7ff' stroke-width='3'%3E%3Ccircle cx='84' cy='82' r='30' fill='%237c5cff'/%3E%3Cellipse cx='84' cy='82' rx='52' ry='14' transform='rotate(-18 84 82)'/%3E%3Ccircle cx='235' cy='132' r='22' fill='%23ff5dad'/%3E%3Cpath d='M20 185h280'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="terminal"] body {
    background: radial-gradient(circle at 12% 14%, rgba(68,255,119,.22), transparent 19rem), linear-gradient(135deg, #031006, #081b10 55%, #010603);
}
html[data-theme-background="terminal"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Crect width='320' height='220' fill='none'/%3E%3Cg opacity='.38' fill='none' stroke='%2344ff77' stroke-width='3'%3E%3Cpath d='M40 58h92M40 94h150M40 130h76M170 166h92M28 42l22 22-22 22'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme-background="blueprint"] body {
    background: radial-gradient(circle at 16% 15%, rgba(37,99,235,.2), transparent 18rem), linear-gradient(135deg, #eef7ff, #dceeff 52%, #f8fbff);
}
html[data-theme-background="blueprint"] body::before {
    background-image: linear-gradient(rgba(37,99,235,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(37,99,235,.18) 1px, transparent 1px);
    background-size: 44px 44px;
}
html[data-theme-background="confetti"] body {
    background: radial-gradient(circle at 16% 16%, rgba(255,93,173,.28), transparent 22rem), radial-gradient(circle at 84% 18%, rgba(255,230,109,.24), transparent 22rem), linear-gradient(135deg, #2a164a, #10183f 52%, #0b0d21);
}
html[data-theme-background="confetti"] body::before {
    background-image: radial-gradient(circle at 12px 18px, rgba(255,93,173,.75) 0 5px, transparent 6px), radial-gradient(circle at 58px 44px, rgba(255,230,109,.72) 0 4px, transparent 5px), radial-gradient(circle at 95px 22px, rgba(0,231,255,.68) 0 5px, transparent 6px);
    background-size: 130px 90px;
}
html[data-theme-background="bunny"] body {
    background: radial-gradient(circle at 16% 15%, rgba(120,255,170,.25), transparent 21rem), radial-gradient(circle at 82% 17%, rgba(255,140,42,.22), transparent 22rem), linear-gradient(135deg, #091b0d, #14351b 52%, #050c06);
}
html[data-theme-background="lightning"] body {
    background: radial-gradient(circle at 20% 17%, rgba(254,231,92,.28), transparent 20rem), radial-gradient(circle at 84% 18%, rgba(87,255,137,.22), transparent 22rem), linear-gradient(135deg, #071029, #111a43 52%, #030713);
}
html[data-theme-background="diamonds"] body {
    background: radial-gradient(circle at 18% 16%, rgba(40,247,255,.25), transparent 21rem), radial-gradient(circle at 82% 18%, rgba(255,56,209,.22), transparent 22rem), linear-gradient(135deg, #090724, #181443 52%, #04020c);
}
html[data-theme-background="crowns"] body {
    background: radial-gradient(circle at 18% 16%, rgba(255,215,0,.25), transparent 22rem), radial-gradient(circle at 82% 18%, rgba(255,93,173,.16), transparent 20rem), linear-gradient(135deg, #160d00, #2d1b05 52%, #090500);
}
html[data-theme-background="lab"] body {
    background: radial-gradient(circle at 17% 16%, rgba(0,245,212,.24), transparent 21rem), radial-gradient(circle at 82% 18%, rgba(254,228,64,.18), transparent 22rem), linear-gradient(135deg, #06141b, #102c35 52%, #030a0e);
}

/* Theme admin preview box background samples. */
.theme-asset-preview[data-theme-background="arcade"] { background: radial-gradient(circle at 15% 22%, rgba(255,93,173,.22), transparent 7rem), linear-gradient(135deg, rgba(16,7,39,.95), rgba(23,16,74,.9)); }
.theme-asset-preview[data-theme-background="planets"],
.theme-asset-preview[data-theme-background="orbit"] { background: radial-gradient(circle at 12% 22%, rgba(124,92,255,.28), transparent 7rem), radial-gradient(circle at 84% 22%, rgba(0,231,255,.2), transparent 7rem), linear-gradient(135deg, rgba(6,9,25,.95), rgba(16,23,58,.9)); }
.theme-asset-preview[data-theme-background="terminal"] { background: linear-gradient(135deg, rgba(3,16,6,.95), rgba(8,27,16,.9)); color: #caffd7; }
.theme-asset-preview[data-theme-background="blueprint"] { background: linear-gradient(135deg, rgba(238,247,255,.95), rgba(220,238,255,.9)); color: #14335f; }
.theme-asset-preview[data-theme-background="confetti"] { background: radial-gradient(circle at 16px 22px, rgba(255,93,173,.75) 0 5px, transparent 6px), radial-gradient(circle at 64px 52px, rgba(255,230,109,.7) 0 4px, transparent 5px), linear-gradient(135deg, rgba(42,22,74,.94), rgba(16,24,63,.9)); }
.theme-asset-preview[data-theme-background="candy"] { background: linear-gradient(135deg, rgba(255,243,251,.95), rgba(255,224,240,.9)); color: #351449; }
.theme-asset-preview[data-theme-background="gothic"] { background: linear-gradient(135deg, rgba(7,6,17,.96), rgba(21,17,43,.92)); color: #f0e9ff; }
.theme-asset-preview[data-theme-background="ocean"] { background: linear-gradient(135deg, rgba(6,32,51,.96), rgba(6,76,120,.9)); color: #e7fbff; }
.theme-asset-preview[data-theme-background="clouds"],
.theme-asset-preview[data-theme-background="heaven"] { background: linear-gradient(135deg, rgba(201,239,255,.95), rgba(255,249,223,.9)); color: #163450; }
.theme-asset-preview[data-theme-background="hell"],
.theme-asset-preview[data-theme-background="fire"] { background: linear-gradient(135deg, rgba(22,4,0,.96), rgba(59,9,0,.92)); color: #fff0d8; }
.theme-asset-preview[data-theme-background="forest"],
.theme-asset-preview[data-theme-background="bunny"] { background: linear-gradient(135deg, rgba(6,26,12,.96), rgba(18,59,30,.92)); color: #efffed; }
.theme-asset-preview[data-theme-background="money"] { background: linear-gradient(135deg, rgba(3,19,10,.96), rgba(18,53,28,.92)); color: #eaffe7; }
.theme-asset-preview[data-theme-background="lightning"] { background: linear-gradient(135deg, rgba(7,16,41,.96), rgba(17,26,67,.92)); color: #fff8be; }
.theme-asset-preview[data-theme-background="diamonds"] { background: linear-gradient(135deg, rgba(9,7,36,.96), rgba(24,20,67,.92)); color: #eafeff; }
.theme-asset-preview[data-theme-background="crowns"] { background: linear-gradient(135deg, rgba(22,13,0,.96), rgba(45,27,5,.92)); color: #fff4bc; }
.theme-asset-preview[data-theme-background="lab"] { background: linear-gradient(135deg, rgba(6,20,27,.96), rgba(16,44,53,.92)); color: #e9fffb; }

/* v24 profile card click cleanup
   Removes tiny inline action links from profile containers and makes the cards themselves navigate. */
.profile-hero .hero-actions {
    margin-bottom: 1.25rem;
}

.profile-workspace {
    margin-top: 1.35rem;
}

.profile-link-card[data-card-href] {
    cursor: pointer;
    position: relative;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.profile-link-card[data-card-href]:hover,
.profile-link-card[data-card-href]:focus-visible {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--accent) 68%, rgba(255,255,255,.28));
    box-shadow: 0 18px 38px rgba(0,0,0,.18);
    outline: none;
}

.profile-link-card[data-card-href]:focus-visible::after {
    content: '';
    position: absolute;
    inset: .45rem;
    border-radius: calc(var(--radius) - .45rem);
    border: 2px solid var(--accent);
    pointer-events: none;
}

.profile-link-card .section-head a {
    display: none !important;
}

.profile-link-card .section-head .status-pill {
    pointer-events: none;
}

.profile-link-card .list-row,
.profile-link-card .plain-list-row,
.profile-link-card .friend-preview-card {
    position: relative;
    z-index: 1;
}

.profile-link-card a[href],
.profile-link-card button,
.profile-link-card input,
.profile-link-card select,
.profile-link-card textarea {
    position: relative;
    z-index: 2;
}


/* v25 game lobby unified room-code workspace */
.game-lobby-workspace {
    margin-top: 1.25rem;
}

.game-lobby-tab-content {
    display: grid;
    gap: 1rem;
}

.room-join-form,
.game-create-form {
    max-width: 100%;
}

.room-browser-controls {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, .8fr));
    gap: .85rem;
    align-items: end;
    margin: 1rem 0;
}

.room-browser-controls label,
.game-create-form label {
    min-width: 0;
}

.room-browser-list {
    display: grid;
    gap: .8rem;
    max-height: min(54vh, 34rem);
}

.room-browser-card {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(210px, .9fr) auto;
    gap: .85rem;
    align-items: center;
    padding: .9rem;
    border: var(--border);
    border-radius: 1.15rem;
    background:
        radial-gradient(circle at 5% 15%, color-mix(in srgb, var(--brand-2) 16%, transparent), transparent 7rem),
        color-mix(in srgb, var(--panel-strong) 82%, transparent);
    box-shadow: 0 10px 24px rgba(18, 12, 40, .12);
}

.room-browser-main {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.room-browser-main h3 {
    margin: 0;
    font-size: 1.2rem;
}

.room-browser-main p {
    margin: .2rem 0 0;
    color: var(--muted);
}

.room-game-icon {
    width: 3rem;
    height: 3rem;
    flex: 0 0 3rem;
    display: grid;
    place-items: center;
    border-radius: 1rem;
    background: linear-gradient(135deg, var(--brand), var(--brand-2));
    box-shadow: 0 5px 0 rgba(0,0,0,.16);
    font-size: 1.35rem;
}

.room-browser-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-start;
}

.room-browser-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: .3rem .6rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
    background: color-mix(in srgb, var(--panel) 75%, transparent);
    color: var(--ink);
    font-weight: 900;
    font-size: .84rem;
}

.room-browser-myrooms {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--line) 75%, transparent);
}

.room-browser-myrooms h3 {
    margin-top: 0;
}

.room-empty {
    padding: 1.25rem;
    border: var(--border);
    border-radius: 1.15rem;
    background: color-mix(in srgb, var(--panel-strong) 74%, transparent);
}

.game-create-form .grid.two {
    align-items: end;
}

.game-create-form [hidden] {
    display: none !important;
}

@media (max-width: 1050px) {
    .room-browser-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .room-browser-card {
        grid-template-columns: 1fr;
    }
    .room-browser-card form .button {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .room-browser-controls {
        grid-template-columns: 1fr;
    }
}


/* v26 basic bunny visual refresh + theme picker readability + top-bar spacing */
html[data-theme="basic-bunny"] {
    --bunny-soil-1: #7d4b32;
    --bunny-soil-2: #925a3d;
    --bunny-green-1: #5aa34a;
    --bunny-green-2: #85c95f;
    --bunny-sky-1: #fef5fb;
    --bunny-sky-2: #ffe2ef;
}

html[data-theme="basic-bunny"] body,
html[data-theme-background="carrot-field"] body {
    background:
        radial-gradient(circle at 12% 10%, rgba(255,255,255,.76), transparent 20rem),
        radial-gradient(circle at 86% 14%, rgba(255,208,228,.58), transparent 18rem),
        linear-gradient(180deg, #ffeef6 0 34%, #f3d88f 34% 44%, #8fca63 44% 54%, #805038 54% 100%);
}

html[data-theme="basic-bunny"] body::before,
html[data-theme-background="carrot-field"] body::before {
    background-image:
        url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22420%22%20height=%22300%22%20viewBox=%220%200%20420%20300%22%3E%0A%3Crect%20width=%22420%22%20height=%22300%22%20fill=%22none%22/%3E%0A%3Cg%20opacity=%22.28%22%3E%0A%20%20%3Cpath%20d=%22M0%20148C52%20116%20106%20106%20160%20128C205%20146%20256%20142%20310%20116C354%2096%20389%2090%20420%2098V300H0Z%22%20fill=%22#82c95f%22/%3E%0A%20%20%3Cpath%20d=%22M0%20172C55%20144%20118%20150%20176%20178C224%20200%20280%20192%20341%20162C373%20146%20398%20138%20420%20142V300H0Z%22%20fill=%22#64a644%22/%3E%0A%3C/g%3E%0A%3Cg%20opacity=%22.34%22%20stroke=%22#845239%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%3E%0A%20%20%3Cpath%20d=%22M28%20222C58%20202%2092%20196%20128%20212%22/%3E%0A%20%20%3Cpath%20d=%22M72%20268C108%20242%20148%20234%20192%20252%22/%3E%0A%20%20%3Cpath%20d=%22M174%20218C210%20196%20244%20192%20290%20210%22/%3E%0A%20%20%3Cpath%20d=%22M236%20270C272%20242%20316%20238%20362%20258%22/%3E%0A%20%20%3Cpath%20d=%22M300%20218C332%20200%20364%20198%20394%20212%22/%3E%0A%3C/g%3E%0A%3Cg%20opacity=%22.50%22%3E%0A%20%20%3Cg%20transform=%22translate(36%20170)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(124%20194)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(226%20168)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(320%20196)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%3C/g%3E%0A%3Cg%20opacity=%22.38%22%3E%0A%20%20%3Cg%20transform=%22translate(90%20114)%20rotate(-14)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M20%2024L70%2046L38%20108Z%22%20fill=%22#f69436%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M42%2022C45%2010%2055%208%2063%2014M33%2018C32%208%2040%202%2049%207%22%20fill=%22none%22%20stroke=%22#6ebf57%22%20stroke-width=%226%22%20stroke-linecap=%22round%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(272%20102)%20rotate(16)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M20%2024L70%2046L38%20108Z%22%20fill=%22#f69436%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M42%2022C45%2010%2055%208%2063%2014M33%2018C32%208%2040%202%2049%207%22%20fill=%22none%22%20stroke=%22#6ebf57%22%20stroke-width=%226%22%20stroke-linecap=%22round%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Ccircle%20cx=%22118%22%20cy=%22203%22%20r=%2215%22%20fill=%22#6f402c%22/%3E%0A%20%20%3Ccircle%20cx=%22301%22%20cy=%22214%22%20r=%2216%22%20fill=%22#6f402c%22/%3E%0A%3C/g%3E%0A%3C/svg%3E");
    background-size: 520px auto;
    opacity: .92;
}

html[data-theme="basic-bunny"] body::after,
html[data-theme-background="carrot-field"] body::after {
    content: "";
    position: fixed;
    inset: auto 0 0 0;
    height: 26vh;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(circle at 12% 20%, rgba(132, 201, 95, .55), transparent 8rem),
        radial-gradient(circle at 38% 18%, rgba(107, 178, 73, .48), transparent 8rem),
        radial-gradient(circle at 62% 26%, rgba(132, 201, 95, .55), transparent 9rem),
        radial-gradient(circle at 84% 22%, rgba(107, 178, 73, .48), transparent 9rem),
        linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.05));
}

.theme-asset-preview[data-theme-background="carrot-field"] {
    background:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,.5), transparent 4rem),
        linear-gradient(180deg, #ffeef6 0 38%, #f3d88f 38% 50%, #84c95f 50% 62%, #87523a 62% 100%);
    color: #3d2031;
}

.theme-asset-preview[data-theme-background="carrot-field"]::after {
    content: "🥕  🐇  🥕";
    position: absolute;
    left: 1rem;
    bottom: .8rem;
    font-size: 1.35rem;
    letter-spacing: .32rem;
    opacity: .95;
}

.compact-theme-picker {
    padding: .28rem .4rem;
    gap: .5rem;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    background: color-mix(in srgb, var(--panel-strong, rgba(255,255,255,.92)) 90%, #fff 10%);
    box-shadow: 0 8px 18px rgba(0,0,0,.08);
    backdrop-filter: blur(10px);
}

.compact-theme-picker label {
    gap: .5rem;
    color: color-mix(in srgb, var(--ink) 72%, #fff 28%);
    text-shadow: none;
}

.compact-theme-picker select {
    min-width: 156px;
    padding: .44rem 2rem .44rem .8rem;
    border: 1px solid color-mix(in srgb, var(--ink) 14%, transparent);
    background: color-mix(in srgb, var(--panel, rgba(255,255,255,.95)) 94%, #fff 6%);
    color: var(--ink);
    font-weight: 800;
    text-shadow: none;
}

.compact-theme-picker select option {
    background: #fff;
    color: #1a1330;
}

.compact-header .site-search {
    width: min(100%, 360px);
    grid-template-columns: minmax(148px, 1fr) minmax(104px, 132px) auto;
    gap: .55rem;
}

.compact-header .site-search input,
.compact-header .site-search select,
.compact-header .site-search button {
    box-shadow: 0 4px 12px rgba(0,0,0,.05);
}

.emoji-rain.is-bunny-drop {
    opacity: 1;
    font-size: clamp(1.8rem, 2vw, 2.9rem);
    filter: drop-shadow(0 8px 10px rgba(0,0,0,.18));
}

.emoji-rain.is-bunny-drop.is-grey-bunny {
    filter: grayscale(1) saturate(.1) brightness(1.2) drop-shadow(0 8px 10px rgba(0,0,0,.16));
}

html[data-theme="basic-bunny"] .panel,
html[data-theme="basic-bunny"] .card,
html[data-theme="basic-bunny"] .shop-card,
html[data-theme="basic-bunny"] .profile-block {
    border-color: rgba(111, 73, 48, .14);
    box-shadow: 0 16px 28px rgba(87, 56, 37, .09);
}

/* v30 theme admin search, collapsible cards, and try-theme preview */
.theme-admin-search-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: .75rem;
    align-items: end;
    margin-bottom: 1rem;
}
.theme-admin-search-row label {
    margin: 0;
}
.theme-admin-search-row input[type="search"] {
    min-height: 44px;
    border-radius: 999px;
    padding-inline: 1rem;
    background: color-mix(in srgb, var(--panel-strong, #fff) 94%, #fff 6%);
    color: var(--ink);
}
.theme-admin-title-card {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: .85rem;
    align-items: center;
    text-align: left;
    border: var(--border);
    border-radius: calc(var(--radius) - .25rem);
    background: linear-gradient(135deg, color-mix(in srgb, var(--panel-strong, #fff) 92%, #fff 8%), color-mix(in srgb, var(--panel, #fff) 88%, var(--brand-2) 12%));
    color: var(--ink);
    box-shadow: 0 8px 18px rgba(0,0,0,.06);
    padding: .9rem 1rem;
    cursor: pointer;
}
.theme-admin-title-card:hover,
.theme-admin-title-card:focus-visible {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--brand) 55%, transparent);
}
.theme-admin-title-icon {
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    border-radius: 1rem;
    background: linear-gradient(135deg, var(--brand-3), var(--brand-2));
    box-shadow: 0 5px 0 rgba(0,0,0,.1);
    font-size: 1.45rem;
}
.theme-admin-title-copy {
    min-width: 0;
    display: grid;
    gap: .15rem;
}
.theme-admin-title-copy strong,
.theme-admin-title-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.theme-admin-title-copy small {
    color: var(--muted);
    font-weight: 800;
}
.theme-admin-toggle-hint {
    color: var(--muted);
    font-size: .85rem;
    font-weight: 900;
}
.theme-admin-card.is-open .theme-admin-title-card,
.theme-admin-card:has([data-theme-card-body]:not([hidden])) .theme-admin-title-card {
    border-color: var(--accent);
    box-shadow: var(--shadow);
}
.theme-admin-card-body {
    margin-top: 1rem;
}
.theme-admin-card-body[hidden] {
    display: none !important;
}
.theme-admin-actions {
    align-items: center;
    justify-content: flex-start;
    margin-top: .5rem;
}
.theme-try-banner {
    position: fixed;
    left: 50%;
    bottom: 1rem;
    transform: translateX(-50%);
    z-index: 100000;
    width: min(680px, calc(100vw - 2rem));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    padding: .85rem 1rem;
    border: var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--panel-strong, #fff) 94%, #fff 6%);
    color: var(--ink);
    box-shadow: 0 16px 40px rgba(0,0,0,.24);
}
.theme-try-banner strong {
    font-weight: 1000;
}
.theme-try-banner span {
    color: var(--muted);
    font-size: .9rem;
    font-weight: 800;
}
body.is-theme-try-preview .theme-try-banner {
    animation: themeTryIn .18s ease-out both;
}
@keyframes themeTryIn {
    from { opacity: 0; transform: translateX(-50%) translateY(16px); }
    to { opacity: 1; transform: translateX(-50%) translateY(0); }
}
@media (max-width: 760px) {
    .theme-admin-search-row {
        grid-template-columns: 1fr;
    }
    .theme-admin-title-card {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .theme-admin-title-card .tiny-badge,
    .theme-admin-toggle-hint {
        grid-column: 2;
    }
    .theme-try-banner {
        align-items: stretch;
        flex-direction: column;
        border-radius: 1.25rem;
    }
}


/* v31 final background precedence repair.
   Background presets must win over older theme-specific background blocks. */
html[data-theme-background]:not([data-theme-background="none"]) body::before {
    background-repeat: repeat !important;
    mix-blend-mode: normal !important;
}

html[data-theme-background="arcade"] body {
    background: radial-gradient(circle at 14% 14%, rgba(255,93,173,.35), transparent 19rem), radial-gradient(circle at 86% 18%, rgba(35,215,255,.25), transparent 21rem), linear-gradient(135deg, #160727, #23104a 52%, #100719) !important;
}
html[data-theme-background="planets"] body,
html[data-theme-background="orbit"] body {
    background: radial-gradient(circle at 16% 17%, rgba(124,92,255,.42), transparent 20rem), radial-gradient(circle at 84% 18%, rgba(0,231,255,.25), transparent 22rem), linear-gradient(135deg, #060919, #10173a 52%, #040512) !important;
}
html[data-theme-background="terminal"] body {
    background: radial-gradient(circle at 12% 14%, rgba(68,255,119,.22), transparent 19rem), linear-gradient(135deg, #031006, #081b10 55%, #010603) !important;
}
html[data-theme-background="blueprint"] body {
    background: radial-gradient(circle at 16% 15%, rgba(37,99,235,.2), transparent 18rem), linear-gradient(135deg, #eef7ff, #dceeff 52%, #f8fbff) !important;
}
html[data-theme-background="confetti"] body {
    background: radial-gradient(circle at 16% 16%, rgba(255,93,173,.28), transparent 22rem), radial-gradient(circle at 84% 18%, rgba(255,230,109,.24), transparent 22rem), linear-gradient(135deg, #2a164a, #10183f 52%, #0b0d21) !important;
}
html[data-theme-background="bunny"] body {
    background: radial-gradient(circle at 16% 15%, rgba(120,255,170,.25), transparent 21rem), radial-gradient(circle at 82% 17%, rgba(255,140,42,.22), transparent 22rem), linear-gradient(135deg, #091b0d, #14351b 52%, #050c06) !important;
}
html[data-theme-background="lightning"] body {
    background: radial-gradient(circle at 20% 17%, rgba(254,231,92,.28), transparent 20rem), radial-gradient(circle at 84% 18%, rgba(87,255,137,.22), transparent 22rem), linear-gradient(135deg, #071029, #111a43 52%, #030713) !important;
}
html[data-theme-background="diamonds"] body {
    background: radial-gradient(circle at 18% 16%, rgba(40,247,255,.25), transparent 21rem), radial-gradient(circle at 82% 18%, rgba(255,56,209,.22), transparent 22rem), linear-gradient(135deg, #090724, #181443 52%, #04020c) !important;
}
html[data-theme-background="crowns"] body {
    background: radial-gradient(circle at 18% 16%, rgba(255,215,0,.25), transparent 22rem), radial-gradient(circle at 82% 18%, rgba(255,93,173,.16), transparent 20rem), linear-gradient(135deg, #160d00, #2d1b05 52%, #090500) !important;
}
html[data-theme-background="lab"] body {
    background: radial-gradient(circle at 17% 16%, rgba(0,245,212,.24), transparent 21rem), radial-gradient(circle at 82% 18%, rgba(254,228,64,.18), transparent 22rem), linear-gradient(135deg, #06141b, #102c35 52%, #030a0e) !important;
}
html[data-theme-background="candy"] body {
    background: radial-gradient(circle at 16% 16%, rgba(255,130,202,.35), transparent 20rem), radial-gradient(circle at 82% 22%, rgba(255,226,96,.25), transparent 19rem), linear-gradient(135deg, #fff3fb, #ffe0f0 52%, #e9f7ff) !important;
}
html[data-theme-background="gothic"] body {
    background: radial-gradient(circle at 14% 12%, rgba(111,66,193,.35), transparent 20rem), radial-gradient(circle at 84% 20%, rgba(40,20,70,.45), transparent 22rem), linear-gradient(135deg, #070611, #15112b 52%, #020207) !important;
}
html[data-theme-background="sewer"] body {
    background: radial-gradient(circle at 18% 16%, rgba(103,143,74,.24), transparent 20rem), linear-gradient(135deg, #07120a, #24301f 52%, #0b1208) !important;
}
html[data-theme-background="ocean"] body {
    background: radial-gradient(circle at 16% 15%, rgba(44,213,255,.28), transparent 21rem), radial-gradient(circle at 84% 18%, rgba(0,103,170,.28), transparent 22rem), linear-gradient(135deg, #062033, #064c78 52%, #03101b) !important;
}
html[data-theme-background="clouds"] body,
html[data-theme-background="heaven"] body {
    background: radial-gradient(circle at 18% 16%, rgba(255,255,255,.72), transparent 20rem), radial-gradient(circle at 84% 18%, rgba(255,239,175,.35), transparent 20rem), linear-gradient(135deg, #c9efff, #edf8ff 52%, #fff9df) !important;
}
html[data-theme-background="hell"] body,
html[data-theme-background="fire"] body {
    background: radial-gradient(circle at 18% 16%, rgba(255,90,30,.28), transparent 20rem), radial-gradient(circle at 82% 18%, rgba(255,202,70,.18), transparent 22rem), linear-gradient(135deg, #160400, #3b0900 52%, #090100) !important;
}
html[data-theme-background="forest"] body {
    background: radial-gradient(circle at 16% 16%, rgba(129,219,109,.24), transparent 21rem), radial-gradient(circle at 84% 18%, rgba(41,112,61,.25), transparent 22rem), linear-gradient(135deg, #051409, #14351b 52%, #050c06) !important;
}
html[data-theme-background="money"] body {
    background: radial-gradient(circle at 15% 16%, rgba(87,242,135,.22), transparent 21rem), radial-gradient(circle at 84% 18%, rgba(254,231,92,.20), transparent 22rem), linear-gradient(135deg, #03130a, #12351c 52%, #030904) !important;
}

html[data-theme-background="carrot-field-topdown"] body,
html[data-theme="basic-bunny"][data-theme-background="carrot-field-topdown"] body,
html[data-theme="basic-bunny"][data-theme-background="none"] body,
html[data-theme="basic-bunny"]:not([data-theme-background]) body {
    background: radial-gradient(circle at 14% 10%, rgba(255,255,255,.76), transparent 18rem), radial-gradient(circle at 84% 14%, rgba(255,220,234,.58), transparent 17rem), linear-gradient(180deg, #ffeef6 0 18%, #efd2b4 18% 100%) !important;
}
html[data-theme-background="carrot-field-topdown"] body::before,
html[data-theme="basic-bunny"][data-theme-background="carrot-field-topdown"] body::before,
html[data-theme="basic-bunny"][data-theme-background="none"] body::before,
html[data-theme="basic-bunny"]:not([data-theme-background]) body::before {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22900%22%20height=%22560%22%20viewBox=%220%200%20900%20560%22%3E%0A%3Crect%20width=%22900%22%20height=%22560%22%20fill=%22none%22/%3E%0A%3Cg%20opacity=%220.95%22%3E%0A%20%20%3Cpath%20d=%22M40%2086L860%2086L822%20160L78%20160Z%22%20fill=%22#c58b63%22/%3E%0A%20%20%3Cpath%20d=%22M68%20172L832%20172L798%20246L102%20246Z%22%20fill=%22#b77b54%22/%3E%0A%20%20%3Cpath%20d=%22M96%20258L804%20258L774%20332L126%20332Z%22%20fill=%22#c58b63%22/%3E%0A%20%20%3Cpath%20d=%22M124%20344L776%20344L748%20418L152%20418Z%22%20fill=%22#b77b54%22/%3E%0A%20%20%3Cpath%20d=%22M152%20430L748%20430L722%20504L178%20504Z%22%20fill=%22#c58b63%22/%3E%0A%3C/g%3E%0A%3Cg%20opacity=%220.28%22%20fill=%22#7a4e37%22%3E%0A%20%20%3Cpath%20d=%22M42%2096L858%2096L850%20112L50%20112Z%22/%3E%0A%20%20%3Cpath%20d=%22M70%20182L830%20182L822%20198L78%20198Z%22/%3E%0A%20%20%3Cpath%20d=%22M98%20268L802%20268L794%20284L106%20284Z%22/%3E%0A%20%20%3Cpath%20d=%22M126%20354L774%20354L766%20370L134%20370Z%22/%3E%0A%20%20%3Cpath%20d=%22M154%20440L746%20440L738%20456L162%20456Z%22/%3E%0A%3C/g%3E%0A%3Cg%20fill=%22#9dd86b%22%20opacity=%220.95%22%3E%0A%20%20%3Crect%20x=%22135%22%20y=%2299%22%20width=%2288%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22278%22%20y=%2299%22%20width=%22100%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22470%22%20y=%2299%22%20width=%2290%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22634%22%20y=%2299%22%20width=%2296%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22180%22%20y=%22185%22%20width=%2290%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22352%22%20y=%22185%22%20width=%2296%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22564%22%20y=%22185%22%20width=%2288%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22122%22%20y=%22271%22%20width=%2288%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22292%22%20y=%22271%22%20width=%22100%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22468%22%20y=%22271%22%20width=%22100%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22648%22%20y=%22271%22%20width=%2284%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22170%22%20y=%22357%22%20width=%2296%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22360%22%20y=%22357%22%20width=%2292%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22554%22%20y=%22357%22%20width=%22110%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22230%22%20y=%22443%22%20width=%22100%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%20%20%3Crect%20x=%22466%22%20y=%22443%22%20width=%22120%22%20height=%2248%22%20rx=%2218%22%20transform=%22skewX(-18)%22/%3E%0A%3C/g%3E%0A%3Cg%20opacity=%220.55%22%20fill=%22#8d5b42%22%3E%0A%20%20%3Cellipse%20cx=%22128%22%20cy=%22112%22%20rx=%2240%22%20ry=%2220%22%20transform=%22rotate(-10%20128%20112)%22/%3E%0A%20%20%3Cellipse%20cx=%22590%22%20cy=%22294%22%20rx=%2244%22%20ry=%2222%22%20transform=%22rotate(6%20590%20294)%22/%3E%0A%20%20%3Cellipse%20cx=%22674%22%20cy=%22451%22%20rx=%2244%22%20ry=%2222%22%20transform=%22rotate(-6%20674%20451)%22/%3E%0A%20%20%3Cellipse%20cx=%22416%22%20cy=%22380%22%20rx=%2238%22%20ry=%2220%22%20transform=%22rotate(7%20416%20380)%22/%3E%0A%3C/g%3E%0A%3Cg%20transform=%22translate(0%200)%22%3E%0A%20%20%3Cg%20transform=%22translate(176%20108)%20rotate(-14)%22%3E%3Cpath%20d=%22M16%2010C14%203%2020-2%2028%202M26%2012C28%204%2036%202%2043%207%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M10%2016L48%2030L24%2076Z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M17%2024L38%2031M15%2036L33%2042M13%2048L29%2053%22%20fill=%22none%22%20stroke=%22#ffc980%22%20stroke-width=%223%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(322%20120)%20rotate(12)%22%3E%3Cpath%20d=%22M16%2010C14%203%2020-2%2028%202M26%2012C28%204%2036%202%2043%207%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M10%2016L48%2030L24%2076Z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M17%2024L38%2031M15%2036L33%2042M13%2048L29%2053%22%20fill=%22none%22%20stroke=%22#ffc980%22%20stroke-width=%223%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(692%20208)%20rotate(-10)%22%3E%3Cpath%20d=%22M16%2010C14%203%2020-2%2028%202M26%2012C28%204%2036%202%2043%207%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M10%2016L48%2030L24%2076Z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M17%2024L38%2031M15%2036L33%2042M13%2048L29%2053%22%20fill=%22none%22%20stroke=%22#ffc980%22%20stroke-width=%223%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(224%20380)%20rotate(8)%22%3E%3Cpath%20d=%22M16%2010C14%203%2020-2%2028%202M26%2012C28%204%2036%202%2043%207%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M10%2016L48%2030L24%2076Z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M17%2024L38%2031M15%2036L33%2042M13%2048L29%2053%22%20fill=%22none%22%20stroke=%22#ffc980%22%20stroke-width=%223%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(514%20452)%20rotate(-18)%22%3E%3Cpath%20d=%22M16%2010C14%203%2020-2%2028%202M26%2012C28%204%2036%202%2043%207%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M10%2016L48%2030L24%2076Z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M17%2024L38%2031M15%2036L33%2042M13%2048L29%2053%22%20fill=%22none%22%20stroke=%22#ffc980%22%20stroke-width=%223%22/%3E%3C/g%3E%0A%3C/g%3E%0A%3Cg%20opacity=%220.92%22%3E%0A%20%20%3Cg%20transform=%22translate(742%20112)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2286%22%20ry=%2250%22%20fill=%22#84d8f0%22/%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2270%22%20ry=%2238%22%20fill=%22#9be8ff%22/%3E%3Cpath%20d=%22M-20%20-12c8%204%2016%204%2024%200M-14%208c10%206%2024%204%2034-4%22%20fill=%22none%22%20stroke=%22#ffffff%22%20stroke-opacity=%220.45%22%20stroke-width=%224%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(690%2074)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2220%22%20ry=%2216%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%22-10%22%20cy=%22-16%22%20rx=%227%22%20ry=%2216%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%2210%22%20cy=%22-16%22%20rx=%227%22%20ry=%2216%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%22-10%22%20cy=%22-16%22%20rx=%223%22%20ry=%2210%22%20fill=%22#f3bfd2%22/%3E%3Cellipse%20cx=%2210%22%20cy=%22-16%22%20rx=%223%22%20ry=%2210%22%20fill=%22#f3bfd2%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.2%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.2%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%225%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3C/g%3E%0A%3C/g%3E%0A%3Cg%3E%0A%20%20%3Cg%20transform=%22translate(118%2070)%20rotate(-8)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#f8f7f4%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f1bdd0%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f1bdd0%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(246%20202)%20rotate(10)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#c9b5a5%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#c9b5a5%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#c9b5a5%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f1d1cb%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f1d1cb%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3Cpath%20d=%22M18%200l18-8l-6%2018z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M29%20-9c2-6%206-8%2010-6M31%20-6c5-4%209-4%2013-2%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(476%20204)%20rotate(-12)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#8b8f99%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#8b8f99%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#8b8f99%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#d8c3d2%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#d8c3d2%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#242833%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#242833%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(678%20284)%20rotate(8)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#e2ccb9%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#e2ccb9%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#e2ccb9%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f3d1cb%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f3d1cb%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3Cpath%20d=%22M18%200l18-8l-6%2018z%22%20fill=%22#ff9738%22/%3E%3Cpath%20d=%22M29%20-9c2-6%206-8%2010-6M31%20-6c5-4%209-4%2013-2%22%20fill=%22none%22%20stroke=%22#62b64d%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(348%20392)%20rotate(-8)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#f5d7c1%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#f5d7c1%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#f5d7c1%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f0bcd0%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f0bcd0%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(716%20470)%20rotate(-6)%22%3E%3Cellipse%20cx=%220%22%20cy=%220%22%20rx=%2222%22%20ry=%2218%22%20fill=%22#ffffff%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#ffffff%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%227%22%20ry=%2218%22%20fill=%22#ffffff%22/%3E%3Cellipse%20cx=%22-11%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f0bcd0%22/%3E%3Cellipse%20cx=%229%22%20cy=%22-22%22%20rx=%223%22%20ry=%2211%22%20fill=%22#f0bcd0%22/%3E%3Ccircle%20cx=%22-6%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%227%22%20cy=%22-2%22%20r=%222.1%22%20fill=%22#3f2a25%22/%3E%3Ccircle%20cx=%220%22%20cy=%224%22%20r=%222.4%22%20fill=%22#d49a80%22/%3E%3C/g%3E%0A%3C/g%3E%0A%3C/svg%3E") !important;
    background-size: 720px auto !important;
    opacity: .96 !important;
}
html[data-theme-background="carrot-field"] body {
    background: radial-gradient(circle at 12% 10%, rgba(255,255,255,.76), transparent 20rem), radial-gradient(circle at 86% 14%, rgba(255,208,228,.58), transparent 18rem), linear-gradient(180deg, #ffeef6 0 34%, #f3d88f 34% 44%, #8fca63 44% 54%, #805038 54% 100%) !important;
}
html[data-theme-background="carrot-field"] body::before {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22420%22%20height=%22300%22%20viewBox=%220%200%20420%20300%22%3E%0A%3Crect%20width=%22420%22%20height=%22300%22%20fill=%22none%22/%3E%0A%3Cg%20opacity=%22.28%22%3E%0A%20%20%3Cpath%20d=%22M0%20148C52%20116%20106%20106%20160%20128C205%20146%20256%20142%20310%20116C354%2096%20389%2090%20420%2098V300H0Z%22%20fill=%22#82c95f%22/%3E%0A%20%20%3Cpath%20d=%22M0%20172C55%20144%20118%20150%20176%20178C224%20200%20280%20192%20341%20162C373%20146%20398%20138%20420%20142V300H0Z%22%20fill=%22#64a644%22/%3E%0A%3C/g%3E%0A%3Cg%20opacity=%22.34%22%20stroke=%22#845239%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%3E%0A%20%20%3Cpath%20d=%22M28%20222C58%20202%2092%20196%20128%20212%22/%3E%0A%20%20%3Cpath%20d=%22M72%20268C108%20242%20148%20234%20192%20252%22/%3E%0A%20%20%3Cpath%20d=%22M174%20218C210%20196%20244%20192%20290%20210%22/%3E%0A%20%20%3Cpath%20d=%22M236%20270C272%20242%20316%20238%20362%20258%22/%3E%0A%20%20%3Cpath%20d=%22M300%20218C332%20200%20364%20198%20394%20212%22/%3E%0A%3C/g%3E%0A%3Cg%20opacity=%22.50%22%3E%0A%20%20%3Cg%20transform=%22translate(36%20170)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(124%20194)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(226%20168)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(320%20196)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M24%2012C21%203%2028-2%2036%202M36%2014C38%205%2047%203%2054%208M46%2018C50%209%2059%208%2065%2012%22%20fill=%22none%22%20stroke=%22#76c85a%22%20stroke-width=%226%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M18%2020L70%2042L38%20110Z%22%20fill=%22#ff9738%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M27%2030L58%2043M25%2046L51%2056M22%2062L47%2071M20%2078L41%2086%22%20stroke=%22#ffc980%22%20stroke-width=%224%22/%3E%0A%20%20%3C/g%3E%0A%3C/g%3E%0A%3Cg%20opacity=%22.38%22%3E%0A%20%20%3Cg%20transform=%22translate(90%20114)%20rotate(-14)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M20%2024L70%2046L38%20108Z%22%20fill=%22#f69436%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M42%2022C45%2010%2055%208%2063%2014M33%2018C32%208%2040%202%2049%207%22%20fill=%22none%22%20stroke=%22#6ebf57%22%20stroke-width=%226%22%20stroke-linecap=%22round%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cg%20transform=%22translate(272%20102)%20rotate(16)%22%3E%0A%20%20%20%20%3Cpath%20d=%22M20%2024L70%2046L38%20108Z%22%20fill=%22#f69436%22/%3E%0A%20%20%20%20%3Cpath%20d=%22M42%2022C45%2010%2055%208%2063%2014M33%2018C32%208%2040%202%2049%207%22%20fill=%22none%22%20stroke=%22#6ebf57%22%20stroke-width=%226%22%20stroke-linecap=%22round%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Ccircle%20cx=%22118%22%20cy=%22203%22%20r=%2215%22%20fill=%22#6f402c%22/%3E%0A%20%20%3Ccircle%20cx=%22301%22%20cy=%22214%22%20r=%2216%22%20fill=%22#6f402c%22/%3E%0A%3C/g%3E%0A%3C/svg%3E") !important;
    background-size: 520px auto !important;
    opacity: .92 !important;
}
html[data-theme-background="carrot-field-topdown"] body::after,
html[data-theme="basic-bunny"][data-theme-background="carrot-field-topdown"] body::after,
html[data-theme="basic-bunny"][data-theme-background="none"] body::after,
html[data-theme="basic-bunny"]:not([data-theme-background]) body::after {
    content: "";
    position: fixed;
    inset: auto 0 0 0;
    height: 20vh;
    pointer-events: none;
    z-index: -1;
    background: radial-gradient(circle at 12% 50%, rgba(255,255,255,.18), transparent 8rem), radial-gradient(circle at 88% 40%, rgba(255,255,255,.14), transparent 8rem), linear-gradient(180deg, rgba(0,0,0,0), rgba(76,45,30,.06)) !important;
}


/* v32 unique theme backgrounds + click cursor + icon overlay. */
html[data-theme-background]:not([data-theme-background="none"]) body::before,
html[data-theme-background]:not([data-theme-background="none"]) body::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
}

html[data-theme-background="arcade"] body::before {
    background-image:
        linear-gradient(rgba(255,93,173,.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(35,215,255,.18) 1px, transparent 1px),
        radial-gradient(circle at 50% 120%, rgba(255,93,173,.18), transparent 42%);
    background-size: 54px 54px, 54px 54px, 100% 100%;
    opacity: .7;
}
html[data-theme-background="planets"] body::before,
html[data-theme-background="orbit"] body::before {
    background-image:
        radial-gradient(circle at 15% 18%, rgba(255,255,255,.95) 0 2px, transparent 3px),
        radial-gradient(circle at 82% 24%, rgba(255,255,255,.82) 0 1.8px, transparent 3px),
        radial-gradient(circle at 72% 68%, rgba(124,92,255,.40) 0 50px, transparent 52px),
        radial-gradient(circle at 26% 62%, rgba(0,224,255,.24) 0 82px, transparent 84px);
    background-size: 280px 220px, 320px 260px, 100% 100%, 100% 100%;
    opacity: .82;
}
html[data-theme-background="terminal"] body::before {
    background-image:
        repeating-linear-gradient(180deg, rgba(68,255,119,.12) 0 2px, transparent 2px 8px),
        linear-gradient(90deg, transparent 0 11%, rgba(68,255,119,.06) 11% 12%, transparent 12% 88%, rgba(68,255,119,.06) 88% 89%, transparent 89% 100%);
    opacity: .75;
}
html[data-theme-background="blueprint"] body::before {
    background-image:
        linear-gradient(rgba(20,51,95,.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(20,51,95,.14) 1px, transparent 1px),
        linear-gradient(135deg, transparent 0 48%, rgba(20,51,95,.08) 48% 52%, transparent 52% 100%);
    background-size: 36px 36px, 36px 36px, 100% 100%;
    opacity: .78;
}
html[data-theme-background="confetti"] body::before {
    background-image:
        radial-gradient(circle at 16px 20px, rgba(255,93,173,.85) 0 5px, transparent 6px),
        radial-gradient(circle at 72px 52px, rgba(255,230,109,.8) 0 4px, transparent 5px),
        radial-gradient(circle at 120px 28px, rgba(35,215,255,.8) 0 4px, transparent 5px),
        linear-gradient(120deg, transparent 0 42%, rgba(255,255,255,.14) 42% 46%, transparent 46% 100%);
    background-size: 160px 88px, 160px 88px, 160px 88px, 220px 140px;
    opacity: .72;
}
html[data-theme-background="bunny"] body::before,
html[data-theme-background="forest"] body::before {
    background-image:
        radial-gradient(circle at 10% 86%, rgba(129,219,109,.34) 0 120px, transparent 122px),
        radial-gradient(circle at 40% 94%, rgba(92,170,72,.36) 0 160px, transparent 162px),
        radial-gradient(circle at 82% 88%, rgba(157,216,107,.32) 0 135px, transparent 137px),
        radial-gradient(circle at 22% 22%, rgba(255,255,255,.10) 0 18px, transparent 19px),
        radial-gradient(circle at 74% 18%, rgba(255,255,255,.10) 0 14px, transparent 15px);
    opacity: .76;
}
html[data-theme-background="lightning"] body::before {
    background-image:
        linear-gradient(115deg, transparent 0 44%, rgba(254,231,92,.30) 44% 46%, transparent 46% 100%),
        linear-gradient(70deg, transparent 0 58%, rgba(255,255,255,.18) 58% 60%, transparent 60% 100%),
        radial-gradient(circle at 78% 14%, rgba(255,255,255,.22), transparent 12%);
    background-size: 100% 100%, 100% 100%, 100% 100%;
    opacity: .78;
}
html[data-theme-background="diamonds"] body::before {
    background-image:
        linear-gradient(45deg, rgba(255,255,255,.12) 25%, transparent 25% 50%, rgba(255,255,255,.12) 50% 75%, transparent 75% 100%),
        linear-gradient(-45deg, rgba(40,247,255,.12) 25%, transparent 25% 50%, rgba(255,56,209,.12) 50% 75%, transparent 75% 100%);
    background-size: 72px 72px;
    opacity: .78;
}
html[data-theme-background="crowns"] body::before {
    background-image:
        conic-gradient(from 180deg at 18px 26px, transparent 0 15%, rgba(255,215,0,.28) 15% 33%, transparent 33% 66%, rgba(255,215,0,.28) 66% 84%, transparent 84% 100%);
    background-size: 140px 96px;
    opacity: .7;
}
html[data-theme-background="lab"] body::before {
    background-image:
        radial-gradient(circle at 16% 24%, rgba(0,245,212,.22) 0 20px, transparent 21px),
        radial-gradient(circle at 82% 28%, rgba(254,228,64,.18) 0 16px, transparent 17px),
        linear-gradient(90deg, transparent 0 18%, rgba(255,255,255,.08) 18% 19%, transparent 19% 38%, rgba(255,255,255,.08) 38% 39%, transparent 39% 100%);
    background-size: 220px 180px, 240px 200px, 100% 100%;
    opacity: .76;
}
html[data-theme-background="candy"] body::before {
    background-image:
        repeating-linear-gradient(135deg, rgba(255,130,202,.18) 0 20px, rgba(255,255,255,.15) 20px 40px),
        radial-gradient(circle at 20% 26%, rgba(255,230,109,.46) 0 18px, transparent 20px),
        radial-gradient(circle at 78% 62%, rgba(35,215,255,.28) 0 16px, transparent 18px);
    background-size: 100% 100%, 180px 180px, 220px 180px;
    opacity: .72;
}
html[data-theme-background="gothic"] body::before {
    background-image:
        radial-gradient(circle at 50% 26%, rgba(255,255,255,.08) 0 50px, transparent 52px),
        linear-gradient(90deg, transparent 0 48%, rgba(255,255,255,.08) 48% 52%, transparent 52% 100%),
        linear-gradient(180deg, transparent 0 58%, rgba(255,255,255,.06) 58% 60%, transparent 60% 100%);
    background-size: 100% 100%, 100% 100%, 100% 100%;
    opacity: .8;
}
html[data-theme-background="sewer"] body::before {
    background-image:
        linear-gradient(rgba(122,152,90,.12) 2px, transparent 2px),
        linear-gradient(90deg, rgba(78,100,60,.14) 2px, transparent 2px),
        linear-gradient(180deg, transparent 0 62%, rgba(99,176,71,.18) 62% 68%, transparent 68% 100%);
    background-size: 70px 36px, 70px 36px, 100% 100%;
    opacity: .76;
}
html[data-theme-background="ocean"] body::before {
    background-image:
        radial-gradient(circle at 20% 18%, rgba(255,255,255,.18) 0 6px, transparent 7px),
        radial-gradient(circle at 82% 32%, rgba(255,255,255,.12) 0 5px, transparent 6px),
        radial-gradient(circle at 50% 100%, rgba(255,255,255,.16) 0 180px, transparent 182px);
    background-size: 180px 120px, 220px 180px, 100% 100%;
    opacity: .74;
}
html[data-theme-background="clouds"] body::before,
html[data-theme-background="heaven"] body::before {
    background-image:
        radial-gradient(circle at 18% 28%, rgba(255,255,255,.72) 0 54px, transparent 56px),
        radial-gradient(circle at 42% 22%, rgba(255,255,255,.64) 0 62px, transparent 64px),
        radial-gradient(circle at 78% 30%, rgba(255,255,255,.68) 0 58px, transparent 60px),
        radial-gradient(circle at 90% 10%, rgba(255,239,175,.32) 0 80px, transparent 82px);
    background-size: 100% 100%;
    opacity: .86;
}
html[data-theme-background="hell"] body::before,
html[data-theme-background="fire"] body::before {
    background-image:
        radial-gradient(circle at 15% 100%, rgba(255,122,38,.36) 0 120px, transparent 122px),
        radial-gradient(circle at 45% 100%, rgba(255,208,87,.26) 0 160px, transparent 162px),
        radial-gradient(circle at 78% 100%, rgba(255,92,30,.32) 0 128px, transparent 130px),
        radial-gradient(circle at 24% 20%, rgba(255,255,255,.08) 0 4px, transparent 5px);
    opacity: .8;
}
html[data-theme-background="money"] body::before {
    background-image:
        linear-gradient(0deg, rgba(255,255,255,.10) 0 100%),
        linear-gradient(90deg, transparent 0 10%, rgba(255,255,255,.10) 10% 12%, transparent 12% 88%, rgba(255,255,255,.10) 88% 90%, transparent 90% 100%),
        radial-gradient(circle at 20% 50%, rgba(254,231,92,.16) 0 16px, transparent 17px);
    background-size: 140px 88px, 140px 88px, 200px 140px;
    opacity: .72;
}
html[data-theme-background="carrot-field"] body::before {
    opacity: .95 !important;
}
html[data-theme-background="carrot-field"] body::after {
    background-image:
        radial-gradient(circle at 18% 76%, rgba(255,255,255,.14) 0 70px, transparent 72px),
        radial-gradient(circle at 82% 78%, rgba(255,255,255,.10) 0 64px, transparent 66px);
    opacity: .56;
}
html[data-theme-background="carrot-field-topdown"] body::before,
html[data-theme="basic-bunny"][data-theme-background="carrot-field-topdown"] body::before,
html[data-theme="basic-bunny"][data-theme-background="none"] body::before,
html[data-theme="basic-bunny"]:not([data-theme-background]) body::before {
    opacity: .98 !important;
}
html[data-theme-background="carrot-field-topdown"] body::after,
html[data-theme="basic-bunny"][data-theme-background="carrot-field-topdown"] body::after,
html[data-theme="basic-bunny"][data-theme-background="none"] body::after,
html[data-theme="basic-bunny"]:not([data-theme-background]) body::after {
    opacity: .66 !important;
}

html[data-theme-click-cursor] a,
html[data-theme-click-cursor] button,
html[data-theme-click-cursor] .button,
html[data-theme-click-cursor] summary,
html[data-theme-click-cursor] [role="button"],
html[data-theme-click-cursor] [data-copy-text],
html[data-theme-click-cursor] [data-tab-button],
html[data-theme-click-cursor] [data-theme-card-toggle],
html[data-theme-click-cursor] [data-theme-admin-try],
html[data-theme-click-cursor] input[type="checkbox"],
html[data-theme-click-cursor] input[type="radio"],
html[data-theme-click-cursor] select {
    cursor: var(--theme-click-cursor, pointer) !important;
}
html[data-theme-click-cursor="default"] { --theme-click-cursor: pointer; }
html[data-theme-click-cursor="pixel"],
html[data-theme-click-cursor="retro-arcade"],
html[data-theme-click-cursor="joystick"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ff5dad' stroke='%23271b48' stroke-width='2.5' d='M4 3L29 16L19 20L24 32L17 34L13 22L5 29Z'/%3E%3Crect x='22' y='5' width='8' height='8' rx='2' fill='%23ffdc4f' stroke='%23271b48' stroke-width='2'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-click-cursor="rocket"],
html[data-theme-click-cursor="spark"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%239d7cff' stroke='%2300e7ff' stroke-width='2.4' d='M5 31C8 21 14 10 28 4C26 18 15 27 5 31Z'/%3E%3Cpath fill='%23ffef77' d='M9 27L3 33L15 30Z'/%3E%3Ccircle cx='24' cy='9' r='4' fill='%23fff7ff'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-click-cursor="terminal"],
html[data-theme-click-cursor="terminal-prompt"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Crect x='3' y='5' width='28' height='24' rx='3' fill='%23071108' stroke='%2344ff77' stroke-width='2.5'/%3E%3Cpath d='M9 13L14 18L9 23M17 23L27 23' fill='none' stroke='%23b6ff00' stroke-width='2.8' stroke-linecap='round'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-click-cursor="clean-pencil"],
html[data-theme-click-cursor="pencil"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%232563eb' stroke='%231e293b' stroke-width='2' d='M6 4L28 18L20 20L24 31L18 33L14 22L7 28Z'/%3E%3Cpath d='M22 6L31 15' stroke='%2310b981' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-click-cursor="emoji"],
html[data-theme-click-cursor="disco"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='16' r='10' fill='%23ff5dad' stroke='%23271b48' stroke-width='2.4'/%3E%3Cpath d='M10 16H26M18 6V26M12 9L24 23M24 9L12 23' stroke='%23fff8c8' stroke-width='1.4'/%3E%3Cpath d='M18 26L18 34' stroke='%23271b48' stroke-width='2.4'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-click-cursor="carrot"],
html[data-theme-click-cursor="bunny"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ff8c2a' stroke='%23321a35' stroke-width='2' d='M8 6L29 14L16 32Z'/%3E%3Cpath d='M18 8C17 4 18 2 22 1M20 9C23 5 26 5 29 7' fill='none' stroke='%234fc36b' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-click-cursor="lightning"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23fee75c' stroke='%230b1024' stroke-width='2.4' d='M19 2L6 20H17L14 34L30 13H19Z'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-click-cursor="diamond"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%2328f7ff' stroke='%23ff38d1' stroke-width='2.5' d='M18 3L32 14L18 33L4 14Z'/%3E%3Cpath d='M4 14H32M11 14L18 33M25 14L18 33M11 14L18 3L25 14' fill='none' stroke='%23fff04a' stroke-width='1.7'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-click-cursor="planet"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='10' fill='%237c5cff' stroke='%2300e0ff' stroke-width='2.3'/%3E%3Cellipse cx='18' cy='18' rx='16' ry='6' fill='none' stroke='%23ffd166' stroke-width='2.2' transform='rotate(-22 18 18)'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-click-cursor="crown"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ffd700' stroke='%23181000' stroke-width='2.4' d='M5 28L7 10L14 20L18 8L23 20L30 10L31 28Z'/%3E%3Ccircle cx='18' cy='8' r='3' fill='%23f72585'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-click-cursor="brush"] { --theme-click-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%2300f5d4' stroke='%2306141b' stroke-width='2.2' d='M9 4L25 20L17 28L2 12Z'/%3E%3Cpath d='M23 18L33 28C34 29 34 31 32 33C30 35 28 35 27 33L18 23' fill='%23fee440' stroke='%2306141b' stroke-width='2'/%3E%3C/svg%3E") 4 3, auto; }

.theme-icon-overlay-layer {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
    opacity: 1;
}
.theme-icon-overlay-glyph {
    position: absolute;
    line-height: 1;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.16));
    user-select: none;
}
.theme-asset-preview[data-theme-background-overlay]:not([data-theme-background-overlay=""]):not([data-theme-background-overlay="none"]) {
    position: relative;
    overflow: hidden;
}
.theme-asset-preview[data-theme-background-overlay]:not([data-theme-background-overlay=""]):not([data-theme-background-overlay="none"])::after {
    content: attr(data-theme-background-overlay);
    position: absolute;
    right: .85rem;
    bottom: .75rem;
    font-size: .68rem;
    padding: .22rem .5rem;
    border-radius: 999px;
    background: rgba(15,23,42,.62);
    color: rgba(255,255,255,.92);
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* v33 theme preview/live background repair + carrot field restoration */
html[data-theme-click-cursor] body,
html[data-theme-click-cursor] body *,
html[data-theme-click-cursor] input,
html[data-theme-click-cursor] textarea,
html[data-theme-click-cursor] select,
html[data-theme-click-cursor] option,
html[data-theme-click-cursor] label,
html[data-theme-click-cursor] summary,
html[data-theme-click-cursor] [contenteditable="true"] {
    cursor: var(--theme-click-cursor, auto) !important;
}

html[data-theme-background="carrot-field-topdown"] body,
html[data-theme="basic-bunny"][data-theme-background="carrot-field-topdown"] body,
html[data-theme="basic-bunny"][data-theme-background="none"] body,
html[data-theme="basic-bunny"]:not([data-theme-background]) body {
    background:
        radial-gradient(circle at 15% 10%, rgba(255,255,255,.48), transparent 18rem),
        radial-gradient(circle at 84% 13%, rgba(218,245,255,.18), transparent 16rem),
        linear-gradient(180deg, #8ecb63 0 13%, #b8d884 13% 16%, #8d5b3d 16% 100%) !important;
}
html[data-theme-background="carrot-field-topdown"] body::before,
html[data-theme="basic-bunny"][data-theme-background="carrot-field-topdown"] body::before,
html[data-theme="basic-bunny"][data-theme-background="none"] body::before,
html[data-theme="basic-bunny"]:not([data-theme-background]) body::before {
    background-image: url("../Art/theme_background_carrot_field_topdown.svg?v=33") !important;
    background-size: 980px auto !important;
    background-repeat: repeat !important;
    background-position: top center !important;
    opacity: .98 !important;
}
html[data-theme-background="carrot-field-topdown"] body::after,
html[data-theme="basic-bunny"][data-theme-background="carrot-field-topdown"] body::after,
html[data-theme="basic-bunny"][data-theme-background="none"] body::after,
html[data-theme="basic-bunny"]:not([data-theme-background]) body::after {
    content: "";
    position: fixed;
    inset: auto 0 0 0;
    height: 22vh;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(circle at 12% 10%, rgba(122,178,73,.35), transparent 8rem),
        radial-gradient(circle at 38% 18%, rgba(98,147,60,.32), transparent 8rem),
        radial-gradient(circle at 66% 20%, rgba(122,178,73,.35), transparent 8rem),
        radial-gradient(circle at 88% 16%, rgba(98,147,60,.3), transparent 8rem),
        linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.08));
}

html[data-theme-background="carrot-field"] body {
    background:
        radial-gradient(circle at 14% 10%, rgba(255,255,255,.46), transparent 18rem),
        radial-gradient(circle at 86% 12%, rgba(182,232,255,.20), transparent 17rem),
        linear-gradient(180deg, #dff6ff 0 18%, #8ed064 18% 36%, #8f5b3c 36% 100%) !important;
}
html[data-theme-background="carrot-field"] body::before {
    background-image: url("../Art/theme_background_carrot_field_layered.svg?v=33") !important;
    background-size: 1180px auto !important;
    background-repeat: repeat !important;
    background-position: top center !important;
    opacity: .98 !important;
}
html[data-theme-background="carrot-field"] body::after {
    content: "";
    position: fixed;
    inset: auto 0 0 0;
    height: 26vh;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(circle at 10% 14%, rgba(124,193,81,.38), transparent 10rem),
        radial-gradient(circle at 34% 18%, rgba(95,146,58,.30), transparent 10rem),
        radial-gradient(circle at 58% 16%, rgba(124,193,81,.38), transparent 10rem),
        radial-gradient(circle at 82% 14%, rgba(95,146,58,.28), transparent 10rem),
        linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.10));
}

.theme-asset-preview[data-theme-background="carrot-field-topdown"] {
    background:
        linear-gradient(180deg, rgba(142,203,99,.9) 0 15%, rgba(137,90,60,.96) 15% 100%),
        url("../Art/theme_background_carrot_field_topdown.svg?v=33") center/cover no-repeat !important;
    color: #2f1f1a;
}
.theme-asset-preview[data-theme-background="carrot-field-topdown"]::after {
    background-image: url("../Art/theme_background_carrot_field_topdown.svg?v=33") !important;
    background-position: center !important;
    background-size: cover !important;
    opacity: .9 !important;
}
.theme-asset-preview[data-theme-background="carrot-field"] {
    background:
        linear-gradient(180deg, rgba(223,246,255,.86) 0 22%, rgba(143,91,60,.95) 22% 100%),
        url("../Art/theme_background_carrot_field_layered.svg?v=33") center/cover no-repeat !important;
    color: #2f1f1a;
}
.theme-asset-preview[data-theme-background="carrot-field"]::after {
    background-image: url("../Art/theme_background_carrot_field_layered.svg?v=33") !important;
    background-position: center !important;
    background-size: cover !important;
    opacity: .9 !important;
}

/* v34 click cursor scope repair.
   Keep the normal theme cursor for the page; use click cursor only for controls and user input fields. */
html[data-theme-click-cursor] body,
html[data-theme-click-cursor] body * {
    cursor: inherit !important;
}

html[data-theme-click-cursor] a,
html[data-theme-click-cursor] button,
html[data-theme-click-cursor] .button,
html[data-theme-click-cursor] summary,
html[data-theme-click-cursor] [role="button"],
html[data-theme-click-cursor] [data-copy-text],
html[data-theme-click-cursor] [data-tab-button],
html[data-theme-click-cursor] [data-theme-card-toggle],
html[data-theme-click-cursor] [data-theme-admin-try],
html[data-theme-click-cursor] input,
html[data-theme-click-cursor] textarea,
html[data-theme-click-cursor] select,
html[data-theme-click-cursor] label:has(input),
html[data-theme-click-cursor] label:has(textarea),
html[data-theme-click-cursor] label:has(select),
html[data-theme-click-cursor] [contenteditable="true"] {
    cursor: var(--theme-click-cursor, pointer) !important;
}

html[data-theme-click-cursor] .party-layer,
html[data-theme-click-cursor] .party-layer *,
html[data-theme-click-cursor] .theme-icon-overlay-layer,
html[data-theme-click-cursor] .theme-icon-overlay-layer * {
    cursor: inherit !important;
}


/* Rabbit Run room-code multiplayer polish */
.rabbit-run-room-tools { align-items: start; margin-top: 1rem; }
.rabbit-room-hero { align-items: center; }
.rabbit-room-runner { max-width: none; }
.rabbit-room-runner .rabbit-run-canvas { width: 100%; }
.rabbit-room-hero .game-code-card strong { letter-spacing: .12em; font-size: clamp(1.7rem, 4vw, 3rem); }
.rabbit-run-shell[data-rabbit-multiplayer="1"] .form-help { max-width: 72ch; }
[data-rabbit-room-board].rabbit-leaderboard { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }


/* v33 universal multiplayer lobby controls */
.universal-lobby-panel {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
    display: grid;
    gap: .9rem;
}

.universal-lobby-panel .section-head {
    margin-bottom: 0;
}

.lobby-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.lobby-control-grid > div {
    display: grid;
    gap: .15rem;
    padding: .65rem;
    border-radius: 16px;
    border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
    background: color-mix(in srgb, var(--panel-strong) 62%, transparent);
    min-width: 0;
}

.lobby-control-grid span {
    color: var(--muted);
    font-weight: 900;
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.lobby-control-grid strong {
    overflow-wrap: anywhere;
}

.lobby-main-actions,
.host-control-panel {
    align-items: stretch;
}

.host-control-panel {
    display: grid;
    gap: .75rem;
    padding: .75rem;
    border-radius: 18px;
    border: 1px dashed color-mix(in srgb, var(--accent) 54%, var(--line));
    background: color-mix(in srgb, var(--panel) 68%, transparent);
}

.host-control-panel h3 {
    margin: 0;
}

.inline-control-form {
    display: grid;
    gap: .55rem;
}

.inline-control-form label {
    margin: 0;
}

.button.warn {
    background: color-mix(in srgb, #ffb020 25%, var(--panel-strong));
    color: var(--ink);
}

.button.danger {
    background: color-mix(in srgb, #ff4b68 88%, #5a0b18);
    color: #fff;
    border-color: color-mix(in srgb, #ff4b68 72%, #000);
}

.player-status-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: .18rem .45rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
    background: color-mix(in srgb, var(--panel) 80%, transparent);
    color: var(--muted);
    font-weight: 900;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.player-status-badge.status-left {
    background: color-mix(in srgb, #ffb020 18%, var(--panel));
    color: color-mix(in srgb, #6e4300 85%, var(--ink));
}

.player-status-badge.status-kicked {
    background: color-mix(in srgb, #ff4b68 18%, var(--panel));
    color: color-mix(in srgb, #7a0015 85%, var(--ink));
}

.game-player.status-left,
.game-player.status-kicked {
    opacity: .72;
    border-style: dashed;
}

.game-player.status-left b,
.game-player.status-kicked b {
    opacity: .85;
}

.game-phase-notices {
    display: grid;
    gap: .75rem;
}

.game-refresh-notice {
    margin-bottom: .85rem;
}

.rabbit-leaderboard .player-left-early {
    opacity: .75;
}

@media (max-width: 720px) {
    .lobby-control-grid {
        grid-template-columns: 1fr;
    }
}


/* v33 effect library and theme asset workspace */
.theme-local-tabs {
    display: grid;
    gap: 1rem;
}

.theme-local-tab-list {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
    padding: .35rem;
    border: 1px solid color-mix(in srgb, var(--line) 75%, transparent);
    border-radius: 1.25rem;
    background: color-mix(in srgb, var(--panel-strong, #fff) 76%, transparent);
}

.theme-local-tab {
    border: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--panel, #fff) 82%, transparent);
    color: var(--ink);
    font-weight: 900;
    padding: .65rem .9rem;
    cursor: pointer;
    box-shadow: 0 5px 0 rgba(0,0,0,.05);
}

.theme-local-tab:hover,
.theme-local-tab:focus-visible,
.theme-local-tab.is-active {
    border-color: color-mix(in srgb, var(--accent) 75%, transparent);
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand-3) 80%, #fff 20%), color-mix(in srgb, var(--brand-2) 70%, #fff 30%));
    transform: translateY(-1px);
}

.theme-local-panel[hidden] {
    display: none !important;
}

.theme-local-panel.is-active {
    display: block;
}

.theme-library-card {
    overflow: visible;
}

.theme-library-card > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    list-style: none;
    padding: .1rem 0;
}

.theme-library-card > summary::-webkit-details-marker {
    display: none;
}

.theme-library-card > summary span:first-child {
    display: grid;
    gap: .2rem;
    min-width: 0;
}

.theme-library-card > summary strong,
.theme-library-card > summary small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-library-card > summary small {
    color: var(--muted);
    font-weight: 800;
}

.theme-library-card[open] > summary {
    margin-bottom: 1rem;
}

.theme-library-form {
    align-items: start;
}

.theme-library-form textarea[name="emoji_list"] {
    min-height: 7rem;
    font-size: 1.25rem;
    line-height: 1.6;
}

.theme-asset-chip-grid {
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.theme-asset-chip {
    align-items: flex-start;
    flex-direction: column;
}

.theme-asset-chip small {
    color: var(--muted);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.theme-asset-chip em {
    display: inline-flex;
    width: fit-content;
    border-radius: 999px;
    padding: .15rem .45rem;
    background: rgba(255, 93, 173, .14);
    color: var(--accent);
    font-style: normal;
    font-size: .75rem;
    font-weight: 900;
}

@media (max-width: 760px) {
    .theme-local-tab-list {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* v34 Owner site settings / setup workspace polish */
.admin-settings-shell .account-settings-layout { align-items: stretch; }
.admin-settings-shell .account-settings-content { min-height: min(78vh, 920px); }
.admin-tab-main-container {
    max-height: min(78vh, 920px);
    overflow: auto;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: var(--border);
    border-radius: var(--radius);
    background: rgba(255,255,255,.45);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}
.settings-mini-grid { align-items: stretch; }
.settings-mini-card { min-height: 100%; }
.setup-admin-workspace { display: grid; gap: 1rem; }
.setup-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}
.setup-action-card { min-height: 100%; }
.setup-owner-card { grid-column: 1 / -1; }
.setup-output-panel { display: grid; gap: .85rem; }
.setup-output-text {
    min-height: 260px;
    max-height: 430px;
    overflow: auto;
    white-space: pre;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    font-size: .86rem;
    line-height: 1.45;
    color: #1f1b3d;
    background: rgba(255,255,255,.9);
}
.compact-actions { gap: .6rem; margin-top: 0; }
.migration-library-panel summary,
.detected-foundation-panel summary,
.foundation-group summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}
.migration-run-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: .85rem;
    margin-top: 1rem;
}
.migration-run-card { margin: 0; }
.migration-run-button {
    width: 100%;
    min-height: 126px;
    text-align: left;
    display: grid;
    gap: .45rem;
    padding: 1rem;
    border: var(--border);
    border-radius: calc(var(--radius) * .75);
    background: rgba(255,255,255,.62);
    color: var(--ink);
    box-shadow: var(--shadow);
    cursor: pointer;
}
.migration-run-button:hover { transform: translateY(-2px); }
.migration-title-row { display: grid; gap: .45rem; }
.migration-title-row strong { word-break: break-word; }
.pill-line { display: flex; flex-wrap: wrap; gap: .35rem; }
.migration-meta,
.migration-action-text { color: var(--muted); font-size: .88rem; font-weight: 800; }
.migration-problem { color: #9f1239; font-size: .86rem; font-weight: 900; }
.foundation-group-list { display: grid; gap: .8rem; margin-top: 1rem; }
.foundation-group {
    border: var(--border);
    border-radius: calc(var(--radius) * .7);
    background: rgba(255,255,255,.45);
    padding: .85rem;
}
.foundation-check-list { display: grid; gap: .55rem; margin-top: .75rem; }
.foundation-check {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .7rem;
    border-radius: .9rem;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.5);
}
.foundation-check strong,
.foundation-check span { display: block; }
.foundation-check span { color: var(--muted); font-size: .88rem; margin-top: .2rem; }
.foundation-check-value { display: flex; gap: .45rem; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.foundation-check-value em { font-style: normal; color: var(--muted); font-weight: 900; }
.status-good,
.status-card.status-operational,
.status-card.status-online { border-color: rgba(34,197,94,.45); }
.status-warn,
.status-card.status-degraded,
.status-card.status-updating,
.status-card.status-maintenance { border-color: rgba(245,158,11,.5); }
.status-danger,
.status-card.status-outage,
.status-card.status-offline,
.status-card.status-missing,
.status-card.status-setup-needed { border-color: rgba(239,68,68,.5); }
.status-pill.success,
.status-pill.good,
.status-pill.status-operational,
.status-pill.status-online { background: rgba(34,197,94,.16); border-color: rgba(22,163,74,.55); color: #057a3b; }
.status-pill.warn,
.status-pill.status-degraded,
.status-pill.status-updating,
.status-pill.status-maintenance { background: rgba(245,158,11,.18); border-color: rgba(217,119,6,.55); color: #9a5a00; }
.status-pill.danger,
.status-pill.status-outage,
.status-pill.status-offline,
.status-pill.status-missing,
.status-pill.status-setup-needed { background: rgba(239,68,68,.16); border-color: rgba(220,38,38,.55); color: #991b1b; }
.setup-table-chip-wrap { max-height: 260px; padding: .5rem; }
.status-clone-workspace { display: grid; gap: 1rem; }
.status-clone-grid { align-items: start; }
.status-meta-line { display: flex !important; flex-wrap: wrap; gap: .4rem .8rem; }
@media (max-width: 900px) {
    .setup-action-grid,
    .status-clone-grid { grid-template-columns: 1fr; }
    .admin-tab-main-container { max-height: none; }
    .foundation-check { grid-template-columns: 1fr; }
    .foundation-check-value { justify-content: flex-start; }
}

/* v35 Setup / migration collapsible workspace panels */
.setup-collapsible-panel > summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
    list-style: none;
}
.setup-collapsible-panel > summary::-webkit-details-marker { display: none; }
.setup-collapsible-title {
    display: grid;
    gap: .2rem;
    min-width: min(100%, 240px);
}
.setup-collapsible-title strong { font-size: 1.02rem; }
.setup-collapsible-title small {
    color: var(--muted);
    font-size: .84rem;
    font-weight: 800;
    line-height: 1.25;
}
.setup-collapsible-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 6.7rem;
    padding: .35rem .7rem;
    border-radius: 999px;
    border: 1px solid rgba(95, 68, 84, .25);
    background: rgba(255,255,255,.72);
    color: var(--ink);
    font-size: .78rem;
    font-weight: 1000;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.setup-collapsible-toggle::before { content: 'Expand'; }
.setup-collapsible-panel[open] > summary .setup-collapsible-toggle::before { content: 'Collapse'; }
.setup-collapsible-body { margin-top: 1rem; }
.setup-output-panel .setup-collapsible-body,
.setup-owner-card .setup-collapsible-body {
    display: grid;
    gap: .85rem;
}
.setup-action-grid .setup-collapsible-panel {
    min-height: auto;
}
.setup-status-snapshot-panel .stats-grid { margin-top: 1rem; }
.setup-admin-workspace > .setup-collapsible-panel:not([open]) {
    box-shadow: var(--shadow);
}

/* v36 Owner archive workspace */
.archive-workspace { display: grid; gap: 1rem; }
.archive-info-grid { align-items: stretch; }
.archive-info-card,
.archive-create-card { min-height: 100%; }
.archive-create-card form { margin: .85rem 0; }
.compact-list { gap: .65rem; }
.archive-workspace code { word-break: break-word; }
@media (max-width: 900px) {
    .archive-info-grid { grid-template-columns: 1fr; }
}

/* v37 Owner Archive / Patch workspace */
.archive-patch-grid { align-items: start; }
.archive-patch-card form { gap: .85rem; }
.archive-patch-card input[type="file"] {
    width: 100%;
    padding: .85rem;
    border: var(--border);
    border-radius: calc(var(--radius) * .65);
    background: rgba(255,255,255,.74);
    font-weight: 800;
}
.archive-patch-card .check { align-items: flex-start; }
.archive-create-card .button.full,
.archive-patch-card .button.full { width: 100%; justify-content: center; }
@media (max-width: 900px) {
    .archive-patch-grid { grid-template-columns: 1fr; }
}

/* v35 Rabbit Run live multiplayer ghost race */
.rabbit-run-stage {
    position: relative;
    display: block;
    border-radius: var(--radius);
    overflow: hidden;
}
.rabbit-run-stage .rabbit-run-canvas {
    margin: 0;
}
.rabbit-live-leaderboard {
    position: absolute;
    top: .75rem;
    right: .75rem;
    z-index: 2;
    display: grid;
    gap: .25rem;
    min-width: min(230px, 42vw);
    max-width: min(280px, 48vw);
    padding: .6rem .7rem;
    border-radius: 1rem;
    border: 1px solid rgba(40, 24, 76, .2);
    background: color-mix(in srgb, var(--panel-strong) 84%, transparent);
    box-shadow: 0 12px 30px rgba(22, 14, 42, .12);
    backdrop-filter: blur(12px);
    pointer-events: none;
}
.rabbit-live-leaderboard strong {
    display: block;
    font-weight: 950;
    letter-spacing: .02em;
}
.rabbit-live-leaderboard span {
    display: flex;
    justify-content: space-between;
    gap: .4rem;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.2;
}
.rabbit-live-leaderboard b {
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rabbit-race-countdown,
.rabbit-race-results {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 1rem;
    color: #fff;
    background: radial-gradient(circle at center, rgba(40, 24, 76, .36), rgba(10, 6, 22, .62));
    text-shadow: 0 5px 22px rgba(0,0,0,.45);
    pointer-events: none;
}
.rabbit-race-countdown[hidden],
.rabbit-race-results[hidden] {
    display: none;
}
.rabbit-race-countdown {
    font-size: clamp(4rem, 18vw, 10rem);
    font-weight: 1000;
    letter-spacing: .04em;
}
.rabbit-race-results > div {
    width: min(620px, 94%);
    display: grid;
    gap: .8rem;
    padding: 1rem;
    border-radius: 1.35rem;
    border: 1px solid rgba(255,255,255,.3);
    background: rgba(18, 11, 35, .76);
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    backdrop-filter: blur(14px);
}
.rabbit-race-results strong {
    font-size: clamp(1.4rem, 5vw, 2.5rem);
    font-weight: 1000;
}
.rabbit-race-results p {
    margin: 0;
    color: rgba(255,255,255,.82);
    font-weight: 850;
}
.rabbit-race-results ol {
    margin: 0;
    padding-left: 1.15rem;
    display: grid;
    gap: .4rem;
    text-align: left;
}
.rabbit-race-results li {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
    padding: .45rem .6rem;
    border-radius: .8rem;
    background: rgba(255,255,255,.1);
    color: rgba(255,255,255,.9);
}
.rabbit-race-results li span {
    color: rgba(255,255,255,.76);
    font-weight: 800;
}
.rabbit-run-shell:fullscreen .rabbit-run-stage,
.rabbit-run-shell:-webkit-full-screen .rabbit-run-stage {
    flex: 1 1 auto;
    min-height: 420px;
}
.rabbit-run-shell:fullscreen .rabbit-run-stage .rabbit-run-canvas,
.rabbit-run-shell:-webkit-full-screen .rabbit-run-stage .rabbit-run-canvas {
    height: 100%;
}
@media (max-width: 720px) {
    .rabbit-live-leaderboard {
        top: .5rem;
        right: .5rem;
        min-width: 168px;
        max-width: 46vw;
        padding: .45rem .5rem;
    }
    .rabbit-live-leaderboard span {
        font-size: .72rem;
    }
    .rabbit-race-results li {
        display: grid;
        gap: .15rem;
    }
}

/* v36 Rabbit Run fullscreen/mobile physics patch */
.rabbit-fullscreen-overlay-button,
.rabbit-mobile-controls {
    position: absolute;
    z-index: 5;
    pointer-events: auto;
}
.rabbit-fullscreen-overlay-button {
    display: none;
    top: .75rem;
    left: .75rem;
    padding: .55rem .85rem;
    border: 1px solid rgba(255,255,255,.44);
    border-radius: 999px;
    background: rgba(18, 11, 35, .72);
    color: #fff;
    font-weight: 950;
    box-shadow: 0 14px 35px rgba(0,0,0,.22);
    backdrop-filter: blur(12px);
}
.rabbit-mobile-controls {
    left: 50%;
    bottom: .85rem;
    transform: translateX(-50%);
    display: none;
    align-items: center;
    gap: .65rem;
    padding: .45rem;
    border-radius: 999px;
    background: rgba(18, 11, 35, .56);
    box-shadow: 0 14px 35px rgba(0,0,0,.2);
    backdrop-filter: blur(12px);
}
.rabbit-mobile-controls button {
    min-width: 5.8rem;
    min-height: 2.8rem;
    padding: .55rem .9rem;
    border: 1px solid rgba(255,255,255,.36);
    border-radius: 999px;
    background: rgba(255,255,255,.9);
    color: #28184c;
    font-weight: 950;
    touch-action: none;
}
.rabbit-mobile-controls .rabbit-mobile-jump {
    min-width: 8.5rem;
    background: linear-gradient(135deg, #fff7ad, #ffb4dc);
}
@media (pointer: coarse), (max-width: 780px) {
    .rabbit-mobile-controls { display: flex; }
    .rabbit-run-stage .rabbit-run-canvas { min-height: 360px; }
}
.rabbit-run-shell:fullscreen,
.rabbit-run-shell:-webkit-full-screen {
    width: 100vw;
    height: 100vh;
    max-width: none;
    margin: 0;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    background: #050718;
}
.rabbit-run-shell:fullscreen > :not(.rabbit-run-stage),
.rabbit-run-shell:-webkit-full-screen > :not(.rabbit-run-stage) {
    display: none !important;
}
.rabbit-run-shell:fullscreen .rabbit-run-stage,
.rabbit-run-shell:-webkit-full-screen .rabbit-run-stage {
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
    max-height: none;
    border-radius: 0;
    overflow: hidden;
    flex: 1 1 auto;
}
.rabbit-run-shell:fullscreen .rabbit-run-stage .rabbit-run-canvas,
.rabbit-run-shell:-webkit-full-screen .rabbit-run-stage .rabbit-run-canvas {
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
    max-height: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.rabbit-run-shell:fullscreen .rabbit-fullscreen-overlay-button,
.rabbit-run-shell:-webkit-full-screen .rabbit-fullscreen-overlay-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.rabbit-run-shell:fullscreen .rabbit-mobile-controls,
.rabbit-run-shell:-webkit-full-screen .rabbit-mobile-controls {
    bottom: max(.85rem, env(safe-area-inset-bottom));
}
@media (max-width: 720px) {
    .rabbit-fullscreen-overlay-button {
        top: max(.55rem, env(safe-area-inset-top));
        left: max(.55rem, env(safe-area-inset-left));
        padding: .48rem .7rem;
        font-size: .82rem;
    }
    .rabbit-mobile-controls {
        width: min(94vw, 420px);
        justify-content: center;
    }
    .rabbit-mobile-controls button {
        min-width: 5rem;
        font-size: .86rem;
    }
    .rabbit-mobile-controls .rabbit-mobile-jump { min-width: 7.2rem; }
}

/* v36 unified room lobby phase timers and winner credits */
.game-sync-timer {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: .35rem .75rem;
    align-items: center;
    padding: .85rem 1rem;
    margin: .75rem 0 1rem;
    border: 1px solid color-mix(in srgb, var(--accent, #8cf) 45%, transparent);
    border-radius: 18px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent, #8cf) 18%, transparent), rgba(255,255,255,.055));
    box-shadow: 0 16px 38px rgba(0,0,0,.16);
}
.game-sync-timer span,
.game-sync-timer small {
    color: var(--muted, #aab);
    font-size: .82rem;
}
.game-sync-timer strong {
    font-size: 1rem;
}
.game-sync-timer b {
    justify-self: end;
    min-width: 4.5rem;
    text-align: center;
    padding: .35rem .65rem;
    border-radius: 999px;
    background: rgba(0,0,0,.22);
    font-size: 1.35rem;
    line-height: 1;
}
.game-sync-timer small {
    grid-column: 2 / -1;
}
.game-sync-timer.is-ending b {
    animation: timerPulse .7s ease-in-out infinite alternate;
}
@keyframes timerPulse {
    from { transform: scale(1); }
    to { transform: scale(1.08); }
}
.game-end-credits {
    position: relative;
    overflow: hidden;
    text-align: center;
    padding: clamp(1.2rem, 3vw, 2.25rem);
}
.game-end-credits::before {
    content: '';
    position: absolute;
    inset: -30%;
    background: radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--accent, #8cf) 28%, transparent), transparent 30%), radial-gradient(circle at 70% 10%, rgba(255,255,255,.13), transparent 26%);
    pointer-events: none;
}
.game-end-credits > * {
    position: relative;
}
.game-end-credits h2 {
    font-size: clamp(2rem, 6vw, 4.2rem);
    margin: .25rem 0 .6rem;
}
.credits-score-roll {
    display: grid;
    gap: .55rem;
    max-width: 680px;
    margin: 1.25rem auto;
    padding: 0;
    list-style: none;
}
.credits-score-roll li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: .8rem 1rem;
    border-radius: 16px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
}
.credits-score-roll li:first-child {
    transform: scale(1.025);
    box-shadow: 0 16px 34px rgba(0,0,0,.18);
}
.game-create-form small {
    color: var(--muted, #aab);
    font-weight: 600;
}
@media (max-width: 720px) {
    .game-sync-timer {
        grid-template-columns: 1fr auto;
    }
    .game-sync-timer span,
    .game-sync-timer small {
        grid-column: 1 / -1;
    }
    .credits-score-roll li {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* Sir Survey game patch -------------------------------------------------- */
.sir-survey-hero,
.sir-survey-room-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 220, 115, 0.28), transparent 32%),
        radial-gradient(circle at 82% 8%, rgba(135, 92, 255, 0.22), transparent 28%),
        linear-gradient(135deg, rgba(24, 18, 58, 0.96), rgba(56, 21, 79, 0.88));
}
.sir-survey-hero::after,
.sir-survey-room-hero::after {
    content: "📊 🎩 👑";
    position: absolute;
    right: clamp(1rem, 4vw, 3rem);
    bottom: 1rem;
    font-size: clamp(2rem, 6vw, 5rem);
    opacity: 0.18;
    filter: blur(0.2px);
    animation: sirSurveyFloat 5.5s ease-in-out infinite;
}
.sir-survey-stage {
    position: relative;
    display: grid;
    gap: 1rem;
    isolation: isolate;
    animation: sirSurveyCurtain 0.55s ease both;
}
.sir-survey-stage::before {
    content: "";
    position: absolute;
    inset: -1rem;
    z-index: -1;
    border-radius: 1.5rem;
    background:
        radial-gradient(circle at 10% 20%, rgba(255,255,255,0.12), transparent 22%),
        radial-gradient(circle at 90% 70%, rgba(255, 205, 93, 0.14), transparent 24%);
    pointer-events: none;
}
.sir-survey-phase {
    overflow: hidden;
}
.sir-survey-phase::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.08) 45%, transparent 62%);
    transform: translateX(-120%);
    animation: sirSurveyDeal 4.2s ease-in-out infinite;
}
.survey-meter,
.survey-result-track {
    width: 100%;
    height: 0.72rem;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255,255,255,0.16);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.12);
}
.survey-meter span,
.survey-result-track span {
    display: block;
    width: 100%;
    height: 100%;
    transform-origin: left center;
    background: linear-gradient(90deg, #ffe27a, #ff7bd5, #7dd3fc);
    transition: transform 0.2s linear, width 0.35s ease;
}
.sir-survey-stage.is-survey-ending .survey-meter span,
.game-sync-timer.is-ending + .sir-survey-stage .survey-meter span {
    filter: brightness(1.2) saturate(1.25);
}
.sir-survey-answer-grid .survey-choice {
    min-height: 5rem;
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 1rem 2rem rgba(0,0,0,0.14);
}
.survey-choice:hover,
.survey-mini-choice:hover {
    transform: translateY(-2px) scale(1.01);
}
.sir-survey-bonus-form {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 1.25rem;
    background: rgba(255,255,255,0.08);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}
.sir-survey-mini-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: 0.6rem;
}
.survey-mini-choice {
    border: 0;
    border-radius: 999px;
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 800;
    color: var(--text);
    background: rgba(255,255,255,0.14);
    transition: transform 0.18s ease, background 0.18s ease;
}
.survey-mini-choice:focus-visible,
.survey-choice:focus-visible {
    outline: 3px solid rgba(255, 226, 122, 0.75);
    outline-offset: 2px;
}
.survey-result-bars {
    display: grid;
    gap: 0.7rem;
}
.survey-result-bar {
    display: grid;
    gap: 0.35rem;
    padding: 0.75rem;
    border-radius: 1rem;
    background: rgba(255,255,255,0.08);
}
.survey-result-bar > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.survey-result-bar span {
    font-size: 0.9rem;
    opacity: 0.82;
}
.survey-royal-badge strong {
    letter-spacing: 0.14em;
    text-shadow: 0 0 1.25rem rgba(255, 226, 122, 0.55);
}
.sir-survey-list-row strong::before {
    content: "🎩 ";
}
@keyframes sirSurveyCurtain {
    from { opacity: 0; transform: translateY(14px) scale(0.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes sirSurveyFloat {
    0%, 100% { transform: translateY(0) rotate(-3deg); }
    50% { transform: translateY(-0.8rem) rotate(4deg); }
}
@keyframes sirSurveyDeal {
    0%, 45% { transform: translateX(-125%); }
    70%, 100% { transform: translateX(125%); }
}
@media (max-width: 720px) {
    .sir-survey-mini-options {
        grid-template-columns: 1fr;
    }
    .survey-result-bar > div:first-child {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* Custom uploaded theme assets runtime */
html[data-theme-background-custom="1"] body::before {
    background-image: var(--theme-background-image) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    opacity: .34 !important;
}
html[data-theme-cursor-custom="1"],
html[data-theme-cursor-custom="1"] * {
    cursor: var(--theme-cursor-image), auto !important;
}
html[data-theme-click-cursor-custom="1"] a,
html[data-theme-click-cursor-custom="1"] button,
html[data-theme-click-cursor-custom="1"] .button,
html[data-theme-click-cursor-custom="1"] summary,
html[data-theme-click-cursor-custom="1"] [role="button"],
html[data-theme-click-cursor-custom="1"] input[type="submit"],
html[data-theme-click-cursor-custom="1"] input[type="button"],
html[data-theme-click-cursor-custom="1"] input[type="reset"],
html[data-theme-click-cursor-custom="1"] label[for],
html[data-theme-click-cursor-custom="1"] [data-clickable] {
    cursor: var(--theme-click-cursor-image), pointer !important;
}
.theme-asset-preview[data-theme-custom-background-preview="1"] {
    background-image: linear-gradient(135deg, rgba(14,10,26,.32), rgba(14,10,26,.16)), var(--theme-preview-background-image) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
.theme-library-upload-preview{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:1rem;align-items:center;padding:1rem;border:1px solid rgba(82,48,61,.14);border-radius:1rem;background:rgba(255,255,255,.66)}
.theme-library-preview-media{min-height:100px;display:flex;align-items:center;justify-content:center;border-radius:.9rem;background:rgba(250,246,249,.9);overflow:hidden}
.theme-library-preview-media img{display:block;max-width:100%;max-height:170px;object-fit:contain}
.theme-library-preview-media audio{width:100%}
.theme-library-fallback-icon{font-size:2rem;line-height:1;padding:.9rem}
.theme-library-emoji-preview{font-size:3rem}
@media (max-width: 760px){.theme-library-upload-preview{grid-template-columns:1fr}}

/* v41 Owner Archive / Patch full-width automatic workflow */
.archive-workspace-wide {
    display: grid;
    gap: 1rem;
}
.archive-workspace-wide > .panel,
.archive-workspace-wide > details.panel {
    width: 100%;
}
.archive-workspace-wide .archive-info-grid,
.archive-workspace-wide .archive-patch-grid {
    grid-template-columns: 1fr;
}
.archive-workspace-wide .archive-create-card form,
.archive-workspace-wide .archive-patch-card form {
    margin-top: .8rem;
}
.archive-patch-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    align-items: stretch;
}
.patch-upload-selected {
    padding: .75rem .9rem;
    border: 1px dashed rgba(95, 68, 84, .32);
    border-radius: calc(var(--radius) * .6);
    background: rgba(255,255,255,.58);
    color: var(--muted);
    font-weight: 900;
    overflow-wrap: anywhere;
}
.archive-ready-actions { margin-top: .75rem; }
@media (max-width: 760px) {
    .archive-patch-actions { grid-template-columns: 1fr; }
}

/* v41 admin page cleanup: single return action instead of crowded page tabs */
.admin-return-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
    margin: 1rem 0;
}
.admin-return-row .button { white-space: nowrap; }

/* Rabbit Run Friend Zone */
.rabbit-friend-health {
    display: flex;
    align-items: center;
    gap: .55rem;
    flex-wrap: wrap;
    width: max-content;
    max-width: 100%;
    margin: .45rem 0 .75rem;
    padding: .45rem .65rem;
    border: var(--border);
    border-radius: 999px;
    background: var(--panel-strong);
    box-shadow: 0 14px 30px rgba(40, 24, 76, .12);
    font-weight: 900;
}
.rabbit-friend-health[hidden] { display: none !important; }
.rabbit-friend-health-label {
    color: var(--muted);
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.rabbit-friend-health strong { letter-spacing: .08em; line-height: 1; }
.rabbit-friend-health b { color: var(--brand); font-size: .95rem; }
.rabbit-friend-health span:last-child { color: var(--ink); font-size: .9rem; }
.rabbit-leaderboard-grid { align-items: start; margin-top: 1rem; }
.rabbit-run-shell:fullscreen .rabbit-friend-health,
.rabbit-run-shell:-webkit-full-screen .rabbit-friend-health {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 20;
    margin: 0;
}

/* Patch 043: smoother game phase updates and richer Sir Survey controls */
.game-phase.is-soft-refreshing {
    opacity: .72;
    transform: translateY(2px);
    transition: opacity .12s ease, transform .12s ease;
}
.game-phase.is-soft-refreshed {
    animation: gameSoftRefreshIn .28s ease both;
}
@keyframes gameSoftRefreshIn {
    from { opacity: .82; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}
.trivia-answer-grid.choice-count-5,
.trivia-answer-grid.choice-count-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.choice-e { background: linear-gradient(135deg, #8338ec, #3a0ca3); }
.choice-f { background: linear-gradient(135deg, #00bbf9, #0081a7); }
.sir-survey-answer-grid .survey-custom-response.wide {
    grid-column: 1 / -1;
}
.survey-custom-response {
    display: grid;
    gap: .55rem;
    align-items: end;
    grid-template-columns: minmax(12rem, 1fr) auto;
    padding: .85rem;
    border: 1px dashed rgba(255,255,255,.28);
    border-radius: 1rem;
    background: rgba(255,255,255,.08);
}
.survey-custom-response label {
    display: grid;
    gap: .35rem;
    font-weight: 800;
}
.survey-custom-response small {
    grid-column: 1 / -1;
    color: var(--muted);
}
.survey-mini-choice:nth-child(6n+1), .mini-choice-0 { background: linear-gradient(135deg, rgba(255,77,109,.92), rgba(181,23,158,.92)); color:#fff; }
.survey-mini-choice:nth-child(6n+2), .mini-choice-1 { background: linear-gradient(135deg, rgba(58,134,255,.92), rgba(67,97,238,.92)); color:#fff; }
.survey-mini-choice:nth-child(6n+3), .mini-choice-2 { background: linear-gradient(135deg, rgba(6,214,160,.92), rgba(17,138,178,.92)); color:#fff; }
.survey-mini-choice:nth-child(6n+4), .mini-choice-3 { background: linear-gradient(135deg, rgba(255,190,11,.95), rgba(251,86,7,.95)); color:#fff; }
.survey-mini-choice:nth-child(6n+5), .mini-choice-4 { background: linear-gradient(135deg, rgba(131,56,236,.94), rgba(58,12,163,.94)); color:#fff; }
.survey-mini-choice:nth-child(6n+6), .mini-choice-5 { background: linear-gradient(135deg, rgba(0,187,249,.94), rgba(0,129,167,.94)); color:#fff; }
.survey-review-card .survey-review-prompt {
    padding: .85rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.08);
}
.survey-review-actions {
    flex-wrap: wrap;
}
@media (max-width: 760px) {
    .trivia-answer-grid.choice-count-5,
    .trivia-answer-grid.choice-count-6 {
        grid-template-columns: 1fr;
    }
    .survey-custom-response {
        grid-template-columns: 1fr;
    }
}

/* Don't Eat Me browser MMO */
.dont-eat-me-hero,
.dont-eat-me-room-hero {
    background: radial-gradient(circle at top left, rgba(124, 247, 255, 0.18), transparent 35%), radial-gradient(circle at bottom right, rgba(255, 122, 217, 0.14), transparent 40%), var(--panel, rgba(255,255,255,0.04));
    overflow: hidden;
}

.dont-eat-me-feature-grid .panel,
.dont-eat-me-lobby-grid .panel,
.dont-eat-me-board-grid .panel {
    min-width: 0;
}

.dont-eat-me-room-card .room-game-icon,
.dont-eat-me-feature-grid .room-game-icon {
    box-shadow: 0 14px 30px rgba(124, 247, 255, 0.22);
}

.dont-eat-me-layout {
    align-items: start;
}

.dont-eat-me-shell {
    position: relative;
    overflow: hidden;
}

.dont-eat-me-room-head {
    gap: 1rem;
}

.dont-eat-me-stage {
    position: relative;
    width: 100%;
    min-height: 430px;
    border-radius: 24px;
    overflow: hidden;
    background: #061422;
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05), 0 24px 70px rgba(0,0,0,0.24);
}

.dont-eat-me-canvas {
    display: block;
    width: 100%;
    min-height: 430px;
    cursor: crosshair;
    touch-action: none;
}

.dont-eat-me-minimap {
    position: absolute;
    right: 16px;
    top: 16px;
    width: 190px;
    height: 190px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.22);
    box-shadow: 0 18px 45px rgba(0,0,0,0.35);
    background: rgba(5, 15, 29, 0.9);
}

.dont-eat-me-overlay {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    gap: .85rem;
    text-align: center;
    padding: 2rem;
    background: linear-gradient(180deg, rgba(6, 20, 34, 0.18), rgba(6, 20, 34, 0.82));
    backdrop-filter: blur(5px);
}

.dont-eat-me-overlay[hidden] {
    display: none;
}

.dont-eat-me-overlay strong {
    font-size: clamp(1.6rem, 4vw, 3rem);
}

.dont-eat-me-boost-badge {
    position: absolute;
    left: 16px;
    top: 16px;
    padding: .55rem .8rem;
    border-radius: 999px;
    font-weight: 900;
    letter-spacing: .12em;
    background: rgba(255, 209, 102, 0.96);
    color: #111827;
    box-shadow: 0 0 0 6px rgba(255, 209, 102, 0.18), 0 14px 34px rgba(255, 209, 102, 0.24);
    animation: dontEatMePulse 0.9s ease-in-out infinite alternate;
}

.dont-eat-me-boost-badge[hidden] {
    display: none;
}

.is-boosting .dont-eat-me-stage {
    box-shadow: inset 0 0 0 1px rgba(255, 209, 102, 0.3), 0 24px 70px rgba(255, 209, 102, 0.13);
}

.dont-eat-me-hud,
.dont-eat-me-controls {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    align-items: center;
    margin-top: .9rem;
}

.dont-eat-me-hud strong {
    display: inline-flex;
    gap: .35rem;
    align-items: center;
    padding: .55rem .75rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
}

.dont-eat-me-hud strong.dem-performance-stat {
    background: rgba(124, 247, 255, 0.08);
    border-color: rgba(124, 247, 255, 0.18);
}

.dont-eat-me-shell[data-dem-net-quality="good"] .dem-performance-stat {
    border-color: rgba(141, 255, 106, 0.32);
}

.dont-eat-me-shell[data-dem-net-quality="warn"] .dem-performance-stat {
    border-color: rgba(255, 209, 102, 0.38);
}

.dont-eat-me-shell[data-dem-net-quality="bad"] .dem-performance-stat {
    border-color: rgba(255, 122, 217, 0.38);
}

.dont-eat-me-hud > span {
    flex: 1 1 260px;
    color: var(--muted, #aeb7c2);
}

.dont-eat-me-controls label {
    min-width: min(220px, 100%);
    flex: 1 1 190px;
}

.dont-eat-me-controls .form-help {
    flex: 2 1 320px;
    margin: 0;
}

.dont-eat-me-active-board li,
.dont-eat-me-global-board li,
.dont-eat-me-saved-board li {
    align-items: flex-start;
}

@keyframes dontEatMePulse {
    from { transform: translateY(0) scale(1); }
    to { transform: translateY(-1px) scale(1.04); }
}

@media (max-width: 760px) {
    .dont-eat-me-minimap {
        width: 132px;
        height: 132px;
        right: 10px;
        top: 10px;
    }

    .dont-eat-me-stage,
    .dont-eat-me-canvas {
        min-height: 360px;
    }

    .dont-eat-me-hud strong {
        flex: 1 1 42%;
        justify-content: center;
    }
}

/* v50 simplified content admin and readable automatic patch diagnostics */
.content-simple-form.admin-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
}
.content-simple-form .wide { grid-column: 1 / -1; }
.content-category-mini-edit {
    grid-template-columns: 1fr auto;
}
.content-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .75rem;
}
.patch-inline-diagnostics {
    display: grid;
    gap: .7rem;
}
.patch-readable-diagnostics {
    display: grid;
    gap: .75rem;
}
.patch-diagnostic-state {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .85rem .95rem;
    border-radius: calc(var(--radius) * .75);
    border: 1px solid rgba(95, 68, 84, .16);
    background: rgba(255,255,255,.72);
    box-shadow: var(--shadow-soft);
}
.patch-diagnostic-state > span {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: .22rem .55rem;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.patch-diagnostic-state strong { display: block; font-size: 1rem; }
.patch-diagnostic-state small { display: block; color: var(--muted); font-weight: 800; line-height: 1.45; margin-top: .15rem; }
.patch-diagnostic-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: .65rem;
}
.patch-diagnostic-card {
    padding: .75rem .8rem;
    border-radius: calc(var(--radius) * .65);
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(95, 68, 84, .14);
}
.patch-diagnostic-card span {
    display: block;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.patch-diagnostic-card strong {
    display: block;
    margin-top: .2rem;
    overflow-wrap: anywhere;
}
.patch-diagnostic-state.success,
.patch-diagnostic-card.success { border-color: rgba(38, 166, 91, .38); background: rgba(233, 255, 241, .82); }
.patch-diagnostic-state.warn,
.patch-diagnostic-card.warn { border-color: rgba(255, 184, 77, .46); background: rgba(255, 246, 225, .86); }
.patch-diagnostic-state.danger,
.patch-diagnostic-card.danger { border-color: rgba(225, 81, 81, .44); background: rgba(255, 235, 235, .86); }
.patch-diagnostic-state.info,
.patch-diagnostic-card.info { border-color: rgba(74, 144, 226, .36); background: rgba(234, 245, 255, .86); }
.patch-diagnostic-state.success > span { background: rgba(38, 166, 91, .16); color: #166534; }
.patch-diagnostic-state.warn > span { background: rgba(255, 184, 77, .22); color: #8a4b00; }
.patch-diagnostic-state.danger > span { background: rgba(225, 81, 81, .18); color: #8a1f1f; }
.patch-diagnostic-state.info > span { background: rgba(74, 144, 226, .16); color: #174b83; }
.patch-diagnostic-notes {
    margin: 0;
    padding-left: 1.15rem;
    color: var(--muted);
    font-weight: 800;
}
.patch-diagnostic-samples {
    border: 1px dashed rgba(95, 68, 84, .26);
    border-radius: calc(var(--radius) * .65);
    padding: .65rem .8rem;
    background: rgba(255,255,255,.56);
}
.patch-diagnostic-samples summary {
    cursor: pointer;
    font-weight: 950;
}
.patch-diagnostic-samples code {
    overflow-wrap: anywhere;
    white-space: normal;
}
.archive-patch-debug-text.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
@media (max-width: 760px) {
    .content-simple-form.admin-form-grid { grid-template-columns: 1fr; }
    .patch-diagnostic-state { flex-direction: column; }
}

/* v052 admin dashboard spacing, theme assignment, and search polish */
.admin-dashboard-info-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.admin-summary-strip {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .65rem;
    flex-wrap: wrap;
    min-width: min(100%, 340px);
}
.admin-summary-pill {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    padding: .5rem .7rem;
    border-radius: 999px;
    border: 1px solid rgba(95, 68, 84, .16);
    background: color-mix(in srgb, var(--panel-strong, #fff) 88%, var(--brand-2) 12%);
    box-shadow: 0 8px 18px rgba(0,0,0,.05);
    white-space: nowrap;
}
.admin-summary-pill strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.8rem;
    min-height: 1.8rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand) 16%, transparent);
    color: var(--brand);
    font-weight: 1000;
    line-height: 1;
}
.admin-summary-pill em {
    display: inline-block;
    color: var(--muted);
    font-style: normal;
    font-weight: 900;
    letter-spacing: .01em;
}
.admin-dashboard-controls {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: .85rem;
    flex-wrap: wrap;
    margin: 1rem 0;
}
.admin-dashboard-search {
    flex: 1 1 260px;
    margin: 0;
}
.admin-dashboard-scroll {
    display: grid;
    gap: .75rem;
}
.theme-assign-workspace {
    display: grid;
    gap: 1rem;
}
.theme-assign-controls {
    display: grid;
    grid-template-columns: minmax(240px, 1.2fr) minmax(220px, .8fr);
    gap: .85rem;
    align-items: end;
}
.theme-assign-controls label {
    margin: 0;
}
.theme-assign-grid {
    align-items: stretch;
}
.theme-assign-card {
    display: grid;
    gap: .85rem;
    border: 1px solid rgba(95, 68, 84, .14);
    transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.theme-assign-card.is-waiting {
    opacity: .92;
}
.theme-assign-card.is-assignable {
    border-color: rgba(38, 166, 91, .45);
    background: linear-gradient(135deg, rgba(233,255,241,.86), color-mix(in srgb, var(--panel, #fff) 88%, #fff 12%));
    box-shadow: 0 14px 30px rgba(38, 166, 91, .09);
}
.theme-assign-card.is-assignable-hidden {
    border-color: rgba(255, 184, 77, .58);
    background: linear-gradient(135deg, rgba(255,246,225,.9), color-mix(in srgb, var(--panel, #fff) 90%, #fff 10%));
}
.theme-assign-card.is-owned {
    border-color: rgba(74, 144, 226, .35);
    background: linear-gradient(135deg, rgba(234,245,255,.82), color-mix(in srgb, var(--panel, #fff) 92%, #fff 8%));
}
.theme-assign-card.is-hidden-theme:not(.is-assignable-hidden) {
    border-style: dashed;
}
.theme-assign-card .section-head {
    gap: .75rem;
    align-items: flex-start;
}
.theme-assign-description {
    margin: 0;
    color: var(--muted);
    font-weight: 750;
    line-height: 1.45;
}
.theme-grant-list {
    display: grid;
    gap: .5rem;
}
.theme-grant-row {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr) auto;
    gap: .6rem;
    align-items: center;
    padding: .55rem .65rem;
    border: 1px solid rgba(95, 68, 84, .12);
    border-radius: .9rem;
    background: rgba(255,255,255,.58);
}
.theme-grant-row span,
.theme-grant-row em {
    color: var(--muted);
    font-style: normal;
    font-weight: 850;
}
@media (max-width: 760px) {
    .admin-dashboard-info-bar,
    .admin-dashboard-controls {
        align-items: stretch;
    }
    .admin-summary-strip {
        justify-content: flex-start;
        min-width: 100%;
    }
    .admin-summary-pill {
        flex: 1 1 150px;
    }
    .theme-assign-controls,
    .theme-grant-row {
        grid-template-columns: 1fr;
    }
}
.status-pill.info { background: rgba(74, 144, 226, .16); border-color: rgba(74, 144, 226, .45); color: #174b83; }


/* v053 admin theme search filter safety: force hidden cards out of scroll panels. */
[data-theme-admin-card][hidden],
[data-theme-assign-card][hidden],
.theme-admin-card.is-filter-hidden,
.theme-assign-card.is-filter-hidden {
    display: none !important;
}

/* v54 mobile font consistency: keep mobile typography matched to the desktop theme fonts. */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media (max-width: 780px), (pointer: coarse) {
    body,
    button,
    input,
    select,
    textarea,
    .site-shell,
    .site-body,
    .panel,
    .card,
    .admin-page,
    .admin-shell,
    .theme-admin-card,
    .theme-library-card,
    .survey-card,
    .game-card,
    .nav-link,
    .admin-nav a {
        font-family: var(--font-ui, var(--font)) !important;
        font-synthesis-weight: none;
    }

    h1,
    h2,
    h3,
    .brand strong,
    .hero-title,
    .page-title,
    .section-title,
    .stat-value,
    .admin-page h1,
    .admin-page h2,
    .theme-admin-card h1,
    .theme-admin-card h2 {
        font-family: var(--font-ui, var(--font)) !important;
        letter-spacing: .02em;
    }
}

/* v055 mobile typography hardening: inherit the same theme font on touch/mobile layouts. */
@media (max-width: 780px), (pointer: coarse) {
    html,
    body,
    .site-shell,
    .site-header,
    .site-body,
    .site-footer,
    .page-shell,
    .admin-page,
    .admin-shell,
    .panel,
    .card,
    .account-card,
    .game-card,
    .survey-card,
    .theme-admin-card,
    .theme-library-card,
    .theme-assign-card,
    .content-card,
    .shop-card,
    .giveaway-card {
        font-family: var(--font-ui, var(--font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)) !important;
    }

    body :where(a, button, input, select, textarea, label, small, span, strong, em, p, li, td, th, div):not(code):not(pre):not(kbd):not(samp) {
        font-family: inherit;
    }

    :where(h1, h2, h3, h4, .brand strong, .hero-title, .page-title, .section-title, .admin-page h1, .admin-page h2, .card-title, .stat-value):not(code):not(pre) {
        font-family: var(--font-ui, var(--font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)) !important;
    }
}


/* v056 search/select/dropdown and guest game polish. */
.site-search-hybrid {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-width: min(360px, 100%);
}
.hybrid-search-box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(120px, 1fr) auto;
    gap: .35rem;
    width: 100%;
}
.hybrid-search-toggle,
.hybrid-search-option {
    border: 2px solid rgba(39,27,72,.16);
    border-radius: 14px;
    background: var(--panel-strong);
    color: var(--ink);
    font-weight: 900;
    cursor: pointer;
}
.hybrid-search-toggle { padding: .62rem .7rem; white-space: nowrap; }
.hybrid-search-dropdown {
    position: absolute;
    top: calc(100% + .4rem);
    right: 0;
    min-width: min(280px, 88vw);
    padding: .75rem;
    border: var(--border);
    border-radius: 18px;
    background: var(--panel-strong);
    box-shadow: var(--shadow);
    z-index: 120;
}
.hybrid-search-dropdown strong { display:block; margin-bottom:.45rem; }
.hybrid-search-options { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:.4rem; }
.hybrid-search-option { padding:.55rem .65rem; text-align:left; }
.hybrid-search-option.is-active { outline: 3px solid rgba(35,215,255,.35); }
.hybrid-select-filter {
    width: 100%;
    margin: .2rem 0 .45rem;
    padding: .65rem .75rem;
    border: 2px dashed rgba(39,27,72,.18);
    border-radius: 14px;
    background: rgba(255,255,255,.72);
    color: var(--ink);
    font-weight: 800;
}
select option[hidden] { display: none; }
.guest-play-callout,
.public-games-lobby .game-lobby-workspace {
    border-color: rgba(35,215,255,.35);
}
.guest-save-note {
    padding: .85rem 1rem;
    border: 2px dashed rgba(255,93,173,.35);
    border-radius: 16px;
    background: rgba(255,255,255,.62);
    font-weight: 800;
}
.rabbit-run-guest-shell { margin: 1rem 0; }
.rabbit-run-guest-shell .rabbit-run-stage { min-height: 360px; }
@media (max-width: 780px) {
    .site-search-hybrid { min-width: 100%; }
    .hybrid-search-box { grid-template-columns: 1fr; }
    .hybrid-search-dropdown { left: 0; right: auto; width: 100%; }
}

/* v058 top search dropdown stacking + admin user hybrid search. */
.site-header,
.compact-header.site-header,
.header-tools,
.site-search-hybrid,
.hybrid-search-box {
    overflow: visible;
}
.site-header.compact-header,
html[data-theme] .site-header.compact-header,
html[data-theme] .site-header {
    z-index: 6200;
}
html[data-theme] .site-main,
html[data-theme] .site-footer {
    z-index: 1;
}
.site-search.site-search-hybrid,
.compact-header .site-search.site-search-hybrid {
    position: relative;
    z-index: 6300;
    display: grid;
    grid-template-columns: minmax(160px, 1fr) auto;
    align-items: center;
    gap: .45rem;
    min-width: min(100%, 360px);
}
.site-search.site-search-hybrid:focus-within,
.site-search.site-search-hybrid.is-search-menu-open {
    z-index: 7000;
}
.hybrid-search-box {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
}
.site-search-hybrid .hybrid-search-toggle {
    display: none !important;
}
.site-search-hybrid .hybrid-search-submit {
    min-width: 3.5rem;
    text-align: center;
}
.hybrid-search-dropdown {
    position: absolute;
    top: calc(100% + .45rem);
    left: 0;
    right: auto;
    width: min(330px, 88vw);
    max-height: min(380px, calc(100vh - 130px));
    overflow: auto;
    padding: .8rem;
    border: var(--border);
    border-radius: 18px;
    background: color-mix(in srgb, var(--panel-strong) 94%, #fff 6%);
    box-shadow: 0 20px 44px rgba(0,0,0,.22);
    z-index: 7100;
}
.hybrid-search-dropdown[hidden] {
    display: none !important;
}
.hybrid-search-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .55rem;
}
.hybrid-search-head span {
    padding: .22rem .55rem;
    border-radius: 999px;
    background: rgba(35,215,255,.16);
    color: var(--ink);
    font-size: .82rem;
    font-weight: 900;
    white-space: nowrap;
}
.hybrid-search-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
}
.hybrid-search-option {
    min-height: 42px;
    text-align: left;
}
.hybrid-search-option.is-active {
    border-color: rgba(35,215,255,.85);
    background: rgba(35,215,255,.18);
    outline: 3px solid rgba(35,215,255,.24);
}

.admin-user-hybrid-search {
    position: relative;
    z-index: 45;
    display: grid;
    gap: .75rem;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 2px solid rgba(35,215,255,.28);
    border-radius: 20px;
    background: color-mix(in srgb, var(--panel-strong, rgba(255,255,255,.92)) 72%, transparent);
    box-shadow: 0 12px 24px rgba(0,0,0,.08);
}
.admin-user-hybrid-search:focus-within,
.admin-user-hybrid-search.is-user-menu-open {
    z-index: 95;
}
.admin-user-search-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: end;
}
.admin-user-search-label {
    display: grid;
    gap: .3rem;
    margin: 0;
    font-weight: 950;
}
.admin-user-search-label input {
    width: 100%;
}
.admin-user-search-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.admin-user-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}
.admin-user-filter-row button,
.admin-user-clear-button,
.admin-user-option {
    border: 2px solid rgba(39,27,72,.16);
    border-radius: 14px;
    background: var(--panel-strong);
    color: var(--ink);
    font-weight: 900;
    cursor: pointer;
}
.admin-user-filter-row button {
    padding: .48rem .75rem;
}
.admin-user-filter-row button.is-active {
    border-color: rgba(35,215,255,.85);
    background: rgba(35,215,255,.16);
    outline: 3px solid rgba(35,215,255,.20);
}
.admin-user-clear-button {
    min-height: 42px;
    padding: .5rem .75rem;
}
.admin-user-count {
    font-weight: 950;
    color: var(--muted);
    white-space: nowrap;
}
.admin-user-options-menu {
    position: absolute;
    top: calc(100% + .5rem);
    left: 1rem;
    right: 1rem;
    max-height: min(430px, calc(100vh - 150px));
    overflow: auto;
    padding: .9rem;
    border: var(--border);
    border-radius: 18px;
    background: color-mix(in srgb, var(--panel-strong) 96%, #fff 4%);
    box-shadow: 0 20px 44px rgba(0,0,0,.22);
    z-index: 105;
}
.admin-user-options-menu[hidden] {
    display: none !important;
}
.admin-user-options-head {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .65rem;
}
.admin-user-option-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .45rem;
}
.admin-user-option {
    display: grid;
    gap: .18rem;
    padding: .65rem .75rem;
    text-align: left;
}
.admin-user-option small {
    color: var(--muted);
    font-weight: 800;
    line-height: 1.25;
}
.admin-user-option[hidden],
[data-admin-user-card][hidden],
[data-admin-user-card].is-filter-hidden {
    display: none !important;
}
.admin-record-card.is-search-hit {
    outline: 4px solid rgba(35,215,255,.74);
    outline-offset: 4px;
    box-shadow: var(--shadow), 0 0 0 8px rgba(35,215,255,.16);
}
@media (max-width: 780px) {
    .site-search.site-search-hybrid,
    .compact-header .site-search.site-search-hybrid {
        grid-template-columns: minmax(0, 1fr) auto;
        width: 100%;
    }
    .hybrid-search-dropdown {
        width: min(360px, calc(100vw - 28px));
        max-height: min(360px, calc(100vh - 118px));
    }
    .admin-user-search-top {
        grid-template-columns: 1fr;
    }
    .admin-user-search-actions {
        justify-content: flex-start;
    }
    .admin-user-options-menu {
        left: .6rem;
        right: .6rem;
    }
}
@media (max-width: 560px) {
    .compact-header .site-search.site-search-hybrid .hybrid-search-submit,
    .site-search.site-search-hybrid .hybrid-search-submit {
        width: 3.5rem;
        max-width: 3.75rem;
    }
}

/* v059 hybrid search everywhere + compact searchable choice controls. */
.hybrid-search-suggestions {
    display: grid;
    gap: .4rem;
    margin-top: .65rem;
    padding-top: .65rem;
    border-top: 2px dashed rgba(39,27,72,.14);
}
.hybrid-search-suggestions-head {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.hybrid-search-suggestion {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: center;
    width: 100%;
    padding: .55rem .65rem;
    border: 2px solid rgba(39,27,72,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.72);
    color: var(--ink);
    cursor: pointer;
    text-align: left;
}
.hybrid-search-suggestion strong,
.hybrid-search-suggestion small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.hybrid-search-suggestion small {
    color: var(--muted);
    font-weight: 900;
}
.hybrid-search-suggestion:hover,
.hybrid-search-suggestion:focus-visible {
    border-color: rgba(35,215,255,.72);
    outline: 3px solid rgba(35,215,255,.18);
}
.hybrid-search-suggestion.is-direct {
    background: rgba(35,215,255,.12);
}

.hybrid-choice {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
}
.hybrid-choice-native {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;
    opacity: .01 !important;
    pointer-events: none !important;
    z-index: -1 !important;
}
.hybrid-choice-button {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem;
    width: 100%;
    min-height: 44px;
    padding: .55rem .7rem;
    border: 2px solid rgba(39,27,72,.16);
    border-radius: 14px;
    background: var(--panel-strong);
    color: var(--ink);
    cursor: pointer;
    font: inherit;
    font-weight: 950;
    text-align: left;
    box-shadow: inset 0 -1px 0 rgba(39,27,72,.05);
}
.hybrid-choice-button span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.hybrid-choice-button b {
    color: var(--muted);
    font-weight: 950;
}
.hybrid-choice.is-choice-open .hybrid-choice-button,
.hybrid-choice-button:focus-visible {
    border-color: rgba(35,215,255,.82);
    outline: 4px solid rgba(35,215,255,.18);
}
.hybrid-choice-menu {
    position: fixed;
    display: grid;
    gap: .45rem;
    padding: .65rem;
    border: var(--border);
    border-radius: 16px;
    background: color-mix(in srgb, var(--panel-strong) 96%, #fff 4%);
    box-shadow: 0 20px 44px rgba(0,0,0,.24);
    overflow: auto;
    z-index: 8200;
}
.hybrid-choice-menu[hidden] {
    display: none !important;
}
.hybrid-choice-search {
    width: 100%;
    min-height: 40px;
    padding: .5rem .65rem;
    border: 2px dashed rgba(39,27,72,.18);
    border-radius: 13px;
    background: rgba(255,255,255,.74);
    color: var(--ink);
    font-weight: 900;
}
.hybrid-choice-options {
    display: grid;
    gap: .3rem;
}
.hybrid-choice-option {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem;
    width: 100%;
    min-height: 38px;
    padding: .45rem .55rem;
    border: 2px solid rgba(39,27,72,.10);
    border-radius: 12px;
    background: rgba(255,255,255,.62);
    color: var(--ink);
    cursor: pointer;
    font-weight: 900;
    text-align: left;
}
.hybrid-choice-option span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.hybrid-choice-option[aria-selected="true"] {
    border-color: rgba(35,215,255,.82);
    background: rgba(35,215,255,.14);
}
.hybrid-choice-option:hover,
.hybrid-choice-option:focus-visible {
    border-color: rgba(255,93,173,.55);
    outline: 3px solid rgba(255,93,173,.14);
}
.hybrid-choice-option:disabled {
    opacity: .55;
    cursor: not-allowed;
}
.hybrid-choice-option[hidden],
.hybrid-choice-option.is-filter-hidden {
    display: none !important;
}
.hybrid-choice-empty {
    margin: .2rem 0 0;
    color: var(--muted);
    font-size: .9rem;
    font-weight: 850;
}

.admin-page-hybrid-search {
    position: relative;
    z-index: 52;
    display: grid;
    gap: .75rem;
    max-width: min(100%, 1360px);
    margin: 1rem auto;
    padding: 1rem;
    border: 2px solid rgba(35,215,255,.28);
    border-radius: 20px;
    background: color-mix(in srgb, var(--panel-strong, rgba(255,255,255,.92)) 74%, transparent);
    box-shadow: 0 12px 24px rgba(0,0,0,.08);
}
.admin-page-hybrid-search:focus-within,
.admin-page-hybrid-search.is-admin-page-menu-open {
    z-index: 110;
}
.admin-page-search-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: end;
}
.admin-page-search-label {
    display: grid;
    gap: .3rem;
    margin: 0;
    font-weight: 950;
}
.admin-page-search-label input {
    width: 100%;
}
.admin-page-search-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.admin-page-count {
    color: var(--muted);
    font-weight: 950;
    white-space: nowrap;
}
.admin-page-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}
.admin-page-filter-row button,
.admin-page-clear-button,
.admin-page-option {
    border: 2px solid rgba(39,27,72,.16);
    border-radius: 14px;
    background: var(--panel-strong);
    color: var(--ink);
    cursor: pointer;
    font-weight: 900;
}
.admin-page-filter-row button {
    padding: .45rem .72rem;
}
.admin-page-filter-row button.is-active {
    border-color: rgba(35,215,255,.85);
    background: rgba(35,215,255,.16);
    outline: 3px solid rgba(35,215,255,.20);
}
.admin-page-clear-button {
    min-height: 42px;
    padding: .48rem .72rem;
}
.admin-page-options-menu {
    position: absolute;
    top: calc(100% + .5rem);
    left: 1rem;
    right: 1rem;
    max-height: min(430px, calc(100vh - 150px));
    overflow: auto;
    padding: .9rem;
    border: var(--border);
    border-radius: 18px;
    background: color-mix(in srgb, var(--panel-strong) 96%, #fff 4%);
    box-shadow: 0 20px 44px rgba(0,0,0,.22);
    z-index: 125;
}
.admin-page-options-menu[hidden] {
    display: none !important;
}
.admin-page-options-head {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .65rem;
}
.admin-page-options-head span {
    color: var(--muted);
    font-size: .86rem;
    font-weight: 850;
}
.admin-page-option-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .45rem;
}
.admin-page-option {
    display: grid;
    gap: .18rem;
    padding: .65rem .75rem;
    text-align: left;
}
.admin-page-option small {
    color: var(--muted);
    font-weight: 800;
    line-height: 1.25;
    text-transform: capitalize;
}
[data-admin-card].is-filter-hidden,
[data-admin-card][hidden],
[data-theme-admin-card].is-filter-hidden,
[data-theme-admin-card][hidden],
[data-theme-assign-card].is-filter-hidden,
[data-theme-assign-card][hidden],
.theme-library-card.is-filter-hidden,
.theme-library-card[hidden],
.admin-mini-edit.is-filter-hidden,
.admin-mini-edit[hidden],
tr.is-filter-hidden,
tr[hidden] {
    display: none !important;
}
.is-search-hit,
.admin-record-card.is-search-hit,
[data-admin-card].is-search-hit,
[data-theme-admin-card].is-search-hit,
[data-theme-assign-card].is-search-hit,
.theme-library-card.is-search-hit,
tr.is-search-hit {
    outline: 4px solid rgba(35,215,255,.74);
    outline-offset: 4px;
    box-shadow: var(--shadow), 0 0 0 8px rgba(35,215,255,.16);
}
@media (max-width: 780px) {
    .admin-page-search-top {
        grid-template-columns: 1fr;
    }
    .admin-page-search-actions {
        justify-content: flex-start;
    }
    .admin-page-options-menu {
        left: .6rem;
        right: .6rem;
    }
    .hybrid-choice-menu {
        width: calc(100vw - 24px) !important;
        left: 12px !important;
    }
}

/* v060: keep compact hybrid choice dropdowns inside their own field/container instead of fixed to the viewport */
.hybrid-choice {
    position: relative;
    isolation: isolate;
    z-index: 30;
}
.hybrid-choice.is-choice-open {
    z-index: 9000;
}
.hybrid-choice-menu {
    position: absolute !important;
    top: calc(100% + .4rem) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: min(100%, 520px) !important;
    max-height: min(320px, 58vh) !important;
    overscroll-behavior: contain;
}
.theme-admin-card,
.theme-admin-card .grid-form,
.theme-assign-card,
.admin-record-card,
.admin-record-card .grid-form,
.admin-mini-edit,
.admin-mini-edit .grid-form,
.admin-courses-shell,
.course-manager-panel,
.course-editor-card,
.course-question,
.course-grade-form,
.course-assignment-table,
.course-assignment-table td,
.account-tab-panel,
.account-settings-content {
    overflow: visible;
}

/* v060: 9000 Courses admin training UI */
.admin-courses-shell {
    display: grid;
    gap: 1rem;
}
.course-stat-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .7rem;
    margin-top: .75rem;
}
.course-stat-pill {
    display: grid;
    gap: .18rem;
    padding: .8rem .9rem;
    border: 2px solid rgba(39,27,72,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.62);
    box-shadow: inset 0 -1px 0 rgba(39,27,72,.05);
}
.course-stat-pill strong {
    font-size: 1.35rem;
    line-height: 1;
}
.course-stat-pill span {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.course-panel-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}
.course-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: .55rem;
    margin: .75rem 0;
}
.course-meta-grid span {
    display: grid;
    gap: .12rem;
    padding: .55rem .65rem;
    border: 2px solid rgba(39,27,72,.10);
    border-radius: 14px;
    background: rgba(255,255,255,.58);
    color: var(--muted);
    font-size: .82rem;
    font-weight: 900;
}
.course-meta-grid b {
    color: var(--ink);
    font-size: .96rem;
}
.course-material-stack,
.course-question-stack,
.course-editor-stack {
    display: grid;
    gap: .75rem;
}
.course-material-section,
.course-question,
.course-editor-card,
.course-manager-panel {
    border: 2px solid rgba(39,27,72,.12);
    border-radius: 20px;
    background: color-mix(in srgb, var(--panel-strong) 88%, transparent);
    box-shadow: 0 12px 24px rgba(0,0,0,.06);
}
.course-material-section,
.course-question {
    padding: .9rem;
}
.course-material-section h4,
.course-question h4,
.course-editor-card h3,
.course-manager-panel h3 {
    margin-top: 0;
}
.course-material-section p,
.course-question p {
    white-space: pre-wrap;
}
.course-material-image,
.course-option-image {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    border: 2px solid rgba(39,27,72,.12);
    box-shadow: 0 12px 24px rgba(0,0,0,.08);
}
.course-material-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .45rem;
    font-weight: 950;
}
.course-answer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .55rem;
}
.course-answer-option {
    display: grid;
    gap: .4rem;
    align-content: start;
    padding: .65rem;
    border: 2px solid rgba(39,27,72,.12);
    border-radius: 15px;
    background: rgba(255,255,255,.64);
    cursor: pointer;
    font-weight: 900;
}
.course-answer-option:hover,
.course-answer-option:focus-within {
    border-color: rgba(35,215,255,.66);
    outline: 3px solid rgba(35,215,255,.14);
}
.course-answer-option input {
    width: auto;
    min-height: 0;
    margin-right: .35rem;
}
.course-user-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .45rem;
    max-height: 280px;
    overflow: auto;
    padding: .45rem;
    border: 2px dashed rgba(39,27,72,.16);
    border-radius: 16px;
    background: rgba(255,255,255,.45);
}
.course-user-check {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem .65rem;
    border: 2px solid rgba(39,27,72,.10);
    border-radius: 14px;
    background: rgba(255,255,255,.66);
    font-weight: 900;
}
.course-user-check input {
    width: auto;
    min-height: 0;
}
.course-assignment-table-wrap {
    width: 100%;
    overflow-x: auto;
    padding-bottom: .35rem;
}
.course-assignment-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 .45rem;
}
.course-assignment-table th,
.course-assignment-table td {
    padding: .55rem;
    vertical-align: top;
    text-align: left;
}
.course-assignment-table tbody tr {
    border-radius: 16px;
    background: rgba(255,255,255,.56);
    box-shadow: inset 0 0 0 2px rgba(39,27,72,.08);
}
.course-grade-form {
    display: grid;
    grid-template-columns: minmax(80px, .55fr) minmax(120px, 1fr) minmax(150px, 1.4fr) auto;
    gap: .45rem;
    align-items: end;
    min-width: 520px;
}
.course-pass-check {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .86rem;
    font-weight: 900;
}
.course-pass-check input {
    width: auto;
    min-height: 0;
}
.course-editor-card,
.course-manager-panel {
    padding: 1rem;
}
.course-json-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: .75rem;
}
.course-json-fields textarea,
.course-editor-card textarea,
.course-manager-panel textarea {
    min-height: 140px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .88rem;
    line-height: 1.38;
}
.course-empty-note {
    padding: 1rem;
    border: 2px dashed rgba(39,27,72,.16);
    border-radius: 18px;
    background: rgba(255,255,255,.5);
    color: var(--muted);
    font-weight: 900;
}
.course-submission-summary {
    display: grid;
    gap: .35rem;
    margin-top: .65rem;
    padding: .75rem;
    border-radius: 16px;
    background: rgba(35,215,255,.10);
    border: 2px solid rgba(35,215,255,.24);
}
@media (max-width: 780px) {
    .hybrid-choice-menu {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .course-grade-form {
        grid-template-columns: 1fr;
        min-width: 240px;
    }
    .course-assignment-table th,
    .course-assignment-table td {
        min-width: 180px;
    }
}

/* v061: contained hybrid menus, owner admin-button order, and classroom-style 9000 Courses UI */
.admin-page-hybrid-search,
.hybrid-choice,
.hybrid-choice * {
    box-sizing: border-box;
}
.admin-page-hybrid-search {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.admin-page-options-menu {
    left: .8rem;
    right: .8rem;
    width: auto;
    max-width: calc(100% - 1.6rem);
    box-sizing: border-box;
}
.hybrid-choice {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.hybrid-choice-button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.hybrid-choice-menu {
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + .42rem) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    transform: none !important;
    box-sizing: border-box;
}
.grid-form label,
.admin-form-grid label,
.course-builder-grid label {
    min-width: 0;
}
.theme-admin-card .hybrid-choice-menu,
.admin-courses-shell .hybrid-choice-menu,
.admin-settings-shell .hybrid-choice-menu,
.admin-record-card .hybrid-choice-menu {
    max-width: 100% !important;
}

.admin-button-order-workspace {
    display: grid;
    gap: 1rem;
}
.admin-button-order-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: .55rem;
    align-items: stretch;
}
.admin-button-order-card {
    position: relative;
    display: grid;
    grid-template-columns: 32px 36px minmax(0, 1fr) 58px;
    gap: .45rem;
    align-items: center;
    min-height: 58px;
    padding: .5rem;
    border: 2px solid rgba(39,27,72,.12);
    border-radius: 16px;
    background: color-mix(in srgb, var(--panel-strong, #fff) 90%, transparent);
    box-shadow: 0 8px 18px rgba(0,0,0,.055);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease;
    will-change: transform;
}
.admin-order-list-dragging .admin-button-order-card:not(.dragging) {
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease;
}
.admin-button-order-card.dragging {
    z-index: 20;
    opacity: .72;
    border-color: rgba(35,215,255,.55);
    background: linear-gradient(135deg, rgba(35,215,255,.16), color-mix(in srgb, var(--panel-strong, #fff) 92%, transparent));
    box-shadow: 0 14px 30px rgba(0,0,0,.16);
    cursor: grabbing;
}
.admin-drag-handle {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 11px;
    border: 2px solid rgba(35,215,255,.20);
    background: rgba(255,255,255,.52);
    color: var(--ink);
    font-size: .95rem;
    font-weight: 950;
    line-height: 1;
    cursor: grab;
    touch-action: none;
    user-select: none;
}
.admin-drag-handle:active {
    cursor: grabbing;
}
.admin-button-order-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(35,215,255,.16), rgba(255,93,173,.14));
    border: 2px solid rgba(39,27,72,.10);
    font-size: 1.05rem;
}
.admin-button-order-copy {
    display: grid;
    gap: 0;
    min-width: 0;
}
.admin-button-order-copy strong {
    display: block;
    overflow: hidden;
    color: var(--ink);
    font-size: .9rem;
    line-height: 1.12;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.admin-button-order-copy span,
.admin-button-order-copy small {
    display: none;
}
.admin-button-order-number {
    display: grid;
    gap: .12rem;
    margin: 0;
    color: var(--ink);
    font-size: .64rem;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}
.admin-button-order-number input {
    min-height: 34px;
    padding: .25rem .3rem;
    text-align: center;
    font-size: .85rem;
}

.admin-courses-hero {
    position: relative;
    overflow: hidden;
}
.admin-courses-hero::after {
    content: "";
    position: absolute;
    inset: auto -12% -45% auto;
    width: min(430px, 55vw);
    aspect-ratio: 1;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(35,215,255,.24), rgba(255,93,173,.10) 48%, transparent 70%);
    pointer-events: none;
}
.admin-courses-shell,
.admin-courses-shell .account-settings-content,
.admin-courses-shell .account-tab-panel,
.admin-courses-shell .panel,
.admin-courses-shell .course-builder-pane,
.admin-courses-shell .course-builder-card,
.admin-courses-shell .course-material-section,
.admin-courses-shell .course-question,
.admin-settings-shell .admin-button-order-card {
    color: var(--ink);
}
.course-card-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
    margin: -.15rem -.15rem .85rem;
    padding: 1rem;
    border-radius: 20px;
    border: 2px solid rgba(35,215,255,.20);
    background: linear-gradient(135deg, rgba(35,215,255,.12), rgba(255,255,255,.72), rgba(255,93,173,.10));
}
.course-card-banner h3 {
    margin: .25rem 0;
    color: var(--ink);
    font-size: clamp(1.25rem, 2vw, 1.8rem);
}
.course-card-banner p {
    margin: 0;
    color: var(--muted);
    font-weight: 850;
}
.course-type-chip {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: .28rem .55rem;
    border-radius: 999px;
    border: 2px solid rgba(39,27,72,.10);
    background: rgba(255,255,255,.72);
    color: var(--muted);
    font-size: .76rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.course-details {
    margin-top: .85rem;
    border: 2px solid rgba(39,27,72,.10);
    border-radius: 18px;
    background: rgba(255,255,255,.45);
    overflow: hidden;
}
.course-details > summary {
    padding: .8rem 1rem;
    cursor: pointer;
    color: var(--ink);
    font-weight: 1000;
    background: rgba(255,255,255,.58);
}
.course-details > :not(summary) {
    margin: .85rem;
}
.course-material-stack,
.course-question-stack,
.course-editor-stack,
.course-assigned-stack,
.course-classroom-form,
.course-builder-list {
    display: grid;
    gap: .85rem;
}
.course-material-section,
.course-question,
.course-builder-pane,
.course-builder-card,
.course-manager-panel,
.course-editor-card {
    border: 2px solid rgba(39,27,72,.12);
    border-radius: 22px;
    background: color-mix(in srgb, var(--panel-strong, rgba(255,255,255,.94)) 92%, transparent);
    box-shadow: 0 16px 32px rgba(39,27,72,.07);
}
.course-builder-pane {
    padding: 1rem;
    background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.62));
}
.course-builder-card {
    padding: .9rem;
}
.course-builder-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    margin-bottom: .75rem;
}
.course-builder-head strong {
    color: var(--ink);
    font-size: 1rem;
}
.course-builder-head span {
    margin-right: auto;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 950;
}
.course-builder-grid textarea,
.course-classroom-form textarea {
    min-height: 92px;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.45;
}
.course-question-builder textarea[name$="[options_text]"] {
    min-height: 116px;
}
.course-material-section,
.course-question {
    padding: 1rem;
}
.course-material-section h4,
.course-question legend span,
.course-builder-pane h3,
.course-builder-pane h4,
.course-manager-panel h3,
.course-editor-card summary strong {
    color: var(--ink);
}
.course-material-section p,
.course-question p,
.course-empty-note {
    color: color-mix(in srgb, var(--ink) 84%, var(--muted));
    font-weight: 800;
    line-height: 1.55;
}
.course-question {
    display: grid;
    gap: .65rem;
}
.course-question legend {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: space-between;
    width: 100%;
    padding: 0 0 .55rem;
    font-weight: 950;
}
.course-question legend em {
    color: var(--muted);
    font-size: .82rem;
    font-style: normal;
}
.course-answer-option {
    display: grid;
    gap: .45rem;
    padding: .75rem;
    border: 2px solid rgba(39,27,72,.12);
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    color: var(--ink);
    cursor: pointer;
    font-weight: 900;
}
.course-answer-option:hover,
.course-answer-option:focus-within {
    border-color: rgba(35,215,255,.68);
    outline: 3px solid rgba(35,215,255,.14);
}
.course-answer-option input,
.course-pass-check input,
.course-user-check input {
    width: auto;
    min-height: 0;
    margin-right: .35rem;
}
.course-meta-grid span {
    background: rgba(255,255,255,.76);
    color: var(--muted);
}
.course-meta-grid span strong {
    color: var(--muted);
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.course-meta-grid span b {
    color: var(--ink);
    font-size: 1rem;
}
.course-editor-card > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    cursor: pointer;
    padding: .3rem .1rem .8rem;
}
.course-editor-card > summary span:first-child {
    display: grid;
    gap: .15rem;
}
.course-editor-card > summary small {
    color: var(--muted);
    font-weight: 850;
}
.course-user-grid {
    background: rgba(255,255,255,.58);
}
.course-user-check {
    color: var(--ink);
}
.course-grade-form {
    display: grid;
    grid-template-columns: minmax(90px, .55fr) minmax(140px, .9fr) minmax(110px, .6fr);
    gap: .5rem;
    align-items: end;
    min-width: 560px;
}
.course-grade-form .wide {
    grid-column: 1 / -1;
}
.course-grade-form button {
    justify-self: start;
}
.course-assignment-table-wrap {
    overflow-x: auto;
}
.course-assignment-table th {
    color: var(--ink);
}
.course-assignment-table td {
    color: var(--ink);
    background: rgba(255,255,255,.58);
}
@media (max-width: 780px) {
    .admin-button-order-card,
    .course-card-banner {
        grid-template-columns: 1fr;
    }
    .course-grade-form {
        grid-template-columns: 1fr;
        min-width: 260px;
    }
    .course-builder-head {
        flex-wrap: wrap;
    }
}

/* v062: grading form fixes */
.course-grade-status-label select {
    min-width: 170px;
}
.course-pass-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 48px;
    padding: .55rem .8rem;
    border: 2px solid rgba(39,27,72,.14);
    border-radius: 16px;
    background: rgba(255,255,255,.74);
    color: var(--ink);
    font-size: 1rem;
    font-weight: 950;
    cursor: pointer;
    user-select: none;
}
.course-pass-check:hover,
.course-pass-check:focus-within {
    border-color: rgba(35,215,255,.68);
    outline: 3px solid rgba(35,215,255,.14);
}
.course-pass-check input[type="checkbox"] {
    width: 1.35rem !important;
    height: 1.35rem !important;
    min-width: 1.35rem !important;
    min-height: 1.35rem !important;
    margin: 0 !important;
    transform: none;
}
.course-pass-check span {
    line-height: 1;
}
@media (max-width: 780px) {
    .course-pass-check {
        justify-content: flex-start;
    }
}

/* v065: course viewer cleanup */
.course-start-top {
    margin: .75rem 0 1rem;
}
.course-start-top .button {
    min-width: min(100%, 210px);
}
.course-material-section h4:first-child {
    margin-top: 0;
}


/* v066: Admin Tools course + bigger course titles */
.admin-courses-hero h1 {
    font-size: clamp(2.75rem, 6vw, 5rem);
    line-height: .9;
    letter-spacing: -.045em;
}
.admin-courses-shell .section-head h2 {
    font-size: clamp(1.75rem, 3.6vw, 2.65rem);
    line-height: 1;
}
.admin-courses-shell .section-head h3,
.course-manager-panel h3 {
    font-size: clamp(1.35rem, 2.35vw, 1.9rem);
    line-height: 1.05;
}
.course-card-banner h3 {
    font-size: clamp(1.85rem, 3.4vw, 2.65rem);
    line-height: .98;
    letter-spacing: -.025em;
}
.course-details > summary {
    font-size: clamp(1.08rem, 1.7vw, 1.32rem);
}
.course-material-section h4,
.course-builder-pane h4,
.course-editor-card > summary strong {
    font-size: clamp(1.3rem, 2.2vw, 1.8rem);
    line-height: 1.05;
    letter-spacing: -.015em;
}
.course-question legend span {
    font-size: clamp(1.12rem, 1.8vw, 1.42rem);
    line-height: 1.15;
}
.course-tool-reference-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    gap: .85rem;
    margin-top: .9rem;
}
.course-tool-reference-card {
    display: grid;
    gap: .75rem;
    padding: .95rem;
    border: 2px solid rgba(39,27,72,.12);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.58));
    box-shadow: 0 12px 24px rgba(39,27,72,.07);
}
.course-tool-reference-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
}
.course-tool-reference-icon {
    display: inline-grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 14px;
    background: rgba(35,215,255,.13);
    border: 2px solid rgba(35,215,255,.22);
    font-size: 1.22rem;
}
.course-tool-reference-head h5 {
    margin: 0 0 .2rem;
    color: var(--ink);
    font-size: clamp(1.1rem, 1.8vw, 1.38rem);
    line-height: 1.05;
}
.course-tool-reference-head p {
    margin: 0;
    color: color-mix(in srgb, var(--ink) 74%, var(--muted));
    font-size: .9rem;
    line-height: 1.35;
    font-weight: 800;
}
.course-rule-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.course-rule-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .5rem;
    border-radius: 999px;
    border: 2px solid rgba(39,27,72,.10);
    background: rgba(255,255,255,.76);
    color: var(--ink);
    font-size: .78rem;
    font-weight: 950;
}
.course-rule-chip strong {
    max-width: 13rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.course-rule-chip em {
    color: var(--accent-strong, #8b3de8);
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: .025em;
}
.course-rule-chip.muted {
    color: var(--muted);
}
@media (max-width: 780px) {
    .course-rule-chip strong {
        max-width: 9rem;
    }
}


/* v067: assigned course shortcut buttons */
.course-assignment-button-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: .65rem;
    margin: .8rem 0 1rem;
}
.course-jump-button {
    display: grid !important;
    justify-items: start;
    gap: .18rem;
    min-height: 58px;
    padding: .75rem .9rem !important;
    text-align: left;
    white-space: normal;
    line-height: 1.1;
}
.course-jump-button span {
    color: inherit;
    font-size: 1rem;
    font-weight: 1000;
}
.course-jump-button small {
    color: color-mix(in srgb, currentColor 72%, transparent);
    font-size: .78rem;
    font-weight: 900;
}
.course-assignment-card {
    scroll-margin-top: 6rem;
}
.course-assignment-card:target,
.course-assignment-card:focus {
    outline: 4px solid rgba(35,215,255,.24);
    border-color: rgba(35,215,255,.55);
    box-shadow: 0 0 0 6px rgba(35,215,255,.10), 0 20px 42px rgba(39,27,72,.12);
}

/* v068: focused assigned course launcher + draft-save course view */
.course-assignment-button-grid-large {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: .9rem;
    margin: 1rem 0 1.25rem;
}
.course-jump-button-large {
    min-height: 98px;
    padding: 1rem 1.1rem !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 38px rgba(39,27,72,.10);
}
.course-jump-button-large span {
    font-size: clamp(1.12rem, 2vw, 1.4rem);
    line-height: 1.05;
}
.course-jump-button-large small {
    font-size: .86rem;
    line-height: 1.25;
}
.course-focused-card {
    scroll-margin-top: 6.5rem;
}
.course-focused-card[hidden] {
    display: none !important;
}
.course-return-row,
.course-submit-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    justify-content: space-between;
    margin-bottom: .85rem;
}
.course-submit-actions {
    margin: .75rem 0 0;
    justify-content: flex-start;
}
.course-back-button {
    min-height: 42px;
}
.course-draft-save-status {
    min-height: 1.2rem;
    color: var(--muted);
    font-size: .86rem;
    font-weight: 950;
}
.course-draft-save-status.is-saving {
    color: color-mix(in srgb, var(--accent-strong, #8b3de8) 74%, var(--muted));
}
.course-draft-save-status.is-saved {
    color: color-mix(in srgb, #168a45 72%, var(--ink));
}
.course-draft-save-status.is-error {
    color: color-mix(in srgb, #b00020 78%, var(--ink));
}
.admin-courses-shell .account-tab-panel[data-course-workspace] > .course-assigned-stack {
    margin-top: 1rem;
}
@media (max-width: 720px) {
    .course-assignment-button-grid-large {
        grid-template-columns: 1fr;
    }
    .course-return-row,
    .course-submit-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .course-return-row .button,
    .course-submit-actions .button {
        width: 100%;
    }
}

/* v072: course manager user picker, username-only labels, and assignment removal */
.course-user-picker {
    display: grid;
    gap: .65rem;
}
.course-user-picker-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}
.course-user-picker-head div {
    display: grid;
    gap: .12rem;
}
.course-user-picker-head small {
    color: var(--muted);
    font-weight: 850;
}
.course-user-hybrid-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem;
    padding: .45rem;
    border: 3px solid rgba(35,215,255,.28);
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    box-shadow: inset 0 0 0 2px rgba(255,139,198,.10);
}
.course-user-hybrid-search:focus-within {
    border-color: rgba(35,215,255,.72);
    box-shadow: 0 0 0 4px rgba(35,215,255,.14), inset 0 0 0 2px rgba(255,139,198,.14);
}
.course-user-search-icon {
    width: 2rem;
    height: 2rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(35,215,255,.12);
    font-size: 1rem;
}
.course-user-hybrid-search input[type="search"] {
    min-height: 44px;
    padding: .55rem .65rem;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    font-weight: 950;
}
.course-user-picker-actions {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
}
.course-user-picker .course-user-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    max-height: 340px;
    padding: .55rem;
    background: rgba(255,255,255,.62);
}
.course-user-picker .course-user-check {
    min-height: 54px;
    cursor: pointer;
    transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease, background .14s ease;
}
.course-user-picker .course-user-check:hover,
.course-user-picker .course-user-check:focus-within {
    transform: translateY(-1px);
    border-color: rgba(35,215,255,.62);
    box-shadow: 0 8px 18px rgba(39,27,72,.10);
}
.course-user-picker .course-user-check:has(input:checked) {
    border-color: rgba(35,215,255,.85);
    background: linear-gradient(135deg, rgba(35,215,255,.18), rgba(255,139,198,.14));
}
.course-user-picker .course-user-check input {
    width: 1.15rem;
    height: 1.15rem;
    min-height: 0;
    accent-color: var(--accent-strong, #8b3de8);
}
.course-user-picker .course-user-check strong {
    font-size: .98rem;
}
.course-remove-form {
    margin-top: .55rem;
    display: flex;
    justify-content: flex-start;
}
.course-remove-form .button {
    white-space: normal;
}
.course-assignment-table td:first-child small {
    display: none !important;
}
@media (max-width: 760px) {
    .course-user-hybrid-search {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .course-user-hybrid-search .button {
        grid-column: 1 / -1;
        justify-self: stretch;
    }
}

/* Continuing updates 073: Email center and Google ad containers */
.admin-email-grid .panel,
.admin-email-compose {
    overflow: visible;
}
.email-default-template-list {
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
}
.email-template-chip {
    display: grid;
    gap: .2rem;
    padding: .75rem .9rem;
    border: 1px solid rgba(75, 45, 61, .14);
    border-radius: 16px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 10px 24px rgba(75, 45, 61, .06);
}
.email-template-chip strong {
    color: var(--ink, #3d2630);
    font-weight: 900;
}
.email-template-chip span {
    color: var(--muted, #8a6d78);
    font-size: .9rem;
}
.google-ad-shell {
    width: min(1100px, calc(100% - 2rem));
    margin: 1.25rem auto;
    padding: .75rem;
    border: 1px dashed rgba(75, 45, 61, .22);
    border-radius: 18px;
    background: rgba(255, 255, 255, .58);
    box-shadow: 0 12px 30px rgba(75, 45, 61, .08);
}
.google-ad-label {
    display: inline-flex;
    margin-bottom: .45rem;
    color: var(--muted, #8a6d78);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.google-ad-shell .adsbygoogle {
    min-height: 90px;
}

/* Continuing updates 080I: email center tabs and account balance payments */
.payment-status-grid,
.balance-topup-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .9rem;
}
.payment-webhook-box {
    display: grid;
    gap: .45rem;
    padding: .9rem 1rem;
    border: 1px solid rgba(75, 45, 61, .14);
    border-radius: 18px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 12px 28px rgba(75, 45, 61, .08);
    overflow-wrap: anywhere;
}
.payment-webhook-box code {
    display: block;
    padding: .65rem .75rem;
    border-radius: 12px;
    background: rgba(35, 215, 255, .12);
    color: var(--ink, #3d2630);
    font-weight: 800;
}
.payment-provider-roadmap,
.payment-method-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: .7rem 0 0;
}
.payment-provider-roadmap .status-pill,
.payment-method-chip {
    border-radius: 999px;
    border: 1px solid rgba(75, 45, 61, .16);
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 8px 18px rgba(75, 45, 61, .06);
}
.payment-provider-card,
.email-template-editor,
.balance-topup-card {
    display: grid;
    gap: .75rem;
    padding: 1rem;
    border: 1px solid rgba(75, 45, 61, .14);
    border-radius: 20px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 12px 30px rgba(75, 45, 61, .08);
}
.topup-preset-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: .65rem;
}
.topup-preset {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    border: 1px solid rgba(75, 45, 61, .16);
    border-radius: 16px;
    background: rgba(255, 255, 255, .76);
    font-size: 1.05rem;
    font-weight: 950;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.topup-preset input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.topup-preset:has(input:checked),
.topup-preset:hover {
    transform: translateY(-1px);
    border-color: rgba(139, 61, 232, .42);
    box-shadow: 0 14px 28px rgba(75, 45, 61, .12);
}
.email-template-editor textarea {
    min-height: 130px;
    resize: vertical;
}
.email-template-editor .admin-form-grid {
    align-items: start;
}
.email-auto-sync-form {
    display: inline-flex;
    margin-top: .5rem;
}
.notice-box.warn,
.notice-box.warning {
    border-color: rgba(255, 180, 30, .38);
    background: rgba(255, 245, 210, .78);
}
@media (max-width: 760px) {
    .payment-webhook-box,
    .payment-provider-card,
    .email-template-editor,
    .balance-topup-card {
        padding: .85rem;
        border-radius: 16px;
    }
    .topup-preset-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* 080J admin ad tabs, invoice balance preview, and badge toast polish */
.admin-ad-workspace .admin-scroll-panel,
.admin-email-workspace .admin-scroll-panel {
    max-height: 70vh;
    overflow: auto;
    padding-right: .35rem;
}
.invoice-balance-preview {
    display: grid;
    gap: .5rem;
    margin-top: .75rem;
}
.invoice-balance-box {
    line-height: 1.55;
}
.invoice-balance-box.success {
    border-color: rgba(88, 214, 141, .45);
}
.invoice-balance-box.danger {
    border-color: rgba(255, 99, 132, .65);
}
.badge-earned-toast {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 9999;
    transform: translateY(1rem);
    opacity: 0;
    pointer-events: none;
    max-width: min(92vw, 360px);
    padding: .85rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(18, 14, 40, .94);
    box-shadow: 0 18px 40px rgba(0,0,0,.35);
    color: var(--text, #fff);
    font-weight: 800;
    transition: opacity .22s ease, transform .22s ease;
}
.badge-earned-toast.is-visible {
    transform: translateY(0);
    opacity: 1;
}
@media (max-width: 720px) {
    .badge-earned-toast {
        left: 1rem;
        right: 1rem;
        bottom: .75rem;
    }
}

/* Continuing updates 080O: clearer balance top-up selection and single user payment panel */
.balance-topup-grid.single {
    grid-template-columns: minmax(240px, 760px);
    justify-content: start;
}
.balance-topup-card {
    max-width: 760px;
}
.topup-preset {
    border-width: 2px;
    overflow: hidden;
}
.topup-preset span {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}
.topup-preset input:checked + span::before {
    content: '✓';
    display: inline-grid;
    place-items: center;
    width: 1.3rem;
    height: 1.3rem;
    border-radius: 999px;
    background: #23d7ff;
    color: #241627;
    font-size: .85rem;
    font-weight: 1000;
    box-shadow: 0 0 0 4px rgba(35, 215, 255, .18);
}
.topup-preset:has(input:checked) {
    transform: translateY(-2px);
    border-color: #23d7ff;
    background: linear-gradient(135deg, rgba(35, 215, 255, .24), rgba(255, 126, 191, .18)), rgba(255,255,255,.96);
    box-shadow: 0 18px 38px rgba(35, 215, 255, .26), inset 0 0 0 2px rgba(255, 255, 255, .82);
}
.topup-preset:has(input:focus-visible) {
    outline: 3px solid rgba(35, 215, 255, .52);
    outline-offset: 3px;
}
.invoice-line-summary {
    display: block;
    margin-top: .25rem;
}
.dont-eat-me-shell[data-dem-realtime="connected"] .dem-performance-stat {
    border-color: rgba(34, 197, 94, .32);
}
.dont-eat-me-shell[data-dem-realtime="fallback"] .dem-performance-stat {
    border-color: rgba(255, 180, 30, .35);
}

/* 080P realtime relay admin diagnostics */
.admin-realtime-workspace .debug-pre,
.debug-pre {
    white-space: pre-wrap;
    word-break: break-word;
    overflow-x: auto;
    max-height: 420px;
    padding: .85rem;
    border-radius: 1rem;
    border: 1px solid rgba(0,0,0,.1);
    background: rgba(13, 18, 34, .92);
    color: #eef6ff;
    font-size: .82rem;
    line-height: 1.45;
}
.admin-realtime-workspace .inline-form { display:inline-flex; margin:.15rem; }
.warning-panel { border-color: rgba(245,158,11,.45); }
.warning-panel .checklist { margin:.5rem 0 0; }
.warning-panel .checklist li { margin:.25rem 0; }

/* 082 badge admin single-detail selector */
.badge-admin-picker-shell {
    display: grid;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
.badge-admin-picker-list {
    display: grid;
    gap: .55rem;
    max-height: 72vh;
    padding-right: .35rem;
}
.badge-admin-picker-button {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .7rem;
    text-align: left;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.055);
    color: inherit;
    border-radius: 16px;
    padding: .72rem .8rem;
    cursor: pointer;
    transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.badge-admin-picker-button:hover,
.badge-admin-picker-button.is-active {
    transform: translateY(-1px);
    border-color: rgba(255,255,255,.35);
    background: rgba(255,255,255,.12);
}
.badge-admin-picker-button small {
    display: block;
    opacity: .7;
    margin-top: .15rem;
    overflow-wrap: anywhere;
}
.badge-admin-button-emoji {
    width: 2rem;
    height: 2rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    flex: 0 0 auto;
}
.badge-admin-detail-shell {
    min-width: 0;
}
.badge-admin-detail-card[hidden],
.badge-admin-empty[hidden] {
    display: none !important;
}
@media (max-width: 900px) {
    .badge-admin-picker-shell {
        grid-template-columns: 1fr;
    }
    .badge-admin-picker-list {
        max-height: 36vh;
    }
}

/* 085 eligibility score dashboard: score breakdown + speedometer visualization */
.eligibility-dashboard {
    display: grid;
    gap: 1rem;
}
.eligibility-hero-card,
.eligibility-breakdown-panel,
.eligibility-action-panel {
    border: var(--border);
    border-radius: 28px;
    background: color-mix(in srgb, var(--panel, rgba(255,255,255,.82)) 88%, #fff 12%);
    box-shadow: var(--shadow);
}
.eligibility-hero-card {
    display: grid;
    grid-template-columns: minmax(260px, 370px) minmax(0, 1fr);
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem;
    overflow: hidden;
    position: relative;
}
.eligibility-hero-card::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 8px;
    background: var(--eligibility-band, var(--brand));
}
.eligibility-band-green,
.eligibility-band-excellent { --eligibility-band: #22c55e; }
.eligibility-band-yellow,
.eligibility-band-strong,
.eligibility-band-growing { --eligibility-band: #f59e0b; }
.eligibility-band-red,
.eligibility-band-starter,
.eligibility-band-new { --eligibility-band: #ef4444; }
.eligibility-speedometer-card {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 230px;
    border-radius: 26px;
    padding: 1rem;
    background:
        radial-gradient(circle at 50% 75%, rgba(255,255,255,.82), rgba(255,255,255,.18) 62%, transparent 63%),
        linear-gradient(135deg, color-mix(in srgb, var(--brand) 12%, transparent), color-mix(in srgb, var(--brand-2) 12%, transparent));
    border: 1px solid color-mix(in srgb, var(--eligibility-band, var(--brand)) 26%, rgba(255,255,255,.24));
}
.eligibility-speedometer {
    width: min(100%, 330px);
    height: auto;
    overflow: visible;
}
.eligibility-gauge-bg,
.eligibility-gauge-progress,
.eligibility-gauge-segment {
    fill: none;
    stroke-linecap: round;
}
.eligibility-gauge-bg {
    stroke: rgba(30, 41, 59, .12);
    stroke-width: 20;
}
.eligibility-gauge-segment {
    stroke-width: 18;
    filter: drop-shadow(0 7px 10px rgba(0,0,0,.12));
}
.eligibility-gauge-red { stroke: #ef4444; }
.eligibility-gauge-yellow { stroke: #f59e0b; }
.eligibility-gauge-green { stroke: #22c55e; }
.eligibility-gauge-progress {
    stroke: rgba(15, 23, 42, .32);
    stroke-width: 7;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.14));
}
.eligibility-gauge-needle {
    stroke: var(--ink, #111827);
    stroke-width: 5;
    stroke-linecap: round;
    filter: drop-shadow(0 4px 4px rgba(0,0,0,.18));
}
.eligibility-gauge-cap {
    fill: var(--ink, #111827);
    stroke: rgba(255,255,255,.85);
    stroke-width: 4;
}
.eligibility-gauge-tick {
    fill: var(--muted, #6b7280);
    font-size: 10px;
    font-weight: 900;
    text-anchor: middle;
}
.eligibility-score-center {
    position: absolute;
    left: 50%;
    bottom: 1.25rem;
    transform: translateX(-50%);
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: .16rem;
    padding: .45rem .75rem;
    min-width: 150px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--panel-strong, #fff) 88%, #fff 12%);
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
.eligibility-score-center strong {
    font-size: clamp(1.85rem, 5vw, 3rem);
    line-height: .9;
    color: var(--eligibility-band, var(--brand));
}
.eligibility-score-center span { color: var(--muted); font-weight: 900; }
.eligibility-score-center em {
    display: block;
    margin-left: .35rem;
    color: var(--ink);
    font-style: normal;
    font-weight: 1000;
}
.eligibility-hero-copy {
    position: relative;
    z-index: 1;
    display: grid;
    gap: .75rem;
}
.eligibility-hero-copy h2 {
    margin: 0;
    font-size: clamp(2rem, 5vw, 3.2rem);
}
.eligibility-hero-copy p { margin: 0; color: var(--muted); }
.eligibility-meta-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}
.eligibility-meta-grid span {
    display: grid;
    gap: .15rem;
    padding: .85rem;
    border-radius: 18px;
    background: rgba(255,255,255,.42);
    border: 1px solid rgba(0,0,0,.08);
    color: var(--muted);
    font-weight: 900;
}
.eligibility-meta-grid strong {
    color: var(--ink);
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.eligibility-disclaimer {
    padding: .7rem .85rem;
    border-radius: 16px;
    background: rgba(255,176,32,.13);
    border: 1px solid rgba(255,176,32,.22);
    font-size: .9rem;
}
.eligibility-lower-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .9fr);
    gap: 1rem;
}
.eligibility-breakdown-panel,
.eligibility-action-panel { padding: 1rem; }
.eligibility-breakdown-list { display: grid; gap: .75rem; }
.eligibility-breakdown-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .8rem;
    align-items: center;
    padding: .9rem;
    border-radius: 20px;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.42);
}
.eligibility-breakdown-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: color-mix(in srgb, var(--brand) 14%, rgba(255,255,255,.55));
    font-size: 1.45rem;
}
.eligibility-breakdown-main { display: grid; gap: .42rem; }
.eligibility-breakdown-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
}
.eligibility-breakdown-main p { margin: 0; color: var(--muted); font-size: .92rem; }
.eligibility-grade-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    border-radius: 999px;
    padding: .22rem .58rem;
    font-size: .76rem;
    font-weight: 1000;
    background: color-mix(in srgb, var(--eligibility-band, var(--brand)) 18%, rgba(255,255,255,.68));
    color: var(--ink);
    border: 1px solid color-mix(in srgb, var(--eligibility-band, var(--brand)) 20%, transparent);
}
.eligibility-progress-bar {
    height: 12px;
    border-radius: 999px;
    background: rgba(0,0,0,.1);
    overflow: hidden;
}
.eligibility-progress-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ef4444, #f59e0b 55%, #22c55e);
}
.eligibility-points {
    display: grid;
    justify-items: end;
    gap: .05rem;
    min-width: 60px;
}
.eligibility-points strong { font-size: 1.45rem; line-height: 1; }
.eligibility-points span { color: var(--muted); font-weight: 900; }
.eligibility-action-list {
    display: grid;
    gap: .75rem;
    padding: 0;
    margin: .75rem 0 0;
    list-style: none;
}
.eligibility-action-list li {
    display: grid;
    gap: .25rem;
    padding: .85rem;
    border-radius: 18px;
    background: rgba(255,255,255,.42);
    border: 1px solid rgba(0,0,0,.08);
}
.eligibility-action-list strong { color: var(--ink); }
.eligibility-action-list span { color: var(--muted); }
@media (max-width: 980px) {
    .eligibility-hero-card,
    .eligibility-lower-grid { grid-template-columns: 1fr; }
    .eligibility-meta-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .eligibility-breakdown-card { grid-template-columns: 1fr; }
    .eligibility-points { justify-items: start; }
    .eligibility-score-center { bottom: .9rem; }
}

/* Continuing updates 090: eligibility admin controls and 9000-point speedometer. */
.eligibility-admin-form { display: grid; gap: 1rem; }
.eligibility-admin-hero { align-items: stretch; }
.eligibility-admin-legend { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .8rem; }
.eligibility-admin-legend span { display: inline-flex; align-items: center; gap: .35rem; font-weight: 900; color: var(--muted); }
.eligibility-admin-legend span::before { content: ''; width: .8rem; height: .8rem; border-radius: 999px; background: var(--legend-color, var(--brand)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--legend-color, var(--brand)) 16%, transparent); }
.eligibility-admin-legend .red { --legend-color: #ef4444; }
.eligibility-admin-legend .yellow { --legend-color: #f59e0b; }
.eligibility-admin-legend .green { --legend-color: #22c55e; }
.eligibility-settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: .85rem; }
.eligibility-threshold-card { display: grid; gap: .7rem; padding: 1rem; border-radius: 22px; border: 1px solid rgba(148, 163, 184, .22); background: rgba(255,255,255,.48); }
.eligibility-threshold-card h3 { margin: 0; display: flex; justify-content: space-between; gap: .75rem; align-items: center; }
.eligibility-threshold-card .threshold-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; }
.eligibility-threshold-card .threshold-row label { min-width: 0; }
.eligibility-grade-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .75rem; }
.eligibility-reward-card { display: grid; gap: .65rem; padding: 1rem; border-radius: 22px; border: 1px solid rgba(148, 163, 184, .22); background: rgba(255,255,255,.48); }
.eligibility-reward-card textarea { min-height: 96px; resize: vertical; }
.eligibility-grade-counts { display: flex; flex-wrap: wrap; gap: .55rem; }
.eligibility-grade-counts span { padding: .45rem .7rem; border-radius: 999px; border: 1px solid rgba(148, 163, 184, .28); background: rgba(255,255,255,.5); font-weight: 900; }
.eligibility-admin-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .75rem; position: sticky; bottom: .75rem; z-index: 5; padding: .8rem; border-radius: 20px; border: 1px solid rgba(148, 163, 184, .26); background: color-mix(in srgb, var(--panel-bg, #fff) 88%, transparent); backdrop-filter: blur(10px); }
@media (max-width: 700px) {
    .eligibility-threshold-card .threshold-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .eligibility-admin-actions { justify-content: stretch; }
    .eligibility-admin-actions .button { width: 100%; }
}

/* Continuing updates 087: universal modal, TOS, accessibility theme, course review, promos. */
.site-modal-open { overflow: hidden; }
.site-universal-modal[hidden] { display: none !important; }
.site-universal-modal { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 1rem; }
.site-universal-modal-backdrop { position: absolute; inset: 0; background: rgba(7, 10, 22, .72); backdrop-filter: blur(8px); }
.site-universal-modal-card { position: relative; z-index: 1; width: min(720px, 100%); max-height: min(88vh, 920px); overflow: auto; border-radius: 28px; border: 1px solid rgba(148, 163, 184, .35); background: color-mix(in srgb, var(--panel-bg, #fff) 96%, #fff 4%); box-shadow: 0 28px 90px rgba(15, 23, 42, .35); padding: clamp(1.25rem, 3vw, 2rem); }
.site-universal-modal-close { position: absolute; top: .9rem; right: .9rem; width: 2.35rem; height: 2.35rem; border: 1px solid rgba(148, 163, 184, .35); border-radius: 999px; background: rgba(255,255,255,.82); color: var(--text, #0f172a); font-size: 1.45rem; line-height: 1; cursor: pointer; }
.tos-agreement-card h2 { margin: .15rem 0 .7rem; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.tos-agreement-card p { line-height: 1.7; }
.tos-motion-warning { margin: 1rem 0; }
.tos-agreement-check { align-items: flex-start; padding: .95rem; border: 1px solid rgba(99, 102, 241, .28); border-radius: 18px; background: rgba(99, 102, 241, .07); }
.tos-agreement-check input { margin-top: .25rem; width: 1.2rem; height: 1.2rem; }
.tos-modal-actions { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; justify-content: flex-end; margin-top: 1rem; }
.danger-text { color: #b91c1c !important; }
.legal-page-readable { max-width: 1060px; margin-inline: auto; font-size: clamp(1.03rem, 1vw + .82rem, 1.16rem); line-height: 1.82; padding: clamp(1.25rem, 3vw, 2.4rem); }
.legal-page-readable h2 { margin-top: 1.75rem; margin-bottom: .45rem; font-size: clamp(1.25rem, 1vw + 1rem, 1.65rem); }
.legal-page-readable h1 { max-width: 850px; line-height: 1.12; }
.legal-page-readable .lead { max-width: 980px; font-size: clamp(1.08rem, 1vw + .9rem, 1.25rem); }
.legal-page-readable ul { padding-left: 1.35rem; }
.legal-page-readable li { margin: .35rem 0; }
.legal-warning-box { border: 1px solid rgba(245, 158, 11, .45); background: rgba(245, 158, 11, .12); border-radius: 20px; padding: 1rem; margin: 1rem 0; }

html[data-theme="accessibility"], body.theme-accessibility { --accent: #075985; --accent-2: #047857; --panel-bg: #ffffff; --body-bg: #f7fafc; --text: #0f172a; --muted: #334155; }
body.theme-accessibility { background: var(--body-bg, #f7fafc); color: var(--text, #0f172a); }
body.theme-accessibility .background-bubbles, body.theme-accessibility .party-layer, body.theme-opt-plain-background .background-bubbles, body.theme-opt-plain-background .party-layer { display: none !important; }
body.theme-accessibility .panel, body.theme-accessibility .card, body.theme-accessibility .account-settings-shell { border-color: rgba(15, 23, 42, .18); box-shadow: 0 10px 32px rgba(15, 23, 42, .08); }
body.theme-opt-very-large-text { font-size: 1.24rem; }
body.theme-opt-very-large-text input, body.theme-opt-very-large-text textarea, body.theme-opt-very-large-text select, body.theme-opt-very-large-text button { font-size: 1.05em; }
body.theme-opt-readable-spacing { line-height: 1.75; letter-spacing: .012em; }
body.theme-opt-dyslexia-friendly-spacing { letter-spacing: .035em; word-spacing: .12em; line-height: 1.85; }
body.theme-opt-high-contrast { --text: #000; --muted: #1f2937; --panel-bg: #fff; --border: rgba(0,0,0,.35); filter: contrast(1.08); }
body.theme-opt-color-blind-palette { --accent: #0072B2; --accent-2: #009E73; --warning: #E69F00; --danger: #D55E00; }
body.theme-opt-reduced-motion *, body.theme-opt-stop-animated-effects *, body.theme-accessibility * { scroll-behavior: auto !important; }
body.theme-opt-reduced-motion *, body.theme-opt-stop-animated-effects * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
body.theme-opt-stop-animated-effects .emoji-rain-layer, body.theme-opt-stop-animated-effects .pointer-trail, body.theme-opt-stop-animated-effects .party-layer, body.theme-opt-stop-animated-effects .background-bubbles { display: none !important; }
body.theme-opt-focus-rings :focus-visible, body.theme-accessibility :focus-visible { outline: 4px solid #2563eb !important; outline-offset: 3px !important; border-radius: 8px; }
body.theme-opt-underline-links a, body.theme-accessibility a { text-decoration: underline; text-underline-offset: .18em; }
body.theme-opt-plain-background { background-image: none !important; }

.course-review-filter-panel { margin-top: 1rem; }
.course-review-filter-panel .admin-page-search-label { display: block; }
.course-review-filter-panel input[type="search"] { width: 100%; margin-top: .35rem; }
.course-review-filter-actions, .course-user-bulk-actions, .course-user-picker-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .75rem; }
.course-review-list { display: grid; gap: .9rem; margin-top: 1rem; }
.course-review-card { border-left: 4px solid rgba(99, 102, 241, .45); }
.course-review-card[data-course-review-status="submitted"], .course-review-card[data-course-review-status="needsreview"] { border-left-color: #f59e0b; }
.course-review-card[data-course-review-status="completed"] { border-left-color: #10b981; }
.course-review-card[data-course-review-status="returned"] { border-left-color: #ef4444; }
.course-review-summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: .75rem; align-items: center; }
.course-review-summary::-webkit-details-marker { display: none; }
.course-review-summary h4 { margin: 0; font-size: 1.05rem; }
.course-review-summary p { margin: .2rem 0 0; }
.course-review-summary-main { min-width: 0; }
.course-review-summary-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem; }
.course-review-body { border-top: 1px solid rgba(148, 163, 184, .25); margin-top: .85rem; padding-top: 1rem; display: grid; gap: 1rem; }
.course-review-submission { background: rgba(15, 23, 42, .035); border-radius: 18px; padding: .85rem; }
.course-grade-form-card { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); align-items: end; }
.course-grade-form-card .wide { grid-column: 1 / -1; }
.course-user-check.is-selected { border-color: rgba(37, 99, 235, .55); background: rgba(37, 99, 235, .08); }
.course-user-options-menu { margin-top: .65rem; padding: .75rem; border-radius: 18px; border: 1px solid rgba(148, 163, 184, .32); background: rgba(255,255,255,.94); box-shadow: 0 14px 38px rgba(15,23,42,.12); }
.course-user-options-head { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .5rem; }
.course-user-option-grid { display: grid; gap: .45rem; }
.course-user-option-button { text-align: left; border: 1px solid rgba(148, 163, 184, .28); background: rgba(248,250,252,.98); border-radius: 14px; padding: .6rem .75rem; cursor: pointer; }
.course-user-option-button strong, .course-user-option-button small { display: block; }

.promo-code-form, .promo-applied-card { display: grid; gap: .65rem; border: 1px solid rgba(99, 102, 241, .22); border-radius: 18px; padding: .9rem; background: rgba(99, 102, 241, .06); }
.promo-code-row { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; }
.promo-code-row label { flex: 1 1 220px; }
.cart-total-stack { display: grid; gap: .35rem; justify-items: end; margin: .75rem 0; }
.cart-total-stack .discount { color: #047857; }
.promo-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .85rem; }
.promo-admin-card summary { cursor: pointer; list-style: none; }
.promo-admin-card summary::-webkit-details-marker { display: none; }
.promo-admin-card .promo-admin-summary { display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
@media (max-width: 720px) {
    .course-review-summary { grid-template-columns: 1fr; }
    .course-review-summary-meta { justify-content: flex-start; }
    .tos-modal-actions { justify-content: stretch; }
    .tos-modal-actions .button { width: 100%; justify-content: center; }
}

/* V091 universal hybrid filter / select refresh */
.hybrid-filter-input {
    display: grid;
    gap: .95rem;
    padding: 1.15rem 1.2rem;
    margin-bottom: 1rem;
    border-radius: 28px;
    border: 1px solid color-mix(in srgb, var(--brand-2) 28%, rgba(0,0,0,.08));
    background: linear-gradient(135deg, color-mix(in srgb, var(--panel) 92%, #fff 8%), color-mix(in srgb, var(--panel-strong, rgba(255,255,255,.95)) 86%, var(--brand-3) 14%));
    box-shadow: 0 12px 24px rgba(33,21,60,.08);
}

.hybrid-filter-input-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .9rem;
    align-items: end;
}

.hybrid-filter-input-label {
    display: grid;
    gap: .4rem;
    font-weight: 900;
    color: color-mix(in srgb, var(--ink) 78%, #fff 22%);
}

.hybrid-filter-input-control {
    width: 100%;
    min-height: 60px;
    padding: 1rem 1.15rem;
    border-radius: 22px;
    border: 3px solid color-mix(in srgb, var(--brand-2) 68%, #79ddff 32%);
    background: color-mix(in srgb, #fff 94%, var(--panel) 6%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.5), 0 6px 14px rgba(0,0,0,.05);
    font-size: 1rem;
    font-weight: 800;
}

.hybrid-filter-input-actions {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.hybrid-filter-input-count {
    font-weight: 1000;
    color: color-mix(in srgb, var(--ink) 76%, #fff 24%);
}

.hybrid-filter-input-clear {
    min-height: 48px;
    padding: .78rem 1rem;
    border-radius: 18px;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    background: color-mix(in srgb, var(--panel) 90%, #fff 10%);
    color: var(--ink);
    font-weight: 900;
}

.hybrid-filter-input-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.hybrid-filter-input-tabs:empty {
    display: none;
}

.hybrid-filter-input-menu {
    display: grid;
    gap: .9rem;
    padding: 1rem 1.1rem;
    border-radius: 24px;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    background: color-mix(in srgb, var(--panel) 95%, #fff 5%);
    box-shadow: 0 10px 24px rgba(33,21,60,.08);
}

.hybrid-filter-input-menu-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}

.hybrid-filter-input-menu-head strong {
    font-size: 1.35rem;
}

.hybrid-filter-input-menu-head span {
    font-size: .95rem;
    color: var(--muted);
    font-weight: 700;
}

.hybrid-filter-input-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.hybrid-filter-input-empty {
    margin: 0;
}

.admin-page-hybrid-search,
.admin-user-hybrid-search,
.theme-admin-search-row,
.theme-assign-controls {
    margin-bottom: 1rem;
}

.admin-user-option-grid,
.admin-page-option-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.admin-page-option,
.admin-user-option {
    display: grid;
    gap: .15rem;
    text-align: left;
    min-height: 100%;
    padding: .95rem 1rem;
    border-radius: 18px;
    border: 2px solid color-mix(in srgb, var(--ink) 12%, transparent);
    background: color-mix(in srgb, var(--panel) 92%, #fff 8%);
    font-weight: 900;
}

.admin-page-option small,
.admin-user-option small {
    color: var(--muted);
    font-weight: 700;
}

.theme-admin-filter-row .button,
.admin-page-filter-row .button,
.admin-user-filter-row .button,
.course-user-picker-actions .button,
.course-review-filter-actions .button {
    margin: 0;
}

.theme-assign-controls .hybrid-filter-input-actions {
    justify-content: space-between;
}

.theme-assign-user-field {
    display: grid;
    gap: .35rem;
    min-width: min(100%, 260px);
    font-weight: 900;
}

.theme-assign-user-field .hybrid-choice,
.theme-assign-user-field select {
    min-width: min(100%, 260px);
}

.hybrid-choice {
    position: relative;
}

.hybrid-choice-mini {
    min-width: 0;
}

.hybrid-choice-button {
    min-height: 54px;
    border-radius: 20px;
    border: 2px solid color-mix(in srgb, var(--ink) 12%, transparent);
    background: color-mix(in srgb, var(--panel) 95%, #fff 5%);
    box-shadow: 0 6px 14px rgba(0,0,0,.06);
    font-weight: 900;
}

.hybrid-choice-menu {
    border-radius: 22px;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    box-shadow: 0 18px 36px rgba(33,21,60,.16);
    overflow: hidden;
}

.hybrid-choice-search {
    min-height: 52px;
    border-radius: 16px;
    border: 2px dashed color-mix(in srgb, var(--brand-2) 45%, transparent);
    background: color-mix(in srgb, #fff 95%, var(--panel) 5%);
    font-weight: 800;
}

.hybrid-choice-option {
    border-radius: 16px;
    font-weight: 800;
}

.hybrid-choice-mini .hybrid-choice-button {
    min-height: 46px;
    padding: .7rem .9rem;
    border-radius: 18px;
}

.compact-theme-picker {
    min-width: 0;
    max-width: 100%;
    overflow: visible;
}

.compact-theme-picker label {
    min-width: 0;
}

.compact-theme-picker .hybrid-choice,
.compact-theme-picker .hybrid-choice-button,
.compact-theme-picker .hybrid-choice-menu {
    width: min(220px, calc(100vw - 56px));
}

.compact-theme-picker .hybrid-choice-button {
    min-height: 42px;
    padding: .55rem .85rem;
    border-radius: 999px;
}

.compact-theme-picker .hybrid-choice-search {
    min-height: 44px;
}

.header-tools,
.auth-panel {
    min-width: 0;
}

.auth-panel {
    flex-wrap: wrap;
    justify-content: flex-end;
}

@media (max-width: 980px) {
    .hybrid-filter-input-top {
        grid-template-columns: 1fr;
    }

    .hybrid-filter-input-actions {
        justify-content: flex-start;
    }

    .theme-assign-controls .hybrid-filter-input-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .hybrid-filter-input {
        padding: 1rem;
        border-radius: 24px;
    }

    .hybrid-filter-input-control {
        min-height: 54px;
        padding: .9rem 1rem;
    }

    .hybrid-filter-input-actions {
        flex-direction: row;
        align-items: center;
    }

    .hybrid-filter-input-grid,
    .admin-user-option-grid,
    .admin-page-option-grid {
        grid-template-columns: 1fr;
    }

    .compact-theme-picker {
        width: 100%;
    }

    .compact-theme-picker .hybrid-choice,
    .compact-theme-picker .hybrid-choice-button,
    .compact-theme-picker .hybrid-choice-menu,
    .theme-assign-user-field .hybrid-choice,
    .theme-assign-user-field select {
        width: 100%;
        min-width: 0;
    }
}


/* Continuing updates 092/093: eligibility cleanup + safer compact hybrid repair */
.eligibility-hero-card {
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
}
.eligibility-hero-card::before {
    width: 4px;
    opacity: .65;
}
.eligibility-speedometer-card {
    min-height: 210px;
    background:
        radial-gradient(circle at 50% 74%, color-mix(in srgb, var(--panel-strong, #fff) 82%, transparent), transparent 64%),
        linear-gradient(135deg, color-mix(in srgb, var(--panel, #fff) 78%, transparent), color-mix(in srgb, var(--brand-2) 8%, transparent));
}
.eligibility-speedometer {
    width: min(100%, 295px);
}
.eligibility-gauge-bg {
    stroke-width: 18;
}
.eligibility-gauge-segment {
    stroke-width: 14;
    opacity: .54;
    filter: none;
}
.eligibility-gauge-progress {
    stroke: var(--eligibility-band, var(--brand));
    stroke-width: 9;
    opacity: .9;
}
.eligibility-gauge-red { stroke: color-mix(in srgb, #ef4444 82%, #fff 18%); }
.eligibility-gauge-yellow { stroke: color-mix(in srgb, #f59e0b 84%, #fff 16%); }
.eligibility-gauge-green { stroke: color-mix(in srgb, #22c55e 84%, #fff 16%); }
.eligibility-score-center {
    bottom: 1rem;
    min-width: 142px;
}
.eligibility-meta-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.eligibility-meta-grid span {
    min-height: 88px;
}
.eligibility-percent-card {
    align-content: start;
}
.eligibility-percent-card .hybrid-choice {
    min-width: 0;
}
.eligibility-admin-form.is-over-percent .eligibility-admin-actions {
    border-color: color-mix(in srgb, var(--danger, #ef4444) 45%, transparent);
}
.eligibility-admin-form.is-over-percent [data-eligibility-submit] {
    opacity: .55;
    cursor: not-allowed;
}
@media (max-width: 980px) {
    .eligibility-hero-card {
        grid-template-columns: 1fr;
    }
    .eligibility-meta-grid {
        grid-template-columns: 1fr;
    }
}

/* Continuing updates 094: hybrid search/select result lists must show all matches with scrollbars */
.hybrid-filter-input {
    overflow: visible;
}

.hybrid-filter-input-top {
    align-items: stretch;
}

.theme-admin-search-row .hybrid-filter-input-top,
.theme-assign-controls .hybrid-filter-input-top,
.course-user-hybrid-search .hybrid-filter-input-top {
    grid-template-columns: 1fr;
}

.theme-admin-search-row .hybrid-filter-input-actions,
.theme-assign-controls .hybrid-filter-input-actions,
.course-user-hybrid-search .hybrid-filter-input-actions {
    justify-content: flex-start;
}

.hybrid-filter-input-control {
    min-width: 0;
}

.hybrid-filter-input-menu,
.admin-page-options-menu,
.admin-user-options-menu,
.course-user-options-menu,
.theme-admin-search-menu,
.theme-assign-search-menu {
    max-height: min(460px, 52vh);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.hybrid-filter-input-grid,
.admin-page-option-grid,
.admin-user-option-grid,
.course-user-option-grid {
    align-items: stretch;
}

.hybrid-filter-result-button,
.theme-admin-option,
.theme-assign-option,
.course-user-option-button,
.admin-page-option,
.admin-user-option {
    display: grid;
    gap: .18rem;
    width: 100%;
    min-width: 0;
    padding: .85rem 1rem;
    border-radius: 18px;
    border: 2px solid color-mix(in srgb, var(--ink) 12%, transparent);
    background: color-mix(in srgb, var(--panel-strong, #fff) 90%, #fff 10%);
    color: var(--ink);
    font: inherit;
    font-weight: 900;
    line-height: 1.18;
    text-align: left;
    cursor: pointer;
}

.hybrid-filter-result-button strong,
.hybrid-filter-result-button small,
.theme-admin-option strong,
.theme-admin-option small,
.theme-assign-option strong,
.theme-assign-option small,
.course-user-option-button strong,
.course-user-option-button small,
.admin-page-option strong,
.admin-page-option small,
.admin-user-option strong,
.admin-user-option small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hybrid-filter-result-button small,
.theme-admin-option small,
.theme-assign-option small,
.course-user-option-button small {
    color: var(--muted);
    font-size: .86rem;
    font-weight: 800;
}

.hybrid-filter-result-button:hover,
.hybrid-filter-result-button:focus-visible,
.theme-admin-option:hover,
.theme-admin-option:focus-visible,
.theme-assign-option:hover,
.theme-assign-option:focus-visible,
.course-user-option-button:hover,
.course-user-option-button:focus-visible,
.admin-page-option:hover,
.admin-page-option:focus-visible,
.admin-user-option:hover,
.admin-user-option:focus-visible {
    border-color: color-mix(in srgb, var(--brand-2) 74%, transparent);
    outline: 3px solid color-mix(in srgb, var(--brand-2) 18%, transparent);
}

.hybrid-choice-menu {
    max-height: min(420px, 58vh) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.hybrid-choice-options {
    max-height: none;
    overflow: visible;
}

.course-user-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-gutter: stable;
}

.course-user-check {
    min-width: 0;
}

.course-user-check span,
.course-user-check strong,
.course-user-check small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.course-user-hybrid-search .hybrid-filter-input-count,
.course-user-picker-head [data-course-user-count] {
    white-space: nowrap;
}

@media (min-width: 900px) {
    .theme-admin-search-row .hybrid-filter-input-grid,
    .theme-assign-controls .hybrid-filter-input-grid,
    .course-user-hybrid-search .hybrid-filter-input-grid {
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    }
}

.course-user-hybrid-search.hybrid-filter-input {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .95rem !important;
    padding: 1.15rem 1.2rem !important;
}

.course-user-hybrid-search.hybrid-filter-input .hybrid-filter-input-control {
    min-height: 56px !important;
    padding: .95rem 1.1rem !important;
    border: 3px solid color-mix(in srgb, var(--brand-2) 68%, #79ddff 32%) !important;
    background: color-mix(in srgb, #fff 94%, var(--panel) 6%) !important;
}

.course-user-hybrid-search.hybrid-filter-input .button,
.course-user-hybrid-search.hybrid-filter-input button {
    grid-column: auto !important;
}

/* Continuing updates 095: eligibility meter repair, team member score, and expanded cursor presets. */
.eligibility-speedometer-card {
    overflow: hidden;
    width: 100%;
    max-width: 360px;
    justify-self: center;
    min-height: 210px;
    padding: .85rem .85rem 1.1rem;
}
.eligibility-speedometer {
    width: min(100%, 300px);
    max-height: 178px;
}
.eligibility-gauge-segment {
    stroke-width: 14;
    filter: none;
    opacity: .78;
}
.eligibility-gauge-bg { stroke-width: 16; }
.eligibility-gauge-progress {
    stroke-width: 6;
    opacity: .72;
}
.eligibility-score-center {
    bottom: .75rem;
    min-width: 132px;
    padding: .42rem .68rem;
    gap: .12rem;
}
.eligibility-score-center strong {
    font-size: clamp(1.75rem, 4.6vw, 2.7rem);
}
.eligibility-score-center em {
    font-size: .82rem;
    line-height: 1.05;
}
.eligibility-breakdown-card:has(.eligibility-breakdown-head strong:first-child) {
    overflow: visible;
}
.notice.info {
    border: 1px solid rgba(35, 215, 255, .28);
    background: rgba(35, 215, 255, .10);
    border-radius: 16px;
    padding: .75rem .9rem;
    font-weight: 800;
}

html[data-theme-cursor="star"], html[data-theme-cursor="star"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ffd166' stroke='%23271b48' stroke-width='2.4' d='M18 3l4.2 9 9.8 1.2-7.2 6.7 1.9 9.7L18 24.6 9.3 29.6l1.9-9.7L4 13.2 13.8 12z'/%3E%3C/svg%3E") 4 3, auto; }
html[data-theme-cursor="heart"], html[data-theme-cursor="heart"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23ff5dad' stroke='%23271b48' stroke-width='2.3' d='M18 31C9 24 5 19 5 13c0-4 3-7 7-7 3 0 5 2 6 4 1-2 3-4 6-4 4 0 7 3 7 7 0 6-4 11-13 18z'/%3E%3C/svg%3E") 6 5, auto; }
html[data-theme-cursor="coin"], html[data-theme-cursor="coin"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='13' fill='%23ffd166' stroke='%23271b48' stroke-width='2.5'/%3E%3Ccircle cx='18' cy='18' r='8' fill='none' stroke='%23fff3b0' stroke-width='2'/%3E%3Cpath d='M18 10v16M13 15c1-3 9-3 10 0 1 4-9 2-8 6 1 3 8 3 10 0' fill='none' stroke='%23271b48' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 6 5, auto; }
html[data-theme-cursor="target"], html[data-theme-cursor="target"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='14' fill='%23fff' stroke='%23271b48' stroke-width='2.2'/%3E%3Ccircle cx='18' cy='18' r='9' fill='none' stroke='%23ef4444' stroke-width='3'/%3E%3Ccircle cx='18' cy='18' r='3.5' fill='%23ef4444'/%3E%3Cpath d='M18 1v8M18 27v8M1 18h8M27 18h8' stroke='%23271b48' stroke-width='2'/%3E%3C/svg%3E") 18 18, crosshair; }
html[data-theme-cursor="sword"], html[data-theme-cursor="sword"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath d='M29 3l4 4-17 17-4-4z' fill='%23dbeafe' stroke='%23271b48' stroke-width='2'/%3E%3Cpath d='M10 20l6 6M7 23l6 6M5 31l6-6' stroke='%23ffd166' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") 29 4, auto; }
html[data-theme-cursor="magic-wand"], html[data-theme-cursor="magic-wand"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath d='M7 30L28 9' stroke='%23271b48' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M7 30L28 9' stroke='%23a78bfa' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M29 3l1.6 3.5L34 8l-3.4 1.5L29 13l-1.6-3.5L24 8l3.4-1.5zM18 4l1 2.2 2.2 1-2.2 1-1 2.2-1-2.2-2.2-1 2.2-1z' fill='%23ffd166' stroke='%23271b48' stroke-width='1'/%3E%3C/svg%3E") 28 8, auto; }
html[data-theme-cursor="gamepad"], html[data-theme-cursor="gamepad"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Crect x='4' y='10' width='28' height='18' rx='7' fill='%23271b48'/%3E%3Cpath d='M11 16v7M7.5 19.5h7' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'/%3E%3Ccircle cx='24' cy='18' r='2' fill='%23ff5dad'/%3E%3Ccircle cx='28' cy='22' r='2' fill='%2300e7ff'/%3E%3C/svg%3E") 4 4, auto; }
html[data-theme-cursor="leaf"], html[data-theme-cursor="leaf"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%2322c55e' stroke='%23145232' stroke-width='2.2' d='M31 4C19 5 8 11 6 25c11 2 22-5 25-21z'/%3E%3Cpath d='M8 27C13 20 20 14 29 6' stroke='%23dcfce7' stroke-width='2.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") 29 5, auto; }
html[data-theme-cursor="skull"], html[data-theme-cursor="skull"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23f8fafc' stroke='%23271b48' stroke-width='2.2' d='M18 4c-8 0-13 5-13 12 0 5 3 8 7 10v5h12v-5c4-2 7-5 7-10 0-7-5-12-13-12z'/%3E%3Ccircle cx='13' cy='16' r='3' fill='%23271b48'/%3E%3Ccircle cx='23' cy='16' r='3' fill='%23271b48'/%3E%3Cpath d='M18 20l-2 4h4zM13 28h10' stroke='%23271b48' stroke-width='2'/%3E%3C/svg%3E") 6 5, auto; }
html[data-theme-cursor="shield"], html[data-theme-cursor="shield"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%2338bdf8' stroke='%23271b48' stroke-width='2.3' d='M18 3l13 5v8c0 8-5 14-13 17C10 30 5 24 5 16V8z'/%3E%3Cpath d='M18 6v23M8 14h20' stroke='%23ffffff' stroke-width='2' opacity='.75'/%3E%3C/svg%3E") 18 5, auto; }
html[data-theme-cursor="wrench"], html[data-theme-cursor="wrench"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%2394a3b8' stroke='%23271b48' stroke-width='2.2' d='M25 3a8 8 0 0 0-8 10L5 25a4 4 0 1 0 6 6l12-12A8 8 0 0 0 33 9l-6 6-5-5z'/%3E%3C/svg%3E") 25 5, auto; }
html[data-theme-cursor="slime"], html[data-theme-cursor="slime"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%234ade80' stroke='%23145232' stroke-width='2.2' d='M5 24c0-9 5-17 13-17s13 8 13 17c0 6-5 9-13 9S5 30 5 24z'/%3E%3Ccircle cx='13' cy='21' r='2.2' fill='%23145232'/%3E%3Ccircle cx='23' cy='21' r='2.2' fill='%23145232'/%3E%3Cpath d='M13 26c3 2 7 2 10 0' stroke='%23145232' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") 18 7, auto; }

/* Sector 9000 player-facing low-res FPS shell */
.sector9000-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, .38fr);
    gap: 1rem;
    align-items: center;
}
.sector9000-hero--player .lead {
    max-width: 58rem;
}
.sector9000-stat-card {
    display: grid;
    gap: .35rem;
    padding: 1rem;
    border-radius: 22px;
    border: 2px solid rgba(35,215,255,.24);
    background: rgba(255,255,255,.68);
    box-shadow: 0 18px 34px rgba(39,27,72,.10);
}
.sector9000-stat-card span,
.sector9000-stat-card small { color: var(--muted); font-weight: 850; }
.sector9000-stat-card strong { font-size: clamp(1.8rem, 4vw, 3.1rem); line-height: 1; }
.sector9000-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.sector9000-chip-grid span {
    display: inline-flex;
    align-items: center;
    padding: .45rem .7rem;
    border-radius: 999px;
    border: 2px solid rgba(39,27,72,.10);
    background: rgba(255,255,255,.72);
    color: var(--ink);
    font-weight: 950;
}
.sector9000-chip-grid--brief span {
    border-color: rgba(255, 119, 190, .20);
}
.sector9000-shell {
    overflow: visible;
}
html.sector9000-native-page,
body.sector9000-native-page {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: auto;
}
body.sector9000-native-page {
    background: #040406;
}
.sector9000-page {
    width: 100%;
    min-height: calc(100vh - 1rem);
    min-height: calc(100dvh - 1rem);
    margin: 0;
    overflow: visible;
}
.sector9000-game-head {
    margin-bottom: .8rem;
}
.sector9000-stage {
    position: relative;
    display: grid;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 0;
    max-height: min(78vh, 1080px);
    border-radius: 24px;
    overflow: hidden;
    border: 4px solid rgba(39,27,72,.26);
    background: #08090f;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.12), 0 26px 58px rgba(0,0,0,.22);
    isolation: isolate;
}

.sector9000-menu-open .sector9000-stage {
    max-height: none;
    overflow: visible;
}
.sector9000-menu-open .sector9000-game-menu {
    overflow: visible;
}
.sector9000-playing .sector9000-stage,
.sector9000-playing .sector9000-stage canvas {
    overflow: hidden;
}
.sector9000-playing .sector9000-stage canvas,
.sector9000-pointer-locked .sector9000-stage canvas {
    cursor: none;
}
.sector9000-menu-open .sector9000-stage canvas {
    cursor: default;
}
.sector9000-lock-indicator {
    position: absolute;
    top: .7rem;
    left: .75rem;
    z-index: 8;
    pointer-events: none;
    padding: .42rem .62rem;
    border: 2px solid rgba(255,214,93,.32);
    border-radius: 999px;
    background: rgba(5,6,10,.78);
    color: #ffd65d;
    font: 900 .78rem/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(0,0,0,.24);
}
.sector9000-shell:not(.sector9000-playing):not(.sector9000-menu-open) .sector9000-lock-indicator {
    opacity: 0;
    visibility: hidden;
}
.sector9000-pointer-locked .sector9000-lock-indicator {
    border-color: rgba(100,242,138,.40);
    color: #64f28a;
}
.sector9000-pointer-unlocked .sector9000-lock-indicator {
    border-color: rgba(255,89,111,.45);
    color: #ff9a66;
}
.sector9000-game-menu-card,
.sector9000-game-menu-card--doom,
.sector9000-leaderboard--menu,
.sector9000-game-menu-card--doom .hybrid-results,
.sector9000-game-menu-card--doom .hybrid-menu,
.sector9000-game-menu-card--doom [data-hybrid-results] {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 82, 46, .72) rgba(10, 10, 16, .72);
}
.sector9000-game-menu-card::-webkit-scrollbar,
.sector9000-game-menu-card--doom::-webkit-scrollbar,
.sector9000-leaderboard--menu::-webkit-scrollbar,
.sector9000-game-menu-card--doom .hybrid-results::-webkit-scrollbar,
.sector9000-game-menu-card--doom .hybrid-menu::-webkit-scrollbar,
.sector9000-game-menu-card--doom [data-hybrid-results]::-webkit-scrollbar {
    width: 12px;
}
.sector9000-game-menu-card::-webkit-scrollbar-track,
.sector9000-game-menu-card--doom::-webkit-scrollbar-track,
.sector9000-leaderboard--menu::-webkit-scrollbar-track,
.sector9000-game-menu-card--doom .hybrid-results::-webkit-scrollbar-track,
.sector9000-game-menu-card--doom .hybrid-menu::-webkit-scrollbar-track,
.sector9000-game-menu-card--doom [data-hybrid-results]::-webkit-scrollbar-track {
    background: rgba(10, 10, 16, .72);
}
.sector9000-game-menu-card::-webkit-scrollbar-thumb,
.sector9000-game-menu-card--doom::-webkit-scrollbar-thumb,
.sector9000-leaderboard--menu::-webkit-scrollbar-thumb,
.sector9000-game-menu-card--doom .hybrid-results::-webkit-scrollbar-thumb,
.sector9000-game-menu-card--doom .hybrid-menu::-webkit-scrollbar-thumb,
.sector9000-game-menu-card--doom [data-hybrid-results]::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 119, 190, .72), rgba(255, 82, 46, .78));
    border-radius: 999px;
    border: 2px solid rgba(10, 10, 16, .76);
}
.sector9000-stage::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 50%, rgba(255,255,255,0) 48%, rgba(0,0,0,.18) 100%),
        repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, rgba(0,0,0,0) 1px 5px);
    mix-blend-mode: screen;
    opacity: .28;
}
.sector9000-playing .sector9000-stage::before {
    opacity: .32;
}
.sector9000-stage canvas {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    min-height: 0;
    object-fit: contain;
    image-rendering: pixelated;
    image-rendering: crisp-edges;
    cursor: crosshair;
    background: #08090f;
    grid-area: 1 / 1;
}
.sector9000-stage canvas:focus {
    outline: 4px solid rgba(255, 119, 190, .72);
    outline-offset: -8px;
}
.sector9000-stage:fullscreen {
    width: 100vw;
    height: 100vh;
    max-height: none;
    min-height: 100vh;
    border-radius: 0;
    border-width: 0;
    background: #000;
    place-items: center;
}
.sector9000-stage:fullscreen canvas {
    width: 100vw;
    height: 100vh;
    min-height: 0;
    object-fit: contain;
}
.sector9000-shell:not(.sector9000-playing) .sector9000-center-dot,
.sector9000-shell:not(.sector9000-playing) .sector9000-hud--ingame {
    opacity: 0;
    visibility: hidden;
}
.sector9000-shell.sector9000-playing .sector9000-center-dot,
.sector9000-shell.sector9000-playing .sector9000-hud--ingame {
    opacity: 1;
    visibility: visible;
}
.sector9000-center-dot {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 10px;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    border: 2px solid rgba(255,255,255,.9);
    box-shadow: 0 0 0 2px rgba(0,0,0,.35), 0 0 16px rgba(255,255,255,.35);
    pointer-events: none;
    z-index: 4;
}
.sector9000-hit-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(255,0,0,0) 42%, rgba(255,45,83,.65) 100%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .12s ease;
    z-index: 5;
}
.sector9000-hit .sector9000-stage {
    animation: sector9000HitShake .16s steps(2, end);
}
@keyframes sector9000HitShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    50% { transform: translateX(4px); }
    75% { transform: translateX(-2px); }
}
.sector9000-hud {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: center;
    margin: .75rem 0;
}
.sector9000-hud--ingame {
    position: absolute;
    left: .75rem;
    right: .75rem;
    bottom: .75rem;
    margin: 0;
    z-index: 6;
    pointer-events: none;
}
.sector9000-hud strong,
.sector9000-hud span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    min-height: 36px;
    padding: .44rem .66rem;
    border-radius: 999px;
    border: 2px solid rgba(39,27,72,.22);
    background: rgba(255,255,255,.82);
    color: var(--ink);
    font-weight: 950;
    box-shadow: 0 10px 22px rgba(0,0,0,.12);
}
.sector9000-hud--ingame strong,
.sector9000-hud--ingame span {
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(8px);
}
.sector9000-hud [data-s9k-status] {
    border-color: rgba(35,215,255,.32);
    background: rgba(35,215,255,.18);
    flex: 1 1 auto;
    min-width: min(100%, 18rem);
}
.sector9000-game-menu {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    z-index: 7;
    background: linear-gradient(135deg, rgba(12,8,22,.84), rgba(25,12,36,.62));
    backdrop-filter: blur(5px);
    transition: opacity .18s ease, visibility .18s ease;
}
.sector9000-game-menu.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.sector9000-game-menu-card {
    width: min(100%, 720px);
    max-height: calc(100% - 2rem);
    overflow: auto;
    border-radius: 24px;
    border: 2px solid rgba(255,255,255,.18);
    background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,240,250,.88));
    box-shadow: 0 34px 88px rgba(0,0,0,.34);
    padding: clamp(1rem, 3vw, 1.6rem);
}
.sector9000-game-menu-card h3 {
    margin: .15rem 0 .35rem;
    font-size: clamp(1.7rem, 4vw, 2.7rem);
}
.sector9000-menu-grid {
    gap: .75rem;
    margin: 1rem 0;
}
.sector9000-menu-grid label,
.sector9000-room-loadout span,
.sector9000-shell label {
    font-weight: 950;
}
.sector9000-menu-grid select {
    min-height: 44px;
}
.sector9000-room-loadout {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: .85rem 0 1rem;
}
.sector9000-room-loadout span {
    display: inline-flex;
    padding: .46rem .7rem;
    border-radius: 999px;
    border: 2px solid rgba(39,27,72,.12);
    background: rgba(255,255,255,.76);
}
.sector9000-leaderboard li {
    display: grid;
    gap: .2rem;
}
.sector9000-room-layout {
    grid-template-columns: minmax(240px, .35fr) minmax(0, 1fr);
}
@media (max-width: 980px) {
    .sector9000-hero,
    .sector9000-room-layout {
        grid-template-columns: 1fr;
    }
    .sector9000-stage {
        max-height: min(72vh, 720px);
    }
}
@media (max-width: 620px) {
    .sector9000-stage {
        max-height: 72vh;
    }
    .sector9000-hud--ingame {
        left: .45rem;
        right: .45rem;
        bottom: .45rem;
        gap: .4rem;
    }
    .sector9000-hud strong,
    .sector9000-hud span {
        min-height: 32px;
        padding: .36rem .54rem;
        font-size: .88rem;
    }
    .sector9000-game-menu-card {
        padding: .9rem;
    }
}

/* Native Discord bot PM2 panel */
.admin-bot-workspace .bot-inline-form,
.admin-bot-workspace .inline-form {
    display: inline-flex;
    margin: .12rem .18rem .12rem 0;
    vertical-align: middle;
}
.admin-bot-workspace .debug-pre {
    white-space: pre-wrap;
    overflow: auto;
    max-height: 26rem;
}
.admin-bot-workspace .bot-scroll-panel table td:last-child {
    min-width: 18rem;
}
.shared-games-realtime-workspace code {
    white-space: nowrap;
}


/* Sector 9000 advanced mission systems */
.sector9000-results-card {
    margin: .9rem 0 1rem;
    padding: .9rem;
    border-radius: 18px;
    border: 2px solid rgba(255, 119, 190, .24);
    background: rgba(255,255,255,.72);
}
.sector9000-results-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}
.sector9000-results-grid span {
    display: grid;
    gap: .2rem;
    padding: .65rem;
    border-radius: 14px;
    border: 2px solid rgba(39,27,72,.10);
    background: rgba(255,255,255,.76);
}
.sector9000-results-grid b {
    color: var(--muted);
    font-size: .76rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.sector9000-results-grid strong {
    color: var(--ink);
    font-size: 1.1rem;
}
@media (max-width: 720px) {
    .sector9000-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 460px) {
    .sector9000-results-grid { grid-template-columns: 1fr; }
}

/* Sector 9000 game-style menu, tactical map, and reload UI */
.sector9000-doom-menu {
    background:
        radial-gradient(circle at 18% 14%, rgba(255, 76, 35, .22), transparent 28%),
        radial-gradient(circle at 80% 12%, rgba(255, 214, 93, .12), transparent 22%),
        linear-gradient(135deg, rgba(4, 5, 9, .92), rgba(30, 7, 13, .88) 48%, rgba(5, 7, 12, .94));
    backdrop-filter: blur(2px) saturate(1.25);
}
.sector9000-game-menu-card--doom {
    position: relative;
    width: min(100%, 960px);
    color: #f8efe3;
    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,0) 16%),
        repeating-linear-gradient(0deg, rgba(255,255,255,.026) 0 1px, transparent 1px 5px),
        linear-gradient(145deg, rgba(31, 11, 16, .98), rgba(9, 10, 17, .98) 54%, rgba(46, 13, 6, .96));
    border: 3px solid rgba(255, 82, 46, .78);
    box-shadow:
        0 0 0 2px rgba(255, 214, 93, .25) inset,
        0 0 38px rgba(255, 76, 35, .25),
        0 36px 98px rgba(0,0,0,.72);
    border-radius: 6px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    text-shadow: 0 2px 0 rgba(0,0,0,.7);
}
.sector9000-game-menu-card--doom::before,
.sector9000-game-menu-card--doom::after {
    content: '';
    position: absolute;
    pointer-events: none;
    left: 1rem;
    right: 1rem;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,214,93,.75), transparent);
}
.sector9000-game-menu-card--doom::before { top: .55rem; }
.sector9000-game-menu-card--doom::after { bottom: .55rem; }
.sector9000-menu-art {
    position: absolute;
    inset: 0;
    overflow: hidden;
    opacity: .45;
    pointer-events: none;
}
.sector9000-menu-art span,
.sector9000-menu-art i,
.sector9000-menu-art b {
    position: absolute;
    display: block;
    background: linear-gradient(180deg, rgba(255,90,46,.9), rgba(96,13,22,.4));
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    filter: drop-shadow(0 0 20px rgba(255,80,40,.35));
}
.sector9000-menu-art span { width: 190px; height: 120px; right: -30px; top: 36px; transform: rotate(28deg); }
.sector9000-menu-art i { width: 130px; height: 90px; left: -18px; bottom: 48px; transform: rotate(-18deg); }
.sector9000-menu-art b { width: 86px; height: 70px; right: 16%; bottom: 18px; transform: rotate(8deg); }
.sector9000-menu-title,
.sector9000-menu-nav,
.sector9000-menu-panel { position: relative; z-index: 1; }
.sector9000-menu-title {
    display: grid;
    justify-items: center;
    gap: .2rem;
    margin-bottom: .9rem;
    text-align: center;
}
.sector9000-menu-title .eyebrow {
    color: #ff9a66;
    letter-spacing: .24em;
}
.sector9000-menu-title h3 {
    margin: 0;
    color: #ffd65d;
    font-size: clamp(2.3rem, 7vw, 5.25rem);
    line-height: .88;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-shadow: 0 4px 0 #5a1118, 0 0 28px rgba(255,76,35,.55);
}
.sector9000-menu-title small {
    color: rgba(255,255,255,.72);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .09em;
}
.sector9000-menu-nav,
.sector9000-settings-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center;
    margin: .75rem 0 1rem;
}
.sector9000-menu-nav button,
.sector9000-settings-tabs button {
    border: 2px solid rgba(255,214,93,.28);
    background: linear-gradient(180deg, rgba(51,22,24,.96), rgba(18,12,15,.96));
    color: rgba(255,255,255,.82);
    border-radius: 3px;
    padding: .58rem .85rem;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .07em;
    box-shadow: 0 8px 0 rgba(0,0,0,.25);
}
.sector9000-menu-nav button.is-active,
.sector9000-settings-tabs button.is-active,
.sector9000-menu-nav button:hover,
.sector9000-settings-tabs button:hover {
    color: #1b0b0f;
    background: linear-gradient(180deg, #ffd65d, #ff8f44);
    border-color: rgba(255,255,255,.35);
}
.sector9000-menu-panel[hidden],
.sector9000-settings-panel[hidden] { display: none !important; }
.sector9000-main-menu-options {
    display: grid;
    gap: .7rem;
    width: min(100%, 720px);
    margin: 0 auto;
}
.sector9000-doom-option,
.sector9000-launch-button {
    position: relative;
    display: grid;
    width: 100%;
    gap: .18rem;
    padding: .78rem 1rem;
    border-radius: 4px;
    border: 2px solid rgba(255, 214, 93, .35);
    background: linear-gradient(90deg, rgba(76, 18, 20, .96), rgba(18, 15, 20, .96));
    color: #f8efe3;
    font-weight: 1000;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .04em;
    box-shadow: 0 10px 0 rgba(0,0,0,.24), inset 0 0 18px rgba(255,255,255,.04);
}
.sector9000-doom-option span,
.sector9000-launch-button { font-size: 1.06rem; }
.sector9000-doom-option small {
    color: rgba(255,255,255,.66);
    font-size: .76rem;
    letter-spacing: .02em;
    text-transform: none;
}
.sector9000-doom-option:hover,
.sector9000-doom-option.is-active,
.sector9000-launch-button:hover {
    color: #1b0b0f;
    background: linear-gradient(90deg, #ffd65d, #ff5d37);
    transform: translateY(-1px);
}
.sector9000-doom-option--primary {
    border-color: rgba(255, 85, 46, .75);
    background: linear-gradient(90deg, rgba(143, 24, 23, .98), rgba(58, 14, 15, .98));
}
.sector9000-menu-help {
    margin: .85rem auto 0;
    color: rgba(255,255,255,.72);
    font-weight: 850;
    text-align: center;
}
.sector9000-start-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr);
    gap: 1rem;
    align-items: start;
}
.sector9000-start-card,
.sector9000-settings-panel {
    display: grid;
    gap: .7rem;
    padding: .9rem;
    border-radius: 5px;
    border: 2px solid rgba(255,214,93,.22);
    background: rgba(3, 5, 9, .58);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}
.sector9000-start-card h4 {
    margin: 0;
    color: #ffd65d;
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.sector9000-start-card label,
.sector9000-settings-panel label,
.sector9000-lobby-form label {
    display: grid;
    gap: .25rem;
    color: rgba(255,255,255,.76);
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.sector9000-game-menu-card--doom select,
.sector9000-game-menu-card--doom input[type="number"],
.sector9000-game-menu-card--doom input[type="range"] {
    width: 100%;
    min-height: 42px;
    border-radius: 3px;
    border: 2px solid rgba(255,214,93,.26);
    background: rgba(0,0,0,.64);
    color: #f8efe3;
    font-weight: 900;
    padding: .5rem .65rem;
}
.sector9000-lobby-form {
    display: grid;
    gap: .62rem;
}
.sector9000-lobby-form .check-row {
    display: flex;
    align-items: center;
    gap: .5rem;
    text-transform: none;
}
.sector9000-menu-locked {
    display: grid;
    gap: 1rem;
    place-items: start;
    color: rgba(255,255,255,.82);
}
.sector9000-control-grid {
    display: grid;
    grid-template-columns: minmax(120px, .75fr) minmax(0, 1fr);
    gap: .5rem;
    align-items: center;
}
.sector9000-control-grid span {
    color: rgba(255,255,255,.62);
    font-weight: 900;
    text-transform: uppercase;
}
.sector9000-control-grid b {
    color: #ffd65d;
    font-weight: 1000;
}
.sector9000-room-loadout span {
    background: rgba(255,214,93,.10);
    border-color: rgba(255,214,93,.24);
    color: #f8efe3;
}
@media (max-width: 820px) {
    .sector9000-game-menu-card--doom { max-height: calc(100% - 1rem); padding: .9rem; }
    .sector9000-start-layout { grid-template-columns: 1fr; }
    .sector9000-menu-title h3 { font-size: clamp(2rem, 11vw, 3.5rem); }
}

/* Sector 9000 core menu / persistent settings / leaderboard patch */
.sector9000-shell--standalone {
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
    background:
        radial-gradient(circle at 18% 12%, rgba(255,78,42,.18), transparent 28%),
        linear-gradient(180deg, #07080d, #13070a 60%, #050507);
    border: 3px solid rgba(255, 82, 46, .78);
    box-shadow: 0 0 0 2px rgba(255,214,93,.18) inset, 0 26px 80px rgba(0,0,0,.42);
}
.sector9000-page.sector9000-shell--standalone {
    display: flex;
    align-items: stretch;
}
.sector9000-shell--standalone .sector9000-stage {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 0;
    border-radius: 14px;
    background: #050507;
}
.sector9000-page.sector9000-shell--standalone .sector9000-stage {
    flex: 1 1 auto;
    height: calc(100vh - 1.6rem);
    height: calc(100dvh - 1.6rem);
    min-height: 520px;
    max-height: none;
}
.sector9000-shell--standalone canvas {
    width: 100%;
    height: auto;
    max-height: min(82vh, 1080px);
    aspect-ratio: 16 / 9;
    image-rendering: pixelated;
}
.sector9000-page.sector9000-shell--standalone canvas {
    height: 100%;
    max-height: none;
    object-fit: contain;
}
.sector9000-page main > .tabs,
.sector9000-page .game-tabs,
.sector9000-page [data-game-tabs],
.sector9000-page [aria-label="Sector 9000 sections"] {
    display: none !important;
}
.sector9000-start-layout--single {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sector9000-menu-leaderboard-preview,
.sector9000-leaderboard-panel {
    margin-top: 1rem;
}
.sector9000-leaderboard-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}
.sector9000-leaderboard--menu {
    max-height: min(36vh, 340px);
    overflow: auto;
    padding-right: .35rem;
}
.sector9000-game-menu-card--doom .rabbit-leaderboard li {
    background: rgba(0,0,0,.35);
    border: 1px solid rgba(255,214,93,.20);
    color: #f8efe3;
}
.sector9000-game-menu-card--doom .rabbit-leaderboard li strong {
    color: #ffd65d;
}
.sector9000-game-menu-card--doom .rabbit-leaderboard li span {
    color: rgba(255,255,255,.72);
}
.sector9000-game-menu-card--doom .hybrid-choice,
.sector9000-game-menu-card--doom .hybrid-select,
.sector9000-game-menu-card--doom .hybrid-search,
.sector9000-game-menu-card--doom .hybrid-input {
    background: rgba(0,0,0,.66) !important;
    border-color: rgba(255,214,93,.30) !important;
    color: #f8efe3 !important;
}
.sector9000-game-menu-card--doom .hybrid-results,
.sector9000-game-menu-card--doom .hybrid-menu,
.sector9000-game-menu-card--doom [data-hybrid-results] {
    background: #100b10 !important;
    border-color: rgba(255,214,93,.35) !important;
    color: #f8efe3 !important;
}
.sector9000-game-menu-card--doom .hybrid-option,
.sector9000-game-menu-card--doom [data-hybrid-option] {
    color: #f8efe3 !important;
}
.sector9000-game-menu-card--doom .hybrid-option:hover,
.sector9000-game-menu-card--doom [data-hybrid-option]:hover {
    background: rgba(255, 85, 46, .28) !important;
}
.sector9000-signin-warning {
    color: #ffd65d;
}
.sector9000-fx-low-noise canvas {
    filter: saturate(.98) contrast(1.04);
}
.sector9000-fx-classic canvas {
    filter: saturate(1.08) contrast(1.08);
}
@media (max-width: 720px) {
    .sector9000-start-layout--single,
    .sector9000-leaderboard-filters {
        grid-template-columns: 1fr;
    }
    .sector9000-shell--standalone canvas {
        max-height: 76vh;
    }
    .sector9000-page.sector9000-shell--standalone .sector9000-stage {
        min-height: 360px;
        height: calc(100vh - .8rem);
        height: calc(100dvh - .8rem);
    }
}


/* Sector 9000 Patch 120 menu/control polish */
.sector9000-lock-indicator {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}
.sector9000-playing.sector9000-pointer-unlocked .sector9000-lock-indicator {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.sector9000-pointer-locked .sector9000-lock-indicator,
.sector9000-menu-open .sector9000-lock-indicator {
    opacity: 0 !important;
    visibility: hidden !important;
}
.sector9000-game-menu-card--doom[data-s9k-current-panel="main"] .sector9000-menu-nav {
    display: none;
}
.sector9000-game-menu-card--doom .sector9000-menu-nav button[hidden] {
    display: none !important;
}
.sector9000-game-menu-card--doom,
.sector9000-leaderboard--menu,
.sector9000-game-menu-card--doom .hybrid-results,
.sector9000-game-menu-card--doom .hybrid-menu,
.sector9000-game-menu-card--doom [data-hybrid-results] {
    scrollbar-width: auto;
    scrollbar-color: rgba(255, 82, 46, .88) rgba(9, 8, 13, .9);
}
.sector9000-game-menu-card--doom::-webkit-scrollbar,
.sector9000-leaderboard--menu::-webkit-scrollbar,
.sector9000-game-menu-card--doom .hybrid-results::-webkit-scrollbar,
.sector9000-game-menu-card--doom .hybrid-menu::-webkit-scrollbar,
.sector9000-game-menu-card--doom [data-hybrid-results]::-webkit-scrollbar {
    width: 18px;
    height: 18px;
}
.sector9000-game-menu-card--doom::-webkit-scrollbar-track,
.sector9000-leaderboard--menu::-webkit-scrollbar-track,
.sector9000-game-menu-card--doom .hybrid-results::-webkit-scrollbar-track,
.sector9000-game-menu-card--doom .hybrid-menu::-webkit-scrollbar-track,
.sector9000-game-menu-card--doom [data-hybrid-results]::-webkit-scrollbar-track {
    background: rgba(9, 8, 13, .92);
    border: 2px solid rgba(255, 214, 93, .18);
}
.sector9000-game-menu-card--doom::-webkit-scrollbar-thumb,
.sector9000-leaderboard--menu::-webkit-scrollbar-thumb,
.sector9000-game-menu-card--doom .hybrid-results::-webkit-scrollbar-thumb,
.sector9000-game-menu-card--doom .hybrid-menu::-webkit-scrollbar-thumb,
.sector9000-game-menu-card--doom [data-hybrid-results]::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 119, 190, .92), rgba(255, 82, 46, .92));
    border-radius: 999px;
    border: 4px solid rgba(9, 8, 13, .92);
}
.sector9000-game-menu-card--doom input[type="range"] {
    appearance: none;
    -webkit-appearance: none;
    width: min(100%, 340px);
    height: 18px;
    padding: 0;
    border: 2px solid rgba(255, 214, 93, .42);
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255,82,46,.34), rgba(255,214,93,.20)), rgba(0,0,0,.72);
    box-shadow: inset 0 0 0 2px rgba(0,0,0,.28), 0 6px 0 rgba(0,0,0,.18);
}
.sector9000-game-menu-card--doom input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    -webkit-appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 3px solid #18090c;
    background: linear-gradient(180deg, #ffd65d, #ff5d37);
    box-shadow: 0 0 0 2px rgba(255,255,255,.22), 0 0 18px rgba(255,82,46,.45);
}
.sector9000-game-menu-card--doom input[type="range"]::-moz-range-thumb {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 3px solid #18090c;
    background: linear-gradient(180deg, #ffd65d, #ff5d37);
    box-shadow: 0 0 0 2px rgba(255,255,255,.22), 0 0 18px rgba(255,82,46,.45);
}
.sector9000-keybind-grid {
    display: grid;
    grid-template-columns: minmax(120px, .85fr) minmax(120px, 1fr);
    gap: .55rem;
    align-items: center;
}
.sector9000-keybind-grid span {
    color: rgba(255,255,255,.68);
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.sector9000-keybind-grid button {
    min-height: 38px;
    border-radius: 4px;
    border: 2px solid rgba(255, 214, 93, .38);
    background: rgba(0,0,0,.64);
    color: #ffd65d;
    font-weight: 1000;
    text-align: center;
    letter-spacing: .08em;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}
.sector9000-keybind-grid button.is-listening {
    color: #18090c;
    background: linear-gradient(180deg, #ffd65d, #ff5d37);
}
.sector9000-fx-none canvas {
    filter: contrast(1.02) saturate(1.0);
}
.sector9000-texture-low canvas {
    filter: contrast(1.04) saturate(.96);
}
.sector9000-texture-medium canvas {
    filter: contrast(1.05) saturate(1.0);
}
.sector9000-lighting-doom canvas {
    filter: contrast(1.12) brightness(.88) saturate(1.04);
}
.sector9000-lighting-bright canvas {
    filter: contrast(1.05) brightness(1.10) saturate(1.02);
}
@media (max-width: 720px) {
    .sector9000-keybind-grid {
        grid-template-columns: 1fr;
    }
    .sector9000-game-menu-card--doom input[type="range"] {
        width: min(100%, 280px);
    }
}

/* Sector 9000 Patch 121 flow repair */
.sector9000-room-layout > aside.panel.compact {
    display: none;
}
.sector9000-room-layout {
    grid-template-columns: 1fr !important;
}
.sector9000-room-layout .sector9000-game-menu-card--doom [data-s9k-exit-game] {
    color: #ffd65d;
}

/* Sector 9000 Patch 122 lobby flow repair */
.sector9000-lobby-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}
.sector9000-lobby-review-grid span,
.sector9000-lobby-player-list span {
    display: grid;
    gap: .22rem;
    padding: .72rem .8rem;
    border-radius: 6px;
    border: 2px solid rgba(255, 214, 93, .22);
    background: rgba(0,0,0,.38);
}
.sector9000-lobby-review-grid b,
.sector9000-lobby-player-list small {
    color: rgba(255,255,255,.60);
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.sector9000-lobby-review-grid strong,
.sector9000-lobby-player-list b {
    color: #ffd65d;
    font-weight: 1000;
}
.sector9000-lobby-player-panel {
    display: grid;
    gap: .7rem;
    padding: .8rem;
    border-radius: 6px;
    border: 2px solid rgba(255, 82, 46, .24);
    background: rgba(0,0,0,.25);
}
.sector9000-lobby-player-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .6rem;
}
@media (max-width: 800px) {
    .sector9000-lobby-review-grid {
        grid-template-columns: 1fr;
    }
}

/* Sector 9000 Patch 129 multiplayer roster / PvP camera policy */
.sector9000-roster {
    position: absolute;
    top: .75rem;
    right: .75rem;
    width: min(320px, calc(100% - 1.5rem));
    display: grid;
    gap: .42rem;
    z-index: 6;
    pointer-events: none;
    color: #fff;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    text-shadow: 0 2px 0 rgba(0,0,0,.45);
}
.sector9000-roster[hidden] { display: none !important; }
.sector9000-roster-title,
.sector9000-roster-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .18rem .5rem;
    align-items: center;
    padding: .48rem .58rem;
    border: 2px solid rgba(255,255,255,.15);
    border-left-color: var(--s9k-player-color, #5df5ff);
    background: linear-gradient(135deg, rgba(5,3,8,.82), rgba(26,15,37,.74));
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
.sector9000-roster-title {
    border-color: rgba(255,214,93,.34);
    background: linear-gradient(135deg, rgba(39,21,8,.86), rgba(79,33,16,.70));
    text-transform: uppercase;
    letter-spacing: .06em;
}
.sector9000-roster-title span,
.sector9000-roster-row span { color: #ffd65d; font-weight: 1000; }
.sector9000-roster-row b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sector9000-roster-row small {
    grid-column: 1 / -1;
    color: rgba(255,255,255,.72);
    font-weight: 850;
}
.sector9000-roster-row.is-local { --s9k-player-color: #fff; }
.sector9000-pvp-first-camera .sector9000-center-dot::after {
    content: 'PVP 1P';
    position: absolute;
    left: 14px;
    top: -9px;
    color: #ffd65d;
    font: 900 9px/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    text-shadow: 0 2px 0 rgba(0,0,0,.8);
    white-space: nowrap;
}
@media (max-width: 800px) {
    .sector9000-roster {
        top: .45rem;
        right: .45rem;
        width: min(260px, calc(100% - .9rem));
        transform: scale(.9);
        transform-origin: top right;
    }
    .sector9000-roster-row:nth-of-type(n+5) { display: none; }
}


/* Sector 9000 Patch 134 PvP/co-op mechanics pass 1 */
.sector9000-player-dead canvas {
    filter: saturate(.72) contrast(1.05) brightness(.72);
}
.sector9000-lobby-review-grid span:nth-last-child(1) {
    border-color: rgba(255,214,93,.28);
}


/* Sector 9000 Patch 135 PvP/team scoreboard polish */
.sector9000-results-card--scoreboard h4 { margin: .15rem 0 .35rem; color: #ffd65d; text-transform: uppercase; letter-spacing: .08em; }
.sector9000-results-grid--scoreboard { grid-template-columns: 1fr; }
.sector9000-scoreboard-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; border-left: 3px solid #ffd65d; }
.sector9000-scoreboard-row small { color: rgba(216,239,255,.82); font-weight: 900; }

/* Sector 9000 Patch 136 co-op mechanics pass 1 */
.sector9000-coop-downed canvas { filter: saturate(.62) contrast(1.08) brightness(.64); }
.sector9000-coop-downed .sector9000-center-dot::after {
  content: 'DOWNED';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, 22px);
  color: #ff596f;
  font: 700 10px/1 monospace;
  text-shadow: 0 0 8px rgba(255,89,111,.85);
  letter-spacing: .08em;
}
.sector9000-roster-row.is-downed {
  border-left-color: #ff596f;
  background: linear-gradient(90deg, rgba(255,89,111,.20), rgba(10,12,18,.82));
}

/* Sector 9000 Patch 137 co-op mechanics pass 2 */
.sector9000-results-grid--squad {
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(255,214,93,.22);
}
.sector9000-results-grid--squad .sector9000-scoreboard-row {
  background: linear-gradient(90deg, rgba(93,245,255,.10), rgba(8,10,16,.82));
  border-left-color: #5df5ff;
}
.sector9000-results-grid--squad .sector9000-scoreboard-row b {
  color: #fff;
}
.sector9000-results-grid--squad .sector9000-scoreboard-row small {
  color: rgba(216,239,255,.88);
}

/* Sector 9000 Patch 141 map/content pass 2: mission briefings + expanded map select */
.sector9000-mission-briefing {
    display: grid;
    gap: .65rem;
    margin: .75rem 0;
    padding: .82rem .9rem;
    border: 2px solid rgba(93, 245, 255, .24);
    border-left-color: #ffd65d;
    border-radius: 7px;
    background: linear-gradient(135deg, rgba(3, 10, 16, .74), rgba(36, 16, 12, .38));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.045), 0 12px 28px rgba(0,0,0,.18);
}
.sector9000-mission-briefing[hidden] { display: none !important; }
.sector9000-mission-briefing--lobby { margin-top: .9rem; }
.sector9000-briefing-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .8rem;
    border-bottom: 1px solid rgba(255,255,255,.10);
    padding-bottom: .45rem;
}
.sector9000-briefing-head span {
    color: rgba(255,255,255,.58);
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .72rem;
}
.sector9000-briefing-head strong {
    color: #ffd65d;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-align: right;
}
.sector9000-briefing-subtitle {
    margin: 0;
    color: rgba(216,239,255,.86);
    font-weight: 900;
}
.sector9000-briefing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}
.sector9000-briefing-grid span {
    display: grid;
    gap: .22rem;
    padding: .62rem .68rem;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.28);
    border-radius: 5px;
}
.sector9000-briefing-grid b {
    color: #5df5ff;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: .72rem;
}
.sector9000-briefing-grid small {
    color: rgba(255,255,255,.76);
    font-weight: 850;
    line-height: 1.35;
}
@media (max-width: 900px) {
    .sector9000-briefing-grid { grid-template-columns: 1fr; }
    .sector9000-briefing-head { align-items: flex-start; flex-direction: column; }
    .sector9000-briefing-head strong { text-align: left; }
}
.sector9000-unlock-note {
    margin: .72rem 0 0;
    padding: .68rem .8rem;
    border-left: 3px solid #ffd65d;
    background: rgba(255,214,93,.10);
    color: rgba(255,255,255,.84);
    font-weight: 900;
}

/* Sector 9000 map/content pass 4 mission detail cards */
.sector9000-map-detail-card{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
    gap:.55rem;
    margin-top:.75rem;
}
.sector9000-map-detail-card span{
    border:1px solid rgba(255,255,255,.12);
    background:rgba(4,7,18,.56);
    border-radius:.7rem;
    padding:.55rem .65rem;
    box-shadow:inset 0 0 0 1px rgba(93,245,255,.08);
}
.sector9000-map-detail-card b{
    display:block;
    font-size:.7rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(255,255,255,.62);
}
.sector9000-map-detail-card small{
    display:block;
    margin-top:.18rem;
    color:#fff4c6;
    line-height:1.25;
}

/* Patch 145: universal status/action popup foundation */
.universal-status-popup[hidden] {
    display: none !important;
}

.universal-status-popup {
    position: fixed;
    inset: 0;
    z-index: 11000;
    display: grid;
    place-items: center;
    padding: clamp(.85rem, 3vw, 2rem);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
}

.universal-status-popup.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.universal-status-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(14, 8, 32, .52);
    backdrop-filter: blur(5px);
}

.universal-status-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    width: min(100%, 640px);
    padding: clamp(1.1rem, 3vw, 1.65rem);
    border: 4px solid rgba(35, 215, 255, .72);
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.82));
    box-shadow: 0 26px 80px rgba(0,0,0,.28), 0 8px 0 rgba(0,0,0,.14);
    transform: translateY(12px) scale(.98);
    transition: transform .18s ease;
}

.universal-status-popup.is-visible .universal-status-card {
    transform: translateY(0) scale(1);
}

.universal-status-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    background: rgba(35, 215, 255, .18);
    font-size: 2rem;
    box-shadow: 0 7px 0 rgba(0,0,0,.11);
}

.universal-status-content h2 {
    margin: .15rem 2.2rem .45rem 0;
    font-size: clamp(1.35rem, 3vw, 2.1rem);
    line-height: 1.05;
}

.universal-status-content p {
    margin-top: 0;
}

.universal-status-close {
    position: absolute;
    top: .75rem;
    right: .75rem;
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--ink);
    font-size: 1.5rem;
    font-weight: 1000;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 0 rgba(0,0,0,.12);
}

.universal-status-close:hover,
.universal-status-close:focus-visible {
    transform: translateY(-1px);
    outline: 3px solid rgba(35, 215, 255, .45);
    outline-offset: 2px;
}

.universal-status-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .75rem;
}

.universal-status-popup[data-status-type="success"] .universal-status-card {
    border-color: rgba(51,192,113,.72);
}
.universal-status-popup[data-status-type="success"] .universal-status-icon {
    background: rgba(51,192,113,.18);
}

.universal-status-popup[data-status-type="warning"] .universal-status-card {
    border-color: rgba(255,176,32,.82);
}
.universal-status-popup[data-status-type="warning"] .universal-status-icon {
    background: rgba(255,176,32,.2);
}

.universal-status-popup[data-status-type="danger"] .universal-status-card {
    border-color: rgba(255,79,109,.78);
}
.universal-status-popup[data-status-type="danger"] .universal-status-icon {
    background: rgba(255,79,109,.18);
}

@media (prefers-reduced-motion: reduce) {
    .universal-status-popup,
    .universal-status-card {
        transition: none;
    }
}

@media (max-width: 560px) {
    .universal-status-card {
        grid-template-columns: 1fr;
        border-radius: 22px;
    }
    .universal-status-icon {
        width: 54px;
        height: 54px;
        border-radius: 18px;
    }
}

/* Patch 147 giveaways hybrid filter and tabs. */
.giveaway-filter-panel {
    margin: 1rem 0 1.1rem;
}

.giveaway-filter-panel .hybrid-filter-input-tabs .button {
    min-height: 42px;
}

.giveaway-grid {
    align-items: stretch;
}

.giveaway-card[data-giveaway-card] {
    position: relative;
}

.giveaway-card.is-filter-hidden {
    display: none !important;
}

.giveaway-status-pill.status-active {
    border-color: rgba(34, 197, 94, .42);
    background: rgba(34, 197, 94, .12);
}

.giveaway-status-pill.status-ended {
    border-color: rgba(148, 163, 184, .42);
    background: rgba(148, 163, 184, .12);
}

.giveaway-filter-result small {
    line-height: 1.35;
}

.giveaway-filter-empty {
    margin-top: 1rem;
    text-align: center;
}

@media (max-width: 720px) {
    .giveaway-filter-panel .hybrid-filter-input-top {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .giveaway-filter-panel .hybrid-filter-input-actions {
        justify-content: stretch;
    }

    .giveaway-filter-panel .hybrid-filter-input-clear {
        flex: 1 1 auto;
    }
}


/* Patch 152 Sector 9000 settings/control/readability polish */
[data-s9k-mode-scope][hidden],
[data-s9k-mode-scope].is-mode-hidden {
    display: none !important;
}
.sector9000-weapon-wheel {
    position: absolute;
    left: 50%;
    bottom: clamp(4.5rem, 12vh, 7rem);
    transform: translateX(-50%);
    z-index: 8;
    min-width: min(540px, calc(100% - 2rem));
    border: 1px solid rgba(255,214,93,.62);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(18,12,10,.93), rgba(5,4,6,.92));
    box-shadow: 0 18px 45px rgba(0,0,0,.42), inset 0 0 32px rgba(255,72,38,.08);
    color: #f7ecbd;
    padding: .7rem .85rem;
    text-align: center;
    pointer-events: none;
}
.sector9000-weapon-wheel[hidden] { display: none !important; }
.sector9000-weapon-wheel strong {
    display:block;
    margin-bottom:.45rem;
    color:#ffd65d;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.82rem;
}
.sector9000-weapon-wheel div {
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:.45rem;
}
.sector9000-weapon-wheel span {
    display:flex;
    align-items:center;
    gap:.4rem;
    justify-content:flex-start;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.055);
    border-radius:12px;
    padding:.45rem .55rem;
    font-weight:900;
    font-size:.82rem;
    color:rgba(255,255,255,.84);
}
.sector9000-weapon-wheel span.is-active {
    border-color:rgba(93,245,255,.78);
    background:rgba(93,245,255,.14);
    color:#fff;
}
.sector9000-weapon-wheel b {
    display:inline-grid;
    place-items:center;
    min-width:1.5rem;
    min-height:1.5rem;
    border-radius:999px;
    background:rgba(0,0,0,.36);
    color:#ffd65d;
}
.sector9000-weapon-wheel small {
    display:block;
    margin-top:.5rem;
    color:rgba(255,255,255,.72);
    font-weight:850;
}
@media (max-width: 720px) {
    .sector9000-weapon-wheel { bottom: 5.25rem; min-width: calc(100% - 1rem); padding:.55rem; }
    .sector9000-weapon-wheel div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sector9000-weapon-wheel span { font-size:.76rem; padding:.38rem .42rem; }
}


/* Continuing updates 153: standalone eligibility page + rewards display. */
.eligibility-page-hero { display: grid; gap: 1rem; }
.eligibility-page-head { align-items: stretch; }
.eligibility-page-stats .eligibility-mini-stat { min-height: 118px; }
.eligibility-page-workspace { display: grid; gap: 1rem; }
.eligibility-page-tabs { width: 100%; }
.eligibility-reward-grid,
.eligibility-requirement-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .85rem; }
.user-reward-card { align-content: start; min-height: 180px; }
.user-reward-card.is-current { border-color: color-mix(in srgb, var(--brand) 42%, rgba(148,163,184,.24)); box-shadow: 0 18px 46px rgba(15,23,42,.11); }
.user-reward-card.is-qualified { background: color-mix(in srgb, var(--brand) 7%, rgba(255,255,255,.72)); }
.user-reward-card > strong { font-size: 1.05rem; color: var(--ink); }
.user-reward-card p { margin: 0; color: var(--muted); line-height: 1.5; }
.eligibility-requirement-card { display: grid; gap: .65rem; padding: 1rem; border-radius: 22px; border: 1px solid rgba(148,163,184,.22); background: rgba(255,255,255,.48); }
.eligibility-requirement-card h3,
.eligibility-requirement-card p { margin: 0; }
.eligibility-requirement-card p { color: var(--muted); }
.eligibility-requirement-pills { display: flex; flex-wrap: wrap; gap: .42rem; }
.eligibility-requirement-pills span { display: inline-flex; padding: .35rem .55rem; border-radius: 999px; border: 1px solid rgba(148,163,184,.26); background: rgba(255,255,255,.58); color: var(--muted); font-weight: 900; font-size: .82rem; }
.compact-actions { margin-top: .75rem; }
.eligibility-reward-admin-grid .eligibility-reward-card textarea { width: 100%; }
@media (max-width: 760px) {
    .eligibility-page-head { display: grid; gap: .75rem; }
    .eligibility-page-head .status-pill { justify-self: start; }
}

/* Patch 155: 9k Game Night unified party-game shell. */
.game-night-hero {
    position: relative;
    overflow: hidden;
}
.game-night-hero::after {
    content: "🎉";
    position: absolute;
    right: clamp(1rem, 4vw, 3rem);
    bottom: clamp(.5rem, 2vw, 1.5rem);
    font-size: clamp(3rem, 8vw, 8rem);
    opacity: .16;
    transform: rotate(-10deg);
    pointer-events: none;
}
.game-night-selector-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.game-night-game-card {
    display: grid;
    gap: .45rem;
    text-align: left;
    border: 2px solid rgba(39,27,72,.14);
    border-radius: 24px;
    background: rgba(255,255,255,.58);
    color: var(--ink);
    padding: 1rem;
    cursor: pointer;
    box-shadow: var(--shadow);
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.game-night-game-card:hover,
.game-night-game-card.is-active {
    transform: translateY(-4px);
    border-color: rgba(255,93,173,.62);
    background: linear-gradient(135deg, rgba(255,93,173,.2), rgba(35,215,255,.18)), rgba(255,255,255,.72);
}
.game-night-game-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--brand-3), var(--brand-2));
    font-size: 2rem;
}
.game-night-game-card strong {
    font-size: 1.15rem;
}
.game-night-game-card span:not(.game-night-game-icon),
.game-night-game-card em {
    color: var(--muted);
    font-style: normal;
}
.game-night-workspace {
    align-items: start;
}
.game-night-form-grid .check-row {
    align-self: end;
    min-height: 58px;
}
.game-night-settings-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    flex-wrap: wrap;
    padding: .85rem;
    border-radius: 18px;
    background: rgba(35,215,255,.12);
    border: 1px solid rgba(35,215,255,.28);
}
.game-night-settings-note span {
    color: var(--muted);
    flex: 1 1 260px;
}
.game-night-room-card .room-browser-main h3 {
    margin-bottom: .15rem;
}
.game-night-resume-row {
    grid-template-columns: minmax(0, 1.3fr) auto auto auto;
}
.game-night-prep .card {
    background: rgba(255,255,255,.5);
}
@media (max-width: 860px) {
    .game-night-selector-grid,
    .game-night-workspace,
    .game-night-form-grid {
        grid-template-columns: 1fr;
    }
    .game-night-resume-row {
        grid-template-columns: 1fr;
    }
}

/* Patch 156: Games catalog / room UI cleanup. */
.games-catalog-hero .games-catalog-actions {
    margin-top: 1rem;
}
.games-catalog-panel {
    margin-top: 1rem;
}
.games-room-tools {
    margin-top: 1rem;
}
.games-room-tool-grid {
    align-items: stretch;
}
.games-room-tool-grid .card {
    min-width: 0;
}
.games-host-link-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}
.games-host-link-grid .mini-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "icon title" "icon text";
    align-items: center;
    gap: .1rem .65rem;
    padding: .75rem;
    border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--panel-strong) 70%, transparent);
    color: var(--ink);
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.games-host-link-grid .mini-card:hover,
.games-host-link-grid .mini-card:focus-visible {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--brand-2) 60%, var(--line));
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand-2) 14%, transparent), color-mix(in srgb, var(--brand-3) 12%, transparent)), var(--panel-strong);
}
.games-host-link-grid .mini-card span {
    grid-area: icon;
    width: 2.5rem;
    height: 2.5rem;
    display: grid;
    place-items: center;
    border-radius: .9rem;
    background: linear-gradient(135deg, var(--brand), var(--brand-2));
    box-shadow: 0 4px 0 rgba(0,0,0,.14);
    font-size: 1.2rem;
}
.games-host-link-grid .mini-card strong {
    grid-area: title;
    line-height: 1.15;
}
.games-host-link-grid .mini-card small {
    grid-area: text;
    color: var(--muted);
    font-weight: 800;
}
.games-room-drawer {
    margin-top: 1rem;
    border: var(--border);
    border-radius: 1.15rem;
    background: color-mix(in srgb, var(--panel-strong) 78%, transparent);
    overflow: hidden;
}
.games-room-drawer > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    padding: 1rem;
    cursor: pointer;
    font-weight: 950;
    list-style: none;
}
.games-room-drawer > summary::-webkit-details-marker {
    display: none;
}
.games-room-drawer > summary small {
    color: var(--muted);
    font-weight: 800;
}
.games-room-drawer[open] > summary {
    border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
}
.games-room-drawer .room-browser-controls,
.games-room-drawer .room-browser-list,
.games-room-drawer .room-browser-myrooms {
    margin-left: 1rem;
    margin-right: 1rem;
}
.games-room-drawer .room-browser-myrooms {
    margin-bottom: 1rem;
}
.games-room-card {
    grid-template-columns: minmax(0, 1.25fr) minmax(210px, .9fr) auto auto;
}
@media (max-width: 1050px) {
    .games-room-card {
        grid-template-columns: 1fr;
    }
    .games-room-card form .button,
    .games-room-card > .button {
        width: 100%;
    }
}
@media (max-width: 760px) {
    .games-host-link-grid,
    .games-room-tool-grid {
        grid-template-columns: 1fr;
    }
    .games-room-drawer > summary {
        align-items: flex-start;
        flex-direction: column;
    }
}



/* Patch 157: admin panel layout cleanup */
.archive-status-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .75rem;
}
.archive-status-strip .admin-summary-pill {
    min-width: 0;
}
.archive-patch-layout {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(320px, 1.2fr);
    gap: 1rem;
    align-items: start;
}
.patch-upload-card,
.patch-review-card {
    min-width: 0;
    height: 100%;
}
.patch-review-card .patch-upload-selected {
    margin-bottom: .75rem;
}
.patch-review-card .hero-actions {
    margin-top: .75rem;
}
.realtime-command-row {
    align-items: stretch;
}
.realtime-command-row .inline-form,
.realtime-command-row .inline-form .button {
    width: 100%;
}
.realtime-control-summary {
    margin-bottom: 1rem;
}
.course-create-edit-stack,
#create-edit-course .course-editor-stack {
    display: grid;
    gap: 1rem;
}
.course-user-picker .course-user-picker-menu-disabled {
    display: none !important;
}
.course-user-picker .course-user-grid {
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: 18px;
}
@media (max-width: 900px) {
    .archive-patch-layout {
        grid-template-columns: 1fr;
    }
}


/* Continuing updates 158: shop/payment invoice receipts */
.shop-card.included {
    border-color: rgba(65, 214, 139, 0.55);
    box-shadow: 0 0 0 1px rgba(65, 214, 139, 0.18), 0 18px 48px rgba(20, 24, 48, 0.18);
}
.shop-card.included .price,
.receipt-source-pill {
    color: var(--success, #23b26d);
}
.invoice-history-card .receipt-source-pill {
    margin-left: 0.35rem;
}
.admin-payments-workspace .table-wrap td .button.tiny {
    white-space: nowrap;
}
.payment-method-list .payment-method-chip.good {
    border-color: rgba(65, 214, 139, 0.5);
}


/* Patch 159: community/profile/account UI cleanup */
.featured-social-card {
  border-color: color-mix(in srgb, var(--accent, #8b5cf6) 55%, rgba(255,255,255,.18));
  box-shadow: 0 18px 48px rgba(0,0,0,.22);
}
.ad-preference-card {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1rem;
  padding: 1rem;
  background: rgba(255,255,255,.04);
}
.tabbed-profile-shell .tab-links,
.tabbed-profile-shell [role="tablist"] {
  flex-wrap: wrap;
}
.profile-link-card .muted {
  margin-bottom: 0;
}


/* Patch 161: 9k Pay Borrow Phase 1 */
.ninekpay-hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}
.ninekpay-tabs .tab-panel,
.ninekpay-admin-tabs .tab-panel {
    min-width: 0;
}
.ninekpay-preview {
    border-color: rgba(96, 165, 250, 0.34);
    background: rgba(59, 130, 246, 0.08);
}
.ninekpay-preview p:last-child,
.ninekpay-request-card p:last-child {
    margin-bottom: 0;
}
.ninekpay-quick-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.ninekpay-request-card {
    margin-bottom: 1rem;
}
.ninekpay-request-card .button-row {
    align-items: center;
    flex-wrap: wrap;
}
.ninekpay-admin-tabs table td form.stack.compact {
    min-width: 170px;
    margin-bottom: .45rem;
}
.ninekpay-admin-tabs table td form.stack.compact:last-child {
    margin-bottom: 0;
}
.ninekpay-admin-tabs input,
.ninekpay-admin-tabs textarea,
.ninekpay-admin-tabs select {
    max-width: 100%;
}
@media (max-width: 780px) {
    .ninekpay-hero {
        flex-direction: column;
    }
    .ninekpay-admin-tabs table td form.stack.compact {
        min-width: 0;
    }
}

/* Patch 162: 9k Game Night room-shell upgrade. */
.game-night-room-page main {
    isolation: isolate;
}
.game-night-room-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 1rem;
}
.game-night-room-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 15% 10%, rgba(255,255,255,.24), transparent 26%), radial-gradient(circle at 90% 20%, rgba(255,255,255,.16), transparent 22%);
    opacity: .9;
}
.game-night-room-title {
    position: relative;
    display: flex;
    gap: 1rem;
    align-items: center;
    min-width: 0;
}
.game-night-room-title h1,
.game-night-room-title p {
    margin: 0;
}
.game-night-room-icon {
    width: clamp(4.2rem, 8vw, 7rem);
    min-width: clamp(4.2rem, 8vw, 7rem);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border-radius: 32px;
    font-size: clamp(2.35rem, 5vw, 4.8rem);
    background: rgba(255,255,255,.22);
    border: 1px solid rgba(255,255,255,.28);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.1), 0 22px 48px rgba(15,23,42,.18);
}
.game-night-room-statline {
    position: relative;
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
}
.game-night-room-statline span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .45rem .7rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.16);
    font-weight: 900;
    font-size: .86rem;
}
.game-night-room-layout {
    display: grid;
    grid-template-columns: minmax(260px, .32fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
.game-night-scoreboard-panel,
.game-night-phase-panel {
    position: relative;
    overflow: hidden;
}
.game-night-player-list .game-player {
    border-radius: 18px;
    border: 1px solid rgba(148,163,184,.22);
    background: rgba(255,255,255,.56);
    box-shadow: 0 10px 24px rgba(15,23,42,.08);
}
.game-night-side-tools {
    margin-top: 1rem;
}
.game-night-host-callout {
    display: grid;
    gap: .35rem;
    padding: .95rem 1rem;
    margin-bottom: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.26);
    background: rgba(15,23,42,.14);
    color: var(--ink);
    box-shadow: 0 18px 38px rgba(15,23,42,.12);
}
.game-night-host-callout span {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 950;
    color: var(--muted);
}
.game-night-host-callout strong {
    font-size: clamp(1.2rem, 2.2vw, 1.8rem);
}
.game-night-host-callout p {
    margin: 0;
    font-weight: 800;
    line-height: 1.45;
}
.game-night-stage-frame {
    position: relative;
    display: grid;
    gap: 1rem;
    padding: clamp(.8rem, 2vw, 1.2rem);
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.22);
    min-height: 360px;
    background: rgba(255,255,255,.15);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.game-night-stage-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.14) 48%, transparent 65%);
    transform: translateX(-120%);
    animation: gameNightStageSweep 7s ease-in-out infinite;
}
.game-night-stage-frame > * {
    position: relative;
    z-index: 1;
}
.game-night-room-hero.theme-caption-clash,
.game-night-phase-panel.theme-caption-clash,
.game-night-stage-frame.theme-caption-clash,
.game-night-legacy-callout.theme-caption-clash {
    background:
        radial-gradient(circle at 18% 15%, rgba(255,93,173,.28), transparent 30%),
        radial-gradient(circle at 86% 26%, rgba(35,215,255,.22), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,.74), rgba(255,240,248,.62));
}
.game-night-room-hero.theme-caption-clash .game-night-room-icon,
.theme-caption-clash .game-night-host-callout {
    background: linear-gradient(135deg, rgba(255,93,173,.22), rgba(35,215,255,.16));
}
.game-night-room-hero.theme-trivia,
.game-night-phase-panel.theme-trivia,
.game-night-stage-frame.theme-trivia,
.game-night-legacy-callout.theme-trivia {
    background:
        radial-gradient(circle at 20% 20%, rgba(255,216,102,.34), transparent 30%),
        radial-gradient(circle at 84% 18%, rgba(120,119,255,.26), transparent 28%),
        linear-gradient(135deg, rgba(29,23,72,.92), rgba(39,27,72,.72));
    color: #fff;
}
.game-night-room-hero.theme-trivia .muted,
.game-night-phase-panel.theme-trivia .muted,
.game-night-room-hero.theme-trivia .lead,
.game-night-phase-panel.theme-trivia .lead {
    color: rgba(255,255,255,.78);
}
.game-night-room-hero.theme-trivia .game-night-room-icon,
.theme-trivia .game-night-host-callout {
    background: linear-gradient(135deg, rgba(255,216,102,.26), rgba(120,119,255,.22));
    color: #fff;
}
.game-night-room-hero.theme-sir-survey,
.game-night-phase-panel.theme-sir-survey,
.game-night-stage-frame.theme-sir-survey,
.game-night-legacy-callout.theme-sir-survey {
    background:
        radial-gradient(circle at 14% 16%, rgba(255,220,115,.28), transparent 32%),
        radial-gradient(circle at 86% 12%, rgba(135,92,255,.22), transparent 30%),
        linear-gradient(135deg, rgba(24,18,58,.92), rgba(56,21,79,.78));
    color: #fff;
}
.game-night-room-hero.theme-sir-survey .muted,
.game-night-phase-panel.theme-sir-survey .muted,
.game-night-room-hero.theme-sir-survey .lead,
.game-night-phase-panel.theme-sir-survey .lead {
    color: rgba(255,255,255,.78);
}
.game-night-room-hero.theme-sir-survey .game-night-room-icon,
.theme-sir-survey .game-night-host-callout {
    background: linear-gradient(135deg, rgba(255,220,115,.25), rgba(135,92,255,.2));
    color: #fff;
}
.game-night-phase-panel.theme-trivia .panel,
.game-night-phase-panel.theme-trivia .game-submission,
.game-night-phase-panel.theme-trivia .notify-box,
.game-night-phase-panel.theme-sir-survey .panel,
.game-night-phase-panel.theme-sir-survey .game-submission,
.game-night-phase-panel.theme-sir-survey .notify-box {
    color: var(--ink);
}
.game-night-legacy-callout {
    margin: 1rem 0;
    border-style: dashed;
}
@keyframes gameNightStageSweep {
    0%, 45% { transform: translateX(-120%); opacity: 0; }
    55% { opacity: .85; }
    100% { transform: translateX(120%); opacity: 0; }
}
@media (max-width: 900px) {
    .game-night-room-layout {
        grid-template-columns: 1fr;
    }
    .game-night-room-title {
        align-items: flex-start;
    }
}
@media (max-width: 640px) {
    .game-night-room-title {
        display: grid;
    }
    .game-night-room-icon {
        width: 4rem;
        min-width: 4rem;
        border-radius: 24px;
    }
    .game-night-room-statline span {
        width: 100%;
    }
}

/* Patch 163: 9k Pay profile entry + Borrow UI polish */
.profile-ninekpay-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: .75rem;
}
.profile-ninekpay-summary > div,
.ninekpay-availability-card,
.ninekpay-flow-steps span {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.045);
    padding: .85rem;
}
.profile-ninekpay-summary span,
.ninekpay-availability-card span,
.ninekpay-flow-steps span {
    display: block;
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--muted, #9ca3af);
}
.profile-ninekpay-summary strong,
.ninekpay-availability-card strong {
    display: block;
    margin-top: .15rem;
    font-size: 1.25rem;
    color: var(--text, #f8fafc);
}
.profile-ninekpay-summary em,
.ninekpay-availability-card small {
    display: block;
    margin-top: .15rem;
    color: var(--muted, #9ca3af);
    font-style: normal;
}
.profile-ninekpay-progress {
    margin: .35rem 0 .85rem;
}
.ninekpay-hero-upgraded {
    align-items: stretch;
}
.ninekpay-hero-copy {
    min-width: 0;
    flex: 1 1 auto;
}
.ninekpay-availability-card {
    flex: 0 0 min(320px, 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .35rem;
    background: linear-gradient(135deg, rgba(34,197,94,.12), rgba(59,130,246,.10));
}
.ninekpay-availability-card strong {
    font-size: clamp(2rem, 5vw, 3.25rem);
    line-height: 1;
}
.ninekpay-progress {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.10);
}
.ninekpay-progress span {
    display: block;
    min-width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(34,197,94,.88), rgba(96,165,250,.88));
}
.ninekpay-metrics .stat-card {
    min-height: 118px;
}
.ninekpay-flow-card {
    margin-top: 1rem;
}
.ninekpay-flow-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}
.ninekpay-flow-steps strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    margin-right: .4rem;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    color: var(--text, #f8fafc);
}
.ninekpay-request-panel,
.ninekpay-methods-panel {
    border-color: rgba(96,165,250,.24);
}
.ninekpay-request-form label,
.ninekpay-methods-panel label {
    min-width: 0;
}
.ninekpay-method-card {
    display: grid;
    gap: .45rem;
    align-content: start;
}
.ninekpay-method-card .status-pill {
    width: fit-content;
}
.ninekpay-request-card .ninekpay-progress {
    margin: .85rem 0 .45rem;
}
.ninekpay-tabs .tab-links,
.ninekpay-admin-tabs .tab-links {
    align-items: center;
}
@media (max-width: 900px) {
    .profile-ninekpay-summary,
    .ninekpay-flow-steps {
        grid-template-columns: 1fr;
    }
    .ninekpay-hero-upgraded {
        align-items: stretch;
    }
    .ninekpay-availability-card {
        flex-basis: auto;
    }
}

/* Patch 164: Don\'t Eat Me in-game lobby/start/spawn/settings shell */
.dont-eat-me-arcade-hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-end;
}
.dont-eat-me-game-hub,
.dont-eat-me-menu-shell {
    display: grid;
    gap: 1rem;
}
.dont-eat-me-menu-stage,
.dont-eat-me-lobby-stage {
    min-height: 520px;
    padding: 1rem;
    background:
        radial-gradient(circle at 18% 18%, rgba(124,247,255,.2), transparent 34%),
        radial-gradient(circle at 80% 12%, rgba(255,122,217,.18), transparent 32%),
        linear-gradient(135deg, rgba(3, 10, 24, .98), rgba(8, 25, 42, .96));
}
.dont-eat-me-menu-grid,
.dont-eat-me-ingame-menu {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}
.dont-eat-me-ingame-menu.single {
    grid-template-columns: minmax(0, 1fr);
    max-width: 760px;
    margin: 3rem auto;
}
.dont-eat-me-menu-card {
    min-width: 0;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(4, 14, 28, .74);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.045), 0 18px 42px rgba(0,0,0,.25);
    backdrop-filter: blur(8px);
}
.dont-eat-me-menu-card.is-primary {
    border-color: rgba(124,247,255,.34);
    background: linear-gradient(135deg, rgba(124,247,255,.14), rgba(255,122,217,.09)), rgba(4,14,28,.78);
}
.dont-eat-me-terminal-form .grid.two,
.dont-eat-me-spawn-grid {
    align-items: end;
}
.dont-eat-me-scroll-list {
    max-height: 300px;
    overflow: auto;
    padding-right: .25rem;
}
.dont-eat-me-scroll-list.compact {
    max-height: 220px;
}
.dont-eat-me-stage-topbar {
    position: absolute;
    z-index: 6;
    left: 1rem;
    right: 1rem;
    top: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
    justify-content: space-between;
    padding: .65rem .8rem;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(5, 15, 29, .78);
    backdrop-filter: blur(8px);
    box-shadow: 0 14px 36px rgba(0,0,0,.22);
}
.dont-eat-me-stage-topbar span,
.dont-eat-me-stage-topbar button {
    flex: 0 0 auto;
}
.dont-eat-me-player-dock {
    position: absolute;
    z-index: 5;
    left: 1rem;
    top: 5rem;
    width: min(280px, calc(100% - 2rem));
    max-height: 330px;
    overflow: auto;
    padding: .85rem;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(5, 15, 29, .66);
    backdrop-filter: blur(8px);
}
.dont-eat-me-player-dock .game-player-list {
    margin-top: .55rem;
}
.dont-eat-me-spawn-gate {
    position: absolute;
    z-index: 7;
    inset: 0;
    display: grid;
    place-content: center;
    gap: .85rem;
    text-align: center;
    padding: 2rem;
    background:
        radial-gradient(circle at 50% 28%, rgba(124,247,255,.18), transparent 32%),
        linear-gradient(180deg, rgba(6,20,34,.44), rgba(6,20,34,.9));
    backdrop-filter: blur(7px);
}
.dont-eat-me-spawn-gate[hidden] {
    display: none;
}
.dont-eat-me-spawn-gate strong {
    font-size: clamp(1.8rem, 4vw, 3.2rem);
}
.dont-eat-me-spawn-gate p {
    max-width: 680px;
    margin-inline: auto;
}
.dont-eat-me-stage-settings {
    margin-top: .9rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.04);
    padding: .75rem 1rem;
}
.dont-eat-me-stage-settings summary {
    cursor: pointer;
    font-weight: 800;
}
.dont-eat-me-stage-settings .universal-lobby-panel {
    margin-top: 1rem;
}
.dont-eat-me-stage-settings .dont-eat-me-controls {
    margin-top: .8rem;
}
.dont-eat-me-room-menu-shell .universal-lobby-panel {
    background: transparent;
    border: 0;
    padding: 0;
}
.dont-eat-me-room-menu-shell .host-control-panel,
.dont-eat-me-stage-settings .host-control-panel {
    margin-top: .75rem;
}
.button-row.centered {
    justify-content: center;
}
@media (max-width: 980px) {
    .dont-eat-me-menu-grid,
    .dont-eat-me-ingame-menu {
        grid-template-columns: 1fr;
    }
    .dont-eat-me-arcade-hero {
        align-items: stretch;
        flex-direction: column;
    }
    .dont-eat-me-player-dock {
        position: relative;
        left: auto;
        top: auto;
        width: auto;
        margin: .85rem;
        max-height: 240px;
    }
    .dont-eat-me-stage-topbar {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        margin: .75rem;
    }
}
@media (max-width: 760px) {
    .dont-eat-me-menu-stage,
    .dont-eat-me-lobby-stage {
        min-height: 420px;
        padding: .75rem;
    }
    .dont-eat-me-spawn-gate {
        padding: 1rem;
        place-content: start center;
        overflow: auto;
    }
}

/* Patch 165 actual UI consolidation: game-console shells, profile/premium/9k Pay cleanup. */
.ninekpay-hero-upgraded,
.panel.ninekpay-hero-upgraded {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .55fr);
    align-items: stretch;
    gap: 1.25rem;
    overflow: visible !important;
    min-height: auto !important;
    padding: clamp(1.1rem, 2.4vw, 2rem) !important;
}
.ninekpay-hero-copy,
.ninekpay-hero-copy .lead,
.ninekpay-hero-upgraded h1,
.ninekpay-hero-upgraded p {
    min-width: 0;
    max-width: none;
    overflow: visible;
    overflow-wrap: anywhere;
    white-space: normal;
}
.ninekpay-hero-copy .button-row,
.ninekpay-hero-upgraded .button-row {
    flex-wrap: wrap;
}
.ninekpay-availability-card {
    min-width: 0;
    overflow: visible;
}
.ninekpay-status-grid {
    align-items: stretch;
}
@media (max-width: 920px) {
    .ninekpay-hero-upgraded,
    .panel.ninekpay-hero-upgraded {
        grid-template-columns: 1fr;
    }
}

.games-lobby-page .feature-card:has(a[href*="/games/caption-clash"]),
.games-lobby-page .feature-card:has(a[href*="/games/sir-survey"]),
.games-lobby-page .feature-card:has(a[href*="/games/trivia"]) {
    display: none !important;
}

.game-console-shell {
    width: min(1500px, calc(100vw - 2rem));
    margin: 1.25rem auto;
}
.game-console-bezel {
    display: grid;
    grid-template-columns: minmax(190px, 250px) minmax(0, 1fr);
    min-height: min(760px, calc(100vh - 160px));
    border: 2px solid rgba(72, 255, 121, .75);
    border-radius: 28px;
    overflow: hidden;
    background:
        radial-gradient(circle at 25% 18%, rgba(72,255,121,.16), transparent 26%),
        radial-gradient(circle at 82% 70%, rgba(92,182,255,.12), transparent 30%),
        linear-gradient(135deg, rgba(2,12,10,.96), rgba(4,20,18,.9));
    box-shadow: 0 30px 80px rgba(0,0,0,.48), inset 0 0 0 1px rgba(255,255,255,.08);
}
.game-console-menu {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.18));
    border-right: 1px solid rgba(72,255,121,.32);
}
.game-console-back {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: .45rem .75rem;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    color: inherit;
    text-decoration: none;
    background: rgba(255,255,255,.06);
}
.game-console-logo {
    display: grid;
    gap: .35rem;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(72,255,121,.1);
    border: 1px solid rgba(72,255,121,.25);
}
.game-console-logo span {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(72,255,121,.95), rgba(39,196,255,.65));
    color: #02100a;
    font-size: 1.8rem;
}
.game-console-logo strong {
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    line-height: 1.05;
}
.game-console-logo small {
    color: rgba(215,255,222,.7);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .72rem;
}
.game-console-menu nav {
    display: grid;
    gap: .55rem;
}
.game-console-menu button,
.game-console-option {
    text-align: left;
    border: 1px solid rgba(204,255,214,.22);
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    color: inherit;
    padding: .85rem 1rem;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
    text-decoration: none;
}
.game-console-menu button:hover,
.game-console-option:hover,
.game-console-menu button.is-active,
.game-console-option.is-active,
.game-console-option--primary {
    transform: translateY(-1px);
    border-color: rgba(72,255,121,.85);
    background: rgba(72,255,121,.16);
}
.game-console-screen {
    position: relative;
    padding: clamp(1rem, 2.4vw, 2rem);
    overflow: auto;
    min-width: 0;
}
.game-console-panel[hidden] {
    display: none !important;
}
.game-console-panel {
    min-height: 100%;
}
.game-console-panel h1 {
    font-size: clamp(2.2rem, 5vw, 5rem);
    line-height: .95;
    margin-bottom: .75rem;
}
.game-console-panel h2 {
    font-size: clamp(1.45rem, 2.6vw, 2.4rem);
}
.game-console-panel .lead {
    max-width: 980px;
    font-size: clamp(1rem, 1.4vw, 1.25rem);
}
.game-console-quick-grid,
.game-console-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}
.game-console-option {
    display: grid;
    gap: .4rem;
    min-height: 115px;
}
.game-console-option span,
.game-console-option strong {
    font-size: 1.1rem;
}
.game-console-option small,
.game-console-option em {
    color: rgba(220,255,228,.72);
    font-style: normal;
    line-height: 1.35;
}
.game-console-status-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1.25rem;
}
.game-console-status-strip span,
.game-console-subhead > span {
    padding: .35rem .65rem;
    border-radius: 999px;
    background: rgba(72,255,121,.18);
    border: 1px solid rgba(72,255,121,.35);
    color: rgba(230,255,235,.9);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .78rem;
}
.game-console-subhead {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.game-console-form,
.game-console-subscreen,
.game-console-play-surface {
    border: 1px solid rgba(204,255,214,.22);
    border-radius: 24px;
    background: rgba(0,0,0,.22);
    padding: clamp(1rem, 2vw, 1.5rem);
}
.game-console-form-grid,
.game-console-form .grid.two {
    align-items: end;
}
.game-console-scroll {
    max-height: 470px;
    overflow: auto;
    padding-right: .35rem;
}
.game-console-two-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.game-night-game-card,
.game-console-card-grid .game-console-option {
    min-height: 170px;
}
.game-night-game-card .game-night-game-icon {
    font-size: 2.25rem;
}
.game-night-room-unified .game-night-room-embedded > .panel.rainbow-border:first-child,
.game-night-room-unified .game-night-room-embedded > .game-room-hero:first-child {
    display: none;
}
.game-night-room-embedded > * {
    max-width: 100%;
}
.snake-bezel {
    border-color: rgba(80,255,100,.75);
    background:
        radial-gradient(circle at 70% 18%, rgba(80,255,100,.12), transparent 30%),
        linear-gradient(135deg, rgba(1,18,8,.96), rgba(1,25,16,.92));
}
.rabbit-bezel {
    border-color: rgba(255,210,118,.68);
    background:
        radial-gradient(circle at 82% 22%, rgba(255,210,118,.15), transparent 30%),
        radial-gradient(circle at 30% 75%, rgba(98,215,255,.1), transparent 34%),
        linear-gradient(135deg, rgba(8,13,20,.97), rgba(18,23,35,.92));
}
.rabbit-run-console .rabbit-run-stage,
.rabbit-run-console .rabbit-run-canvas {
    max-width: 100%;
}
@media (max-width: 980px) {
    .game-console-bezel,
    .game-console-two-col {
        grid-template-columns: 1fr;
    }
    .game-console-menu {
        border-right: 0;
        border-bottom: 1px solid rgba(72,255,121,.3);
    }
    .game-console-menu nav {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    }
}

.profile-overview-dashboard {
    display: grid;
    gap: 1.25rem;
    width: 100%;
}
.profile-overview-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 340px);
    gap: 1rem;
    align-items: stretch;
    border: 1px solid rgba(72,255,121,.36);
    border-radius: 24px;
    padding: clamp(1rem, 2vw, 1.5rem);
    background: linear-gradient(135deg, rgba(72,255,121,.12), rgba(255,255,255,.04));
}
.profile-overview-hero h2 {
    margin: .15rem 0 .5rem;
    font-size: clamp(1.75rem, 3.4vw, 3.1rem);
}
.profile-overview-snapshot {
    display: grid;
    align-content: center;
    gap: .35rem;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(0,0,0,.24);
    border: 1px solid rgba(255,255,255,.16);
}
.profile-overview-snapshot span,
.profile-overview-snapshot em {
    color: rgba(218,255,226,.72);
    font-style: normal;
}
.profile-overview-snapshot strong {
    font-size: clamp(1.6rem, 3vw, 2.7rem);
}
.profile-overview-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: 1rem;
}
.profile-overview-card-grid,
.profile-activity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}
.profile-overview-card-grid .profile-block,
.profile-overview-feature {
    min-height: 100%;
}
.profile-overview-mini-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: .9rem 0;
}
.profile-overview-mini-stats span {
    display: grid;
    gap: .25rem;
    padding: .85rem;
    border-radius: 16px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
}
.profile-overview-mini-stats strong {
    font-size: 1.55rem;
}
.tabbed-profile-shell {
    display: grid;
    grid-template-columns: minmax(170px, 230px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}
.tabbed-profile-shell .tab-panel,
.tabbed-profile-shell [data-tab-panel] {
    min-width: 0;
}
@media (max-width: 1080px) {
    .profile-overview-hero,
    .profile-overview-main-grid,
    .profile-overview-card-grid,
    .profile-activity-grid,
    .tabbed-profile-shell {
        grid-template-columns: 1fr;
    }
}

.premium-plan-card.owned:not(.active-membership) {
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: none !important;
}
.premium-owned-source,
.premium-reward-note {
    display: block;
    border: 1px solid rgba(72,255,121,.32);
    border-radius: 16px;
    background: rgba(72,255,121,.1);
    padding: .7rem .8rem;
    margin: .55rem 0;
    line-height: 1.35;
}
.premium-reward-note a {
    display: inline-flex;
    margin-left: .45rem;
    font-weight: 900;
}
.premium-plan-card .shop-actions {
    display: grid;
    gap: .55rem;
}
.admin-documentation-hero + .admin-documentation-workspace .tab-list button:nth-child(n+4) {
    display: none !important;
}

/* Patch 167: production game screens, no horizontal page spill, profile overview rebuild. */
html, body { max-width: 100%; overflow-x: hidden; }
.game-stage-shell,
.game-console-shell,
.game-stage-screen,
.game-stage-menu-card,
.game-console-panel,
.game-console-form,
.game-console-subscreen,
.room-browser-card,
.profile-overview-v2,
.profile-overview-v2 * {
    box-sizing: border-box;
}
.game-stage-shell,
.game-console-shell {
    width: min(100%, 1280px);
    max-width: calc(100vw - 2rem);
    margin: 1rem auto;
    padding: 0;
    overflow: hidden;
    border-radius: 28px;
    border: 2px solid rgba(113, 255, 141, .48);
    background: #05080b;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .34), inset 0 0 0 1px rgba(255,255,255,.07);
}
.game-stage-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin: .85rem .95rem 0;
    padding: .42rem .75rem;
    border: 2px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(0,0,0,.42);
    color: var(--ink);
    font-weight: 950;
    text-decoration: none;
}
.game-stage-screen {
    position: relative;
    width: 100%;
    min-height: clamp(620px, 74vh, 920px);
    padding: clamp(.8rem, 2vw, 1.3rem);
    overflow: hidden;
    isolation: isolate;
}
.game-stage-screen::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background: repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 5px), radial-gradient(circle at 50% 38%, rgba(255,255,255,.05), transparent 38rem);
    mix-blend-mode: screen;
}
.game-stage-art,
.snake-stage-board,
.rabbit-stage-art {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
.party-stage-screen { background: radial-gradient(circle at 18% 18%, rgba(255, 73, 214, .25), transparent 18rem), radial-gradient(circle at 84% 24%, rgba(79, 229, 255, .2), transparent 20rem), linear-gradient(145deg, #15091f, #071017 55%, #021106); }
.snake-stage-screen { background: radial-gradient(circle at 18% 28%, rgba(57, 255, 117, .24), transparent 18rem), radial-gradient(circle at 86% 70%, rgba(255, 225, 94, .15), transparent 16rem), linear-gradient(145deg, #02120a, #031309 55%, #05070b); }
.rabbit-stage-screen { background: radial-gradient(circle at 18% 28%, rgba(183, 255, 203, .24), transparent 18rem), radial-gradient(circle at 80% 30%, rgba(255, 170, 224, .2), transparent 16rem), linear-gradient(145deg, #06150f, #101225 55%, #030a06); }
.party-stage-art span,
.party-stage-art i,
.party-stage-art b,
.rabbit-stage-art span,
.rabbit-stage-art i,
.rabbit-stage-art b,
.snake-stage-board i,
.snake-stage-board b,
.snake-dot {
    position: absolute;
    display: block;
    border-radius: 999px;
    opacity: .72;
}
.party-stage-art span { width: 18rem; height: 18rem; left: -5rem; top: 7rem; background: radial-gradient(circle, rgba(255,93,218,.62), transparent 68%); }
.party-stage-art i { width: 20rem; height: 20rem; right: -5rem; top: 5rem; background: radial-gradient(circle, rgba(64,233,255,.48), transparent 70%); }
.party-stage-art b { width: 24rem; height: 24rem; left: 42%; bottom: -10rem; background: radial-gradient(circle, rgba(255,238,87,.28), transparent 72%); }
.snake-stage-board i { width: 28rem; height: 7rem; left: 4%; top: 46%; transform: rotate(-18deg); background: linear-gradient(90deg, rgba(34,255,91,.05), rgba(37,255,114,.58), rgba(143,255,68,.75), rgba(34,255,91,.08)); box-shadow: 0 0 42px rgba(37,255,114,.28); }
.snake-stage-board b { width: 18rem; height: 18rem; right: -3rem; bottom: -3rem; background: radial-gradient(circle, rgba(255,236,98,.2), transparent 70%); }
.snake-dot { width: 1.15rem; height: 1.15rem; background: rgba(117,255,129,.86); box-shadow: 0 0 20px rgba(117,255,129,.7); }
.snake-dot-a { left: 24%; top: 28%; } .snake-dot-b { left: 64%; top: 36%; } .snake-dot-c { left: 78%; top: 62%; }
.rabbit-stage-art span { width: 14rem; height: 14rem; left: 5%; top: 14%; background: radial-gradient(circle, rgba(255,255,255,.5), transparent 72%); }
.rabbit-stage-art i { width: 22rem; height: 10rem; right: 2%; bottom: 10%; transform: rotate(8deg); background: linear-gradient(90deg, rgba(154,255,181,.05), rgba(154,255,181,.38), rgba(255,183,232,.34), rgba(154,255,181,.05)); }
.rabbit-stage-art b { width: 10rem; height: 10rem; right: 10%; top: 10%; background: radial-gradient(circle, rgba(255,201,238,.38), transparent 72%); }
.game-stage-menu-card {
    position: relative;
    z-index: 2;
    width: min(100%, 860px);
    max-height: calc(100dvh - 9rem);
    margin: 0 auto;
    overflow: auto;
    border-radius: 26px;
    border: 2px solid rgba(255,255,255,.18);
    padding: clamp(1rem, 2.5vw, 1.45rem);
    background: linear-gradient(145deg, rgba(5, 11, 13, .91), rgba(10, 17, 24, .82));
    backdrop-filter: blur(12px);
    box-shadow: 0 28px 78px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.06);
}
.party-stage-menu-card { border-color: rgba(255, 112, 222, .45); }
.snake-stage-menu-card { border-color: rgba(96, 255, 127, .45); }
.rabbit-stage-menu-card { border-color: rgba(255, 196, 236, .42); }
.game-stage-title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
    margin-bottom: 1rem;
}
.game-stage-title-row h1 { margin: .1rem 0 .35rem; font-size: clamp(2rem, 5vw, 4rem); line-height: .95; }
.game-stage-title-row p { margin: 0; color: var(--muted); max-width: 62ch; }
.game-stage-badge {
    display: inline-flex;
    align-items: center;
    padding: .52rem .75rem;
    border: 2px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    font-weight: 1000;
    white-space: nowrap;
}
.game-stage-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 0 0 1rem;
}
.game-stage-nav button,
.game-console-option {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.game-stage-nav button {
    border: 2px solid rgba(255,255,255,.16);
    border-radius: 999px;
    padding: .62rem .88rem;
    background: rgba(255,255,255,.07);
    color: var(--ink);
    font-weight: 1000;
    cursor: pointer;
}
.game-stage-nav button:hover,
.game-stage-nav button.is-active {
    border-color: rgba(113,255,141,.72);
    background: rgba(40, 222, 102, .20);
}
.game-stage-main-grid,
.game-console-quick-grid,
.game-night-selector-grid,
.game-console-card-grid,
.game-console-two-col,
.game-console-form-grid,
.game-console-form .grid.two {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
    gap: .75rem;
    min-width: 0;
}
.game-console-option {
    display: grid;
    gap: .22rem;
    width: 100%;
    min-height: 96px;
    text-align: left;
    padding: .9rem 1rem;
    border-radius: 18px;
    border: 2px solid rgba(255,255,255,.15);
    background: rgba(255,255,255,.08);
    color: var(--ink);
    text-decoration: none;
    cursor: pointer;
}
.game-console-option--primary,
.game-console-option:hover,
.game-console-option.is-active {
    border-color: rgba(113,255,141,.72);
    background: linear-gradient(145deg, rgba(30, 231, 104, .28), rgba(255,255,255,.08));
}
.game-console-option span,
.game-console-option strong { font-weight: 1000; }
.game-console-option small,
.game-console-option em { color: var(--muted); font-style: normal; }
.game-stage-status-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .85rem;
}
.game-stage-status-strip span,
.game-stage-note,
.game-stage-advanced summary {
    border: 2px solid rgba(255,255,255,.13);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    padding: .42rem .65rem;
    font-weight: 900;
}
.game-stage-panel-head { margin-bottom: .8rem; }
.game-stage-panel-head h2 { margin: 0 0 .25rem; }
.game-stage-panel-head p { margin: 0; color: var(--muted); }
.game-stage-note {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    border-radius: 18px;
    margin: .8rem 0;
}
.game-stage-note span { color: var(--muted); }
.game-stage-advanced { margin-top: .8rem; }
.game-stage-advanced summary { display: inline-flex; cursor: pointer; margin-bottom: .75rem; }
.game-console-scroll,
.game-console-screen,
.game-console-subscreen {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
}
.game-console-scroll { max-height: 28rem; overflow-y: auto; padding-right: .25rem; }
.room-browser-card { max-width: 100%; overflow: hidden; }
.room-browser-main,
.room-browser-meta { min-width: 0; overflow-wrap: anywhere; }
.room-browser-meta { flex-wrap: wrap; }
.rabbit-run-stage,
.rabbit-run-canvas,
.dont-eat-me-stage,
.dont-eat-me-canvas {
    max-width: 100%;
    overflow: hidden;
}
.rabbit-run-canvas { width: 100%; height: auto; }
.game-stage-shell .button-row { flex-wrap: wrap; }
.game-stage-shell input,
.game-stage-shell select,
.game-stage-shell textarea { max-width: 100%; }
.game-night-card-caption { background: linear-gradient(145deg, rgba(255, 102, 204, .25), rgba(255,255,255,.08)); }
.game-night-card-trivia { background: linear-gradient(145deg, rgba(114, 105, 255, .24), rgba(255,255,255,.08)); }
.game-night-card-survey { background: linear-gradient(145deg, rgba(92, 234, 255, .22), rgba(255,255,255,.08)); }
.game-night-game-icon { font-size: 1.85rem; }

.profile-overview-v2 {
    display: grid;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
}
.profile-overview-v2-hero,
.profile-overview-v2-card {
    border: var(--border);
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(25,255,102,.12), rgba(255,255,255,.045));
    box-shadow: 0 20px 52px rgba(0,0,0,.18);
}
.profile-overview-v2-hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(180px, .28fr);
    gap: 1rem;
    align-items: center;
    padding: clamp(1rem, 2vw, 1.35rem);
}
.profile-overview-v2-orb {
    width: clamp(118px, 18vw, 180px);
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    place-items: center;
    align-content: center;
    border: 3px solid rgba(113,255,141,.58);
    background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.22), transparent 34%), radial-gradient(circle, rgba(45,255,114,.22), rgba(0,0,0,.15));
    box-shadow: inset 0 0 30px rgba(113,255,141,.12), 0 20px 45px rgba(0,0,0,.24);
}
.profile-overview-v2-orb strong { font-size: clamp(2rem, 5vw, 3.25rem); line-height: .92; }
.profile-overview-v2-orb span,
.profile-overview-v2-orb em,
.profile-overview-v2-plan span,
.profile-overview-v2-plan em { color: var(--muted); font-style: normal; font-weight: 900; }
.profile-overview-v2-copy h2 { margin: .15rem 0 .35rem; font-size: clamp(1.8rem, 4vw, 3rem); }
.profile-overview-v2-copy p { margin: 0 0 .8rem; color: var(--muted); }
.profile-overview-v2-plan {
    display: grid;
    gap: .22rem;
    border: 2px solid rgba(255,255,255,.12);
    border-radius: 20px;
    padding: .9rem;
    background: rgba(255,255,255,.07);
}
.profile-overview-v2-plan strong { font-size: clamp(1.35rem, 3vw, 2rem); }
.profile-overview-v2-stats,
.profile-overview-activity-grid,
.profile-overview-v2-grid,
.profile-overview-actions {
    display: grid;
    gap: .75rem;
}
.profile-overview-v2-stats {
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}
.profile-overview-v2-stats span,
.profile-overview-activity-grid a,
.profile-overview-action {
    display: grid;
    gap: .15rem;
    border: 2px solid rgba(255,255,255,.12);
    border-radius: 18px;
    padding: .72rem .8rem;
    background: rgba(255,255,255,.07);
    text-decoration: none;
    color: var(--ink);
}
.profile-overview-v2-stats strong,
.profile-overview-activity-grid strong { font-size: 1.25rem; }
.profile-overview-v2-stats em,
.profile-overview-activity-grid span,
.profile-overview-action em { color: var(--muted); font-style: normal; font-weight: 850; }
.profile-overview-v2-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: stretch; }
.profile-overview-v2-card { padding: clamp(1rem, 2vw, 1.15rem); min-width: 0; }
.profile-overview-v2-card--pay { min-height: 100%; }
.profile-overview-activity-grid { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); }
.profile-overview-actions { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.profile-overview-action span { font-size: 1.4rem; }
.profile-overview-action strong { font-size: 1.05rem; }
.tabbed-profile-shell .tab-panel,
.tabbed-profile-shell .profile-block,
.tabbed-profile-shell .profile-overview-v2-card { min-width: 0; max-width: 100%; }

@media (max-width: 980px) {
    .game-stage-shell,
    .game-console-shell { max-width: calc(100vw - 1rem); }
    .game-stage-screen { min-height: auto; padding: .75rem; }
    .game-stage-menu-card { max-height: none; width: 100%; }
    .game-stage-title-row,
    .profile-overview-v2-hero,
    .profile-overview-v2-grid { grid-template-columns: 1fr; }
    .profile-overview-v2-orb { width: 132px; }
}
@media (max-width: 640px) {
    .game-stage-shell,
    .game-console-shell { border-radius: 18px; }
    .game-stage-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .game-stage-nav button { width: 100%; }
    .game-stage-title-row h1 { font-size: 2.2rem; }
    .game-console-two-col,
    .game-console-form-grid,
    .game-console-form .grid.two { grid-template-columns: 1fr; }
    .profile-overview-v2-stats,
    .profile-overview-activity-grid,
    .profile-overview-actions { grid-template-columns: 1fr 1fr; }
}

/* Patch 168: Rabbit Run production game menu flow. */
.rabbit-game-shell,
.rabbit-game-shell * {
    box-sizing: border-box;
}
.rabbit-game-shell {
    width: min(100%, 1280px);
    max-width: calc(100vw - 2rem);
    margin: 1rem auto;
    border: 3px solid rgba(123, 255, 118, .65);
    border-radius: 30px;
    background: #06100d;
    overflow: hidden;
    box-shadow: 0 30px 100px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.08);
}
.rabbit-game-back {
    position: relative;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    margin: .9rem 1rem 0;
    padding: .45rem .8rem;
    border: 2px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(0, 0, 0, .42);
    color: #eaffed;
    text-decoration: none;
    font-weight: 1000;
    letter-spacing: .02em;
}
.rabbit-game-screen {
    position: relative;
    min-height: clamp(680px, 78vh, 900px);
    padding: clamp(1rem, 2.4vw, 2rem);
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(180deg, rgba(79, 213, 255, .22) 0%, rgba(164, 247, 255, .2) 36%, rgba(92, 225, 103, .25) 37%, rgba(16, 89, 42, .36) 100%),
        radial-gradient(circle at 18% 18%, rgba(255,255,255,.36), transparent 11rem),
        linear-gradient(145deg, #09251a, #111b31 58%, #07120d);
}
.rabbit-game-screen::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 5px),
        radial-gradient(circle at 50% 46%, rgba(255,255,255,.08), transparent 34rem);
    mix-blend-mode: screen;
}
.rabbit-game-sky,
.rabbit-cloud,
.rabbit-hill,
.rabbit-carrot {
    position: absolute;
    display: block;
    pointer-events: none;
}
.rabbit-game-sky { inset: 0; z-index: 0; overflow: hidden; }
.rabbit-cloud {
    width: 11rem;
    height: 4.5rem;
    border-radius: 999px;
    background: rgba(255,255,255,.55);
    filter: blur(.2px);
    opacity: .75;
}
.rabbit-cloud::before,
.rabbit-cloud::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: rgba(255,255,255,.72);
}
.rabbit-cloud::before { width: 5.4rem; height: 5.4rem; left: 1.4rem; top: -2rem; }
.rabbit-cloud::after { width: 6.7rem; height: 6.7rem; right: 1rem; top: -2.8rem; }
.rabbit-cloud-a { left: 8%; top: 16%; }
.rabbit-cloud-b { right: 10%; top: 12%; transform: scale(1.25); opacity: .52; }
.rabbit-cloud-c { left: 52%; top: 28%; transform: scale(.74); opacity: .5; }
.rabbit-hill {
    border-radius: 50% 50% 0 0;
    bottom: -4rem;
    background: linear-gradient(180deg, rgba(121, 232, 94, .95), rgba(29, 139, 58, .95));
    box-shadow: inset 0 10px 32px rgba(255,255,255,.14);
}
.rabbit-hill-a { left: -8%; width: 62%; height: 18rem; }
.rabbit-hill-b { right: -12%; width: 74%; height: 22rem; background: linear-gradient(180deg, rgba(150, 242, 102, .95), rgba(30, 151, 67, .95)); }
.rabbit-carrot {
    z-index: 1;
    font-size: clamp(2.2rem, 4vw, 4rem);
    text-shadow: 0 8px 20px rgba(0,0,0,.3);
    transform: rotate(-16deg);
}
.rabbit-carrot-a { left: 17%; bottom: 20%; }
.rabbit-carrot-b { right: 18%; bottom: 26%; transform: rotate(14deg); }
.rabbit-menu-panel {
    position: relative;
    z-index: 3;
    width: min(100%, 1030px);
    margin: 0 auto;
    border: 3px solid rgba(255,255,255,.25);
    border-radius: 30px;
    padding: clamp(1rem, 2.4vw, 1.65rem);
    background: linear-gradient(145deg, rgba(7, 18, 23, .92), rgba(4, 11, 14, .82));
    backdrop-filter: blur(14px);
    box-shadow: 0 28px 90px rgba(0,0,0,.46), inset 0 0 0 1px rgba(255,255,255,.06);
}
.rabbit-menu-panel--title {
    min-height: clamp(560px, 64vh, 720px);
    display: grid;
    justify-items: center;
    align-content: center;
    text-align: center;
    border-color: rgba(250, 255, 188, .46);
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 239, 146, .17), transparent 14rem),
        linear-gradient(145deg, rgba(7, 18, 23, .91), rgba(16, 34, 21, .86));
}
.rabbit-title-mark {
    width: clamp(5rem, 12vw, 8.5rem);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    margin-bottom: .65rem;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.48), transparent 34%), linear-gradient(145deg, #eafff1, #75ef65 66%, #1c972f);
    border: 4px solid rgba(255,255,255,.35);
    box-shadow: 0 18px 42px rgba(0,0,0,.32), 0 0 60px rgba(123,255,118,.32);
}
.rabbit-title-mark span { font-size: clamp(2.8rem, 7vw, 5rem); line-height: 1; }
.rabbit-kicker {
    margin: 0 0 .25rem;
    color: #fff4a8;
    letter-spacing: .3em;
    font-size: .82rem;
    font-weight: 1000;
    text-transform: uppercase;
}
.rabbit-menu-panel h1,
.rabbit-menu-panel h2 {
    margin: 0;
    line-height: .9;
    color: #f4fff7;
    text-shadow: 0 5px 0 rgba(0,0,0,.25), 0 0 26px rgba(116,255,127,.22);
}
.rabbit-menu-panel h1 { font-size: clamp(3.4rem, 10vw, 8.3rem); letter-spacing: .04em; }
.rabbit-menu-panel h2 { font-size: clamp(2rem, 5vw, 4.25rem); }
.rabbit-title-copy {
    max-width: 56rem;
    margin: .85rem auto 1.4rem;
    color: rgba(236, 255, 240, .84);
    font-size: clamp(1rem, 2.2vw, 1.35rem);
    line-height: 1.45;
}
.rabbit-title-actions,
.rabbit-in-game-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .85rem;
}
.rabbit-menu-action,
.rabbit-menu-back,
.rabbit-mode-card {
    appearance: none;
    border: 3px solid rgba(255,255,255,.22);
    background: rgba(0,0,0,.38);
    color: #f1fff4;
    font-family: inherit;
    font-weight: 1000;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.rabbit-menu-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: .75rem 1.05rem;
    border-radius: 999px;
    letter-spacing: .02em;
}
.rabbit-menu-action--huge {
    min-width: min(100%, 19rem);
    min-height: 4.3rem;
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
    text-transform: uppercase;
    letter-spacing: .08em;
}
.rabbit-menu-action--primary,
.rabbit-menu-action:hover,
.rabbit-menu-back:hover,
.rabbit-mode-card:hover,
.rabbit-mode-card:focus-visible {
    border-color: rgba(255, 244, 161, .88);
    background: linear-gradient(145deg, #30e56a, #1aa749);
    color: #031008;
    text-shadow: none;
}
.rabbit-title-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .6rem;
    margin-top: 1.2rem;
}
.rabbit-title-footer span,
.rabbit-menu-lobby-stats span {
    border: 2px solid rgba(255,255,255,.17);
    border-radius: 999px;
    background: rgba(0,0,0,.28);
    padding: .42rem .65rem;
    color: rgba(239,255,241,.84);
    font-weight: 900;
    font-size: .9rem;
}
.rabbit-panel-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    margin-bottom: 1rem;
}
.rabbit-panel-heading span {
    display: block;
    margin-top: .45rem;
    color: rgba(230,255,236,.75);
    max-width: 62rem;
}
.rabbit-menu-back {
    border-radius: 999px;
    padding: .55rem .8rem;
}
.rabbit-choice-grid,
.rabbit-settings-grid,
.rabbit-lobby-layout,
.rabbit-score-preview {
    display: grid;
    gap: 1rem;
    min-width: 0;
}
.rabbit-choice-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rabbit-mode-card {
    min-height: 15rem;
    padding: 1.35rem;
    border-radius: 26px;
    display: grid;
    align-content: end;
    text-align: left;
    overflow: hidden;
    position: relative;
}
.rabbit-mode-card::before {
    content: '';
    position: absolute;
    inset: auto -2rem -3rem -2rem;
    height: 9rem;
    border-radius: 50% 50% 0 0;
    background: rgba(124, 236, 94, .6);
    z-index: 0;
}
.rabbit-mode-card > * { position: relative; z-index: 1; }
.rabbit-mode-icon { font-size: 4rem; line-height: 1; margin-bottom: auto; }
.rabbit-mode-card strong { display: block; font-size: clamp(2rem, 4vw, 3.2rem); line-height: .95; }
.rabbit-mode-card em { display: block; max-width: 22rem; color: rgba(239,255,242,.78); font-style: normal; line-height: 1.35; margin-top: .45rem; }
.rabbit-mode-card--solo { background: radial-gradient(circle at 82% 18%, rgba(255,244,161,.22), transparent 12rem), linear-gradient(145deg, rgba(17, 77, 39, .72), rgba(5, 20, 17, .72)); }
.rabbit-mode-card--multi { background: radial-gradient(circle at 82% 18%, rgba(108,226,255,.22), transparent 12rem), linear-gradient(145deg, rgba(17, 45, 77, .72), rgba(5, 20, 17, .72)); }
.rabbit-score-preview,
.rabbit-settings-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.rabbit-score-preview article,
.rabbit-menu-card {
    min-width: 0;
    border: 2px solid rgba(255,255,255,.17);
    border-radius: 24px;
    padding: 1rem;
    background: rgba(0,0,0,.28);
}
.rabbit-score-preview { margin-top: 1rem; }
.rabbit-lobby-layout { grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); align-items: start; }
.rabbit-menu-card--create { grid-row: span 2; }
.rabbit-card-title,
.rabbit-menu-lobby-top {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: .85rem;
}
.rabbit-card-title > span,
.rabbit-menu-lobby-top > span {
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 16px;
    background: linear-gradient(145deg, #dfffec, #4cea65);
    color: #07120c;
    font-size: 1.55rem;
    box-shadow: 0 12px 26px rgba(0,0,0,.22);
}
.rabbit-card-title strong,
.rabbit-menu-lobby-top strong {
    display: block;
    font-size: 1.22rem;
}
.rabbit-card-title em,
.rabbit-menu-lobby-top em {
    display: block;
    margin-top: .12rem;
    color: rgba(229,255,234,.72);
    font-style: normal;
    line-height: 1.25;
}
.rabbit-lobby-form,
.rabbit-code-form,
.rabbit-menu-card label {
    display: grid;
    gap: .35rem;
}
.rabbit-lobby-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}
.rabbit-lobby-form .rabbit-menu-action,
.rabbit-code-form .rabbit-menu-action,
.rabbit-check-row { grid-column: 1 / -1; }
.rabbit-menu-card input,
.rabbit-menu-card select {
    width: 100%;
    min-width: 0;
    border: 2px solid rgba(255,255,255,.16);
    border-radius: 16px;
    background: rgba(255,255,255,.9);
    color: #07120c;
    padding: .78rem .9rem;
    font-weight: 900;
}
.rabbit-check-row {
    display: flex !important;
    align-items: center;
    gap: .55rem;
    border: 2px solid rgba(255,255,255,.14);
    border-radius: 16px;
    background: rgba(255,255,255,.07);
    padding: .75rem;
}
.rabbit-check-row input { width: auto; }
.rabbit-lobby-list {
    display: grid;
    gap: .75rem;
    max-height: 24rem;
    overflow-y: auto;
    padding-right: .25rem;
}
.rabbit-menu-lobby-card,
.rabbit-menu-empty {
    display: grid;
    gap: .65rem;
    min-width: 0;
    border: 2px solid rgba(255,255,255,.13);
    border-radius: 20px;
    padding: .85rem;
    background: rgba(255,255,255,.06);
    color: #f1fff4;
    text-decoration: none;
}
.rabbit-menu-lobby-card--link:hover { border-color: rgba(255,244,161,.72); }
.rabbit-menu-lobby-stats {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.rabbit-menu-lobby-card form { margin: 0; }
.rabbit-menu-lobby-card .rabbit-menu-action { width: 100%; }
.rabbit-menu-empty strong,
.rabbit-menu-empty span { display: block; }
.rabbit-menu-empty span { color: rgba(229,255,234,.72); }
.rabbit-menu-panel--game {
    width: min(100%, 1120px);
}
.rabbit-menu-panel--game .rabbit-run-shell {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border: 0;
    background: transparent;
}
.rabbit-menu-panel--game .rabbit-run-stage {
    min-height: 360px;
    border: 3px solid rgba(255,244,161,.54);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 44px rgba(0,0,0,.32);
}
.rabbit-menu-panel--game .rabbit-run-canvas {
    display: block;
    width: 100%;
    height: auto;
}
.rabbit-menu-panel--game .rabbit-run-hud {
    margin-top: .75rem;
}
.rabbit-in-game-actions { justify-content: flex-start; margin-top: .85rem; }
.rabbit-control-list {
    display: grid;
    gap: .55rem;
    margin: .5rem 0 0;
    padding: 0;
    list-style: none;
}
.rabbit-control-list li {
    display: grid;
    grid-template-columns: minmax(90px, .3fr) minmax(0, 1fr);
    gap: .6rem;
    padding: .65rem;
    border-radius: 14px;
    background: rgba(255,255,255,.07);
}
.rabbit-control-list span { color: rgba(229,255,234,.74); }
.rabbit-settings-grid .rabbit-menu-card { align-content: start; }
@media (max-width: 980px) {
    .rabbit-game-shell { max-width: calc(100vw - 1rem); border-radius: 22px; }
    .rabbit-game-screen { min-height: auto; padding: .75rem; }
    .rabbit-menu-panel { border-radius: 22px; }
    .rabbit-choice-grid--two,
    .rabbit-lobby-layout { grid-template-columns: 1fr; }
    .rabbit-menu-card--create { grid-row: auto; }
    .rabbit-lobby-form { grid-template-columns: 1fr; }
    .rabbit-menu-panel h1 { font-size: clamp(3rem, 17vw, 5.2rem); }
}
@media (max-width: 640px) {
    .rabbit-title-actions,
    .rabbit-in-game-actions { display: grid; grid-template-columns: 1fr; }
    .rabbit-menu-action--huge { min-width: 0; width: 100%; }
    .rabbit-panel-heading { grid-template-columns: 1fr; }
    .rabbit-score-preview,
    .rabbit-settings-grid { grid-template-columns: 1fr; }
    .rabbit-control-list li { grid-template-columns: 1fr; }
}

/* Patch 169: Rabbit Run menu/state cleanup, saved settings, and multiplayer room game shell. */
.rabbit-menu-panel[hidden] { display: none !important; }
.rabbit-game-shell { max-width: min(1280px, calc(100vw - 2rem)); }
.rabbit-game-screen { width: 100%; max-width: 100%; }
.rabbit-menu-panel { max-width: 100%; }
.rabbit-choice-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rabbit-choice-grid--four .rabbit-mode-card { min-height: 12.5rem; }
.rabbit-choice-grid--four .rabbit-mode-card strong { font-size: clamp(1.7rem, 3.4vw, 2.65rem); }
.rabbit-mode-card--public { background: radial-gradient(circle at 82% 18%, rgba(100, 227, 255, .23), transparent 12rem), linear-gradient(145deg, rgba(16, 83, 68, .75), rgba(5, 20, 17, .74)); }
.rabbit-mode-card--create { background: radial-gradient(circle at 82% 18%, rgba(255, 244, 161, .25), transparent 12rem), linear-gradient(145deg, rgba(49, 92, 24, .75), rgba(5, 20, 17, .74)); }
.rabbit-mode-card--code { background: radial-gradient(circle at 82% 18%, rgba(255, 180, 110, .25), transparent 12rem), linear-gradient(145deg, rgba(89, 51, 20, .75), rgba(5, 20, 17, .74)); }
.rabbit-mode-card--rooms { background: radial-gradient(circle at 82% 18%, rgba(206, 164, 255, .24), transparent 12rem), linear-gradient(145deg, rgba(53, 38, 90, .75), rgba(5, 20, 17, .74)); }
.rabbit-lobby-form--arcade,
.rabbit-code-form--arcade { max-width: 880px; margin-inline: auto; }
.rabbit-code-form--arcade { display: grid; gap: 1rem; }
.rabbit-code-form--arcade label { font-size: 1.15rem; }
.rabbit-lobby-list--arcade { max-height: none; padding-right: 0; }
.rabbit-menu-lobby-card--arcade { background: linear-gradient(145deg, rgba(11, 39, 27, .88), rgba(2, 9, 12, .82)); border-color: rgba(180, 255, 186, .25); }
.rabbit-settings-grid .rabbit-menu-card { display: grid; gap: .85rem; }
.rabbit-control-list--editable li { align-items: center; }
.rabbit-control-bind {
    appearance: none;
    border: 2px solid rgba(255,255,255,.2);
    border-radius: 14px;
    background: rgba(0,0,0,.38);
    color: #f1fff4;
    min-height: 2.8rem;
    padding: .55rem .75rem;
    font: inherit;
    font-weight: 1000;
    cursor: pointer;
    text-align: center;
}
.rabbit-control-bind:hover,
.rabbit-control-bind.is-listening { border-color: rgba(255, 244, 161, .88); background: linear-gradient(145deg, #30e56a, #1aa749); color: #031008; }
.rabbit-menu-panel--game .rabbit-run-stage::after,
.rabbit-room-runner .rabbit-run-stage::after {
    content: 'F: Full Screen';
    position: absolute;
    right: .75rem;
    bottom: .75rem;
    z-index: 4;
    border: 2px solid rgba(40,24,76,.18);
    border-radius: 999px;
    padding: .32rem .55rem;
    background: rgba(255,255,255,.78);
    color: #28184c;
    font-size: .75rem;
    font-weight: 1000;
    pointer-events: none;
}
.rabbit-menu-panel--game .rabbit-run-stage,
.rabbit-room-runner .rabbit-run-stage { position: relative; }
.rabbit-run-shell button[data-rabbit-start]:disabled { opacity: .72; cursor: not-allowed; }
.rabbit-room-shell { margin-top: 1rem; }
.rabbit-room-screen { min-height: clamp(620px, 76vh, 880px); }
.rabbit-room-panel { width: min(100%, 1130px); }
.rabbit-room-titlebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    gap: 1rem;
    align-items: stretch;
    margin-bottom: 1rem;
}
.rabbit-room-titlebar h1 { font-size: clamp(2.7rem, 8vw, 6.5rem); }
.rabbit-room-titlebar .lead { max-width: 58rem; color: rgba(236,255,240,.84); }
.rabbit-room-code-card {
    display: grid;
    align-content: center;
    gap: .35rem;
    border: 3px solid rgba(255,244,161,.45);
    border-radius: 24px;
    padding: 1rem;
    background: radial-gradient(circle at 50% 0%, rgba(255,244,161,.18), transparent 9rem), rgba(0,0,0,.34);
    text-align: center;
}
.rabbit-room-code-card span,
.rabbit-room-code-card small { color: rgba(230,255,236,.78); font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.rabbit-room-code-card strong { font-size: clamp(2rem, 5vw, 4rem); letter-spacing: .08em; color: #fff4a1; }
.rabbit-room-player-strip {
    display: grid;
    gap: .75rem;
    border: 2px solid rgba(255,255,255,.14);
    border-radius: 24px;
    padding: 1rem;
    background: rgba(0,0,0,.24);
    margin-bottom: 1rem;
}
.rabbit-room-player-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .55rem;
}
.rabbit-room-phase { display: grid; gap: 1rem; min-width: 0; }
.rabbit-room-state-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    border: 3px solid rgba(255,255,255,.18);
    border-radius: 28px;
    padding: clamp(1rem, 2vw, 1.35rem);
    background: linear-gradient(145deg, rgba(5, 20, 17, .82), rgba(7, 15, 27, .78));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.rabbit-room-state-card h2 { margin: 0; font-size: clamp(2rem, 5vw, 4.5rem); line-height: .95; }
.rabbit-room-state-card p { color: rgba(230,255,236,.78); }
.rabbit-room-state-icon {
    width: clamp(4.5rem, 10vw, 7rem);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border-radius: 28px;
    background: linear-gradient(145deg, #eafff1, #75ef65 66%, #1c972f);
    color: #07120c;
    font-size: clamp(2.3rem, 6vw, 4rem);
    box-shadow: 0 18px 42px rgba(0,0,0,.3);
}
.rabbit-room-action-slot { display: grid; justify-items: end; gap: .5rem; }
.rabbit-room-waiting { color: #fff4a1; font-size: 1.2rem; }
.rabbit-room-state-card--race { grid-template-columns: 1fr; align-items: stretch; }
.rabbit-room-race-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 330px);
    gap: 1rem;
    align-items: start;
}
.rabbit-room-race-head h2 { font-size: clamp(2.1rem, 5vw, 4.25rem); }
.rabbit-room-runner { width: 100%; max-width: 100%; margin: 0; }
.rabbit-room-runner .rabbit-run-stage {
    min-height: clamp(360px, 52vw, 560px);
    border: 3px solid rgba(255,244,161,.55);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 44px rgba(0,0,0,.32);
}
.rabbit-room-runner .rabbit-run-canvas { display: block; width: 100%; height: auto; }
.rabbit-room-scoreboard {
    border: 2px solid rgba(255,255,255,.14);
    border-radius: 22px;
    padding: 1rem;
    background: rgba(0,0,0,.22);
}
.rabbit-room-timer { min-width: 0; }
.game-phase-notices:empty { display: none; }
@media (max-width: 980px) {
    .rabbit-choice-grid--four,
    .rabbit-room-titlebar,
    .rabbit-room-state-card,
    .rabbit-room-race-head { grid-template-columns: 1fr; }
    .rabbit-room-action-slot { justify-items: stretch; }
    .rabbit-room-action-slot .rabbit-menu-action { width: 100%; }
}
@media (max-width: 640px) {
    .rabbit-choice-grid--four { grid-template-columns: 1fr; }
    .rabbit-room-titlebar h1 { font-size: clamp(2.2rem, 16vw, 4.4rem); }
    .rabbit-room-player-list { grid-template-columns: 1fr; }
}

/* Patch 171: Don't Eat Me production game menu rebuild */
.dem-game-shell,
.dem-game-shell * {
    box-sizing: border-box;
}
.dem-game-shell {
    width: min(100%, 1280px);
    max-width: calc(100vw - 2rem);
    margin: 1rem auto;
    overflow: hidden;
    border: 2px solid rgba(84, 255, 116, .68);
    border-radius: 30px;
    background: #020807;
    box-shadow: 0 30px 90px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.06);
    color: var(--ink, #d9ffe0);
}
.dem-game-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin: .85rem .95rem 0;
    padding: .45rem .8rem;
    border: 2px solid rgba(219,255,224,.18);
    border-radius: 999px;
    background: rgba(0,0,0,.52);
    color: inherit;
    font-weight: 950;
    text-decoration: none;
}
.dem-game-screen {
    position: relative;
    min-height: clamp(660px, 78vh, 930px);
    width: 100%;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(1rem, 2.4vw, 1.75rem);
    background:
        radial-gradient(circle at 16% 24%, rgba(84,255,116,.22), transparent 18rem),
        radial-gradient(circle at 85% 18%, rgba(116,255,234,.14), transparent 18rem),
        radial-gradient(circle at 74% 82%, rgba(255,220,91,.13), transparent 18rem),
        linear-gradient(145deg, #020a07, #061812 56%, #020506);
}
.dem-game-screen::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        repeating-linear-gradient(0deg, rgba(255,255,255,.026) 0 1px, transparent 1px 5px),
        radial-gradient(circle at 50% 35%, rgba(255,255,255,.045), transparent 42rem);
    mix-blend-mode: screen;
}
.dem-arena-art,
.dem-arena-art i,
.dem-arena-art b,
.dem-snake-orb {
    position: absolute;
    display: block;
    pointer-events: none;
}
.dem-arena-art { inset: 0; z-index: 0; overflow: hidden; }
.dem-arena-art i {
    width: 46rem;
    height: 8rem;
    left: -7rem;
    top: 51%;
    border-radius: 999px;
    transform: rotate(-16deg);
    background: linear-gradient(90deg, transparent, rgba(75,255,93,.54), rgba(180,255,84,.74), transparent);
    filter: blur(.15rem);
    box-shadow: 0 0 54px rgba(75,255,93,.24);
}
.dem-arena-art b {
    width: 22rem;
    height: 22rem;
    right: -7rem;
    bottom: -7rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,220,91,.22), transparent 70%);
}
.dem-snake-orb {
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 999px;
    background: rgba(149,255,120,.92);
    box-shadow: 0 0 28px rgba(149,255,120,.78);
}
.dem-snake-orb-a { left: 22%; top: 28%; }
.dem-snake-orb-b { left: 62%; top: 35%; }
.dem-snake-orb-c { left: 78%; top: 62%; }
.dem-menu-panel {
    position: relative;
    z-index: 2;
    width: min(100%, 980px);
    max-height: calc(100dvh - 9rem);
    margin: 0 auto;
    overflow: auto;
    border: 2px solid rgba(156,255,170,.24);
    border-radius: 28px;
    padding: clamp(1rem, 2.6vw, 1.75rem);
    background: linear-gradient(145deg, rgba(2,12,10,.94), rgba(8,24,18,.86));
    backdrop-filter: blur(13px);
    box-shadow: 0 28px 76px rgba(0,0,0,.44), inset 0 0 0 1px rgba(255,255,255,.055);
}
.dem-menu-panel[hidden] { display: none !important; }
.dem-menu-panel--title {
    min-height: min(660px, calc(100dvh - 10rem));
    display: grid;
    align-content: center;
    justify-items: center;
    text-align: center;
}
.dem-title-mark span {
    display: grid;
    place-items: center;
    width: clamp(4.5rem, 10vw, 7rem);
    height: clamp(4.5rem, 10vw, 7rem);
    border-radius: 2rem;
    background: linear-gradient(145deg, #6dff62, #2ffff0);
    color: #061006;
    font-size: clamp(2.1rem, 5vw, 4rem);
    box-shadow: 0 24px 58px rgba(77,255,99,.28);
}
.dem-kicker {
    margin: .9rem 0 .35rem;
    color: rgba(160,255,175,.76);
    letter-spacing: .18em;
    font-weight: 1000;
    text-transform: uppercase;
    font-size: .78rem;
}
.dem-menu-panel h1 {
    margin: .2rem 0 .65rem;
    font-size: clamp(3rem, 9vw, 7.5rem);
    line-height: .86;
    text-shadow: 0 0 26px rgba(77,255,99,.22);
}
.dem-menu-panel h2 {
    margin: .1rem 0 .25rem;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: .95;
}
.dem-title-copy,
.dem-panel-heading span,
.dem-mode-card em,
.dem-menu-card em,
.dem-menu-card p,
.dem-empty-card span,
.dem-lobby-card em,
.dem-title-footer span {
    color: rgba(219,255,224,.72);
}
.dem-title-copy {
    max-width: 760px;
    margin: 0 auto 1.4rem;
    font-size: clamp(1rem, 1.6vw, 1.25rem);
}
.dem-title-actions {
    display: grid;
    gap: .85rem;
    width: min(100%, 520px);
}
.dem-menu-action,
.dem-menu-back,
.dem-mode-card,
.dem-control-bind {
    appearance: none;
    border: 2px solid rgba(219,255,224,.22);
    border-radius: 20px;
    background: rgba(255,255,255,.065);
    color: inherit;
    cursor: pointer;
    font: inherit;
    font-weight: 1000;
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.dem-menu-action,
.dem-menu-back {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .45rem;
    padding: .8rem 1rem;
}
.dem-menu-action--huge { padding: 1rem 1.2rem; font-size: 1.1rem; }
.dem-menu-action--primary,
.dem-mode-card:hover,
.dem-mode-card:focus-visible,
.dem-menu-action:hover,
.dem-menu-action:focus-visible,
.dem-menu-back:hover,
.dem-menu-back:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(80,255,100,.82);
    background: linear-gradient(145deg, rgba(80,255,100,.26), rgba(47,255,240,.12));
    box-shadow: 0 18px 34px rgba(58,255,94,.12);
}
.dem-lobby-card .dem-menu-action {
    width: 100%;
    margin-top: 1rem;
}
.dem-title-footer,
.dem-lobby-card-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .55rem;
    margin-top: 1rem;
}
.dem-title-footer span,
.dem-lobby-card-stats span {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    padding: .38rem .65rem;
    border-radius: 999px;
    background: rgba(255,255,255,.065);
    border: 1px solid rgba(255,255,255,.13);
    font-weight: 900;
    overflow-wrap: anywhere;
}
.dem-panel-heading {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.2rem;
}
.dem-panel-heading > div { min-width: 0; }
.dem-menu-back { flex: 0 0 auto; padding: .55rem .85rem; border-radius: 999px; }
.dem-choice-grid,
.dem-settings-grid,
.dem-lobby-columns {
    display: grid;
    gap: 1rem;
}
.dem-choice-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dem-choice-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dem-choice-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dem-settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dem-lobby-columns { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.dem-mode-card {
    display: grid;
    gap: .55rem;
    min-height: 180px;
    padding: 1.15rem;
    text-align: left;
    overflow: hidden;
}
.dem-mode-card strong { font-size: clamp(1.25rem, 2vw, 1.7rem); }
.dem-mode-icon {
    display: grid;
    place-items: center;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 1.15rem;
    background: linear-gradient(145deg, rgba(80,255,100,.95), rgba(48,255,240,.62));
    color: #061006;
    font-size: 1.55rem;
    box-shadow: 0 14px 28px rgba(80,255,100,.16);
}
.dem-menu-card,
.dem-solo-form,
.dem-lobby-form,
.dem-code-form,
.dem-empty-card {
    min-width: 0;
    border: 1px solid rgba(219,255,224,.18);
    border-radius: 24px;
    background: rgba(0,0,0,.24);
    padding: clamp(1rem, 2vw, 1.35rem);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.045);
}
.dem-solo-form,
.dem-lobby-form,
.dem-code-form {
    display: grid;
    gap: 1rem;
}
.dem-lobby-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
}
.dem-lobby-form .dem-menu-action,
.dem-code-form .dem-menu-action,
.dem-solo-form .dem-menu-action { width: 100%; }
.dem-code-form { max-width: 620px; margin: 0 auto; }
.dem-check-row {
    display: flex !important;
    align-items: center;
    gap: .55rem;
    min-height: 3.2rem;
    padding: .75rem .9rem;
    border-radius: 18px;
    background: rgba(255,255,255,.06);
}
.dem-solo-preview {
    position: relative;
    min-height: 160px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(80,255,100,.24);
    background:
        radial-gradient(circle at 18% 34%, rgba(80,255,100,.22), transparent 7rem),
        radial-gradient(circle at 82% 50%, rgba(255,220,91,.2), transparent 8rem),
        linear-gradient(145deg, rgba(3,26,12,.95), rgba(1,9,8,.92));
}
.dem-solo-preview span {
    position: absolute;
    width: 9rem;
    height: 2.2rem;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(70,255,95,.2), rgba(70,255,95,.85), rgba(222,255,83,.72));
    box-shadow: 0 0 36px rgba(70,255,95,.24);
}
.dem-solo-preview span:nth-child(1) { left: 10%; top: 36%; transform: rotate(-15deg); }
.dem-solo-preview span:nth-child(2) { right: 15%; top: 24%; transform: rotate(18deg); }
.dem-solo-preview span:nth-child(3) { left: 45%; bottom: 18%; transform: rotate(5deg); }
.dem-card-title,
.dem-lobby-card-top {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
}
.dem-card-title > span,
.dem-lobby-card-top > span {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: rgba(80,255,100,.18);
    border: 1px solid rgba(80,255,100,.26);
    font-size: 1.45rem;
}
.dem-card-title strong,
.dem-lobby-card-top strong { display: block; font-size: 1.1rem; overflow-wrap: anywhere; }
.dem-card-title em,
.dem-lobby-card-top em { display: block; font-style: normal; line-height: 1.35; overflow-wrap: anywhere; }
.dem-menu-card label,
.dem-solo-form label,
.dem-lobby-form label,
.dem-code-form label {
    display: grid;
    gap: .45rem;
    min-width: 0;
    font-weight: 900;
}
.dem-game-shell select,
.dem-game-shell input {
    width: 100%;
    max-width: 100%;
    border-radius: 18px;
}
.dem-control-list,
.dem-score-list {
    display: grid;
    gap: .6rem;
    margin: .9rem 0 0;
    padding: 0;
    list-style: none;
}
.dem-control-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(96px, auto);
    gap: .65rem;
    align-items: center;
    padding: .6rem;
    border-radius: 16px;
    background: rgba(255,255,255,.055);
}
.dem-control-bind {
    padding: .55rem .75rem;
    text-align: center;
}
.dem-control-bind.is-listening {
    border-color: rgba(255,220,91,.9);
    box-shadow: 0 0 0 5px rgba(255,220,91,.14);
}
.dem-lobby-list {
    display: grid;
    gap: .75rem;
    max-height: 420px;
    overflow: auto;
    padding-right: .25rem;
}
.dem-lobby-list--solo,
.dem-lobby-list--rooms { max-height: 520px; }
.dem-lobby-card,
.dem-empty-card {
    display: grid;
    gap: .75rem;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}
.dem-lobby-card--server { border-color: rgba(80,255,100,.34); background: linear-gradient(145deg, rgba(80,255,100,.13), rgba(255,255,255,.045)); }
.dem-lobby-card--player { border-color: rgba(47,255,240,.24); }
.dem-lobby-card--link:hover { border-color: rgba(80,255,100,.75); background: rgba(80,255,100,.12); }
.dem-lobby-card form { margin: 0; }
.dem-score-list li {
    display: grid;
    gap: .2rem;
    padding: .55rem .65rem;
    border-radius: 14px;
    background: rgba(255,255,255,.055);
}
.dem-score-list span { color: rgba(219,255,224,.72); }
.dont-eat-me-shell[data-dem-resolution="240p"] .dont-eat-me-canvas,
.dont-eat-me-shell[data-dem-resolution="480p"] .dont-eat-me-canvas,
.dont-eat-me-shell[data-dem-quality="low"] .dont-eat-me-canvas {
    image-rendering: pixelated;
}
.dont-eat-me-shell[data-dem-quality="low"] .dont-eat-me-stage {
    filter: saturate(.82) contrast(1.08);
}
.dont-eat-me-shell[data-dem-quality="high"] .dont-eat-me-stage {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 24px 78px rgba(80,255,100,.18), 0 0 70px rgba(47,255,240,.08);
}
.dont-eat-me-shell[data-dem-minimap="small"] .dont-eat-me-minimap { width: 132px; height: 132px; }
.dont-eat-me-shell[data-dem-minimap="large"] .dont-eat-me-minimap { width: 232px; height: 232px; }
@media (max-width: 1100px) {
    .dem-choice-grid--three,
    .dem-choice-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dem-settings-grid,
    .dem-lobby-columns,
    .dem-lobby-form { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .dem-game-shell { max-width: calc(100vw - .75rem); }
    .dem-game-screen { padding: .75rem; min-height: 620px; }
    .dem-menu-panel { max-height: none; padding: 1rem; }
    .dem-choice-grid--two,
    .dem-choice-grid--three,
    .dem-choice-grid--four { grid-template-columns: 1fr; }
    .dem-panel-heading { flex-direction: column; }
    .dem-menu-panel--title { min-height: 560px; }
}
.dem-lobby-card {
    border: 1px solid rgba(219,255,224,.18);
    border-radius: 22px;
    background: rgba(0,0,0,.24);
    padding: 1rem;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.045);
}

/* Patch 173: 9k Game Night traditional game-menu rebuild. */
.game-night-game-shell,
.game-night-game-shell * { box-sizing: border-box; }
.game-night-game-shell {
    width: min(100%, 1280px);
    max-width: calc(100vw - 2rem);
    margin: 1rem auto;
    border: 3px solid rgba(255, 91, 220, .58);
    border-radius: 32px;
    background: #070612;
    color: #f9f4ff;
    overflow: hidden;
    box-shadow: 0 34px 90px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.08);
}
.game-night-back-link {
    display: inline-flex;
    margin: .85rem .95rem 0;
    padding: .46rem .8rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(0,0,0,.38);
    color: #fff;
    font-weight: 950;
    text-decoration: none;
}
.game-night-render-screen {
    position: relative;
    min-height: clamp(660px, 80vh, 960px);
    padding: clamp(.85rem, 2vw, 1.4rem);
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 15% 18%, rgba(255, 73, 214, .34), transparent 18rem),
        radial-gradient(circle at 88% 16%, rgba(65, 229, 255, .26), transparent 22rem),
        radial-gradient(circle at 50% 90%, rgba(255, 220, 94, .16), transparent 18rem),
        linear-gradient(145deg, #190626, #07101a 54%, #03090c);
}
.game-night-render-screen::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background: repeating-linear-gradient(0deg, rgba(255,255,255,.032) 0 1px, transparent 1px 5px), radial-gradient(circle at 50% 40%, rgba(255,255,255,.06), transparent 42rem);
    mix-blend-mode: screen;
}
.game-night-render-screen[data-render-resolution="720"] .game-night-cabinet { max-width: 960px; }
.game-night-render-screen[data-render-resolution="1080"] .game-night-cabinet { max-width: 1120px; }
.game-night-render-screen[data-render-resolution="1440"] .game-night-cabinet { max-width: 1240px; }
.game-night-render-screen[data-render-quality="performance"]::after { opacity: .25; background-size: auto; }
.game-night-render-screen[data-render-quality="high"]::after { opacity: .92; filter: contrast(1.15); }
.game-night-bg-orbs,
.game-night-bg-orbs span,
.game-night-bg-orbs i,
.game-night-bg-orbs b {
    position: absolute;
    pointer-events: none;
    border-radius: 999px;
}
.game-night-bg-orbs { inset: 0; z-index: 0; overflow: hidden; }
.game-night-bg-orbs span { width: 18rem; height: 18rem; left: 5%; top: 12%; background: radial-gradient(circle, rgba(255,91,220,.32), transparent 70%); }
.game-night-bg-orbs i { width: 20rem; height: 20rem; right: -4%; top: 5%; background: radial-gradient(circle, rgba(65,229,255,.28), transparent 72%); }
.game-night-bg-orbs b { width: 16rem; height: 16rem; left: 46%; bottom: -6%; background: radial-gradient(circle, rgba(255,220,94,.25), transparent 72%); }
.game-night-cabinet {
    position: relative;
    z-index: 2;
    width: min(100%, 1120px);
    min-height: clamp(560px, 68vh, 840px);
    margin: 0 auto;
    border: 2px solid rgba(255,255,255,.18);
    border-radius: 28px;
    padding: clamp(1rem, 2.4vw, 1.55rem);
    background: linear-gradient(145deg, rgba(4, 8, 16, .92), rgba(18, 14, 32, .82));
    backdrop-filter: blur(14px);
    box-shadow: 0 28px 86px rgba(0,0,0,.46), inset 0 0 0 1px rgba(255,255,255,.065);
    overflow: hidden;
}
.game-night-topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, auto);
    gap: 1rem;
    align-items: start;
    margin-bottom: 1rem;
}
.game-night-topbar h1 {
    margin: .1rem 0 .25rem;
    font-size: clamp(2.4rem, 6vw, 5.8rem);
    line-height: .82;
    letter-spacing: -.07em;
    text-transform: uppercase;
    color: #fff;
    text-shadow: 0 4px 0 rgba(255,91,220,.28), 0 0 32px rgba(65,229,255,.28);
}
.game-night-topbar p { margin: 0; color: rgba(249,244,255,.74); font-weight: 850; }
.game-night-current-mode {
    display: grid;
    gap: .2rem;
    justify-items: end;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 20px;
    padding: .8rem .9rem;
    background: rgba(255,255,255,.075);
}
.game-night-current-mode span,
.game-night-current-mode strong { color: #fff; }
.game-night-current-mode span { color: rgba(249,244,255,.68); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 950; }
.game-night-current-mode strong { font-size: clamp(1rem, 2vw, 1.35rem); }
.game-night-title-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-height: 250px;
    padding: clamp(1rem, 3vw, 2rem);
    border: 2px solid rgba(255,255,255,.16);
    border-radius: 28px;
    background: radial-gradient(circle at 12% 15%, rgba(255,91,220,.2), transparent 25rem), rgba(255,255,255,.07);
}
.game-night-title-icon {
    display: grid;
    place-items: center;
    width: clamp(88px, 15vw, 160px);
    aspect-ratio: 1;
    border-radius: 32px;
    background: linear-gradient(145deg, rgba(255,91,220,.34), rgba(65,229,255,.22));
    font-size: clamp(3rem, 8vw, 6rem);
    box-shadow: inset 0 0 32px rgba(255,255,255,.12), 0 18px 48px rgba(0,0,0,.32);
}
.game-night-title-card h2,
.game-night-panel-head h2 {
    margin: .15rem 0 .35rem;
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: .92;
    letter-spacing: -.045em;
    color: #fff;
}
.game-night-title-card p,
.game-night-panel-head p { color: rgba(249,244,255,.72); font-weight: 850; }
.game-night-main-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.game-night-menu-button,
.game-night-action,
.game-night-pick-button,
.game-night-back-button {
    border: 2px solid rgba(255,255,255,.16);
    border-radius: 20px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font: inherit;
    font-weight: 1000;
    cursor: pointer;
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.game-night-menu-button {
    display: grid;
    gap: .4rem;
    min-height: 132px;
    padding: 1.15rem;
    text-align: left;
}
.game-night-menu-button span { font-size: clamp(1.4rem, 3vw, 2.1rem); }
.game-night-menu-button small { color: rgba(249,244,255,.68); font-weight: 850; line-height: 1.35; }
.game-night-menu-button.primary,
.game-night-action.primary,
.game-night-pick-button,
.game-night-menu-button:hover,
.game-night-action:hover,
.game-night-pick-button:hover,
.game-night-back-button:hover {
    transform: translateY(-2px);
    border-color: rgba(255,91,220,.74);
    background: linear-gradient(145deg, rgba(255,91,220,.28), rgba(65,229,255,.16));
}
.game-night-action,
.game-night-pick-button,
.game-night-back-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .72rem .95rem;
}
.game-night-action.wide { width: 100%; }
.game-night-action.tiny { padding: .45rem .65rem; font-size: .86rem; }
.game-night-panel-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.game-night-panel-head.compact { margin: 1rem 0 .65rem; }
.game-night-back-button { order: -1; white-space: nowrap; }
.game-night-mode-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.game-night-mode-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    gap: .85rem;
    min-height: 430px;
    padding: 1rem;
    border: 2px solid rgba(255,255,255,.16);
    border-radius: 26px;
    background: rgba(255,255,255,.075);
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 18px 44px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.045);
}
.game-night-mode-card:hover,
.game-night-mode-card.is-active {
    transform: translateY(-3px);
    border-color: rgba(255,255,255,.42);
    box-shadow: 0 26px 62px rgba(0,0,0,.32), 0 0 28px rgba(255,91,220,.16);
}
.game-night-mode-art {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 150px;
    border-radius: 22px;
    overflow: hidden;
    background: rgba(0,0,0,.28);
}
.game-night-mode-art span { position: relative; z-index: 2; font-size: clamp(3.2rem, 7vw, 5.2rem); filter: drop-shadow(0 10px 18px rgba(0,0,0,.35)); }
.game-night-mode-art i,
.game-night-mode-art b { position: absolute; border-radius: 999px; pointer-events: none; }
.game-night-mode-art i { width: 130%; height: 38%; transform: rotate(-10deg); background: rgba(255,255,255,.15); }
.game-night-mode-art b { width: 8rem; height: 8rem; right: -2rem; top: -2rem; background: rgba(255,255,255,.18); }
.game-night-card-caption .game-night-mode-art { background: radial-gradient(circle at 25% 20%, rgba(255,255,255,.28), transparent 40%), linear-gradient(145deg, rgba(255,91,220,.58), rgba(65,229,255,.26)); }
.game-night-card-trivia .game-night-mode-art { background: radial-gradient(circle at 25% 20%, rgba(255,255,255,.26), transparent 40%), linear-gradient(145deg, rgba(255,222,91,.5), rgba(105,93,255,.4)); }
.game-night-card-survey .game-night-mode-art { background: radial-gradient(circle at 25% 20%, rgba(255,255,255,.25), transparent 40%), linear-gradient(145deg, rgba(80,230,255,.42), rgba(146,93,255,.46)); }
.game-night-mode-copy h3 { margin: .2rem 0 .35rem; color: #fff; font-size: clamp(1.45rem, 2.5vw, 2.15rem); }
.game-night-mode-copy p { margin: 0; color: rgba(249,244,255,.72); line-height: 1.45; font-weight: 800; }
.game-night-mode-meta { display: grid; gap: .4rem; }
.game-night-mode-meta span {
    display: inline-flex;
    width: 100%;
    padding: .42rem .58rem;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: rgba(249,244,255,.78);
    font-size: .82rem;
    font-weight: 900;
}
.game-night-lobby-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(270px, .85fr);
    gap: 1rem;
}
.game-night-lobby-column,
.game-night-create-form,
.game-night-join-form,
.game-night-settings-section,
.game-night-lobby-board,
.game-night-room-stage {
    border: 2px solid rgba(255,255,255,.14);
    border-radius: 24px;
    background: rgba(255,255,255,.075);
    padding: 1rem;
}
.game-night-create-head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: .8rem;
    margin-bottom: .8rem;
}
.game-night-create-head h3,
.game-night-lobby-column h3,
.game-night-settings-section h3 { margin: .15rem 0 .45rem; color: #fff; }
.game-night-create-head p { margin: 0; color: rgba(249,244,255,.68); }
.game-night-selected-chip,
.game-night-code,
.game-night-room-chips span,
.game-night-room-chips button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .42rem .64rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(0,0,0,.28);
    color: #fff;
    font-weight: 1000;
}
.game-night-form-grid,
.game-night-mode-settings,
.game-night-settings-stack {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .75rem;
}
.game-night-create-form label,
.game-night-join-form label,
.game-night-settings-section label {
    display: grid;
    gap: .35rem;
    color: rgba(249,244,255,.78);
    font-weight: 900;
}
.game-night-create-form input,
.game-night-create-form select,
.game-night-join-form input,
.game-night-settings-section input,
.game-night-settings-section select {
    width: 100%;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    background: rgba(0,0,0,.32);
    color: #fff;
    padding: .65rem .7rem;
}
.game-night-mode-settings { margin: .85rem 0; }
.game-night-menu-notice,
.game-night-empty,
.game-night-room-notice {
    display: grid;
    gap: .45rem;
    padding: .9rem;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 18px;
    background: rgba(0,0,0,.22);
}
.game-night-menu-notice p,
.game-night-empty p { margin: 0; color: rgba(249,244,255,.68); }
.game-night-public-lobbies { margin-top: 1rem; }
.game-night-board-tools {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px 170px;
    gap: .65rem;
    margin-bottom: .8rem;
}
.game-night-board-tools label { display: grid; gap: .3rem; color: rgba(249,244,255,.7); font-weight: 900; }
.game-night-board-tools input,
.game-night-board-tools select { border-radius: 14px; border: 1px solid rgba(255,255,255,.16); background: rgba(0,0,0,.32); color: #fff; padding: .62rem .7rem; }
.game-night-lobby-list,
.game-night-my-list { display: grid; gap: .65rem; max-height: 360px; overflow-y: auto; padding-right: .25rem; }
.game-night-lobby-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem .85rem;
    align-items: center;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    background: rgba(0,0,0,.24);
    padding: .75rem;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
}
.game-night-lobby-card > div { display: flex; gap: .65rem; align-items: center; min-width: 0; }
.game-night-lobby-card strong,
.game-night-lobby-card small,
.game-night-lobby-card p { min-width: 0; overflow-wrap: anywhere; }
.game-night-lobby-card small { color: rgba(249,244,255,.65); }
.game-night-lobby-card p { margin: 0; color: rgba(249,244,255,.75); font-weight: 850; }
.game-night-lobby-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: rgba(255,255,255,.1); font-size: 1.45rem; }
.game-night-my-lobby { grid-template-columns: minmax(0, 1fr); }
.game-night-keybind-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.game-night-keybind-row button { min-width: 5rem; border: 2px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(0,0,0,.3); color: #fff; padding: .55rem .7rem; font-weight: 1000; cursor: pointer; }
.game-night-keybind-row button.is-listening { border-color: rgba(65,229,255,.75); box-shadow: 0 0 0 3px rgba(65,229,255,.16); }
.game-night-play-frame {
    max-width: 100%;
    overflow: hidden;
    border-radius: 22px;
}
.game-night-room-stage {
    background:
        radial-gradient(circle at 18% 14%, rgba(255,255,255,.12), transparent 18rem),
        rgba(0,0,0,.22);
}
.game-night-room-stage-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .9rem;
}
.game-night-room-title-mark { display: flex; align-items: center; gap: .75rem; }
.game-night-room-title-mark > span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: rgba(255,255,255,.12); font-size: 2rem; }
.game-night-room-title-mark h2 { margin: 0; color: #fff; }
.game-night-room-chips { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
.game-night-room-chips button { cursor: pointer; font: inherit; }
.game-night-room-inner { max-width: 100%; overflow: hidden; }
.game-night-room-inner .game-room-hero .hero-actions a[href$="/games"],
.game-night-room-inner .game-room-hero .hero-actions a[href$="/chat"] { display: none !important; }
.game-night-room-inner .game-room-hero,
.game-night-room-inner .panel,
.game-night-room-inner .game-room-layout { max-width: 100%; }
.game-night-room-inner .game-room-layout { grid-template-columns: minmax(220px, .32fr) minmax(0, 1fr); }
.game-night-room-inner .game-night-side-tools,
.game-night-room-inner .game-night-legacy-callout { display: none !important; }
.game-night-room-stage.theme-trivia { border-color: rgba(255,220,91,.38); }
.game-night-room-stage.theme-survey { border-color: rgba(80,230,255,.38); }
@media (max-width: 980px) {
    .game-night-game-shell { max-width: calc(100vw - 1rem); border-radius: 22px; }
    .game-night-render-screen { min-height: auto; padding: .75rem; }
    .game-night-topbar,
    .game-night-main-actions,
    .game-night-lobby-layout,
    .game-night-board-tools,
    .game-night-room-stage-head,
    .game-night-room-inner .game-room-layout { grid-template-columns: 1fr; }
    .game-night-mode-grid { grid-template-columns: 1fr; }
    .game-night-current-mode { justify-items: start; }
    .game-night-room-stage-head { display: grid; }
    .game-night-room-chips { justify-content: flex-start; }
}
@media (max-width: 640px) {
    .game-night-title-card { grid-template-columns: 1fr; min-height: auto; }
    .game-night-panel-head { display: grid; }
    .game-night-create-head { display: grid; }
    .game-night-lobby-card { grid-template-columns: 1fr; }
}

/* Patch 174: 9k Game Night production start-screen and game-specific lobby settings. */
.game-night-game-shell { overflow-x: hidden; }
.game-night-topbar,
.game-night-current-mode,
.game-night-title-card { display: none !important; }
.game-night-render-screen {
    padding: clamp(1rem, 2.5vw, 2rem);
    min-height: min(78vh, 780px);
}
.game-night-cabinet {
    padding: clamp(1rem, 2vw, 1.6rem);
    min-height: min(70vh, 700px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.game-night-main-menu {
    display: grid;
    align-content: center;
    gap: clamp(1rem, 2vw, 1.5rem);
    max-width: 880px;
    width: 100%;
    margin: 0 auto;
}
.game-night-start-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: clamp(260px, 34vw, 380px);
    border: 2px solid rgba(255,255,255,.16);
    border-radius: 32px;
    padding: clamp(1.5rem, 5vw, 4rem);
    display: grid;
    align-content: end;
    justify-items: start;
    text-align: left;
    background:
        radial-gradient(circle at 18% 20%, rgba(255,255,255,.2), transparent 18rem),
        radial-gradient(circle at 80% 12%, rgba(255,91,220,.2), transparent 16rem),
        linear-gradient(135deg, rgba(122,64,170,.72), rgba(35,44,72,.78) 52%, rgba(21,25,38,.9));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 24px 70px rgba(0,0,0,.35);
}
.game-night-start-card::after {
    content: '';
    position: absolute;
    inset: auto -8% -20% 24%;
    height: 48%;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, rgba(255,91,220,.22), rgba(65,229,255,.2));
    transform: rotate(-4deg);
    z-index: -1;
}
.game-night-start-icon {
    width: clamp(82px, 12vw, 130px);
    height: clamp(82px, 12vw, 130px);
    display: grid;
    place-items: center;
    border-radius: 28px;
    font-size: clamp(2.8rem, 7vw, 5rem);
    background: linear-gradient(145deg, rgba(255,255,255,.24), rgba(255,255,255,.08));
    box-shadow: 0 18px 45px rgba(0,0,0,.28);
    margin-bottom: clamp(1rem, 2.5vw, 1.8rem);
}
.game-night-start-card .eyebrow {
    margin: 0 0 .55rem;
    color: rgba(255,255,255,.72);
    font-weight: 1000;
    letter-spacing: .16em;
}
.game-night-start-card h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(3.4rem, 10vw, 7.6rem);
    letter-spacing: -.06em;
    line-height: .88;
    text-shadow: 0 12px 30px rgba(0,0,0,.35);
}
.game-night-start-card > p:not(.eyebrow) {
    margin: .8rem 0 0;
    color: rgba(255,255,255,.82);
    font-size: clamp(1rem, 2.4vw, 1.45rem);
    font-weight: 900;
}
.game-night-main-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.game-night-main-actions .game-night-menu-button { min-height: 112px; }
.game-night-main-actions .game-night-menu-button small { font-size: .95rem; }
.game-night-create-head.compact {
    display: block;
    padding-bottom: .4rem;
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.game-night-create-head.compact h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
.game-night-common-lobby { margin-top: .75rem; }
.game-night-mode-settings { display: block; }
.game-night-mode-fieldset {
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
    padding: 1rem;
    margin: .85rem 0 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    background: rgba(255,255,255,.055);
}
.game-night-mode-fieldset[hidden] { display: none !important; }
.game-night-mode-fieldset[disabled] { opacity: .45; }
.game-night-mode-fieldset legend {
    padding: 0 .55rem;
    color: #fff;
    font-weight: 1000;
    letter-spacing: .04em;
}
.game-night-lobby-column h3 { color: #fff; }
.game-night-lobby-menu .game-night-panel-head p,
.game-night-picker-menu .game-night-panel-head p,
.game-night-settings-menu .game-night-panel-head p { max-width: 58rem; }
.game-night-panel-head h2[data-game-night-lobby-title] { color: #fff; }
@media (max-width: 760px) {
    .game-night-main-actions,
    .game-night-mode-fieldset { grid-template-columns: 1fr; }
    .game-night-start-card h1 { font-size: clamp(2.7rem, 16vw, 4.5rem); }
}


/* Patch 175: profile bottom container repair.
   The tab_shell object already contains account-settings-layout; do not make the
   outer profile shell into its own two-column grid or every tab gets squeezed. */
.profile-workspace {
    width: min(100%, 1280px);
    max-width: 100%;
    margin: 1.35rem auto 0;
}
.profile-workspace .tabbed-profile-shell.account-settings-shell {
    display: block !important;
    width: 100%;
    max-width: 100%;
    padding: clamp(1rem, 2vw, 1.35rem);
    overflow: visible !important;
}
.profile-workspace .tabbed-profile-shell > .account-settings-layout {
    display: grid !important;
    grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.profile-workspace .tabbed-profile-shell .account-tabs.vertical {
    width: 100%;
    min-width: 0;
}
.profile-workspace .tabbed-profile-shell .account-settings-content,
.profile-workspace .tabbed-profile-shell .account-tab-panel,
.profile-workspace .tabbed-profile-shell .ui-tab-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.profile-workspace .tabbed-profile-shell .account-tab-panel.is-active {
    display: block;
}
.profile-overview-command-center {
    width: 100%;
}
.profile-overview-command-hero {
    grid-template-columns: minmax(132px, 180px) minmax(0, 1fr) minmax(190px, 260px);
    align-items: stretch;
}
.profile-overview-command-hero .profile-overview-v2-copy {
    align-self: center;
    min-width: 0;
}
.profile-overview-command-hero .profile-overview-v2-copy h2 {
    font-size: clamp(2rem, 4.5vw, 3.8rem);
    line-height: .98;
    max-width: 12ch;
}
.profile-overview-command-hero .profile-overview-v2-copy p:not(.eyebrow) {
    max-width: 58rem;
    line-height: 1.45;
}
.profile-overview-score-orb {
    justify-self: center;
    align-self: center;
}
.profile-overview-plan-card {
    align-self: stretch;
    align-content: center;
}
.profile-overview-command-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    width: 100%;
    min-width: 0;
}
.profile-overview-summary-card {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}
.profile-overview-summary-card > p {
    margin: 0;
    color: var(--muted);
    font-weight: 850;
}
.profile-overview-money-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}
.profile-overview-money-row span {
    display: grid;
    gap: .15rem;
    padding: .75rem;
    border-radius: 18px;
    border: 2px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.07);
}
.profile-overview-money-row strong {
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    line-height: 1;
}
.profile-overview-money-row em {
    color: var(--muted);
    font-style: normal;
    font-weight: 850;
}
.profile-workspace .profile-block,
.profile-workspace .eligibility-dashboard,
.profile-workspace .profile-overview-v2 {
    width: 100%;
    max-width: 100%;
}
.profile-workspace .eligibility-lower-grid,
.profile-workspace .eligibility-hero-card {
    min-width: 0;
}
@media (max-width: 1180px) {
    .profile-overview-command-grid { grid-template-columns: 1fr 1fr; }
    .profile-overview-command-grid .profile-overview-summary-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .profile-workspace .tabbed-profile-shell > .account-settings-layout {
        grid-template-columns: 1fr;
    }
    .profile-workspace .tabbed-profile-shell .account-tabs.vertical {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .profile-overview-command-hero,
    .profile-overview-command-grid {
        grid-template-columns: 1fr;
    }
    .profile-overview-command-grid .profile-overview-summary-card:last-child { grid-column: auto; }
}
@media (max-width: 560px) {
    .profile-workspace .tabbed-profile-shell.account-settings-shell {
        padding: .8rem;
    }
    .profile-workspace .tabbed-profile-shell .account-tabs.vertical,
    .profile-overview-money-row,
    .profile-overview-v2-stats,
    .profile-overview-activity-grid,
    .profile-overview-actions {
        grid-template-columns: 1fr;
    }
}

/* Patch 176: merge profile workspace into one clean account container. */
.profile-hub-shell,
.profile-hub-shell * {
    box-sizing: border-box;
}
.profile-hub-shell {
    width: min(100%, 1280px);
    max-width: calc(100vw - 2rem);
    margin: 1.5rem auto;
    padding: clamp(1rem, 2vw, 1.45rem);
    overflow: visible;
}
.profile-hub-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .25rem .25rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,.12);
    margin-bottom: 1rem;
}
.profile-hub-identity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-width: 0;
}
.profile-hub-avatar .big-avatar,
.profile-hub-avatar.big-avatar,
.profile-hub-avatar .fallback {
    width: clamp(66px, 8vw, 92px);
    height: clamp(66px, 8vw, 92px);
}
.profile-hub-head h1 {
    margin: .12rem 0 .25rem;
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: .95;
}
.profile-hub-head .lead {
    max-width: 74ch;
    margin: 0;
}
.profile-hub-workspace.profile-workspace {
    width: 100%;
    margin: 0;
}
.profile-hub-workspace .profile-center-tabs.account-settings-shell,
.profile-hub-workspace .profile-center-tabs.panel {
    display: block !important;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible !important;
}
.profile-hub-workspace .profile-center-tabs > .account-settings-layout {
    display: grid !important;
    grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 1.35rem);
    align-items: start;
    width: 100%;
    min-width: 0;
}
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical {
    position: sticky;
    top: 1rem;
    align-self: start;
    width: 100%;
    min-width: 0;
    max-height: calc(100vh - 2rem);
    overflow: auto;
    padding-right: .15rem;
}
.profile-hub-workspace .profile-center-tabs .account-settings-content,
.profile-hub-workspace .profile-center-tabs .account-tab-panel,
.profile-hub-workspace .profile-center-tabs .ui-tab-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.profile-hub-workspace .profile-center-tabs .account-settings-content {
    display: block;
}
.profile-hub-workspace .profile-center-tabs .account-tab-panel {
    padding: 0;
}
.profile-hub-workspace .profile-center-tabs .account-tab-panel.is-active {
    display: block;
}
.profile-hub-workspace .profile-center-tabs .account-tab-panel > .profile-block,
.profile-hub-workspace .profile-center-tabs .account-tab-panel > .eligibility-dashboard,
.profile-hub-workspace .profile-center-tabs .account-tab-panel > .profile-overview-v2,
.profile-tool-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.profile-tool-panel {
    display: grid;
    gap: 1rem;
}
.profile-tool-grid.two {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    gap: 1rem;
    align-items: start;
}
.profile-tool-stack {
    display: grid;
    gap: 1rem;
}
.profile-inline-form,
.profile-balance-help,
.profile-theme-tile {
    min-width: 0;
}
.profile-theme-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
    align-items: stretch;
}
.profile-theme-tile {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .85rem;
    padding: 1rem;
    border: 2px solid rgba(255,255,255,.13);
    border-radius: 22px;
    background: rgba(255,255,255,.065);
}
.profile-theme-tile.is-active {
    border-color: rgba(120,255,160,.72);
    box-shadow: 0 0 0 1px rgba(120,255,160,.2), 0 18px 46px rgba(0,0,0,.25);
}
.profile-theme-tile.is-locked {
    opacity: .72;
}
.profile-theme-icon {
    width: 3.2rem;
    height: 3.2rem;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(255,255,255,.12);
    font-size: 1.65rem;
}
.profile-theme-copy h3 {
    margin: .35rem 0 .25rem;
    font-size: 1.2rem;
}
.profile-theme-copy p {
    margin: 0;
    color: var(--muted);
    line-height: 1.35;
}
.profile-theme-form {
    grid-column: 1 / -1;
    display: grid;
    gap: .75rem;
}
.profile-theme-form .theme-options {
    display: grid;
    gap: .45rem;
}
.profile-overview-command-center {
    display: grid;
    gap: 1rem;
}
.profile-overview-command-hero {
    grid-template-columns: minmax(130px, 190px) minmax(0, 1fr) minmax(210px, 280px);
}
.profile-overview-command-hero .profile-overview-v2-copy h2 {
    max-width: 16ch;
}
.profile-workspace .profile-center-tabs .eligibility-dashboard,
.profile-workspace .profile-center-tabs .profile-block {
    overflow: visible;
}
@media (max-width: 1020px) {
    .profile-hub-workspace .profile-center-tabs > .account-settings-layout,
    .profile-tool-grid.two,
    .profile-overview-command-hero {
        grid-template-columns: 1fr;
    }
    .profile-hub-workspace .profile-center-tabs .account-tabs.vertical {
        position: static;
        max-height: none;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 620px) {
    .profile-hub-shell {
        max-width: calc(100vw - .75rem);
        padding: .8rem;
    }
    .profile-hub-identity,
    .profile-hub-workspace .profile-center-tabs .account-tabs.vertical,
    .profile-theme-tile {
        grid-template-columns: 1fr;
    }
}

/* Patch 177: profile workspace polish. */
.profile-hub-shell-compact {
    padding: clamp(1rem, 2vw, 1.6rem) !important;
    overflow: visible !important;
}
.profile-hub-head-compact {
    padding: .35rem .35rem 1rem !important;
    margin-bottom: 1rem !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
}
.profile-hub-head-compact .profile-hub-identity {
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
}
.profile-hub-avatar-wrap {
    width: clamp(64px, 8vw, 88px);
    height: clamp(64px, 8vw, 88px);
    display: grid;
    place-items: center;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.profile-hub-avatar-wrap .profile-avatar,
.profile-hub-avatar-wrap .big-avatar,
.profile-hub-avatar-wrap img,
.profile-hub-avatar-wrap .fallback {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 24px !important;
    display: grid;
    place-items: center;
    margin: 0 !important;
}
.profile-hub-head-compact h1 {
    margin: .08rem 0 .25rem !important;
    font-size: clamp(2.1rem, 5vw, 4.15rem) !important;
    line-height: .94 !important;
}
.profile-hub-head-compact .lead {
    max-width: 78ch !important;
    margin: 0 !important;
}
.profile-hub-workspace .profile-center-tabs > .account-settings-layout {
    grid-template-columns: minmax(185px, 220px) minmax(0, 1fr) !important;
    align-items: start !important;
}
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical {
    position: sticky;
    top: 1rem;
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
    scrollbar-width: none;
}
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical::-webkit-scrollbar {
    display: none;
}
.profile-overview-command-hero-clean {
    grid-template-columns: minmax(132px, 190px) minmax(0, 1fr) !important;
    align-items: center !important;
    padding: clamp(1.15rem, 2vw, 1.6rem) !important;
}
.profile-overview-command-hero-clean .profile-overview-v2-copy h2 {
    max-width: none !important;
    font-size: clamp(2.35rem, 5vw, 4.35rem) !important;
    line-height: .92 !important;
}
.profile-overview-command-hero-clean .profile-overview-v2-copy p:not(.eyebrow) {
    max-width: 72ch !important;
}
.profile-overview-key-stats {
    grid-template-columns: repeat(4, minmax(130px, 1fr)) !important;
    gap: .8rem !important;
    margin-top: 1rem !important;
}
.profile-overview-key-stats span {
    min-width: 0;
    min-height: 74px;
    align-content: center;
    overflow-wrap: anywhere;
}
.profile-overview-key-stats strong {
    line-height: 1;
}
.profile-overview-key-stats em {
    line-height: 1.25;
}
.profile-overview-plan-card {
    display: none !important;
}
.profile-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
    width: 100%;
    min-width: 0;
}
.profile-settings-card,
.profile-account-info-card,
.profile-account-settings-panel .panel,
.profile-account-settings-panel form {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
}
.profile-display-card,
.profile-account-info-card {
    grid-column: 1 / -1;
}
.profile-account-settings-panel .form-grid,
.profile-account-info-grid.details-grid {
    min-width: 0;
    max-width: 100%;
}
.profile-ad-pref-card .profile-check-wrap,
.profile-account-settings-panel label.check,
.profile-account-settings-panel .check {
    display: flex !important;
    align-items: flex-start !important;
    gap: .65rem !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
}
.profile-ad-pref-card .profile-check-wrap input,
.profile-account-settings-panel label.check input,
.profile-account-settings-panel .check input {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 1rem !important;
    margin-top: .25rem !important;
}
.profile-ad-pref-card .profile-check-wrap span {
    min-width: 0;
    overflow-wrap: anywhere;
}
.profile-delete-card {
    border-color: rgba(255, 105, 105, .35) !important;
}
.profile-account-info-grid strong {
    overflow-wrap: anywhere;
    word-break: break-word;
}
@media (max-width: 1080px) {
    .profile-hub-workspace .profile-center-tabs > .account-settings-layout,
    .profile-overview-command-hero-clean,
    .profile-settings-grid {
        grid-template-columns: 1fr !important;
    }
    .profile-hub-workspace .profile-center-tabs .account-tabs.vertical {
        position: static !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .profile-overview-key-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 620px) {
    .profile-hub-head-compact .profile-hub-identity,
    .profile-hub-workspace .profile-center-tabs .account-tabs.vertical,
    .profile-overview-key-stats {
        grid-template-columns: 1fr !important;
    }
}

/* Patch 178: Profile hub grouped tabs and in-page subviews. */
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-invoices"],
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-add-funds"],
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-ninekpay"],
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-themes"],
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-ads"] {
    display: none !important;
}
.profile-hub-category-panel,
.profile-subview-panel {
    display: grid;
    gap: clamp(1rem, 2vw, 1.35rem);
    width: 100%;
    min-width: 0;
    max-width: 100%;
}
.profile-category-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(.85rem, 1.7vw, 1.1rem);
    align-items: stretch;
}
.profile-products-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.profile-category-choice-card {
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: .65rem;
    min-height: 190px;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 2px solid rgba(255,255,255,.14);
    border-radius: 26px;
    background:
        radial-gradient(circle at 20% 10%, rgba(255,255,255,.16), transparent 36%),
        linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.045));
    color: var(--text);
    text-decoration: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.045), 0 16px 42px rgba(0,0,0,.22);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    min-width: 0;
}
.profile-category-choice-card:hover,
.profile-category-choice-card:focus-visible,
.profile-category-choice-card.is-active {
    transform: translateY(-2px);
    border-color: var(--accent);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 18px 48px rgba(0,0,0,.3), 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);
    outline: none;
}
.profile-category-icon {
    width: 4rem;
    height: 4rem;
    display: grid;
    place-items: center;
    border-radius: 22px;
    background: rgba(255,255,255,.13);
    font-size: 2rem;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.profile-category-choice-card strong {
    font-size: clamp(1.45rem, 3vw, 2.25rem);
    line-height: .98;
    letter-spacing: -.04em;
}
.profile-category-choice-card em {
    color: var(--muted);
    font-style: normal;
    font-weight: 850;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.profile-category-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}
.profile-category-summary-grid article {
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 20px;
    background: rgba(0,0,0,.18);
    display: grid;
    gap: .2rem;
}
.profile-category-summary-grid span,
.profile-category-summary-grid em {
    color: var(--muted);
    font-style: normal;
    font-weight: 850;
    overflow-wrap: anywhere;
}
.profile-category-summary-grid strong {
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    overflow-wrap: anywhere;
}
.profile-subview-back {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.profile-subview-panel > .section-head,
.profile-hub-category-panel > .section-head {
    align-items: flex-start;
}
.profile-subview-body {
    width: 100%;
    min-width: 0;
}
.profile-subview-panel .profile-block,
.profile-subview-panel .panel,
.profile-hub-category-panel .panel {
    min-width: 0;
    max-width: 100%;
}
.profile-account-balance-panel .section-head h2,
.profile-products-panel .section-head h2 {
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: .95;
    margin-bottom: .35rem;
}
.profile-account-balance-panel .form-help,
.profile-products-panel .form-help {
    max-width: 78ch;
}
.profile-hub-workspace .profile-center-tabs .account-tab-panel[data-tab-panel="profile-invoices"],
.profile-hub-workspace .profile-center-tabs .account-tab-panel[data-tab-panel="profile-add-funds"],
.profile-hub-workspace .profile-center-tabs .account-tab-panel[data-tab-panel="profile-ninekpay"],
.profile-hub-workspace .profile-center-tabs .account-tab-panel[data-tab-panel="profile-themes"],
.profile-hub-workspace .profile-center-tabs .account-tab-panel[data-tab-panel="profile-ads"] {
    scroll-margin-top: 1rem;
}
.profile-overview-action[data-tab-link],
.profile-overview-activity-grid a[data-tab-link] {
    cursor: pointer;
}
@media (max-width: 980px) {
    .profile-category-choice-grid,
    .profile-products-choice-grid,
    .profile-category-summary-grid {
        grid-template-columns: 1fr;
    }
    .profile-category-choice-card {
        min-height: 150px;
    }
}

/* Patch 179: profile page replaces old account pages with full in-profile panels. */
.profile-overview-v3 .profile-overview-main-hero {
    grid-template-columns: minmax(128px, 188px) minmax(0, 1fr) !important;
    gap: clamp(1rem, 2vw, 1.35rem) !important;
}
.profile-overview-v3 .profile-overview-main-hero .profile-overview-v2-copy h2 {
    max-width: none !important;
    font-size: clamp(2.8rem, 6vw, 5.25rem) !important;
    line-height: .9 !important;
}
.profile-overview-v3 .profile-overview-main-hero .profile-overview-v2-copy > p {
    max-width: 78ch !important;
}
.profile-overview-horizontal-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: clamp(.85rem, 1.8vw, 1.15rem) !important;
}
.profile-overview-horizontal-grid .profile-overview-summary-card {
    min-width: 0;
    height: 100%;
}
.profile-overview-horizontal-grid .profile-overview-actions {
    max-height: none;
}
.profile-balance-full-panel,
.profile-ninekpay-full {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    gap: clamp(1rem, 2vw, 1.25rem);
}
.profile-balance-metrics,
.profile-ninekpay-full .ninekpay-metrics {
    width: 100%;
    margin: 0;
}
.profile-balance-history-panel,
.profile-ninekpay-full .panel,
.profile-ninekpay-full .stat-card,
.profile-ninekpay-full .ninekpay-request-card,
.profile-ninekpay-full .ninekpay-method-card {
    min-width: 0;
    max-width: 100%;
}
.profile-ninekpay-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
    gap: 1rem;
    align-items: stretch;
    padding: clamp(1rem, 2vw, 1.25rem);
    border: 2px solid rgba(255,255,255,.14);
    border-radius: 26px;
    background:
        radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(0,0,0,.16));
}
.profile-ninekpay-hero .ninekpay-hero-copy h2 {
    font-size: clamp(2.4rem, 5vw, 4.6rem);
    line-height: .9;
    margin: .15rem 0 .45rem;
}
.profile-ninekpay-hero .ninekpay-availability-card {
    min-width: 0;
    width: 100%;
}
.profile-ninekpay-full .ninekpay-request-form,
.profile-ninekpay-full .admin-form-grid {
    min-width: 0;
    max-width: 100%;
}
.profile-ninekpay-full .ninekpay-quick-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.profile-history-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    width: 100%;
    min-width: 0;
}
.profile-balance-full-panel .table-wrap,
.profile-ninekpay-full .table-wrap {
    max-width: 100%;
    overflow-x: auto;
}
.profile-themes-panel .section-head .status-pill,
.profile-products-panel .section-head .status-pill {
    max-width: 100%;
    overflow-wrap: anywhere;
}
@media (max-width: 1180px) {
    .profile-overview-horizontal-grid {
        grid-template-columns: 1fr !important;
    }
    .profile-ninekpay-hero,
    .profile-history-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .profile-overview-v3 .profile-overview-main-hero,
    .profile-balance-full-panel .profile-tool-grid.two {
        grid-template-columns: 1fr !important;
    }
}

/* Patch 180: Archive / Patch tab cleanup */
.admin-settings-shell .admin-tab-main-container.archive-workspace,
.admin-settings-shell .admin-tab-main-container.archive-workspace-wide {
    max-height: none;
    overflow: visible;
}
.archive-status-strip .admin-summary-pill.archive-status-pair {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: .35rem;
    border-radius: calc(var(--radius) * .55);
    padding: .72rem .85rem;
    white-space: normal;
}
.archive-status-strip .admin-summary-pill.archive-status-pair em {
    display: inline;
    color: var(--muted);
    font-weight: 950;
    text-transform: none;
    letter-spacing: .01em;
}
.archive-status-strip .admin-summary-pill.archive-status-pair strong {
    display: inline;
    min-width: 0;
    min-height: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    line-height: 1.2;
}
.archive-patch-layout.archive-patch-layout-merged {
    display: grid;
    grid-template-columns: 1fr;
}
.patch-upload-merged-card {
    display: grid;
    gap: .95rem;
    height: auto;
}
.patch-upload-diagnostics {
    margin-top: .3rem;
    padding-top: .95rem;
    border-top: 1px solid rgba(148, 163, 184, .22);
}
.patch-diagnostics-head {
    margin-bottom: .1rem;
}
.patch-diagnostics-head h3 {
    margin: 0;
}
.patch-apply-bottom {
    grid-template-columns: 1fr;
    margin-top: .15rem;
}
.patch-readable-diagnostics .patch-diagnostic-card {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .6rem;
}
.patch-readable-diagnostics .patch-diagnostic-card span {
    display: inline;
    color: var(--muted);
    font-weight: 950;
}
.patch-readable-diagnostics .patch-diagnostic-card strong {
    text-align: right;
    min-width: 0;
    overflow-wrap: anywhere;
}
.patch-diagnostic-notes,
.patch-upload-selected {
    display: none !important;
}

/* Patch 181: Owner Archive/Patch upload UI cleanup */
.archive-patch-card-flat {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    overflow: visible;
}
.archive-patch-heading,
.archive-diagnostics-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}
.archive-patch-heading h3,
.archive-diagnostics-title-row h3 {
    margin: 0;
}
.archive-patch-form {
    display: grid;
    gap: 1rem;
}
.archive-patch-fields {
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.3fr);
    gap: .85rem;
    align-items: stretch;
}
.archive-patch-fields > label {
    margin: 0;
}
.archive-file-drop {
    position: relative;
    display: grid !important;
    gap: .45rem;
    cursor: pointer;
}
.archive-file-drop input[type="file"] {
    position: absolute;
    inset: 1.65rem 0 0 0;
    width: 100%;
    height: calc(100% - 1.65rem);
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}
.archive-file-drop-shell {
    display: grid;
    gap: .2rem;
    min-height: 4.2rem;
    padding: .85rem 1rem;
    border: 1px dashed rgba(255, 255, 255, .35);
    border-radius: calc(var(--radius) * .65);
    background: linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.05));
    color: var(--ink);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.archive-file-drop-shell strong {
    display: block;
    font-size: 1rem;
}
.archive-file-drop-shell small {
    display: block;
    color: var(--muted);
    font-weight: 850;
    line-height: 1.35;
}
.archive-file-drop:hover .archive-file-drop-shell,
.archive-file-drop:focus-within .archive-file-drop-shell {
    border-color: rgba(86, 255, 160, .65);
    box-shadow: 0 0 0 3px rgba(86, 255, 160, .12), inset 0 1px 0 rgba(255,255,255,.2);
}
.archive-patch-card-flat .patch-upload-diagnostics {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}
.archive-patch-card-flat .patch-readable-diagnostics {
    gap: .85rem;
}
.archive-patch-card-flat .patch-diagnostic-state {
    align-items: center;
    padding: .85rem 1rem;
}
.archive-patch-card-flat .patch-diagnostic-grid {
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
}
.archive-patch-card-flat .patch-readable-diagnostics .patch-diagnostic-card {
    display: grid;
    align-content: start;
    gap: .22rem;
    min-height: 5.2rem;
}
.archive-patch-card-flat .patch-readable-diagnostics .patch-diagnostic-card span,
.archive-patch-card-flat .patch-readable-diagnostics .patch-diagnostic-card strong {
    text-align: left;
}
.archive-patch-card-flat .patch-diagnostic-samples {
    display: none !important;
}
.archive-debug-actions {
    justify-content: flex-start;
}
.archive-patch-card-flat .patch-apply-bottom {
    margin-top: .25rem;
}
.archive-patch-card-flat .patch-apply-bottom .button {
    min-height: 3.1rem;
    font-size: .95rem;
}
@media (max-width: 820px) {
    .archive-patch-fields {
        grid-template-columns: 1fr;
    }
}

/* Patch 183: Archive / Patch tab simplified production layout */
.archive-clean-head {
    margin-bottom: .15rem;
}
.archive-clean-head h2 {
    margin-bottom: 0;
}
.archive-create-card-flat {
    display: grid;
    gap: .9rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    overflow: visible;
}
.archive-create-card-flat form {
    margin: 0 !important;
}
.archive-card-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}
.archive-card-title-row h3 {
    margin: 0;
}
.archive-patch-heading-simple {
    justify-content: flex-start;
}
.archive-patch-heading-simple .eyebrow {
    margin: 0;
}

/* Patch 184: profile hub panel cleanup and friend code tools. */
.profile-overview-stat-copy {
    width: 100%;
    min-width: 0;
}
.profile-overview-stat-copy .profile-overview-key-stats {
    margin: 0;
    width: 100%;
}
.profile-overview-horizontal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
}
.profile-overview-horizontal-grid .profile-overview-summary-card:last-child {
    grid-column: auto !important;
}
.profile-overview-horizontal-grid .profile-overview-summary-card {
    min-height: 0 !important;
}
.profile-overview-summary-card .section-head h2 {
    overflow-wrap: anywhere;
}
.profile-add-funds-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem;
    width: 100%;
}
.profile-add-money-form {
    width: 100%;
    max-width: 780px;
}
.profile-wallet-transactions-panel .table-wrap a[data-tab-link="profile-invoices"] {
    font-weight: 950;
    text-decoration: none;
    color: var(--accent);
}
.profile-friend-code-tools {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem .7rem;
}
.profile-friend-code-tools strong {
    letter-spacing: .08em;
}
.profile-friend-code-tools form {
    margin: 0;
}
.profile-friend-code-tools em,
.friend-code-card em {
    flex-basis: 100%;
    color: var(--muted);
    font-style: normal;
    font-size: .82rem;
    font-weight: 850;
}
.profile-products-panel .status-pill,
.profile-themes-panel .status-pill {
    white-space: normal;
}
@media (max-width: 760px) {
    .profile-overview-horizontal-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Patch 185: 9k Pay profile hub cleanup and subviews. */
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-9k-borrow"],
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-9k-methods"],
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-9k-active"],
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-9k-history"] {
    display: none !important;
}
.profile-ninekpay-home-subview {
    gap: clamp(.85rem, 1.8vw, 1.15rem);
}
.profile-ninekpay-home-panel > .section-head h2,
.profile-ninekpay-tool-panel > .section-head h2 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: .95;
    margin-bottom: .25rem;
}
.profile-ninekpay-home-panel > .section-head .form-help,
.profile-ninekpay-tool-panel > .section-head .form-help {
    max-width: 68ch;
}
.profile-ninekpay-choice-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.profile-ninekpay-choice-grid .profile-category-choice-card {
    min-height: 172px;
}
.profile-ninekpay-choice-grid .profile-category-choice-card strong {
    font-size: clamp(1.25rem, 2.3vw, 1.85rem);
}
.profile-ninekpay-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.profile-ninekpay-summary-grid article,
.profile-ninekpay-tool-panel .panel,
.profile-ninekpay-tool-panel .stat-card,
.profile-ninekpay-tool-panel .ninekpay-request-card,
.profile-ninekpay-tool-panel .ninekpay-method-card {
    min-width: 0;
    max-width: 100%;
}
.profile-ninekpay-lock-note {
    margin: 0;
}
.profile-ninekpay-borrow-panel .ninekpay-request-form,
.profile-ninekpay-methods-panel .admin-form-grid,
.profile-ninekpay-active-panel .admin-form-grid {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}
.profile-ninekpay-borrow-panel .ninekpay-quick-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.profile-ninekpay-tool-panel .profile-history-grid {
    width: 100%;
    min-width: 0;
}
.profile-ninekpay-tool-panel .table-wrap {
    max-width: 100%;
    overflow-x: auto;
}
@media (max-width: 1180px) {
    .profile-ninekpay-choice-grid,
    .profile-ninekpay-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 680px) {
    .profile-ninekpay-choice-grid,
    .profile-ninekpay-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* Patch 186: Profile overview, account transactions, and eligibility subview polish */
.profile-overview-stacked-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    align-items: stretch !important;
}
.profile-overview-stacked-grid .profile-overview-summary-card {
    min-height: 0 !important;
    width: 100% !important;
}
.profile-overview-stacked-grid .profile-overview-actions {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.profile-wallet-transactions-subview .table-wrap,
.profile-eligibility-subview .table-wrap {
    max-width: 100%;
    overflow-x: auto;
}
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-eligibility-overview"],
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-eligibility-breakdown"],
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-eligibility-requirements"],
.profile-hub-workspace .profile-center-tabs .account-tabs.vertical > .account-tab-link[data-tab-link="profile-eligibility-rewards"] {
    display: none !important;
}
.profile-eligibility-panel,
.profile-eligibility-subview {
    display: grid;
    gap: 1rem;
    min-width: 0;
}
.profile-eligibility-choice-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.profile-eligibility-choice-grid .profile-category-choice-card {
    min-height: 160px;
}
.profile-eligibility-hero {
    overflow: visible !important;
    grid-template-columns: minmax(300px, 420px) minmax(0, 1fr) !important;
    align-items: center;
}
.profile-workspace .eligibility-speedometer-card-improved,
.profile-workspace .eligibility-speedometer-card {
    overflow: visible !important;
    width: 100%;
    max-width: 430px;
    min-height: 310px;
    padding: 1.15rem 1.15rem 1rem;
    justify-self: center;
    align-content: center;
    gap: .35rem;
}
.profile-workspace .eligibility-speedometer {
    width: min(100%, 370px);
    max-height: none !important;
    overflow: visible !important;
}
.profile-workspace .eligibility-score-center {
    position: static !important;
    transform: none !important;
    margin: -1.4rem auto .35rem;
    z-index: 2;
    width: max-content;
    max-width: 100%;
}
.eligibility-threshold-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .45rem;
    width: 100%;
    font-size: .76rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.eligibility-threshold-legend span {
    padding: .32rem .5rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.10);
}
.eligibility-threshold-legend .red { color: #ff8a8a; }
.eligibility-threshold-legend .yellow { color: #ffd27a; }
.eligibility-threshold-legend .green { color: #7dff9d; }
.profile-eligibility-requirements-grid {
    grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr);
}
.eligibility-action-checklist {
    counter-reset: eligibility-step;
}
.eligibility-action-checklist .eligibility-action-step {
    position: relative;
    display: grid;
    gap: .35rem;
    padding: .9rem .95rem .9rem 3.1rem;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.07);
}
.eligibility-action-checklist .eligibility-action-step::before {
    counter-increment: eligibility-step;
    content: counter(eligibility-step);
    position: absolute;
    left: .8rem;
    top: .85rem;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: color-mix(in srgb, var(--brand) 62%, #fff 10%);
    color: #fff;
    font-weight: 1000;
}
.eligibility-action-checklist .eligibility-action-step strong {
    font-size: 1rem;
}
.eligibility-action-checklist .eligibility-action-step span,
.eligibility-action-checklist .eligibility-action-step em {
    color: var(--muted);
    font-style: normal;
    font-weight: 800;
    line-height: 1.35;
}
.eligibility-requirements-panel,
.eligibility-rewards-panel {
    padding: 1rem;
    border: var(--border);
    border-radius: 28px;
    background: color-mix(in srgb, var(--panel, rgba(255,255,255,.82)) 88%, #fff 12%);
    box-shadow: var(--shadow);
}
.eligibility-requirement-grid,
.eligibility-reward-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: .85rem;
}
.eligibility-requirement-card,
.eligibility-reward-card {
    display: grid;
    gap: .65rem;
    padding: .9rem;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.07);
}
.eligibility-requirement-card h3,
.eligibility-reward-card h3 {
    margin: 0;
}
.eligibility-requirement-card p,
.eligibility-reward-card p {
    margin: 0;
    color: var(--muted);
    font-weight: 800;
    line-height: 1.35;
}
.eligibility-requirement-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.eligibility-requirement-pills span {
    padding: .38rem .55rem;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.12);
    font-size: .78rem;
    font-weight: 950;
}
.user-reward-card.is-current {
    border-color: color-mix(in srgb, var(--brand) 56%, rgba(255,255,255,.2));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand) 18%, transparent);
}
@media (max-width: 1180px) {
    .profile-eligibility-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .profile-eligibility-hero,
    .profile-eligibility-requirements-grid {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 680px) {
    .profile-eligibility-choice-grid,
    .profile-overview-stacked-grid .profile-overview-actions,
    .profile-overview-money-row {
        grid-template-columns: 1fr !important;
    }
    .profile-workspace .eligibility-speedometer-card-improved,
    .profile-workspace .eligibility-speedometer-card {
        min-height: 280px;
        padding-inline: .7rem;
    }
}

/* Patch 187: eligibility sliders + review reason UI */
.eligibility-settings-grid-expanded {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    align-items: stretch;
}
.eligibility-slider-card {
    gap: 0.9rem;
}
.eligibility-range-field {
    display: grid;
    gap: 0.4rem;
}
.eligibility-range-field input[type="range"] {
    width: 100%;
    accent-color: var(--accent, #5dff9d);
}
.eligibility-range-field input[type="number"] {
    width: 100%;
}
.eligibility-threshold-slider-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}
.eligibility-negative-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    padding-top: 0.35rem;
    border-top: 1px solid color-mix(in srgb, var(--text, #fff) 14%, transparent);
}
.eligibility-borrow-penalty-panel {
    margin-top: 1rem;
}
.limit-review-reason {
    max-width: 28rem;
    line-height: 1.35;
    white-space: normal;
}
@media (max-width: 760px) {
    .eligibility-threshold-slider-grid,
    .eligibility-negative-controls {
        grid-template-columns: 1fr;
    }
}

/* Patch 188: profile invoice links + eligibility meter/subview cleanup */
.wallet-reference-link {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .22rem .55rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--brand, #7c3aed) 36%, rgba(255,255,255,.24));
    background: color-mix(in srgb, var(--brand, #7c3aed) 14%, transparent);
    color: var(--ink, #fff);
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}
.wallet-reference-link:hover,
.wallet-reference-link:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--brand, #7c3aed) 22%, transparent);
}
.invoice-history-card:target {
    outline: 3px solid color-mix(in srgb, var(--brand, #7c3aed) 72%, #fff 8%);
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--brand, #7c3aed) 18%, transparent), var(--shadow);
}
.profile-eligibility-title {
    align-items: start;
    margin-bottom: .15rem;
}
.profile-eligibility-title .eyebrow {
    margin-bottom: .25rem;
}
.profile-eligibility-title h2 {
    margin: 0;
}
.profile-subview-back-prominent.profile-eligibility-return {
    display: flex;
    justify-content: flex-start;
    padding: .7rem .75rem;
    border-radius: 20px;
    border: 1px solid color-mix(in srgb, var(--brand, #7c3aed) 32%, rgba(255,255,255,.16));
    background: color-mix(in srgb, var(--brand, #7c3aed) 12%, rgba(255,255,255,.05));
}
.profile-subview-back-prominent.profile-eligibility-return .button {
    box-shadow: 0 10px 26px color-mix(in srgb, var(--brand, #7c3aed) 28%, transparent);
}
.profile-eligibility-requirements-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: stretch;
}
.profile-eligibility-requirements-stack .eligibility-action-panel,
.profile-eligibility-requirements-stack .eligibility-requirements-panel {
    min-width: 0;
    width: 100%;
}
.profile-eligibility-requirements-stack .eligibility-requirement-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.profile-workspace .eligibility-speedometer-card-detailed,
.profile-workspace .eligibility-speedometer-card-improved {
    min-height: 360px;
    max-width: 500px;
    padding: 1.15rem 1.25rem 1.15rem;
}
.profile-workspace .eligibility-speedometer-detailed {
    width: min(100%, 440px);
}
.profile-workspace .eligibility-speedometer-card-detailed .eligibility-score-center,
.profile-workspace .eligibility-speedometer-card-improved .eligibility-score-center {
    margin: .05rem auto .5rem !important;
    padding: .45rem .85rem;
    border-radius: 18px;
    background: rgba(0,0,0,.22);
    border: 1px solid rgba(255,255,255,.12);
}
.profile-workspace .eligibility-gauge-segment {
    stroke-linecap: butt;
    stroke-width: 18;
}
.profile-workspace .eligibility-gauge-bg {
    stroke-width: 22;
    opacity: .55;
}
.profile-workspace .eligibility-gauge-progress {
    stroke-width: 8;
    stroke-linecap: round;
    opacity: .92;
}
.eligibility-gauge-threshold circle {
    fill: var(--panel, #1f1740);
    stroke: rgba(255,255,255,.92);
    stroke-width: 2;
    filter: drop-shadow(0 3px 6px rgba(0,0,0,.35));
}
.eligibility-gauge-threshold text,
.eligibility-gauge-range-copy,
.profile-workspace .eligibility-gauge-tick {
    fill: var(--ink, #fff);
    font-size: 10px;
    font-weight: 1000;
    text-anchor: middle;
    letter-spacing: .08em;
    text-transform: uppercase;
    paint-order: stroke;
    stroke: rgba(0,0,0,.35);
    stroke-width: 2px;
}
.eligibility-gauge-range-copy {
    font-size: 8px;
    fill: var(--muted, rgba(255,255,255,.72));
    stroke-width: 1px;
}
.eligibility-threshold-legend-detailed {
    margin-top: .35rem;
    align-items: center;
}
.eligibility-threshold-legend-detailed span {
    background: rgba(0,0,0,.18);
}
@media (max-width: 760px) {
    .profile-workspace .eligibility-speedometer-card-detailed,
    .profile-workspace .eligibility-speedometer-card-improved {
        min-height: 330px;
        padding: .85rem;
    }
    .profile-eligibility-requirements-stack .eligibility-requirement-grid {
        grid-template-columns: 1fr;
    }
}

/* Patch 189: eligibility meter rebuild + score history movement UI. */
.eligibility-gauge-f { stroke: #ef4444; }
.eligibility-gauge-d { stroke: #fb923c; }
.eligibility-gauge-c { stroke: #facc15; }
.eligibility-gauge-b { stroke: #84cc16; }
.eligibility-gauge-a { stroke: #22c55e; }
.eligibility-threshold-legend .f { color: #ff9b9b; }
.eligibility-threshold-legend .d { color: #ffc08a; }
.eligibility-threshold-legend .c { color: #ffe27a; }
.eligibility-threshold-legend .b { color: #caff75; }
.eligibility-threshold-legend .a { color: #7dff9d; }
.eligibility-speedometer-card-has-history,
.eligibility-speedometer-card:has(.eligibility-score-history-card),
.eligibility-speedometer-card-improved:has(.eligibility-score-history-card),
.eligibility-speedometer-card-detailed:has(.eligibility-score-history-card) {
    align-content: center;
    gap: .55rem;
}
.eligibility-score-center.eligibility-score-center-modern {
    position: static !important;
    transform: none !important;
    display: grid;
    justify-items: center;
    align-items: center;
    gap: .15rem;
    width: min(100%, 330px);
    min-width: 0;
    margin: -.45rem auto .2rem !important;
    padding: .6rem .85rem .7rem;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.07));
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 14px 28px rgba(0,0,0,.16);
    text-align: center;
}
.eligibility-score-number {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: .22rem;
    line-height: .92;
}
.eligibility-score-center-modern .eligibility-score-number strong {
    font-size: clamp(2.1rem, 5vw, 3.3rem);
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,.28);
}
.eligibility-score-center-modern .eligibility-score-number small {
    color: color-mix(in srgb, var(--muted, rgba(255,255,255,.75)) 82%, #fff 18%);
    font-size: .95rem;
    font-weight: 1000;
}
.eligibility-score-center-modern > em {
    margin: 0;
    color: color-mix(in srgb, var(--ink, #fff) 90%, var(--eligibility-band, #22c55e) 10%);
    font-size: .78rem;
    font-style: normal;
    font-weight: 1000;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.eligibility-score-change {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    margin-top: .12rem;
    padding: .28rem .58rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    color: var(--muted, rgba(255,255,255,.72));
    font-style: normal;
    font-weight: 1000;
}
.eligibility-score-change span {
    color: inherit;
    font-size: .9rem;
}
.eligibility-score-change em {
    margin: 0;
    color: color-mix(in srgb, currentColor 70%, #fff 30%);
    font-size: .64rem;
    font-style: normal;
    font-weight: 1000;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.eligibility-score-change.is-up {
    color: #86efac;
    background: rgba(34,197,94,.16);
    border-color: rgba(134,239,172,.28);
}
.eligibility-score-change.is-down {
    color: #fca5a5;
    background: rgba(239,68,68,.16);
    border-color: rgba(252,165,165,.28);
}
.eligibility-score-change.is-flat {
    color: #dbeafe;
    background: rgba(96,165,250,.12);
    border-color: rgba(191,219,254,.22);
}
.eligibility-score-history-card {
    display: grid;
    gap: .45rem;
    width: min(100%, 380px);
    margin: .1rem auto 0;
    padding: .72rem;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(0,0,0,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.eligibility-score-history-card > div {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    align-items: baseline;
}
.eligibility-score-history-card > div strong {
    color: var(--ink, #fff);
    font-size: .82rem;
    font-weight: 1000;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.eligibility-score-history-card > div span {
    color: var(--muted, rgba(255,255,255,.72));
    font-size: .72rem;
    font-weight: 850;
}
.eligibility-score-history-card ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .38rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.eligibility-history-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .35rem;
    min-width: 0;
    padding: .38rem .45rem;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.06);
    font-weight: 900;
}
.eligibility-history-row span {
    color: var(--muted, rgba(255,255,255,.72));
    white-space: nowrap;
}
.eligibility-history-row strong {
    color: var(--ink, #fff);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.eligibility-history-row em {
    color: var(--muted, rgba(255,255,255,.72));
    font-size: .7rem;
    font-style: normal;
    white-space: nowrap;
}
.eligibility-history-row.is-up span { color: #86efac; }
.eligibility-history-row.is-down span { color: #fca5a5; }
.eligibility-history-row.is-flat span { color: #dbeafe; }
.profile-workspace .eligibility-speedometer-card-detailed,
.profile-workspace .eligibility-speedometer-card-improved {
    min-height: 440px;
}
.profile-workspace .eligibility-speedometer-detailed {
    width: min(100%, 430px);
}
@media (max-width: 560px) {
    .eligibility-score-history-card ol {
        grid-template-columns: 1fr;
    }
    .eligibility-score-history-card > div {
        display: grid;
        justify-items: center;
        text-align: center;
    }
}

/* Patch 190: eligibility meter visual polish from screenshot notes. */
.eligibility-speedometer-card,
.profile-workspace .eligibility-speedometer-card-improved,
.profile-workspace .eligibility-speedometer-card-detailed {
    background:
        radial-gradient(circle at 50% 78%, rgba(126, 91, 255, .20), transparent 42%),
        radial-gradient(circle at 50% 100%, rgba(255,255,255,.10), transparent 34%),
        linear-gradient(160deg, #33255d 0%, #251a49 52%, #1c1437 100%) !important;
    border: 1px solid rgba(244, 190, 86, .58) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        inset 0 0 38px rgba(111, 76, 255, .10),
        0 18px 40px rgba(8, 4, 28, .22) !important;
}
.eligibility-speedometer-card::after,
.profile-workspace .eligibility-speedometer-card-improved::after,
.profile-workspace .eligibility-speedometer-card-detailed::after {
    content: '';
    position: absolute;
    inset: 8px;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0 0 24px rgba(255,255,255,.035);
}
.eligibility-speedometer,
.profile-workspace .eligibility-speedometer,
.profile-workspace .eligibility-speedometer-detailed {
    max-height: none !important;
    overflow: visible;
}
.eligibility-speedometer-card .eligibility-gauge-bg {
    stroke: rgba(13, 8, 35, .60) !important;
    stroke-width: 20 !important;
    opacity: .92 !important;
}
.eligibility-speedometer-card .eligibility-gauge-progress {
    display: none !important;
}
.eligibility-speedometer-card .eligibility-gauge-segment {
    stroke-width: 18 !important;
    stroke-linecap: butt !important;
    opacity: 1 !important;
}
.profile-workspace .eligibility-speedometer-card-detailed .eligibility-gauge-segment,
.profile-workspace .eligibility-speedometer-card-improved .eligibility-gauge-segment {
    stroke-width: 22 !important;
}
.eligibility-gauge-f {
    stroke: #ff1717 !important;
    filter: drop-shadow(0 0 8px rgba(255, 23, 23, .44)) drop-shadow(0 8px 10px rgba(0,0,0,.22)) !important;
}
.eligibility-gauge-d {
    stroke: #ff8a00 !important;
    filter: drop-shadow(0 0 9px rgba(255, 138, 0, .42)) drop-shadow(0 8px 10px rgba(0,0,0,.22)) !important;
}
.eligibility-gauge-c {
    stroke: #ffd21a !important;
    filter: drop-shadow(0 0 10px rgba(255, 210, 26, .44)) drop-shadow(0 8px 10px rgba(0,0,0,.22)) !important;
}
.eligibility-gauge-b {
    stroke: #98f10c !important;
    filter: drop-shadow(0 0 10px rgba(152, 241, 12, .42)) drop-shadow(0 8px 10px rgba(0,0,0,.22)) !important;
}
.eligibility-gauge-a {
    stroke: #16d96f !important;
    filter: drop-shadow(0 0 11px rgba(22, 217, 111, .44)) drop-shadow(0 8px 10px rgba(0,0,0,.22)) !important;
}
.eligibility-gauge-scale-line {
    stroke-linecap: round;
    pointer-events: none;
}
.eligibility-gauge-scale-line.is-minor {
    stroke: rgba(50, 255, 83, .70);
    stroke-width: 1.25;
    opacity: .92;
}
.eligibility-gauge-scale-line.is-major {
    stroke: rgba(255, 255, 255, .94);
    stroke-width: 2.5;
    opacity: .98;
    filter: drop-shadow(0 0 5px rgba(99, 255, 115, .38));
}
.eligibility-gauge-score-label {
    fill: rgba(255,255,255,.96);
    font-size: 8.25px;
    font-weight: 1000;
    text-anchor: middle;
    letter-spacing: .025em;
    paint-order: stroke;
    stroke: rgba(8, 4, 28, .60);
    stroke-width: 2px;
    filter: drop-shadow(0 2px 5px rgba(0,0,0,.30));
}
.profile-workspace .eligibility-speedometer-detailed .eligibility-gauge-score-label {
    font-size: 9.5px;
}
.eligibility-speedometer-card .eligibility-gauge-needle {
    stroke: #ffffff !important;
    stroke-width: 6.5 !important;
    stroke-linecap: round !important;
    filter: drop-shadow(0 0 7px rgba(255,255,255,.38)) drop-shadow(0 7px 8px rgba(0,0,0,.30)) !important;
}
.profile-workspace .eligibility-speedometer-card-detailed .eligibility-gauge-needle,
.profile-workspace .eligibility-speedometer-card-improved .eligibility-gauge-needle {
    stroke-width: 7.5 !important;
}
.eligibility-speedometer-card .eligibility-gauge-cap {
    fill: #fff !important;
    stroke: rgba(239, 232, 255, .95) !important;
    stroke-width: 4.5 !important;
    filter: drop-shadow(0 0 10px rgba(255,255,255,.36)) drop-shadow(0 7px 10px rgba(0,0,0,.34));
}
.eligibility-speedometer-card .eligibility-gauge-tick,
.profile-workspace .eligibility-speedometer-card .eligibility-gauge-tick {
    fill: #fff !important;
    font-size: 11px !important;
    font-weight: 1000 !important;
    text-anchor: middle;
    paint-order: stroke;
    stroke: rgba(8, 4, 28, .70) !important;
    stroke-width: 2.25px !important;
    filter: drop-shadow(0 3px 6px rgba(0,0,0,.32));
}
.profile-workspace .eligibility-speedometer-card-detailed .eligibility-gauge-tick,
.profile-workspace .eligibility-speedometer-card-improved .eligibility-gauge-tick {
    font-size: 12.5px !important;
}
.eligibility-speedometer-card-has-history,
.eligibility-speedometer-card:has(.eligibility-score-history-card),
.eligibility-speedometer-card-improved:has(.eligibility-score-history-card),
.eligibility-speedometer-card-detailed:has(.eligibility-score-history-card) {
    gap: .7rem;
}
.profile-workspace .eligibility-speedometer-card-detailed,
.profile-workspace .eligibility-speedometer-card-improved {
    min-height: 430px;
}
@media (max-width: 560px) {
    .eligibility-speedometer-card .eligibility-gauge-score-label {
        font-size: 7.4px;
        stroke-width: 1.8px;
    }
    .eligibility-speedometer-card .eligibility-gauge-scale-line.is-minor {
        stroke-width: 1;
    }
}

/* Patch 191: eligibility meter cleanup from screenshot feedback. */
.eligibility-grade-threshold-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem;
    width: min(100%, 390px);
    margin: .35rem auto 0;
}
.eligibility-grade-threshold-strip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    min-width: 76px;
    padding: .34rem .55rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.15);
    background: rgba(255,255,255,.075);
    color: #fff;
    font-size: .74rem;
    font-weight: 950;
    line-height: 1;
    letter-spacing: .025em;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 18px rgba(0,0,0,.14);
}
.eligibility-grade-threshold-strip span strong {
    font-size: .8rem;
    font-weight: 1000;
}
.eligibility-grade-threshold-strip .a { border-color: rgba(34,217,111,.34); background: rgba(34,217,111,.14); }
.eligibility-grade-threshold-strip .b { border-color: rgba(152,241,12,.32); background: rgba(152,241,12,.13); }
.eligibility-grade-threshold-strip .c { border-color: rgba(255,210,26,.32); background: rgba(255,210,26,.13); }
.eligibility-grade-threshold-strip .d { border-color: rgba(255,138,0,.32); background: rgba(255,138,0,.13); }
.eligibility-score-change {
    gap: .32rem;
    white-space: nowrap;
}
.eligibility-score-change i {
    display: inline-grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: rgba(255,255,255,.15);
    color: currentColor;
    font-style: normal;
    font-size: .95rem;
    font-weight: 1000;
    line-height: 1;
}
.eligibility-score-change.is-up i {
    background: rgba(34,197,94,.24);
    box-shadow: 0 0 12px rgba(34,197,94,.18);
}
.eligibility-score-change.is-down i {
    background: rgba(239,68,68,.24);
    box-shadow: 0 0 12px rgba(239,68,68,.18);
}
.eligibility-score-change span {
    letter-spacing: .01em;
}
.eligibility-dashboard > .eligibility-score-history-card,
.profile-eligibility-subview > .eligibility-score-history-card {
    width: 100%;
    max-width: none;
    margin: 1rem 0 0;
}
.profile-eligibility-panel .eligibility-score-history-card {
    display: none;
}
.eligibility-speedometer-card:not(:has(.eligibility-score-history-card)),
.profile-workspace .eligibility-speedometer-card-improved:not(:has(.eligibility-score-history-card)),
.profile-workspace .eligibility-speedometer-card-detailed:not(:has(.eligibility-score-history-card)) {
    gap: .45rem;
}
.eligibility-speedometer-card .eligibility-gauge-score-label {
    font-size: 7.5px;
    stroke-width: 1.85px;
}
.profile-workspace .eligibility-speedometer-detailed .eligibility-gauge-score-label {
    font-size: 8.6px;
    stroke-width: 1.95px;
}
.eligibility-speedometer-card .eligibility-gauge-scale-line.is-minor {
    stroke: rgba(44, 255, 93, .82);
    stroke-width: 1.35;
}
.eligibility-speedometer-card .eligibility-gauge-scale-line.is-major {
    stroke-width: 2.8;
}
@media (max-width: 560px) {
    .eligibility-grade-threshold-strip span {
        min-width: 68px;
        font-size: .68rem;
    }
    .eligibility-score-change {
        font-size: .85rem;
    }
}

/* Patch 192: eligibility meter cleanup, table breakdowns, influence donuts, and admin threshold polish. */
.eligibility-breakdown-panel .eligibility-breakdown-list {
    display: grid;
    gap: 0;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, .22);
    background: rgba(255,255,255,.30);
}
.eligibility-breakdown-panel .eligibility-breakdown-card {
    grid-template-columns: 2.15rem minmax(0, 1fr) minmax(74px, auto) !important;
    gap: .55rem !important;
    align-items: center;
    padding: .56rem .72rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(148, 163, 184, .16) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.26) !important;
    box-shadow: none !important;
}
.eligibility-breakdown-panel .eligibility-breakdown-card:last-child {
    border-bottom: 0 !important;
}
.eligibility-breakdown-panel .eligibility-breakdown-icon {
    width: 2.05rem !important;
    height: 2.05rem !important;
    border-radius: .7rem !important;
    font-size: 1rem !important;
}
.eligibility-breakdown-panel .eligibility-breakdown-main {
    display: grid;
    grid-template-columns: minmax(142px, .75fr) minmax(190px, 1fr);
    gap: .28rem .7rem;
    align-items: center;
}
.eligibility-breakdown-panel .eligibility-breakdown-head {
    justify-content: flex-start;
    gap: .45rem;
    min-width: 0;
}
.eligibility-breakdown-panel .eligibility-breakdown-head strong {
    font-size: .92rem;
    line-height: 1.1;
}
.eligibility-breakdown-panel .eligibility-grade-pill {
    padding: .16rem .45rem;
    font-size: .66rem;
}
.eligibility-breakdown-panel .eligibility-breakdown-main p {
    font-size: .78rem !important;
    line-height: 1.28;
}
.eligibility-breakdown-panel .eligibility-progress-bar {
    grid-column: 1 / -1;
    height: 7px !important;
}
.eligibility-breakdown-panel .eligibility-points {
    min-width: 70px !important;
}
.eligibility-breakdown-panel .eligibility-points strong {
    font-size: 1.05rem !important;
}
.eligibility-breakdown-panel .eligibility-points span {
    font-size: .72rem;
}
.eligibility-action-list li.eligibility-action-step {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
}
.eligibility-action-list li.eligibility-action-step > div {
    display: grid;
    gap: .24rem;
    min-width: 0;
}
.eligibility-action-impact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.8rem;
    padding: .38rem .62rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 1000;
    letter-spacing: .02em;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 10px 18px rgba(0,0,0,.12);
}
.eligibility-action-impact.is-impact-high {
    color: #dcfce7;
    background: linear-gradient(135deg, rgba(34,197,94,.95), rgba(21,128,61,.92));
    border-color: rgba(134,239,172,.45);
}
.eligibility-action-impact.is-impact-medium {
    color: #451a03;
    background: linear-gradient(135deg, rgba(250,204,21,.96), rgba(251,146,60,.94));
    border-color: rgba(253,186,116,.55);
}
.eligibility-action-impact.is-impact-low {
    color: #fee2e2;
    background: linear-gradient(135deg, rgba(239,68,68,.94), rgba(185,28,28,.92));
    border-color: rgba(252,165,165,.48);
}
.eligibility-action-impact.is-impact-flat {
    color: var(--muted, #64748b);
    background: rgba(148, 163, 184, .16);
    border-color: rgba(148, 163, 184, .28);
}
.eligibility-score-influence-card {
    width: 100%;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 24px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: rgba(255,255,255,.42);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 18px 36px rgba(15,23,42,.08);
}
.eligibility-donut-layout {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}
.eligibility-donut {
    position: relative;
    width: clamp(132px, 16vw, 176px);
    aspect-ratio: 1;
    border-radius: 999px;
    background: var(--eligibility-donut-gradient, conic-gradient(#94a3b8 0deg 360deg));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 14px 30px rgba(15,23,42,.18);
}
.eligibility-donut::after {
    content: '';
    position: absolute;
    inset: 27%;
    border-radius: inherit;
    background: color-mix(in srgb, var(--panel-bg, #fff) 88%, rgba(255,255,255,.72));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 0 18px rgba(15,23,42,.12);
}
.eligibility-donut span {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    font-size: .74rem;
    font-weight: 1000;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--ink, #0f172a);
}
.eligibility-donut-legend {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .45rem .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.eligibility-donut-legend li {
    display: grid;
    grid-template-columns: .8rem minmax(0, 1fr) auto;
    gap: .35rem .5rem;
    align-items: center;
    padding: .42rem .55rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, .18);
    background: rgba(255,255,255,.38);
}
.eligibility-donut-legend i {
    width: .72rem;
    height: .72rem;
    border-radius: 999px;
    background: var(--dot-color, #94a3b8);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--dot-color, #94a3b8) 18%, transparent);
}
.eligibility-donut-legend span,
.eligibility-donut-legend strong {
    font-size: .82rem;
    font-weight: 950;
    line-height: 1.15;
}
.eligibility-donut-legend em {
    grid-column: 2 / -1;
    color: var(--muted, #64748b);
    font-size: .72rem;
    font-style: normal;
    line-height: 1.2;
}
.admin-eligibility-workspace .eligibility-settings-grid-expanded,
.eligibility-admin-form .eligibility-settings-grid-expanded {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr)) !important;
    gap: 1rem !important;
}
.eligibility-admin-form .eligibility-threshold-card {
    padding: 1rem 1.1rem !important;
}
.eligibility-admin-form .eligibility-threshold-slider-grid {
    grid-template-columns: repeat(4, minmax(118px, 1fr));
    gap: .58rem;
}
.eligibility-admin-form .eligibility-negative-controls,
.eligibility-admin-form .eligibility-overall-grade-grid {
    grid-template-columns: repeat(4, minmax(140px, 1fr));
}
.eligibility-position-field select {
    width: 100%;
    min-height: 2.45rem;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, .35);
    background: rgba(255,255,255,.86);
    color: var(--text, #0f172a);
    font-weight: 900;
    padding: .4rem .58rem;
}
.admin-score-influence-card {
    margin-top: 1rem;
}
@media (max-width: 1180px) {
    .eligibility-admin-form .eligibility-threshold-slider-grid,
    .eligibility-admin-form .eligibility-negative-controls,
    .eligibility-admin-form .eligibility-overall-grade-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .eligibility-breakdown-panel .eligibility-breakdown-card,
    .eligibility-action-list li.eligibility-action-step,
    .eligibility-donut-layout {
        grid-template-columns: 1fr !important;
    }
    .eligibility-breakdown-panel .eligibility-breakdown-main,
    .eligibility-admin-form .eligibility-threshold-slider-grid,
    .eligibility-admin-form .eligibility-negative-controls,
    .eligibility-admin-form .eligibility-overall-grade-grid {
        grid-template-columns: 1fr;
    }
    .eligibility-action-impact {
        justify-self: start;
    }
    .eligibility-donut {
        justify-self: center;
    }
}
