@import '_content/PSC.Blazor.Components.MarkdownEditor/PSC.Blazor.Components.MarkdownEditor.mlg14ggzcc.bundle.scp.css';

/* /Components/Layout/ZoneRenderer.razor.rz.scp.css */
/* Widget zone grid (ZoneRenderer grid mode). Component-scoped via CSS isolation — the isolation
   bundle (SharpMUSH.Client.styles.css) is linked from wwwroot/index.html. The 12-column grid gives
   row + column gaps; align-items:stretch makes same-row cells equal height, and home widgets fill
   their cell (height:100% in their own markup) so card borders line up. */
.zone-grid[b-vrrpuhu38q] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.zone-grid-cell[b-vrrpuhu38q] {
    min-width: 0;
}

@media (max-width: 760px) {
    .zone-grid[b-vrrpuhu38q] {
        grid-template-columns: 1fr;
    }

    .zone-grid-cell[b-vrrpuhu38q] {
        grid-column: 1 / -1 !important;
    }
}
/* /Components/ObjectBrowser.razor.rz.scp.css */
.ob-modes[b-3gnim3jhv4] { display: flex; gap: 0.25rem; padding: 0.5rem 0.5rem 0.375rem; }
.ob-mode[b-3gnim3jhv4] {
    flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 0.3125rem; padding: 0.375rem 0.25rem;
    border-radius: var(--radius); cursor: pointer; border: 1px solid var(--border); background: transparent;
    color: var(--text-dim); font-family: var(--font-ui); font-size: 0.71875rem; font-weight: 500; transition: all 0.12s;
}
.ob-mode:hover:not(:disabled)[b-3gnim3jhv4] { color: var(--text); border-color: rgba(var(--glow), 0.3); }
.ob-mode--on[b-3gnim3jhv4] { background: rgba(var(--glow), 0.12); border-color: rgba(var(--glow), 0.4); color: var(--accent); font-weight: 600; }
.ob-mode:disabled[b-3gnim3jhv4] { opacity: 0.5; cursor: default; }

.ob-searchwrap[b-3gnim3jhv4] { display: flex; flex-direction: column; gap: 0.3125rem; padding: 0 0.5rem 0.375rem; }
.ob-search[b-3gnim3jhv4] { display: flex; align-items: center; gap: 0.5rem; padding: 0 0.625rem; background: var(--surface-3);
    border: 1px solid var(--border); border-radius: var(--radius); }
.ob-search:focus-within[b-3gnim3jhv4] { border-color: var(--accent); }
.ob-search-input[b-3gnim3jhv4] { flex: 1; min-width: 0; padding: 0.5rem 0; background: transparent; border: none; outline: none;
    color: var(--text); font-family: var(--font-mono); font-size: 0.75rem; }
.ob-search-input[b-3gnim3jhv4]::placeholder { color: var(--text-faint); }
.ob-go[b-3gnim3jhv4] { flex-shrink: 0; padding: 0.1875rem 0.625rem; border-radius: 6px; border: 1px solid rgba(var(--glow), 0.3);
    background: rgba(var(--glow), 0.10); color: var(--accent); cursor: pointer; font-family: var(--font-ui);
    font-size: 0.71875rem; font-weight: 600; }
.ob-go:hover:not(:disabled)[b-3gnim3jhv4] { background: rgba(var(--glow), 0.18); }
.ob-hint[b-3gnim3jhv4] { font-family: var(--font-mono); font-size: 0.625rem; color: var(--text-faint); line-height: 1.4; }
.ob-hint code[b-3gnim3jhv4] { background: var(--surface-2); border-radius: 3px; padding: 0 0.1875rem; }

.ob-error[b-3gnim3jhv4] { margin: 0 0.5rem 0.375rem; padding: 0.375rem 0.625rem; border-radius: var(--radius); font-size: 0.71875rem;
    color: #e0b050; background: rgba(217, 162, 58, 0.12); border: 1px solid rgba(217, 162, 58, 0.3); }
.ob-empty[b-3gnim3jhv4] { padding: 0.875rem; text-align: center; font-family: var(--font-mono); font-size: 0.71875rem; color: var(--text-faint); }

.ob-group-label[b-3gnim3jhv4] { font-family: var(--font-mono); font-size: 0.625rem; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--text-faint); padding: 0.5rem 0.5rem 0.25rem; }
.ob-item[b-3gnim3jhv4] { width: 100%; text-align: left; display: flex; align-items: center; gap: 0.5625rem; padding: 0.4375rem 0.5625rem;
    border-radius: var(--radius); cursor: pointer; border: none; background: transparent; margin-bottom: 0.125rem; transition: background 0.12s; }
.ob-item:hover[b-3gnim3jhv4] { background: var(--surface-2); }
.ob-item--on[b-3gnim3jhv4] { background: rgba(var(--glow), 0.10); box-shadow: inset 2px 0 0 var(--accent); }
.ob-item-name[b-3gnim3jhv4] { flex: 1; min-width: 0; font-family: var(--font-ui); font-size: 0.8125rem; color: var(--text-dim);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-item--on .ob-item-name[b-3gnim3jhv4] { color: var(--text); font-weight: 600; }
.ob-item-ref[b-3gnim3jhv4] { font-family: var(--font-mono); font-size: 0.65625rem; color: var(--text-faint); flex-shrink: 0; }
/* /Components/ScenePoseLine.razor.rz.scp.css */
/* Mobile: keep wide pose text (and long unbroken tokens / pasted URLs) inside
   the column instead of forcing the whole scene log to scroll sideways. */
@media (max-width: 760px) {
    .scene-line[b-549sq4rghj] {
        min-width: 0;
    }
    .scene-line .scene-pose-body[b-549sq4rghj] {
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}
/* /Components/ServerStartupGate.razor.rz.scp.css */
.startup-gate-shell[b-a1ebccom55] {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    background: linear-gradient(135deg, #101113 0%, #16181b 100%);
    overflow: hidden;
}

.startup-gate-glow[b-a1ebccom55] {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 40%, rgba(var(--glow), 0.08) 0%, transparent 60%);
    pointer-events: none;
}

.startup-gate-body[b-a1ebccom55] {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: 100vh;
    min-height: 100svh;
    padding: var(--cpad);
    text-align: center;
}

.startup-gate-brand[b-a1ebccom55] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 0.5rem;
}

.startup-gate-logo[b-a1ebccom55] {
    height: 48px;
    opacity: 0.95;
}

.startup-gate-title[b-a1ebccom55] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.15;
}

.startup-gate-spinner[b-a1ebccom55] {
    margin-top: 0.5rem;
}

.startup-gate-message[b-a1ebccom55] {
    color: var(--text);
    font-weight: 600;
}

.startup-gate-submessage[b-a1ebccom55] {
    color: var(--text-faint);
}
/* /Components/Widgets/CharacterDirectoryWidget.razor.rz.scp.css */
[b-5qz6nm2reg] .char-card:hover {
    border-color: var(--accent) !important;
    background: var(--surface-2) !important;
}
/* /Components/Widgets/RecentWikiActivityWidget.razor.rz.scp.css */
@media (max-width: 760px) {
    [b-1bk9b08hnu] .recent-wiki-widget { padding: 0.875rem !important; }
}
/* /Components/Widgets/WelcomeTextWidget.razor.rz.scp.css */
.welcome-text-widget[b-0uvy5ff49q] {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: break-word;
}

.welcome-text-widget img[b-0uvy5ff49q] {
    max-width: 100%;
    height: auto;
}
/* /Components/Widgets/WikiBodyWidget.razor.rz.scp.css */
@media (max-width: 760px) {
    [b-jxrbrkwa6p] .wiki-body-widget { padding: 0.875rem !important; }
}
/* /Components/Widgets/WikiIndexWidget.razor.rz.scp.css */
.wiki-index[b-wehxkgnm7d] {
    padding: var(--cpad);
}

/* ── Hero ── */
.wiki-hero[b-wehxkgnm7d] {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin-bottom: 1.5rem;
    border: 1px solid var(--border-soft);
    background: var(--surface);
}
.wiki-hero-glow[b-wehxkgnm7d] {
    position: absolute;
    inset: 0;
    opacity: 0.6;
    background: radial-gradient(70% 130% at 80% 0%, rgba(var(--glow), 0.12), transparent 60%);
}
.wiki-hero-body[b-wehxkgnm7d] {
    position: relative;
    padding: 2.125rem 2rem;
}
.wiki-hero-kicker[b-wehxkgnm7d] {
    font-family: var(--font-mono);
    font-size: 0.71875rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.75rem;
}
.wiki-hero-title[b-wehxkgnm7d] {
    margin: 0 0 0.625rem;
    font-family: var(--font-display);
    font-size: 1.875rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}
.wiki-hero-blurb[b-wehxkgnm7d] {
    margin: 0 0 1.125rem;
    max-width: 560px;
    font-family: var(--font-ui);
    font-size: 0.90625rem;
    color: var(--text-dim);
    line-height: 1.6;
}
.wiki-hero-search[b-wehxkgnm7d] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0 0.875rem;
    max-width: 420px;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    transition: border-color 0.14s;
}
.wiki-hero-search:focus-within[b-wehxkgnm7d] {
    border-color: var(--accent);
}
.wiki-hero-search input[b-wehxkgnm7d] {
    flex: 1;
    min-width: 0;
    padding: 0.6875rem 0;
    background: transparent;
    border: none;
    outline: none;
    color: var(--text);
    font-family: var(--font-ui);
    font-size: 0.84375rem;
}
.wiki-hero-search input[b-wehxkgnm7d]::placeholder {
    color: var(--text-faint);
}

/* ── Category grid ── */
.wiki-cat-grid[b-wehxkgnm7d] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1.375rem;
}

.wiki-cat-head[b-wehxkgnm7d] {
    display: flex;
    align-items: center;
    gap: 0.5625rem;
    margin-bottom: 0.75rem;
}
.wiki-cat-title[b-wehxkgnm7d] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--text);
    flex: 1;
}
.wiki-cat-count[b-wehxkgnm7d] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--text-faint);
}
.wiki-cat-list[b-wehxkgnm7d] {
    display: flex;
    flex-direction: column;
    gap: 0.5625rem;
}

/* ── Page card ── */
.wiki-page-card[b-wehxkgnm7d] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9375rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s ease, transform 0.15s ease;
}
.wiki-page-card:hover[b-wehxkgnm7d] {
    border-color: rgba(var(--glow), 0.4);
    transform: translateY(-2px);
}
.wiki-page-main[b-wehxkgnm7d] {
    min-width: 0;
}
.wiki-page-titlerow[b-wehxkgnm7d] {
    display: flex;
    align-items: center;
    gap: 0.4375rem;
    margin-bottom: 0.1875rem;
    flex-wrap: wrap;
}
.wiki-page-title[b-wehxkgnm7d] {
    font-family: var(--font-display);
    font-size: 0.90625rem;
    font-weight: 600;
    color: var(--text);
}
.wiki-lock[b-wehxkgnm7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.1875rem;
    font-family: var(--font-mono);
    font-size: 0.59375rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-faint);
    padding: 0.0625rem 0.375rem 0.0625rem 0.25rem;
    border-radius: 99px;
    background: var(--surface-2);
    border: 1px solid var(--border);
}
.wiki-draft[b-wehxkgnm7d] {
    font-family: var(--font-mono);
    font-size: 0.59375rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #d9a23a;
    padding: 0.0625rem 0.375rem;
    border-radius: 99px;
    background: rgba(217, 162, 58, 0.12);
    border: 1px solid rgba(217, 162, 58, 0.3);
}
.wiki-page-meta[b-wehxkgnm7d] {
    font-family: var(--font-mono);
    font-size: 0.65625rem;
    color: var(--text-faint);
}
.wiki-page-card[b-wehxkgnm7d]  .wiki-page-arrow {
    font-size: 0.9375rem !important;
    color: var(--text-faint) !important;
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.wiki-skeleton[b-wehxkgnm7d] {
    height: 180px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-soft);
    background: linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);
    background-size: 200% 100%;
    animation: wiki-shimmer-b-wehxkgnm7d 1.3s ease-in-out infinite;
}
@keyframes wiki-shimmer-b-wehxkgnm7d { to { background-position: -200% 0; } }

.wiki-empty[b-wehxkgnm7d] {
    font-family: var(--font-ui);
    font-size: 0.875rem;
    color: var(--text-faint);
    padding: 1.875rem;
    text-align: center;
    background: var(--surface);
    border: 1px dashed var(--border);
    border-radius: var(--radius-lg);
}

/* Phones: tighten the hero + page gutter and force the category grid to a
   single full-width column (the scoped rule uses a 340px min track that would
   otherwise overflow narrow screens). Selectors are qualified to match the
   scoped (.razor.css) specificity and win on source order. */
@media (max-width: 760px) {
    .wiki-index.wiki-index[b-wehxkgnm7d] { padding: 1rem 0.75rem; }
    .wiki-index .wiki-hero-body[b-wehxkgnm7d] { padding: 1.375rem 1.125rem; }
    .wiki-index .wiki-hero-title[b-wehxkgnm7d] { font-size: 1.4375rem; }
    .wiki-index .wiki-hero-search[b-wehxkgnm7d] { max-width: none; }
    .wiki-index .wiki-cat-grid[b-wehxkgnm7d] { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
}
/* /Components/WikiDisplay.razor.rz.scp.css */
.wiki-article[b-0w0y8cshyp] {
    padding: var(--cpad);
}

.wiki-article-grid[b-0w0y8cshyp] {
    padding: var(--cpad);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 2.25rem;
}
@media (max-width: 860px) {
    .wiki-article-grid[b-0w0y8cshyp] { grid-template-columns: 1fr; gap: 1.25rem; }
    .wiki-toc[b-0w0y8cshyp] { display: none; }
}

/* Phones: tighten gutters, shrink the display title, and keep wide prose
   elements (code blocks, tables) scrolling inside the column instead of
   widening the page. */
@media (max-width: 760px) {
    .wiki-article-grid[b-0w0y8cshyp],
    .wiki-article[b-0w0y8cshyp] { padding: 1rem 0.75rem; }
    .wiki-article-title[b-0w0y8cshyp] { font-size: 1.625rem; }
    .wiki-article-body pre[b-0w0y8cshyp] { overflow-x: auto; }
    .wiki-article-body table[b-0w0y8cshyp] { display: block; overflow-x: auto; max-width: 100%; }
}

.wiki-article-main[b-0w0y8cshyp] { min-width: 0; }

.wiki-back[b-0w0y8cshyp] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
    text-decoration: none;
    margin-bottom: 1.125rem;
}
.wiki-back:hover[b-0w0y8cshyp] { color: var(--accent); }

.wiki-article-kicker[b-0w0y8cshyp] {
    font-family: var(--font-mono);
    font-size: 0.71875rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.625rem;
}
.wiki-article-title[b-0w0y8cshyp] {
    margin: 0 0 0.875rem;
    font-family: var(--font-display);
    font-size: 2.125rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
    line-height: 1.15;
}

.wiki-article-meta[b-0w0y8cshyp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-bottom: 1.375rem;
    margin-bottom: 1.375rem;
    border-bottom: 1px solid var(--border-soft);
}
.wiki-article-edit[b-0w0y8cshyp] {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--accent);
}
.wiki-btn[b-0w0y8cshyp] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.3125rem 0.6875rem;
    border-radius: var(--radius);
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-dim);
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.12s;
}
.wiki-btn:hover[b-0w0y8cshyp] {
    background: var(--surface-2);
    color: var(--text);
    border-color: var(--border);
}
.wiki-btn--solid[b-0w0y8cshyp] {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text);
}

.wiki-toc-sticky[b-0w0y8cshyp] { position: sticky; top: 0; }
.wiki-toc-label[b-0w0y8cshyp] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-faint);
    margin-bottom: 0.5rem;
}
.wiki-toc-list[b-0w0y8cshyp] {
    display: flex;
    flex-direction: column;
    border-left: 1px solid var(--border-soft);
}
.wiki-toc-list a[b-0w0y8cshyp] {
    padding: 0.3125rem 0 0.3125rem 0.875rem;
    margin-left: -0.0625rem;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
    text-decoration: none;
    border-left: 2px solid transparent;
    transition: color 0.12s, border-color 0.12s;
}
.wiki-toc-list a:hover[b-0w0y8cshyp] {
    color: var(--accent);
    border-left-color: var(--accent);
}

/* Mermaid diagrams (rendered client-side by js/wiki-render.js). Before mermaid
   processes the block it is a pre.mermaid of raw source; after, it holds an SVG.
   Center it and let the SVG scale down on narrow viewports. */
.WikiContent[b-0w0y8cshyp]  .mermaid {
    display: flex;
    justify-content: center;
    margin: 1.25rem 0;
    background: transparent;
    border: 0;
    padding: 0;
    overflow-x: auto;
}
.WikiContent[b-0w0y8cshyp]  .mermaid svg {
    max-width: 100%;
    height: auto;
}
/* /Components/WikiEdit.razor.rz.scp.css */
.wiki-edit[b-gltvwr7e7y] {
    padding: var(--cpad);
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.wiki-edit-header[b-gltvwr7e7y] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-bottom: 0.875rem;
}
.wiki-edit-cancel[b-gltvwr7e7y] {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-dim);
    font-family: var(--font-ui);
    font-size: 0.8125rem;
}
.wiki-edit-cancel:hover[b-gltvwr7e7y] { color: var(--text); }
.wiki-edit-mode[b-gltvwr7e7y] {
    display: inline-flex;
    align-items: center;
    gap: 0.4375rem;
    font-family: var(--font-mono);
    font-size: 0.71875rem;
    color: var(--text-faint);
}

.wiki-edit-titlerow[b-gltvwr7e7y] { display: flex; gap: 0.75rem; margin-bottom: 0.75rem; }
.wiki-edit-title[b-gltvwr7e7y] {
    flex: 1;
    min-width: 0;
    padding: 0.75rem 1rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.375rem;
    font-weight: 600;
    outline: none;
}
.wiki-edit-title:focus[b-gltvwr7e7y] { border-color: var(--accent); }
.wiki-edit-cat[b-gltvwr7e7y] {
    display: flex;
    align-items: center;
    gap: 0.5625rem;
    padding: 0 0.875rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}
.wiki-edit-cat:focus-within[b-gltvwr7e7y] { border-color: var(--accent); }
.wiki-edit-cat input[b-gltvwr7e7y] {
    background: transparent; border: none; outline: none; color: var(--text);
    font-family: var(--font-ui); font-size: 0.8125rem; width: 130px;
}
.wiki-edit-cat input[b-gltvwr7e7y]::placeholder { color: var(--text-faint); }

.wiki-edit-toolbar[b-gltvwr7e7y] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.4375rem 0.625rem;
    background: var(--surface-3);
    border: 1px solid var(--border-soft);
    border-bottom: none;
    border-radius: var(--radius) var(--radius) 0 0;
}
.wiki-edit-toolbar > button[b-gltvwr7e7y] {
    width: 32px; height: 32px; display: grid; place-items: center;
    border: none; background: transparent; color: var(--text-dim); cursor: pointer;
    border-radius: var(--radius); font-family: var(--font-mono); font-size: 0.8125rem;
}
.wiki-edit-toolbar > button:hover[b-gltvwr7e7y] { background: var(--surface-2); color: var(--text); }
.wiki-edit-tooldiv[b-gltvwr7e7y] { width: 1px; height: 20px; background: var(--border); margin: 0 0.375rem; }
.wiki-edit-md[b-gltvwr7e7y] { font-family: var(--font-mono); font-size: 0.6875rem; color: var(--text-faint); }

