:root {
    color-scheme: light;
    --bg: #f7f5ef;
    --panel: #ffffff;
    --ink: #18211b;
    --muted: #5d675f;
    --line: #d9ded7;
    --side: #26382d;
    --side-soft: rgba(255,255,255,.12);
    --accent: #d9a441;
    --accent-ink: #1f1708;
    --gold: #d9a441;
    --good: #116b2f;
    --danger: #8f2c24;
    --earth: #6b5b3e;
    --brown: #8b5a2b;
    --shadow: 0 18px 48px rgba(24,33,27,.12);
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background:
        linear-gradient(rgba(217,222,215,.68) 1px, transparent 1px),
        linear-gradient(90deg, rgba(217,222,215,.68) 1px, transparent 1px),
        var(--bg);
    background-size: 32px 32px;
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
}

a { color: #274d36; }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.auth-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 22px;
}

.auth-panel {
    width: min(440px, 100%);
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 24px;
    box-shadow: var(--shadow);
}

.auth-brand,
.admin-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    font-weight: 900;
    text-decoration: none;
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 7px;
    background: var(--accent);
    color: var(--accent-ink);
    font-weight: 900;
}

.form-stack,
.stack-list {
    display: grid;
    gap: 12px;
}

.auth-links,
.actions,
.status-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.auth-links {
    justify-content: space-between;
    margin-top: 16px;
}

/* BookHub V1 writer workspace: final scoped skin overrides older BookHub experiments. */
[data-bookhub-app].bookhub-app-window {
    display: grid;
    gap: 0;
    overflow: hidden;
    min-height: calc(100vh - 140px);
    padding: 0;
    border: 1px solid #cfd8d3;
    border-radius: 8px;
    background: #f4f6f3;
    box-shadow: 0 18px 42px rgba(24, 33, 27, .1);
}

[data-bookhub-app] .bookhub-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 18px;
    border-bottom: 1px solid #d6dfda;
    background: #1f3f34;
    color: #fff;
}

[data-bookhub-app] .bookhub-head h1,
[data-bookhub-app] .bookhub-head p {
    margin: 0;
}

[data-bookhub-app] .bookhub-head h1 {
    font-size: 1.35rem;
    line-height: 1.1;
}

[data-bookhub-app] .bookhub-head .subtle {
    color: rgba(255, 255, 255, .78);
}

[data-bookhub-app] .bookhub-head .button {
    border-color: rgba(255, 255, 255, .24);
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

[data-bookhub-app] .notice,
[data-bookhub-app] .bookhub-db-pill {
    margin: 12px 18px 0;
}

[data-bookhub-app] .bookhub-workspace-shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    grid-template-rows: auto minmax(620px, 1fr);
    gap: 0;
    min-height: 740px;
}

[data-bookhub-app] .bookhub-workspace-shell.no-binder {
    grid-template-columns: minmax(0, 1fr);
}

[data-bookhub-app] .bookhub-workspace-shell.no-shelf {
    grid-template-rows: minmax(620px, 1fr);
}

[data-bookhub-app] .bookhub-shelf {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 14px 18px;
    border: 0;
    border-bottom: 1px solid #d6dfda;
    border-radius: 0;
    background: #fbfcfa;
    box-shadow: none;
}

[data-bookhub-app] .bookhub-shelf h2 {
    margin: 0;
    font-size: 1.1rem;
}

[data-bookhub-app] .bookhub-book-grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 2px;
}

[data-bookhub-app] .bookhub-book-card {
    flex: 0 0 238px;
    margin: 0;
    padding: 0;
    border: 1px solid #d1dad5;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

[data-bookhub-app] .bookhub-book-card.active {
    border-color: #9d3357;
    background: #fff7fa;
    box-shadow: inset 4px 0 0 #9d3357;
}

[data-bookhub-app] .bookhub-book-card button {
    display: grid;
    gap: 5px;
    width: 100%;
    min-height: 76px;
    padding: 12px 14px;
    border: 0;
    background: transparent;
    color: #18211b;
    text-align: left;
    cursor: pointer;
}

[data-bookhub-app] .bookhub-book-card strong {
    font-size: 1rem;
}

[data-bookhub-app] .bookhub-book-card span {
    width: fit-content;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e9f0ff;
    color: #1f55a6;
    font-size: .78rem;
    font-weight: 900;
}

[data-bookhub-app] .bookhub-book-card small {
    color: #5d675f;
    font-weight: 800;
}

[data-bookhub-app] .bookhub-binder {
    position: static;
    align-self: stretch;
    display: grid;
    align-content: start;
    gap: 6px;
    min-height: 100%;
    padding: 10px;
    border: 0;
    border-right: 1px solid #d6dfda;
    border-radius: 0;
    background: #ecf0ed;
    box-shadow: none;
}

[data-bookhub-app] .bookhub-binder-title {
    display: grid;
    gap: 4px;
    margin-bottom: 8px;
    padding: 0 0 12px;
    border-bottom: 1px solid #cfd8d3;
}

[data-bookhub-app] .bookhub-binder-title strong {
    font-size: 1.05rem;
}

[data-bookhub-app] .bookhub-binder form,
[data-bookhub-app] .bookhub-binder-tree form {
    margin: 0;
}

[data-bookhub-app] .bookhub-binder > form > button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 38px;
    padding: 9px 11px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #31413a;
    font: inherit;
    font-size: .94rem;
    font-weight: 900;
    text-align: left;
}

[data-bookhub-app] .bookhub-binder > form > button:hover,
[data-bookhub-app] .bookhub-binder > form > button.active {
    border-color: #cfd8d3;
    background: #fff;
    color: #9d3357;
    box-shadow: 0 4px 12px rgba(24, 33, 27, .07);
}

[data-bookhub-app] .bookhub-binder-tree {
    display: grid;
    gap: 3px;
    max-height: 520px;
    margin-top: 10px;
    padding-top: 12px;
    border-top: 1px solid #cfd8d3;
    overflow: auto;
}

[data-bookhub-app] .bookhub-binder-tree strong {
    color: #5d675f;
    font-size: .78rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

[data-bookhub-app] .bookhub-binder-tree button {
    width: 100%;
    padding: 7px 9px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #44534c;
    font: inherit;
    font-size: .82rem;
    font-weight: 800;
    text-align: left;
    overflow: hidden;
    line-height: 1.25;
    white-space: normal;
    cursor: pointer;
}

[data-bookhub-app] .bookhub-binder-tree button::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 7px;
    border: 1px solid #94a39b;
    border-radius: 2px;
    background: #fff;
}

[data-bookhub-app] .bookhub-binder-tree button:hover {
    background: #fff;
    color: #18211b;
}

[data-bookhub-app] .bookhub-stage {
    min-width: 0;
    padding: 14px;
    background: #f4f6f3;
}

[data-bookhub-app] .bookhub-view {
    display: none;
    gap: 16px;
    min-height: 610px;
    padding: 14px;
    border: 1px solid #cfd8d3;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(24, 33, 27, .06);
}

[data-bookhub-app] .bookhub-view.active {
    display: grid;
}

[data-bookhub-app] .bookhub-stage-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #dbe3df;
}

[data-bookhub-app] .bookhub-stage-head h2 {
    margin: 0;
    font-size: 1.45rem;
}

[data-bookhub-app] .top-kicker {
    color: #69766f;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

[data-bookhub-app] .bookhub-dashboard-grid,
[data-bookhub-app] .bookhub-continue-panel,
[data-bookhub-app] .bookhub-export-grid,
[data-bookhub-app] .bookhub-inspector-results {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

[data-bookhub-app] .bookhub-dashboard-grid article,
[data-bookhub-app] .bookhub-continue-panel article,
[data-bookhub-app] .bookhub-export-grid article,
[data-bookhub-app] .bookhub-inspector-results article {
    display: grid;
    gap: 6px;
    min-height: 108px;
    padding: 14px;
    border: 1px solid #d7e0dc;
    border-radius: 8px;
    background: #f8faf9;
}

[data-bookhub-app] .bookhub-dashboard-grid strong,
[data-bookhub-app] .bookhub-continue-panel strong,
[data-bookhub-app] .bookhub-inspector-results strong {
    color: #1f3f34;
    font-size: 1.45rem;
    line-height: 1;
}

[data-bookhub-app] .bookhub-dashboard-grid span,
[data-bookhub-app] .bookhub-continue-panel span,
[data-bookhub-app] .bookhub-export-grid span,
[data-bookhub-app] .bookhub-inspector-results span {
    color: #5d675f;
    font-weight: 900;
}

[data-bookhub-app] .bookhub-card-form,
[data-bookhub-app] .bookhub-scene-form {
    display: grid;
    gap: 13px;
}

[data-bookhub-app] .bookhub-card-form label,
[data-bookhub-app] .bookhub-scene-form label {
    display: grid;
    gap: 6px;
    color: #31413a;
    font-weight: 900;
}

[data-bookhub-app] .bookhub-card-form .wide,
[data-bookhub-app] .bookhub-scene-form .wide {
    grid-column: 1 / -1;
}

[data-bookhub-app] input,
[data-bookhub-app] select,
[data-bookhub-app] textarea {
    width: 100%;
    padding: 10px 11px;
    border: 1px solid #cfd8d3;
    border-radius: 8px;
    background: #fff;
    color: #18211b;
    font: inherit;
}

[data-bookhub-app] textarea {
    resize: vertical;
}

[data-bookhub-app] .bookhub-writing-desk {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 16px;
    align-items: start;
}

[data-bookhub-app] .bookhub-manuscript-pane {
    display: grid;
    gap: 12px;
    min-width: 0;
}

[data-bookhub-app] .bookhub-manuscript-pane label {
    display: grid;
    gap: 8px;
}

[data-bookhub-app] .bookhub-manuscript-pane label > span {
    color: #31413a;
    font-size: .9rem;
    font-weight: 900;
}

[data-bookhub-app] .bookhub-manuscript-editor {
    min-height: 620px;
    padding: 24px;
    border-color: #d7ded9;
    border-radius: 6px;
    background: #fff;
    color: #111713;
    font-size: 1.02rem;
    line-height: 1.72;
    box-shadow: inset 0 0 0 1px rgba(24, 33, 27, .025);
}

[data-bookhub-app] .bookhub-draft-panel {
    position: sticky;
    top: 12px;
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid #d7e0dc;
    border-radius: 8px;
    background: #f8faf9;
}

[data-bookhub-app] .bookhub-draft-panel strong {
    color: #1f3f34;
    font-size: 1.35rem;
}

[data-bookhub-app] .bookhub-draft-panel p,
[data-bookhub-app] .bookhub-draft-panel li {
    color: #44534c;
    font-size: .9rem;
    line-height: 1.45;
}

[data-bookhub-app] .bookhub-draft-panel ul {
    margin: 0;
    padding-left: 18px;
}

[data-bookhub-app] .bookhub-draft-panel label,
[data-bookhub-app] .bookhub-draft-panel details {
    display: grid;
    gap: 7px;
    color: #31413a;
    font-weight: 900;
}

[data-bookhub-app] .bookhub-draft-panel summary {
    cursor: pointer;
}

[data-bookhub-app] .bookhub-inline-form {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.2fr) auto;
    gap: 8px;
    align-items: end;
    min-width: min(100%, 560px);
}

[data-bookhub-app] .bookhub-corkboard {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}

[data-bookhub-app] .bookhub-chapter-card {
    display: grid;
    gap: 10px;
    min-height: 190px;
    padding: 14px;
    border: 1px solid #d6dfda;
    border-left: 5px solid #9d3357;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(24, 33, 27, .06);
}

[data-bookhub-app] .bookhub-chapter-card h3,
[data-bookhub-app] .bookhub-bible-card h3 {
    margin: 0;
    font-size: 1rem;
}

[data-bookhub-app] .bookhub-chapter-card p {
    color: #5d675f;
    font-size: .9rem;
}

[data-bookhub-app] .bookhub-scene-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-content: end;
}

[data-bookhub-app] .bookhub-scene-chip-row form {
    margin: 0;
}

[data-bookhub-app] .bookhub-scene-chip-row button {
    padding: 6px 9px;
    border: 1px solid #cfd8d3;
    border-radius: 999px;
    background: #f8faf9;
    color: #31413a;
    font: inherit;
    font-size: .82rem;
    font-weight: 900;
    cursor: pointer;
}

[data-bookhub-app] .bookhub-bible-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 12px;
}

[data-bookhub-app] .bookhub-bible-card {
    display: grid;
    gap: 8px;
    min-height: 132px;
    padding: 14px;
    border: 1px solid #d6dfda;
    border-radius: 8px;
    background: #fff;
}

[data-bookhub-app] .bookhub-bible-card span {
    width: fit-content;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e9f0ff;
    color: #1f55a6;
    font-size: .76rem;
    font-weight: 900;
}

[data-bookhub-app] .bookhub-timeline {
    display: grid;
    gap: 12px;
    overflow-x: auto;
}

[data-bookhub-app] .bookhub-timeline-row {
    display: grid;
    grid-template-columns: 150px minmax(620px, 1fr);
    gap: 12px;
    align-items: center;
}

[data-bookhub-app] .bookhub-timeline-row > strong {
    color: #31413a;
}

[data-bookhub-app] .bookhub-timeline-rail {
    display: flex;
    gap: 10px;
    min-height: 86px;
    padding: 12px;
    border: 1px solid #d7e0dc;
    border-radius: 8px;
    background:
        linear-gradient(90deg, transparent 0 48%, #cbd7d1 48% 49%, transparent 49%),
        #f8faf9;
}

[data-bookhub-app] .bookhub-timeline-rail span {
    display: grid;
    align-content: center;
    min-width: 160px;
    padding: 10px;
    border: 2px solid #9d3357;
    border-radius: 8px;
    background: #fff;
    font-weight: 900;
    box-shadow: 0 6px 14px rgba(24, 33, 27, .07);
}

@media (max-width: 1100px) {
    [data-bookhub-app] .bookhub-workspace-shell {
        grid-template-columns: 1fr;
    }

    [data-bookhub-app] .bookhub-binder {
        border-right: 0;
        border-bottom: 1px solid #d6dfda;
    }

    [data-bookhub-app] .bookhub-dashboard-grid,
    [data-bookhub-app] .bookhub-continue-panel,
    [data-bookhub-app] .bookhub-export-grid,
    [data-bookhub-app] .bookhub-inspector-results,
    [data-bookhub-app] .bookhub-card-form,
    [data-bookhub-app] .bookhub-scene-form,
    [data-bookhub-app] .bookhub-writing-desk {
        grid-template-columns: 1fr;
    }

    [data-bookhub-app] .bookhub-draft-panel {
        position: static;
    }
}

.auth-entry {
    width: min(940px, 100%);
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(320px, 1fr);
    padding: 0;
    overflow: hidden;
}

.auth-story {
    min-height: 432px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 26px;
    padding: 32px;
    background:
        linear-gradient(145deg, rgba(17,107,47,.98), rgba(38,56,45,.98)),
        #26382d;
    color: #fff;
}

.auth-story .auth-brand {
    color: #fff;
}

.auth-kicker {
    margin: 30px 0 8px;
    color: #d9f2e3;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.auth-story h2 {
    margin: 0;
    max-width: 11em;
    font-size: 2rem;
    line-height: 1.08;
}

.auth-benefits {
    display: grid;
    gap: 9px;
}

.auth-benefit {
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 8px;
    background: rgba(255,255,255,.1);
    padding: 10px 12px;
    font-weight: 800;
}

.auth-form-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 32px;
}

.auth-form-card h1 {
    margin: 0 0 10px;
    font-size: 2rem;
    line-height: 1.12;
}

.auth-lede {
    margin: 0 0 20px;
    color: var(--muted);
}

.auth-form-card .button.primary {
    min-height: 48px;
}

@media (max-width: 760px) {
    .auth-page {
        place-items: start center;
    }

    .auth-entry {
        grid-template-columns: 1fr;
    }

    .auth-story {
        min-height: auto;
        padding: 24px;
    }

    .auth-story h2 {
        max-width: none;
        font-size: 1.55rem;
    }

    .auth-form-card {
        padding: 24px;
    }

    .auth-links {
        align-items: flex-start;
        flex-direction: column;
    }
}

label {
    display: grid;
    gap: 5px;
    color: var(--muted);
    font-size: .92rem;
    font-weight: 800;
}

input,
textarea,
select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #cfd6cd;
    border-radius: 7px;
    padding: 9px;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

textarea {
    min-height: 120px;
    resize: vertical;
}

.button,
button {
    border: 0;
    border-radius: 7px;
    background: var(--accent);
    color: var(--accent-ink);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 40px;
    padding: 9px 13px;
    font: inherit;
    font-weight: 900;
    text-decoration: none;
}

.button.primary,
button.primary {
    background: var(--accent);
    color: var(--accent-ink);
}

.button.compact,
button.compact {
    min-height: 34px;
    padding: 7px 11px;
    font-size: .9rem;
}

.button.secondary,
button.secondary {
    background: #f6f9fc;
    color: var(--ink);
    border: 1px solid var(--line);
}

.icon-button {
    display: inline-grid;
    place-items: center;
    width: 38px;
    min-width: 38px;
    height: 38px;
    border-radius: 7px;
    border: 1px solid var(--line);
    background: #f6f9fc;
    color: var(--ink);
    font-weight: 900;
    text-decoration: none;
}

.icon-button:hover,
.icon-button.active {
    background: var(--side);
    border-color: var(--side);
    color: #fff;
}

.button.danger,
button.danger,
.notice.danger {
    background: var(--danger);
    color: #fff;
}

button[disabled],
.disabled-link {
    opacity: .55;
    cursor: not-allowed;
    pointer-events: none;
}

.admin-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 272px 1fr;
}

.admin-side,
.product-side {
    background: var(--side);
    color: #fff;
    padding: 14px 12px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: auto;
}

.side-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 4px 0 16px;
}

.admin-side {
    box-shadow: inset -1px 0 0 rgba(255,255,255,.08);
}

.simple-side {
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 12px;
}

.nav-mode-buttons {
    display: flex;
    gap: 6px;
}

.nav-icon-button,
.nav-expand {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    background: var(--side-soft);
    color: #fff;
}

.nav-icon-button:hover,
.nav-expand:hover {
    background: rgba(255,255,255,.2);
}

.nav-expand {
    display: none;
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 30;
    background: var(--side);
}

.admin-user {
    margin-bottom: 18px;
    color: #dbe6dd;
    font-size: .85rem;
}

.nav-section {
    border-top: 1px solid rgba(255,255,255,.18);
    padding: 10px 0;
}

.nav-toggle {
    width: 100%;
    border: 0;
    background: transparent;
    color: #fff;
    justify-content: flex-start;
    padding: 8px 0;
}

.nav-links {
    display: grid;
    gap: 4px;
    padding: 4px 0 8px;
}

.nav-links a,
.product-side a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #edf4ef;
    text-decoration: none;
    padding: 9px 10px;
    border-radius: 6px;
    font-weight: 800;
}

.nav-links a:hover,
.nav-links a.active,
.product-side a:hover,
.product-side a.active,
.side-action:hover,
.side-action.active {
    background: var(--side-soft);
}

.side-primary-actions {
    display: grid;
    align-content: start;
    gap: 6px;
}

.workspace-nav:empty {
    min-height: 24px;
}

.side-bottom {
    display: grid;
    gap: 10px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.18);
}

.side-action {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #edf4ef;
    text-decoration: none;
    padding: 10px;
    border-radius: 7px;
    font-weight: 900;
}

.bookhub-product-side {
    background: #1d3728;
    grid-template-rows: auto auto 1fr auto;
}

.bookhub-product-context {
    display: grid;
    gap: 5px;
    margin: 0 2px 12px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 8px;
    background: rgba(255,255,255,.07);
}