.wiki-edit-assets[b-gltvwr7e7y] {
    padding: 0.75rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-bottom: none;
}

.wiki-edit-split[b-gltvwr7e7y] {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid var(--border-soft);
    border-radius: 0 0 var(--radius) var(--radius);
    overflow: hidden;
}
.wiki-edit-textarea[b-gltvwr7e7y] {
    resize: none;
    border: none;
    outline: none;
    padding: 1.25rem 1.375rem;
    background: var(--surface-3);
    color: var(--text);
    font-family: var(--font-mono);
    font-size: 0.84375rem;
    line-height: 1.7;
    caret-color: var(--accent);
    border-right: 1px solid var(--border-soft);
}
.wiki-edit-preview[b-gltvwr7e7y] {
    overflow-y: auto;
    padding: 1.25rem 1.5rem;
    background: var(--surface);
}

.wiki-edit-tags[b-gltvwr7e7y] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4375rem;
    margin-top: 0.75rem;
}
.wiki-edit-taglabel[b-gltvwr7e7y] {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-faint);
}
.wiki-edit-tag[b-gltvwr7e7y] {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    font-family: var(--font-mono);
    font-size: 0.71875rem;
    padding: 0.1875rem 0.3125rem 0.1875rem 0.5625rem;
    border-radius: 99px;
    background: var(--surface-2);
    color: var(--text-dim);
    border: 1px solid var(--border);
}
.wiki-edit-tag button[b-gltvwr7e7y] {
    border: none; background: transparent; color: inherit; cursor: pointer;
    font-size: 0.875rem; line-height: 1; padding: 0 0.125rem; opacity: 0.7;
}
.wiki-edit-tag button:hover[b-gltvwr7e7y] { opacity: 1; }
.wiki-edit-taginput[b-gltvwr7e7y] {
    background: transparent; border: none; outline: none; color: var(--text);
    font-family: var(--font-ui); font-size: 0.78125rem; width: 100px;
}
.wiki-edit-taginput[b-gltvwr7e7y]::placeholder { color: var(--text-faint); }
.wiki-edit-pub[b-gltvwr7e7y] {
    display: inline-flex; align-items: center; gap: 0.375rem;
    font-family: var(--font-ui); font-size: 0.78125rem; color: var(--text-dim); cursor: pointer;
}

.wiki-edit-savebar[b-gltvwr7e7y] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-top: 0.75rem;
    padding: 0.75rem 1rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
}
.wiki-edit-summary[b-gltvwr7e7y] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0 0.75rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}
.wiki-edit-summary:focus-within[b-gltvwr7e7y] { border-color: var(--accent); }
.wiki-edit-summary input[b-gltvwr7e7y] {
    flex: 1; min-width: 0; padding: 0.5625rem 0; background: transparent; border: none; outline: none;
    color: var(--text); font-family: var(--font-ui); font-size: 0.8125rem;
}
.wiki-edit-summary input[b-gltvwr7e7y]::placeholder { color: var(--text-faint); }
.wiki-edit-minor[b-gltvwr7e7y] {
    display: flex; align-items: center; gap: 0.5rem; background: none; border: none; cursor: pointer;
    font-family: var(--font-ui); font-size: 0.78125rem; color: var(--text-dim); white-space: nowrap;
}
.wiki-edit-check[b-gltvwr7e7y] {
    width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid var(--border);
    display: grid; place-items: center;
}
.wiki-edit-check.on[b-gltvwr7e7y] { border-color: var(--accent); background: var(--accent); }
.wiki-edit-delta[b-gltvwr7e7y] { font-family: var(--font-mono); font-size: 0.6875rem; white-space: nowrap; }
.wiki-edit-savediv[b-gltvwr7e7y] { width: 1px; height: 24px; background: var(--border); }
.wiki-edit-publish[b-gltvwr7e7y] {
    display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.4375rem 0.875rem; border-radius: var(--radius);
    border: none; cursor: pointer; background: var(--accent); color: var(--accent-on);
    font-family: var(--font-ui); font-size: 0.78125rem; font-weight: 600;
    box-shadow: 0 0 18px rgba(var(--glow), 0.25);
}
.wiki-edit-publish:hover:not(:disabled)[b-gltvwr7e7y] { filter: brightness(1.08); }
.wiki-edit-publish:disabled[b-gltvwr7e7y] { opacity: 0.6; cursor: default; }

.wiki-edit-foot[b-gltvwr7e7y] {
    display: flex;
    justify-content: space-between;
    margin-top: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--text-faint);
}
.wiki-edit-foot a[b-gltvwr7e7y] { color: var(--accent); text-decoration: none; }
.wiki-edit-foot a:hover[b-gltvwr7e7y] { text-decoration: underline; }

@media (max-width: 760px) {
    .wiki-edit-split[b-gltvwr7e7y] { grid-template-columns: 1fr; }
    .wiki-edit-preview[b-gltvwr7e7y] { display: none; }
}
/* /Layout/AccountPanel.razor.rz.scp.css */
.account-panel[b-8s8zude64t] {
    width: 236px;
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow), 0 0 0 1px rgba(var(--glow), 0.06);
    overflow: hidden;
    outline: none;
    font-family: var(--font-ui);
    animation: account-panel-grow-b-8s8zude64t 0.16s cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: bottom left;
}

@keyframes account-panel-grow-b-8s8zude64t {
    from {
        opacity: 0;
        transform: scale(0.92) translateY(6px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Two levels side by side, twice the panel's width; sliding the track by -50% reveals the
   submenu. Both levels stay mounted at all times so the slide is a transform, not a re-render. */
.account-panel-track[b-8s8zude64t] {
    display: flex;
    width: 200%;
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    transform: translateX(0%);
}

.account-panel-track--submenu[b-8s8zude64t] {
    transform: translateX(-50%);
}

.account-panel-level[b-8s8zude64t] {
    width: 50%;
    flex-shrink: 0;
    padding: 0.375rem;
    box-sizing: border-box;
}

.account-panel-item[b-8s8zude64t] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    padding: 0.5625rem 0.625rem;
    background: none;
    border: none;
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
}

.account-panel-item:hover[b-8s8zude64t] {
    background: var(--surface-3);
}

.account-panel-item--inert[b-8s8zude64t] {
    color: var(--text-faint);
    cursor: default;
}

.account-panel-item--inert:hover[b-8s8zude64t] {
    background: none;
}

.account-panel-item--danger:hover[b-8s8zude64t] {
    background: rgba(229, 72, 77, 0.12);
    color: #e5484d;
}

.account-panel-item-icon[b-8s8zude64t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    flex-shrink: 0;
    font-size: 0.9375rem;
    color: var(--text-dim);
}

.account-panel-item-label[b-8s8zude64t] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-panel-divider[b-8s8zude64t] {
    height: 1px;
    margin: 0.375rem 0.625rem;
    background: var(--border-soft);
}

.account-panel-back[b-8s8zude64t] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    width: 100%;
    padding: 0.5625rem 0.625rem;
    margin-bottom: 0.25rem;
    background: none;
    border: none;
    border-radius: var(--radius);
    color: var(--text-dim);
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    box-sizing: border-box;
}

.account-panel-back:hover[b-8s8zude64t] {
    background: var(--surface-3);
    color: var(--text);
}

.account-panel-characters[b-8s8zude64t] {
    max-height: 260px;
    overflow-y: auto;
}

.account-panel-character[b-8s8zude64t] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.625rem;
    border-radius: var(--radius);
    cursor: pointer;
}

.account-panel-character:hover[b-8s8zude64t] {
    background: var(--surface-3);
}

.account-panel-character--active[b-8s8zude64t] {
    background: rgba(var(--glow), 0.08);
}

.account-panel-character-check[b-8s8zude64t] {
    width: 14px;
    flex-shrink: 0;
    color: var(--accent);
    font-size: 0.75rem;
    text-shadow: 0 0 6px rgba(var(--glow), 0.6);
}

.account-panel-character-name[b-8s8zude64t] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text);
}

.account-panel-character-dbref[b-8s8zude64t] {
    font-family: var(--font-mono);
    font-size: 0.65625rem;
    color: var(--text-faint);
}

.account-panel-newtab[b-8s8zude64t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    background: none;
    border: none;
    border-radius: 6px;
    color: var(--text-faint);
    cursor: pointer;
}

.account-panel-newtab:hover[b-8s8zude64t] {
    background: var(--surface);
    color: var(--accent);
}

@media (prefers-reduced-motion: reduce) {
    .account-panel[b-8s8zude64t] {
        animation: none;
    }

    .account-panel-track[b-8s8zude64t] {
        transition: none;
    }
}
/* /Layout/ConfigLayout.razor.rz.scp.css */
.config-shell[b-h5u91opygn] {
    padding: var(--cpad);
    display: grid;
    grid-template-columns: 230px 1fr;
    gap: 1.375rem;
    align-items: start;
}

@media (max-width: 900px) {
    .config-shell[b-h5u91opygn] {
        grid-template-columns: 1fr;
        gap: 0.875rem;
    }
}
/* /Layout/OnboardingLayout.razor.rz.scp.css */
.onboarding-shell[b-q9okc7gouz] {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    background: linear-gradient(135deg, #101113 0%, #16181b 100%);
    overflow: hidden;
}

.onboarding-glow[b-q9okc7gouz] {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 40%, rgba(var(--glow), 0.08) 0%, transparent 60%);
    pointer-events: none;
}

.onboarding-body[b-q9okc7gouz] {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    min-height: 100svh;
}
/* /Pages/Account.razor.rz.scp.css */
.acct-header[b-jejntl3qrg] {
    margin-bottom: 1.75rem;
}

.acct-kicker[b-jejntl3qrg] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.5rem;
}

.acct-title[b-jejntl3qrg] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.15;
}

.acct-card[b-jejntl3qrg] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 1.375rem 1.5rem;
    margin-bottom: 1.25rem;
}

.acct-card-title[b-jejntl3qrg] {
    font-family: var(--font-display);
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 1rem;
}

.acct-subtitle[b-jejntl3qrg] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-dim);
    margin-bottom: 0.625rem;
}

.acct-label[b-jejntl3qrg] {
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-faint);
    margin-right: 0.5rem;
}

.acct-divider[b-jejntl3qrg] {
    height: 1px;
    background: var(--border-soft);
    margin: 1.125rem 0;
}

/* ── Buttons ── */
.acct-btn[b-jejntl3qrg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.4375rem 1rem;
    border-radius: var(--radius);
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
    line-height: 1.2;
}

.acct-btn:disabled[b-jejntl3qrg] {
    opacity: 0.5;
    cursor: not-allowed;
}

.acct-btn-primary[b-jejntl3qrg] {
    background: var(--accent);
    color: var(--accent-on);
}

.acct-btn-primary:hover:not(:disabled)[b-jejntl3qrg] {
    box-shadow: 0 0 12px rgba(var(--glow), 0.4);
}

.acct-btn-outline[b-jejntl3qrg] {
    background: transparent;
    color: var(--text-dim);
    border-color: var(--border);
}

.acct-btn-outline:hover:not(:disabled)[b-jejntl3qrg] {
    color: var(--accent);
    border-color: var(--accent);
}

.acct-btn-ghost[b-jejntl3qrg] {
    background: transparent;
    color: var(--text-faint);
}

.acct-btn-ghost:hover:not(:disabled)[b-jejntl3qrg] {
    color: var(--text-dim);
}

.acct-btn-danger[b-jejntl3qrg] {
    background: transparent;
    color: #f56b6b;
    border-color: rgba(245, 107, 107, 0.4);
}

.acct-btn-danger:hover:not(:disabled)[b-jejntl3qrg] {
    background: rgba(245, 107, 107, 0.08);
    border-color: #f56b6b;
}

/* ── Flags ── */
.acct-flag[b-jejntl3qrg] {
    display: inline-block;
    margin: 0.0625rem;
    padding: 0.125rem 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    border-radius: var(--radius);
    background: var(--surface-3);
    border: 1px solid var(--border);
    color: var(--accent);
}

/* ── Token-styled inputs (MudBlazor outlined) ── */
.acct-card[b-jejntl3qrg]  .acct-input .mud-input-outlined .mud-input-outlined-border {
    border-color: var(--border) !important;
}

.acct-card[b-jejntl3qrg]  .acct-input .mud-input-root {
    background: var(--surface-3);
    border-radius: var(--radius);
    color: var(--text);
}

.acct-card[b-jejntl3qrg]  .acct-input input {
    color: var(--text);
}

.acct-card[b-jejntl3qrg]  .acct-input .mud-input.mud-input-focused .mud-input-outlined-border {
    border-color: var(--accent) !important;
    border-width: 1px !important;
}

.acct-card[b-jejntl3qrg]  .acct-input label.mud-input-label {
    color: var(--text-faint);
}

.acct-card[b-jejntl3qrg]  .acct-input label.mud-input-label-inputcontrol.mud-input-focused {
    color: var(--accent);
}

/* ── Token-styled table ── */
.acct-card[b-jejntl3qrg]  .acct-table .mud-table-root {
    background: transparent;
}

.acct-card[b-jejntl3qrg]  .acct-table th {
    color: var(--text-faint) !important;
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom-color: var(--border) !important;
}

.acct-card[b-jejntl3qrg]  .acct-table td {
    color: var(--text);
    border-bottom-color: var(--border-soft) !important;
}

.acct-card[b-jejntl3qrg]  .acct-table tr:hover td {
    background: var(--surface-2) !important;
}

/* ── Table scroll wrapper ── */
.acct-table-scroll[b-jejntl3qrg] {
    overflow-x: auto;
}

@media (max-width: 760px) {
    .acct-page[b-jejntl3qrg] {
        padding: var(--cpad-mobile) !important;
    }
    .acct-card[b-jejntl3qrg] {
        padding: var(--cpad-mobile) !important;
    }
    .acct-title[b-jejntl3qrg] {
        font-size: 1.375rem;
    }
    .acct-row[b-jejntl3qrg] {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .acct-row .acct-btn[b-jejntl3qrg] {
        width: 100%;
    }
}
/* /Pages/Admin/AdminCharacters.razor.rz.scp.css */
.ph-header[b-e6h29ndd84] { margin-bottom: 1.5rem; }
.ph-kicker[b-e6h29ndd84] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.ph-title[b-e6h29ndd84] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--text);
    margin: 0;
}
.ph-empty[b-e6h29ndd84] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.875rem;
    padding: 3.5rem 1.5rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.ph-empty-icon[b-e6h29ndd84] {
    font-size: 2.5rem;
    color: var(--text-faint);
}
.ph-empty-text[b-e6h29ndd84] {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    color: var(--text-dim);
}
/* /Pages/Admin/AdminConfig.razor.rz.scp.css */
@media (max-width: 760px) {
    /* Stack the dictionary key/value editor rows so they don't overflow. */
    .adminconfig-page[b-2j465u5hqr]  .mud-stack-row {
        flex-wrap: wrap;
    }
    .adminconfig-page[b-2j465u5hqr]  .mud-input-control {
        max-width: 100% !important;
    }
}
/* /Pages/Admin/AdminMedia.razor.rz.scp.css */
/* .asset-card is applied via Class= on a child <MudPaper>, so it lands on the child's rendered DOM;
   ::deep reaches past component boundaries (no own-element ancestor carries a class here). */
[b-cx0h9dsjpo] .asset-card { transition: border-color 0.15s; }
[b-cx0h9dsjpo] .asset-card:hover { border-color: var(--accent) !important; }
/* /Pages/Admin/AdminProfiles.razor.rz.scp.css */
.ph-header[b-6jy70gatwu] { margin-bottom: 1.5rem; }
.ph-kicker[b-6jy70gatwu] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.ph-title[b-6jy70gatwu] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--text);
    margin: 0;
}
.ph-subtitle[b-6jy70gatwu] {
    font-size: 0.8125rem;
    color: var(--text-dim);
    margin: 0.625rem 0 0;
    max-width: 720px;
    line-height: 1.6;
}
.ph-subtitle code[b-6jy70gatwu], .ph-caption code[b-6jy70gatwu], .ph-attrs-row code[b-6jy70gatwu] {
    font-family: var(--font-mono);
    font-size: 0.92em;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: 5px;
    padding: 0.0625rem 0.3125rem;
    color: var(--text);
}

.ph-card[b-6jy70gatwu] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 1.125rem 1.25rem;
    margin-bottom: 1rem;
}

.ph-status-row[b-6jy70gatwu] {
    display: flex;
    gap: 0.75rem;
    align-items: baseline;
    padding: 0.25rem 0;
}
.ph-status-label[b-6jy70gatwu] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-dim);
    min-width: 90px;
}
.ph-status-value[b-6jy70gatwu] {
    font-size: 0.875rem;
    color: var(--text);
}

.ph-attrs[b-6jy70gatwu] { padding: 0; overflow: hidden; }
.ph-attrs-head[b-6jy70gatwu] {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 1.25rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-dim);
    border-bottom: 1px solid var(--border-soft);
    background: var(--surface-3);
}
.ph-attrs-row[b-6jy70gatwu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6875rem 1.25rem;
    border-bottom: 1px solid var(--border-soft);
}
.ph-attrs-row:last-child[b-6jy70gatwu] { border-bottom: none; }
.ph-attrs-row:hover[b-6jy70gatwu] { background: rgba(var(--glow), 0.04); }

.ph-chip[b-6jy70gatwu] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    padding: 0.125rem 0.625rem;
    border-radius: 99px;
    border: 1px solid transparent;
}
.ph-chip-ok[b-6jy70gatwu] {
    color: #6cde9a;
    background: rgba(108, 222, 154, 0.12);
    border-color: rgba(108, 222, 154, 0.35);
}
.ph-chip-warn[b-6jy70gatwu] {
    color: #d9a23a;
    background: rgba(217, 162, 58, 0.12);
    border-color: rgba(217, 162, 58, 0.35);
}

.ph-caption[b-6jy70gatwu] {
    font-size: 0.75rem;
    color: var(--text-dim);
    margin: 0.625rem 0 0;
    line-height: 1.6;
}
/* /Pages/Admin/AdminServer.razor.rz.scp.css */
.adminsrv-page[b-w8n8o1n98z] {
    padding: var(--cpad);
}

.adminsrv-header[b-w8n8o1n98z] {
    margin-bottom: 1.5rem;
}
.adminsrv-kicker[b-w8n8o1n98z] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.625rem;
}
.adminsrv-title[b-w8n8o1n98z] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

.adminsrv-card[b-w8n8o1n98z] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.125rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.adminsrv-card-icon[b-w8n8o1n98z] {
    font-size: 1.5rem !important;
    color: var(--accent);
    flex-shrink: 0;
}
.adminsrv-card-body[b-w8n8o1n98z] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.adminsrv-card-label[b-w8n8o1n98z] {
    font-family: var(--font-ui);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text);
}
.adminsrv-card-desc[b-w8n8o1n98z] {
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    color: var(--text-dim);
}
/* /Pages/Admin/AdminWiki.razor.rz.scp.css */
.adminwiki-head[b-x4k2ttqll3] {
    margin-bottom: 1.25rem;
}
.adminwiki-kicker[b-x4k2ttqll3] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.adminwiki-title[b-x4k2ttqll3] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}
.adminwiki-intro[b-x4k2ttqll3] {
    margin: 0.5rem 0 0;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
}
.adminwiki-stats[b-x4k2ttqll3] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.875rem;
    margin-bottom: 1.125rem;
}
.adminwiki-stat[b-x4k2ttqll3] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    padding: 0.875rem 1rem;
}
.adminwiki-stat-top[b-x4k2ttqll3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}
.adminwiki-stat-label[b-x4k2ttqll3] {
    font-family: var(--font-mono);
    font-size: 0.65625rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-faint);
}
.adminwiki-stat-value[b-x4k2ttqll3] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.02em;
    line-height: 1;
}
.adminwiki-grid-scroll[b-x4k2ttqll3] {
    overflow-x: auto;
    min-width: 0;
}
/* /Pages/Admin/AdminWikiAssets.razor.rz.scp.css */
.assets-head[b-nyhsv81t5t] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.assets-kicker[b-nyhsv81t5t] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.assets-title[b-nyhsv81t5t] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