.bookhub-product-context span {
    color: #b9c9c0;
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.bookhub-product-context strong {
    color: #fff;
    font-size: 1rem;
}

.bookhub-product-nav {
    gap: 7px;
}

.bookhub-product-nav-form {
    margin: 0;
}

.bookhub-product-nav-form .side-action {
    width: 100%;
    min-height: 42px;
    border: 1px solid transparent;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.bookhub-product-nav-form .side-action:hover,
.bookhub-product-nav-form .side-action.active {
    border-color: rgba(255,255,255,.16);
    background: rgba(255,255,255,.13);
    color: #fff;
}

.bookhub-product-nav-form .side-action.active {
    box-shadow: inset 4px 0 0 var(--brand);
}

.bookhub-quiet-status {
    color: #dbe8e0;
}

.bookhub-quiet-status span {
    font-size: .9rem;
    font-weight: 900;
}

.bookhub-quiet-status small {
    color: #adc2b5;
    font-size: .78rem;
    font-weight: 800;
}

.product-anchor {
    min-height: 42px;
}

.profile-dock {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 38px;
    align-items: center;
    gap: 9px;
    min-height: 58px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 8px;
    background: rgba(0,0,0,.12);
}

.profile-avatar {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    object-fit: cover;
}

.profile-copy {
    display: grid;
    min-width: 0;
    color: #fff;
}

.profile-copy strong,
.profile-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-copy small {
    color: #dbe6dd;
    font-size: .76rem;
}

.settings-gear {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 7px;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 900;
    text-decoration: none;
}

.settings-gear:hover,
.settings-gear.active {
    background: var(--accent);
    color: var(--accent-ink);
}

.nav-icon {
    display: grid;
    place-items: center;
    width: 20px;
    font-weight: 900;
}

.admin-main {
    width: min(1360px, 100%);
    min-width: 0;
    box-sizing: border-box;
    padding: 22px;
}

.backend-window {
    min-height: calc(100vh - 116px);
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 12px 32px rgba(24,33,27,.08);
}

.empty-dashboard {
    background: rgba(255,255,255,.48);
}

.admin-topbar {
    min-height: 58px;
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(240px, 480px) auto;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,.88);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 9px 12px;
    margin-bottom: 16px;
    box-shadow: 0 12px 32px rgba(24,33,27,.08);
    backdrop-filter: blur(6px);
}

.action-topbar {
    grid-template-columns: minmax(180px, 1fr) auto;
}

.admin-topbar strong {
    display: block;
    font-size: 1.05rem;
}

.top-kicker {
    display: block;
    color: var(--muted);
    font-size: .74rem;
    font-weight: 900;
    text-transform: uppercase;
}

.global-search input {
    min-height: 38px;
    border-radius: 8px;
    background: #fcfcfa;
}

.top-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.product-window,
.settings-window {
    padding: 18px;
}

.product-library-window {
    display: grid;
    gap: 22px;
}

/* Stocks Game Lab */
.stocks-lab-shell { min-height: 100vh; background: #09120d; color: #eef4e8; }
.stocks-lab-side { background: linear-gradient(180deg, #0d2016, #07110c); border-right-color: rgba(219, 173, 63, .24); }
.stocks-lab-main { background: radial-gradient(circle at 78% 0%, rgba(68, 105, 56, .28), transparent 34%), #0c1710; }
.stocks-lab-shell .subtle { color: #aebda9; }
.stocks-lab-shell label { display: grid; gap: .38rem; color: #dbe5d7; font-size: .82rem; font-weight: 800; }
.stocks-lab-shell table { color: #dce6d8; }
.stocks-lab-head { border-bottom: 1px solid rgba(215, 171, 65, .2); padding-bottom: 1.25rem; }
.stocks-simulation-note { display: grid; gap: .4rem; margin-top: auto; padding: 1rem; border: 1px solid rgba(215, 171, 65, .28); border-radius: 16px; color: #dfe8d7; background: rgba(3, 9, 6, .42); }
.stocks-simulation-note span { color: #99a996; font-size: .82rem; line-height: 1.45; }
.stocks-summary-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .8rem; margin: 1.15rem 0; }
.stocks-summary-card { min-width: 0; padding: 1rem; border: 1px solid rgba(213, 168, 57, .22); border-radius: 15px; background: linear-gradient(145deg, rgba(28, 54, 37, .92), rgba(11, 24, 16, .96)); box-shadow: 0 14px 30px rgba(0, 0, 0, .16); }
.stocks-summary-card small, .stocks-summary-card span { display: block; color: #9cad99; }
.stocks-summary-card strong { display: block; margin: .35rem 0; color: #f3d47a; font-size: 1.1rem; line-height: 1.22; }
.stocks-summary-card span { font-size: .76rem; line-height: 1.35; }
.stocks-workbench-grid { display: grid; grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr); gap: 1rem; margin-bottom: 1rem; }
.stocks-lab-shell .panel { border-color: rgba(213, 168, 57, .2); background: rgba(14, 29, 19, .91); box-shadow: 0 18px 42px rgba(0, 0, 0, .18); }
.stocks-form-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.stocks-form-row:first-of-type { grid-template-columns: 1.6fr .7fr; }
.stocks-form-row + .stocks-form-row { grid-template-columns: 1.25fr .55fr .85fr; }
.stocks-world-form input { width: 100%; }
.stocks-world-list { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .9rem; }
.stocks-world-list strong { width: 100%; }
.stocks-world-list a { padding: .48rem .7rem; border: 1px solid rgba(213, 168, 57, .2); border-radius: 10px; color: #e8d594; text-decoration: none; }
.stocks-world-list small { color: #92a18e; }
.stocks-regime-track { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; }
.stocks-regime-card { display: grid; gap: .28rem; min-height: 98px; padding: .75rem; border-left: 3px solid #d4a93f; border-radius: 10px; background: #12271a; }
.stocks-regime-card span, .stocks-regime-card small { color: #98aa95; font-size: .73rem; }
.stocks-regime-card strong { font-size: .9rem; }
.regime-inflation_shock, .regime-trade_shock, .regime-late_cycle { border-left-color: #d89045; }
.regime-recession { border-left-color: #b84b4b; background: #281817; }
.regime-recovery, .regime-liquidity_boom, .regime-innovation_boom { border-left-color: #5ebd77; }
.stocks-company-panel { margin-bottom: 1rem; }
.stocks-company-table td small { display: block; color: #8fa08c; }
.stocks-company-table .company-failed { opacity: .7; background: rgba(91, 25, 25, .15); }
.stocks-company-table th, .stocks-company-table td { white-space: nowrap; }
.stocks-detail-grid { grid-template-columns: minmax(320px, .7fr) minmax(0, 1.3fr); }
.stocks-study-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; margin: 1rem 0; }
.stocks-study-row span { padding: .65rem; border: 1px solid rgba(220, 177, 70, .18); border-radius: 11px; background: rgba(3, 12, 7, .34); }
.stocks-study-row small, .stocks-study-row strong { display: block; }
.stocks-study-row small { color: #90a08d; font-size: .7rem; }
.stocks-mini-chart { height: 250px; padding: .5rem; color: #e6bd4f; border-radius: 14px; background: linear-gradient(180deg, rgba(31, 72, 46, .56), rgba(5, 13, 8, .85)); }
.stocks-mini-chart svg { width: 100%; height: 100%; overflow: visible; }
.stocks-news-list { display: grid; max-height: 640px; overflow: auto; padding-right: .35rem; }
.stocks-news-list article { padding: .9rem 0; border-bottom: 1px solid rgba(213, 168, 57, .14); }
.stocks-news-list article:first-child { padding-top: 0; }
.stocks-news-list article > div { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.stocks-news-list h3 { margin: .55rem 0 .3rem; font-family: Georgia, serif; color: #f1e8cf; }
.stocks-news-list p { margin: 0 0 .45rem; color: #b9c5b5; line-height: 1.48; }
.stocks-news-list time, .stocks-news-list article > small { color: #798b77; font-size: .72rem; }
.stocks-provider-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.stocks-provider-grid article { padding: .9rem; border: 1px solid rgba(213, 168, 57, .2); border-radius: 12px; background: rgba(4, 13, 8, .42); }
.stocks-provider-grid article > div { display: flex; justify-content: space-between; gap: .6rem; align-items: start; }
.stocks-provider-grid p { min-height: 66px; color: #aebbaa; font-size: .82rem; line-height: 1.42; }
.stocks-provider-grid small { color: #7f907c; }
.stocks-provider-grid .provider-disabled { opacity: .72; }

@media (max-width: 1180px) {
  .stocks-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stocks-regime-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stocks-provider-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .stocks-workbench-grid, .stocks-detail-grid { grid-template-columns: 1fr; }
  .stocks-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stocks-form-row, .stocks-form-row:first-of-type { grid-template-columns: 1fr; }
  .stocks-regime-track, .stocks-study-row, .stocks-provider-grid { grid-template-columns: 1fr; }
}

.product-showcase-library {
    min-height: calc(100vh - 118px);
    padding: 26px;
    border-color: rgba(210, 162, 66, .42);
    background: radial-gradient(circle at 82% 3%, rgba(104, 128, 69, .18), transparent 34%), linear-gradient(145deg, #07140f, #10251a 62%, #0a1812);
    color: #edf2e9;
    box-shadow: 0 24px 60px rgba(5, 18, 11, .22);
}

.product-showcase-header {
    display: grid;
    grid-template-columns: minmax(170px, .7fr) minmax(300px, 1.6fr) minmax(150px, .7fr);
    align-items: center;
    gap: 22px;
}

.product-showcase-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #f4f0df;
    text-decoration: none;
}

.product-showcase-brand strong,
.product-showcase-brand small { display: block; }

.product-showcase-brand small {
    margin-top: 2px;
    color: #d6a83f;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.product-showcase-search input {
    width: 100%;
    min-height: 54px;
    padding: 0 22px;
    border: 2px solid #a77d26;
    border-radius: 999px;
    background: rgba(2, 13, 8, .72);
    color: #f4f0df;
    font-size: 1rem;
    box-shadow: inset 0 0 0 4px rgba(224, 171, 61, .08);
}

.product-showcase-search input::placeholder { color: #acb8ae; }

.product-showcase-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    color: #b9c6bc;
    font-weight: 900;
}

.window-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.window-head h1 {
    margin: 0;
    font-size: 1.3rem;
}

.product-head-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.product-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
}

.product-library-tools {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(320px, auto) minmax(180px, 240px) auto;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.product-search {
    min-width: 0;
}

.product-search input {
    min-height: 38px;
    background: #fcfcfa;
}

.product-filter-group {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.product-category-filter {
    min-width: 0;
}

.product-category-filter select {
    min-height: 38px;
    background: #fcfcfa;
}

.product-no-results {
    grid-column: 1 / -1;
}

.start-cube-section {
    display: grid;
    gap: 12px;
    margin: 0 0 18px;
    padding: 14px;
    border: 1px solid rgba(38, 92, 63, .22);
    border-radius: 8px;
    background: #fbfdf8;
}

.start-cube-head {
    margin-bottom: 0;
}

.start-cube-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.compact-start-cubes {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.start-cube-card {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 250px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.start-cube-card-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.start-cube-card h3,
.start-cube-card p {
    margin: 0;
}

.start-cube-card small,
.start-cube-card p {
    color: var(--muted);
}

.start-cube-meta {
    display: grid;
    gap: 7px;
    margin-top: auto;
}

.start-cube-meta span {
    display: grid;
    gap: 2px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fcfcfa;
}

.start-cube-meta small {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.start-cube-children {
    display: grid;
    gap: 6px;
}

.start-cube-starts {
    margin-top: 0;
}

.workspace-strip {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    color: var(--muted);
    font-weight: 800;
}

.workspace-strip strong {
    color: var(--ink);
}

.product-shelf-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(96px, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.product-shelf-summary span {
    display: grid;
    gap: 2px;
    min-height: 56px;
    padding: 9px 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.product-shelf-summary strong {
    color: var(--ink);
    font-size: 1.1rem;
    line-height: 1;
}

.product-shelf-summary small {
    color: var(--muted);
    font-weight: 900;
}

.empty-state {
    display: grid;
    gap: 5px;
    min-height: 180px;
    place-items: center;
    border: 1px dashed var(--line);
    border-radius: 8px;
    background: #fcfcfa;
    color: var(--muted);
    text-align: center;
}

.empty-state strong {
    color: var(--ink);
}

.settings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.settings-panel {
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: 220px;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.settings-panel h2 {
    margin: 0;
    font-size: 1rem;
}

.switch-row {
    grid-template-columns: 20px 1fr;
    align-items: center;
    color: var(--ink);
}

.switch-row input {
    width: 18px;
    min-height: 18px;
}

.session-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.settings-state {
    margin: 0;
    color: var(--muted);
    font-weight: 800;
}

.provider-settings-window {
    margin-top: 14px;
}

.provider-settings-window .window-head {
    align-items: flex-start;
}

.provider-settings-window .window-head h1 {
    margin: 2px 0 6px;
}

.provider-settings-window .window-head p {
    max-width: 760px;
    margin: 0;
}

.provider-settings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.provider-key-card {
    min-height: 250px;
}

.provider-key-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.provider-key-heading h2 {
    margin-top: 3px;
}

.provider-key-state {
    flex: 0 0 auto;
    padding: 5px 8px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #f7f7f4;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 900;
}

.provider-key-state.ready {
    border-color: rgba(17, 107, 47, .35);
    background: rgba(17, 107, 47, .08);
    color: var(--green);
}

.provider-key-help {
    min-height: 42px;
    margin: 0;
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.45;
}

.provider-encryption-notice {
    margin-bottom: 12px;
}

.provider-settings-footer {
    display: grid;
    gap: 4px;
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(17, 107, 47, .22);
    border-radius: 8px;
    background: rgba(17, 107, 47, .05);
}

.provider-settings-footer span {
    color: var(--muted);
    font-size: .85rem;
    line-height: 1.45;
}

.page-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.hero-head {
    background: linear-gradient(135deg, rgba(217,164,65,.14), rgba(17,107,47,.08)), #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 18px;
    box-shadow: 0 12px 32px rgba(24,33,27,.08);
}

.page-head h1,
.panel h2 {
    margin: 0;
}

.eyebrow {
    margin: 0 0 4px;
    color: #725516;
    font-weight: 900;
    text-transform: uppercase;
    font-size: .78rem;
}

.subtle { color: var(--muted); }

.owner-dev-details {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fcfcfa;
}

.owner-dev-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 38px;
    padding: 9px 12px;
    color: var(--muted);
    cursor: pointer;
    font-weight: 900;
}

.owner-dev-details summary::-webkit-details-marker {
    display: none;
}

.owner-dev-details summary::after {
    content: "+";
    color: var(--ink);
    font-weight: 900;
}

.owner-dev-details[open] summary::after {
    content: "-";
}

.owner-dev-details > :not(summary) {
    margin: 0 12px 12px;
}

.product-meta-details,
.devtickets-owner-scope,
.devtickets-form-advanced,
.artemis-ticket-advanced {
    grid-column: 1 / -1;
}

.start-cube-meta-details {
    margin-top: auto;
}

.panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
    margin: 14px 0;
    box-shadow: 0 10px 28px rgba(24,33,27,.06);
}

.grid,
.metric-grid {
    display: grid;
    gap: 12px;
}

.grid.two,
.metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.metric-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.metric {
    display: grid;
    gap: 4px;
}

.metric span,
.stack-list small {
    color: var(--muted);
}

.metric strong {
    font-size: 1.8rem;
}

.metric {
    border-top: 4px solid var(--accent);
}

.stack-list span {
    display: grid;
    gap: 3px;
    border: 1px solid #e3e7e1;
    border-radius: 8px;
    background: #fcfcfa;
    padding: 10px 12px;
    overflow-wrap: anywhere;
}

.product-card {
    position: relative;
    display: grid;
    grid-template-rows: auto auto auto auto;
    gap: 12px;
    min-height: 240px;
    margin: 0;
    border-top: 0;
    border-left: 4px solid #9ba69d;
}

.product-card[data-product-shelf-state="usable"] {
    border-left-color: var(--good);
}

.product-card[data-product-shelf-state="proof-only"] {
    border-left-color: #2f5f85;
}

.product-card[data-product-shelf-state="planned"] {
    border-left-color: var(--accent);
}

.product-card[data-product-shelf-state="research"] {
    border-left-color: #52606d;
}

.product-card[data-product-shelf-state="disabled"] {
    border-left-color: #9ba69d;
}

.priority-product-card {
    box-shadow: 0 16px 36px rgba(24,33,27,.12);
}

.product-showcase-card {
    display: grid;
    grid-template-rows: auto 190px minmax(92px, auto) auto auto auto;
    gap: 16px;
    min-height: 570px;
    margin: 0;
    padding: 22px;
    overflow: hidden;
    border: 1px solid rgba(218, 164, 60, .54);
    border-left-width: 1px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,.025), transparent 28%), rgba(6, 24, 15, .92);
    color: #edf2e9;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.product-showcase-card:hover {
    transform: translateY(-2px);
    border-color: rgba(232, 184, 80, .82);
    box-shadow: 0 24px 52px rgba(0, 0, 0, .3);
}

.product-showcase-heading {
    display: grid;
    justify-items: start;
    gap: 10px;
}

.product-showcase-heading h2 {
    margin: 0;
    color: #fff9e9;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 2.3vw, 2.65rem);
    line-height: .96;
}

.product-category-tag {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 11px;
    border: 1px solid rgba(218, 164, 60, .58);
    border-radius: 999px;
    background: rgba(218, 164, 60, .1);
    color: #f3cc72;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.product-showcase-art {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 190px;
    overflow: hidden;
    border: 1px solid rgba(209, 226, 211, .14);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(218,164,60,.18), transparent 52%), repeating-linear-gradient(45deg, transparent 0 24px, rgba(255,255,255,.025) 24px 25px), #173425;
}

.product-showcase-glow {
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(231,182,73,.3), rgba(43,91,61,.08) 48%, transparent 70%);
}

.product-showcase-art .product-icon {
    position: relative;
    width: 88px;
    height: 88px;
    border: 1px solid rgba(255, 234, 183, .24);
    border-radius: 22px;
    background: linear-gradient(145deg, #294b37, #10291c);
    color: #ffe09a;
    font-size: 2.4rem;
    box-shadow: 0 18px 38px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.12);
}

.product-showcase-art .shelf-state {
    position: absolute;
    right: 12px;
    bottom: 12px;
}

.product-showcase-card .product-description {
    color: #c9d3ca;
    font-size: 1rem;
    line-height: 1.55;
}

.product-showcase-card .product-card-meta-row {
    padding-top: 0;
    border-top: 0;
}

.product-showcase-card .product-card-meta-chip {
    border-color: rgba(220, 230, 220, .16);
    background: rgba(255,255,255,.05);
    color: #bdc8bf;
}

.product-showcase-card .product-card-meta-chip.good {
    border-color: rgba(95, 208, 145, .32);
    background: rgba(57, 156, 101, .12);
    color: #81dbaa;
}

.product-showcase-card .product-card-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
    min-width: 0;
}

.product-showcase-card .product-card-actions .button {
    min-height: 48px;
    border-radius: 10px;
}

.product-showcase-card .product-card-primary,
.product-showcase-card .product-card-actions > .button.primary:first-child {
    background: #e0ab3d;
    border-color: #e0ab3d;
    color: #11170f;
}

.product-showcase-card .product-card-more {
    width: auto;
    min-width: 92px;
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.18);
    color: #edf2e9;
}

.product-card-manage { border-top: 1px solid rgba(225, 235, 225, .13); }

.product-card-manage summary {
    padding-top: 12px;
    color: #aebbb0;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 900;
}

.product-card-manage-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.product-card-manage-actions form,
.product-card-manage-actions button { width: 100%; }

.product-card-manage-actions .product-next-action {
    grid-column: 1 / -1;
    color: #aebbb0;
    font-size: .83rem;
}

.product-card-manage-actions .product-next-action strong { color: #edf2e9; }

.product-showcase-library .product-no-results {
    border-color: rgba(218,164,60,.42);
    background: rgba(3,15,9,.55);
    color: #bdc8bf;
}

.product-showcase-library .product-no-results strong { color: #fff9e9; }

@media (max-width: 1200px) {
    .product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-showcase-header { grid-template-columns: minmax(150px, .6fr) minmax(260px, 1.4fr) auto; }
}

@media (max-width: 820px) {
    .product-showcase-library { padding: 18px; }
    .product-showcase-header,
    .product-showcase-tools,
    .product-list { grid-template-columns: 1fr; }
    .product-showcase-header-actions { justify-content: flex-start; }
    .product-showcase-card { min-height: 0; }
}

.product-card-main {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.product-card-body {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) minmax(148px, auto);
    gap: 16px;
    align-items: start;
}

.product-icon-panel {
    display: grid;
    place-items: center;
    width: 96px;
    min-height: 96px;
    border: 1px solid rgba(38, 56, 45, .14);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(217,164,65,.15), rgba(17,107,47,.1)),
        #fbfcfa;
}

.product-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.product-card-heading h2,
.product-card-heading small {
    margin: 0;
}

.product-card-heading h2 {
    font-size: 1.08rem;
    line-height: 1.2;
}

.product-card-heading small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-weight: 800;
}

.product-description {
    margin: 0;
    color: #2d3830;
}

.product-next-action {
    max-width: 68ch;
    margin: 0;
    color: var(--muted);
}

.product-next-action strong {
    color: var(--ink);
}

.product-icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 8px;
    background: #26382d;
    color: #fff;
    font-size: 1.55rem;
    font-weight: 900;
    box-shadow: inset 0 -10px 18px rgba(0,0,0,.12);
}

.product-card-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
}

.product-card-meta-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    width: max-content;
    max-width: 100%;
    padding: 4px 8px;
    border: 1px solid #dfe5dc;
    border-radius: 7px;
    background: #f8faf7;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 900;
}

.product-card-meta-chip.good {
    border-color: #c9ead9;
    background: #effaf4;
    color: var(--good);
}

.product-card-meta-chip.muted {
    color: var(--muted);
}

.product-card-actions {
    align-self: end;
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    min-width: 148px;
}

.product-card-actions form {
    display: grid;
}

.product-card-actions .button,
.product-card-actions button {
    width: 100%;
    min-height: 36px;
    flex: 0 0 auto;
}

.product-detail-window {
    display: grid;
    align-content: start;
    gap: 14px;
}

.product-detail-head {
    margin-bottom: 0;
}

.product-detail-hero {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) minmax(140px, auto);
    align-items: center;
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(24,33,27,.06);
}

.product-detail-hero h2,
.product-detail-hero p,
.product-detail-panel h2,
.product-detail-panel p {
    margin: 0;
}

.product-detail-hero h2 {
    margin-top: 7px;
    font-size: 1.18rem;
}

.product-detail-hero p,
.product-detail-panel p {
    color: var(--muted);
}

.product-detail-actions {
    justify-content: flex-end;
}

.product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(180px, .6fr));
    gap: 12px;
}

.product-detail-panel {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 142px;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.product-detail-primary {
    grid-row: span 2;
}

.product-detail-facts {
    display: grid;
    gap: 8px;
}

.product-detail-facts span {
    display: grid;
    gap: 2px;
    padding: 9px 10px;
    border: 1px solid #e3e7e1;
    border-radius: 8px;
    background: #fcfcfa;
}

.product-detail-facts strong {
    color: var(--ink);
}

.product-detail-facts small {
    color: var(--muted);
    font-weight: 800;
}

.product-detail-setup {
    grid-column: span 2;
}

.product-detail-foot {
    display: flex;
    justify-content: flex-start;
}

.product-settings {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.product-settings div {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    padding: 7px 9px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fbfcfa;
    color: var(--muted);
    font-weight: 800;
    font-size: .8rem;
}

.product-settings strong {
    flex: 0 0 auto;
    color: var(--ink);
}

.product-settings small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.security-form {
    min-height: auto;
    margin-bottom: 12px;
}

.motionforge-window {
    display: grid;
    align-content: start;
    gap: 16px;
}

.motionforge-launch-grid {
    display: grid;
    grid-template-columns: minmax(280px, 1.25fr) repeat(3, minmax(150px, .55fr));
    gap: 12px;
}

.motionforge-panel {
    display: grid;
    align-content: space-between;
    gap: 12px;
    min-width: 0;
    min-height: 152px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.motionforge-primary {
    background: #fbfdf8;
    border-left: 4px solid var(--side);
}

.motionforge-panel h2,
.motionforge-panel p {
    margin: 0;
    overflow-wrap: anywhere;
}

.motionforge-panel strong {
    font-size: 1.08rem;
    overflow-wrap: anywhere;
}

.motionforge-panel small {
    color: var(--muted);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.motionforge-frame-shell {
    min-height: min(64vh, 620px);
    border: 1px solid #1f2a23;
    border-radius: 8px;
    overflow: hidden;
    background: #161916;
}

.motionforge-frame-placeholder {
    min-height: min(64vh, 620px);
    display: grid;
    place-items: center;
    align-content: center;
    gap: 6px;
    padding: 26px;
    color: #f5f7f3;
    text-align: center;
    background:
        linear-gradient(135deg, rgba(217,164,65,.22), rgba(17,107,47,.14)),
        #161916;
}

.motionforge-frame-placeholder span {
    color: #d6ddd5;
}

.motionforge-frame {
    width: 100%;
    height: min(64vh, 620px);
    display: block;
    border: 0;
    background: #161916;
}

.motionforge-frame[hidden],
.motionforge-frame-placeholder[hidden] {
    display: none;
}

.bookhub-window,
.story-universe-window {
    display: grid;
    align-content: start;
    gap: 16px;
}

.bookhub-app-window {
    gap: 14px;
}

.bookhub-db-pill {
    width: fit-content;
    padding: 7px 10px;
    border: 1px solid #bfe4ca;
    border-radius: 999px;
    background: #effaf2;
    color: #116b2f;
    font-weight: 900;
    font-size: .86rem;
}

.bookhub-db-required {
    display: grid;
    gap: 12px;
    max-width: 760px;
    padding: 18px;
    border: 1px solid #f0c36a;
    border-radius: 8px;
    background: #fffaf0;
}

.bookhub-db-required h2,
.bookhub-db-required p {
    margin: 0;
}

.bookhub-db-required pre {
    margin: 0;
    padding: 12px;
    border: 1px solid #ecd79e;
    border-radius: 8px;
    background: #fff;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.bookhub-shelf {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.bookhub-shelf h2,
.bookhub-shelf p,
.bookhub-stage h2,
.bookhub-stage h3,
.bookhub-stage p {
    margin: 0;
}

.bookhub-workspace-shell {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.bookhub-binder,
.bookhub-stage,
.bookhub-view,
.bookhub-card-form,
.bookhub-scene-form {
    min-width: 0;
}

.bookhub-binder {
    position: sticky;
    top: 12px;
    display: grid;
    gap: 7px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.bookhub-binder-title {
    display: grid;
    gap: 2px;
    padding: 0 2px 8px;
    border-bottom: 1px solid var(--line);
}

.bookhub-binder form,
.bookhub-binder-tree form,
.bookhub-book-card {
    margin: 0;
}

.bookhub-binder button,
.bookhub-binder-tree button,
.bookhub-book-card button {
    width: 100%;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--ink);
    font: inherit;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
}

.bookhub-binder button {
    padding: 9px 10px;
}

.bookhub-binder button:hover,
.bookhub-binder button.active,
.bookhub-binder-tree button:hover {
    border-color: #91415f;
    background: #fff5f8;
    color: #642640;
}

.bookhub-binder-tree {
    display: grid;
    gap: 3px;
    max-height: 320px;
    overflow: auto;
    padding-top: 8px;
    border-top: 1px solid var(--line);
}

.bookhub-binder-tree strong {
    padding: 0 2px 4px;
}

.bookhub-binder-tree button {
    padding: 6px 8px;
    color: var(--muted);
    font-size: .88rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bookhub-stage {
    display: grid;
}

.bookhub-view {
    display: none;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.bookhub-view.active {
    display: grid;
}

.bookhub-stage-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}

.bookhub-dashboard-grid,
.bookhub-export-grid,
.bookhub-inspector-results {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
}

.bookhub-dashboard-grid article,
.bookhub-export-grid article,
.bookhub-inspector-results article,
.bookhub-chapter-card,
.bookhub-bible-card {
    display: grid;
    gap: 7px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8faf9;
}

.bookhub-dashboard-grid strong,
.bookhub-inspector-results strong {
    font-size: 1.8rem;
    line-height: 1;
}

.bookhub-dashboard-grid span,
.bookhub-export-grid span,
.bookhub-inspector-results span,
.bookhub-bible-card small,
.bookhub-chapter-card span {
    color: var(--muted);
    font-weight: 800;
}

.bookhub-card-form,
.bookhub-scene-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bookhub-card-form label,
.bookhub-scene-form label,
.bookhub-inline-form {
    display: grid;
    gap: 5px;
    font-weight: 900;
}

.bookhub-card-form .wide,
.bookhub-scene-form .wide {
    grid-column: 1 / -1;
}

.bookhub-card-form input,
.bookhub-card-form select,
.bookhub-card-form textarea,
.bookhub-scene-form input,
.bookhub-scene-form select,
.bookhub-scene-form textarea,
.bookhub-inline-form input,
.bookhub-inline-form select {
    width: 100%;
    padding: 9px 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

.bookhub-inline-form {
    grid-template-columns: minmax(120px, 1fr) minmax(160px, 1fr) auto;
    align-items: end;
}

.bookhub-corkboard,
.bookhub-bible-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.bookhub-scene-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.bookhub-scene-chip-row form {
    margin: 0;
}

.bookhub-scene-chip-row button {
    padding: 7px 9px;
    border: 1px solid #cdd9ff;
    border-radius: 999px;
    background: #f4f7ff;
    color: #2447aa;
    font-weight: 900;
    cursor: pointer;
}

.bookhub-book-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.bookhub-book-card {
    padding: 0;
    border-color: var(--line);
    background: #f8faf9;
}

.bookhub-book-card.active {
    border-color: #91415f;
    background: #fff5f8;
}

.bookhub-book-card button {
    display: grid;
    gap: 6px;
    min-height: 96px;
    padding: 13px;
}

.bookhub-book-card span,
.bookhub-bible-card span {
    width: fit-content;
    padding: 4px 8px;
    border-radius: 999px;
    background: #edf4ff;
    color: #1f55a6;
    font-size: .8rem;
    font-weight: 900;
}

.bookhub-timeline {
    display: grid;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 6px;
}

.bookhub-timeline-row {
    display: grid;
    grid-template-columns: 140px minmax(460px, 1fr);
    gap: 10px;
    align-items: center;
}

.bookhub-timeline-rail {
    display: flex;
    gap: 8px;
    min-height: 72px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(90deg, transparent 0, transparent 48%, #d7dee0 49%, transparent 50%);
}

.bookhub-timeline-rail span {
    display: grid;
    align-content: center;
    min-width: 150px;
    padding: 9px;
    border: 2px solid #91415f;
    border-radius: 8px;
    background: #fff;
    font-weight: 900;
}

.bookhub-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) repeat(2, minmax(220px, .72fr));
    gap: 12px;
    align-items: stretch;
}

.bookhub-head {
    align-items: center;
}

.bookhub-v1-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 18px;
    border: 1px solid #e3ccd6;
    border-left: 4px solid #91415f;
    border-radius: 8px;
    background: #fffafb;
}

.bookhub-v1-banner h2,
.bookhub-v1-banner p,
.bookhub-book-shelf h2,
.bookhub-desk h2,
.bookhub-desk h3,
.bookhub-desk p {
    margin: 0;
}

.bookhub-v1-banner p,
.bookhub-desk p {
    color: var(--muted);
}

.bookhub-v1-proof {
    display: grid;
    justify-items: end;
    gap: 3px;
    min-width: 132px;
}

.bookhub-v1-proof strong {
    font-size: 2.2rem;
    line-height: 1;
}

.bookhub-v1-proof small {
    color: var(--muted);
    font-weight: 800;
}

.bookhub-book-shelf,
.bookhub-desk {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.bookhub-book-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.bookhub-book-card {
    display: grid;
    gap: 5px;
    min-height: 104px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8faf9;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
}

.bookhub-book-card:hover,
.bookhub-book-card.active {
    border-color: #91415f;
    background: #fff5f8;
    box-shadow: 0 8px 18px rgba(145,65,95,.12);
}

.bookhub-book-card span {
    font-size: 1.05rem;
    font-weight: 900;
}

.bookhub-book-card strong,
.bookhub-book-card small {
    color: var(--muted);
}

.bookhub-desk-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.bookhub-desk-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.bookhub-desk-tabs button {
    flex: 0 0 auto;
    padding: 9px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--muted);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.bookhub-desk-tabs button.active {
    border-color: #91415f;
    background: #91415f;
    color: #fff;
}

.bookhub-desk-panels {
    min-height: 232px;
}

.bookhub-desk-panel {
    display: none;
    gap: 14px;
}

.bookhub-desk-panel.active {
    display: grid;
}

.bookhub-metric-grid,
.bookhub-lane-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.bookhub-metric-grid span,
.bookhub-lane-grid article,
.bookhub-focus-card {
    display: grid;
    gap: 7px;
    min-height: 118px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8faf9;
}

.bookhub-metric-grid strong {
    font-size: 1.7rem;
    line-height: 1;
}

.bookhub-metric-grid small {
    color: var(--muted);
    font-weight: 800;
}

.bookhub-focus-card {
    border-color: #d9c0ca;
    background: #fffafb;
}

.story-universe-grid,
.story-universe-lower-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    align-items: stretch;
}

.bookhub-panel,
.story-universe-panel {
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: 184px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.bookhub-primary,
.story-universe-wide {
    border-left: 4px solid #91415f;
    background: #fffafb;
}

.bookhub-panel h2,
.bookhub-panel p,
.story-universe-panel h2,
.story-universe-panel p {
    margin: 0;
}

.bookhub-panel p,
.story-universe-panel p {
    color: var(--muted);
}

.bookhub-child-list {
    display: grid;
    gap: 12px;
}

.bookhub-universe-connector,
.story-builder-workbench {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-left: 4px solid #376c86;
    border-radius: 8px;
    background: #f7fbfd;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.bookhub-universe-import-list,
.story-entry-library {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.bookhub-universe-empty,
.story-entry-empty {
    display: grid;
    gap: 4px;
    min-height: 112px;
    padding: 14px;
    border: 1px dashed #aac1c9;
    border-radius: 8px;
    background: #fff;
    color: var(--muted);
}

.bookhub-universe-empty strong,
.story-entry-empty strong {
    color: var(--ink);
}

.story-builder-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 10px;
    align-items: end;
}

.story-builder-form label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 800;
}

.story-builder-form input,
.story-builder-form select,
.story-builder-form textarea {
    width: 100%;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

.story-builder-wide {
    grid-column: span 2;
}

.story-builder-actions,
.story-entry-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.story-entry-card {
    display: grid;
    gap: 12px;
    min-height: 220px;
    padding: 14px;
    border: 1px solid var(--line);
    border-top: 4px solid #376c86;
    border-radius: 8px;
    background: #fff;
}

.story-entry-card.compact {
    min-height: 168px;
}

.story-entry-card header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}

.story-entry-card h3 {
    margin: 0;
    font-size: 1.08rem;
}

.story-entry-fields {
    display: grid;
    grid-template-columns: minmax(76px, .34fr) minmax(0, 1fr);
    gap: 6px 10px;
    margin: 0;
}

.story-entry-fields dt {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.story-entry-fields dd {
    min-width: 0;
    margin: 0;
    color: var(--ink);
}

.story-universe-roadmap-details {
    display: block;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.story-universe-roadmap-details > summary {
    cursor: pointer;
    color: var(--ink);
    font-weight: 900;
}

.story-universe-roadmap-details[open] {
    display: grid;
    gap: 12px;
}

.story-universe-wide {
    margin-top: 0;
}

.story-universe-canon {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-left: 4px solid #376c86;
    border-radius: 8px;
    background: #f7fbfd;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.story-character-generator {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-left: 4px solid #5b7f57;
    border-radius: 8px;
    background: #f7fbf7;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.story-map-timeline {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-left: 4px solid #6f5b91;
    border-radius: 8px;
    background: #fbf9ff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.story-backstory-builder {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-left: 4px solid #b98035;
    border-radius: 8px;
    background: #fffaf0;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.story-continuity-linker {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-left: 4px solid #2f6f6a;
    border-radius: 8px;
    background: #f5fbfa;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.story-canon-type-strip,
.story-canon-work-grid,
.story-canon-template-grid,
.story-character-work-grid,
.story-relationship-links,
.story-character-template-grid,
.story-map-place-grid,
.story-timeline-event-grid,
.story-map-template-grid,
.story-continuity-link-grid,
.story-continuity-template-grid {
    display: grid;
    gap: 10px;
}

.story-backstory-layout {
    display: grid;
    grid-template-columns: minmax(300px, .9fr) minmax(320px, 1fr);
    gap: 12px;
    align-items: start;
}

.story-backstory-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(160px, 1fr));
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.story-backstory-form label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 800;
}

.story-backstory-form input,
.story-backstory-form textarea {
    width: 100%;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

.story-backstory-wide,
.story-backstory-actions {
    grid-column: 1 / -1;
}

.story-backstory-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.story-backstory-notes {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.story-backstory-notes header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}

.story-backstory-notes h3,
.story-backstory-next-actions h4 {
    margin: 0;
}

.story-backstory-note-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(210px, 1fr));
    gap: 10px;
}

.story-backstory-note {
    display: grid;
    gap: 8px;
    min-height: 118px;
    padding: 12px;
    border: 1px solid var(--line);
    border-top: 4px solid #b98035;
    border-radius: 8px;
    background: #fffaf0;
}

.story-backstory-note p {
    margin: 0;
    color: var(--ink);
}

.story-backstory-next-actions {
    display: grid;
    gap: 8px;
}

.story-backstory-next-actions ol {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 20px;
    color: var(--muted);
}

.story-continuity-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .44fr);
    gap: 12px;
    align-items: start;
}

.story-continuity-links,
.story-continuity-flags,
.story-continuity-template {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.story-continuity-links header,
.story-continuity-flags header {
    display: grid;
    gap: 3px;
}

.story-continuity-links h3,
.story-continuity-flags h3,
.story-continuity-template h3 {
    margin: 0;
}

.story-continuity-link-grid {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
}

.story-continuity-link,
.story-continuity-flag {
    display: grid;
    gap: 10px;
    min-width: 0;
    min-height: 224px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.story-continuity-link {
    border-top: 4px solid #2f6f6a;
}

.story-continuity-flag {
    border-top: 4px solid #91415f;
    background: #fffafb;
}

.story-continuity-link h4,
.story-continuity-flag h4 {
    margin: 0;
    color: var(--ink);
}

.story-continuity-template {
    grid-template-columns: minmax(180px, .28fr) minmax(0, 1fr) minmax(190px, .36fr);
    align-items: start;
}

.story-continuity-template-grid {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.story-canon-type-strip {
    grid-template-columns: repeat(6, minmax(120px, 1fr));
}

.story-canon-type-strip span {
    display: grid;
    gap: 4px;
    min-height: 76px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.story-canon-type-strip strong,
.story-canon-next-path strong {
    color: var(--ink);
}

.story-canon-type-strip small,
.story-canon-next-path small {
    color: var(--muted);
}

.story-canon-work-grid {
    grid-template-columns: repeat(3, minmax(240px, 1fr));
}

.story-character-work-grid {
    grid-template-columns: repeat(3, minmax(240px, 1fr));
}

.story-relationship-links {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
}

.story-map-overview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr);
    gap: 12px;
    align-items: stretch;
}

.story-map-board,
.story-era-list,
.story-timeline-rail,
.story-map-hooks,
.story-map-template {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.story-map-board {
    background-image:
        linear-gradient(90deg, rgba(55,108,134,.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(91,127,87,.08) 1px, transparent 1px);
    background-size: 38px 38px;
}

.story-map-board header,
.story-era-list header,
.story-map-hooks header {
    display: grid;
    gap: 3px;
}

.story-map-board h3,
.story-era-list h3,
.story-timeline-rail h3,
.story-map-hooks h3,
.story-map-template h3 {
    margin: 0;
}

.story-map-place-grid {
    grid-template-columns: repeat(3, minmax(210px, 1fr));
}

.story-timeline-event-grid {
    grid-template-columns: repeat(4, minmax(210px, 1fr));
}

.story-canon-card {
    display: grid;
    gap: 12px;
    min-height: 236px;
    padding: 14px;
    border: 1px solid var(--line);
    border-top: 4px solid #5b7f57;
    border-radius: 8px;
    background: #fff;
}

.story-character-card,
.story-relationship-link {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.story-character-card {
    min-height: 292px;
    border-top: 4px solid #91415f;
}

.story-relationship-link {
    min-height: 184px;
    border-top: 4px solid #376c86;
}

.story-map-place-card,
.story-timeline-event,
.story-map-hook,
.story-era-card {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255,255,255,.94);
}

.story-map-place-card {
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 284px;
    border-top: 4px solid #6f5b91;
}

.story-map-pin {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #376c86;
    font-weight: 900;
}

.story-map-place-card h4,
.story-timeline-event h4,
.story-era-card h4,
.story-map-hook h4 {
    margin: 0;
    color: var(--ink);
}

.story-map-place-card .story-map-fields {
    grid-column: 1 / -1;
}

.story-era-list {
    background: #f7fbf7;
}

.story-era-card {
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 132px;
}

.story-era-card p {
    margin: 3px 0 8px;
    color: var(--muted);
}

.story-era-sequence {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #fff;
    background: #5b7f57;
    font-weight: 900;
}

.story-timeline-rail {
    background: #fffaf0;
}

.story-timeline-event {
    min-height: 236px;
    border-top: 4px solid #b98035;
}

.story-map-support-grid {
    display: grid;
    grid-template-columns: minmax(260px, .48fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.story-map-hooks {
    background: #f7fbfd;
}

.story-map-hook {
    min-height: 142px;
    border-top: 4px solid #376c86;
}

.story-map-hook p {
    margin: 0;
    color: var(--muted);
}

.story-map-template {
    grid-template-columns: minmax(180px, .28fr) minmax(0, 1fr) minmax(190px, .36fr);
    align-items: start;
    background: #fff;
}

.story-map-template-grid {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.story-canon-card header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}

.story-character-card header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}

.story-canon-card h3,
.story-canon-template h3,
.story-character-card h3,
.story-relationship-link h3,
.story-character-template h3,
.story-map-template h3,
.story-continuity-template h3 {
    margin: 0;
    font-size: 1.08rem;
}

.story-canon-fields,
.story-character-fields,
.story-map-fields,
.story-continuity-fields {
    display: grid;
    grid-template-columns: minmax(96px, .45fr) minmax(0, 1fr);
    gap: 6px 10px;
    margin: 0;
}

.story-canon-fields dt,
.story-character-fields dt,
.story-map-fields dt,
.story-continuity-fields dt {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.story-canon-fields dd,
.story-character-fields dd,
.story-map-fields dd,
.story-continuity-fields dd {
    min-width: 0;
    margin: 0;
    color: var(--ink);
}

.story-character-fields.compact,
.story-map-fields.compact,
.story-continuity-fields.compact {
    align-self: end;
}

.story-canon-template {
    display: grid;
    grid-template-columns: minmax(180px, .42fr) minmax(0, 1fr) minmax(180px, .48fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    border: 1px solid #e7d1aa;
    border-radius: 8px;
    background: #fffaf0;
}

.story-character-template {
    display: grid;
    grid-template-columns: minmax(180px, .34fr) minmax(0, 1fr) minmax(190px, .42fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    border: 1px solid #c8d8d0;
    border-radius: 8px;
    background: #f5fbf7;
}

.story-canon-template-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.story-character-template-grid {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.story-canon-template label,
.story-character-template label,
.story-map-template label,
.story-continuity-template label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 800;
}

.story-canon-template input,
.story-character-template input,
.story-map-template input,
.story-continuity-template input {
    width: 100%;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

.story-canon-next-path,
.story-character-next-path,
.story-map-next-path,
.story-backstory-next-path,
.story-continuity-next-path {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid #c8d8d0;
    border-radius: 8px;
    background: #f5fbf7;
}

.story-character-next-path strong,
.story-map-next-path strong,
.story-backstory-next-path strong,
.story-continuity-next-path strong {
    color: var(--ink);
}

.story-character-next-path small,
.story-map-next-path small,
.story-backstory-next-path small,
.story-continuity-next-path small {
    color: var(--muted);
}

.story-universe-hero,
.story-universe-dispatch {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-height: auto;
    border-left: 4px solid #91415f;
    background: #fffafb;
}

.story-universe-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(88px, 1fr));
    gap: 8px;
    min-width: min(520px, 100%);
}

.story-universe-stats span,
.story-universe-phase-grid span {
    display: grid;
    gap: 3px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.story-universe-stats strong {
    color: #91415f;
    font-size: 1.7rem;
}

.story-universe-stats small,
.story-universe-phase-grid small {
    color: var(--muted);
}

.story-universe-research ul,
.story-universe-backlog ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
}

.story-universe-top-five,
.story-universe-phases,
.story-universe-backlog {
    display: grid;
    gap: 12px;
}

.story-cube-card {
    min-height: 224px;
}

.story-cube-head {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.story-cube-head h3 {
    margin: 0;
    font-size: 1.25rem;
}

.story-cube-rank {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #fff;
    background: #91415f;
    font-weight: 900;
}

.story-universe-phase-grid {
    display: grid;
    gap: 8px;
}

.story-universe-dispatch {
    align-items: start;
}

.story-universe-dispatch .contract-list {
    margin-bottom: 0;
}

.story-universe-dispatch-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    min-width: 190px;
}

.invoicing-window,
.email-round-robin-window,
.sms-round-robin-window {
    display: grid;
    align-content: start;
    gap: 16px;
}

.invoicing-cue,
.email-round-robin-cue,
.sms-round-robin-cue {
    margin-bottom: 0;
}

.invoicing-grid,
.email-round-robin-grid,
.sms-round-robin-grid {
    display: grid;
    grid-template-columns: minmax(360px, 1.2fr) minmax(280px, .8fr) minmax(220px, .55fr);
    gap: 12px;
    align-items: stretch;
}

.invoicing-panel,
.email-round-robin-panel,
.sms-round-robin-panel {
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: 188px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.invoicing-summary,
.email-listener-summary,
.sms-gateway-summary {
    border-left: 4px solid var(--side);
    background: #fbfdf8;
}

.invoicing-panel h2,
.invoicing-panel p,
.email-round-robin-panel h2,
.email-round-robin-panel p,
.sms-round-robin-panel h2,
.sms-round-robin-panel p {
    margin: 0;
}

.invoicing-panel small,
.email-round-robin-panel small,
.sms-round-robin-panel small {
    color: var(--muted);
    font-weight: 800;
}

.invoice-fields,
.email-fields,
.sms-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.invoice-fields label,
.email-fields label,
.sms-fields label {
    color: var(--muted);
}

.invoice-fields input[readonly],
.email-fields input[readonly],
.sms-fields input[readonly] {
    background: #f7f8f4;
    color: var(--ink);
}

.invoicing-actions,
.email-round-robin-actions,
.sms-round-robin-actions {
    align-items: stretch;
}

.contract-list {
    display: grid;
    gap: 8px;
    margin: 0;
}

.contract-list dt {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 900;
    text-transform: uppercase;
}

.contract-list dd {
    margin: 0;
    color: var(--ink);
    font-weight: 800;
}

.fake-assignee-preview {
    background: #f8fbfd;
    border-left: 4px solid #2d6f87;
}

.artemis-browser-window {
    display: grid;
    align-content: start;
    gap: 16px;
}

.artemis-browser-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.artemis-browser-status-grid section {
    display: grid;
    gap: 4px;
    min-height: 96px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.artemis-browser-status-grid span {
    color: var(--muted);
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.artemis-browser-status-grid strong {
    overflow-wrap: anywhere;
}

.artemis-browser-status-grid small {
    color: var(--muted);
    font-weight: 800;
}

.artemis-browser-grid {
    display: grid;
    grid-template-columns: minmax(520px, 1.35fr) minmax(330px, .65fr);
    gap: 12px;
    align-items: start;
}

.artemis-browser-panel {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.artemis-browser-panel header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.artemis-browser-panel h2,
.artemis-browser-panel p {
    margin: 0;
}

.artemis-browser-frame-panel {
    min-height: 680px;
}

.artemis-browser-frame {
    width: 100%;
    height: 620px;
    display: block;
    border: 1px solid #1f2a23;
    border-radius: 8px;
    background: #fff;
}

.artemis-ticket-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.artemis-ticket-form .wide,
.artemis-ticket-form button {
    grid-column: 1 / -1;
}

.artemis-ticket-list {
    margin-top: 0;
}

.artemis-ticket-cards {
    display: grid;
    gap: 8px;
}

.artemis-ticket-card {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 54px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    text-decoration: none;
    background: #fcfcfa;
}

.artemis-ticket-card span,
.artemis-ticket-card small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artemis-ticket-card small {
    color: var(--muted);
    font-weight: 800;
    text-transform: capitalize;
}

.artemis-ticket-card:hover {
    border-color: var(--side);
    box-shadow: 0 0 0 2px rgba(38, 92, 63, .12);
}

.devtickets-window {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.devtickets-head {
    align-items: flex-start;
    gap: 16px;
}

.devtickets-tabs,
.devtickets-quick-links,
.devtickets-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.devtickets-tabs a {
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    font-size: 0.86rem;
    font-weight: 700;
    padding: 8px 10px;
    text-decoration: none;
}

.devtickets-tabs a.active,
.devtickets-tabs a:hover {
    background: var(--ink);
    color: #fff;
}

.devtickets-stat-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.devtickets-stat {
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px;
    text-decoration: none;
}

.devtickets-stat span {
    color: var(--muted);
    font-size: 0.78rem;
    text-transform: uppercase;
}

.devtickets-stat strong {
    font-size: 1.6rem;
}

.devtickets-dashboard-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.devtickets-panel {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
}

.devtickets-panel header,
.devtickets-detail-head,
.devtickets-areas-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.devtickets-panel h2,
.devtickets-detail-head h2,
.devtickets-notes h3,
.devtickets-events h3 {
    margin: 0;
}

.devtickets-mini-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.devtickets-mini-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    display: grid;
    gap: 4px;
    padding: 10px;
    text-decoration: none;
}

.devtickets-mini-card small {
    color: var(--muted);
}

.devtickets-filters,
.devtickets-form-grid,
.devtickets-field-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.devtickets-filters {
    align-items: end;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
}

.devtickets-form,
.devtickets-detail,
.devtickets-notes,
.devtickets-events {
    display: grid;
    gap: 16px;
}

.devtickets-form .wide,
.devtickets-form-grid .wide {
    grid-column: 1 / -1;
}

.devtickets-form textarea,
.devtickets-note-form textarea,
.devtickets-long-fields pre,
.devtickets-codex-block pre {
    white-space: pre-wrap;
}

.devtickets-detail-head {
    border-bottom: 1px solid var(--line);
    padding-bottom: 14px;
}

.devtickets-field-grid div,
.devtickets-long-fields section {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
}

.devtickets-field-grid span {
    color: var(--muted);
    display: block;
    font-size: 0.76rem;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.devtickets-long-fields {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.devtickets-long-fields h3,
.devtickets-codex-block h3 {
    margin-top: 0;
}

.devtickets-long-fields pre,
.devtickets-codex-block pre {
    background: #f7f7f3;
    border-radius: 8px;
    color: var(--ink);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 0.84rem;
    line-height: 1.55;
    margin: 0;
    overflow-wrap: anywhere;
    padding: 12px;
}

.devtickets-codex-block {
    background: #f3f7f5;
    border: 1px solid #bad7ca;
    border-radius: 8px;
    padding: 14px;
}

.devtickets-badge {
    border: 1px solid var(--line);
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 700;
    padding: 4px 8px;
    text-transform: capitalize;
}

.devtickets-badge.status-ready,
.devtickets-badge.status-done,
.devtickets-badge.status-active,
.devtickets-badge.priority-low {
    background: #eef8f0;
    border-color: #b7d8bd;
    color: #1f5b2a;
}

.devtickets-badge.status-in_progress,
.devtickets-badge.status-review,
.devtickets-badge.priority-high {
    background: #fff7df;
    border-color: #dec676;
    color: #6d5300;
}

.devtickets-badge.status-blocked,
.devtickets-badge.status-killed,
.devtickets-badge.priority-urgent {
    background: #fff0ee;
    border-color: #e6afa6;
    color: #84261d;
}

.devtickets-badge.status-inbox,
.devtickets-badge.status-backlog,
.devtickets-badge.status-paused,
.devtickets-badge.status-archived,
.devtickets-badge.priority-normal,
.devtickets-badge.type,
.devtickets-badge.readiness {
    background: #f4f4f4;
    color: var(--ink);
}

.devtickets-table-wrap td {
    vertical-align: top;
}

.devtickets-table-wrap small {
    color: var(--muted);
}

.devtickets-block-form,
.devtickets-decision-form,
.devtickets-note-form {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.devtickets-note-form label {
    flex: 1 1 180px;
}

.devtickets-note-form label:last-of-type {
    flex-basis: 100%;
}

.devtickets-note-list {
    display: grid;
    gap: 10px;
}

.devtickets-note-list article {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
}

.devtickets-note-list article span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
}

.product-meta {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.product-meta div {
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid #e3e7e1;
    border-radius: 8px;
    background: #fcfcfa;
}

.product-meta small {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.status {
    display: inline-flex;
    width: max-content;
    border-radius: 999px;
    background: #eef1ec;
    padding: 3px 8px;
    font-weight: 800;
    font-size: .8rem;
    color: var(--muted);
}

.status.good {
    background: #dcf7ed;
    color: var(--good);
}

.status.focus {
    background: #fff2cc;
    color: #725516;
}

.status.usable {
    background: #dcf7ed;
    color: var(--good);
}

.status.proof-only {
    background: #e7f0ff;
    color: #2f5d91;
}

.status.planned {
    background: #f1eadb;
    color: #725516;
}

.status.research {
    background: #e7f4f2;
    color: #216960;
}

.status.disabled {
    background: #eef1ec;
    color: var(--muted);
}

.status.backlog {
    background: #f5eadc;
    color: var(--brown);
}

.status.active {
    background: #dcf7ed;
    color: var(--good);
}

.status.parked {
    background: #ece9df;
    color: var(--earth);
}

.status.pending_review {
    background: #fff2cc;
    color: #8a5a00;
}

.status.scaffold {
    background: #f5eadc;
    color: var(--brown);
}

.status.muted {
    color: var(--muted);
}

.table-wrap {
    overflow: auto;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    text-align: left;
    border-bottom: 1px solid #e3e7e1;
    padding: 10px;
    vertical-align: top;
}

th {
    font-size: .82rem;
    text-transform: uppercase;
    color: #59655e;
    background: #f4f5f1;
}

.permission-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.permission-cloud span {
    border-radius: 999px;
    background: #eef1ec;
    padding: 6px 10px;
    font-weight: 800;
}

.notice {
    background: #dcf7ed;
    border: 1px solid #a9ead4;
    border-radius: 7px;
    color: var(--good);
    padding: 10px 12px;
}

.toast {
    position: fixed;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    background: var(--side);
    color: #fff;
    border-radius: 8px;
    padding: 10px 14px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s ease;
}

.toast.show { opacity: 1; }

.quiet-chrome .admin-topbar {
    opacity: .68;
}

.product-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 250px 1fr;
}

.product-side {
    display: grid;
    align-content: start;
    gap: 4px;
}

.section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.section-head h2 {
    margin: 0;
}

.product-workbench-head {
    margin: 18px 0 8px;
}

.workbench-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0;
}

.workbench-summary span {
    display: grid;
    gap: 3px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,33,27,.06);
}

.workbench-summary strong {
    font-size: 1.45rem;
}

.workbench-summary small {
    color: var(--muted);
    font-weight: 800;
}

.project-product-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0 0 12px;
}

.project-filter {
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid var(--line);
    background: #fcfcfa;
    color: var(--ink);
    font-size: .88rem;
}

.project-filter.active,
.project-filter[aria-pressed="true"] {
    background: var(--side);
    border-color: var(--side);
    color: #fff;
}

.project-filter.secondary {
    margin-left: auto;
}

.section-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}

.section-body[hidden] {
    display: none !important;
}

.product-card[hidden],
.product-no-results[hidden],
.project-no-results[hidden] {
    display: none !important;
}

.read-only-cue {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0 0 12px;
    padding: 9px 11px;
    border: 1px solid rgba(38, 92, 63, .22);
    border-left: 4px solid var(--side);
    border-radius: 8px;
    background: #f6fbf2;
    color: var(--ink);
    font-size: .9rem;
}

.read-only-cue span {
    color: var(--muted);
}

.project-result-count {
    color: var(--muted);
    font-weight: 800;
    font-size: .86rem;
}

.project-status-summary {
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr);
    gap: 12px;
    align-items: start;
    margin: 0 0 12px;
    padding: 13px;
    border: 1px solid rgba(154, 118, 34, .28);
    border-radius: 8px;
    background: #fffdf6;
}

.project-status-summary h3,
.project-status-summary p {
    margin: 0;
}

.project-status-summary p {
    color: var(--muted);
}

.summary-chip-groups {
    display: grid;
    gap: 9px;
}

.summary-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 5px;
}

.summary-chip {
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--ink);
    font-size: .84rem;
    font-weight: 800;
}

.summary-chip.active,
.summary-chip[aria-pressed="true"] {
    background: var(--side);
    border-color: var(--side);
    color: #fff;
}

.project-no-results {
    margin: 10px 0;
    padding: 13px;
    border: 1px dashed var(--line);
    border-radius: 8px;
    background: #fcfcfa;
    color: var(--muted);
    font-weight: 800;
}

.project-detail-panel {
    display: grid;
    gap: 12px;
    margin: 10px 0 12px;
    padding: 14px;
    border: 1px solid rgba(38, 92, 63, .26);
    border-left: 4px solid var(--side);
    border-radius: 8px;
    background: #fbfdf8;
}

.project-inspector-panel {
    position: relative;
}

.project-detail-panel h3 {
    margin: 0;
}

.project-detail-panel p {
    margin: 0;
    color: var(--muted);
}

.project-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.project-detail-grid span {
    display: grid;
    gap: 3px;
    padding: 9px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.project-detail-grid small {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.project-detail-grid .path-field,
.project-detail-grid .guardrail-field {
    grid-column: 1 / -1;
}

.product-lane-card.selected {
    border-color: var(--side);
    box-shadow: 0 0 0 2px rgba(38, 92, 63, .14);
}

.lane-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.lane-card {
    display: grid;
    gap: 10px;
    min-height: 230px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, #fff, #fcfcfa);
}

.compact-lanes .lane-card {
    min-height: 190px;
}

.lane-card-head {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
}

.lane-mark {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    color: #fff;
    font-weight: 900;
}

.lane-mark.gold { background: #b7791f; }
.lane-mark.green { background: #11845b; }
.lane-mark.earth { background: var(--earth); }
.lane-mark.brown { background: var(--brown); }
.lane-mark.rose { background: #91415f; }
.lane-mark.blue { background: #2f5f85; }
.lane-mark.amber { background: #b56f1a; }
.lane-mark.steel { background: #52606d; }

.lane-card h3 {
    margin: 0;
    font-size: 1.22rem;
}

.lane-card p {
    margin: 0;
    color: var(--muted);
}

.lane-meta {
    display: grid;
    gap: 8px;
    margin-top: auto;
}

.lane-meta span {
    display: grid;
    gap: 2px;
    padding: 9px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.lane-meta small,
.route-pills span {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.route-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: auto;
}

.route-pills span {
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    padding: 5px 8px;
    font-size: .82rem;
    font-weight: 800;
}

.product-lane-card {
    min-height: 320px;
}

.project-products [hidden] {
    display: none !important;
}

.lane-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: auto;
}

.lane-detail-grid span {
    display: grid;
    gap: 3px;
    min-height: 62px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    padding: 8px;
}

.lane-detail-grid strong {
    font-size: .82rem;
}

.lane-detail-grid small {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.lane-detail-grid .path-field {
    grid-column: 1 / -1;
    min-height: auto;
    background: #fffdf6;
    border-color: rgba(154, 118, 34, .28);
}

.lane-detail-grid .path-value {
    font-family: Consolas, "Liberation Mono", monospace;
    font-size: .78rem;
    line-height: 1.45;
    color: #405142;
}

.lane-detail-grid .do-not-build {
    grid-column: 1 / -1;
}

.project-products-compact .lane-detail-grid {
    display: none;
}

.project-products-compact .product-lane-card {
    min-height: 190px;
}

.product-side .admin-brand {
    margin-bottom: 14px;
}

.cms-topbar {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 32px;
    background: #fff;
    border-bottom: 1px solid var(--line);
}

.site_brand {
    color: var(--ink);
    font-weight: 800;
    text-decoration: none;
}

.cms-topbar nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.cms-topbar nav a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 7px;
    color: var(--muted);
    text-decoration: none;
}

.cms-topbar nav a:hover,
.cms-topbar nav a.active {
    background: #eef5f0;
    color: var(--accent);
}

.cms-site {
    min-height: calc(100vh - 68px);
    padding: 36px 24px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(247,245,239,.96)),
        var(--bg);
}

.cms-page {
    width: min(1080px, 100%);
    margin: 0 auto;
    display: grid;
    gap: 20px;
}

.cms-hero,
.cms-dashboard-proof,
.cms-message {
    min-height: 360px;
    display: grid;
    align-content: center;
    gap: 18px;
    padding: 34px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.cms-hero h1,
.cms-dashboard-proof h1,
.cms-message h1 {
    margin: 0;
    font-size: 4.8rem;
    line-height: .98;
    letter-spacing: 0;
}

.cms-hero p,
.cms-dashboard-proof p,
.cms-message p {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
    font-size: 1.05rem;
    line-height: 1.6;
}

.cms-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cms-feature-grid,
.cms-tool-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 12px;
}

.cms-feature-grid > div,
.cms-tool-card,
.route-list > a,
.page-route-card {
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.cms-feature-grid span,
.cms-tool-card small,
.route-list small {
    color: var(--muted);
}

/* Rift One public launch surface. Keep this intentionally small and direct. */
.public-topbar {
    min-height: 84px;
    padding: 0 max(24px, calc((100vw - 1160px) / 2));
    border-bottom: 2px solid #10284b;
    background: #fff6dc;
}

.public-topbar .site_brand,
.cms-footer .site_brand {
    display: inline-grid;
    gap: 0;
    min-width: 162px;
    padding: 10px 16px 9px;
    border: 2px solid #10284b;
    border-radius: 14px;
    background: #c9ff4a;
    box-shadow: 5px 5px 0 #10284b;
    color: #10284b;
    line-height: 1;
    letter-spacing: .08em;
}

.public-topbar .site_brand strong,
.cms-footer .site_brand strong {
    font-size: 1.35rem;
    font-weight: 950;
}

.public-topbar .site_brand span,
.cms-footer .site_brand span {
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .34em;
}

.public-topbar nav {
    gap: 10px;
}

.public-topbar nav a {
    min-height: 44px;
    padding: 0 18px;
    border: 2px solid #10284b;
    border-radius: 999px;
    background: #fff6dc;
    color: #10284b;
    font-weight: 900;
}

.public-topbar nav a:hover,
.public-topbar nav a.active,
.public-topbar nav a.nav-cta {
    background: #c9ff4a;
    color: #10284b;
}

.riftone-public {
    min-height: calc(100vh - 84px);
    padding: 0 24px 88px;
    background-color: #fff6dc;
    background-image: radial-gradient(rgba(16, 40, 75, .13) 1px, transparent 1px);
    background-size: 18px 18px;
}

.riftone-public .cms-page {
    width: min(1160px, 100%);
    gap: 34px;
}

.riftone-public [id] {
    scroll-margin-top: 104px;
}

.riftone-public .cms-hero {
    min-height: 520px;
    padding: 86px 0 48px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.riftone-public .cms-hero .eyebrow {
    width: fit-content;
    margin: 0;
    padding: 7px 10px;
    border: 2px solid #10284b;
    background: #c9ff4a;
    color: #10284b;
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .16em;
}

.riftone-public .cms-hero h1 {
    max-width: 980px;
    color: #10284b;
    font-size: clamp(4.4rem, 9.6vw, 8.5rem);
    font-weight: 950;
    letter-spacing: -.075em;
    line-height: .86;
}

.riftone-public .cms-hero h1 span {
    display: inline-block;
    margin-top: 16px;
    padding: 5px 15px 10px;
    border: 3px solid #10284b;
    background: #ff694f;
    box-shadow: 8px 8px 0 #10284b;
    transform: rotate(-1deg);
}

.riftone-public .cms-hero > p {
    max-width: 690px;
    color: #10284b;
    font-size: 1.22rem;
    font-weight: 700;
}

.riftone-public .button,
.cms-game-spotlight .button {
    min-height: 48px;
    padding: 0 20px;
    border: 2px solid #10284b;
    border-radius: 999px;
    box-shadow: 4px 4px 0 #10284b;
    font-weight: 950;
}

.riftone-public .button.primary,
.cms-game-spotlight .button.primary {
    background: #c9ff4a;
    color: #10284b;
}

.riftone-public .button.secondary,
.cms-game-spotlight .button.secondary {
    background: #fff6dc;
    color: #10284b;
}

.cms-game-spotlight {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
    overflow: hidden;
    border: 3px solid #10284b;
    border-radius: 20px;
    background: #fffdf4;
    box-shadow: 10px 10px 0 #10284b;
}

.cms-game-art {
    min-height: 440px;
    border-right: 3px solid #10284b;
    background: #10284b;
}

.cms-game-art img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-game-copy {
    display: grid;
    align-content: center;
    gap: 18px;
    padding: 34px;
}

.cms-game-heading {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cms-game-heading span,
.cms-game-heading strong {
    padding: 6px 10px;
    border: 2px solid #10284b;
    border-radius: 999px;
    color: #10284b;
    font-size: .76rem;
    font-weight: 950;
    text-transform: uppercase;
}

.cms-game-heading span { background: #c9ff4a; }
.cms-game-heading strong { background: #fff6dc; }

.cms-game-copy h2 {
    margin: 0;
    color: #10284b;
    font-size: clamp(3rem, 6vw, 5.3rem);
    letter-spacing: -.06em;
    line-height: .9;
}

.cms-game-copy p,
.cms-game-copy ul {
    margin: 0;
    color: #364862;
}

.cms-game-copy ul {
    display: grid;
    gap: 8px;
    padding-left: 20px;
    font-weight: 750;
}

.riftone-public .cms-feature-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.cms-feature-section {
    display: grid;
    gap: 22px;
    padding: 42px 0;
}

.cms-section-heading {
    display: grid;
    gap: 12px;
    max-width: 820px;
}

.cms-section-heading .eyebrow {
    width: fit-content;
    margin: 0;
    padding: 6px 9px;
    border: 2px solid #10284b;
    background: #c9ff4a;
    color: #10284b;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .14em;
}

.cms-section-heading h2 {
    margin: 0;
    color: #10284b;
    font-size: clamp(2.5rem, 6vw, 5rem);
    letter-spacing: -.055em;
    line-height: .94;
}

.cms-section-heading > p:not(.eyebrow) {
    max-width: 760px;
    margin: 0;
    color: #44536a;
    font-size: 1.1rem;
}

.cms-section-heading-standalone {
    max-width: none;
    padding: 64px 48px;
    border: 3px solid #10284b;
    border-radius: 20px;
    background: #ff694f;
    box-shadow: 10px 10px 0 #10284b;
}

.cms-section-heading-standalone > p:not(.eyebrow) {
    color: #10284b;
}

.riftone-public .cms-feature-grid > div {
    min-height: 150px;
    align-content: start;
    gap: 10px;
    padding: 22px;
    border: 2px solid #10284b;
    border-radius: 14px;
    background: #fffdf4;
    box-shadow: 5px 5px 0 #10284b;
}

.riftone-public .cms-feature-grid strong {
    color: #10284b;
    font-size: 1.2rem;
}

.riftone-public .cms-feature-grid span {
    color: #4a5870;
}

.cms-footer {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    padding: 30px max(24px, calc((100vw - 1160px) / 2));
    border-top: 2px solid #10284b;
    background: #fff6dc;
    color: #10284b;
}

.cms-footer p { margin: 0; }
.cms-footer > a:last-child { color: #10284b; font-weight: 900; }

.auth-page {
    background-color: #fff6dc;
    background-image: radial-gradient(rgba(16, 40, 75, .13) 1px, transparent 1px);
    background-size: 18px 18px;
}

.auth-entry {
    border: 3px solid #10284b;
    border-radius: 20px;
    box-shadow: 10px 10px 0 #10284b;
}

.auth-story {
    background: #10284b;
}

.auth-story .brand-mark {
    border: 2px solid #fff6dc;
    background: #c9ff4a;
    color: #10284b;
}

.auth-kicker { color: #c9ff4a; }

.auth-benefit {
    border: 1px solid rgba(255, 246, 220, .45);
    background: rgba(255, 246, 220, .08);
}

.auth-form-card { background: #fffdf4; }

.auth-form-card input {
    border: 2px solid #aab3bc;
    border-radius: 9px;
    background: #fff;
}

.auth-form-card input:focus {
    border-color: #10284b;
    outline: 3px solid rgba(201, 255, 74, .65);
}

.auth-form-card .button.primary {
    border: 2px solid #10284b;
    border-radius: 999px;
    background: #c9ff4a;
    box-shadow: 4px 4px 0 #10284b;
    color: #10284b;
    font-weight: 950;
}

.cms-tool-card {
    align-content: start;
}

.cms-tool-card h3 {
    margin: 0;
    font-size: 1rem;
}

.cms-tool-card span {
    display: grid;
    gap: 2px;
    padding-top: 8px;
    border-top: 1px solid var(--line);
}

.route-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.route-list > a {
    color: var(--ink);
    text-decoration: none;
}

.page-route-card {
    align-content: start;
}

.page-route-card > div:first-child {
    display: grid;
    gap: 4px;
}

.page-route-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.page-route-actions .button {
    min-height: 34px;
    padding: 0 12px;
}

.webbuilder-toolbox {
    margin-top: 18px;
}

.webbuilder-nav {
    display: grid;
    gap: 8px;
}

.webbuilder-nav a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    border-radius: 7px;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
}

.webbuilder-nav a:hover,
.webbuilder-nav a.active {
    background: rgba(255,255,255,.14);
}

.webbuilder-project-selector {
    display: flex;
    align-items: end;
    gap: 8px;
}

.webbuilder-project-selector label {
    display: grid;
    gap: 3px;
    min-width: 210px;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.webbuilder-project-selector select {
    min-height: 42px;
    background: #fff;
    color: var(--ink);
    text-transform: none;
}

.webbuilder-workbench {
    display: grid;
    gap: 18px;
}

.webbuilder-panel[hidden] {
    display: none;
}

.webbuilder-panel {
    display: grid;
    gap: 14px;
}

.webbuilder-panel-grid {
    display: grid;
    grid-template-columns: minmax(320px, .95fr) minmax(360px, 1fr);
    gap: 14px;
    align-items: start;
}

.webbuilder-panel .panel {
    margin: 0;
}

.tool-group {
    display: grid;
    gap: 8px;
    margin: 0 0 14px;
}

.tool-list {
    display: grid;
    gap: 8px;
}

.tool-list > span {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.panel h3 {
    margin: 14px 0 8px;
    font-size: .88rem;
}

.color-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.color-grid input[type="color"] {
    height: 42px;
    padding: 4px;
}

.swatch-row {
    display: flex;
    gap: 5px;
    margin-top: 2px;
}

.swatch-row b {
    width: 24px;
    height: 24px;
    border: 1px solid var(--line);
    border-radius: 6px;
}

.soundforge-state-card {
    display: grid;
    gap: 6px;
    margin-top: 16px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 8px;
    background: rgba(255,255,255,.1);
    color: #fff;
}

.soundforge-state-card span {
    color: rgba(255,255,255,.76);
    line-height: 1.45;
}

.browserbridge-install-card {
    align-content: start;
}

.browserbridge-state-chip,
.browserbridge-product-links span {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
}

.browserbridge-command {
    display: block;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 7px;
    background: rgba(0,0,0,.12);
    font-family: Consolas, "Liberation Mono", monospace;
    font-size: .8rem;
}

.browserbridge-product-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.browserbridge-product-links span.active {
    background: var(--accent);
    color: var(--accent-ink);
}

.soundforge-workbench {
    display: grid;
    grid-template-columns: minmax(320px, .85fr) minmax(420px, 1.15fr);
    gap: 14px;
    align-items: start;
}

.soundforge-workbench .panel {
    margin: 0;
}

.soundforge-import-panel textarea {
    min-height: 300px;
    font-family: Consolas, "Liberation Mono", monospace;
    font-size: .86rem;
    line-height: 1.5;
}

.soundforge-library-panel,
.soundforge-detail-panel {
    min-width: 0;
}

.soundforge-detail-panel {
    grid-column: 1 / -1;
}

.soundforge-preset-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.soundforge-preset-card {
    display: grid;
    gap: 9px;
    min-height: 190px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.soundforge-preset-card.selected {
    border-color: var(--side);
    box-shadow: 0 0 0 2px rgba(38, 92, 63, .14);
}

.soundforge-preset-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.soundforge-card-meta,
.soundforge-disabled-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.soundforge-card-meta span {
    padding: 5px 8px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fcfcfa;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 800;
}

.soundforge-detail-grid,
.soundforge-detail-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.soundforge-detail-grid span {
    display: grid;
    gap: 4px;
    padding: 11px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.soundforge-detail-grid small {
    color: var(--muted);
    font-weight: 800;
}

.soundforge-detail-grid strong {
    overflow-wrap: anywhere;
}

.soundforge-detail-columns {
    margin-top: 14px;
}

.soundforge-detail-columns h3 {
    margin: 0 0 8px;
}

.soundforge-disabled-actions {
    margin-top: 14px;
}

.planforge-workbench {
    grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr);
}

.planforge-url-panel input,
.planforge-url-panel select,
.planforge-url-panel textarea {
    width: 100%;
}

.planforge-draft-panel {
    overflow: hidden;
}

.planforge-bridge-panel {
    grid-column: 1 / -1;
}

.browserbridge-compact-panel {
    gap: 10px;
}

.browserbridge-compact-panel .section-head {
    align-items: start;
}

.browserbridge-install-steps {
    display: grid;
    gap: 8px;
    margin: 12px 0;
    padding-left: 1.25rem;
}

.browserbridge-install-steps li {
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fcfcfa;
}

.browserbridge-packet-box {
    display: grid;
    gap: 10px;
}

.browserbridge-packet-details {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255,255,255,.7);
}

.browserbridge-packet-details summary {
    cursor: pointer;
    padding: 10px 12px;
    font-weight: 800;
}

.browserbridge-packet-details label {
    padding: 0 12px 12px;
}

.browserbridge-packet-box textarea {
    min-height: 220px;
    font-family: Consolas, "Liberation Mono", monospace;
    font-size: .82rem;
    line-height: 1.45;
    white-space: pre-wrap;
}

.browserbridge-compact-panel .browserbridge-packet-box textarea {
    min-height: 128px;
}

.browserbridge-copy-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.planforge-print-sheet {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
    padding: clamp(1rem, 2vw, 1.75rem);
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fffdf7;
    color: var(--ink);
    box-shadow: 0 18px 40px rgba(17, 24, 39, .08);
}

.planforge-print-sheet header {
    display: grid;
    gap: .35rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--ink);
}

.planforge-print-sheet header p {
    margin: 0;
    color: var(--side);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.planforge-print-sheet h3,
.planforge-print-sheet h4,
.planforge-print-sheet p {
    margin: 0;
}

.planforge-print-sheet article {
    display: grid;
    gap: .45rem;
    padding: .85rem;
    border: 1px solid #e4e7df;
    border-radius: 8px;
    background: #fff;
}

.planforge-print-sheet ul,
.planforge-print-sheet ol {
    margin: 0;
    padding-left: 1.25rem;
}

.planforge-print-sheet footer {
    color: var(--muted);
    font-size: .9rem;
}

@media print {
    .planforge-shell .product-side,
    .planforge-shell .page-head .top-actions,
    .planforge-url-panel {
        display: none !important;
    }

    .planforge-shell,
    .planforge-workbench {
        display: block;
    }

    .planforge-print-sheet {
        box-shadow: none;
    }
}

.nav-mini .admin-shell { grid-template-columns: 72px 1fr; }
.nav-mini .admin-side { padding: 12px 8px; }
.nav-mini .nav-label,
.nav-mini .admin-user,
.nav-mini .profile-copy { display: none; }
.nav-mini .side-tools { display: grid; justify-content: center; }
.nav-mini .nav-mode-buttons { display: grid; grid-template-columns: 1fr; gap: 6px; }
.nav-mini .nav-icon-button { width: 42px; }
.nav-mini .nav-toggle { display: none; }
.nav-mini .nav-links a,
.nav-mini .side-action { justify-content: center; padding: 11px 0; }
.nav-mini .brand-mark { width: 42px; height: 42px; }
.nav-mini .profile-dock { grid-template-columns: 44px; justify-content: center; }
.nav-collapsed .admin-shell { grid-template-columns: 1fr; }
.nav-collapsed .admin-side { display: none; }
.nav-collapsed .admin-main { padding-left: 58px; }
.nav-collapsed .nav-expand { display: grid; place-items: center; }

@media (max-width: 820px) {
    .admin-shell,
    .product-shell,
    .grid.two,
    .metric-grid,
    .product-card,
    .start-cube-grid,
    .product-shelf-summary,
    .bookhub-grid,
    .bookhub-universe-import-list,
    .story-builder-form,
    .story-builder-wide,
    .story-entry-library,
    .story-canon-type-strip,
    .story-canon-work-grid,
    .story-canon-template,
    .story-canon-template-grid,
    .story-character-generator,
    .story-character-work-grid,
    .story-relationship-links,
    .story-character-template,
    .story-character-template-grid,
    .story-map-timeline,
    .story-map-overview,
    .story-map-place-grid,
    .story-timeline-event-grid,
    .story-map-support-grid,
    .story-map-template,
    .story-map-template-grid,
    .story-backstory-builder,
    .story-backstory-layout,
    .story-backstory-form,
    .story-backstory-note-grid,
    .story-continuity-linker,
    .story-continuity-layout,
    .story-continuity-link-grid,
    .story-continuity-template,
    .story-continuity-template-grid,
    .story-universe-grid,
    .story-universe-hero,
    .story-universe-lower-grid,
    .story-universe-dispatch,
    .story-universe-stats,
    .product-library-tools,
    .motionforge-launch-grid,
    .invoicing-grid,
    .email-round-robin-grid,
    .sms-round-robin-grid,
    .artemis-browser-status-grid,
    .artemis-browser-grid,
    .artemis-ticket-form,
    .invoice-fields,
    .email-fields,
    .sms-fields,
    .devtickets-dashboard-grid,
    .devtickets-filters,
    .devtickets-form-grid,
    .devtickets-field-grid,
    .product-meta,
    .product-settings,
    .admin-topbar,
    .lane-grid,
    .workbench-summary,
    .project-status-summary,
    .project-detail-grid,
    .lane-detail-grid,
    .webbuilder-panel-grid,
    .soundforge-workbench,
    .soundforge-detail-grid,
    .soundforge-detail-columns,
    .settings-grid,
    .provider-settings-grid {
        grid-template-columns: 1fr;
    }

    .story-canon-card header,
    .story-canon-fields,
    .story-entry-card header,
    .story-entry-fields,
    .story-character-card header,
    .story-character-fields,
    .story-map-place-card,
    .story-era-card,
    .story-map-fields,
    .story-backstory-notes header,
    .story-continuity-fields {
        grid-template-columns: 1fr;
    }

    .cms-topbar {
        align-items: flex-start;
        padding: 16px;
    }

    .public-topbar {
        min-height: auto;
        align-items: center;
    }

    .public-topbar .site_brand {
        min-width: 112px;
    }

    .public-topbar nav a {
        min-height: 38px;
        padding: 0 12px;
        font-size: .84rem;
    }

    .cms-site {
        padding: 16px;
    }

    .riftone-public {
        padding: 0 16px 54px;
    }

    .riftone-public .cms-hero {
        min-height: 440px;
        padding: 58px 0 32px;
    }

    .cms-game-spotlight,
    .riftone-public .cms-feature-grid {
        grid-template-columns: 1fr;
    }

    .cms-game-art {
        min-height: 300px;
        border-right: 0;
        border-bottom: 3px solid #10284b;
    }

    .cms-feature-section {
        padding: 28px 0;
    }

    .cms-section-heading-standalone {
        padding: 34px 24px;
    }

    .cms-footer {
        grid-template-columns: 1fr;
        justify-items: start;
        padding: 28px 16px;
    }

    .cms-hero,
    .cms-dashboard-proof,
    .cms-message {
        min-height: 300px;
        padding: 22px;
    }

    .cms-hero h1,
    .cms-dashboard-proof h1,
    .cms-message h1 {
        font-size: 2.8rem;
    }

    .admin-side,
    .product-side {
        position: static;
        height: auto;
    }

    .admin-main { padding: 16px; }
    .page-head { display: grid; }
    .section-actions { justify-content: flex-start; }
    .devtickets-head,
    .artemis-browser-panel header,
    .devtickets-detail-head,
    .devtickets-panel header { align-items: flex-start; flex-direction: column; }
    .product-card-body { grid-template-columns: 74px minmax(0, 1fr); }
    .product-icon-panel { width: 74px; min-height: 74px; }
    .product-icon { width: 46px; height: 46px; font-size: 1.25rem; }
    .product-card-actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
    .product-card-actions form,
    .product-card-actions .button,
    .product-card-actions button { flex: 1 1 150px; }
    .product-detail-hero { grid-template-columns: 74px minmax(0, 1fr); }
    .product-detail-actions { grid-column: 1 / -1; justify-content: flex-start; }
    .product-detail-grid { grid-template-columns: 1fr; }
    .product-detail-primary,
    .product-detail-setup { grid-column: auto; grid-row: auto; }
    .project-filter.secondary { margin-left: 0; }
    .nav-mini .admin-shell,
    .nav-collapsed .admin-shell { grid-template-columns: 1fr; }
    .nav-mini .admin-side { display: block; height: auto; }
    .nav-collapsed .admin-main { padding-left: 58px; }
}

/* BookHub alignment contract: writing tools should scan like desktop software, not a centered landing page. */
[data-bookhub-app],
[data-bookhub-app] .bookhub-shelf,
[data-bookhub-app] .bookhub-stage,
[data-bookhub-app] .bookhub-view,
[data-bookhub-app] .bookhub-book-card,
[data-bookhub-app] .bookhub-chapter-card,
[data-bookhub-app] .bookhub-bible-card,
[data-bookhub-app] .bookhub-dashboard-grid article,
[data-bookhub-app] .bookhub-export-grid article,
[data-bookhub-app] .bookhub-inspector-results article {
    text-align: left;
}

[data-bookhub-app] .bookhub-book-card button,
[data-bookhub-app] .bookhub-binder-tree button,
[data-bookhub-app] .bookhub-scene-chip-row button {
    align-items: start;
    text-align: left;
    justify-items: start;
}

[data-bookhub-app] .bookhub-book-card,
[data-bookhub-app] .bookhub-book-card button {
    align-content: start;
    justify-content: start;
    justify-items: start;
}

[data-bookhub-app] .bookhub-book-card strong,
[data-bookhub-app] .bookhub-book-card span,
[data-bookhub-app] .bookhub-book-card small,
[data-bookhub-app] .bookhub-dashboard-grid strong,
[data-bookhub-app] .bookhub-dashboard-grid span,
[data-bookhub-app] .bookhub-export-grid strong,
[data-bookhub-app] .bookhub-export-grid span,
[data-bookhub-app] .bookhub-inspector-results strong,
[data-bookhub-app] .bookhub-inspector-results span {
    justify-self: start;
    text-align: left;
}

/* BookHub navigation must read like an application sidebar: fixed icon, left label, no centered rows. */
.bookhub-product-side .bookhub-product-nav-form .side-action,
.bookhub-product-side .side-bottom .side-action {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    justify-content: stretch !important;
    justify-items: start !important;
    width: 100%;
    padding-left: 14px;
    padding-right: 14px;
    text-align: left !important;
}

.bookhub-product-side .bookhub-product-nav-form .nav-icon,
.bookhub-product-side .side-bottom .nav-icon {
    justify-self: start;
    width: 28px;
    text-align: left;
}

.bookhub-product-side .bookhub-product-nav-form .nav-label,
.bookhub-product-side .side-bottom .nav-label {
    justify-self: start;
    min-width: 0;
    text-align: left;
}

[data-bookhub-app] .bookhub-binder,
[data-bookhub-app] .bookhub-binder-title,
[data-bookhub-app] .bookhub-binder-tree,
[data-bookhub-app] .bookhub-binder-tree form {
    justify-items: stretch;
    text-align: left;
}

[data-bookhub-app] .bookhub-binder-tree button {
    display: block;
    width: 100%;
    text-align: left !important;
}

[data-bookhub-app] .bookhub-scene-form .bookhub-writing-desk {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 188px !important;
    gap: 14px !important;
    align-items: start;
    width: 100%;
}

[data-bookhub-app] .bookhub-scene-form {
    display: block !important;
    width: 100%;
}

[data-bookhub-app] .bookhub-scene-form .bookhub-manuscript-pane,
[data-bookhub-app] .bookhub-scene-form .bookhub-manuscript-pane label {
    display: grid !important;
    min-width: 0;
    width: 100%;
}

[data-bookhub-app] .bookhub-scene-form .bookhub-manuscript-editor {
    width: 100% !important;
    min-width: 0;
    min-height: 620px;
    white-space: pre-wrap;
}

[data-bookhub-app] .bookhub-scene-form .bookhub-draft-panel {
    position: sticky;
    top: 12px;
    z-index: 0;
}

@media (max-width: 1200px) {
    [data-bookhub-app] .bookhub-scene-form .bookhub-writing-desk {
        grid-template-columns: 1fr !important;
    }

    [data-bookhub-app] .bookhub-scene-form .bookhub-draft-panel {
        position: static;
    }
}

/* Artemis Caveman: product language first; implementation machinery stays under Advanced. */
.caveman-product-switch { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.caveman-product-switch a { padding:9px 14px; border:1px solid var(--line, #d8d3c7); border-radius:999px; color:inherit; text-decoration:none; }
.caveman-product-switch a.active { background:#263f32; color:#fff; border-color:#263f32; }
.caveman-view { display:grid; gap:16px; min-width:0; }
.caveman-hero { border-radius:18px; padding:clamp(20px,4vw,38px); color:#f8f4e8; background:linear-gradient(135deg,#1f392e,#3f6248); box-shadow:0 16px 38px rgba(27,45,35,.16); }
.caveman-hero h2 { max-width:860px; margin:8px 0; font-size:clamp(1.65rem,4vw,3rem); line-height:1.05; overflow-wrap:anywhere; }
.caveman-hero p { max-width:760px; color:#e4eddf; }
.caveman-kicker,.caveman-summary-grid span,.caveman-section-title span,.caveman-result span,.caveman-charter-grid span,.caveman-case-grid>article>span { display:block; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.caveman-verdict { display:inline-flex; margin-top:12px; padding:7px 11px; border-radius:999px; background:#f0c967; color:#26331e; font-weight:800; text-transform:capitalize; }
.caveman-verdict.verdict-rejected { background:#f0a49b; }
.caveman-verdict.verdict-passed { background:#a8d7af; }
.caveman-summary-grid,.caveman-charter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.caveman-summary-grid article,.caveman-charter-grid article,.caveman-case-grid article { min-width:0; padding:16px; border:1px solid #ded8c9; border-radius:14px; background:#fffdf8; }
.caveman-summary-grid p,.caveman-charter-grid p,.caveman-case-grid p { margin:7px 0 0; overflow-wrap:anywhere; }
.caveman-charter-grid small { display:block; margin-top:8px; overflow-wrap:anywhere; }
.caveman-progress,.caveman-result,.caveman-charter,.caveman-decisions,.caveman-prompt,.caveman-advanced { min-width:0; padding:18px; border:1px solid #ded8c9; border-radius:16px; background:#fff; }
.caveman-section-title,.caveman-result { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.caveman-progress ol { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; padding:0; margin:16px 0 0; list-style:none; }
.caveman-progress li { display:flex; gap:10px; min-width:0; padding:12px; border-radius:12px; background:#f4f1e8; }
.caveman-progress li>span { flex:0 0 28px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#d9d1bd; font-weight:800; }
.caveman-progress li.step-passed>span { background:#8ec59a; }.caveman-progress li.step-in_progress>span { background:#f0c967; }
.caveman-progress li div { min-width:0; }.caveman-progress li strong,.caveman-progress li small { display:block; overflow-wrap:anywhere; }.caveman-progress li small { margin-top:5px; text-transform:capitalize; color:#6c6a62; }
.caveman-result strong { display:block; margin-top:5px; overflow-wrap:anywhere; }
.caveman-charter summary,.caveman-decisions summary,.caveman-prompt summary,.caveman-advanced summary { cursor:pointer; font-weight:800; }
.caveman-charter-grid,.caveman-case-grid { margin-top:14px; }.caveman-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.caveman-case-grid h3 { margin:7px 0; font-size:1rem; }.decision-direct,.decision-blocking { color:#276c3c; }.decision-reject { color:#a0342b; }.decision-defer,.decision-maintenance { color:#8a6414; }
.caveman-prompt pre { max-width:100%; margin:14px 0 0; padding:16px; border-radius:12px; background:#17221c; color:#f4f0e3; white-space:pre-wrap; overflow-wrap:anywhere; overflow-x:auto; }
@media (max-width: 900px) { .caveman-summary-grid,.caveman-charter-grid,.caveman-case-grid { grid-template-columns:1fr; }.caveman-progress ol { grid-template-columns:1fr; }.caveman-section-title,.caveman-result { align-items:flex-start; flex-direction:column; }.caveman-result .button { width:100%; }.caveman-view,.caveman-view * { max-width:100%; } }
.product-showcase-tools {
    grid-template-columns: minmax(0, 1fr) minmax(180px, 230px);
    margin: 0;
    padding: 12px 0 4px;
    border: 0;
    border-top: 1px solid rgba(222, 174, 69, .25);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.product-showcase-tools .summary-chip {
    border-color: rgba(239, 235, 218, .22);
    background: rgba(4, 18, 11, .55);
    color: #dfe7df;
}

.product-showcase-tools .summary-chip.active,
.product-showcase-tools .summary-chip[aria-pressed="true"] {
    border-color: #d9a441;
    background: #d9a441;
    color: #101810;
}

.product-showcase-tools select {
    border-color: rgba(239, 235, 218, .22);
    background: #0b1d13;
    color: #edf2e9;
}

.product-library-shelf-note {
    color: #b9c6bc;
    font-size: .9rem;
    font-weight: 800;
}

.product-group-stack {
    display: grid;
    gap: 38px;
}

.product-group {
    display: grid;
    gap: 16px;
}

.product-group[hidden] { display: none; }

.product-group-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(226, 177, 72, .28);
}

.product-group-heading h1,
.product-group-heading p { margin: 0; }

.product-group-heading h1 {
    color: #fff9e9;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 2vw, 2.25rem);
}

.product-group-heading p {
    margin-top: 5px;
    color: #aebbb0;
}

.product-group-heading > span {
    display: grid;
    place-items: center;
    min-width: 38px;
    min-height: 38px;
    border: 1px solid rgba(226, 177, 72, .38);
    border-radius: 999px;
    color: #efc86f;
    font-weight: 900;
}

.product-group-development {
    padding-top: 20px;
    border-top: 1px dashed rgba(238, 194, 98, .34);
}

.product-group-development .product-group-heading h1 { color: #efc86f; }

.product-group-empty {
    grid-column: 1 / -1;
    margin: 0;
    padding: 24px;
    border: 1px dashed rgba(226, 177, 72, .25);
    border-radius: 14px;
    color: #9eaca1;
    text-align: center;
}

.gameslab-page {
    min-height: 100vh;
    padding: 24px clamp(18px, 4vw, 64px) 48px;
    color: #edf4ec;
    background:
        radial-gradient(circle at 72% 8%, rgba(189, 145, 68, .18), transparent 34%),
        linear-gradient(145deg, #08110d, #13251b 58%, #09100d);
}

.gameslab-header,
.gameslab-header > div,
.gameslab-player > header,
.gameslab-player .actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.gameslab-header {
    display: grid;
    grid-template-columns: auto minmax(220px, 560px) auto;
}

.gameslab-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: inherit;
    text-decoration: none;
}

.gameslab-brand small {
    display: block;
    color: #c8ad72;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.gameslab-search {
    position: relative;
    display: block;
    width: 100%;
}

.gameslab-search span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.gameslab-search input {
    width: 100%;
    min-height: 44px;
    padding: 10px 15px 10px 42px;
    border: 1px solid rgba(213, 173, 93, .42);
    border-radius: 999px;
    color: #edf4ec;
    background:
        radial-gradient(circle at 22px 50%, transparent 0 6px, #d5ad5d 7px 8px, transparent 9px),
        linear-gradient(135deg, rgba(17, 29, 22, .96), rgba(8, 17, 13, .96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 10px 28px rgba(0, 0, 0, .2);
    font: inherit;
}

.gameslab-search input::placeholder {
    color: #96aa9c;
}

.gameslab-search input:focus {
    outline: 2px solid #d5ad5d;
    outline-offset: 2px;
}

.gameslab-library {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 42px;
}

.gameslab-game-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 22px;
    border: 1px solid rgba(213, 173, 93, .48);
    border-radius: 18px;
    background: rgba(17, 29, 22, .9);
    box-shadow: 0 22px 70px rgba(0, 0, 0, .28);
}

.gameslab-game-card[hidden],
.gameslab-empty[hidden] {
    display: none;
}

.gameslab-game-heading {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
}

.gameslab-game-heading h2 {
    margin: 0;
}

.gameslab-game-heading h2 {
    font-size: clamp(38px, 3.5vw, 52px);
    line-height: .95;
}

.gameslab-game-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border: 1px solid rgba(213, 173, 93, .5);
    border-radius: 999px;
    color: #f0d38f;
    background: rgba(213, 173, 93, .12);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
}

.gameslab-empty {
    margin: 42px 0 0;
    color: #b9c8bd;
    font-size: 18px;
}

.gameslab-preview {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 0;
    border: 1px solid rgba(213, 173, 93, .62);
    border-radius: 14px;
    background: #050806;
    cursor: pointer;
    box-shadow: 0 18px 52px rgba(0, 0, 0, .34);
}

.gameslab-preview img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform .25s ease, filter .25s ease;
}

.gameslab-preview span {
    position: absolute;
    right: 14px;
    bottom: 14px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 230, 167, .55);
    border-radius: 999px;
    color: #fff5d9;
    background: rgba(6, 12, 8, .82);
    font-weight: 700;
    letter-spacing: .02em;
}

.gameslab-market-preview {
    min-height: 0;
    aspect-ratio: 16 / 9;
    color: #edf4ec;
    background:
        radial-gradient(circle at 74% 26%, rgba(228, 180, 71, .2), transparent 24%),
        linear-gradient(145deg, #10271a, #07100b 68%);
}

.gameslab-market-preview svg {
    display: block;
    width: 100%;
    height: 100%;
}

.gameslab-market-preview .gameslab-market-ticker {
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 12px;
    bottom: auto;
    left: 12px;
    display: flex;
    gap: 8px;
    justify-content: center;
    padding: 7px 10px;
    border-color: rgba(228, 180, 71, .22);
    border-radius: 9px;
    background: rgba(4, 12, 8, .78);
    font: 700 10px/1.1 ui-monospace, SFMono-Regular, Consolas, monospace;
    letter-spacing: .04em;
}

.gameslab-market-ticker b { color: #f4d98b; }
.gameslab-market-ticker em { color: #7ad49b; font-style: normal; }
.gameslab-market-ticker em:last-child { color: #eb8f80; }
.gameslab-market-preview .gameslab-preview-label { z-index: 3; }
.gameslab-market-preview .market-grid path { fill: none; stroke: rgba(185, 208, 190, .12); stroke-width: 1; }
.gameslab-market-preview .market-area { fill: url(#market-fill); }
.gameslab-market-preview .market-line { fill: none; stroke: #e4b447; stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 7px rgba(228, 180, 71, .45)); }
.gameslab-market-preview .market-volume path { fill: none; stroke: rgba(112, 190, 139, .48); stroke-width: 12; }
.gameslab-market-preview .market-events circle { fill: #f5dc92; stroke: #10271a; stroke-width: 4; }

.gameslab-market-details-hero {
    display: grid;
    gap: 12px;
    min-height: 290px;
    align-content: center;
    padding: clamp(34px, 7vw, 78px);
    border-bottom: 1px solid rgba(213, 173, 93, .42);
    background:
        linear-gradient(120deg, rgba(4, 12, 8, .42), rgba(4, 12, 8, .88)),
        repeating-linear-gradient(0deg, transparent 0 51px, rgba(225, 191, 107, .08) 52px),
        repeating-linear-gradient(90deg, transparent 0 79px, rgba(225, 191, 107, .06) 80px),
        radial-gradient(circle at 78% 24%, rgba(228, 180, 71, .28), transparent 30%),
        #12301f;
}

.gameslab-market-details-hero span { color: #e4b447; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.gameslab-market-details-hero strong { max-width: 760px; color: #f5f2df; font: 700 clamp(46px, 8vw, 88px)/.9 Georgia, serif; }
.gameslab-market-details-hero small { max-width: 650px; color: #c7d4ca; font-size: 17px; }

.gameslab-preview:hover img,
.gameslab-preview:focus-visible img {
    transform: scale(1.018);
    filter: brightness(1.08);
}

.gameslab-preview:focus-visible {
    outline: 3px solid #e0aa43;
    outline-offset: 3px;
}

.gameslab-game-card h2,
.gameslab-player h2 {
    margin: 4px 0 8px;
    font: 700 30px Georgia, serif;
}

.gameslab-game-card p {
    color: #b9c8bd;
    line-height: 1.5;
}

.gameslab-game-description {
    margin: 0;
    font-size: 17px;
}

.gameslab-game-card .button {
    width: 100%;
    justify-content: center;
}

.gameslab-player {
    margin-top: 32px;
    padding: 18px;
    border: 1px solid rgba(213, 173, 93, .48);
    border-radius: 18px;
    background: #0a100c;
}

.gameslab-playing-only {
    box-sizing: border-box;
    width: 100%;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    background: #050806;
}

.gameslab-playing-only .gameslab-player {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 12px;
    border: 0;
    border-radius: 0;
}

.gameslab-playing-only .gameslab-frame-shell {
    flex: 1;
    min-height: 0;
    aspect-ratio: auto;
}

.gameslab-frame-shell {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-top: 14px;
    border-radius: 12px;
    background: #050806;
    aspect-ratio: 16 / 10;
}

.gameslab-frame-shell iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #050806;
}

.gameslab-frame-shell:fullscreen {
    width: 100vw;
    height: 100vh;
    border-radius: 0;
}

.gameslab-details {
    overflow: auto;
    width: min(1040px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    padding: 0;
    border: 1px solid rgba(213, 173, 93, .62);
    border-radius: 20px;
    color: #edf4ec;
    background: #101b14;
    box-shadow: 0 32px 120px rgba(0, 0, 0, .72);
}

.gameslab-details::backdrop {
    background: rgba(3, 7, 5, .82);
    backdrop-filter: blur(6px);
}

.gameslab-details > img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
    border-bottom: 1px solid rgba(213, 173, 93, .42);
}

.gameslab-details-close {
    position: absolute;
    z-index: 2;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 230, 167, .55);
    border-radius: 50%;
    color: #fff5d9;
    background: rgba(6, 12, 8, .88);
    font-size: 28px;
    cursor: pointer;
}

.gameslab-details-copy {
    padding: clamp(22px, 4vw, 42px);
}

.gameslab-details-copy h2 {
    margin: 4px 0 12px;
    font: 700 clamp(34px, 5vw, 58px)/1 Georgia, serif;
}

.gameslab-details-copy > p:last-of-type {
    max-width: 780px;
    color: #c4d1c7;
    font-size: 18px;
    line-height: 1.65;
}

.gameslab-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 26px;
}

.gameslab-feature-grid section {
    padding: 18px;
    border: 1px solid rgba(213, 173, 93, .25);
    border-radius: 13px;
    background: rgba(7, 13, 9, .45);
}

.gameslab-feature-grid h3 {
    margin: 0 0 7px;
    color: #f0cf82;
}

.gameslab-feature-grid p {
    margin: 0;
    color: #b9c8bd;
    line-height: 1.55;
}

@media (max-width: 1050px) {
    .gameslab-library {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .gameslab-library {
        grid-template-columns: 1fr;
    }

    .gameslab-header {
        grid-template-columns: 1fr;
    }

    .gameslab-header > div,
    .gameslab-player > header {
        align-items: flex-start;
        flex-direction: column;
    }

    .gameslab-feature-grid {
        grid-template-columns: 1fr;
    }
}

/* Rift One public gaming surface: premium, restrained, and action-led. */
.public-topbar,
.riftone-public,
.cms-footer,
.auth-page {
    --r1-bg: #05070a;
    --r1-surface: #0b0f14;
    --r1-surface-raised: #111720;
    --r1-line: rgba(255, 255, 255, .12);
    --r1-line-strong: rgba(255, 255, 255, .22);
    --r1-text: #f5f7fa;
    --r1-muted: #9aa5b3;
    --r1-accent: #b8ff3d;
    --r1-accent-hover: #cbff73;
    --r1-accent-ink: #071004;
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.public-topbar {
    position: sticky;
    z-index: 50;
    top: 0;
    min-height: 72px;
    padding: 0 max(24px, calc((100vw - 1240px) / 2));
    border: 0;
    border-bottom: 1px solid var(--r1-line);
    background: rgba(5, 7, 10, .9);
    backdrop-filter: blur(18px);
}

.public-topbar .site_brand,
.cms-footer .site_brand {
    position: relative;
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--r1-text);
    line-height: 1;
    letter-spacing: .12em;
}

.public-topbar .site_brand::before,
.cms-footer .site_brand::before {
    width: 8px;
    height: 8px;
    border-radius: 1px;
    background: var(--r1-accent);
    content: "";
    box-shadow: 0 0 18px rgba(184, 255, 61, .45);
}

.public-topbar .site_brand strong,
.cms-footer .site_brand strong {
    font-size: 1rem;
    font-weight: 780;
}

.public-topbar .site_brand span,
.cms-footer .site_brand span {
    font-size: 1rem;
    font-weight: 360;
    letter-spacing: .12em;
}

.public-topbar nav { gap: 4px; }

.public-topbar nav a {
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 3px;
    background: transparent;
    color: #b8c1cd;
    font-size: .82rem;
    font-weight: 620;
    letter-spacing: .035em;
}

.public-topbar nav a:hover,
.public-topbar nav a.active {
    border-color: var(--r1-line);
    background: rgba(255, 255, 255, .05);
    color: var(--r1-text);
}

.public-topbar nav a.nav-cta,
.public-topbar nav a.nav-cta:hover {
    border-color: var(--r1-accent);
    background: var(--r1-accent);
    color: var(--r1-accent-ink);
}

.riftone-public {
    min-height: calc(100vh - 72px);
    padding: 0 28px 96px;
    color: var(--r1-text);
    background:
        radial-gradient(circle at 75% 14%, rgba(105, 167, 255, .11), transparent 33%),
        linear-gradient(180deg, #05070a 0%, #080b10 42%, #05070a 100%);
    background-image:
        radial-gradient(circle at 75% 14%, rgba(105, 167, 255, .11), transparent 33%),
        linear-gradient(180deg, #05070a 0%, #080b10 42%, #05070a 100%);
}

.riftone-public .cms-page {
    width: min(1240px, 100%);
    gap: 0;
}

.riftone-public [id] { scroll-margin-top: 88px; }

.riftone-public .cms-hero {
    position: relative;
    isolation: isolate;
    min-height: 680px;
    overflow: hidden;
    align-content: center;
    padding: 100px 0 90px;
    border: 0;
    border-bottom: 1px solid var(--r1-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.riftone-public .cms-hero::before {
    position: absolute;
    z-index: -2;
    inset: 0 -8vw 0 44%;
    background:
        linear-gradient(90deg, #05070a 0%, rgba(5, 7, 10, .7) 30%, rgba(5, 7, 10, .12) 70%),
        linear-gradient(0deg, #05070a 0%, transparent 38%),
        url("/assets/img/kronos-card-fall-current-v2.png") center / cover no-repeat;
    content: "";
    opacity: .78;
}

.riftone-public .cms-hero::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 7, 10, .98) 0 41%, rgba(5, 7, 10, .48) 68%, rgba(5, 7, 10, .2));
    content: "";
}

.riftone-public [data-webbuilder-page="/"] .cms-hero::before {
    inset: 0 -4vw 0 42%;
    background:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
        radial-gradient(circle at 68% 40%, rgba(184, 255, 61, .2), transparent 18%),
        radial-gradient(circle at 38% 68%, rgba(105, 167, 255, .13), transparent 26%),
        linear-gradient(135deg, #111821 0%, #070a0f 72%);
    background-size: 64px 64px, 64px 64px, auto, auto, auto;
    opacity: 1;
}

.riftone-public [data-webbuilder-page="/"] .cms-hero::after {
    background: linear-gradient(90deg, rgba(5, 7, 10, .99) 0 43%, rgba(5, 7, 10, .66) 68%, rgba(5, 7, 10, .28));
}

.riftone-public .cms-hero .eyebrow,
.cms-section-heading .eyebrow {
    width: fit-content;
    margin: 0;
    padding: 0 0 0 13px;
    border: 0;
    border-left: 2px solid var(--r1-accent);
    background: transparent;
    color: var(--r1-accent);
    font-size: .72rem;
    font-weight: 720;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.riftone-public .cms-hero h1 {
    max-width: 780px;
    color: var(--r1-text);
    font-size: clamp(4rem, 8vw, 7.4rem);
    font-weight: 620;
    letter-spacing: -.06em;
    line-height: .92;
}

.riftone-public .cms-hero h1 span {
    display: block;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--r1-accent);
    transform: none;
}

.riftone-public .cms-hero > p {
    max-width: 620px;
    color: #b0bac7;
    font-size: clamp(1rem, 1.6vw, 1.16rem);
    font-weight: 400;
    line-height: 1.75;
}

.riftone-public .cms-actions { gap: 12px; margin-top: 8px; }

.riftone-public .button,
.cms-game-spotlight .button,
.auth-form-card .button.primary {
    min-height: 48px;
    padding: 0 22px;
    border: 1px solid var(--r1-line-strong);
    border-radius: 3px;
    box-shadow: none;
    font-size: .8rem;
    font-weight: 720;
    letter-spacing: .055em;
    text-transform: uppercase;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.riftone-public .button:hover,
.cms-game-spotlight .button:hover,
.auth-form-card .button.primary:hover {
    transform: translateY(-1px);
}

.riftone-public .button.primary,
.cms-game-spotlight .button.primary,
.auth-form-card .button.primary {
    border-color: var(--r1-accent);
    background: var(--r1-accent);
    color: var(--r1-accent-ink);
}

.riftone-public .button.primary:hover,
.cms-game-spotlight .button.primary:hover,
.auth-form-card .button.primary:hover {
    border-color: var(--r1-accent-hover);
    background: var(--r1-accent-hover);
}

.riftone-public .button.secondary,
.cms-game-spotlight .button.secondary {
    border-color: var(--r1-line-strong);
    background: rgba(12, 16, 22, .7);
    color: var(--r1-text);
}

.riftone-public .button.secondary:hover,
.cms-game-spotlight .button.secondary:hover {
    border-color: rgba(255, 255, 255, .42);
    background: rgba(255, 255, 255, .08);
}

.cms-feature-section {
    gap: 34px;
    padding: 92px 0;
    border-bottom: 1px solid var(--r1-line);
}

.cms-section-heading {
    gap: 18px;
    max-width: 760px;
}

.cms-section-heading h2 {
    color: var(--r1-text);
    font-size: clamp(2.4rem, 5vw, 4.7rem);
    font-weight: 560;
    letter-spacing: -.045em;
    line-height: 1;
}

.cms-section-heading > p:not(.eyebrow) {
    max-width: 680px;
    color: var(--r1-muted);
    font-size: 1.04rem;
    line-height: 1.75;
}

.riftone-public .cms-feature-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    border: 1px solid var(--r1-line);
    background: var(--r1-line);
}

.riftone-public .cms-feature-grid > div {
    min-height: 170px;
    gap: 14px;
    padding: 28px;
    border: 0;
    border-radius: 0;
    background: rgba(11, 15, 20, .95);
    box-shadow: none;
}

.riftone-public .cms-feature-grid strong {
    color: var(--r1-text);
    font-size: 1.05rem;
    font-weight: 620;
}

.riftone-public .cms-feature-grid span {
    color: var(--r1-muted);
    line-height: 1.65;
}

.cms-game-spotlight {
    grid-template-columns: minmax(0, 1.25fr) minmax(350px, .75fr);
    overflow: hidden;
    margin: 92px 0;
    border: 1px solid var(--r1-line-strong);
    border-radius: 4px;
    background: var(--r1-surface);
    box-shadow: 0 35px 90px rgba(0, 0, 0, .35);
}

.cms-game-art {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border: 0;
    border-right: 1px solid var(--r1-line);
    background: #05070a;
}

.cms-game-art::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 60%, rgba(5, 7, 10, .34));
    content: "";
    pointer-events: none;
}

.cms-game-art img { filter: saturate(.78) contrast(1.08); }

.cms-game-copy {
    gap: 22px;
    padding: clamp(36px, 5vw, 64px);
}

.cms-game-heading { gap: 16px; }

.cms-game-heading span,
.cms-game-heading strong {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--r1-muted);
    font-size: .68rem;
    font-weight: 720;
    letter-spacing: .14em;
}

.cms-game-heading span { color: var(--r1-accent); }

.cms-game-copy h2 {
    color: var(--r1-text);
    font-size: clamp(3rem, 6vw, 5rem);
    font-weight: 560;
    letter-spacing: -.055em;
    line-height: .95;
}

.cms-game-copy p,
.cms-game-copy ul { color: var(--r1-muted); line-height: 1.65; }

.cms-game-copy ul { gap: 10px; font-weight: 450; }

.cms-section-heading-standalone {
    max-width: none;
    margin: 92px 0 0;
    padding: clamp(44px, 7vw, 78px);
    border: 1px solid var(--r1-line-strong);
    border-radius: 4px;
    background:
        radial-gradient(circle at 85% 20%, rgba(184, 255, 61, .1), transparent 30%),
        var(--r1-surface-raised);
    box-shadow: none;
}

.cms-section-heading-standalone > p:not(.eyebrow) { color: var(--r1-muted); }

.riftone-public [data-webbuilder-page="/"] #platform {
    margin-top: 0;
    padding: clamp(72px, 10vw, 124px) 0;
    border: 0;
    border-bottom: 1px solid var(--r1-line);
    border-radius: 0;
    background: transparent;
}

.riftone-public [data-webbuilder-page="/"] #platform h2 {
    max-width: 760px;
}

.riftone-public [data-webbuilder-page="/"] #platform > p:not(.eyebrow) {
    max-width: 660px;
}

.cms-footer {
    grid-template-columns: auto 1fr auto;
    gap: 32px;
    padding: 34px max(24px, calc((100vw - 1240px) / 2));
    border: 0;
    border-top: 1px solid var(--r1-line);
    background: #05070a;
    color: var(--r1-muted);
}

.cms-footer > a:last-child {
    color: var(--r1-text);
    font-size: .8rem;
    font-weight: 650;
    letter-spacing: .05em;
    text-decoration: none;
    text-transform: uppercase;
}

.auth-page {
    padding: 28px;
    color: var(--r1-text);
    background:
        radial-gradient(circle at 18% 15%, rgba(119, 183, 255, .12), transparent 30%),
        #05070a;
}

.auth-entry {
    width: min(980px, 100%);
    overflow: hidden;
    border: 1px solid var(--r1-line-strong);
    border-radius: 4px;
    background: var(--r1-surface);
    box-shadow: 0 36px 110px rgba(0, 0, 0, .46);
}

.auth-story {
    min-height: 620px;
    padding: clamp(34px, 6vw, 72px);
    background:
        linear-gradient(180deg, rgba(5, 7, 10, .28), rgba(5, 7, 10, .92)),
        url("/assets/img/kronos-card-fall-current-v2.png") center / cover no-repeat;
}

.auth-story .brand-mark {
    border: 1px solid var(--r1-accent);
    border-radius: 2px;
    background: rgba(5, 7, 10, .72);
    color: var(--r1-accent);
    box-shadow: none;
}

.auth-story .auth-brand { color: var(--r1-text); }
.auth-kicker { color: var(--r1-accent); letter-spacing: .18em; }
.auth-story h2 { max-width: 510px; color: var(--r1-text); font-weight: 560; letter-spacing: -.035em; }
.auth-benefits { gap: 1px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .16); }

.auth-benefit {
    border: 0;
    border-radius: 0;
    background: rgba(5, 7, 10, .82);
    color: #c4ccd6;
}

.auth-form-card {
    padding: clamp(34px, 5vw, 58px);
    background: var(--r1-surface);
    color: var(--r1-text);
}

.auth-form-card h1 { color: var(--r1-text); font-weight: 580; letter-spacing: -.03em; }
.auth-lede { color: var(--r1-muted); }
.auth-form-card label { color: #c5ced8; }

.auth-form-card input {
    min-height: 50px;
    border: 1px solid var(--r1-line-strong);
    border-radius: 3px;
    background: #080b10;
    color: var(--r1-text);
}

.auth-form-card input:focus {
    border-color: var(--r1-accent);
    outline: 1px solid var(--r1-accent);
    outline-offset: 1px;
}

.auth-form-card .button.primary { width: 100%; }
.auth-links a { color: #cbd3dc; }
.auth-links a:hover { color: var(--r1-accent); }

@media (max-width: 900px) {
    .riftone-public .cms-hero { min-height: 620px; }
    .riftone-public .cms-hero::before { inset: 0 -8vw 0 24%; opacity: .48; }
    .riftone-public .cms-hero::after { background: linear-gradient(90deg, rgba(5, 7, 10, .98), rgba(5, 7, 10, .62)); }
    .cms-game-spotlight { grid-template-columns: 1fr; }
    .cms-game-art { min-height: 390px; border-right: 0; border-bottom: 1px solid var(--r1-line); }
    .riftone-public .cms-feature-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .public-topbar {
        position: relative;
        align-items: flex-start;
        min-height: 0;
        padding: 18px 20px;
    }

    .public-topbar nav { justify-content: flex-start; width: 100%; }
    .public-topbar nav a { min-height: 36px; padding: 0 9px; font-size: .74rem; }
    .riftone-public { padding: 0 20px 72px; }
    .riftone-public .cms-hero { min-height: 600px; padding: 72px 0; }
    .riftone-public .cms-hero h1 { font-size: clamp(3.35rem, 17vw, 5.2rem); }
    .riftone-public .cms-hero::before { inset: 0 -80% 0 6%; }
    .riftone-public .cms-actions .button { width: 100%; justify-content: center; }
    .cms-feature-section { padding: 68px 0; }
    .cms-game-spotlight { margin: 68px 0; }
    .cms-game-art { min-height: 280px; }
    .cms-game-copy { padding: 30px 24px; }
    .cms-section-heading-standalone { margin-top: 68px; padding: 38px 26px; }
    .cms-footer { grid-template-columns: 1fr; align-items: start; }
    .auth-page { padding: 14px; }
    .auth-story { min-height: 420px; }
}

/* Rift One company mark shared by the public site and account entry screens. */
.public-topbar .site_brand::before,
.cms-footer .site_brand::before {
    display: none;
}

.site_brand_icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    object-fit: contain;
}

.brand-mark.brand-mark-image {
    overflow: hidden;
    padding: 0;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.brand-mark.brand-mark-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cms-platform-preview {
    padding: clamp(72px, 10vw, 124px) 0 clamp(110px, 13vw, 170px);
    border-bottom: 1px solid var(--r1-line);
}

.cms-platform-preview .cms-section-heading {
    margin-bottom: 46px;
}

.cms-platform-preview-stage {
    position: relative;
    min-height: 700px;
}

.cms-platform-preview figure {
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--r1-line-strong);
    border-radius: 4px;
    background: #0b0f14;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .46);
}

.cms-platform-preview img {
    display: block;
    width: 100%;
    height: auto;
}

.cms-platform-preview figcaption {
    padding: 14px 18px;
    border-top: 1px solid var(--r1-line);
    color: var(--r1-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.cms-platform-preview-primary {
    width: 82%;
}

.cms-platform-preview-secondary {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 58%;
}

.riftone-public [data-webbuilder-page="/"] .cms-hero > :not(.cms-hero-mark) {
    position: relative;
    z-index: 2;
}

/* Rift One signed-in dashboard: the public brand carried into the workspace. */
.admin-view-dashboard {
    --dashboard-bg: #05070a;
    --dashboard-surface: #0b0f14;
    --dashboard-raised: #111720;
    --dashboard-line: rgba(255, 255, 255, .12);
    --dashboard-line-strong: rgba(255, 255, 255, .22);
    --dashboard-text: #f5f7fa;
    --dashboard-muted: #9aa5b3;
    --dashboard-accent: #b8ff3d;
    min-height: 100vh;
    color: var(--dashboard-text);
    background:
        radial-gradient(circle at 83% 9%, rgba(184, 255, 61, .11), transparent 27rem),
        linear-gradient(135deg, #05070a 0%, #080b10 52%, #05070a 100%);
}

.admin-view-dashboard .admin-side {
    border-right: 1px solid var(--dashboard-line);
    background: rgba(5, 7, 10, .97);
    box-shadow: none;
}

.admin-view-dashboard .admin-brand {
    color: var(--dashboard-text);
    letter-spacing: -.02em;
}

.admin-view-dashboard .nav-icon-button,
.admin-view-dashboard .nav-expand,
.admin-view-dashboard .settings-gear {
    border: 1px solid var(--dashboard-line);
    border-radius: 3px;
    background: var(--dashboard-raised);
    color: var(--dashboard-muted);
}

.admin-view-dashboard .nav-icon-button:hover,
.admin-view-dashboard .nav-expand:hover,
.admin-view-dashboard .settings-gear:hover,
.admin-view-dashboard .settings-gear.active {
    border-color: var(--dashboard-accent);
    background: var(--dashboard-accent);
    color: #05070a;
}

.admin-view-dashboard .side-bottom {
    border-color: var(--dashboard-line);
}

.admin-view-dashboard .side-action {
    border: 1px solid transparent;
    border-radius: 3px;
    color: var(--dashboard-muted);
}

.admin-view-dashboard .side-action:hover,
.admin-view-dashboard .side-action.active {
    border-color: var(--dashboard-line);
    background: var(--dashboard-raised);
    color: var(--dashboard-text);
}

.admin-view-dashboard .side-action.active {
    box-shadow: inset 3px 0 0 var(--dashboard-accent);
}

.admin-view-dashboard .admin-main {
    width: 100%;
    max-width: 1680px;
    padding: clamp(16px, 2vw, 32px);
}

.admin-view-dashboard .admin-topbar {
    min-height: 66px;
    margin-bottom: 18px;
    padding: 11px 14px;
    border-color: var(--dashboard-line);
    border-radius: 3px;
    background: rgba(11, 15, 20, .88);
    box-shadow: none;
    backdrop-filter: blur(18px);
}

.admin-view-dashboard .admin-topbar strong {
    color: var(--dashboard-text);
    font-size: 1rem;
    letter-spacing: -.01em;
}

.admin-view-dashboard .top-kicker {
    color: var(--dashboard-accent);
    letter-spacing: .15em;
}

.admin-view-dashboard .icon-button {
    border-color: var(--dashboard-line);
    border-radius: 3px;
    background: var(--dashboard-raised);
    color: var(--dashboard-muted);
}

.admin-view-dashboard .icon-button:hover,
.admin-view-dashboard .icon-button.active {
    border-color: var(--dashboard-accent);
    background: var(--dashboard-accent);
    color: #05070a;
}

.admin-view-dashboard .empty-dashboard {
    position: relative;
    display: grid;
    grid-template-rows: 1fr auto;
    overflow: hidden;
    min-height: calc(100vh - 134px);
    border-color: var(--dashboard-line);
    border-radius: 3px;
    background:
        linear-gradient(var(--dashboard-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--dashboard-line) 1px, transparent 1px),
        var(--dashboard-surface);
    background-size: 72px 72px, 72px 72px, auto;
    box-shadow: 0 36px 90px rgba(0, 0, 0, .32);
}

.admin-view-dashboard .empty-dashboard::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(11, 15, 20, .98) 0%, rgba(11, 15, 20, .87) 42%, rgba(11, 15, 20, .18) 78%, rgba(11, 15, 20, .72) 100%);
}

.dashboard-welcome,
.dashboard-session-line {
    position: relative;
    z-index: 1;
}

.dashboard-welcome {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 42%);
    align-items: center;
    gap: clamp(24px, 7vw, 110px);
    padding: clamp(46px, 8vw, 116px);
}

.dashboard-welcome-copy {
    max-width: 650px;
}

.dashboard-eyebrow {
    margin: 0 0 20px;
    color: var(--dashboard-accent);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.dashboard-welcome h1 {
    max-width: 620px;
    margin: 0;
    color: var(--dashboard-text);
    font-size: clamp(3rem, 6vw, 6.8rem);
    line-height: .92;
    letter-spacing: -.065em;
}

.dashboard-welcome-copy > p:not(.dashboard-eyebrow) {
    max-width: 560px;
    margin: 28px 0 0;
    color: var(--dashboard-muted);
    font-size: clamp(1rem, 1.5vw, 1.22rem);
}

.dashboard-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 34px;
}

.admin-view-dashboard .dashboard-actions .button.primary {
    min-height: 46px;
    padding: 11px 18px;
    border: 1px solid var(--dashboard-accent);
    border-radius: 3px;
    background: var(--dashboard-accent);
    color: #05070a;
    letter-spacing: .01em;
}

.dashboard-text-link {
    color: var(--dashboard-text);
    font-weight: 800;
    text-decoration: none;
}

.dashboard-text-link:hover {
    color: var(--dashboard-accent);
}

.dashboard-welcome-mark {
    width: min(100%, 490px);
    justify-self: center;
    opacity: .94;
    filter: drop-shadow(0 0 46px rgba(184, 255, 61, .18));
}

.dashboard-session-line {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 14px clamp(22px, 3vw, 42px);
    border-top: 1px solid var(--dashboard-line);
    background: rgba(5, 7, 10, .82);
    color: var(--dashboard-muted);
    font-size: .85rem;
}

.dashboard-session-line strong {
    color: var(--dashboard-text);
}

.dashboard-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--dashboard-accent);
    box-shadow: 0 0 18px rgba(184, 255, 61, .75);
}

@media (max-width: 820px) {
    .dashboard-welcome {
        grid-template-columns: 1fr;
        padding: 42px 28px;
    }

    .dashboard-welcome-mark {
        width: min(68vw, 320px);
        grid-row: 1;
        opacity: .78;
    }
}

@media (max-width: 560px) {
    .dashboard-welcome h1 {
        font-size: clamp(2.75rem, 16vw, 4.4rem);
    }

    .dashboard-session-line {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}

/* One Rift One system across the signed-in customer experience. */
.riftone-account-surface,
.gameslab-public {
    --r1-bg: #05070a;
    --r1-surface: #0b0f14;
    --r1-surface-raised: #111720;
    --r1-line: rgba(255, 255, 255, .12);
    --r1-line-strong: rgba(255, 255, 255, .22);
    --r1-text: #f5f7fa;
    --r1-muted: #9aa5b3;
    --r1-accent: #b8ff3d;
    --r1-accent-hover: #cbff73;
    --r1-accent-ink: #071004;
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.riftone-account-surface {
    min-height: 100vh;
    color: var(--r1-text);
    background:
        radial-gradient(circle at 82% 8%, rgba(184, 255, 61, .09), transparent 29rem),
        linear-gradient(135deg, #05070a 0%, #080b10 56%, #05070a 100%);
}

.riftone-account-surface .admin-side {
    border-right: 1px solid var(--r1-line);
    background: rgba(5, 7, 10, .97);
    box-shadow: none;
}

.riftone-account-surface .admin-brand { color: var(--r1-text); }
.riftone-account-surface .nav-mode-buttons { display: none; }
.riftone-account-surface .side-bottom { border-color: var(--r1-line); }

.riftone-account-surface .nav-icon-button,
.riftone-account-surface .nav-expand,
.riftone-account-surface .settings-gear,
.riftone-account-surface .icon-button {
    border: 1px solid var(--r1-line);
    border-radius: 3px;
    background: var(--r1-surface-raised);
    color: var(--r1-muted);
}

.riftone-account-surface .nav-icon-button:hover,
.riftone-account-surface .nav-expand:hover,
.riftone-account-surface .settings-gear:hover,
.riftone-account-surface .settings-gear.active,
.riftone-account-surface .icon-button:hover,
.riftone-account-surface .icon-button.active {
    border-color: var(--r1-accent);
    background: var(--r1-accent);
    color: var(--r1-accent-ink);
}

.riftone-account-surface .side-action {
    border: 1px solid transparent;
    border-radius: 3px;
    color: var(--r1-muted);
}

.riftone-account-surface .side-action:hover,
.riftone-account-surface .side-action.active {
    border-color: var(--r1-line);
    background: var(--r1-surface-raised);
    color: var(--r1-text);
}

.riftone-account-surface .admin-main {
    width: 100%;
    max-width: 1680px;
    padding: clamp(16px, 2vw, 32px);
}

.riftone-account-surface .admin-topbar {
    min-height: 66px;
    margin-bottom: 18px;
    padding: 11px 14px;
    border-color: var(--r1-line);
    border-radius: 3px;
    background: rgba(11, 15, 20, .88);
    box-shadow: none;
    backdrop-filter: blur(18px);
}

.riftone-account-surface .admin-topbar strong,
.riftone-account-surface .window-head h1 { color: var(--r1-text); }
.riftone-account-surface .top-kicker { color: var(--r1-accent); letter-spacing: .15em; }

.riftone-account-surface .backend-window {
    border-color: var(--r1-line);
    border-radius: 3px;
    color: var(--r1-text);
    background: var(--r1-surface);
    box-shadow: 0 36px 90px rgba(0, 0, 0, .28);
}

.riftone-account-surface .button.primary {
    border: 1px solid var(--r1-accent);
    border-radius: 3px;
    background: var(--r1-accent);
    color: var(--r1-accent-ink);
}

.riftone-account-surface .button.secondary {
    border-color: var(--r1-line-strong);
    border-radius: 3px;
    background: var(--r1-surface-raised);
    color: var(--r1-text);
}

.riftone-account-surface .button:hover { transform: translateY(-1px); }

.riftone-account-surface .settings-window { padding: clamp(22px, 3vw, 42px); }
.riftone-account-surface .settings-window .window-head { margin-bottom: 28px; }
.riftone-account-surface .settings-grid { gap: 16px; }

.riftone-account-surface .settings-panel {
    min-height: 240px;
    padding: 22px;
    border-color: var(--r1-line);
    border-radius: 3px;
    background: var(--r1-surface-raised);
}

.riftone-account-surface .settings-panel h2 { color: var(--r1-text); font-size: 1.08rem; }
.riftone-account-surface .settings-panel label,
.riftone-account-surface .switch-row { color: #c6cfda; }
.riftone-account-surface .settings-state { color: var(--r1-muted); }
.riftone-account-surface input[type="checkbox"] { accent-color: var(--r1-accent); }

.riftone-account-surface .settings-panel input:not([type="checkbox"]),
.riftone-account-surface .settings-panel select,
.riftone-account-surface .settings-panel textarea {
    border-color: var(--r1-line);
    border-radius: 3px;
    background: #070a0e;
    color: var(--r1-text);
}

.public-games-window {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
    overflow: hidden;
    min-height: calc(100vh - 134px);
    padding: 0;
}

.public-games-window::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 72px 72px;
    content: "";
}

.public-games-copy,
.public-games-art { position: relative; z-index: 1; }

.public-games-copy {
    display: grid;
    align-content: center;
    padding: clamp(48px, 7vw, 104px);
}

.public-games-copy h1 {
    margin: 0;
    color: var(--r1-text);
    font-size: clamp(3.5rem, 6.6vw, 7rem);
    font-weight: 650;
    letter-spacing: -.065em;
    line-height: .91;
}

.public-games-copy > p:not(.dashboard-eyebrow) {
    max-width: 580px;
    margin: 28px 0 0;
    color: var(--r1-muted);
    font-size: clamp(1rem, 1.4vw, 1.18rem);
    line-height: 1.7;
}

.public-games-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 34px; }
.public-games-actions .button { min-height: 48px; padding: 0 22px; }
.public-games-status { display: flex; align-items: center; gap: 10px; margin-top: 44px; color: var(--r1-muted); font-size: .82rem; }
.public-games-status span { width: 8px; height: 8px; border-radius: 50%; background: var(--r1-accent); box-shadow: 0 0 16px rgba(184, 255, 61, .7); }
.public-games-status strong { color: var(--r1-text); }

.public-games-art {
    overflow: hidden;
    min-height: 620px;
    border-left: 1px solid var(--r1-line);
    background: #070a0e;
}

.public-games-art::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 7, 10, .7), transparent 35%), linear-gradient(0deg, rgba(5, 7, 10, .92), transparent 55%);
    content: "";
}

.public-games-art img { width: 100%; height: 100%; object-fit: cover; }
.public-games-art > div { position: absolute; z-index: 2; right: 38px; bottom: 38px; left: 38px; display: grid; gap: 4px; }
.public-games-art span { color: var(--r1-accent); font-size: .7rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.public-games-art strong { color: var(--r1-text); font-size: clamp(3rem, 6vw, 6rem); letter-spacing: -.055em; line-height: .9; }
.public-games-art small { color: #c3ccd6; font-size: 1rem; }

.gameslab-public {
    min-height: 100vh;
    padding: 24px max(24px, calc((100vw - 1400px) / 2)) 64px;
    color: var(--r1-text);
    background:
        radial-gradient(circle at 82% 12%, rgba(184, 255, 61, .09), transparent 30rem),
        linear-gradient(135deg, #05070a 0%, #080b10 55%, #05070a 100%);
}

.gameslab-public .gameslab-header {
    min-height: 64px;
    grid-template-columns: 1fr auto;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--r1-line);
}

.gameslab-public .gameslab-brand { color: var(--r1-text); }
.gameslab-public .gameslab-brand small { color: var(--r1-accent); }
.gameslab-public .button.secondary { border-color: var(--r1-line-strong); border-radius: 3px; background: var(--r1-surface-raised); color: var(--r1-text); }
.gameslab-public .gameslab-library { grid-template-columns: 1fr; margin-top: clamp(32px, 5vw, 72px); }

.gameslab-kronos-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
    gap: 0;
    overflow: hidden;
    min-height: 650px;
    padding: 0;
    border-color: var(--r1-line);
    border-radius: 3px;
    background: var(--r1-surface);
    box-shadow: 0 38px 100px rgba(0, 0, 0, .38);
}

.gameslab-kronos-art { position: relative; min-height: 540px; overflow: hidden; }
.gameslab-kronos-art::after { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 55%, rgba(5, 7, 10, .8)), linear-gradient(0deg, rgba(5, 7, 10, .72), transparent 45%); content: ""; }
.gameslab-kronos-art img { width: 100%; height: 100%; object-fit: cover; }
.gameslab-kronos-art button { position: absolute; z-index: 2; bottom: 24px; left: 24px; min-height: 40px; padding: 0 15px; border: 1px solid var(--r1-line-strong); border-radius: 3px; background: rgba(5, 7, 10, .82); color: var(--r1-text); font: inherit; font-size: .78rem; font-weight: 750; cursor: pointer; }

.gameslab-kronos-copy { display: grid; align-content: center; padding: clamp(34px, 5vw, 72px); }
.gameslab-availability { display: flex; align-items: center; gap: 9px; margin: 0 0 24px; color: var(--r1-accent) !important; font-size: .72rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.gameslab-availability span { width: 8px; height: 8px; border-radius: 50%; background: var(--r1-accent); box-shadow: 0 0 14px rgba(184, 255, 61, .7); }
.gameslab-kronos-copy .gameslab-game-heading h1 { margin: 0; color: var(--r1-text); font-size: clamp(4rem, 7vw, 7.4rem); font-weight: 650; letter-spacing: -.07em; line-height: .85; }
.gameslab-public .gameslab-game-tag { margin-top: 10px; border-color: var(--r1-line-strong); border-radius: 3px; background: transparent; color: #c4cdd7; }
.gameslab-public .gameslab-game-description { margin: 28px 0; color: var(--r1-muted); font-size: 1.06rem; line-height: 1.7; }
.gameslab-kronos-copy form { margin-top: 4px; }
.gameslab-kronos-copy .button.primary { min-height: 50px; border: 1px solid var(--r1-accent); border-radius: 3px; background: var(--r1-accent); color: var(--r1-accent-ink); font-size: .83rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.gameslab-kronos-copy small { margin-top: 14px; color: #768290; }
.gameslab-public .gameslab-details { border-color: var(--r1-line-strong); border-radius: 3px; color: var(--r1-text); background: var(--r1-surface); }
.gameslab-public .gameslab-details-close { border-color: var(--r1-line-strong); border-radius: 3px; background: rgba(5, 7, 10, .9); color: var(--r1-text); }
.gameslab-public .gameslab-feature-grid section { border-color: var(--r1-line); border-radius: 3px; background: var(--r1-surface-raised); }
.gameslab-public .gameslab-feature-grid h3 { color: var(--r1-accent); }

.gameslab-playing-only {
    --r1-line: rgba(255, 255, 255, .12);
    --r1-line-strong: rgba(255, 255, 255, .22);
    --r1-text: #f5f7fa;
    --r1-muted: #9aa5b3;
    --r1-accent: #b8ff3d;
    color: var(--r1-text);
    background: #05070a;
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.gameslab-playing-only .gameslab-player { padding: 12px; background: #05070a; }
.gameslab-playing-only .gameslab-player > header { min-height: 68px; padding: 8px 8px 14px; border-bottom: 1px solid var(--r1-line); }
.gameslab-playing-only .gameslab-player h2 { margin: 2px 0 0; color: var(--r1-text); font: 650 1.8rem/1 Inter, "Segoe UI", Arial, sans-serif; letter-spacing: -.035em; }
.gameslab-playing-only .eyebrow { margin: 0; color: var(--r1-accent); font-size: .68rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.gameslab-playing-only .button.secondary { border-color: var(--r1-line-strong); border-radius: 3px; background: #111720; color: var(--r1-text); }
.gameslab-playing-only .gameslab-frame-shell { margin-top: 12px; border: 1px solid var(--r1-line); border-radius: 3px; }

@media (max-width: 900px) {
    .public-games-window,
    .gameslab-kronos-feature { grid-template-columns: 1fr; }
    .public-games-art { min-height: 440px; border-top: 1px solid var(--r1-line); border-left: 0; }
    .gameslab-kronos-art { min-height: 420px; }
}

@media (max-width: 620px) {
    .public-games-copy { padding: 44px 28px; }
    .public-games-copy h1 { font-size: clamp(3rem, 15vw, 5rem); }
    .gameslab-public { padding: 16px 16px 42px; }
    .gameslab-kronos-art { min-height: 300px; }
    .gameslab-kronos-copy { padding: 30px 24px; }
    .gameslab-kronos-copy .gameslab-game-heading h1 { font-size: 4.2rem; }
}

.riftone-public [data-webbuilder-page="/"] .cms-hero-mark {
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 5%;
    width: clamp(280px, 34vw, 470px);
    height: auto;
    opacity: .82;
    filter: drop-shadow(0 0 54px rgba(184, 255, 61, .18));
    transform: translateY(-50%);
    pointer-events: none;
}

@media (max-width: 900px) {
    .cms-platform-preview-stage {
        display: grid;
        gap: 22px;
        min-height: 0;
    }

    .cms-platform-preview-primary,
    .cms-platform-preview-secondary {
        position: static;
        width: 100%;
    }

    .riftone-public [data-webbuilder-page="/"] .cms-hero-mark {
        right: -10%;
        width: min(70vw, 430px);
        opacity: .24;
    }
}

@media (max-width: 680px) {
    .riftone-public [data-webbuilder-page="/"] .cms-hero-mark {
        top: 32%;
        right: -34%;
        width: 95vw;
        opacity: .14;
    }
}