/* Upload card */
.assets-upload[b-nyhsv81t5t] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    flex-wrap: wrap;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    padding: 1rem 1.125rem;
    margin-bottom: 1.125rem;
}
.assets-upload-status[b-nyhsv81t5t] {
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
}
.assets-upload-hint[b-nyhsv81t5t] {
    font-family: var(--font-ui);
    font-size: 0.75rem;
    color: var(--text-faint);
}

.assets-empty[b-nyhsv81t5t] {
    padding: 1.75rem;
    text-align: center;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
}

/* Asset grid */
.assets-grid[b-nyhsv81t5t] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.875rem;
}
.assets-card[b-nyhsv81t5t] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.assets-thumb[b-nyhsv81t5t] {
    position: relative;
    aspect-ratio: 16 / 10;
    background: var(--surface-3);
    display: grid;
    place-items: center;
    overflow: hidden;
}
.assets-thumb img[b-nyhsv81t5t] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.assets-thumb-type[b-nyhsv81t5t] {
    position: absolute;
    bottom: 8px;
    right: 8px;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-dim);
    padding: 0.125rem 0.4375rem;
    border-radius: 99px;
    background: rgba(0, 0, 0, 0.55);
}
.assets-card-body[b-nyhsv81t5t] {
    padding: 0.625rem 0.75rem;
}
.assets-card-name[b-nyhsv81t5t] {
    font-family: var(--font-mono);
    font-size: 0.78125rem;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.assets-card-meta[b-nyhsv81t5t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.375rem;
    font-family: var(--font-mono);
    font-size: 0.65625rem;
    color: var(--text-faint);
}
.assets-card-uploader[b-nyhsv81t5t] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.assets-card-actions[b-nyhsv81t5t] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.625rem;
}
.assets-btn[b-nyhsv81t5t] {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    flex: 1;
    justify-content: center;
    padding: 0.375rem 0.625rem;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: var(--surface-3);
    color: var(--text-dim);
    font-family: var(--font-ui);
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
}
.assets-btn:hover[b-nyhsv81t5t] { color: var(--accent); border-color: var(--accent); }
.assets-icon-btn[b-nyhsv81t5t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: var(--surface-3);
    color: var(--text-dim);
    cursor: pointer;
    flex-shrink: 0;
}
.assets-icon-btn--danger:hover[b-nyhsv81t5t] {
    color: #e57373;
    border-color: rgba(229, 115, 115, 0.5);
    background: rgba(229, 115, 115, 0.1);
}
/* /Pages/Admin/Applications/AdminApplications.razor.rz.scp.css */
.appadmin[b-f73xx1q49g] { padding: var(--cpad); }

.appadmin-head[b-f73xx1q49g] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}
.appadmin-kicker[b-f73xx1q49g] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.appadmin-title[b-f73xx1q49g] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}
.appadmin-actions[b-f73xx1q49g] { display: flex; gap: 0.625rem; }

.aa-btn[b-f73xx1q49g] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4375rem 0.8125rem;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: var(--surface-2);
    color: var(--text);
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.12s;
}
.aa-btn:hover[b-f73xx1q49g] { border-color: rgba(var(--glow), 0.4); }
.aa-btn--primary[b-f73xx1q49g] {
    background: var(--accent);
    color: var(--accent-on);
    border-color: transparent;
    font-weight: 600;
    box-shadow: 0 0 18px rgba(var(--glow), 0.25);
}
.aa-btn--primary:hover[b-f73xx1q49g] { filter: brightness(1.08); }

.appadmin-stats[b-f73xx1q49g] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.125rem;
}
.aa-stat[b-f73xx1q49g] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.125rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-soft);
    background: var(--surface);
    box-shadow: var(--shadow);
}
.aa-stat-val[b-f73xx1q49g] { font-size: 1.375rem; font-weight: 700; line-height: 1.1; }
.aa-stat-label[b-f73xx1q49g] {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: 0.125rem;
}
.aa-stat-sub[b-f73xx1q49g] { font-family: var(--font-ui); font-size: 0.6875rem; color: var(--text-faint); }

.appadmin-grid[b-f73xx1q49g] {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 1rem;
}
@media (max-width: 820px) {
    .appadmin-grid[b-f73xx1q49g] { grid-template-columns: 1fr; }
}

/* List */
.appadmin-list[b-f73xx1q49g] { display: flex; flex-direction: column; gap: 0.5rem; }
.aa-search[b-f73xx1q49g] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 0.75rem;
    margin-bottom: 0.25rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}
.aa-search:focus-within[b-f73xx1q49g] { border-color: var(--accent); }
.aa-search input[b-f73xx1q49g] {
    flex: 1; min-width: 0; padding: 0.5625rem 0; background: transparent; border: none; outline: none;
    color: var(--text); font-family: var(--font-ui); font-size: 0.78125rem;
}
.aa-search input[b-f73xx1q49g]::placeholder { color: var(--text-faint); }
.aa-empty-list[b-f73xx1q49g] { padding: 1rem; color: var(--text-faint); font-size: 0.8125rem; text-align: center; }

.aa-card[b-f73xx1q49g] {
    text-align: left;
    padding: 0.875rem;
    cursor: pointer;
    background: var(--surface);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-soft);
    transition: border-color 0.12s, box-shadow 0.12s;
}
.aa-card:hover[b-f73xx1q49g] { border-color: rgba(var(--glow), 0.3); }
.aa-card--on[b-f73xx1q49g] {
    border-color: rgba(var(--glow), 0.45);
    box-shadow: 0 0 0 1px rgba(var(--glow), 0.25);
}
.aa-card-top[b-f73xx1q49g] { display: flex; align-items: center; gap: 0.6875rem; }
.aa-card-icon[b-f73xx1q49g] {
    width: 34px; height: 34px; flex-shrink: 0; border-radius: var(--radius);
    display: grid; place-items: center;
    background: rgba(var(--glow), 0.10); border: 1px solid rgba(var(--glow), 0.22); color: var(--accent);
}
.aa-card-name[b-f73xx1q49g] {
    font-family: var(--font-display); font-size: 0.875rem; font-weight: 600; color: var(--text);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.aa-card-sub[b-f73xx1q49g] { font-family: var(--font-mono); font-size: 0.65625rem; color: var(--text-faint); }
.aa-kind[b-f73xx1q49g] {
    font-family: var(--font-mono); font-size: 0.5625rem; letter-spacing: 0.04em; text-transform: uppercase;
    padding: 0.125rem 0.4375rem; border-radius: 99px; flex-shrink: 0;
}
.aa-role[b-f73xx1q49g] {
    font-family: var(--font-mono); font-size: 0.625rem; letter-spacing: 0.04em; text-transform: uppercase;
    padding: 0.125rem 0.4375rem; border-radius: 99px; color: var(--text-dim);
    background: var(--surface-2); border: 1px solid var(--border);
}

/* Detail */
.appadmin-detail[b-f73xx1q49g] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
    align-self: start;
}
.aa-empty-detail[b-f73xx1q49g] {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem;
    padding: 3.75rem 1.25rem; color: var(--text-faint); font-family: var(--font-ui); font-size: 0.875rem;
}
.aa-detail-head[b-f73xx1q49g] {
    display: flex; align-items: flex-start; gap: 0.875rem; padding: 1.25rem 1.375rem;
    border-bottom: 1px solid var(--border-soft);
}
.aa-detail-icon[b-f73xx1q49g] {
    width: 46px; height: 46px; flex-shrink: 0; border-radius: var(--radius);
    display: grid; place-items: center;
    background: rgba(var(--glow), 0.10); border: 1px solid rgba(var(--glow), 0.22); color: var(--accent);
}
.aa-detail-name[b-f73xx1q49g] {
    margin: 0; font-family: var(--font-display); font-size: 1.1875rem; font-weight: 600; color: var(--text);
}
.aa-detail-slug[b-f73xx1q49g] { font-family: var(--font-mono); font-size: 0.71875rem; color: var(--accent); margin-top: 0.1875rem; }
.aa-detail-headbtns[b-f73xx1q49g] { display: flex; gap: 0.25rem; flex-shrink: 0; }
.aa-icon-btn[b-f73xx1q49g] {
    width: 32px; height: 32px; display: grid; place-items: center; border-radius: var(--radius);
    border: 1px solid var(--border); background: transparent; color: var(--text-dim); cursor: pointer;
}
.aa-icon-btn:hover[b-f73xx1q49g] { color: var(--text); border-color: rgba(var(--glow), 0.4); }
.aa-icon-btn--danger:hover[b-f73xx1q49g] { color: #e57373; border-color: rgba(229, 115, 115, 0.5); }

.aa-meta-grid[b-f73xx1q49g] {
    display: grid; grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid var(--border-soft);
}
@media (max-width: 620px) {
    .aa-meta-grid[b-f73xx1q49g] { grid-template-columns: 1fr 1fr; }
}
.aa-meta[b-f73xx1q49g] { padding: 0.875rem 1.125rem; border-left: 1px solid var(--border-soft); min-width: 0; }
.aa-meta:nth-child(3n+1)[b-f73xx1q49g] { border-left: none; }
.aa-meta-label[b-f73xx1q49g] {
    font-family: var(--font-mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--text-faint); margin-bottom: 0.375rem;
}
.aa-meta-val[b-f73xx1q49g] {
    font-family: var(--font-mono); font-size: 0.8125rem; color: var(--text);
    word-break: break-all;
}

.aa-section[b-f73xx1q49g] { padding: 1.125rem 1.375rem; border-bottom: 1px solid var(--border-soft); }
.aa-section:last-child[b-f73xx1q49g] { border-bottom: none; }
.aa-section-label[b-f73xx1q49g] {
    font-family: var(--font-mono); font-size: 0.625rem; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--text-faint); margin-bottom: 0.625rem;
}
.aa-chips[b-f73xx1q49g] { display: flex; gap: 0.375rem; flex-wrap: wrap; }
.aa-zone[b-f73xx1q49g] {
    font-family: var(--font-mono); font-size: 0.6875rem; padding: 0.1875rem 0.5625rem; border-radius: 99px;
    color: #5aa9ff; background: rgba(90, 169, 255, 0.12); border: 1px solid rgba(90, 169, 255, 0.3);
}
.aa-actions[b-f73xx1q49g] { display: flex; gap: 0.5rem; flex-wrap: wrap; }
/* /Pages/Admin/BannedNames.razor.rz.scp.css */
.config-section-header[b-ig66yxfqqd] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.config-kicker[b-ig66yxfqqd] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}

.config-title[b-ig66yxfqqd] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

.config-desc[b-ig66yxfqqd] {
    margin: 0.375rem 0 0;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
}

.config-group-title[b-ig66yxfqqd] {
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
    margin: 0 0 0.5rem 0.125rem;
}

.config-field-card[b-ig66yxfqqd] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.config-pad[b-ig66yxfqqd] {
    padding: 1.125rem 1.375rem;
}

.config-add-grid[b-ig66yxfqqd] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.config-add-grid .config-input[b-ig66yxfqqd] {
    flex: 1;
}

.config-input[b-ig66yxfqqd] {
    width: 100%;
    padding: 0.5625rem 0.75rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    outline: none;
    transition: border-color 0.12s;
}

.config-input:focus[b-ig66yxfqqd] {
    border-color: var(--accent);
}

.config-input[b-ig66yxfqqd]::placeholder {
    color: var(--text-faint);
}

.config-primary-btn[b-ig66yxfqqd] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    padding: 0.5625rem 1rem;
    border-radius: var(--radius);
    border: none;
    background: var(--accent);
    color: var(--accent-on);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 600;
    transition: opacity 0.12s;
}

.config-primary-btn:hover:not(:disabled)[b-ig66yxfqqd] {
    opacity: 0.9;
}

.config-primary-btn:disabled[b-ig66yxfqqd] {
    opacity: 0.4;
    cursor: not-allowed;
}

.config-list-row[b-ig66yxfqqd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1.375rem;
}

.config-list-row:not(:first-child)[b-ig66yxfqqd] {
    border-top: 1px solid var(--border-soft);
}

.config-list-name[b-ig66yxfqqd] {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    color: var(--text);
}

.config-empty[b-ig66yxfqqd] {
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    color: var(--text-faint);
}

.config-icon-btn[b-ig66yxfqqd] {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text-dim);
    cursor: pointer;
}

.config-icon-btn--danger:hover[b-ig66yxfqqd] {
    color: var(--mud-palette-error, #e57373);
    border-color: rgba(229, 115, 115, 0.5);
}
/* /Pages/Admin/Config/ConfigIndex.razor.rz.scp.css */
.config-home-header[b-aj7t5bjjg4] {
    margin-bottom: 1.5rem;
}

.config-kicker[b-aj7t5bjjg4] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}

.config-title[b-aj7t5bjjg4] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

.config-desc[b-aj7t5bjjg4] {
    margin: 0.375rem 0 0;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
}

.config-cat-grid[b-aj7t5bjjg4] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 0.875rem;
}

.config-cat-card[b-aj7t5bjjg4] {
    display: flex;
    gap: 0.875rem;
    padding: 1.125rem;
    cursor: pointer;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    transition: border-color 0.15s ease, transform 0.15s ease;
}

.config-cat-card:hover[b-aj7t5bjjg4] {
    border-color: rgba(var(--glow), 0.4);
    transform: translateY(-2px);
}

.config-cat-icon[b-aj7t5bjjg4] {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: var(--radius);
    background: rgba(var(--glow), 0.08);
    border: 1px solid rgba(var(--glow), 0.18);
}

.config-cat-title[b-aj7t5bjjg4] {
    font-family: var(--font-ui);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 0.25rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.config-cat-flag[b-aj7t5bjjg4] {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #e57373;
    background: rgba(229, 115, 115, 0.12);
    border: 1px solid rgba(229, 115, 115, 0.3);
    border-radius: 99px;
    padding: 0.0625rem 0.375rem;
}

.config-cat-desc[b-aj7t5bjjg4] {
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    color: var(--text-dim);
    line-height: 1.5;
    margin-bottom: 0.5rem;
}

.config-cat-count[b-aj7t5bjjg4] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--accent);
}
/* /Pages/Admin/Config/DynamicConfig.razor.rz.scp.css */
.config-section-page[b-gm991dvcil] {
    display: block;
}

.config-section-header[b-gm991dvcil] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.config-kicker[b-gm991dvcil] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}

.config-title[b-gm991dvcil] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

.config-desc[b-gm991dvcil] {
    margin: 0.375rem 0 0;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
}

.config-section-content[b-gm991dvcil] {
    padding: 0;
}

.config-section-page[b-gm991dvcil]  .save-bar {
    position: sticky;
    bottom: 0;
    margin-top: 1.25rem;
    padding: 0.875rem 1.125rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    z-index: 10;
}

/* The fixed bottom nav (58px) sits at bottom:0 on any touch device, so lift the sticky
   save bar above it; otherwise the Save/Cancel controls hide behind the nav. Condition
   must match the bottom-nav's touch-chrome query in custom.css. */
@media (max-width: 760px), (pointer: coarse) {
    .config-section-page[b-gm991dvcil]  .save-bar {
        bottom: 58px;
    }
}

.save-bar-content[b-gm991dvcil] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.save-bar-info[b-gm991dvcil] {
    display: flex;
    align-items: center;
}

.save-bar-actions[b-gm991dvcil] {
    display: flex;
    gap: 0.75rem;
}

/* ── Group title above each flat field card ── */
.config-group-title[b-gm991dvcil] {
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
    margin: 0 0 0.5rem 0.125rem;
}

/* ── Flat field card ── */
.config-field-card[b-gm991dvcil] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.config-field-row[b-gm991dvcil] {
    padding: 1.125rem 1.375rem;
}

.config-field-row:not(:first-child)[b-gm991dvcil] {
    border-top: 1px solid var(--border-soft);
}

.config-field-row--inline[b-gm991dvcil] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.config-field-label[b-gm991dvcil] {
    flex: 1;
    min-width: 0;
}

.config-field-name[b-gm991dvcil] {
    font-family: var(--font-ui);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 0.1875rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.config-field-help[b-gm991dvcil] {
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    color: var(--text-dim);
}

.config-field-key[b-gm991dvcil] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--text-faint);
    display: block;
    margin-top: 0.125rem;
}

.config-field-error[b-gm991dvcil] {
    font-family: var(--font-ui);
    font-size: 0.75rem;
    color: var(--mud-palette-error, #e57373);
    margin-top: 0.25rem;
}

.config-changed[b-gm991dvcil] {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--accent);
    background: rgba(var(--glow), 0.12);
    border: 1px solid rgba(var(--glow), 0.3);
    border-radius: 99px;
    padding: 0.0625rem 0.4375rem;
}

.config-field-control[b-gm991dvcil] {
    width: 230px;
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
}

.config-field-row--stacked .config-field-label[b-gm991dvcil] {
    margin-bottom: 0.75rem;
}

.config-field-control--full[b-gm991dvcil] {
    width: 100%;
    display: block;
}

/* ── Toggle pill ── */
.config-toggle[b-gm991dvcil] {
    width: 46px;
    height: 26px;
    border-radius: 99px;
    border: none;
    cursor: pointer;
    position: relative;
    background: var(--surface-2);
    transition: background 0.15s;
    margin-left: auto;
    display: block;
    padding: 0;
}

.config-toggle--on[b-gm991dvcil] {
    background: var(--accent);
}

.config-toggle-knob[b-gm991dvcil] {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 99px;
    background: #888;
    transition: left 0.15s, background 0.15s;
}

.config-toggle--on .config-toggle-knob[b-gm991dvcil] {
    left: 23px;
    background: var(--accent-on);
}

.config-toggle:disabled[b-gm991dvcil] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ── Select pills ── */
.config-pills[b-gm991dvcil] {
    display: flex;
    gap: 0.375rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.config-pill[b-gm991dvcil] {
    padding: 0.375rem 0.6875rem;
    border-radius: var(--radius);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.75rem;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text-dim);
    transition: all 0.12s;
}

.config-pill:hover[b-gm991dvcil] {
    border-color: rgba(var(--glow), 0.4);
    color: var(--text);
}

.config-pill--on[b-gm991dvcil] {
    border-color: rgba(var(--glow), 0.4);
    background: rgba(var(--glow), 0.12);
    color: var(--accent);
}

/* ── Text / numeric input ── */
.config-input[b-gm991dvcil] {
    width: 100%;
    padding: 0.5625rem 0.75rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    outline: none;
    transition: border-color 0.12s;
}

.config-input:focus[b-gm991dvcil] {
    border-color: var(--accent);
}

.config-input[b-gm991dvcil]::placeholder {
    color: var(--text-faint);
}

.config-input[readonly][b-gm991dvcil] {
    opacity: 0.6;
}

/* ── Chip row (string list + dictionary values) ── */
.config-chip-row[b-gm991dvcil] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    align-items: center;
    min-height: 30px;
    margin-bottom: 0.5rem;
}

.config-empty[b-gm991dvcil] {
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    color: var(--text-faint);
}

.config-chip[b-gm991dvcil] {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    font-family: var(--font-mono);
    font-size: 0.71875rem;
    padding: 0.1875rem 0.3125rem 0.1875rem 0.5625rem;
    border-radius: 99px;
    background: var(--surface-2);
    color: var(--text-dim);
    border: 1px solid var(--border);
}

.config-chip--changed[b-gm991dvcil] {
    border-color: rgba(var(--glow), 0.3);
    color: var(--accent);
    background: rgba(var(--glow), 0.10);
}

.config-chip-x[b-gm991dvcil] {
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 0.9375rem;
    line-height: 1;
    padding: 0 0.125rem;
    opacity: 0.7;
}

.config-chip-x:hover[b-gm991dvcil] {
    opacity: 1;
}

/* ── Dictionary editor ── */
.config-dict[b-gm991dvcil] {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.config-dict-entry[b-gm991dvcil] {
    background: var(--surface-3);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 0.75rem;
}

.config-dict-entry-head[b-gm991dvcil] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.625rem;
}

.config-icon-btn[b-gm991dvcil] {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text-dim);
    cursor: pointer;
}

.config-icon-btn--danger:hover[b-gm991dvcil] {
    color: var(--mud-palette-error, #e57373);
    border-color: rgba(229, 115, 115, 0.5);
}

.config-add-btn[b-gm991dvcil] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4375rem 0.75rem;
    border-radius: var(--radius);
    border: 1px dashed var(--border);
    background: transparent;
    color: var(--text-dim);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.78125rem;
}

.config-add-btn:hover[b-gm991dvcil] {
    border-color: rgba(var(--glow), 0.4);
    color: var(--accent);
}

@media (max-width: 600px) {
    .save-bar-content[b-gm991dvcil] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .save-bar-actions[b-gm991dvcil] {
        width: 100%;
        justify-content: stretch;
    }

    .save-bar-actions > *[b-gm991dvcil] {
        flex: 1;
    }
}

@media (max-width: 760px) {
    /* Inline field rows stack: label above a full-width control. */
    .config-field-row--inline[b-gm991dvcil] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
    .config-field-row--inline .config-field-control[b-gm991dvcil] {
        width: 100%;
        justify-content: flex-start;
    }
}
/* /Pages/Admin/Dashboard.razor.rz.scp.css */
.ph-header[b-duamzfcqvh] {
    margin-bottom: 1.5rem;
}
.ph-kicker[b-duamzfcqvh] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.ph-title[b-duamzfcqvh] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--text);
    margin: 0;
}

.ph-grid[b-duamzfcqvh] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.ph-card[b-duamzfcqvh] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.125rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    text-decoration: none;
    transition: border-color 0.15s ease, transform 0.15s ease;
}
.ph-card:hover[b-duamzfcqvh] {
    border-color: rgba(var(--glow), 0.4);
    transform: translateY(-1px);
}

.ph-card-icon[b-duamzfcqvh] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius);
    background: rgba(var(--glow), 0.12);
    color: var(--accent);
    flex-shrink: 0;
}

.ph-card-body[b-duamzfcqvh] {
    flex: 1;
    min-width: 0;
}
.ph-card-title[b-duamzfcqvh] {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 600;
    color: var(--text);
}
.ph-card-action[b-duamzfcqvh] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: 0.125rem;
}

.ph-card[b-duamzfcqvh]  .ph-card-chevron {
    color: var(--text-faint);
    flex-shrink: 0;
}
.ph-card:hover[b-duamzfcqvh]  .ph-card-chevron {
    color: var(--accent);
}
/* /Pages/Admin/ImportConfig.razor.rz.scp.css */
.config-section-header[b-i5yhohhni1] {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.config-kicker[b-i5yhohhni1] {
	font-family: var(--font-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 0.375rem;
}

.config-title[b-i5yhohhni1] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.625rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--text);
}

.config-desc[b-i5yhohhni1] {
	margin: 0.375rem 0 0;
	font-family: var(--font-ui);
	font-size: 0.8125rem;
	color: var(--text-dim);
}

.config-group-title[b-i5yhohhni1] {
	font-family: var(--font-ui);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--text);
	margin: 0 0 0.5rem 0.125rem;
}

.config-field-card[b-i5yhohhni1] {
	background: var(--surface);
	border: 1px solid var(--border-soft);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	overflow: hidden;
}

.config-pad[b-i5yhohhni1] {
	padding: 1.125rem 1.375rem;
}

.config-dropzone[b-i5yhohhni1] {
	border: 2px dashed var(--border);
	box-shadow: none;
	padding: 1.125rem 1.375rem;
	text-align: center;
}

.config-dropzone-inner[b-i5yhohhni1] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	min-height: 130px;
	color: var(--text-dim);
}

.config-dropzone-title[b-i5yhohhni1] {
	font-family: var(--font-ui);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--text);
}

.config-dropzone-sub[b-i5yhohhni1] {
	font-family: var(--font-ui);
	font-size: 0.78125rem;
	color: var(--text-faint);
}

.config-file-row[b-i5yhohhni1] {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--text-dim);
}

.config-list-name[b-i5yhohhni1] {
	font-family: var(--font-mono);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--text);
}

.config-file-size[b-i5yhohhni1] {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	color: var(--text-faint);
}

.config-input[b-i5yhohhni1] {
	width: 100%;
	padding: 0.5625rem 0.75rem;
	background: var(--surface-3);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--text);
	font-family: var(--font-mono);
	font-size: 0.8125rem;
	outline: none;
	transition: border-color 0.12s;
}

.config-input:focus[b-i5yhohhni1] {
	border-color: var(--accent);
}

.config-preview-text[b-i5yhohhni1] {
	resize: vertical;
	line-height: 1.5;
}

.config-actions[b-i5yhohhni1] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.config-primary-btn[b-i5yhohhni1] {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	flex-shrink: 0;
	padding: 0.5625rem 1rem;
	border-radius: var(--radius);
	border: none;
	background: var(--accent);
	color: var(--accent-on);
	cursor: pointer;
	font-family: var(--font-ui);
	font-size: 0.8125rem;
	font-weight: 600;
	transition: opacity 0.12s;
}

.config-primary-btn:hover:not(:disabled)[b-i5yhohhni1] {
	opacity: 0.9;
}

.config-primary-btn:disabled[b-i5yhohhni1] {
	opacity: 0.4;
	cursor: not-allowed;
}

.config-ghost-btn[b-i5yhohhni1] {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.5625rem 1rem;
	border-radius: var(--radius);
	border: 1px solid var(--border);
	background: var(--surface-2);
	color: var(--text-dim);
	cursor: pointer;
	font-family: var(--font-ui);
	font-size: 0.8125rem;
	font-weight: 600;
	transition: color 0.12s, border-color 0.12s;
}

.config-ghost-btn:hover[b-i5yhohhni1] {
	color: var(--text);
	border-color: rgba(var(--glow), 0.4);
}

.config-field-card[b-i5yhohhni1]  .config-preview .mud-expand-panel {
	background: var(--surface-2);
	border: 1px solid var(--border-soft);
	border-radius: var(--radius);
}
/* /Pages/Admin/ImportDatabase.razor.rz.scp.css */
.dbimport-page[b-lwsiqz7j6m] {
	padding: var(--cpad);
}

.dbimport-header[b-lwsiqz7j6m] {
	margin-bottom: 1.5rem;
}
.dbimport-kicker[b-lwsiqz7j6m] {
	font-family: var(--font-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 0.625rem;
}
.dbimport-title[b-lwsiqz7j6m] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.625rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--text);
}
.dbimport-subtitle[b-lwsiqz7j6m] {
	margin: 0.5rem 0 0;
	font-family: var(--font-ui);
	font-size: 0.84375rem;
	color: var(--text-dim);
	max-width: 70ch;
}

.dbimport-card[b-lwsiqz7j6m] {
	background: var(--surface);
	border: 1px solid var(--border-soft);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 1.25rem;
	margin-bottom: 1rem;
}

.dbimport-dropzone[b-lwsiqz7j6m] {
	border: 1.5px dashed var(--border);
}
.dbimport-dropzone-inner[b-lwsiqz7j6m] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 140px;
	margin-top: 0.5rem;
}
.dbimport-dropzone-inner[b-lwsiqz7j6m]  .dbimport-dropzone-icon {
	font-size: 2.75rem !important;
	color: var(--accent);
}
.dbimport-dropzone-title[b-lwsiqz7j6m] {
	font-family: var(--font-display);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--text);
}
.dbimport-dropzone-hint[b-lwsiqz7j6m] {
	font-family: var(--font-ui);
	font-size: 0.78125rem;
	color: var(--text-dim);
}

.dbimport-section-label[b-lwsiqz7j6m] {
	font-family: var(--font-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text-dim);
	margin-bottom: 0.875rem;
}

.dbimport-file-row[b-lwsiqz7j6m] {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}
.dbimport-file-row[b-lwsiqz7j6m]  .dbimport-file-icon {
	font-size: 1.25rem !important;
	color: var(--accent);
}
.dbimport-file-name[b-lwsiqz7j6m] {
	font-family: var(--font-ui);
	font-size: 0.875rem;
	color: var(--text);
}
.dbimport-file-size[b-lwsiqz7j6m] {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	color: var(--text-faint);
}

.dbimport-actions[b-lwsiqz7j6m] {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 1.125rem;
}
.dbimport-actions-start[b-lwsiqz7j6m] {
	justify-content: flex-start;
}

.dbimport-progress-caption[b-lwsiqz7j6m] {
	text-align: center;
	font-family: var(--font-mono);
	font-size: 0.8125rem;
	color: var(--text-dim);
	margin-bottom: 1.125rem;
}

.dbimport-grid[b-lwsiqz7j6m] {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 0.875rem;
}
.dbimport-tile[b-lwsiqz7j6m] {
	background: var(--surface-3);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1rem;
}
.dbimport-tile-wide[b-lwsiqz7j6m] {
	grid-column: 1 / -1;
}
.dbimport-tile-label[b-lwsiqz7j6m] {
	font-family: var(--font-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text-dim);
	margin-bottom: 0.75rem;
}
.dbimport-tile-label-error[b-lwsiqz7j6m] {
	color: #ff6b6b;
}
.dbimport-tile-label-warning[b-lwsiqz7j6m] {
	color: #ffb454;
}

.dbimport-stat-list[b-lwsiqz7j6m] {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.dbimport-stat[b-lwsiqz7j6m] {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem;
	font-family: var(--font-ui);
	font-size: 0.84375rem;
	color: var(--text-dim);
}
.dbimport-stat strong[b-lwsiqz7j6m] {
	font-family: var(--font-mono);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--text);
}

[b-lwsiqz7j6m] .dbimport-btn {
	text-transform: none;
	font-family: var(--font-ui);
	font-weight: 600;
	border-radius: var(--radius);
}
[b-lwsiqz7j6m] .dbimport-btn-primary {
	background: var(--accent);
	color: var(--accent-on);
}
[b-lwsiqz7j6m] .dbimport-btn-primary:hover {
	background: var(--accent-dim);
}
[b-lwsiqz7j6m] .dbimport-btn-ghost {
	color: var(--text-dim);
	border: 1px solid var(--border);
	background: var(--surface-2);
}
[b-lwsiqz7j6m] .dbimport-btn-ghost:hover {
	color: var(--text);
	border-color: var(--accent);
}
[b-lwsiqz7j6m] .dbimport-btn-danger {
	color: #ff6b6b;
	border: 1px solid rgba(255, 107, 107, 0.4);
	background: transparent;
}
[b-lwsiqz7j6m] .dbimport-btn-danger:hover {
	background: rgba(255, 107, 107, 0.1);
}
/* /Pages/Admin/Layout/AdminLayouts.razor.rz.scp.css */
.laybrowse[b-2y1ervvg35] { padding: var(--cpad); }
.laybrowse-head[b-2y1ervvg35] { margin-bottom: 1.25rem; }
.laybrowse-kicker[b-2y1ervvg35] {
    font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--accent); margin-bottom: 0.375rem;
}
.laybrowse-title[b-2y1ervvg35] { margin: 0; font-family: var(--font-display); font-size: 1.625rem; font-weight: 600; color: var(--text); }
.laybrowse-blurb[b-2y1ervvg35] { margin: 0.5rem 0 0; font-family: var(--font-ui); font-size: 0.84375rem; color: var(--text-dim); max-width: 620px; }

.laybrowse-grid[b-2y1ervvg35] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.lay-card[b-2y1ervvg35] {
    text-align: left; padding: 1.125rem; cursor: pointer; background: var(--surface);
    border-radius: var(--radius-lg); border: 1px solid var(--border-soft); transition: border-color 0.12s, transform 0.12s;
    display: flex; flex-direction: column; gap: 0.75rem;
}
.lay-card:hover[b-2y1ervvg35] { border-color: rgba(var(--glow), 0.4); transform: translateY(-2px); }
.lay-card-top[b-2y1ervvg35] { display: flex; align-items: center; gap: 0.6875rem; }
.lay-card-icon[b-2y1ervvg35] {
    width: 36px; height: 36px; flex-shrink: 0; border-radius: var(--radius); display: grid; place-items: center;
    background: rgba(var(--glow), 0.10); border: 1px solid rgba(var(--glow), 0.22); color: var(--accent);
}
.lay-card-name[b-2y1ervvg35] { font-family: var(--font-display); font-size: 0.9375rem; font-weight: 600; color: var(--text); }
.lay-card-sub[b-2y1ervvg35] { font-family: var(--font-mono); font-size: 0.65625rem; color: var(--text-faint); }
.lay-card-desc[b-2y1ervvg35] { font-family: var(--font-ui); font-size: 0.78125rem; color: var(--text-dim); line-height: 1.5; }
.lay-card-zones[b-2y1ervvg35] { display: flex; gap: 0.375rem; flex-wrap: wrap; }
.lay-zone[b-2y1ervvg35] {
    font-family: var(--font-mono); font-size: 0.625rem; padding: 0.125rem 0.5rem; border-radius: 99px;
    color: var(--text-dim); background: var(--surface-2); border: 1px solid var(--border);
}
.lay-badge[b-2y1ervvg35] {
    font-family: var(--font-mono); font-size: 0.5625rem; letter-spacing: 0.04em; text-transform: uppercase;
    padding: 0.125rem 0.4375rem; border-radius: 99px; flex-shrink: 0; color: var(--text-faint);
    background: var(--surface-2); border: 1px solid var(--border);
}
.lay-badge--on[b-2y1ervvg35] { color: var(--accent); background: rgba(var(--glow), 0.12); border-color: rgba(var(--glow), 0.3); }

@media (max-width: 760px) {
    /* minmax(300px,1fr) can overflow very narrow phones — force one column. */
    .laybrowse-grid[b-2y1ervvg35] { grid-template-columns: 1fr !important; }
}
/* /Pages/Admin/Layout/LayoutEditor.razor.rz.scp.css */
.layedit[b-ktj1bvgm5n] { padding: var(--cpad); }
.layedit-head[b-ktj1bvgm5n] { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.125rem; }
.layedit-back[b-ktj1bvgm5n] {
    display: inline-flex; align-items: center; gap: 0.3125rem; font-family: var(--font-mono); font-size: 0.6875rem;
    color: var(--text-faint); text-decoration: none; margin-bottom: 0.375rem;
}
.layedit-back:hover[b-ktj1bvgm5n] { color: var(--accent); }
.layedit-title[b-ktj1bvgm5n] { margin: 0; font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; color: var(--text); }
.layedit-blurb[b-ktj1bvgm5n] { margin: 0.375rem 0 0; font-family: var(--font-ui); font-size: 0.8125rem; color: var(--text-dim); }
.layedit-actions[b-ktj1bvgm5n] { display: flex; gap: 0.625rem; }

.le-btn[b-ktj1bvgm5n] {
    display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.4375rem 0.8125rem; border-radius: var(--radius);
    border: 1px solid var(--border); background: var(--surface-2); color: var(--text);
    font-family: var(--font-ui); font-size: 0.78125rem; font-weight: 500; cursor: pointer; transition: all 0.12s;
}
.le-btn:hover:not(:disabled)[b-ktj1bvgm5n] { border-color: rgba(var(--glow), 0.4); }
.le-btn:disabled[b-ktj1bvgm5n] { opacity: 0.5; cursor: default; }
.le-btn--primary[b-ktj1bvgm5n] { background: var(--accent); color: var(--accent-on); border-color: transparent; font-weight: 600; }
.le-btn--primary:hover:not(:disabled)[b-ktj1bvgm5n] { filter: brightness(1.08); }

.layedit[b-ktj1bvgm5n]  .le-board { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 1rem; }
@media (max-width: 820px) { .layedit[b-ktj1bvgm5n]  .le-board { grid-template-columns: 1fr; } }

.le-palette[b-ktj1bvgm5n] {
    background: var(--surface); border: 1px solid var(--border-soft); border-radius: var(--radius-lg);
    padding: 1rem; align-self: start;
}
.le-panel-label[b-ktj1bvgm5n] {
    font-family: var(--font-mono); font-size: 0.625rem; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--text-faint); margin-bottom: 0.625rem;
}
.layedit[b-ktj1bvgm5n]  .le-palette-zone { display: flex; flex-direction: column; gap: 0.4375rem; min-height: 40px; }
.le-hint[b-ktj1bvgm5n] { font-family: var(--font-ui); font-size: 0.6875rem; color: var(--text-faint); margin-top: 0.625rem; line-height: 1.5; }
.le-settings[b-ktj1bvgm5n] { display: flex; flex-direction: column; gap: 0.5rem; }
.le-toggle[b-ktj1bvgm5n] { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-ui); font-size: 0.78125rem; color: var(--text-dim); cursor: pointer; }

.le-zones[b-ktj1bvgm5n] { display: flex; flex-direction: column; gap: 0.875rem; }
.le-zone[b-ktj1bvgm5n] { background: var(--surface); border: 1px solid var(--border-soft); border-radius: var(--radius-lg); overflow: hidden; }
.le-zone-head[b-ktj1bvgm5n] {
    display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 0.875rem; border-bottom: 1px solid var(--border-soft);
    font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-dim);
}
.layedit[b-ktj1bvgm5n]  .le-zone-drop { display: flex; flex-direction: column; gap: 0.4375rem; padding: 0.875rem; min-height: 64px; }
.layedit[b-ktj1bvgm5n]  .le-zone-drop--grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 0.625rem; }
.le-zone-hint[b-ktj1bvgm5n] {
    font-family: var(--font-mono); font-size: 0.5625rem; letter-spacing: 0.06em; text-transform: uppercase;
    color: var(--text-faint); margin-left: auto; padding: 0.0625rem 0.4375rem; border-radius: 99px;
    background: var(--surface-2); border: 1px solid var(--border);
}
/* Grid spans for items inside a grid drop zone (applied to .mud-drop-item via ItemsClassSelector). */
.layedit[b-ktj1bvgm5n]  .le-span-1 { grid-column: span 1; } .layedit[b-ktj1bvgm5n]  .le-span-2 { grid-column: span 2; } .layedit[b-ktj1bvgm5n]  .le-span-3 { grid-column: span 3; }
.layedit[b-ktj1bvgm5n]  .le-span-4 { grid-column: span 4; } .layedit[b-ktj1bvgm5n]  .le-span-5 { grid-column: span 5; } .layedit[b-ktj1bvgm5n]  .le-span-6 { grid-column: span 6; }
.layedit[b-ktj1bvgm5n]  .le-span-7 { grid-column: span 7; } .layedit[b-ktj1bvgm5n]  .le-span-8 { grid-column: span 8; } .layedit[b-ktj1bvgm5n]  .le-span-9 { grid-column: span 9; }
.layedit[b-ktj1bvgm5n]  .le-span-10 { grid-column: span 10; } .layedit[b-ktj1bvgm5n]  .le-span-11 { grid-column: span 11; } .layedit[b-ktj1bvgm5n]  .le-span-12 { grid-column: span 12; }
@media (max-width: 760px) {
    .layedit[b-ktj1bvgm5n]  .le-zone-drop--grid { grid-template-columns: 1fr; }
    .layedit[b-ktj1bvgm5n]  .le-zone-drop--grid > .mud-drop-item { grid-column: 1 / -1 !important; }
    .layedit-actions[b-ktj1bvgm5n] { flex-wrap: wrap; }
    .le-btn[b-ktj1bvgm5n] { flex: 1 1 auto; justify-content: center; }
}

.le-width[b-ktj1bvgm5n] { display: inline-flex; align-items: center; gap: 0.375rem; margin-right: 0.375rem; }
.le-span-slider[b-ktj1bvgm5n] { width: 84px; accent-color: var(--accent); cursor: pointer; }
.le-span-num[b-ktj1bvgm5n] {
    font-family: var(--font-mono); font-size: 0.6875rem; color: var(--text-dim);
    min-width: 16px; text-align: center;
}

.le-preview[b-ktj1bvgm5n] { margin-top: 1.125rem; border: 1px solid var(--border-soft); border-radius: var(--radius-lg); overflow: hidden; }
.le-preview-head[b-ktj1bvgm5n] {
    display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-bottom: 1px solid var(--border-soft);
    background: var(--surface); font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--text-dim);
}
.le-preview-note[b-ktj1bvgm5n] {
    margin-left: auto; text-transform: none; letter-spacing: 0;
    font-family: var(--font-ui); font-size: 0.6875rem; color: var(--text-faint);
}
.le-preview-surface[b-ktj1bvgm5n] { padding: 1rem; background: var(--bg); }
.le-preview-zone[b-ktj1bvgm5n] { margin-bottom: 0.875rem; }
.le-preview-zone:last-child[b-ktj1bvgm5n] { margin-bottom: 0; }
.le-preview-zlabel[b-ktj1bvgm5n] {
    font-family: var(--font-mono); font-size: 0.5625rem; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--text-faint); margin-bottom: 0.375rem;
}
.le-btn--on[b-ktj1bvgm5n] { border-color: rgba(var(--glow), 0.5); color: var(--accent); }

.le-item[b-ktj1bvgm5n] {
    display: flex; align-items: center; gap: 0.5rem; padding: 0.5625rem 0.6875rem; border-radius: var(--radius);
    background: var(--surface-2); border: 1px solid var(--border); cursor: grab; user-select: none;
}
.le-item:hover[b-ktj1bvgm5n] { border-color: rgba(var(--glow), 0.4); }
.le-item--template[b-ktj1bvgm5n] { background: rgba(var(--glow), 0.06); border-style: dashed; }
.le-item-name[b-ktj1bvgm5n] { font-family: var(--font-ui); font-size: 0.78125rem; color: var(--text); font-weight: 500;
    flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.le-item-btn[b-ktj1bvgm5n] {
    width: 24px; height: 24px; display: grid; place-items: center; border-radius: 6px;
    border: 1px solid transparent; background: transparent; color: var(--text-faint); cursor: pointer;
}
.le-item-btn:hover[b-ktj1bvgm5n] { color: var(--text); border-color: var(--border); }
.le-item-btn--danger:hover[b-ktj1bvgm5n] { color: #e57373; border-color: rgba(229, 115, 115, 0.5); }

[b-ktj1bvgm5n] .mud-drop-zone-drag-block-target { outline: 2px dashed rgba(var(--glow), 0.5); outline-offset: -4px; }
/* /Pages/Admin/Moderation.razor.rz.scp.css */
.ph-header[b-zjwxr41fzh] { margin-bottom: 1.5rem; }
.ph-kicker[b-zjwxr41fzh] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.ph-title[b-zjwxr41fzh] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--text);
    margin: 0;
}
.ph-empty[b-zjwxr41fzh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.875rem;
    padding: 3.5rem 1.5rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.ph-empty-icon[b-zjwxr41fzh] {
    font-size: 2.5rem;
    color: var(--text-faint);
}
.ph-empty-text[b-zjwxr41fzh] {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    color: var(--text-dim);
}
/* /Pages/Admin/Packages/AdminPackageAuthor.razor.rz.scp.css */
.pkg-header[b-4ohpf802ed] { margin-bottom: 1.5rem; }
.pkg-kicker[b-4ohpf802ed] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.pkg-title[b-4ohpf802ed] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 0.375rem;
}
.pkg-desc[b-4ohpf802ed] {
    color: var(--text-dim);
    font-size: 0.875rem;
    margin: 0;
    max-width: 760px;
}
.pkg-card[b-4ohpf802ed] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}
.pkg-card-head[b-4ohpf802ed] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border-soft);
    font-family: var(--font-display);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text);
}
.pkg-step[b-4ohpf802ed] {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 99px;
    background: rgba(var(--glow), 0.12);
    border: 1px solid rgba(var(--glow), 0.25);
    color: var(--accent);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 600;
}
.pkg-card-body[b-4ohpf802ed] { padding: 1.125rem 1.25rem; }
.pkg-card-body[b-4ohpf802ed]  .pkg-btn-primary {
    background: var(--accent) !important;
    color: var(--accent-on) !important;
}

@media (max-width: 760px) {
    /* Let the external-ref / metadata rows stack instead of clipping inside cards.
       .flex-row and .mud-input-control are MudBlazor-rendered (MudStack / MudTextField),
       so they need ::deep behind the page-authored .pkg-page ancestor. */
    .pkg-page[b-4ohpf802ed]  .flex-row { flex-wrap: wrap; }
    .pkg-page[b-4ohpf802ed]  .mud-input-control { max-width: 100% !important; }
}
/* /Pages/Admin/Packages/AdminPackageBrowse.razor.rz.scp.css */
.pkg-header[b-3dveu7e5uf] { margin-bottom: 1.5rem; }
.pkg-kicker[b-3dveu7e5uf] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.pkg-title[b-3dveu7e5uf] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 0.375rem;
}
.pkg-desc[b-3dveu7e5uf] {
    color: var(--text-dim);
    font-size: 0.875rem;
    margin: 0;
    max-width: 760px;
}
.pkg-toolbar[b-3dveu7e5uf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.pkg-snapshot-meta[b-3dveu7e5uf] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--text-faint);
}
.pkg-grid[b-3dveu7e5uf] {
    display: grid;
    /* min(360px, 100%) so the track never demands more than the container width —
       on a phone narrower than 360px it collapses to one column instead of overflowing. */
    grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr));
    gap: 1rem;
}
.pkg-card[b-3dveu7e5uf] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}
.pkg-card-head[b-3dveu7e5uf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.125rem;
    border-bottom: 1px solid var(--border-soft);
    font-family: var(--font-display);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text);
}
.pkg-card-body[b-3dveu7e5uf] { padding: 1rem 1.125rem; }
.pkg-toolbar[b-3dveu7e5uf]  .pkg-btn-primary,
.pkg-card-body[b-3dveu7e5uf]  .pkg-btn-primary {
    background: var(--accent) !important;
    color: var(--accent-on) !important;
}

@media (max-width: 760px) {
    /* minmax(360px,1fr) would overflow a narrow phone — force a single column.
       .mud-input-control is MudBlazor-rendered (MudSelect), so it needs ::deep
       behind the page-authored .pkg-page ancestor. .pkg-grid is our own <div>. */
    .pkg-grid[b-3dveu7e5uf] { grid-template-columns: 1fr !important; }
    .pkg-page[b-3dveu7e5uf]  .mud-input-control { max-width: 100% !important; }
}
/* /Pages/Admin/Packages/AdminPackageRemotes.razor.rz.scp.css */
.pkg-header[b-mcxnvio3o5] { margin-bottom: 1.5rem; }
.pkg-kicker[b-mcxnvio3o5] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.pkg-title[b-mcxnvio3o5] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 0.375rem;
}
.pkg-desc[b-mcxnvio3o5] {
    color: var(--text-dim);
    font-size: 0.875rem;
    margin: 0;
    max-width: 760px;
}
.pkg-cols[b-mcxnvio3o5] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 1rem;
    align-items: start;
}
@media (max-width: 960px) {
    .pkg-cols[b-mcxnvio3o5] { grid-template-columns: 1fr; }
}
.pkg-card[b-mcxnvio3o5] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}
.pkg-card-head[b-mcxnvio3o5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.125rem;
    border-bottom: 1px solid var(--border-soft);
    font-family: var(--font-display);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text);
}
.pkg-card-body[b-mcxnvio3o5] { padding: 1rem 1.125rem; }
.pkg-card-body[b-mcxnvio3o5]  .pkg-btn-primary {
    background: var(--accent) !important;
    color: var(--accent-on) !important;
}

@media (max-width: 760px) {
    /* "Add a remote" trust+branch row and community-listing rows stack; fields go full width.
       The remotes table keeps its own horizontal scroll (mud-table-container).
       .flex-row and .mud-input-control are MudBlazor-rendered (MudStack / MudTextField),
       so they need ::deep behind the page-authored .pkg-page ancestor. */
    .pkg-page[b-mcxnvio3o5]  .flex-row { flex-wrap: wrap; }
    .pkg-page[b-mcxnvio3o5]  .mud-input-control { max-width: 100% !important; }
}
/* /Pages/Admin/Packages/AdminPackageReview.razor.rz.scp.css */
@media (max-width: 760px) {
    /* Header action stack wraps; configure/merge inputs go full width.
       The Objects table keeps its own horizontal scroll (mud-table-container).
       .flex-row and .mud-input-control are MudBlazor-rendered (MudStack / MudTextField),
       so they need ::deep behind the page-authored .pkg-review ancestor. */
    .pkg-review[b-p9yw4zxn4z]  .flex-row { flex-wrap: wrap; }
    .pkg-review[b-p9yw4zxn4z]  .mud-input-control { max-width: 100% !important; }
}
/* /Pages/Admin/Packages/AdminPackages.razor.rz.scp.css */
/* .pkg-row is applied via Class= on a child <MudPaper> (its rendered DOM), with no own-element
   ancestor carrying a class, so it needs a leading ::deep. */
[b-t0l73ug6hm] .pkg-row { transition: border-color 0.12s; }
[b-t0l73ug6hm] .pkg-row:hover { border-color: var(--accent) !important; }

.pkg-tabs[b-t0l73ug6hm] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--border-soft);
}

.pkg-tab[b-t0l73ug6hm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -0.0625rem;
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.84375rem;
    font-weight: 600;
    color: var(--text-dim);
    transition: color 0.12s, border-color 0.12s;
}

.pkg-tab:hover[b-t0l73ug6hm] { color: var(--text); }

.pkg-tab.active[b-t0l73ug6hm] {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

.pkg-tab-count[b-t0l73ug6hm] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--text-faint);
    padding: 0 0.375rem;
    border-radius: 99px;
    background: var(--surface-2);
}

.pkg-tab.active .pkg-tab-count[b-t0l73ug6hm] {
    color: var(--accent);
    background: rgba(var(--glow), 0.12);
}

.pkg-search[b-t0l73ug6hm] {
    display: flex;
    align-items: center;
    gap: 0.4375rem;
    padding: 0.375rem 0.625rem;
    margin-bottom: 0.375rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    transition: border-color 0.12s;
}

.pkg-search:focus-within[b-t0l73ug6hm] { border-color: var(--accent); }

.pkg-search input[b-t0l73ug6hm] {
    background: transparent;
    border: none;
    outline: none;
    color: var(--text);
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    width: 200px;
}

.pkg-search input[b-t0l73ug6hm]::placeholder { color: var(--text-faint); }

@media (max-width: 760px) {
    .pkg-page[b-t0l73ug6hm] { padding: var(--cpad-mobile) !important; }
    .pkg-stat-grid[b-t0l73ug6hm] { grid-template-columns: 1fr 1fr !important; }
    .pkg-tabs[b-t0l73ug6hm] { flex-wrap: wrap; }
    .pkg-search[b-t0l73ug6hm] { flex: 1 1 100%; }
    .pkg-search input[b-t0l73ug6hm] { width: 100% !important; }
    /* .pkg-row is applied via Class= on a child <MudPaper>, so it needs a leading ::deep. */
    [b-t0l73ug6hm] .pkg-row { flex-wrap: wrap !important; }
}
/* /Pages/Admin/PlayerDetail.razor.rz.scp.css */
.ph-header[b-7fsebf7qzg] { margin-bottom: 1.5rem; }
.ph-kicker[b-7fsebf7qzg] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.ph-title[b-7fsebf7qzg] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--text);
    margin: 0;
}
.ph-empty[b-7fsebf7qzg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.875rem;
    padding: 3.5rem 1.5rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.ph-empty[b-7fsebf7qzg]  .ph-empty-icon {
    font-size: 2.5rem;
    color: var(--text-faint);
}
.ph-empty-text[b-7fsebf7qzg] {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    color: var(--text-dim);
}
/* /Pages/Admin/Players.razor.rz.scp.css */
.ph-header[b-hh3p4gjvye] { margin-bottom: 1.5rem; }
.ph-kicker[b-hh3p4gjvye] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.ph-title[b-hh3p4gjvye] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--text);
    margin: 0;
}
.ph-empty[b-hh3p4gjvye] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.875rem;
    padding: 3.5rem 1.5rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.ph-empty[b-hh3p4gjvye]  .ph-empty-icon {
    font-size: 2.5rem;
    color: var(--text-faint);
}
.ph-empty-text[b-hh3p4gjvye] {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    color: var(--text-dim);
}
/* /Pages/Admin/Restrictions.razor.rz.scp.css */
.config-section-header[b-74n5rl9c8q] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.config-kicker[b-74n5rl9c8q] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}

.config-title[b-74n5rl9c8q] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

.config-desc[b-74n5rl9c8q] {
    margin: 0.375rem 0 0;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
}

.config-tab-body[b-74n5rl9c8q] {
    padding-top: 1.125rem;
}

.config-group-title[b-74n5rl9c8q] {
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
    margin: 0 0 0.5rem 0.125rem;
}

.config-field-card[b-74n5rl9c8q] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.config-pad[b-74n5rl9c8q] {
    padding: 1.125rem 1.375rem;
}

.config-add-fields[b-74n5rl9c8q] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
}

.config-add-field[b-74n5rl9c8q] {
    flex: 1;
    min-width: 0;
}

.config-field-label-text[b-74n5rl9c8q] {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-faint);
    margin-bottom: 0.375rem;
}

.config-input[b-74n5rl9c8q] {
    width: 100%;
    padding: 0.5625rem 0.75rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    outline: none;
    transition: border-color 0.12s;
}

.config-input:focus[b-74n5rl9c8q] {
    border-color: var(--accent);
}

.config-input[b-74n5rl9c8q]::placeholder {
    color: var(--text-faint);
}

.config-primary-btn[b-74n5rl9c8q] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    padding: 0.5625rem 1rem;
    border-radius: var(--radius);
    border: none;
    background: var(--accent);
    color: var(--accent-on);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 600;
    transition: opacity 0.12s;
}

.config-primary-btn:hover:not(:disabled)[b-74n5rl9c8q] {
    opacity: 0.9;
}

.config-primary-btn:disabled[b-74n5rl9c8q] {
    opacity: 0.4;
    cursor: not-allowed;
}

.config-list-row[b-74n5rl9c8q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1.375rem;
}

.config-list-row:not(:first-child)[b-74n5rl9c8q] {
    border-top: 1px solid var(--border-soft);
}

.config-list-text[b-74n5rl9c8q] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.config-list-name[b-74n5rl9c8q] {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
}

.config-list-sub[b-74n5rl9c8q] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--text-dim);
}

.config-empty[b-74n5rl9c8q] {
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    color: var(--text-faint);
}

.config-icon-btn[b-74n5rl9c8q] {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text-dim);
    cursor: pointer;
}

.config-icon-btn--danger:hover[b-74n5rl9c8q] {
    color: var(--mud-palette-error, #e57373);
    border-color: rgba(229, 115, 115, 0.5);
}

/* Tab strip restyle toward Phosphor tokens */
.config-section-page[b-74n5rl9c8q]  .config-tabs .mud-tabs-toolbar {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.config-section-page[b-74n5rl9c8q]  .config-tabs .mud-tab {
    color: var(--text-dim);
    text-transform: none;
    font-family: var(--font-ui);
}

.config-section-page[b-74n5rl9c8q]  .config-tabs .mud-tab.mud-tab-active {
    color: var(--accent);
}

.config-section-page[b-74n5rl9c8q]  .config-tabs .mud-tab-slider {
    background: var(--accent) !important;
}

@media (max-width: 700px) {
    .config-add-fields[b-74n5rl9c8q] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Pages/Admin/Roles/AdminRoles.razor.rz.scp.css */
.roleadmin[b-z6k302qzet] { padding: var(--cpad); }

.roleadmin-head[b-z6k302qzet] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}
.roleadmin-kicker[b-z6k302qzet] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.roleadmin-title[b-z6k302qzet] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}
.roleadmin-actions[b-z6k302qzet] { display: flex; gap: 0.625rem; align-items: center; }

/* Segmented toggle */
.ra-seg[b-z6k302qzet] {
    display: inline-flex;
    padding: 0.1875rem;
    gap: 0.125rem;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: var(--surface-2);
}
.ra-seg-btn[b-z6k302qzet] {
    padding: 0.375rem 0.875rem;
    border: none;
    background: transparent;
    color: var(--text-dim);
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    font-weight: 500;
    border-radius: calc(var(--radius) - 2px);
    cursor: pointer;
    transition: all 0.12s;
}
.ra-seg-btn:hover[b-z6k302qzet] { color: var(--text); }
.ra-seg-btn--on[b-z6k302qzet] {
    background: var(--accent);
    color: var(--accent-on);
    font-weight: 600;
}

.ra-btn[b-z6k302qzet] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4375rem 0.8125rem;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: var(--surface-2);
    color: var(--text);
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.12s;
}
.ra-btn:hover[b-z6k302qzet] { border-color: rgba(var(--glow), 0.4); }
.ra-btn:disabled[b-z6k302qzet] { opacity: 0.5; cursor: not-allowed; }
.ra-btn--primary[b-z6k302qzet] {
    background: var(--accent);
    color: var(--accent-on);
    border-color: transparent;
    font-weight: 600;
    box-shadow: 0 0 18px rgba(var(--glow), 0.25);
}
.ra-btn--primary:hover[b-z6k302qzet] { filter: brightness(1.08); }
.ra-btn--danger[b-z6k302qzet] {
    color: #e57373;
    border-color: rgba(229, 115, 115, 0.4);
    background: transparent;
}
.ra-btn--danger:hover[b-z6k302qzet] { border-color: rgba(229, 115, 115, 0.7); }

.roleadmin-grid[b-z6k302qzet] {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 1rem;
}
@media (max-width: 820px) {
    .roleadmin-grid[b-z6k302qzet] { grid-template-columns: 1fr; }
}

/* List */
.roleadmin-list[b-z6k302qzet] { display: flex; flex-direction: column; gap: 0.5rem; }
.ra-empty-list[b-z6k302qzet] { padding: 1rem; color: var(--text-faint); font-size: 0.8125rem; text-align: center; }
.ra-card[b-z6k302qzet] {
    display: flex;
    align-items: center;
    gap: 0.6875rem;
    text-align: left;
    padding: 0.875rem;
    cursor: pointer;
    background: var(--surface);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-soft);
    transition: border-color 0.12s, box-shadow 0.12s;
}
.ra-card:hover[b-z6k302qzet] { border-color: rgba(var(--glow), 0.3); }
.ra-card--on[b-z6k302qzet] {
    border-color: rgba(var(--glow), 0.45);
    box-shadow: 0 0 0 1px rgba(var(--glow), 0.25);
}
.ra-dot[b-z6k302qzet] {
    width: 12px; height: 12px; border-radius: 99px; flex-shrink: 0;
    box-shadow: 0 0 6px rgba(0,0,0,0.4);
}
.ra-dot--sm[b-z6k302qzet] { width: 9px; height: 9px; }
.ra-card-name[b-z6k302qzet] {
    font-family: var(--font-display); font-size: 0.875rem; font-weight: 600; color: var(--text);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ra-card-sub[b-z6k302qzet] { font-family: var(--font-mono); font-size: 0.65625rem; color: var(--text-faint); }
.ra-prio[b-z6k302qzet] {
    font-family: var(--font-mono); font-size: 0.75rem; color: var(--text-dim); flex-shrink: 0;
}
.ra-badge[b-z6k302qzet] {
    font-family: var(--font-mono); font-size: 0.5625rem; letter-spacing: 0.04em; text-transform: uppercase;
    padding: 0.125rem 0.4375rem; border-radius: 99px; flex-shrink: 0;
    color: #b39cff; background: rgba(179, 156, 255, 0.12); border: 1px solid rgba(179, 156, 255, 0.3);
}
.ra-badge--danger[b-z6k302qzet] {
    color: #e57373; background: rgba(229, 115, 115, 0.12); border-color: rgba(229, 115, 115, 0.3);
}

/* Detail */
.roleadmin-detail[b-z6k302qzet], .roleadmin-assign[b-z6k302qzet] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
    align-self: start;
}
.ra-empty-detail[b-z6k302qzet] {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem;
    padding: 3.75rem 1.25rem; color: var(--text-faint); font-family: var(--font-ui); font-size: 0.875rem;
}
.ra-detail-head[b-z6k302qzet] {
    display: flex; align-items: flex-start; gap: 0.875rem; padding: 1.25rem 1.375rem;
    border-bottom: 1px solid var(--border-soft);
}
.ra-detail-dot[b-z6k302qzet] {
    width: 28px; height: 28px; border-radius: 99px; flex-shrink: 0; margin-top: 0.125rem;
    box-shadow: 0 0 10px rgba(0,0,0,0.4);
}
.ra-detail-name[b-z6k302qzet] {
    margin: 0; font-family: var(--font-display); font-size: 1.1875rem; font-weight: 600; color: var(--text);
}
.ra-detail-slug[b-z6k302qzet] { font-family: var(--font-mono); font-size: 0.71875rem; color: var(--accent); margin-top: 0.1875rem; }

.ra-fields[b-z6k302qzet] {
    display: flex; gap: 1rem; flex-wrap: wrap;
    padding: 1.125rem 1.375rem; border-bottom: 1px solid var(--border-soft);
}
.ra-field[b-z6k302qzet] { flex: 1; min-width: 160px; }
.ra-field--narrow[b-z6k302qzet] { flex: 0 0 130px; min-width: 110px; }
.ra-field-label[b-z6k302qzet] {
    font-family: var(--font-mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--text-faint); margin-bottom: 0.375rem;
}
.ra-input[b-z6k302qzet] {
    width: 100%;
    padding: 0.5625rem 0.75rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    outline: none;
    transition: border-color 0.12s;
}
.ra-input:focus[b-z6k302qzet] { border-color: var(--accent); }

.ra-section[b-z6k302qzet] { padding: 1.125rem 1.375rem; border-bottom: 1px solid var(--border-soft); }
.ra-section:last-child[b-z6k302qzet] { border-bottom: none; }
.ra-section--actions[b-z6k302qzet] { display: flex; gap: 0.625rem; flex-wrap: wrap; }
.ra-section-label[b-z6k302qzet] {
    font-family: var(--font-mono); font-size: 0.625rem; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--text-faint); margin-bottom: 0.625rem;
}

/* Permission matrix */
.ra-perm-card[b-z6k302qzet] {
    background: var(--surface-3);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.ra-perm-row[b-z6k302qzet] {
    display: flex; align-items: center; gap: 1.5rem;
    padding: 0.875rem 1rem;
}
.ra-perm-row:not(:first-child)[b-z6k302qzet] { border-top: 1px solid var(--border-soft); }
.ra-perm-label[b-z6k302qzet] { flex: 1; min-width: 0; }
.ra-perm-name[b-z6k302qzet] {
    font-family: var(--font-ui); font-size: 0.875rem; font-weight: 600; color: var(--text); margin-bottom: 0.1875rem;
}
.ra-perm-desc[b-z6k302qzet] { font-family: var(--font-ui); font-size: 0.78125rem; color: var(--text-dim); }
.ra-perm-scope[b-z6k302qzet] {
    font-family: var(--font-mono); font-size: 0.6875rem; color: var(--text-faint); display: block; margin-top: 0.125rem;
}

/* Tri-state */
.ra-tristate[b-z6k302qzet] {
    display: inline-flex;
    padding: 0.1875rem;
    gap: 0.125rem;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: var(--surface-2);
    flex-shrink: 0;
}
.ra-tri[b-z6k302qzet] {
    padding: 0.3125rem 0.6875rem;
    border: none;
    background: transparent;
    color: var(--text-dim);
    font-family: var(--font-ui);
    font-size: 0.75rem;
    font-weight: 500;
    border-radius: calc(var(--radius) - 2px);
    cursor: pointer;
    transition: all 0.12s;
}
.ra-tri:hover[b-z6k302qzet] { color: var(--text); }
.ra-tri--inherit.ra-tri--on[b-z6k302qzet] {
    background: var(--surface-3); color: var(--text); border: 1px solid var(--border);
}
.ra-tri--allow.ra-tri--on[b-z6k302qzet] {
    background: rgba(108, 222, 154, 0.16); color: #6cde9a;
    box-shadow: inset 0 0 0 1px rgba(108, 222, 154, 0.4);
}
.ra-tri--deny.ra-tri--on[b-z6k302qzet] {
    background: rgba(229, 115, 115, 0.16); color: #e57373;
    box-shadow: inset 0 0 0 1px rgba(229, 115, 115, 0.4);
}

/* Assignments */
.ra-search[b-z6k302qzet] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.375rem 0.375rem 0.875rem;
    margin: 1.125rem 1.375rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}
.ra-search:focus-within[b-z6k302qzet] { border-color: var(--accent); }
.ra-search input[b-z6k302qzet] {
    flex: 1; min-width: 0; padding: 0.375rem 0; background: transparent; border: none; outline: none;
    color: var(--text); font-family: var(--font-ui); font-size: 0.8125rem;
}
.ra-search input[b-z6k302qzet]::placeholder { color: var(--text-faint); }

.ra-account-card[b-z6k302qzet] { }
.ra-account-head[b-z6k302qzet] {
    display: flex; align-items: flex-start; gap: 0.875rem; padding: 0.25rem 1.375rem 1.125rem;
    border-bottom: 1px solid var(--border-soft);
}
.ra-account-email[b-z6k302qzet] { font-family: var(--font-mono); font-size: 0.71875rem; color: var(--text-dim); margin-top: 0.1875rem; }

.ra-chips[b-z6k302qzet] { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.ra-empty[b-z6k302qzet] { font-family: var(--font-ui); font-size: 0.78125rem; color: var(--text-faint); }
.ra-chip[b-z6k302qzet] {
    display: inline-flex; align-items: center; gap: 0.4375rem;
    font-family: var(--font-ui); font-size: 0.78125rem;
    padding: 0.3125rem 0.4375rem 0.3125rem 0.6875rem;
    border-radius: 99px;
    background: var(--surface-2);
    color: var(--text);
    border: 1px solid var(--border);
}
.ra-chip-x[b-z6k302qzet] {
    border: none; background: transparent; color: var(--text-dim);
    cursor: pointer; font-size: 1rem; line-height: 1; padding: 0 0.125rem;
}
.ra-chip-x:hover[b-z6k302qzet] { color: #e57373; }
.ra-add-chip[b-z6k302qzet] {
    display: inline-flex; align-items: center; gap: 0.4375rem;
    font-family: var(--font-ui); font-size: 0.78125rem;
    padding: 0.3125rem 0.6875rem;
    border-radius: 99px;
    background: transparent;
    color: var(--text-dim);
    border: 1px dashed var(--border);
    cursor: pointer;
    transition: all 0.12s;
}
.ra-add-chip:hover[b-z6k302qzet] { border-color: rgba(var(--glow), 0.4); color: var(--accent); }

@media (max-width: 760px) {
    /* Permission rows: stack the label above a full-width tri-state for big touch targets. */
    .ra-perm-row[b-z6k302qzet] { flex-direction: column !important; align-items: stretch !important; gap: 0.625rem !important; }
    .ra-tristate[b-z6k302qzet] { width: 100%; justify-content: space-between; }
    .ra-tri[b-z6k302qzet] { flex: 1; text-align: center; padding: 0.625rem 0.5rem; }
    .ra-field--narrow[b-z6k302qzet] { flex: 1 1 140px !important; }
}
/* /Pages/Admin/Sitelock.razor.rz.scp.css */
.config-section-header[b-t4mv8kcwl3] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.config-kicker[b-t4mv8kcwl3] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}

.config-title[b-t4mv8kcwl3] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

.config-desc[b-t4mv8kcwl3] {
    margin: 0.375rem 0 0;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
}

.config-desc code[b-t4mv8kcwl3] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--accent);
    background: rgba(var(--glow), 0.12);
    border-radius: 4px;
    padding: 0.0625rem 0.3125rem;
}

.config-group-title[b-t4mv8kcwl3] {
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
    margin: 0 0 0.5rem 0.125rem;
}

.config-field-card[b-t4mv8kcwl3] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.config-pad[b-t4mv8kcwl3] {
    padding: 1.125rem 1.375rem;
}

.config-add-fields[b-t4mv8kcwl3] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
}

.config-add-field[b-t4mv8kcwl3] {
    flex: 1;
    min-width: 0;
}

.config-field-label-text[b-t4mv8kcwl3] {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-faint);
    margin-bottom: 0.375rem;
}

.config-input[b-t4mv8kcwl3] {
    width: 100%;
    padding: 0.5625rem 0.75rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    outline: none;
    transition: border-color 0.12s;
}

.config-input:focus[b-t4mv8kcwl3] {
    border-color: var(--accent);
}

.config-input[b-t4mv8kcwl3]::placeholder {
    color: var(--text-faint);
}

.config-primary-btn[b-t4mv8kcwl3] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    padding: 0.5625rem 1rem;
    border-radius: var(--radius);
    border: none;
    background: var(--accent);
    color: var(--accent-on);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 600;
    transition: opacity 0.12s;
}

.config-primary-btn:hover:not(:disabled)[b-t4mv8kcwl3] {
    opacity: 0.9;
}

.config-primary-btn:disabled[b-t4mv8kcwl3] {
    opacity: 0.4;
    cursor: not-allowed;
}

.config-list-row[b-t4mv8kcwl3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1.375rem;
}

.config-list-row:not(:first-child)[b-t4mv8kcwl3] {
    border-top: 1px solid var(--border-soft);
}

.config-list-text[b-t4mv8kcwl3] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.config-list-name[b-t4mv8kcwl3] {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
}

.config-list-sub[b-t4mv8kcwl3] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--text-dim);
}

.config-empty[b-t4mv8kcwl3] {
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    color: var(--text-faint);
}

.config-icon-btn[b-t4mv8kcwl3] {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text-dim);
    cursor: pointer;
}

.config-icon-btn--danger:hover[b-t4mv8kcwl3] {
    color: var(--mud-palette-error, #e57373);
    border-color: rgba(229, 115, 115, 0.5);
}

@media (max-width: 700px) {
    .config-add-fields[b-t4mv8kcwl3] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Pages/Admin/SuggestionManagement.razor.rz.scp.css */
.ph-header[b-zllamocvx4] { margin-bottom: 1.5rem; }
.ph-header-row[b-zllamocvx4] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.ph-header-actions[b-zllamocvx4] {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}
.ph-kicker[b-zllamocvx4] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.ph-title[b-zllamocvx4] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--text);
    margin: 0;
}
.ph-subtitle[b-zllamocvx4] {
    font-size: 0.8125rem;
    color: var(--text-dim);
    margin: 0.75rem 0 0;
    line-height: 1.6;
}

.ph-tiles[b-zllamocvx4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}
.ph-tile[b-zllamocvx4] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1.125rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.ph-tile-icon[b-zllamocvx4] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius);
    background: rgba(var(--glow), 0.12);
    color: var(--accent);
}
.ph-tile-value[b-zllamocvx4] {
    font-family: var(--font-display);
    font-size: 1.875rem;
    font-weight: 600;
    color: var(--text);
    line-height: 1.1;
}
.ph-tile-label[b-zllamocvx4] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-dim);
}

.ph-card[b-zllamocvx4] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.ph-card-head[b-zllamocvx4] {
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--border-soft);
    font-family: var(--font-display);
    font-weight: 600;
    color: var(--text);
    background: var(--surface-3);
}

.ph-panel-inner[b-zllamocvx4] {
    padding: 0.875rem;
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
}
.ph-words-label[b-zllamocvx4] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: 0.375rem;
}
.ph-words-box[b-zllamocvx4] {
    max-height: 400px;
    overflow-y: auto;
    padding: 0.625rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.ph-chip[b-zllamocvx4] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    padding: 0.125rem 0.625rem;
    border-radius: 99px;
    border: 1px solid transparent;
}
.ph-chip-info[b-zllamocvx4] {
    color: #5aa9ff;
    background: rgba(90, 169, 255, 0.12);
    border-color: rgba(90, 169, 255, 0.35);
}

.ph-empty[b-zllamocvx4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.875rem;
    padding: 3.5rem 1.5rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.ph-empty[b-zllamocvx4]  .ph-empty-icon {
    font-size: 2.5rem;
    color: var(--text-faint);
}
.ph-empty-text[b-zllamocvx4] {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    color: var(--text-dim);
}
/* /Pages/CharacterProfile.razor.rz.scp.css */
@media (max-width: 760px) {
    .char-profile-banner[b-33fsnihhig] {
        height: 110px !important;
    }
}
/* /Pages/Characters.razor.rz.scp.css */
.char-page[b-kxdsz3zqqk] {
    padding: var(--cpad);
}

.char-header[b-kxdsz3zqqk] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

.char-kicker[b-kxdsz3zqqk] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}

.char-title[b-kxdsz3zqqk] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

/* Search box — matches the topbar search */
.char-search[b-kxdsz3zqqk] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 260px;
    max-width: 100%;
    height: 36px;
    padding: 0 0.75rem;
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    color: var(--text-faint);
    transition: border-color 0.14s;
}

.char-search:focus-within[b-kxdsz3zqqk] {
    border-color: var(--accent);
}

.char-search-icon[b-kxdsz3zqqk] {
    font-size: 0.9375rem;
    line-height: 1;
    flex-shrink: 0;
}

.char-search input[b-kxdsz3zqqk] {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    outline: none;
    color: var(--text);
    font-family: var(--font-ui);
    font-size: 0.8125rem;
}

.char-search input[b-kxdsz3zqqk]::placeholder {
    color: var(--text-faint);
}

.char-search input[b-kxdsz3zqqk]::-webkit-search-cancel-button {
    display: none;
}

/* Filter pills */
.char-pills[b-kxdsz3zqqk] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}

.char-pill[b-kxdsz3zqqk] {
    padding: 0.4375rem 0.875rem;
    border-radius: 99px;
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    font-weight: 500;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text-dim);
    transition: all 0.12s;
}

.char-pill:hover[b-kxdsz3zqqk] {
    border-color: rgba(var(--glow), 0.4);
    color: var(--text);
}

.char-pill--on[b-kxdsz3zqqk] {
    border-color: rgba(var(--glow), 0.4);
    background: rgba(var(--glow), 0.12);
    color: var(--accent);
}

/* Card grid */
.char-grid[b-kxdsz3zqqk] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.875rem;
}

.char-card[b-kxdsz3zqqk] {
    display: block;
    padding: 1rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s ease, transform 0.15s ease;
}

.char-card:hover[b-kxdsz3zqqk] {
    border-color: rgba(var(--glow), 0.4);
    transform: translateY(-2px);
}

.char-card-top[b-kxdsz3zqqk] {
    display: flex;
    gap: 0.8125rem;
    align-items: center;
    margin-bottom: 0.875rem;
}

.char-avatar[b-kxdsz3zqqk] {
    width: 46px;
    height: 46px;
    flex-shrink: 0;
    border-radius: var(--radius);
    display: grid;
    place-items: center;
    font-family: var(--font-ui);
    font-size: 1.0625rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.char-name[b-kxdsz3zqqk] {
    font-family: var(--font-display);
    font-size: 0.96875rem;
    font-weight: 600;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.char-dbref[b-kxdsz3zqqk] {
    font-family: var(--font-mono);
    font-size: 0.71875rem;
    color: var(--accent);
    margin-top: 0.125rem;
}

.char-card-foot[b-kxdsz3zqqk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.char-chip[b-kxdsz3zqqk] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.02em;
    padding: 0.125rem 0.5rem;
    border-radius: 99px;
    background: var(--surface-2);
    color: var(--text-dim);
    border: 1px solid var(--border);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 60%;
}

.char-joined[b-kxdsz3zqqk] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--text-faint);
    white-space: nowrap;
}

/* Skeleton + empty */
.char-skeleton[b-kxdsz3zqqk] {
    height: 132px;
    border-radius: var(--radius-lg);
    background: linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);
    background-size: 200% 100%;
    animation: char-shimmer-b-kxdsz3zqqk 1.3s ease-in-out infinite;
    border: 1px solid var(--border-soft);
}

@keyframes char-shimmer-b-kxdsz3zqqk {
    to { background-position: -200% 0; }
}

.char-empty[b-kxdsz3zqqk] {
    font-family: var(--font-ui);
    font-size: 0.875rem;
    color: var(--text-faint);
    padding: 1.5rem;
    text-align: center;
    background: var(--surface);
    border: 1px dashed var(--border);
    border-radius: var(--radius-lg);
}

@media (max-width: 760px) {
    .char-page .char-grid[b-kxdsz3zqqk] {
        grid-template-columns: minmax(0, 1fr);
    }

    .char-page .char-search[b-kxdsz3zqqk] {
        width: 100%;
    }

    .char-page .char-card[b-kxdsz3zqqk] {
        padding: 0.875rem;
    }
}
/* /Pages/DynamicApplication.razor.rz.scp.css */
.app-page[b-vf01634sg3] {
    padding: var(--cpad);
    width: 100%;
}

.app-header[b-vf01634sg3] {
    margin-bottom: 1.375rem;
}

.app-kicker[b-vf01634sg3] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.5rem;
}

.app-title[b-vf01634sg3] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--text);
    line-height: 1.15;
    word-break: break-word;
}

.app-card[b-vf01634sg3] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 1.375rem 1.625rem;
}

.app-loading[b-vf01634sg3] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.app-loading-text[b-vf01634sg3] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    color: var(--text-dim);
}

.app-alert[b-vf01634sg3] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-left: 3px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 1rem 1.25rem;
    color: var(--text);
    font-family: var(--font-ui);
    font-size: 0.875rem;
    line-height: 1.5;
}

.app-alert code[b-vf01634sg3] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: 4px;
    padding: 0.0625rem 0.3125rem;
    color: var(--text);
}

.app-alert-warning[b-vf01634sg3] {
    border-left-color: var(--accent);
}

.app-alert-error[b-vf01634sg3] {
    border-left-color: #e5484d;
}

@media (max-width: 760px) {
    .app-page[b-vf01634sg3] {
        padding: var(--cpad-mobile);
    }

    .app-title[b-vf01634sg3] {
        font-size: 1.375rem;
    }

    .app-card[b-vf01634sg3] {
        padding: var(--cpad-mobile);
    }

    .app-alert[b-vf01634sg3] {
        padding: 0.875rem var(--cpad-mobile);
    }
}
/* /Pages/Help.razor.rz.scp.css */
.help-page[b-13wdoiwj41] {
    padding: var(--cpad);
    width: 100%;
}

.help-header[b-13wdoiwj41] {
    margin-bottom: 1.375rem;
}

.help-kicker[b-13wdoiwj41] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.5rem;
}

.help-title[b-13wdoiwj41] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--text);
    line-height: 1.15;
}

.help-subtitle[b-13wdoiwj41] {
    margin: 0.5rem 0 0;
    font-family: var(--font-ui);
    font-size: 0.875rem;
    color: var(--text-dim);
}

.help-body[b-13wdoiwj41] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 1.375rem 1.625rem;
}

@media (max-width: 760px) {
    .help-page .help-body[b-13wdoiwj41] {
        padding: 1rem;
    }
}
/* /Pages/HelpTopic.razor.rz.scp.css */
.help-page[b-mbns7r6x51] {
    padding: var(--cpad);
    width: 100%;
}

.help-header[b-mbns7r6x51] {
    margin-bottom: 1.375rem;
}

.help-kicker[b-mbns7r6x51] {
    display: flex;
    align-items: center;
    gap: 0.4375rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.help-kicker-link[b-mbns7r6x51] {
    color: var(--accent);
    text-decoration: none;
}

.help-kicker-link:hover[b-mbns7r6x51] {
    text-decoration: underline;
}

.help-kicker-sep[b-mbns7r6x51] {
    color: var(--text-faint);
}

.help-kicker-current[b-mbns7r6x51] {
    color: var(--text-faint);
}

.help-title[b-mbns7r6x51] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--text);
    line-height: 1.15;
    word-break: break-word;
}

.help-body[b-mbns7r6x51] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 1.375rem 1.625rem;
}

@media (max-width: 760px) {
    .help-page .help-body[b-mbns7r6x51] {
        padding: 1rem;
    }
}
/* /Pages/Home.razor.rz.scp.css */
.home-dash[b-asgg7q6kj7] {
    padding: var(--cpad);
}

/* On phones the widget grid (composed by the layout scope) collapses to one
   column via the shell's responsive rules; here we just tighten the page gutter
   so stacked widgets get the full width. */
@media (max-width: 760px) {
    .home-dash[b-asgg7q6kj7] {
        padding: 1rem 0.75rem;
    }
}
/* /Pages/Login.razor.rz.scp.css */
.login-page[b-1karqwap29] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    min-height: 100svh;
    padding: var(--cpad);
}

.login-brand[b-1karqwap29] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
    text-align: center;
}

.login-logo[b-1karqwap29] {
    height: 44px;
    opacity: 0.95;
}

.login-brand-title[b-1karqwap29] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.15;
}

[b-1karqwap29] .login-card {
    width: 100%;
    max-width: 380px;
    padding: 1.5rem 1.75rem;
    border-radius: var(--radius-lg);
    background: var(--surface);
    border: 1px solid var(--border);
}

@media (max-width: 760px) {
    .login-page[b-1karqwap29] {
        padding: 1rem;
        min-height: 100vh;
        min-height: 100svh;
    }
    [b-1karqwap29] .login-card {
        padding: 1.25rem 1.125rem;
    }
}

@media (max-height: 700px) {
    .login-brand[b-1karqwap29] {
        margin-bottom: 0.75rem;
    }
    .login-logo[b-1karqwap29] {
        height: 34px;
    }
}
/* /Pages/Mail.razor.rz.scp.css */
[b-y8skp9vfep] .active-folder .mud-nav-link-text { color: var(--accent) !important; }

/* Mobile: collapse the three-column master-detail (folders | list | reading)
   into a single scrolling column. Each pane spans full width, swaps its
   right border for a bottom divider, and lets the page scroll. */
@media (max-width: 760px) {
    .mail-page[b-y8skp9vfep] {
        flex-direction: column;
        height: auto;
        min-height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
    }
    .mail-folders[b-y8skp9vfep] {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border);
        overflow: visible;
    }
    .mail-list[b-y8skp9vfep] {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border);
        overflow: visible;
        max-height: 45vh;
        max-height: 45svh;
    }
    .mail-reading[b-y8skp9vfep] {
        width: 100%;
        overflow: visible;
        min-height: 240px;
    }
}
/* /Pages/MailCompose.razor.rz.scp.css */
.mc-kicker[b-0cwvvr8gpx] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
}
.mc-title[b-0cwvvr8gpx] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--text);
}
.mc-card[b-0cwvvr8gpx] {
    max-width: 720px;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
    padding: 1.5rem;
}
.mc-card[b-0cwvvr8gpx]  .mc-field .mud-input-control-input-container .mud-input.mud-input-outlined {
    background: var(--surface-3);
}
.mc-card[b-0cwvvr8gpx]  .mc-field .mud-input-outlined-border {
    border-color: var(--border) !important;
}
.mc-card[b-0cwvvr8gpx]  .mc-field.mud-input-control:focus-within .mud-input-outlined-border {
    border-color: var(--accent) !important;
}

/* Mobile: trim the page padding and make the Send/Cancel buttons full-width,
   comfortably tappable, stacked rows. */
@media (max-width: 760px) {
    .mail-compose-page[b-0cwvvr8gpx] {
        padding: 1rem !important;
    }
    .mail-compose-page .mc-actions[b-0cwvvr8gpx] {
        flex-direction: column;
    }
    .mail-compose-page .mc-actions[b-0cwvvr8gpx]  .mud-button-root {
        width: 100%;
        min-height: 44px;
    }
}
/* /Pages/MailDetail.razor.rz.scp.css */
.md-kicker[b-75u0oz5i6j] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
}
.md-title[b-75u0oz5i6j] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--text);
}
.md-card[b-75u0oz5i6j] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
    padding: 1.5rem;
}
.md-urgent[b-75u0oz5i6j] {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--accent);
    border: 1px solid rgba(var(--glow),0.3);
    border-radius: 999px;
    padding: 0.125rem 0.5rem;
}

/* Mobile: trim padding, wrap long monospace body tokens so they don't force
   horizontal scroll, and make the Reply/Delete buttons full-width & tappable. */
@media (max-width: 760px) {
    .mail-detail-page[b-75u0oz5i6j] {
        padding: 1rem !important;
    }
    .mail-detail-page .md-body[b-75u0oz5i6j] {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .mail-detail-page .md-actions[b-75u0oz5i6j] {
        flex-direction: column;
    }
    .mail-detail-page .md-actions[b-75u0oz5i6j]  .mud-button-root {
        width: 100%;
        min-height: 44px;
    }
}
/* /Pages/Play.razor.rz.scp.css */
.play-shell[b-ejrpjaeskh] {
    display: grid;
    /* minmax(0, 1fr): a bare 1fr track refuses to shrink below its content's
       min-content width, so the wide terminal canvas would push the whole
       page wider than the viewport. minmax(0,…) lets the column shrink. */
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 1rem;
    padding: var(--cpad);
    height: 100%;
    overflow: hidden;
}

.play-term[b-ejrpjaeskh] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

/* Focus mode: the terminal fills the whole play area edge-to-edge — side panel
   hidden, borders gone, no outer padding. Only the header status bar, the output,
   and the input remain (the bottom Connected/player/Disconnect bar is dropped).
   The terminal's font-fit recomputes for the wider column. */
.play-shell--focus[b-ejrpjaeskh] {
    grid-template-columns: minmax(0, 1fr);
    padding: 0;
    gap: 0;
}
.play-shell--focus .play-side[b-ejrpjaeskh] {
    display: none;
}
.play-shell--focus .play-term[b-ejrpjaeskh] {
    border: none;
    border-radius: 0;
}
/* ::deep — these classes are rendered by the child GlobalTerminal, so they don't
   carry this page's scope attribute. */
.play-shell--focus[b-ejrpjaeskh]  .sharp-terminal-connbar {
    display: none;
}
/* Trim the inner inset: the output carries an inline 0.75rem 1rem pad (needs
   !important), and the header/input divider lines go too — so output, header,
   and input read as one seamless surface filling the page. A hair of padding
   keeps glyphs off the very edge. */
.play-shell--focus[b-ejrpjaeskh]  .sharp-terminal-output {
    padding: 0.25rem 0.5rem !important;
}
.play-shell--focus .play-term-header[b-ejrpjaeskh] {
    border-bottom: none;
}
.play-shell--focus[b-ejrpjaeskh]  .sharp-terminal-input {
    border-top: none;
}

/* Terminal settings menu (Width / Focus / Clear). */
.play-cfg[b-ejrpjaeskh] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.375rem;
    min-width: 12rem;
}
.play-cfg-kicker[b-ejrpjaeskh] {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-faint);
    padding: 0.125rem 0.5rem 0.25rem;
}
.play-cfg-row[b-ejrpjaeskh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.375rem 0.5rem;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
}
.play-cfg-item[b-ejrpjaeskh] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    padding: 0.5rem;
    background: transparent;
    border: none;
    border-radius: var(--radius);
    color: var(--text-dim);
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    text-align: left;
    cursor: pointer;
    min-height: 36px;
}
.play-cfg-item:hover[b-ejrpjaeskh] {
    background: var(--surface-2);
    color: var(--text);
}
.play-cols-input[b-ejrpjaeskh] {
    width: 3.5rem;
    height: 1.625rem;
    padding: 0 0.375rem;
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    text-align: right;
}
.play-cols-input:focus[b-ejrpjaeskh] {
    outline: none;
    border-color: var(--accent);
}

/* Header toggle button (Fullscreen / FullscreenExit). */
.play-focus-btn[b-ejrpjaeskh] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    padding: 0;
    border: none;
    border-radius: var(--radius);
    background: transparent;
    color: var(--text-faint);
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
}
.play-focus-btn:hover[b-ejrpjaeskh] {
    background: var(--surface-2);
    color: var(--text);
}

.play-term-header[b-ejrpjaeskh] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.6875rem 1rem;
    background: var(--surface-3);
    border-bottom: 1px solid var(--border-soft);
    flex-shrink: 0;
}

.play-dot[b-ejrpjaeskh] {
    width: 8px;
    height: 8px;
    border-radius: 99px;
    background: var(--text-faint);
    flex-shrink: 0;
}
.play-dot--on[b-ejrpjaeskh] {
    background: var(--accent);
    box-shadow: 0 0 8px rgba(var(--glow), 0.9);
}

.play-char[b-ejrpjaeskh] {
    font-family: var(--font-mono);
    font-size: 0.78125rem;
    font-weight: 600;
    color: var(--text);
}
.play-loc[b-ejrpjaeskh] {
    font-family: var(--font-mono);
    font-size: 0.71875rem;
    color: var(--text-faint);
}
.play-conn[b-ejrpjaeskh] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--text-faint);
}
.play-conn--on[b-ejrpjaeskh] {
    color: var(--accent);
}

.play-side[b-ejrpjaeskh] {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    overflow-y: auto;
    min-height: 0;
    min-width: 0;
}

.play-card[b-ejrpjaeskh] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 0.9375rem;
}

.play-fieldlabel[b-ejrpjaeskh] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-faint);
    margin-bottom: 0.625rem;
}

.play-empty[b-ejrpjaeskh] {
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    color: var(--text-faint);
}

.play-entry[b-ejrpjaeskh] {
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
    padding: 0.25rem 0.375rem;
    border-radius: var(--radius);
}

.play-clickable[b-ejrpjaeskh] {
    cursor: pointer;
}

.play-clickable:hover[b-ejrpjaeskh] {
    background: var(--surface-2);
    color: var(--text);
}

.play-actions[b-ejrpjaeskh] {
    display: flex;
    flex-direction: column;
    gap: 0.4375rem;
}

.play-action[b-ejrpjaeskh] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.625rem;
    border-radius: var(--radius);
    border: 1px solid var(--border-soft);
    background: var(--surface-2);
    color: var(--text-dim);
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.12s, color 0.12s;
}
.play-action:hover[b-ejrpjaeskh] {
    border-color: rgba(var(--glow), 0.4);
    color: var(--text);
}
/* ::deep — the icon class sits on a child <MudIcon>, so it has no page scope. */
.play-action[b-ejrpjaeskh]  .play-action-icon {
    font-size: 0.9375rem !important;
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    color: var(--accent) !important;
}

/* ── Mobile: stack the terminal over the side panel and let the page scroll.
   The two-column grid + height:100%/overflow:hidden is desktop-only. ── */
@media (max-width: 760px) {
    .play-shell[b-ejrpjaeskh] {
        grid-template-columns: minmax(0, 1fr);
        height: auto;
        min-height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 0.75rem;
        gap: 0.75rem;
    }
    .play-term[b-ejrpjaeskh] {
        /* svh sizes to the small viewport (toolbars shown), so the terminal
           input stays on-screen under the mobile address bar without resizing
           on scroll the way dvh would. */
        height: 70vh;
        height: 70svh;
        min-height: 320px;
    }
    .play-term-header[b-ejrpjaeskh] {
        flex-wrap: wrap;
        padding: 0.625rem 0.75rem;
    }
    .play-side[b-ejrpjaeskh] {
        overflow: visible;
    }
    /* Focus mode on a phone: the terminal fills the content area instead of being
       capped at 70svh with the (now hidden) panel's space left empty below it. */
    .play-shell--focus[b-ejrpjaeskh] {
        height: 100%;
        min-height: 0;
        overflow: hidden;
        padding: 0;
    }
    .play-shell--focus .play-term[b-ejrpjaeskh] {
        height: 100%;
        min-height: 0;
    }
    /* Comfortable, tappable list entries and quick-action links on a phone. */
    .play-entry[b-ejrpjaeskh] {
        font-size: 0.875rem;
        padding: 0.5625rem 0.5rem;
        min-height: 44px;
        display: flex;
        align-items: center;
    }
    .play-action[b-ejrpjaeskh] {
        min-height: 44px;
        font-size: 0.875rem;
    }
}
/* /Pages/SceneDetail.razor.rz.scp.css */
/* Mobile: trim padding, wrap the meta row, and tighten the pose-log padding. */
@media (max-width: 760px) {
    .scene-detail-page[b-08fjstb1a7] {
        padding: 1rem !important;
    }
    .scene-detail-page .scene-detail-meta[b-08fjstb1a7] {
        flex-wrap: wrap;
        gap: 0.375rem 0.875rem;
    }
    .scene-detail-page .scene-log[b-08fjstb1a7] {
        padding: 0.75rem !important;
    }
}
/* /Pages/SceneLive.razor.rz.scp.css */
/* Mobile: let the live header wrap, and trim the generous --cpad horizontal
   padding on the header / pose-log / compose bar so content isn't cramped. */
@media (max-width: 760px) {
    .scene-live-header[b-p31qm3tit7] {
        flex-wrap: wrap;
        gap: 0.5rem !important;
        padding: 0.625rem 0.875rem !important;
    }
    .scene-live-page .scene-log[b-p31qm3tit7] {
        padding: 0.75rem 0.875rem !important;
    }
    .scene-live-compose[b-p31qm3tit7] {
        padding: 0.625rem 0.875rem !important;
    }
}
/* /Pages/Scenes.razor.rz.scp.css */
[b-e62gk7wi0r] .scene-card:hover {
    border-color: var(--accent) !important;
    background: var(--surface-2) !important;
}

/* Mobile: stack each scene card so the title block sits above its actions,
   trim the page padding, and let the meta row wrap instead of overflowing. */
@media (max-width: 760px) {
    .scenes-page[b-e62gk7wi0r] {
        padding: 1rem !important;
    }
    .scenes-page[b-e62gk7wi0r]  .scene-card {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.625rem !important;
        padding: 0.875rem !important;
    }
    .scenes-page[b-e62gk7wi0r]  .scene-card .scene-meta-row {
        flex-wrap: wrap;
        gap: 0.5rem 0.875rem;
    }
    .scenes-page[b-e62gk7wi0r]  .scene-card .scene-actions {
        width: 100%;
    }
    .scenes-page[b-e62gk7wi0r]  .scene-card .scene-actions .mud-button-root {
        flex: 1;
        min-height: 44px;
    }
}
/* /Pages/ScenesActive.razor.rz.scp.css */
.sa-kicker[b-v5qqv5wyvm] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
}
.sa-title[b-v5qqv5wyvm] {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--text);
}
.sa-card[b-v5qqv5wyvm] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.875rem 1.125rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-soft);
    background: var(--surface);
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
    transition: border-color 0.12s, background 0.12s;
}
.sa-card:hover[b-v5qqv5wyvm] {
    border-color: var(--accent);
    background: var(--surface-2);
}
.sa-live[b-v5qqv5wyvm] {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.06em;
    color: var(--accent);
    border: 1px solid rgba(var(--glow),0.3);
    border-radius: 999px;
    padding: 0.0625rem 0.4375rem;
}
.sa-live-dot[b-v5qqv5wyvm] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 6px rgba(var(--glow),0.6);
}
.sa-empty[b-v5qqv5wyvm] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    padding: 1rem 1.25rem;
    color: var(--text-dim);
    font-size: 0.8125rem;
}

/* Mobile: stack each active-scene card and let actions span full width. */
@media (max-width: 760px) {
    .scenes-active-page[b-v5qqv5wyvm] {
        padding: 1rem !important;
    }
    .scenes-active-page[b-v5qqv5wyvm]  .scene-card {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.625rem !important;
        padding: 0.875rem !important;
    }
    .scenes-active-page[b-v5qqv5wyvm]  .scene-card .scene-meta-row {
        flex-wrap: wrap;
        gap: 0.5rem 0.875rem;
    }
    .scenes-active-page[b-v5qqv5wyvm]  .scene-card .scene-actions {
        width: 100%;
    }
    .scenes-active-page[b-v5qqv5wyvm]  .scene-card .scene-actions .mud-button-root {
        flex: 1;
        min-height: 44px;
    }
}
/* /Pages/Settings.razor.rz.scp.css */
.settings-page[b-bw9hl1pcs3] {
    padding: var(--cpad);
}

.settings-header[b-bw9hl1pcs3] {
    margin-bottom: 1.5rem;
}
.settings-kicker[b-bw9hl1pcs3] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.625rem;
}
.settings-title[b-bw9hl1pcs3] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

.settings-nav[b-bw9hl1pcs3] {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}
.settings-nav-item[b-bw9hl1pcs3] {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    text-align: left;
    padding: 1rem 1.125rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    cursor: pointer;
    transition: border-color 0.12s ease, background 0.12s ease;
}
.settings-nav-item:hover[b-bw9hl1pcs3] {
    border-color: var(--accent);
    background: var(--surface-2);
}
.settings-nav-item[b-bw9hl1pcs3]  .settings-nav-icon {
    font-size: 1.375rem !important;
    color: var(--accent);
    flex-shrink: 0;
}
.settings-nav-body[b-bw9hl1pcs3] {
    display: flex;
    flex-direction: column;
    gap: 0.1875rem;
    flex: 1;
    min-width: 0;
}
.settings-nav-label[b-bw9hl1pcs3] {
    font-family: var(--font-ui);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text);
}
.settings-nav-desc[b-bw9hl1pcs3] {
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    color: var(--text-dim);
}
.settings-nav-item[b-bw9hl1pcs3]  .settings-nav-arrow {
    font-size: 1.125rem !important;
    color: var(--text-faint);
    flex-shrink: 0;
    transition: color 0.12s ease, transform 0.12s ease;
}
.settings-nav-item:hover[b-bw9hl1pcs3]  .settings-nav-arrow {
    color: var(--accent);
    transform: translateX(2px);
}

@media (max-width: 760px) {
    .settings-page[b-bw9hl1pcs3] {
        padding: 1rem;
    }
    .settings-title[b-bw9hl1pcs3] {
        font-size: 1.375rem;
    }
    .settings-nav-item[b-bw9hl1pcs3] {
        padding: 0.875rem;
        gap: 0.75rem;
    }
}
/* /Pages/SettingsCharacters.razor.rz.scp.css */
.settings-page[b-ecgwd2lkx1] {
    padding: var(--cpad);
}

.settings-header[b-ecgwd2lkx1] {
    margin-bottom: 1.5rem;
}
.settings-kicker[b-ecgwd2lkx1] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.625rem;
}
.settings-title[b-ecgwd2lkx1] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

.settings-card[b-ecgwd2lkx1] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 1.375rem 1.5rem;
}
.settings-card-section-label[b-ecgwd2lkx1] {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-faint);
    margin-bottom: 0.75rem;
}
.settings-card-text[b-ecgwd2lkx1] {
    margin: 0;
    font-family: var(--font-ui);
    font-size: 0.875rem;
    color: var(--text-dim);
    line-height: 1.6;
}
.settings-link[b-ecgwd2lkx1] {
    color: var(--accent);
    text-decoration: none;
}
.settings-link:hover[b-ecgwd2lkx1] {
    text-decoration: underline;
}

@media (max-width: 760px) {
    .settings-page[b-ecgwd2lkx1] {
        padding: 1rem;
    }
    .settings-title[b-ecgwd2lkx1] {
        font-size: 1.375rem;
    }
    .settings-card[b-ecgwd2lkx1] {
        padding: 1rem;
    }
}
/* /Pages/SettingsTheme.razor.rz.scp.css */
.settings-page[b-er9gs2n5kk] {
    padding: var(--cpad);
}

.settings-header[b-er9gs2n5kk] {
    margin-bottom: 1.5rem;
}
.settings-kicker[b-er9gs2n5kk] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.625rem;
}
.settings-title[b-er9gs2n5kk] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

.settings-card[b-er9gs2n5kk] {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 1.375rem 1.5rem;
}
.settings-card-section-label[b-er9gs2n5kk] {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-faint);
    margin-bottom: 0.75rem;
}
.settings-card-text[b-er9gs2n5kk] {
    margin: 0;
    font-family: var(--font-ui);
    font-size: 0.875rem;
    color: var(--text-dim);
    line-height: 1.6;
}

@media (max-width: 760px) {
    .settings-page[b-er9gs2n5kk] {
        padding: 1rem;
    }
    .settings-title[b-er9gs2n5kk] {
        font-size: 1.375rem;
    }
    .settings-card[b-er9gs2n5kk] {
        padding: 1rem;
    }
}
/* /Pages/Setup.razor.rz.scp.css */
.setup-page[b-flvx1bn26d] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 100%;
	padding: var(--cpad);
}

.setup-brand[b-flvx1bn26d] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.625rem;
	margin-bottom: 1.75rem;
	text-align: center;
}

.setup-logo[b-flvx1bn26d] {
	height: 48px;
	opacity: 0.95;
}

.setup-brand-title[b-flvx1bn26d] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--text);
	line-height: 1.15;
}

.setup-card[b-flvx1bn26d] {
	width: 100%;
	max-width: 420px;
	background: var(--surface);
	border: 1px solid var(--border-soft);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 1.875rem 1.75rem;
}

.setup-kicker[b-flvx1bn26d] {
	font-family: var(--font-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 0.5rem;
}

.setup-title[b-flvx1bn26d] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.625rem;
	font-weight: 600;
	color: var(--text);
	line-height: 1.15;
}

.setup-lead[b-flvx1bn26d] {
	margin: 0.625rem 0 1.375rem;
	font-family: var(--font-ui);
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--text-dim);
}

.setup-error[b-flvx1bn26d] {
	margin-bottom: 1.125rem;
	padding: 0.625rem 0.75rem;
	border-radius: var(--radius);
	background: rgba(244, 67, 54, 0.10);
	border: 1px solid rgba(244, 67, 54, 0.35);
	color: #f4a8a3;
	font-family: var(--font-ui);
	font-size: 0.8125rem;
}

.setup-field[b-flvx1bn26d] {
	margin-bottom: 1rem;
}

.setup-label[b-flvx1bn26d] {
	display: block;
	margin-bottom: 0.375rem;
	font-family: var(--font-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text-faint);
}

.setup-input[b-flvx1bn26d] {
	width: 100%;
	box-sizing: border-box;
	height: 42px;
	padding: 0 0.75rem;
	background: var(--surface-3);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--text);
	font-family: var(--font-ui);
	font-size: 0.875rem;
	outline: none;
	transition: border-color 0.14s ease;
}

.setup-input:focus[b-flvx1bn26d] {
	border-color: var(--accent);
}

.setup-input:disabled[b-flvx1bn26d] {
	opacity: 0.55;
	cursor: not-allowed;
}

.setup-submit[b-flvx1bn26d] {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 44px;
	margin-top: 0.5rem;
	border: none;
	border-radius: var(--radius);
	background: var(--accent);
	color: var(--accent-on);
	font-family: var(--font-ui);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: filter 0.12s ease;
}

.setup-signin[b-flvx1bn26d] {
	margin-top: 1.25rem;
}

.setup-submit:hover:not(:disabled)[b-flvx1bn26d] {
	filter: brightness(1.08);
}

.setup-submit:disabled[b-flvx1bn26d] {
	opacity: 0.6;
	cursor: not-allowed;
}

@media (max-width: 760px) {
    .setup-page[b-flvx1bn26d] {
        padding: 1rem;
        min-height: 100vh;
        min-height: 100svh;
    }
    .setup-card[b-flvx1bn26d] {
        padding: 1.25rem 1.125rem;
    }
    .setup-input[b-flvx1bn26d] {
        height: 44px;
    }
}
/* /Pages/SoftcodeEditor.razor.rz.scp.css */
/* ── Editor shell: three rounded panels with a gap (prototype SoftcodeScreen) ── */
.sc-shell[b-m9oq62suu6] {
    display: flex;
    gap: 0.875rem;
    /* Match the standard content gutter (--cpad) so panels aren't cramped
       against the edges, mirroring the prototype's full-height padding. */
    padding: var(--cpad);
    height: 100%;
    overflow: hidden;
    background: var(--bg);
}

.sc-panel[b-m9oq62suu6] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

/* ── Inline search box (prototype searchBox) ── */
.sc-search[b-m9oq62suu6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 0.625rem;
    margin: 0 0.625rem 0.25rem;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    transition: border-color 0.14s;
}
.sc-search:focus-within[b-m9oq62suu6] {
    border-color: var(--accent);
}
.sc-search-input[b-m9oq62suu6] {
    flex: 1;
    min-width: 0;
    padding: 0.5rem 0;
    background: transparent;
    border: none;
    outline: none;
    color: var(--text);
    font-family: var(--font-ui);
    font-size: 0.78125rem;
}
.sc-search-input[b-m9oq62suu6]::placeholder {
    color: var(--text-faint);
}
.sc-search-clear[b-m9oq62suu6] {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: var(--text-faint);
    cursor: pointer;
    border-radius: 5px;
}
.sc-search-clear:hover[b-m9oq62suu6] {
    color: var(--text);
    background: var(--surface-2);
}

/* ── "+ Add" pill in the attribute pane header ── */
.sc-add-btn[b-m9oq62suu6] {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    padding: 0.25rem 0.5625rem;
    border-radius: var(--radius);
    cursor: pointer;
    border: 1px solid rgba(var(--glow), 0.3);
    background: rgba(var(--glow), 0.10);
    color: var(--accent);
    font-family: var(--font-ui);
    font-size: 0.71875rem;
    font-weight: 600;
    transition: background 0.14s;
}
.sc-add-btn:hover:not(:disabled)[b-m9oq62suu6] {
    background: rgba(var(--glow), 0.18);
}
.sc-add-btn:disabled[b-m9oq62suu6] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* ── Inline add-attribute row (top of the list) ── */
.sc-add-row[b-m9oq62suu6] {
    display: flex;
    align-items: center;
    gap: 0.4375rem;
    padding: 0.375rem 0.5rem;
    margin-bottom: 0.375rem;
    border-radius: var(--radius);
    border: 1px dashed rgba(var(--glow), 0.4);
    background: rgba(var(--glow), 0.05);
}
.sc-add-amp[b-m9oq62suu6] {
    color: var(--accent);
    font-family: var(--font-mono);
    font-size: 0.8125rem;
}
.sc-add-input[b-m9oq62suu6] {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    outline: none;
    color: var(--text);
    font-family: var(--font-mono);
    font-size: 0.78125rem;
    text-transform: uppercase;
}
.sc-add-input[b-m9oq62suu6]::placeholder {
    color: var(--text-faint);
    text-transform: none;
}
.sc-add-icon[b-m9oq62suu6] {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: var(--accent);
    cursor: pointer;
    border-radius: 6px;
}
.sc-add-icon:hover[b-m9oq62suu6] {
    background: rgba(var(--glow), 0.12);
}

/* ── Attribute list item: kind badge + name + preview ── */
.sc-attr-item[b-m9oq62suu6] {
    width: 100%;
    text-align: left;
    display: block;
    padding: 0.5625rem 0.625rem;
    border-radius: var(--radius);
    cursor: pointer;
    border: none;
    background: transparent;
    margin-bottom: 0.1875rem;
    transition: background 0.12s;
}
.sc-attr-item:hover[b-m9oq62suu6] {
    background: var(--surface-2);
}
.sc-attr-item--on[b-m9oq62suu6] {
    background: rgba(var(--glow), 0.10);
    box-shadow: inset 2px 0 0 var(--accent);
}
.sc-attr-row1[b-m9oq62suu6] {
    display: flex;
    align-items: center;
    gap: 0.4375rem;
    margin-bottom: 0.1875rem;
}
.sc-kind-badge[b-m9oq62suu6] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    border-radius: 4px;
    display: grid;
    place-items: center;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 700;
}
.sc-attr-name[b-m9oq62suu6] {
    flex: 1;
    min-width: 0;
    font-family: var(--font-mono);
    font-size: 0.78125rem;
    font-weight: 500;
    color: var(--text-dim);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sc-attr-item--on .sc-attr-name[b-m9oq62suu6] {
    color: var(--text);
    font-weight: 600;
}
.sc-attr-desc[b-m9oq62suu6] {
    display: block;
    font-family: var(--font-ui);
    font-size: 0.6875rem;
    color: var(--text-faint);
    line-height: 1.35;
    padding-left: 1.4375rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Hidden on desktop, where all three panes show side by side as authored. Both this rule
   and the reveal in the phone block below are scoped, so they carry equal specificity and
   the media query wins on source order. A global `.mobile-only` helper cannot do this job:
   scoped CSS appends a [b-<hash>] attribute to every selector here, outbidding any plain
   utility class. */
.sc-mobilebar[b-m9oq62suu6] {
    display: none;
    gap: 0.375rem;
    padding: 0.5rem 0.625rem;
    background: var(--surface-3);
    border-bottom: 1px solid var(--border-soft);
    flex-shrink: 0;
}
.sc-mobiletab[b-m9oq62suu6] {
    flex: 1;
    min-height: 38px;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    background: var(--surface);
    color: var(--text-dim);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
}
.sc-mobiletab--on[b-m9oq62suu6] {
    border-color: var(--accent);
    color: var(--accent);
    background: rgba(var(--glow), 0.1);
}
.sc-mobiletab:disabled[b-m9oq62suu6] { opacity: 0.4; cursor: default; }

/* Mobile: one full-height pane at a time, chosen by the switcher. The editor pane keeps
   a real height so Monaco lays out; panes scroll internally rather than the page. */
@media (max-width: 760px) {
    .sc-mobilebar[b-m9oq62suu6] {
        display: flex;
    }
    .sc-shell[b-m9oq62suu6] {
        flex-direction: column !important;
        height: 100% !important;
        overflow: hidden !important;
        gap: 0 !important;
        padding: 0 !important;
    }
    .sc-shell .sc-panel[b-m9oq62suu6] {
        width: 100% !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        min-width: 0 !important;
    }
    .sc-shell--objects .sc-pane-attrs[b-m9oq62suu6],
    .sc-shell--objects .sc-pane-editor[b-m9oq62suu6],
    .sc-shell--attrs   .sc-pane-objects[b-m9oq62suu6],
    .sc-shell--attrs   .sc-pane-editor[b-m9oq62suu6],
    .sc-shell--editor  .sc-pane-objects[b-m9oq62suu6],
    .sc-shell--editor  .sc-pane-attrs[b-m9oq62suu6] {
        display: none !important;
    }
    /* The editor toolbar has many controls — let them wrap instead of clipping. */
    .sc-editor-toolbar[b-m9oq62suu6] { flex-wrap: wrap; min-height: 0; }
}
/* /Pages/WikiPageDiff.razor.rz.scp.css */
.wikidiff[b-5hxqp64igh] {
    padding: var(--cpad);
}
.wikidiff-back[b-5hxqp64igh] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
    text-decoration: none;
    margin-bottom: 1rem;
}
.wikidiff-back:hover[b-5hxqp64igh] { color: var(--accent); }
.wikidiff-head[b-5hxqp64igh] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.125rem;
}
.wikidiff-kicker[b-5hxqp64igh] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.wikidiff-title[b-5hxqp64igh] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}

.wikidiff-toggle[b-5hxqp64igh] {
    display: flex;
    gap: 0.25rem;
    padding: 0.1875rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    flex-shrink: 0;
}
.wikidiff-toggle-btn[b-5hxqp64igh] {
    padding: 0.375rem 0.75rem;
    border-radius: var(--radius);
    border: none;
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.78125rem;
    font-weight: 600;
    background: transparent;
    color: var(--text-dim);
}
.wikidiff-toggle-btn.active[b-5hxqp64igh] {
    background: rgba(var(--glow), 0.12);
    color: var(--accent);
}

.wikidiff-revbar[b-5hxqp64igh] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-bottom: 0.875rem;
}
.wikidiff-revcard[b-5hxqp64igh] {
    flex: 1;
    min-width: 0;
    padding: 0.6875rem 0.875rem;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
}
.wikidiff-revcard--new[b-5hxqp64igh] {
    border-color: rgba(var(--glow), 0.3);
}
.wikidiff-revdate[b-5hxqp64igh] {
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
}
.wikidiff-revmeta[b-5hxqp64igh] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--text-faint);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wikidiff-stats[b-5hxqp64igh] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-bottom: 0.75rem;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    flex-wrap: wrap;
}
.wikidiff-stat-add[b-5hxqp64igh] { color: var(--accent); }
.wikidiff-stat-del[b-5hxqp64igh] { color: #e57373; }
.wikidiff-stat-sum[b-5hxqp64igh] { color: var(--text-faint); }

.wikidiff-body[b-5hxqp64igh] {
    background: var(--surface-3);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    line-height: 1.65;
}
.wikidiff-line[b-5hxqp64igh] {
    display: flex;
    border-left: 2px solid transparent;
}
.wikidiff-line--add[b-5hxqp64igh] {
    background: rgba(var(--glow), 0.07);
    border-left-color: var(--accent);
}
.wikidiff-line--del[b-5hxqp64igh] {
    background: rgba(229, 115, 115, 0.08);
    border-left-color: #e57373;
}
.wikidiff-line--ctx[b-5hxqp64igh] { background: transparent; }
.wikidiff-gutter[b-5hxqp64igh] {
    width: 26px;
    flex-shrink: 0;
    text-align: center;
    user-select: none;
    border-right: 1px solid var(--border-soft);
    padding: 0.125rem 0;
    color: var(--text-faint);
}
.wikidiff-gutter--add[b-5hxqp64igh] { color: var(--accent); }
.wikidiff-gutter--del[b-5hxqp64igh] { color: #e57373; }
.wikidiff-line--ctx .wikidiff-text[b-5hxqp64igh] { color: var(--text-dim); }
.wikidiff-line--del .wikidiff-text[b-5hxqp64igh] { color: var(--text-dim); }
.wikidiff-text[b-5hxqp64igh] {
    padding: 0.125rem 0.875rem;
    color: var(--text);
    white-space: pre-wrap;
    word-break: break-word;
}
.wikidiff-hunk[b-5hxqp64igh] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.875rem;
    background: var(--surface-2);
    border-top: 1px solid var(--border-soft);
    border-bottom: 1px solid var(--border-soft);
    color: var(--text-faint);
    font-size: 0.71875rem;
}

.wikidiff-split[b-5hxqp64igh] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
}
.wikidiff-split-col[b-5hxqp64igh] { min-width: 0; }
.wikidiff-split-head[b-5hxqp64igh] {
    padding: 0.375rem 0.75rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-dim);
    border: 1px solid var(--border-soft);
    border-bottom: none;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.wikidiff-split-head--old[b-5hxqp64igh] { background: rgba(229, 115, 115, 0.08); }
.wikidiff-split-head--new[b-5hxqp64igh] { background: rgba(var(--glow), 0.07); }
.wikidiff-pane[b-5hxqp64igh] {
    background: var(--surface-3);
    border: 1px solid var(--border-soft);
    border-top: none;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    padding: 0.75rem;
    font-family: var(--font-mono);
    font-size: 0.78125rem;
    line-height: 1.7;
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
    max-height: 70vh;
    max-height: 70svh;
    overflow-y: auto;
    color: var(--text);
}

/* Phones: drop the page gutter, let the header (title + mode toggle) stack,
   and collapse the side-by-side panes into a single stacked column. Diff
   text already wraps (pre-wrap + break-word), so no horizontal scroll needed. */
@media (max-width: 760px) {
    .wikidiff[b-5hxqp64igh] { padding: 1rem 0.75rem; }
    .wikidiff-head[b-5hxqp64igh] { flex-direction: column; align-items: flex-start; }
    .wikidiff-split[b-5hxqp64igh] { grid-template-columns: minmax(0, 1fr); }
    .wikidiff-pane[b-5hxqp64igh] { max-height: 50vh; max-height: 50svh; }
}
/* /Pages/WikiPageHistory.razor.rz.scp.css */
.wikihist[b-gy1j41gqjv] {
    padding: var(--cpad);
}
.wikihist-back[b-gy1j41gqjv] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
    text-decoration: none;
    margin-bottom: 1rem;
}
.wikihist-back:hover[b-gy1j41gqjv] { color: var(--accent); }
.wikihist-head[b-gy1j41gqjv] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.5rem;
}
.wikihist-kicker[b-gy1j41gqjv] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.375rem;
}
.wikihist-title[b-gy1j41gqjv] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--text);
}
.wikihist-intro[b-gy1j41gqjv] {
    margin: 0 0 1.25rem;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    color: var(--text-dim);
}
.wikihist-intro strong[b-gy1j41gqjv] { color: var(--text); }

/* Phones: tighten the gutter, let the head (title + Compare button) stack, and
   make the fixed-column revision table scroll horizontally inside its own box
   instead of forcing the whole page wide. Selectors are doubled / descendant-
   qualified to match the scoped (.razor.css) rules' specificity and win on order. */
@media (max-width: 760px) {
    .wikihist.wikihist[b-gy1j41gqjv] { padding: 1rem 0.75rem; }
    .wikihist .wikihist-head[b-gy1j41gqjv] { flex-direction: column; align-items: flex-start; }
    .wikihist-table[b-gy1j41gqjv] { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .wikihist-table > div[b-gy1j41gqjv] { min-width: 560px; }
}
