/* /Components/Content/BannerEditor.razor.rz.scp.css */
.banner-editor[b-kq1rwp3sm9] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-3);
    align-items: flex-start;
}

.banner-preview[b-kq1rwp3sm9] {
    width: 5rem;
    height: 10rem;
    border: 1px solid var(--lw-content-border);
    flex: none;
}

.banner-fields[b-kq1rwp3sm9] {
    display: grid;
    gap: var(--lw-space-2);
    flex: 1 1 16rem;
    min-width: 0;
}

.banner-layer[b-kq1rwp3sm9] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--lw-space-2);
}
/* /Components/Content/LineagePanel.razor.rz.scp.css */
.lineage-heading[b-1azq5xe272] {
    margin: var(--lw-space-3) 0 var(--lw-space-2);
    font-size: var(--lw-font-size);
}

.lineage-heading:first-of-type[b-1azq5xe272] {
    margin-top: 0;
}

.lineage-list[b-1azq5xe272] {
    display: grid;
    gap: var(--lw-space-2);
    margin: 0 0 var(--lw-space-3);
    padding: 0;
    list-style: none;
}

.lineage-list li[b-1azq5xe272] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
}

.lineage-trace li[b-1azq5xe272] {
    padding-inline-start: calc(var(--lineage-depth, 0) * var(--lw-space-5));
}

.lineage-add[b-1azq5xe272] {
    display: grid;
    grid-template-columns: minmax(0, 10rem) minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: var(--lw-space-2);
    align-items: center;
}

@media (max-width: 760px) {
    .lineage-add[b-1azq5xe272] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Content/LinkPicker.razor.rz.scp.css */
.link-picker-search[b-o4o36yv8ad] {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: var(--lw-space-3);
}

.link-picker-results[b-o4o36yv8ad] {
    display: grid;
    gap: 2px;
    max-height: 22rem;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
}

.link-picker-results button[b-o4o36yv8ad] {
    display: flex;
    justify-content: space-between;
    gap: var(--lw-space-3);
    width: 100%;
    padding: var(--lw-space-2) var(--lw-space-3);
    border: 0;
    border-radius: var(--lw-radius);
    background: none;
    color: var(--lw-content-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.link-picker-results button:hover[b-o4o36yv8ad],
.link-picker-results button:focus-visible[b-o4o36yv8ad] {
    background: var(--lw-content-selected-bg);
}
/* /Components/Content/MarkdownField.razor.rz.scp.css */
.markdown-field[b-mo2hviuv1t] {
    display: grid;
    gap: var(--lw-space-2);
}

.markdown-field-tabs[b-mo2hviuv1t] {
    display: flex;
    gap: var(--lw-space-1);
}

.markdown-field-tabs button[b-mo2hviuv1t] {
    padding: var(--lw-space-1) var(--lw-space-3);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface);
    color: var(--lw-content-text-muted);
    font: inherit;
    font-size: var(--lw-font-size-sm);
    cursor: pointer;
}

.markdown-field-tabs button.active[b-mo2hviuv1t] {
    border-color: var(--lw-control-primary-bg);
    color: var(--lw-control-secondary-text);
    font-weight: 600;
}

.markdown-field textarea[b-mo2hviuv1t] {
    width: 100%;
    box-sizing: border-box;
    padding: var(--lw-space-3) var(--lw-space-4);
    min-height: 240px;
    font-family: inherit;
    line-height: 1.5;
    resize: vertical;
}

.markdown-suggest[b-mo2hviuv1t] {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: var(--lw-space-1);
    list-style: none;
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface);
}

.markdown-suggest button[b-mo2hviuv1t] {
    display: flex;
    justify-content: space-between;
    gap: var(--lw-space-3);
    width: 100%;
    padding: var(--lw-space-1) var(--lw-space-3);
    border: 0;
    border-radius: var(--lw-radius-sm);
    background: none;
    color: var(--lw-content-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.markdown-suggest li.active button[b-mo2hviuv1t],
.markdown-suggest button:hover[b-mo2hviuv1t] {
    background: var(--lw-content-selected-bg);
}

.markdown-field-preview[b-mo2hviuv1t] {
    min-height: 120px;
    padding: var(--lw-space-3) var(--lw-space-4);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface);
}

.markdown-field-link[b-mo2hviuv1t] {
    margin-left: auto;
}
/* /Components/Content/MovesEditor.razor.rz.scp.css */
/* The Moves and Reset groups look like the other groups of the form (SchemaField's own styles are scoped to it). */
.content-group[b-t7ck2pqtt8] {
    margin: 0;
    padding: var(--lw-space-3);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
}

.content-group legend[b-t7ck2pqtt8] {
    padding: 0 var(--lw-space-1);
    font-weight: 600;
}

.content-label[b-t7ck2pqtt8] {
    margin-bottom: var(--lw-space-1);
    font-weight: 600;
}

.content-group select[b-t7ck2pqtt8] {
    max-width: 32rem;
}
/* /Components/Content/QuestFlow.razor.rz.scp.css */
/* The quest flow: one line per stage, its branches after an arrow. */
.quest-flow[b-ddilqp2uyq] { margin: 0; padding-left: 1.5rem; display: grid; gap: 0.35rem; }
.quest-flow li[b-ddilqp2uyq] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem; }
.quest-flow-stage[b-ddilqp2uyq] { font-weight: 600; }
.quest-flow-arrow[b-ddilqp2uyq] { color: var(--lw-content-text-muted); }
.quest-flow-branch[b-ddilqp2uyq] { padding: 0.05rem 0.45rem; border-radius: 999px; border: 1px solid var(--lw-content-border); font-size: 0.85em; }
.quest-flow-branch.missing[b-ddilqp2uyq] { border-color: var(--lw-control-destructive); color: var(--lw-control-destructive); }
/* /Components/Content/QuestReadView.razor.rz.scp.css */
.quest-read-head[b-6o9g3q9crw] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--lw-space-2);
}

.quest-read-map[b-6o9g3q9crw] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: var(--lw-touch);
    color: var(--lw-content-link);
    font-weight: 600;
    text-decoration: none;
}

.quest-read-steps[b-6o9g3q9crw] {
    display: grid;
    gap: var(--lw-space-3);
    margin: 0;
    padding-left: var(--lw-space-5);
}

.quest-read-title[b-6o9g3q9crw] {
    color: var(--lw-content-item-name);
}

.quest-read-steps p[b-6o9g3q9crw] {
    margin: var(--lw-space-1) 0 0;
}

.quest-read-places[b-6o9g3q9crw] {
    display: grid;
    gap: var(--lw-space-1);
    margin: var(--lw-space-1) 0 0;
    padding: 0;
    list-style: none;
}

.quest-read-sub[b-6o9g3q9crw] {
    margin: var(--lw-space-4) 0 var(--lw-space-1);
    font-size: var(--lw-font-size);
}
/* /Components/Content/RichTextField.razor.rz.scp.css */
/* Story's text editor: a quiet formatting bar over a page of serif text with room around it (GitHub issue 195). */
.rich-text[b-i73u76u2zf] {
    display: grid;
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface);
}

.rich-text-toolbar[b-i73u76u2zf] {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-1);
    padding: var(--lw-space-1) var(--lw-space-2);
    border: 0;
    border-bottom: 1px solid var(--lw-content-border);
    background: var(--lw-content-surface);
}

.rich-text-toolbar[hidden][b-i73u76u2zf] {
    display: none;
}

.rich-text-toolbar[b-i73u76u2zf]  .ql-formats {
    display: inline-flex;
    margin-right: var(--lw-space-2);
}

.rich-text-toolbar[b-i73u76u2zf]  button {
    width: 36px;
    height: 36px;
    padding: var(--lw-space-2);
}

.rich-text-link[b-i73u76u2zf] {
    margin-left: auto;
    max-width: 12rem;
    font-size: 16px;
}

.rich-text-editor[b-i73u76u2zf] {
    border: 0;
    font-family: Georgia, 'Cormorant Garamond', serif;
    font-size: max(16px, 1.05rem);
    line-height: 1.7;
}

.rich-text-editor[b-i73u76u2zf]  .ql-editor {
    min-height: 420px;
    padding: var(--lw-space-4) var(--lw-space-5);
    font-size: inherit;
    line-height: inherit;
}

.rich-text-editor[b-i73u76u2zf]  .ql-editor p + p {
    margin-top: 0.8em;
}

.rich-text-editor[b-i73u76u2zf]  .ql-editor.ql-blank::before {
    left: var(--lw-space-5);
    color: var(--lw-content-text-muted);
    font-style: italic;
}

.rich-text.read-only .rich-text-editor[b-i73u76u2zf]  .ql-editor {
    min-height: 0;
}

/* Phones: a full-width page, bigger tap targets, and the bar stays reachable above the keyboard. */
@media (max-width: 760px) {
    .rich-text-toolbar[b-i73u76u2zf]  button {
        width: 44px;
        height: 44px;
    }

    .rich-text-editor[b-i73u76u2zf]  .ql-editor {
        min-height: 60vh;
        min-height: 60dvh;
        padding: var(--lw-space-4);
    }

    .rich-text-editor[b-i73u76u2zf]  .ql-editor.ql-blank::before {
        left: var(--lw-space-4);
    }
}

.rich-text-editor[hidden][b-i73u76u2zf],
.rich-text-source[hidden][b-i73u76u2zf],
.rich-text-toolbar[b-i73u76u2zf]  .ql-formats[hidden] {
    display: none;
}

.rich-text-button[b-i73u76u2zf] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: 36px;
    padding: 0 var(--lw-space-3);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface);
    color: var(--lw-content-text);
    font: inherit;
    font-size: var(--lw-font-size-sm);
    cursor: pointer;
}

.rich-text-mode[b-i73u76u2zf] {
    margin-left: auto;
}

.rich-text-mode[aria-pressed="true"][b-i73u76u2zf] {
    border-color: var(--lw-control-primary-bg);
    color: var(--lw-control-secondary-text);
}

/* Markdown mode (Blueprint only): the stored text, with the same room around it. */
.rich-text-source[b-i73u76u2zf] {
    width: 100%;
    box-sizing: border-box;
    min-height: 420px;
    padding: var(--lw-space-4) var(--lw-space-5);
    border: 0;
    border-radius: 0 0 var(--lw-radius) var(--lw-radius);
    font-family: ui-monospace, Consolas, monospace;
    font-size: 16px;
    line-height: 1.6;
    resize: vertical;
}

.rich-text-search[b-i73u76u2zf] {
    width: 100%;
    box-sizing: border-box;
    font-size: 16px;
}

.rich-text-results[b-i73u76u2zf] {
    display: grid;
    gap: 2px;
    margin: var(--lw-space-3) 0 0;
    padding: 0;
    list-style: none;
}

.rich-text-results button[b-i73u76u2zf] {
    display: grid;
    width: 100%;
    min-height: 44px;
    padding: var(--lw-space-2) var(--lw-space-3);
    border: 0;
    border-radius: var(--lw-radius);
    background: transparent;
    color: var(--lw-content-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.rich-text-results button:hover[b-i73u76u2zf] {
    background: var(--lw-content-surface-muted);
}

@media (max-width: 760px) {
    .rich-text-button[b-i73u76u2zf] {
        min-height: 44px;
    }

    .rich-text-source[b-i73u76u2zf] {
        padding: var(--lw-space-4);
    }
}

.rich-text-note[b-i73u76u2zf] {
    margin: 0;
    padding: var(--lw-space-2) var(--lw-space-4);
    border-bottom: 1px solid var(--lw-content-border);
    background: var(--lw-status-ai-bg);
    font-size: var(--lw-font-size-sm);
}

/* Link and the Markdown toggle look like the formatting buttons beside them: icons, no border or label. */
.rich-text-icon[b-i73u76u2zf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: var(--lw-radius-sm);
    background: transparent;
    color: var(--lw-content-text);
    cursor: pointer;
}

.rich-text-icon:hover:not(:disabled)[b-i73u76u2zf],
.rich-text-icon[aria-pressed="true"][b-i73u76u2zf] {
    color: var(--lw-content-link);
}

.rich-text-icon:disabled[b-i73u76u2zf] {
    opacity: 0.5;
    cursor: default;
}

@media (max-width: 760px) {
    .rich-text-icon[b-i73u76u2zf] {
        width: 44px;
        height: 44px;
    }
}

/* + New from the selected words (GitHub issue 206). */
.rich-text-new[b-i73u76u2zf] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-2);
    margin-top: var(--lw-space-3);
}

.rich-text-new button[b-i73u76u2zf] {
    min-height: 36px;
    padding: 0 var(--lw-space-3);
    border: 1px dashed var(--lw-control-secondary-border);
    border-radius: var(--lw-radius-sm);
    background: transparent;
    color: var(--lw-control-secondary-text);
    font: inherit;
    cursor: pointer;
}
/* /Components/Content/SchemaField.razor.rz.scp.css */
.content-field.wide[b-x82opyizmj] {
    grid-column: 1 / -1;
}

.content-label[b-x82opyizmj] {
    margin-bottom: var(--lw-space-1);
    font-weight: 600;
}

.content-group[b-x82opyizmj] {
    margin: 0;
    padding: var(--lw-space-3);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
}

.content-group legend[b-x82opyizmj] {
    padding: 0 var(--lw-space-1);
    font-weight: 600;
}

.content-item[b-x82opyizmj] {
    margin-bottom: var(--lw-space-3);
    padding: var(--lw-space-2) var(--lw-space-3) var(--lw-space-3);
    border-left: 3px solid var(--lw-content-selected-bg);
    background: var(--lw-content-surface-muted);
    border-radius: var(--lw-radius-sm);
}

.content-item.closed[b-x82opyizmj] {
    padding-bottom: var(--lw-space-2);
}

.content-item-bar[b-x82opyizmj] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-1);
    margin-bottom: var(--lw-space-2);
}

.content-item.closed .content-item-bar[b-x82opyizmj] {
    margin-bottom: 0;
}

.content-item-tools[b-x82opyizmj] {
    display: flex;
    gap: var(--lw-space-2);
    margin-bottom: var(--lw-space-2);
}

.content-item-toggle[b-x82opyizmj] {
    flex: 1;
    min-width: 0;
    min-height: var(--lw-touch);
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
    padding: 0 var(--lw-space-2);
    border: 0;
    background: transparent;
    color: var(--lw-content-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.content-item-chevron[b-x82opyizmj] {
    color: var(--lw-content-text-muted);
}

.content-item-index[b-x82opyizmj] {
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.content-item-summary[b-x82opyizmj] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.content-item-badge[b-x82opyizmj] {
    flex: none;
    padding: 0 var(--lw-space-2);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-selected-bg);
    color: var(--lw-control-secondary-text);
    font-size: var(--lw-font-size-sm);
}

.content-choices[b-x82opyizmj] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-1) var(--lw-space-3);
}

.content-tags[b-x82opyizmj] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-1);
    margin-bottom: var(--lw-space-1);
}

.content-tag[b-x82opyizmj] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    padding: 0 var(--lw-space-2);
    border-radius: var(--lw-radius-lg);
    background: var(--lw-content-selected-bg);
    font-size: var(--lw-font-size-sm);
}

.content-tag button[b-x82opyizmj] {
    border: 0;
    background: transparent;
    color: var(--lw-content-text-muted);
    cursor: pointer;
}

/* The account picker: whose account, then the territory, escrow name or account id it needs. */
.content-account[b-x82opyizmj] { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.content-account select[b-x82opyizmj], .content-account input[b-x82opyizmj] { flex: 1 1 12rem; min-width: 0; }

/* A money amount with the Lore's currency code after it (x-currency). */
.content-currency[b-x82opyizmj] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.content-currency input[b-x82opyizmj] {
    flex: 1;
    min-width: 0;
}

.content-currency-code[b-x82opyizmj] {
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

/* A quest's stages: a table of rows beside the selected stage's fields; stacked on a phone. */
.content-stages[b-x82opyizmj] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: var(--lw-space-3);
    align-items: start;
}

@media (max-width: 760px) {
    .content-stages[b-x82opyizmj] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.content-stage-rows[b-x82opyizmj] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--lw-space-1);
    min-width: 0;
}

.content-stage-row[b-x82opyizmj] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-1);
    width: 100%;
    border-left: 3px solid transparent;
    border-radius: var(--lw-radius-sm);
}

.content-stage-row.selected[b-x82opyizmj] {
    border-left-color: var(--lw-content-selected-bg);
    background: var(--lw-content-surface-muted);
}

.content-stage-pick[b-x82opyizmj] {
    flex: 1;
    min-width: 0;
    min-height: var(--lw-touch);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--lw-space-2);
    padding: 0 var(--lw-space-2);
    border: 0;
    background: transparent;
    color: var(--lw-content-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.content-stage-panel[b-x82opyizmj] {
    min-width: 0;
    padding: var(--lw-space-2) var(--lw-space-3) var(--lw-space-3);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface-muted);
}
/* /Components/Content/SchemaFields.razor.rz.scp.css */
.content-fields[b-27strzvrqd] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: var(--lw-space-3);
    align-items: start;
}

.content-tabs[b-27strzvrqd] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-1);
    margin-bottom: var(--lw-space-3);
    border-bottom: 1px solid var(--lw-content-border);
}

.content-tab[b-27strzvrqd] {
    min-height: var(--lw-touch);
    padding: 0 var(--lw-space-3);
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--lw-content-text-muted);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.content-tab.active[b-27strzvrqd] {
    color: var(--lw-content-link);
    border-bottom-color: var(--lw-control-primary-bg);
}
/* /Components/Content/WorldTimeField.razor.rz.scp.css */
.world-time[b-qkqgh1hzez] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
}

.world-time input[type="number"][b-qkqgh1hzez] {
    width: 6.5rem;
}

.world-time select[b-qkqgh1hzez] {
    width: auto;
    min-width: 0;
}
/* /Components/Layout/AccessAgreementDialog.razor.rz.scp.css */
.access-agreement + .access-agreement[b-ncofynzhkh] {
    margin-top: var(--lw-space-5);
    padding-top: var(--lw-space-4);
    border-top: 1px solid var(--lw-content-border);
}

.access-agreement h3[b-ncofynzhkh] {
    margin: 0 0 var(--lw-space-2);
    font-size: var(--lw-font-size-lg);
}

.access-agreement-status[b-ncofynzhkh] {
    margin: 0 0 var(--lw-space-3);
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.access-agreement-pending[b-ncofynzhkh] {
    color: var(--lw-status-pending);
    font-weight: 600;
}

.access-agreement-clauses[b-ncofynzhkh] {
    display: grid;
    gap: var(--lw-space-2);
    margin: 0;
    padding-inline-start: var(--lw-space-5);
    line-height: 1.55;
}
/* /Components/Layout/LandingLayout.razor.rz.scp.css */
.landing-layout-shell[b-pcp1fo638c] {
    min-height: 100vh;
    width: 100%;
}

/* Scene pages other than the signed-in portal end with their content, the footer just below (LoreScene). */
.landing-layout-shell:has(.lore-scene:not(.lore-scene-portal))[b-pcp1fo638c] {
    min-height: 0;
}

/* Center child page content and provide a sensible max-width for desktop */
.landing-layout-shell > *[b-pcp1fo638c] {
    box-sizing: border-box;
    max-width: 1200px;
    margin: 0 auto;
    padding: 28px;
    width: 100%;
}

@media (max-width: 760px) {
    .landing-layout-shell > *[b-pcp1fo638c] {
        padding: 16px;
    }
}

/* /Components/Layout/MainLayout.razor.rz.scp.css */
.lore-main-content[b-sep76ljkpj] {
  background: var(--lw-content-page-bg);
  min-height: 100vh;
  min-height: 100dvh;
}

.lore-context-control[b-sep76ljkpj] {
  flex: 0 1 250px;
  min-width: 180px;
  margin-right: 8px;
  font-size: 0.84rem;
}

.lore-context-control select[b-sep76ljkpj] {
  box-sizing: border-box;
  width: 100%;
  height: 36px;
  padding: 0 28px 0 10px;
  border: 1px solid var(--lw-frame-search-border);
  border-radius: 4px;
  color: var(--lw-frame-header-text);
  background: var(--lw-frame-search-bg);
  font: inherit;
}

/* The open list is drawn by the browser on its own surface: give every option, + Add Lore included, a solid pair from the frame's tokens so it reads in both themes (GitHub 213). */
.lore-context-control option[b-sep76ljkpj] {
  color: var(--lw-frame-nav-text);
  background: var(--lw-frame-nav-bg);
}

@media (pointer: coarse) {
  .lore-context-control select[b-sep76ljkpj] {
    height: var(--lw-touch);
  }
}

/* The brand (founder, 2026-10-08): the book, then the wordmark. "Lorewisp" in the logo's blue-to-violet gradient with a
   little depth (two stacked shadows) and a soft glow; the kind (Studio, Author, Creator) in brushed silver, lit from
   above. Shadows are drop-shadow filters, since a gradient fill (background-clip: text) hides text-shadow. On a phone the
   book stands alone. */
.lore-brand[b-sep76ljkpj] {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  margin-right: 12px;
  text-decoration: none;
}

.lore-brand-book[b-sep76ljkpj] {
  display: block;
  width: auto;
  height: 34px;
  /* The art sits low in its square (the wisp above it is faint), so it lifts to sit level with the wordmark. */
  transform: translateY(-2px);
}

.lore-wordmark[b-sep76ljkpj] {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.lore-wordmark-name[b-sep76ljkpj] {
  color: var(--lw-frame-wordmark-fallback);
  background: var(--lw-frame-wordmark);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 0 var(--lw-frame-wordmark-depth)) drop-shadow(0 2px 1px var(--lw-frame-wordmark-depth)) drop-shadow(0 0 6px var(--lw-frame-logo-glow));
}

.lore-wordmark-kind[b-sep76ljkpj] {
  color: var(--lw-frame-wordmark-kind);
  background: var(--lw-frame-wordmark-kind-sheen);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 600;
  filter: drop-shadow(0 -1px 0 var(--lw-frame-wordmark-kind-light)) drop-shadow(0 1px 1px var(--lw-frame-wordmark-depth));
}

@media (max-width: 560px) {
  .lore-wordmark[b-sep76ljkpj] {
    display: none;
  }

  .lore-brand[b-sep76ljkpj] {
    margin-right: 4px;
  }
}

.lore-route-label[b-sep76ljkpj] {
  opacity: 0.8;
  margin-right: 12px;
}

.lore-user-avatar[b-sep76ljkpj] {
  color: var(--lw-frame-avatar-text);
  background: var(--lw-frame-avatar-bg);
}

.lore-account-wrap[b-sep76ljkpj] {
  position: relative;
  display: flex;
  align-items: center;
  margin-inline-start: var(--lw-space-2);
}

.lore-account-trigger[b-sep76ljkpj] {
  display: flex;
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

.lore-account-menu[b-sep76ljkpj] {
  position: absolute;
  z-index: 1600;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  gap: 7px;
  width: 250px;
  padding: 16px;
  border: 1px solid var(--lw-content-border);
  border-radius: 6px;
  color: var(--lw-content-text);
  background: var(--lw-content-surface);
  box-shadow: var(--lw-shadow-lg);
  font-size: 0.86rem;
}

.lore-account-menu-wide[b-sep76ljkpj] {
  width: min(360px, calc(100vw - 32px));
}

.lore-account-menu > span[b-sep76ljkpj] {
  overflow-wrap: anywhere;
  color: var(--lw-content-text-muted);
}

.lore-account-menu .lore-account-role[b-sep76ljkpj] {
  color: var(--lw-control-secondary-text);
  font-weight: 600;
}

.lore-account-menu .lore-account-actor[b-sep76ljkpj] {
  padding-top: 6px;
  border-top: 1px solid var(--lw-content-divider);
  color: var(--lw-content-text-muted);
  font-size: 0.8rem;
}

.lore-account-legal[b-sep76ljkpj] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  padding-top: 8px;
  border-top: 1px solid var(--lw-content-divider);
  font-size: 0.8rem;
}

.lore-account-legal a[b-sep76ljkpj],
.lore-account-legal button[b-sep76ljkpj] {
  padding: 0;
  border: 0;
  background: none;
  color: var(--lw-control-secondary-text);
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}

.lore-account-legal a:hover[b-sep76ljkpj],
.lore-account-legal button:hover[b-sep76ljkpj] {
  text-decoration: underline;
}

.lore-account-simulation[b-sep76ljkpj] {
  display: grid;
  gap: 7px;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid var(--lw-content-divider);
}

.lore-account-simulation label[b-sep76ljkpj] {
  color: var(--lw-content-text-muted);
  font-size: 0.8rem;
  font-weight: 600;
}

.lore-account-simulation select[b-sep76ljkpj] {
  box-sizing: border-box;
  width: 100%;
  min-height: 36px;
  padding: 6px 8px;
  border: 1px solid var(--lw-content-border-strong);
  border-radius: 4px;
  color: var(--lw-content-text);
  background: var(--lw-content-surface);
  font: inherit;
  font-size: 0.8rem;
}

/* More specific than the menu's link-style form buttons (Sign Out), so Apply stays a filled button. */
.lore-account-menu > form.lore-account-simulation > button[b-sep76ljkpj] {
  min-height: 34px;
  border: 1px solid var(--lw-control-secondary-text);
  border-radius: 4px;
  color: var(--lw-control-primary-text);
  background: var(--lw-control-secondary-text);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

.lore-account-menu > form.lore-account-simulation > button:hover[b-sep76ljkpj] {
  border-color: var(--lw-control-primary-bg);
  background: var(--lw-control-primary-bg);
  color: var(--lw-control-primary-text);
}

.lore-account-menu > form > button[b-sep76ljkpj] {
  margin-top: 5px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lw-control-secondary-text);
  font: inherit;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.lore-shell[b-sep76ljkpj] {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  height: calc(100vh - 52px);
  height: calc(100dvh - 52px);
  overflow: hidden;
}

.area-navigation[b-sep76ljkpj] {
  min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  background: var(--lw-frame-nav-fallback);
  background: var(--lw-frame-nav-bg);
  border-right: 1px solid var(--lw-frame-nav-border);
}

.workspace-content[b-sep76ljkpj] {
  min-width: 0;
  overflow: auto;
  background: var(--lw-content-page-bg);
  padding: 15px 5px 28px;
}

@media (max-width: 1100px) {
  .lore-shell[b-sep76ljkpj] {
    grid-template-columns: 160px minmax(0, 1fr);
  }

  .lore-context-control[b-sep76ljkpj] {
    flex-basis: 190px;
    min-width: 150px;
  }
}

/* The menu button collapses the navigation on a wide screen (kept per browser) and slides it in on a phone. */
.lore-nav-toggle[b-sep76ljkpj] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-right: 6px;
  border: 0;
  border-radius: 4px;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.lore-nav-backdrop[b-sep76ljkpj] {
  display: none;
}

/* Collapsed, the navigation stays as a fixed rail of its icons (each area's name is its tooltip): a wide screen's choice,
   and always on a phone, where the menu button opens the full list over the page. */
@media (min-width: 761px) {
  .lore-shell.nav-collapsed[b-sep76ljkpj] {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .lore-shell.nav-collapsed .area-navigation[b-sep76ljkpj]  .area-link > span:not(.nav-badge) {
    display: none;
  }

  .lore-shell.nav-collapsed .area-navigation[b-sep76ljkpj]  .area-link {
    position: relative;
    justify-content: center;
    padding: 0;
  }

  .lore-shell.nav-collapsed .area-navigation[b-sep76ljkpj]  .area-group-label {
    height: 0;
    margin: 8px 12px;
    padding: 0;
    overflow: hidden;
    border-top: 1px solid var(--lw-frame-nav-border);
  }

  .lore-shell.nav-collapsed .area-navigation[b-sep76ljkpj]  .nav-badge {
    position: absolute;
    top: 4px;
    right: 8px;
    min-width: 8px;
    height: 8px;
    padding: 0;
    font-size: 0;
    line-height: 0;
  }
}

@media (max-width: 760px) {

  .lore-context-control[b-sep76ljkpj] {
    flex: 0 1 250px;
    /* The shortest Lore name plus the arrow and padding. */
    min-width: calc(var(--lore-fit, 12ch) + 40px);
    margin-right: 4px;
  }

  .lore-route-label[b-sep76ljkpj] {
    display: none;
  }

  .lore-shell[b-sep76ljkpj] {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  /* The rail: icons only, in place. */
  .area-navigation:not(.open)[b-sep76ljkpj]  .area-link > span:not(.nav-badge) {
    display: none;
  }

  .area-navigation:not(.open)[b-sep76ljkpj]  .area-link {
    position: relative;
    justify-content: center;
    padding: 0;
  }

  .area-navigation:not(.open)[b-sep76ljkpj]  .area-group-label {
    height: 0;
    margin: 8px 12px;
    padding: 0;
    overflow: hidden;
    border-top: 1px solid var(--lw-frame-nav-border);
  }

  .area-navigation:not(.open)[b-sep76ljkpj]  .nav-badge {
    position: absolute;
    top: 4px;
    right: 8px;
    min-width: 8px;
    height: 8px;
    padding: 0;
    font-size: 0;
    line-height: 0;
  }

  /* The menu button opens the full list, with names, over the page. */
  .area-navigation.open[b-sep76ljkpj] {
    position: fixed;
    z-index: 1400;
    top: 52px;
    bottom: 0;
    left: 0;
    width: min(260px, 82vw);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
    box-shadow: var(--lw-shadow-lg);
  }

  .lore-nav-backdrop[b-sep76ljkpj] {
    position: fixed;
    z-index: 1300;
    inset: 52px 0 0 0;
    display: block;
    background: var(--lw-content-shadow-lg);
    -webkit-backdrop-filter: blur(1px);
    backdrop-filter: blur(1px);
  }

  .workspace-content[b-sep76ljkpj] {
    padding: 10px 8px 24px;
  }
}

/* An Author's shell (GitHub issue 201): no left navigation at any width; their areas are tabs atop the page. */
.lore-shell.author[b-sep76ljkpj] {
  grid-template-columns: minmax(0, 1fr);
}

/* The tabs sit 8px under the header (founder: 10 to 15px at most, with their own touch height). */
.lore-shell.author .workspace-content[b-sep76ljkpj] {
  padding-top: 8px;
}

.author-areas[b-sep76ljkpj] {
  display: flex;
  gap: var(--lw-space-1);
  margin-bottom: var(--lw-space-3);
  overflow-x: auto;
  border-bottom: 1px solid var(--lw-content-border);
  scrollbar-width: thin;
}

.author-areas[b-sep76ljkpj]  .author-area {
  display: inline-flex;
  align-items: center;
  min-height: var(--lw-touch);
  padding: 0 var(--lw-space-3);
  border-bottom: 3px solid transparent;
  color: var(--lw-content-text-muted);
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
}

.author-areas[b-sep76ljkpj]  .author-area:hover {
  color: var(--lw-content-text);
}

.author-areas[b-sep76ljkpj]  .author-area.active {
  border-bottom-color: var(--lw-control-tab-selected);
  color: var(--lw-control-tab-selected);
}

.lore-account-theme[b-sep76ljkpj] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--lw-control-secondary-border);
  border-radius: 4px;
  overflow: hidden;
}

.lore-account-theme button[b-sep76ljkpj] {
  min-height: 32px;
  border: 0;
  color: var(--lw-control-secondary-text);
  background: var(--lw-control-secondary-bg);
  font: inherit;
  cursor: pointer;
}

.lore-account-theme button[aria-pressed="true"][b-sep76ljkpj] {
  color: var(--lw-control-primary-text);
  background: var(--lw-control-primary-bg);
}

.lore-account-link[b-sep76ljkpj] {
  color: var(--lw-content-link);
  font-weight: 600;
}

.lore-account-version[b-sep76ljkpj] {
  color: var(--lw-content-text-muted);
  font-size: 0.75rem;
}

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    .lore-brand[b-sep76ljkpj] { min-width: var(--lw-touch); min-height: var(--lw-touch); }
    .lore-account-trigger[b-sep76ljkpj] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: var(--lw-touch);
        min-height: var(--lw-touch);
    }
}

/* A phone header holds the menu, book, search, Lore picker, bell and account: the picker takes what is left (its name
   truncates) so the account stays on screen. Settings steps out and the gaps close so the picker keeps room for a name
   (GitHub 404). After the 760px rules, which it narrows. */
@media (max-width: 560px) {
  .lore-context-control[b-sep76ljkpj] {
    flex: 1 1 0;
    min-width: 0;
  }

  .lore-context-control select[b-sep76ljkpj] {
    padding-right: 22px;
    padding-left: 8px;
  }

  .lore-nav-toggle[b-sep76ljkpj] {
    margin-right: 2px;
  }
}

/* A phone (560px and below): no icon rail beside the page; the menu button opens the full list over it (founder,
   2026-10-09). An Author has no navigation at any width. */
@media (max-width: 560px) {
  .lore-shell:not(.author)[b-sep76ljkpj] {
    grid-template-columns: minmax(0, 1fr);
  }

  .area-navigation:not(.open)[b-sep76ljkpj] {
    display: none;
  }
}

.lore-workspace[b-sep76ljkpj] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.lore-workspace > .workspace-content[b-sep76ljkpj] {
  flex: 1;
  min-height: 0;
}

.lore-entry-banner[b-sep76ljkpj] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--lw-space-3);
  padding: var(--lw-space-2) var(--lw-space-4);
  color: var(--lw-content-text);
  background: var(--lw-content-surface-muted);
  border-bottom: 1px solid var(--lw-content-border);
}

/* Catches a click outside the open account menu; the menu sits above it. */
.lore-account-backdrop[b-sep76ljkpj] {
  position: fixed;
  inset: 0;
  z-index: 1599;
}
/* /Components/Layout/MaintenanceBanner.razor.rz.scp.css */
.maintenance-left[b-2pe0v6d3fq] {
    font-size: var(--lw-font-size-xl);
    font-variant-numeric: tabular-nums;
    text-align: center;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* A column the height of the side bar, so the version sits at its very bottom. */
.studio-area-menu[b-v75nynt4i7] {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  box-sizing: border-box;
  padding: 8px 0 16px;
  color: var(--lw-frame-nav-text);
  font-family: "Segoe UI", sans-serif;
}

.area-group-label[b-v75nynt4i7] {
  padding: 4px 18px 2px;
  margin: 14px 0 8px;
  color: var(--lw-frame-nav-label);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}

[b-v75nynt4i7] .area-link {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--lw-px));
  box-sizing: border-box;
  min-height: calc(18px + 16 * var(--lw-px));
  padding: 0 14px 0 22px;
  line-height: 1.15;
  color: var(--lw-frame-nav-text);
  text-decoration: none;
  border-left: 4px solid transparent;
}

/* Home is not inside a group: it lines up with the group labels. */
[b-v75nynt4i7] .area-link.top-level {
  padding-left: 14px;
}

[b-v75nynt4i7] .area-link .mud-icon-root {
  width: 18px;
  height: 18px;
  color: var(--lw-frame-nav-label);
}

[b-v75nynt4i7] .area-link:hover {
  color: var(--lw-frame-nav-selected-text);
  background: var(--lw-frame-nav-hover-bg);
}

[b-v75nynt4i7] .area-link.active {
  color: var(--lw-frame-nav-selected-text);
  font-weight: 600;
  background: var(--lw-frame-nav-selected-bg);
  border-left-color: var(--lw-frame-nav-marker);
}

[b-v75nynt4i7] .area-link.active .mud-icon-root {
  color: var(--lw-frame-nav-selected-text);
}

/* Attention badge (§19.2): only where something needs action. */
[b-v75nynt4i7] .nav-badge {
  margin-left: auto;
  min-width: 1.25rem;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--lw-control-destructive);
  color: var(--lw-control-destructive-text-on-fill);
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.25rem;
  text-align: center;
}

/* The Studio build version (major.minor.build+yyyyMMdd.HHmm), quietly at the foot of the nav. */
.nav-version[b-v75nynt4i7] {
  margin-top: auto;
  padding: 12px 18px 4px;
  color: var(--lw-frame-nav-label);
  font-size: 0.68rem;
  letter-spacing: 0.02em;
}

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    [b-v75nynt4i7] .area-link { min-height: var(--lw-touch); }
}
/* /Components/Layout/NotificationBell.razor.rz.scp.css */
/* The header bell and its flyout (NotificationBell). The bell sits on the dark app bar and inherits its color. */
.lw-bell-wrap[b-l3be7gecz9] {
    position: relative;
    display: flex;
    align-items: center;
}

.lw-bell[b-l3be7gecz9] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    color: inherit;
    background: transparent;
    cursor: pointer;
}

.lw-bell:hover[b-l3be7gecz9],
.lw-bell:focus-visible[b-l3be7gecz9] {
    background: color-mix(in srgb, currentColor 14%, transparent);
}

.lw-bell-count[b-l3be7gecz9] {
    position: absolute;
    top: 3px;
    right: 1px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    color: var(--lw-control-primary-text);
    background: var(--lw-control-destructive);
    font: 700 .68rem/18px Inter, Arial, sans-serif;
    text-align: center;
}

.lw-bell-backdrop[b-l3be7gecz9] {
    position: fixed;
    inset: 0;
    z-index: 1590;
}

.lw-bell-flyout[b-l3be7gecz9] {
    position: absolute;
    z-index: 1600;
    top: calc(100% + 8px);
    right: 0;
    width: min(380px, calc(100vw - 32px));
    max-height: min(520px, calc(100dvh - 90px));
    overflow-y: auto;
    padding: var(--lw-space-3) 0;
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    color: var(--lw-content-text);
    background: var(--lw-content-surface);
    box-shadow: var(--lw-shadow-lg);
    font-size: .86rem;
}

.lw-bell-head[b-l3be7gecz9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--lw-space-4) var(--lw-space-2);
}

.lw-bell-clear-all[b-l3be7gecz9] {
    border: 0;
    color: var(--lw-content-link);
    background: transparent;
    font: 600 .8rem Inter, Arial, sans-serif;
    cursor: pointer;
}

.lw-bell-group[b-l3be7gecz9] {
    margin: var(--lw-space-2) 0 var(--lw-space-1);
    padding: 0 var(--lw-space-4);
    color: var(--lw-content-text-muted);
    font: 600 .72rem/1.2 Inter, Arial, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.lw-bell-list[b-l3be7gecz9] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lw-bell-item[b-l3be7gecz9] {
    display: flex;
    align-items: flex-start;
    border-left: 3px solid transparent;
}

.lw-bell-item.unread[b-l3be7gecz9] {
    border-left-color: var(--lw-control-primary-bg);
    background: var(--lw-content-selected-bg);
}

/* A button or link laid out as a grid shrinks to its widest line and centres it; start it at the left, in one column (GitHub issue 236). */
.lw-bell-open[b-l3be7gecz9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-content: start;
    justify-items: start;
    flex: 1;
    gap: 2px;
    padding: var(--lw-space-2) var(--lw-space-4);
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.lw-bell-open:hover[b-l3be7gecz9],
.lw-bell-open:focus-visible[b-l3be7gecz9] {
    background: var(--lw-content-surface-muted);
}

.lw-bell-title[b-l3be7gecz9] {
    font-weight: 600;
}

.lw-bell-body[b-l3be7gecz9] {
    overflow: hidden;
    color: var(--lw-content-text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.lw-bell-when[b-l3be7gecz9] {
    color: var(--lw-content-text-muted);
    font-size: .75rem;
}

.lw-bell-dismiss[b-l3be7gecz9] {
    align-self: center;
    margin-right: var(--lw-space-2);
    padding: 2px 8px;
    border: 0;
    border-radius: var(--lw-radius-sm);
    color: var(--lw-content-text-muted);
    background: transparent;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}

.lw-bell-dismiss:hover[b-l3be7gecz9],
.lw-bell-dismiss:focus-visible[b-l3be7gecz9] {
    color: var(--lw-content-text);
    background: var(--lw-content-surface-muted);
}

.lw-bell-empty[b-l3be7gecz9] {
    margin: 0;
    padding: var(--lw-space-1) var(--lw-space-4) var(--lw-space-2);
    color: var(--lw-content-text-muted);
}

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    .lw-bell[b-l3be7gecz9] { min-width: var(--lw-touch); min-height: var(--lw-touch); }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-87644mchzb],
.components-reconnect-repeated-attempt-visible[b-87644mchzb],
.components-reconnect-failed-visible[b-87644mchzb],
.components-pause-visible[b-87644mchzb],
.components-resume-failed-visible[b-87644mchzb],
.components-rejoining-animation[b-87644mchzb] {
  display: none;
}

#components-reconnect-modal.components-reconnect-show
  .components-reconnect-first-attempt-visible[b-87644mchzb],
#components-reconnect-modal.components-reconnect-show
  .components-rejoining-animation[b-87644mchzb],
#components-reconnect-modal.components-reconnect-paused
  .components-pause-visible[b-87644mchzb],
#components-reconnect-modal.components-reconnect-resume-failed
  .components-resume-failed-visible[b-87644mchzb],
#components-reconnect-modal.components-reconnect-retrying[b-87644mchzb],
#components-reconnect-modal.components-reconnect-retrying
  .components-reconnect-repeated-attempt-visible[b-87644mchzb],
#components-reconnect-modal.components-reconnect-retrying
  .components-rejoining-animation[b-87644mchzb],
#components-reconnect-modal.components-reconnect-failed[b-87644mchzb],
#components-reconnect-modal.components-reconnect-failed
  .components-reconnect-failed-visible[b-87644mchzb] {
  display: block;
}

#components-reconnect-modal[b-87644mchzb] {
  background-color: white;
  width: 20rem;
  margin: 20vh auto;
  padding: 2rem;
  border: 0;
  border-radius: 0.5rem;
  box-shadow: 0 3px 6px 2px color-mix(in srgb, var(--lw-content-text) 30%, transparent);
  opacity: 0;
  transition:
    display 0.5s allow-discrete,
    overlay 0.5s allow-discrete;
  animation: components-reconnect-modal-fadeOutOpacity-b-87644mchzb 0.5s both;
  &[open] {
    animation:
      components-reconnect-modal-slideUp-b-87644mchzb 1.5s
        cubic-bezier(0.05, 0.89, 0.25, 1.02) 0.3s,
      components-reconnect-modal-fadeInOpacity-b-87644mchzb 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
  }
}

#components-reconnect-modal[b-87644mchzb]::backdrop {
  background-color: color-mix(in srgb, var(--lw-content-text) 40%, transparent);
  animation: components-reconnect-modal-fadeInOpacity-b-87644mchzb 0.5s ease-in-out;
  opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-87644mchzb {
  0% {
    transform: translateY(30px) scale(0.95);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-87644mchzb {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-87644mchzb {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.components-reconnect-container[b-87644mchzb] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

#components-reconnect-modal p[b-87644mchzb] {
  margin: 0;
  text-align: center;
}

#components-reconnect-modal button[b-87644mchzb] {
  border: 0;
  background-color: var(--lw-brand-muted);
  color: white;
  padding: 4px 24px;
  border-radius: 4px;
}

#components-reconnect-modal button:hover[b-87644mchzb] {
  background-color: var(--lw-brand-muted);
}

#components-reconnect-modal button:active[b-87644mchzb] {
  background-color: var(--lw-brand-muted);
}

.components-rejoining-animation[b-87644mchzb] {
  position: relative;
  width: 80px;
  height: 80px;
}

.components-rejoining-animation div[b-87644mchzb] {
  position: absolute;
  border: 3px solid var(--lw-status-ai);
  opacity: 1;
  border-radius: 50%;
  animation: components-rejoining-animation-b-87644mchzb 1.5s cubic-bezier(0, 0.2, 0.8, 1)
    infinite;
}

.components-rejoining-animation div:nth-child(2)[b-87644mchzb] {
  animation-delay: -0.5s;
}

@keyframes components-rejoining-animation-b-87644mchzb {
  0% {
    top: 40px;
    left: 40px;
    width: 0;
    height: 0;
    opacity: 0;
  }

  4.9% {
    top: 40px;
    left: 40px;
    width: 0;
    height: 0;
    opacity: 0;
  }

  5% {
    top: 40px;
    left: 40px;
    width: 0;
    height: 0;
    opacity: 1;
  }

  100% {
    top: 0px;
    left: 0px;
    width: 80px;
    height: 80px;
    opacity: 0;
  }
}
/* /Components/Layout/SearchResults.razor.rz.scp.css */
.lore-search-results[b-ect3fxwdv1] {
    position: fixed;
    top: 52px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1300;
    width: min(520px, calc(100vw - 2 * var(--lw-space-2)));
    max-height: min(70vh, 480px);
    overflow-y: auto;
    padding: var(--lw-space-2);
    border: 1px solid var(--lw-content-border-strong);
    border-radius: var(--lw-radius);
    color: var(--lw-content-text);
    background: var(--lw-content-surface);
    box-shadow: var(--lw-shadow-lg);
}

.lore-search-type[b-ect3fxwdv1] {
    margin: var(--lw-space-2) var(--lw-space-2) var(--lw-space-1);
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--lw-content-text-muted);
}

.lore-search-row[b-ect3fxwdv1] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--lw-space-3);
    width: 100%;
    min-height: 36px;
    padding: var(--lw-space-1) var(--lw-space-2);
    border: 0;
    border-radius: var(--lw-radius);
    color: inherit;
    background: transparent;
    text-align: start;
    cursor: pointer;
}

.lore-search-row.active[b-ect3fxwdv1],
.lore-search-row:hover[b-ect3fxwdv1] {
    background: var(--lw-content-surface-muted);
}

.lore-search-name[b-ect3fxwdv1] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lore-search-key[b-ect3fxwdv1] {
    flex: 0 0 auto;
    font-size: .75rem;
    color: var(--lw-content-text-muted);
}

.lore-search-none[b-ect3fxwdv1] {
    margin: var(--lw-space-2);
    color: var(--lw-content-text-muted);
}

@media (pointer: coarse) {
    .lore-search-row[b-ect3fxwdv1] { min-height: var(--lw-touch); }
}
/* /Components/Layout/SignInLayout.razor.rz.scp.css */
.sign-in-shell[b-f8mvzuizt3] {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background: var(--lw-content-page-bg);
}

.sign-in-panel[b-f8mvzuizt3] {
    width: min(100%, 420px);
    padding: 36px;
    border: 1px solid var(--lw-content-border);
    border-radius: 8px;
    background: var(--lw-content-surface);
    box-shadow: var(--lw-shadow-lg);
}

.sign-in-panel > img[b-f8mvzuizt3] {
    display: block;
    width: 190px;
    max-width: 75%;
    margin: 0 auto 28px;
}

@media (max-width: 560px) {
    .sign-in-panel[b-f8mvzuizt3] {
        padding: 28px 22px;
    }
}
/* /Components/LoreScene.razor.rz.scp.css */
/* Every scene page (home, sign-up, player) shares the same backdrop, logo position and footer position:
   the photo is fixed to the window, so it frames identically however long the page is. */
.lore-scene[b-jjxtosd14z] {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    width: 100%;
    padding-bottom: 120px; /* room for the footer, which overlays the bottom of the scene, close under the last card */
    overflow-x: hidden;
    color: var(--lw-brand-navy);
    font-family: Inter, Arial, sans-serif;
}

.lore-scene[b-jjxtosd14z]::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(to bottom, transparent 65%, color-mix(in srgb, var(--lw-scene-night) 85%, transparent) 100%),
        var(--lw-scene-night) url('/images/landing/sintel-cave.jpg') 45% 70% / cover no-repeat; /* the traveler at the cave mouth stays in view */
}

/* The neutral band behind the logo, fading into the photo. It scrolls with the page. */
.lore-scene[b-jjxtosd14z]::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
    height: 440px;
    background: linear-gradient(to bottom, var(--lw-content-page-bg) 0, var(--lw-content-page-bg) 190px, color-mix(in srgb, var(--lw-content-page-bg) 75%, transparent) 250px, color-mix(in srgb, var(--lw-content-page-bg) 45%, transparent) 320px, color-mix(in srgb, var(--lw-content-page-bg) 18%, transparent) 390px, transparent 440px);
    pointer-events: none;
}

/* The signed-in portal is an app: it fills the window, with the footer at the bottom. The landing, waitlist and sign-up
   pages end where their content does, so the footer sits just below the last card. */
.lore-scene.lore-scene-portal[b-jjxtosd14z] {
    min-height: 100vh;
    padding-bottom: 72px;
}

/* In the portal the white header is one shape right of the rail: a band under the top menu that flows, in one curve,
   into a soft pocket around the logo at the top right. A mask fades its whole edge into the photo: eased (cosine) stops, so
   no step shows where a fade starts or ends, a long one from the band and a wide radial one around the logo, blending where
   they meet. There is no line and no corner. */
.lore-scene.lore-scene-portal[b-jjxtosd14z]::after {
    left: 380px;
    height: 440px;
    background: var(--lw-content-page-bg);
    -webkit-mask-image:
        radial-gradient(ellipse 400px 300px at calc(100% - 158px) 124px, #000 0, #000 40%, rgba(0,0,0,1.000) 40.0%, rgba(0,0,0,0.987) 44.3%, rgba(0,0,0,0.950) 48.6%, rgba(0,0,0,0.891) 52.9%, rgba(0,0,0,0.812) 57.1%, rgba(0,0,0,0.717) 61.4%, rgba(0,0,0,0.611) 65.7%, rgba(0,0,0,0.500) 70.0%, rgba(0,0,0,0.389) 74.3%, rgba(0,0,0,0.283) 78.6%, rgba(0,0,0,0.188) 82.9%, rgba(0,0,0,0.109) 87.1%, rgba(0,0,0,0.050) 91.4%, rgba(0,0,0,0.013) 95.7%, rgba(0,0,0,0.000) 100.0%),
        linear-gradient(to bottom, #000 0, #000 70px, rgba(0,0,0,1.000) 70.0px, rgba(0,0,0,0.987) 89.3px, rgba(0,0,0,0.950) 108.6px, rgba(0,0,0,0.891) 127.9px, rgba(0,0,0,0.812) 147.1px, rgba(0,0,0,0.717) 166.4px, rgba(0,0,0,0.611) 185.7px, rgba(0,0,0,0.500) 205.0px, rgba(0,0,0,0.389) 224.3px, rgba(0,0,0,0.283) 243.6px, rgba(0,0,0,0.188) 262.9px, rgba(0,0,0,0.109) 282.1px, rgba(0,0,0,0.050) 301.4px, rgba(0,0,0,0.013) 320.7px, rgba(0,0,0,0.000) 340.0px);
    mask-image:
        radial-gradient(ellipse 400px 300px at calc(100% - 158px) 124px, #000 0, #000 40%, rgba(0,0,0,1.000) 40.0%, rgba(0,0,0,0.987) 44.3%, rgba(0,0,0,0.950) 48.6%, rgba(0,0,0,0.891) 52.9%, rgba(0,0,0,0.812) 57.1%, rgba(0,0,0,0.717) 61.4%, rgba(0,0,0,0.611) 65.7%, rgba(0,0,0,0.500) 70.0%, rgba(0,0,0,0.389) 74.3%, rgba(0,0,0,0.283) 78.6%, rgba(0,0,0,0.188) 82.9%, rgba(0,0,0,0.109) 87.1%, rgba(0,0,0,0.050) 91.4%, rgba(0,0,0,0.013) 95.7%, rgba(0,0,0,0.000) 100.0%),
        linear-gradient(to bottom, #000 0, #000 70px, rgba(0,0,0,1.000) 70.0px, rgba(0,0,0,0.987) 89.3px, rgba(0,0,0,0.950) 108.6px, rgba(0,0,0,0.891) 127.9px, rgba(0,0,0,0.812) 147.1px, rgba(0,0,0,0.717) 166.4px, rgba(0,0,0,0.611) 185.7px, rgba(0,0,0,0.500) 205.0px, rgba(0,0,0,0.389) 224.3px, rgba(0,0,0,0.283) 243.6px, rgba(0,0,0,0.188) 262.9px, rgba(0,0,0,0.109) 282.1px, rgba(0,0,0,0.050) 301.4px, rgba(0,0,0,0.013) 320.7px, rgba(0,0,0,0.000) 340.0px);
}

@media (max-width: 1100px) {
    .lore-scene.lore-scene-portal[b-jjxtosd14z]::after {
        -webkit-mask-image:
            radial-gradient(ellipse 400px 300px at 50% 124px, #000 0, #000 40%, rgba(0,0,0,1.000) 40.0%, rgba(0,0,0,0.987) 44.3%, rgba(0,0,0,0.950) 48.6%, rgba(0,0,0,0.891) 52.9%, rgba(0,0,0,0.812) 57.1%, rgba(0,0,0,0.717) 61.4%, rgba(0,0,0,0.611) 65.7%, rgba(0,0,0,0.500) 70.0%, rgba(0,0,0,0.389) 74.3%, rgba(0,0,0,0.283) 78.6%, rgba(0,0,0,0.188) 82.9%, rgba(0,0,0,0.109) 87.1%, rgba(0,0,0,0.050) 91.4%, rgba(0,0,0,0.013) 95.7%, rgba(0,0,0,0.000) 100.0%),
            linear-gradient(to bottom, #000 0, #000 70px, rgba(0,0,0,1.000) 70.0px, rgba(0,0,0,0.987) 89.3px, rgba(0,0,0,0.950) 108.6px, rgba(0,0,0,0.891) 127.9px, rgba(0,0,0,0.812) 147.1px, rgba(0,0,0,0.717) 166.4px, rgba(0,0,0,0.611) 185.7px, rgba(0,0,0,0.500) 205.0px, rgba(0,0,0,0.389) 224.3px, rgba(0,0,0,0.283) 243.6px, rgba(0,0,0,0.188) 262.9px, rgba(0,0,0,0.109) 282.1px, rgba(0,0,0,0.050) 301.4px, rgba(0,0,0,0.013) 320.7px, rgba(0,0,0,0.000) 340.0px);
        mask-image:
            radial-gradient(ellipse 400px 300px at 50% 124px, #000 0, #000 40%, rgba(0,0,0,1.000) 40.0%, rgba(0,0,0,0.987) 44.3%, rgba(0,0,0,0.950) 48.6%, rgba(0,0,0,0.891) 52.9%, rgba(0,0,0,0.812) 57.1%, rgba(0,0,0,0.717) 61.4%, rgba(0,0,0,0.611) 65.7%, rgba(0,0,0,0.500) 70.0%, rgba(0,0,0,0.389) 74.3%, rgba(0,0,0,0.283) 78.6%, rgba(0,0,0,0.188) 82.9%, rgba(0,0,0,0.109) 87.1%, rgba(0,0,0,0.050) 91.4%, rgba(0,0,0,0.013) 95.7%, rgba(0,0,0,0.000) 100.0%),
            linear-gradient(to bottom, #000 0, #000 70px, rgba(0,0,0,1.000) 70.0px, rgba(0,0,0,0.987) 89.3px, rgba(0,0,0,0.950) 108.6px, rgba(0,0,0,0.891) 127.9px, rgba(0,0,0,0.812) 147.1px, rgba(0,0,0,0.717) 166.4px, rgba(0,0,0,0.611) 185.7px, rgba(0,0,0,0.500) 205.0px, rgba(0,0,0,0.389) 224.3px, rgba(0,0,0,0.283) 243.6px, rgba(0,0,0,0.188) 262.9px, rgba(0,0,0,0.109) 282.1px, rgba(0,0,0,0.050) 301.4px, rgba(0,0,0,0.013) 320.7px, rgba(0,0,0,0.000) 340.0px);
    }
}

@media (max-width: 760px) {
    .lore-scene.lore-scene-portal[b-jjxtosd14z]::after {
        left: 0;
    }
}

.lore-scene-bar[b-jjxtosd14z],
.lore-scene-body[b-jjxtosd14z] {
    box-sizing: border-box;
    margin: 0;
    padding: 0 48px; /* full width: cards on the left edge, the logo in the top-right corner */
}

.lore-scene-bar[b-jjxtosd14z] {
    display: flex;
    justify-content: flex-end;
    padding-top: 12px;
}

.lore-scene-logo[b-jjxtosd14z] {
    display: block;
    line-height: 0;
}

.lore-scene-logo img[b-jjxtosd14z] {
    width: 220px; /* large enough for the "Build · Explore · Belong" tagline to read */
    height: auto;
}

.lore-scene-body[b-jjxtosd14z] {
    margin-top: -196px; /* the first card sits beside the logo, at the same height on every page */
}

@media (max-width: 1100px) {
    .lore-scene[b-jjxtosd14z]::after {
        height: 330px;
        background: linear-gradient(to bottom, var(--lw-content-page-bg) 0, var(--lw-content-page-bg) 190px, transparent 330px);
    }

    .lore-scene-bar[b-jjxtosd14z] {
        justify-content: center;
        padding: 8px 16px 0;
    }

    .lore-scene-logo img[b-jjxtosd14z] {
        width: 180px;
    }

    .lore-scene-body[b-jjxtosd14z] {
        margin-top: 8px;
        padding: 0 16px;
    }
}

/* Outside the portal, the logo and the page share the width of the widest glass panel (Home's 1120px band), so the
   logo's right edge lines up with the panels' right edge on every scene page. The footer follows (PublicFooter). */
.lore-scene:not(.lore-scene-portal) .lore-scene-bar[b-jjxtosd14z],
.lore-scene:not(.lore-scene-portal) .lore-scene-body[b-jjxtosd14z] {
    max-width: calc(1120px + 96px);
}
/* /Components/Pages/Account/Account.razor.rz.scp.css */
.account-heading[b-03tndhtdud] {
    margin: var(--lw-space-4) 0 var(--lw-space-2);
    font-size: var(--lw-font-size);
}

.account-list[b-03tndhtdud] {
    margin: 0;
    padding-inline-start: var(--lw-space-5);
}

.account-link[b-03tndhtdud] {
    display: inline-block;
    margin-top: var(--lw-space-2);
    color: var(--lw-content-link);
    font-weight: 600;
}
/* /Components/Pages/Account/AppRights.razor.rz.scp.css */
.apps-rights[b-ypq9tf992t] {
    display: grid;
    gap: var(--lw-space-1);
    margin: var(--lw-space-2) 0;
    padding: 0;
    list-style: none;
}

.apps-rights li[b-ypq9tf992t] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
    min-height: var(--lw-touch);
}

.apps-check[b-ypq9tf992t] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
}
/* /Components/Pages/Account/Apps.razor.rz.scp.css */
.apps-heading[b-kdpdd98f8b] {
    margin: var(--lw-space-4) 0 var(--lw-space-2);
    font-size: var(--lw-font-size);
}

.apps-list[b-kdpdd98f8b] {
    margin: 0;
    padding-inline-start: var(--lw-space-5);
}
/* /Components/Pages/Account/Consent.razor.rz.scp.css */
.apps-form[b-acp7fw7ci0] {
    display: grid;
    gap: var(--lw-space-3);
}

.apps-actions[b-acp7fw7ci0] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--lw-space-2);
}
/* /Components/Pages/Account/Device.razor.rz.scp.css */
.apps-form[b-vfguqzsaes] {
    display: grid;
    gap: var(--lw-space-3);
}

.apps-actions[b-vfguqzsaes] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--lw-space-2);
}
/* /Components/Pages/Account/Keys.razor.rz.scp.css */
.keys-head[b-fcptysal5w] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
    margin: var(--lw-space-4) 0 var(--lw-space-2);
}

.keys-heading[b-fcptysal5w] {
    margin: 0;
    margin-inline-end: auto;
    font-size: var(--lw-font-size);
}

.keys-tree[b-fcptysal5w] {
    display: grid;
    gap: var(--lw-space-1);
    max-height: 22rem;
    overflow-y: auto;
}

.keys-group[b-fcptysal5w] {
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
}

.keys-group > summary[b-fcptysal5w] {
    padding: var(--lw-space-3);
    font-size: var(--lw-font-size-lg);
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
    cursor: pointer;
}

.keys-check[b-fcptysal5w] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.keys-rights[b-fcptysal5w] {
    margin: var(--lw-space-1) 0 var(--lw-space-2);
    padding-inline-start: var(--lw-space-5);
    list-style: none;
}

.keys-rights li[b-fcptysal5w] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.keys-token[b-fcptysal5w] {
    width: 100%;
    font-family: var(--lw-font-mono, monospace);
}

.keys-group > summary[b-fcptysal5w]::-webkit-details-marker {
    display: none;
}

.keys-chevron[b-fcptysal5w] {
    width: 0.5em;
    height: 0.5em;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    transition: transform 0.15s;
}

.keys-group[open] > summary .keys-chevron[b-fcptysal5w] {
    transform: rotate(45deg);
}

.keys-name[b-fcptysal5w] {
    font-weight: 600;
}
/* /Components/Pages/Account/Pending.razor.rz.scp.css */
.apps-actions[b-nwfqrcimc6] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--lw-space-4);
}
/* /Components/Pages/Adapters/AdapterCatalog.razor.rz.scp.css */
.catalog-asset[b-d1dadyj8f5] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.catalog-asset > span[b-d1dadyj8f5] {
    display: flex;
    flex-direction: column;
}

.catalog-preview[b-d1dadyj8f5] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-3);
    margin-bottom: var(--lw-space-3);
    padding: var(--lw-space-3);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface-muted);
}
/* /Components/Pages/Adapters/Adapters.razor.rz.scp.css */
.adapter-picker[b-izfv1er86r] {
    margin-top: var(--lw-space-2);
}

.adapter-picker select[b-izfv1er86r] {
    min-width: 18rem;
    min-height: var(--lw-touch);
    font-weight: 600;
}

@media (max-width: 560px) {
    .adapter-picker select[b-izfv1er86r] {
        width: 100%;
        min-width: 0;
    }
}
/* /Components/Pages/Adapters/AdapterVariables.razor.rz.scp.css */
.adapter-variables[b-5hcn8n3ztx] {
    display: grid;
    grid-template-columns: minmax(15rem, 20rem) minmax(0, 1fr);
    gap: var(--lw-space-3);
    align-items: start;
}

@media (max-width: 760px) {
    .adapter-variables[b-5hcn8n3ztx] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/AdminUiKit.razor.rz.scp.css */
.kit-row[b-9mruzp6lag] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-2);
}

.kit-swatches[b-9mruzp6lag] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--lw-space-2);
}

.kit-swatch[b-9mruzp6lag] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.kit-swatch span[b-9mruzp6lag] {
    width: 32px;
    height: 32px;
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
}

.kit-swatch code[b-9mruzp6lag] {
    font-size: var(--lw-font-size-sm);
}
/* /Components/Pages/Agreement.razor.rz.scp.css */
.studio-agreement-page[b-qaq3h1b552] {
  display: flex;
  justify-content: center;
  padding: 32px 20px;
}

.studio-agreement-panel[b-qaq3h1b552] {
  width: min(860px, 100%);
  padding: 28px;
  border: 1px solid var(--lw-content-border);
  border-radius: 6px;
  background: var(--lw-content-surface);
}

.studio-agreement-eyebrow[b-qaq3h1b552] {
  margin: 0 0 6px;
  color: var(--lw-content-text-muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.studio-agreement-panel h1[b-qaq3h1b552] {
  margin: 0 0 16px;
  color: var(--lw-content-text);
  font-size: 1.7rem;
}

.studio-agreement-clauses[b-qaq3h1b552] {
  display: grid;
  gap: 12px;
  margin: 18px 0 24px;
  padding-left: 22px;
  line-height: 1.55;
}

.studio-agreement-check[b-qaq3h1b552] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.studio-agreement-check input[b-qaq3h1b552] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--lw-control-primary-bg);
}

.studio-agreement-panel button[b-qaq3h1b552],
.studio-agreement-continue[b-qaq3h1b552] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: var(--lw-touch);
  min-width: var(--lw-touch);
  text-decoration: none;
  padding: 8px 16px;
  border: 1px solid var(--lw-control-primary-bg);
  border-radius: 4px;
  color: var(--lw-control-primary-text);
  background: var(--lw-control-primary-bg);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.studio-agreement-panel button:hover[b-qaq3h1b552],
.studio-agreement-continue:hover[b-qaq3h1b552] {
  background: var(--lw-control-secondary-text);
}

.studio-agreement-error[b-qaq3h1b552] {
  color: var(--lw-control-destructive);
  font-weight: 600;
}

.studio-agreement-changed[b-qaq3h1b552] {
  padding: 10px 12px;
  border-left: 3px solid var(--lw-control-primary-bg);
  background: var(--lw-content-selected-bg);
}

@media (max-width: 560px) {
  .studio-agreement-page[b-qaq3h1b552] {
    padding: 16px 10px;
  }

  .studio-agreement-panel[b-qaq3h1b552] {
    padding: 20px 16px;
  }
}
.studio-agreement-item[b-qaq3h1b552] {
  padding-bottom: 8px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--lw-content-border);
}

.studio-agreement-item h2[b-qaq3h1b552] {
  margin: 0 0 6px;
  font-size: 1.25rem;
  color: var(--lw-content-text);
}

.studio-agreement-version[b-qaq3h1b552] {
  margin: 0;
  color: var(--lw-content-text-muted);
}

.studio-agreement-continue[b-qaq3h1b552] {
  font-weight: 600;
}

/* Touch (coarse pointer): the box grows and its label is a 44px row. */
@media (pointer: coarse) {
  .studio-agreement-check[b-qaq3h1b552] {
    align-items: center;
    min-height: var(--lw-touch);
  }

  .studio-agreement-check input[b-qaq3h1b552] {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
    margin: 0;
  }
}
/* /Components/Pages/BlueprintTreeNode.razor.rz.scp.css */
.blueprint-tree-node[b-k91lxtoxa7] {
  position: relative;
  display: block;
  min-width: 0;
}

.tree-node-children[b-k91lxtoxa7] {
  position: relative;
  margin-left: 6px;
  padding-left: 5px;
  border-left: 1px solid var(--lw-content-border-strong);
}

.tree-node-children > .blueprint-tree-node:last-child[b-k91lxtoxa7]::after {
  position: absolute;
  z-index: 2;
  top: 15px;
  bottom: 0;
  left: -6px;
  width: 1px;
  background: var(--lw-content-surface);
  content: "";
  pointer-events: none;
}

.tree-row[b-k91lxtoxa7] {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 30px;
}

.tree-row-nested[b-k91lxtoxa7]::before {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: -6px;
  width: 6px;
  border-top: 1px solid var(--lw-content-border-strong);
  content: "";
  pointer-events: none;
}

.tree-row-nested.tree-row-leaf[b-k91lxtoxa7]::before {
  width: 34px;
}

.tree-row-nested .tree-expander[b-k91lxtoxa7],
.tree-row-nested .tree-expander-spacer[b-k91lxtoxa7] {
  margin-right: 8px;
}

.tree-expander[b-k91lxtoxa7],
.tree-expander-spacer[b-k91lxtoxa7] {
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  flex: 0 0 20px;
  width: 20px;
  height: 22px;
  margin-right: 1px;
}

.tree-expander[b-k91lxtoxa7] {
  padding: 0;
  border: 0;
  color: var(--lw-content-text-muted);
  background: transparent;
  cursor: pointer;
}

.tree-expander:hover[b-k91lxtoxa7] {
  color: var(--lw-content-link);
}

.tree-expander-spacer[b-k91lxtoxa7] {
  display: inline-block;
}

.tree-node-button[b-k91lxtoxa7] {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  flex: 1;
  gap: 5px;
  min-width: 0;
  min-height: 30px;
  padding: 2px 4px 2px 0;
  border: 0;
  border-radius: 3px;
  color: var(--lw-content-text);
  background: transparent;
  justify-content: flex-start;
  text-align: left;
  cursor: pointer;
}

.tree-node-button:hover[b-k91lxtoxa7] {
  background: var(--lw-content-page-bg);
}

.tree-node-button.selected[b-k91lxtoxa7] {
  margin-left: -6px;
  padding-left: 6px;
  color: var(--lw-content-link);
  background: var(--lw-content-selected-bg);
  font-weight: 700;
}

.node-icon[b-k91lxtoxa7] {
  display: grid;
  place-items: center;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  overflow: hidden;
  color: var(--lw-content-link);
}

[b-k91lxtoxa7] .node-icon .mud-icon-root {
  width: 16px;
  height: 16px;
}

.node-title[b-k91lxtoxa7] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    .tree-node-button[b-k91lxtoxa7] { min-height: var(--lw-touch); }

    .tree-expander[b-k91lxtoxa7],
    .tree-expander-spacer[b-k91lxtoxa7] {
        flex-basis: var(--lw-touch);
        width: var(--lw-touch);
        height: var(--lw-touch);
    }

    .tree-row-nested.tree-row-leaf[b-k91lxtoxa7]::before { width: calc(var(--lw-touch) + 14px); }
}
/* /Components/Pages/Business/ContributorOverview.razor.rz.scp.css */
.contributor-actions[b-glnyvbjdh5] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-2);
    margin: var(--lw-space-3) 0;
}
/* /Components/Pages/Business/OrganizationEditor.razor.rz.scp.css */
.org-domains[b-s6d31azt5w] {
    list-style: none;
    margin: 0 0 var(--lw-space-3);
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--lw-space-1);
}

.org-domains li[b-s6d31azt5w] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.org-terms[b-s6d31azt5w] {
    list-style: none;
    margin: 0 0 var(--lw-space-3);
    padding: 0;
    display: grid;
    gap: var(--lw-space-1);
}

.org-terms li[b-s6d31azt5w] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
}

.org-terms-new summary[b-s6d31azt5w] {
    cursor: pointer;
    font-weight: 600;
    margin-bottom: var(--lw-space-2);
}
/* /Components/Pages/ContributorAgreementAcceptance.razor.rz.scp.css */
.contributor-acceptance-page[b-5ihypoucjj] {
  display: flex;
  justify-content: center;
  padding: 32px 20px;
}

.contributor-acceptance-panel[b-5ihypoucjj] {
  width: min(820px, 100%);
  padding: 28px;
  border: 1px solid var(--lw-content-border);
  border-radius: 6px;
  background: var(--lw-content-surface);
}

.contributor-acceptance-eyebrow[b-5ihypoucjj] {
  margin: 0 0 6px;
  color: var(--lw-content-text-muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.contributor-acceptance-panel h1[b-5ihypoucjj] {
  margin: 0 0 14px;
  font-size: 1.7rem;
}

.contributor-acceptance-metadata[b-5ihypoucjj] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-bottom: 18px;
  color: var(--lw-content-text-muted);
}

.contributor-acceptance-check[b-5ihypoucjj] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0 16px;
  font-weight: 600;
}

.contributor-acceptance-check input[b-5ihypoucjj] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--lw-control-primary-bg);
}

@media (max-width: 560px) {
  .contributor-acceptance-page[b-5ihypoucjj] {
    padding: 16px 10px;
  }

  .contributor-acceptance-panel[b-5ihypoucjj] {
    padding: 20px 16px;
  }
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.studio-home[b-yhmys2m2yo] {
  box-sizing: border-box;
  max-width: 1400px;
  padding-bottom: 40px;
}

.studio-home-cta[b-yhmys2m2yo] {
  margin-bottom: var(--lw-space-5);
}

/* The welcome's two panels side by side, stacked where there isn't room for both. */
.studio-home-intro[b-yhmys2m2yo] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 32px;
}

.studio-home-intro[b-yhmys2m2yo]  .lw-panel {
  flex: 1 1 320px;
  min-width: 0;
}

.studio-home-steps[b-yhmys2m2yo] {
  margin: 0;
  padding-left: 20px;
  line-height: 1.6;
}

/* Beside a left nav that names every area, the tiles would repeat it: they show only when the nav is collapsed to its
   icons, or on a phone (an Author has no nav, so theirs always show). */
.studio-home-areas.when-nav-hidden[b-yhmys2m2yo] {
  display: none;
}

.lore-shell.nav-collapsed .studio-home-areas.when-nav-hidden[b-yhmys2m2yo] {
  display: block;
}

@media (max-width: 760px) {
  .studio-home-areas.when-nav-hidden[b-yhmys2m2yo] {
    display: block;
  }
}

/* The groups stack into one block with no gaps (founder, 2026-10-12): every label and tile flows down equal columns, so
   a short group shares its row with the next instead of leaving the rest of the row empty. Each tile sits in a cell with
   one fixed band above it, which holds its group's label when it is the group's first. A heading and a bare tile then
   take the same vertical step, so every row shares one top edge across the columns. */
.studio-home-areas[b-yhmys2m2yo] {
  columns: 220px;
  column-gap: var(--lw-space-3);
}

.studio-home-cell[b-yhmys2m2yo] {
  break-inside: avoid;
  padding-top: var(--lw-space-5);
  position: relative;
}

.studio-home-group[b-yhmys2m2yo] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: var(--lw-space-5);
  display: flex;
  align-items: center;
  color: var(--lw-content-text-muted);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

/* Every tile is the same size (founder, 2026-10-07): the column's width, and room for the name and three lines of
   description in each. */
.studio-home-tile[b-yhmys2m2yo] {
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
  height: 7rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 12px;
  align-content: start;
  align-items: center;
  padding: 12px 16px;
  border: 1px solid var(--lw-content-border);
  border-radius: 6px;
  background: var(--lw-content-surface);
  color: var(--lw-content-text);
  text-decoration: none;
}

.studio-home-tile:hover[b-yhmys2m2yo],
.studio-home-tile:focus-visible[b-yhmys2m2yo] {
  border-color: var(--lw-control-primary-bg);
  background: var(--lw-content-selected-bg);
}

[b-yhmys2m2yo] .studio-home-tile .mud-icon-root {
  color: var(--lw-content-link);
}

.studio-home-tile-label[b-yhmys2m2yo] {
  font-weight: 600;
}

.studio-home-tile-blurb[b-yhmys2m2yo] {
  grid-column: 2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--lw-content-text-muted);
  font-size: 0.875rem;
}
/* /Components/Pages/DiscussionPanel.razor.rz.scp.css */
.discussion-panel[b-htoxteveca] {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
.discussion-panel h3[b-htoxteveca] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}
.discussion-count[b-htoxteveca] {
  min-width: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: var(--lw-content-surface-muted);
  color: var(--lw-control-secondary-text);
  font-size: 0.75rem;
  text-align: center;
}
.discussion-error[b-htoxteveca] {
  color: var(--lw-control-destructive);
}
.discussion-thread[b-htoxteveca] {
  padding: 10px 12px;
  border: 1px solid var(--lw-content-border);
  border-radius: 6px;
  background: var(--lw-content-surface);
}
.discussion-thread.pinned[b-htoxteveca] {
  border-color: var(--lw-content-border-strong);
  background: var(--lw-content-surface-muted);
}
.pinned-label[b-htoxteveca] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 4px;
  color: var(--lw-content-link);
  font-size: 0.75rem;
  font-weight: 600;
}
.discussion-thread header[b-htoxteveca],
.discussion-reply header[b-htoxteveca] {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.discussion-thread time[b-htoxteveca],
.discussion-reply time[b-htoxteveca] {
  color: var(--lw-content-text-muted);
  font-size: 0.78rem;
}
.discussion-text[b-htoxteveca] {
  margin: 4px 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.discussion-text[b-htoxteveca]  .comment-mention {
  color: var(--lw-content-link);
  font-weight: 600;
}
.discussion-actions[b-htoxteveca] {
  display: flex;
  gap: 10px;
}
.discussion-actions button[b-htoxteveca] {
  padding: 0;
  border: 0;
  background: none;
  color: var(--lw-content-link);
  font: inherit;
  font-size: 0.8rem;
  cursor: pointer;
}
.discussion-actions button.danger[b-htoxteveca] {
  color: var(--lw-control-destructive);
}
@media (pointer: coarse) {
  .discussion-actions button[b-htoxteveca] { min-width: var(--lw-touch); min-height: var(--lw-touch); }
}
.discussion-reply[b-htoxteveca] {
  margin: 8px 0 0 16px;
  padding: 8px 0 0 12px;
  border-left: 2px solid var(--lw-content-border);
}
/* The comment a notification opened. */
.discussion-thread.linked[b-htoxteveca],
.discussion-reply.linked[b-htoxteveca] {
  box-shadow: 0 0 0 2px var(--lw-control-primary-bg);
}
/* /Components/Pages/DocumentWorkspace.razor.rz.scp.css */
/* Document tree and editor (DocumentWorkspace): tokens only (Platform-Architecture.md §19.4c). */

.command-page-title[b-wughiy2m98] {
  flex: 0 1 320px;
  min-width: 0;
  overflow: hidden;
  color: var(--lw-content-text);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.documents-layout[b-wughiy2m98],
.ideas-layout[b-wughiy2m98] {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  min-height: 680px;
  background: white;
  border: 1px solid var(--lw-content-border);
}

.documents-layout.single-page[b-wughiy2m98] {
  grid-template-columns: minmax(0, 1fr);
}

.document-tree-panel[b-wughiy2m98],
.ideas-list-panel[b-wughiy2m98] {
  border-right: 1px solid var(--lw-content-border);
  padding: 18px;
  overflow: auto;
}

.document-editor-panel[b-wughiy2m98],
.idea-editor-panel[b-wughiy2m98] {
  padding: 15px;
  min-width: 0;
  background: var(--lw-content-surface-muted);
}

.document-editor-panel[b-wughiy2m98] {
  position: sticky;
  top: 15px;
  align-self: start;
  box-sizing: border-box;
  max-height: calc(100vh - 82px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.document-tree[b-wughiy2m98] {
  margin-top: 0;
}

.add-command[b-wughiy2m98] {
  position: relative;
}

.add-command-menu[b-wughiy2m98] {
  position: absolute;
  z-index: 5;
  top: 34px;
  left: 0;
  display: grid;
  min-width: 150px;
  padding: 4px;
  border: 1px solid var(--lw-content-border);
  border-radius: 4px;
  background: var(--lw-content-surface);
  box-shadow: var(--lw-shadow);
}

.add-command-menu button[b-wughiy2m98] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 0;
  background: transparent;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}

.add-command-menu button:hover:not(:disabled)[b-wughiy2m98] {
  background: var(--lw-content-surface-muted);
}

.add-command-menu button:disabled[b-wughiy2m98] {
  color: var(--lw-content-text-muted);
  cursor: not-allowed;
}

.tree-rename-form[b-wughiy2m98],
.tree-delete-confirm[b-wughiy2m98] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 8px 0;
}

.tree-rename-form input[b-wughiy2m98] {
  flex: 1;
  min-width: 0;
  height: 30px;
  padding: 4px 7px;
  border: 1px solid var(--lw-content-border-strong);
  border-radius: 3px;
}

.tree-delete-confirm[b-wughiy2m98] {
  flex-wrap: wrap;
  padding: 8px;
  border: 1px solid var(--lw-status-error-bg);
  border-radius: 4px;
  color: var(--lw-control-destructive);
  background: var(--lw-status-error-bg);
}

.tree-delete-confirm span[b-wughiy2m98] {
  flex: 1 0 100%;
}

.tree-delete-confirm button[b-wughiy2m98] {
  padding: 4px 8px;
  border: 1px solid var(--lw-status-error-bg);
  border-radius: 3px;
  background: var(--lw-content-surface);
  cursor: pointer;
}

.tree-delete-confirm button.danger[b-wughiy2m98] {
  color: var(--lw-control-destructive);
}

.tree-context-backdrop[b-wughiy2m98] {
  position: fixed;
  z-index: 1300;
  inset: 0;
}

.tree-context-menu[b-wughiy2m98] {
  position: fixed;
  z-index: 1301;
  top: clamp(8px, var(--menu-y), calc(100vh - 92px));
  left: clamp(8px, var(--menu-x), calc(100vw - 208px));
  display: grid;
  min-width: 190px;
  padding: 4px;
  border: 1px solid var(--lw-content-border);
  border-radius: 4px;
  background: var(--lw-content-surface);
  box-shadow: var(--lw-shadow);
}

.tree-context-menu button[b-wughiy2m98] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 8px;
  border: 0;
  border-radius: 3px;
  color: var(--lw-content-text);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.tree-context-menu button:hover:not(:disabled)[b-wughiy2m98] {
  background: var(--lw-content-surface-muted);
}

.tree-context-menu button:disabled[b-wughiy2m98] {
  color: var(--lw-content-text-muted);
  cursor: not-allowed;
}

.page-metadata[b-wughiy2m98],
.idea-fields[b-wughiy2m98] {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 12px;
  align-items: end;
  margin: 16px 0;
}

.page-metadata[b-wughiy2m98] {
  grid-template-columns: 220px minmax(0, 1fr);
}

.idea-markdown-preview[b-wughiy2m98] {
  min-height: 430px;
}

.markdown-preview[b-wughiy2m98] {
  min-height: 530px;
  padding: 24px;
  border: 1px solid var(--lw-content-border);
  background: var(--lw-content-surface);
  overflow: auto;
}

.empty-editor[b-wughiy2m98] {
  padding: 70px 30px;
  text-align: center;
  color: var(--lw-content-text-muted);
}

@media (max-width: 1100px) {
  .documents-layout[b-wughiy2m98],
  .ideas-layout[b-wughiy2m98] {
    grid-template-columns: minmax(0, 1fr);
  }
  .document-tree-panel[b-wughiy2m98],
  .ideas-list-panel[b-wughiy2m98] {
    border-right: 0;
    border-bottom: 1px solid var(--lw-content-border);
  }

  .document-editor-panel[b-wughiy2m98] {
    position: static;
    max-height: none;
    overflow: visible;
  }

  .blueprint-command-bar[b-wughiy2m98] {
    flex-wrap: wrap;
  }

  .blueprint-command-bar > .command-divider[b-wughiy2m98] {
    margin-left: 4px;
  }
}

@media (max-width: 760px) {
  .blueprint-header h1[b-wughiy2m98] {
    font-size: 1.4rem;
  }
  .documents-layout[b-wughiy2m98],
  .ideas-layout[b-wughiy2m98] {
    min-height: 0;
  }
  .document-tree-panel[b-wughiy2m98],
  .ideas-list-panel[b-wughiy2m98],
  .idea-editor-panel[b-wughiy2m98] {
    padding: 12px;
  }
  .ideas-commands .ideas-search[b-wughiy2m98] {
    flex: 1 1 100%;
    order: 10;
  }
  .ideas-count[b-wughiy2m98] {
    margin-left: 0;
  }
  .ideas-table.split th:not(:first-child)[b-wughiy2m98] {
    width: 74px;
  }
  .ideas-table th[b-wughiy2m98],
  .ideas-table td[b-wughiy2m98] {
    padding: 8px 5px;
  }
  .header-filter-menu[b-wughiy2m98] {
    min-width: 170px;
  }
  .idea-fields[b-wughiy2m98] {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Page with its notes flyout (§18.10). */
.page-notes-layout[b-wughiy2m98] {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

/* The line from an open note's card to its noted text (page-notes.js draws it), under the card, over the page. */
.page-notes-layout[b-wughiy2m98]  svg.note-line {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.page-notes-layout[b-wughiy2m98]  svg.note-line line {
  stroke: var(--lw-control-primary-bg);
  stroke-width: 2;
  stroke-dasharray: 4 3;
}

.page-notes-body[b-wughiy2m98] {
  flex: 1 1 auto;
  min-width: 0;
}

.markdown-preview[b-wughiy2m98]  mark.page-note {
  background: var(--lw-status-pending-bg);
  border-bottom: 2px solid var(--lw-status-pending);
  cursor: pointer;
}

.markdown-preview[b-wughiy2m98]  mark.page-note.complete {
  background: var(--lw-status-done-bg);
  border-bottom-color: var(--lw-status-done);
}

.markdown-preview[b-wughiy2m98]  mark.page-note.active {
  outline: 2px solid var(--lw-control-primary-bg);
  outline-offset: 1px;
}

.markdown-preview[b-wughiy2m98]  mark.page-note.flash {
  background: var(--lw-status-pending);
}

@media (max-width: 1100px) {
  .page-notes-layout[b-wughiy2m98] {
    flex-direction: column;
    align-items: stretch;
  }
}


/* Version history (§16.3c) */
.page-history-toggle[b-wughiy2m98] {
    margin-left: auto;
}


.page-history[b-wughiy2m98] {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid var(--lw-content-border);
    border-radius: 8px;
    background: var(--lw-content-surface-muted);
}


.page-history li + li[b-wughiy2m98] {
    border-top: 1px solid var(--lw-content-border);
}


.page-history button[b-wughiy2m98] {
    display: grid;
    /* A button centres its grid by default; versions read from the left. */
    justify-content: stretch;
    justify-items: start;
    gap: 2px;
    width: 100%;
    padding: 8px 12px;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}


.page-history button:hover[b-wughiy2m98],
.page-history li.selected button[b-wughiy2m98] {
    background: var(--lw-content-selected-bg);
}


.page-history button span[b-wughiy2m98] {
    color: var(--lw-content-text-muted);
    font-size: 0.82rem;
}


.page-history-release[b-wughiy2m98] {
    justify-self: start;
    padding: 0 6px;
    border-radius: 8px;
    background: var(--lw-content-selected-bg);
    color: var(--lw-content-link) !important;
}


.page-history-empty[b-wughiy2m98] {
    padding: 8px 12px;
    color: var(--lw-content-text-muted);
}


.page-history-banner[b-wughiy2m98] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--lw-status-pending-bg);
    color: var(--lw-content-text);
}


/* The page's name heads the content pane; in Edit it's the field that renames it. */
.page-title[b-wughiy2m98],
.page-title-input[b-wughiy2m98] {
  margin: 0 0 var(--lw-space-3);
  color: var(--lw-content-text);
  font: 600 1.6rem/1.2 'Cormorant Garamond', Georgia, serif;
}

.page-title-input[b-wughiy2m98] {
  box-sizing: border-box;
  width: 100%;
  padding: var(--lw-space-1) 0;
  border: 0;
  border-bottom: 1px solid var(--lw-content-border);
  background: transparent;
}

.page-title-input:focus[b-wughiy2m98] {
  border-bottom-color: var(--lw-control-primary-bg);
  outline: none;
}

/* The page's version beside its status: a quiet link that opens the Versions dialog, not a command button. */
.page-version[b-wughiy2m98] {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: var(--lw-space-1);
    padding: 0;
    border: 0;
    background: none;
    color: var(--lw-control-secondary-text);
    font: inherit;
    font-size: var(--lw-font-size-sm);
    cursor: pointer;
}

.page-version:hover[b-wughiy2m98] {
    text-decoration: underline;
}

@media (pointer: coarse) {
    .page-version[b-wughiy2m98] { min-height: var(--lw-touch); min-width: var(--lw-touch); white-space: nowrap; }
}
/* /Components/Pages/Help.razor.rz.scp.css */
.guide-layout[b-gvlt8z5cxy] {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    min-height: 640px;
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface);
}

/* The page list: compact rows like the main navigation. */
.guide-tree-panel[b-gvlt8z5cxy] {
    padding: var(--lw-space-3);
    border-right: 1px solid var(--lw-content-border);
    background: var(--lw-content-surface-muted);
    overflow-y: auto;
}

.guide-filter[b-gvlt8z5cxy] {
    box-sizing: border-box;
    width: 100%;
    height: 34px;
    margin-bottom: var(--lw-space-2);
    padding: 0 var(--lw-space-3);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface);
    color: var(--lw-content-text);
    font: inherit;
    font-size: var(--lw-font-size-sm);
}

.guide-tree[b-gvlt8z5cxy] {
    display: flex;
    flex-direction: column;
}

.guide-item[b-gvlt8z5cxy] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--lw-space-2);
    width: 100%;
    padding: 3px var(--lw-space-2);
    border: 0;
    border-radius: var(--lw-radius-sm);
    background: transparent;
    color: var(--lw-content-text);
    font: inherit;
    font-size: var(--lw-font-size-sm);
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}

.guide-item > span[b-gvlt8z5cxy] {
    flex: 1 1 auto;
}

.guide-item:hover[b-gvlt8z5cxy] {
    background: var(--lw-content-selected-bg);
}

.guide-item.selected[b-gvlt8z5cxy] {
    background: var(--lw-content-selected-bg);
    color: var(--lw-content-link);
    font-weight: 600;
}

.guide-section[b-gvlt8z5cxy] {
    font-weight: 600;
}

.guide-pages[b-gvlt8z5cxy] {
    display: flex;
    flex-direction: column;
    padding-left: var(--lw-space-4);
}

.guide-reader[b-gvlt8z5cxy] {
    min-width: 0;
    padding: var(--lw-space-4) var(--lw-space-6);
    overflow-y: auto;
}

.guide-title[b-gvlt8z5cxy] {
    margin: 0 0 var(--lw-space-3);
    padding-bottom: var(--lw-space-2);
    border-bottom: 1px solid var(--lw-content-border);
    font-size: var(--lw-font-size-xl);
}

@media (max-width: 760px) {
    .guide-layout[b-gvlt8z5cxy] {
        grid-template-columns: minmax(0, 1fr);
    }

    .guide-tree-panel[b-gvlt8z5cxy] {
        border-right: 0;
        border-bottom: 1px solid var(--lw-content-border);
    }

    .guide-reader[b-gvlt8z5cxy] {
        padding: var(--lw-space-4);
    }
}

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    .guide-item[b-gvlt8z5cxy] { min-height: var(--lw-touch); }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.lorewisp-landing[b-6gow2ehp5l] {
    display: grid;
    gap: 36px;
}

.lorewisp-hero[b-6gow2ehp5l] {
    box-sizing: border-box;
    max-width: 660px;
    padding: 30px 30px 26px;
    border: 1px solid color-mix(in srgb, var(--lw-scene-on-dark) 70%, transparent);
    border-radius: 16px;
    background: color-mix(in srgb, var(--lw-scene-mist) 94%, transparent);
    box-shadow: 0 18px 44px color-mix(in srgb, var(--lw-scene-night) 28%, transparent);
}

.lorewisp-eyebrow[b-6gow2ehp5l] {
    margin: 0 0 12px;
    color: var(--lw-brand-blue);
    font: 700 .8rem/1.2 Inter, Arial, sans-serif;
    letter-spacing: .06em;
}

.lorewisp-hero h1[b-6gow2ehp5l] {
    margin: 0;
    font: 600 clamp(2.2rem, 4vw, 3rem)/1.05 'Cormorant Garamond', Georgia, serif;
}

.lorewisp-lead[b-6gow2ehp5l] {
    margin: 20px 0 0;
    color: var(--lw-brand-text);
    font: 400 1.05rem/1.65 Inter, Arial, sans-serif;
}

.lorewisp-hero-foot[b-6gow2ehp5l] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 20px;
    margin-top: 28px;
}

.lorewisp-emphasis[b-6gow2ehp5l] {
    margin: 0;
    color: var(--lw-brand-text);
    font: 600 1.3rem/1.2 'Cormorant Garamond', Georgia, serif;
}

.lorewisp-primary-action[b-6gow2ehp5l] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 200px;
    min-height: var(--lw-touch);
    box-sizing: border-box;
    padding: 13px 24px;
    border-radius: 4px;
    color: var(--lw-scene-on-dark);
    background: var(--lw-scene-action);
    text-align: center;
    text-decoration: none;
    font: 400 1rem/1 Inter, Arial, sans-serif;
}

.lorewisp-primary-action:hover[b-6gow2ehp5l],
.lorewisp-primary-action:focus-visible[b-6gow2ehp5l] {
    background: var(--lw-brand-navy);
}

.lorewisp-story[b-6gow2ehp5l] {
    max-width: 1120px;
    padding: 22px 26px 26px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--lw-scene-night) 42%, transparent);
}

.lorewisp-story h2[b-6gow2ehp5l] {
    margin: 0 0 20px;
    color: var(--lw-scene-on-dark);
    font: 600 clamp(1.7rem, 3vw, 2.1rem)/1.1 'Cormorant Garamond', Georgia, serif;
    text-shadow: 0 2px 10px color-mix(in srgb, var(--lw-scene-shadow) 45%, transparent);
}

.lorewisp-story-grid[b-6gow2ehp5l] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.lorewisp-story-grid article[b-6gow2ehp5l] {
    padding: 20px 18px;
    border: 1px solid color-mix(in srgb, var(--lw-scene-on-dark) 70%, transparent);
    border-radius: 10px;
    background: color-mix(in srgb, var(--lw-scene-mist) 95%, transparent);
}

.lorewisp-story-grid h3[b-6gow2ehp5l] {
    margin: 0 0 14px;
    font: 600 1.45rem/1.15 'Cormorant Garamond', Georgia, serif;
}

.lorewisp-story-grid p[b-6gow2ehp5l] {
    margin: 0;
    color: var(--lw-brand-text);
    font: 400 .95rem/1.55 Inter, Arial, sans-serif;
}

@media (max-width: 760px) {
    .lorewisp-landing[b-6gow2ehp5l] { gap: 32px; }
    .lorewisp-hero[b-6gow2ehp5l] { padding: 24px 20px; }
    .lorewisp-hero-foot[b-6gow2ehp5l] { flex-direction: column; align-items: center; text-align: center; }
    .lorewisp-story[b-6gow2ehp5l] { padding: 18px 16px 20px; }
    .lorewisp-story-grid[b-6gow2ehp5l] { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
/* /Components/Pages/IdeaLink.razor.rz.scp.css */
.idea-link-page[b-rpwjbftfjk] {
  max-width: 1000px;
  margin: 0 auto;
}

.idea-link-header[b-rpwjbftfjk] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--lw-content-border);
  color: var(--lw-content-text-muted);
}

.idea-link-header a[b-rpwjbftfjk] {
  color: var(--lw-content-text-muted);
  font-weight: 600;
  text-decoration: none;
}

.idea-link-content[b-rpwjbftfjk],
.idea-link-empty[b-rpwjbftfjk] {
  max-width: 820px;
  margin: 36px auto;
}

.idea-link-content h1[b-rpwjbftfjk],
.idea-link-empty h1[b-rpwjbftfjk] {
  margin: 4px 0 16px;
  font-size: 1.8rem;
}

.idea-link-kicker[b-rpwjbftfjk] {
  margin: 0;
  color: var(--lw-content-text-muted);
  font-size: 0.9rem;
}

.idea-link-metadata[b-rpwjbftfjk] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 24px;
  color: var(--lw-content-text-muted);
  font-size: 0.9rem;
}

.idea-link-empty[b-rpwjbftfjk] {
  padding: 20px 0;
}

@media (max-width: 560px) {
  .idea-link-content[b-rpwjbftfjk],
  .idea-link-empty[b-rpwjbftfjk] {
    margin: 24px 0;
  }
}
/* /Components/Pages/IdeasTab.razor.rz.scp.css */
.idea-actions[b-k12w3h45g8] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-2);
    margin-bottom: var(--lw-space-3);
}

.idea-description[b-k12w3h45g8] {
    margin-top: var(--lw-space-3);
}

.idea-markdown[b-k12w3h45g8] {
    font-family: Consolas, "Cascadia Mono", monospace;
}
/* /Components/Pages/Issues/Issues.razor.rz.scp.css */
.iss-open[b-4dof9dsqyt] {
    font-weight: 600;
}
/* /Components/Pages/Library/ContentEditor.razor.rz.scp.css */
.content-used-by[b-1vx65thjhc] {
    display: grid;
    gap: var(--lw-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.content-used-by li[b-1vx65thjhc] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--lw-space-2);
}

/* A version's changes from the one before it (VersionDiff). */
.version-changes[b-1vx65thjhc] {
    display: grid;
    gap: var(--lw-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: .85rem;
}

.version-changes code[b-1vx65thjhc] {
    display: block;
    margin-bottom: 2px;
    color: var(--lw-content-text-muted);
}

.version-removed[b-1vx65thjhc] {
    color: var(--lw-control-destructive);
    white-space: pre-wrap;
}

.version-added[b-1vx65thjhc] {
    color: var(--lw-status-done);
    white-space: pre-wrap;
}

/* Name, key and status on one row; they stack when the panel is narrow. */
.details-row[b-1vx65thjhc] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 2fr) minmax(8rem, 1fr);
    gap: var(--lw-space-3);
}

@media (max-width: 760px) {
    .details-row[b-1vx65thjhc] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.authorship[b-1vx65thjhc] {
    display: inline-flex;
    align-items: center;
    color: var(--lw-content-text-muted);
}

.details-status[b-1vx65thjhc] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
}
/* /Components/Pages/Library/ContentList.razor.rz.scp.css */
/* The content type's description heads the list on one line for every type, so lists line up; the full text is on hover. */
.content-type-description[b-cjcfocqk19] {
    overflow: hidden;
    margin: 0 0 var(--lw-space-3);
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
    white-space: nowrap;
    text-overflow: ellipsis;
}
/* /Components/Pages/Library/Library.razor.rz.scp.css */
.library-lens[b-cxtdsjo1rz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-3);
    margin-bottom: var(--lw-space-3);
}
/* /Components/Pages/Live/ActivityPanel.razor.rz.scp.css */
.overview-sub[b-rm50po9vs4] {
    margin: var(--lw-space-4) 0 var(--lw-space-2);
    font-size: var(--lw-font-size-sm);
    color: var(--lw-content-text-muted);
}

.overview-funnel[b-rm50po9vs4] {
    margin: 0;
    padding-left: var(--lw-space-4);
}
/* /Components/Pages/Live/Live.razor.rz.scp.css */
.overview-grid[b-70e2qwturx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--lw-space-4);
    margin-bottom: var(--lw-space-4);
}

.overview-headline[b-70e2qwturx] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.overview-counts[b-70e2qwturx] {
    display: grid;
    gap: var(--lw-space-1);
    margin: 0;
    padding: 0;
    list-style: none;
}

.overview-counts li[b-70e2qwturx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lw-space-2);
    padding: var(--lw-space-1) 0;
    border-bottom: 1px solid var(--lw-content-border);
}

.overview-counts li:last-child[b-70e2qwturx] {
    border-bottom: 0;
}

.overview-link[b-70e2qwturx] {
    padding: 0;
    border: 0;
    background: none;
    color: var(--lw-content-link);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.overview-link:hover[b-70e2qwturx] {
    text-decoration: underline;
}

@media (pointer: coarse) {
    .overview-link[b-70e2qwturx] { min-height: var(--lw-touch); }
}
/* /Components/Pages/Manage/Apps.razor.rz.scp.css */
.apps-heading[b-rkdcnt81c0] {
    margin: var(--lw-space-4) 0 var(--lw-space-2);
    font-size: var(--lw-font-size);
}

.apps-list[b-rkdcnt81c0] {
    margin: 0;
    padding-inline-start: var(--lw-space-5);
}
/* /Components/Pages/Manage/TeamApprovals.razor.rz.scp.css */
.approval-text[b-zglqfy0i80] {
    margin: 0;
    max-height: 50dvh;
    overflow: auto;
    padding: var(--lw-space-3) var(--lw-space-4);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font: inherit;
}
/* /Components/Pages/Map/DelvesTab.razor.rz.scp.css */
.dg-actions[b-4zcss24cfv],
.dg-add[b-4zcss24cfv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
    margin-top: var(--lw-space-2);
}

.dg-add input[b-4zcss24cfv] {
    flex: 1;
    min-width: 12rem;
}

.dg-build[b-4zcss24cfv] {
    display: grid;
    gap: var(--lw-space-3);
}

@media (min-width: 1100px) {
    .dg-build.has-plan[b-4zcss24cfv] {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
        align-items: start;
    }

    .dg-build.has-plan .dg-plan[b-4zcss24cfv] {
        margin-top: 0;
        height: min(60vh, 520px);
    }
}

.dg-slot-link[b-4zcss24cfv] {
    cursor: pointer;
}

.dg-slot-link:hover .dg-slot[b-4zcss24cfv] {
    stroke-width: 3;
}

.dg-plan[b-4zcss24cfv] {
    display: block;
    width: 100%;
    height: min(50vh, 420px);
    margin-top: var(--lw-space-3);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface-muted);
}

.dg-slot-corridor[b-4zcss24cfv] {
    fill: var(--lw-status-pending-bg);
    stroke: none;
}

.dg-slot[b-4zcss24cfv] {
    fill: var(--lw-content-selected-bg);
    stroke: var(--lw-control-primary-bg);
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.dg-plan[b-4zcss24cfv]  .dg-slot-label {
    pointer-events: none;
    fill: var(--lw-control-secondary-text);
    font-weight: 400;
}
/* /Components/Pages/Map/LayoutEditor.razor.rz.scp.css */
.le[b-n729bu6jow] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
    gap: var(--lw-space-4);
    align-items: start;
}

.le-stage[b-n729bu6jow] {
    position: relative;
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface-muted);
}

.le-svg[b-n729bu6jow] {
    display: block;
    width: 100%;
    height: min(78vh, 900px);
    cursor: grab;
}

.le-svg.drawing[b-n729bu6jow] {
    cursor: crosshair;
}

.le-hover[b-n729bu6jow] {
    position: absolute;
    left: var(--lw-space-2);
    bottom: var(--lw-space-2);
    pointer-events: none;
}

.le-side[b-n729bu6jow] {
    position: fixed;   /* inside the visible screen at any scroll; the pop-up scrolls inside itself */
    top: 5rem;
    right: var(--lw-space-2);
    z-index: 10;
    display: grid;
    gap: var(--lw-space-3);
    width: min(32rem, calc(100vw - 2 * var(--lw-space-2)));
    max-height: calc(100vh - 6rem);
    overflow: auto;
}

.le-row[b-n729bu6jow] {
    display: flex;
    gap: var(--lw-space-2);
    align-items: center;
}

.le-wrap[b-n729bu6jow] {
    flex-wrap: wrap;
}

.le-row input[type="number"][b-n729bu6jow] {
    width: 5rem;
}

.le-list[b-n729bu6jow] {
    margin: 0;
    padding-left: var(--lw-space-4);
    display: grid;
    gap: var(--lw-space-1);
}

/* The canvas is drawn by layout-render.mjs (outside Blazor's scope, so ::deep). */
.le-svg[b-n729bu6jow]  .le-preview { fill: var(--lw-status-ai-bg); fill-opacity: 0.5; stroke: var(--lw-status-ai); stroke-width: 2; pointer-events: none; }
.le-svg[b-n729bu6jow]  .le-preview path { fill: none; }
.le-svg[b-n729bu6jow]  .le-preview .le-ghost-bad { fill: var(--lw-status-error-bg); stroke: var(--lw-status-error); }

@media (max-width: 1100px) {
    .le[b-n729bu6jow] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.le-search[b-n729bu6jow] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
    margin-bottom: var(--lw-space-2);
}

.le-search input[b-n729bu6jow] { flex: 1; min-width: 0; }

.le-cell[b-n729bu6jow] {
    padding: var(--lw-space-1) var(--lw-space-2);
    border: 1px solid var(--lw-content-border-strong);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface-muted);
    font-weight: 600;
    white-space: nowrap;
}

.le-terrain-field[b-n729bu6jow] { display: grid; gap: var(--lw-space-1); }

.le-palette[b-n729bu6jow] {
    display: grid;
    grid-template-columns: repeat(auto-fill, 120px);
    gap: var(--lw-space-1);
    max-height: 280px;
    overflow-y: auto;
}

.le-tile[b-n729bu6jow] {
    width: 120px;
    height: var(--lw-touch);
    padding: 0 var(--lw-space-2);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    background: var(--lw-content-surface);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    color: var(--lw-content-text);
    font-size: var(--lw-font-size-sm);
    text-align: left;
    cursor: pointer;
}

.le-tile span[b-n729bu6jow] { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.le-tile:hover[b-n729bu6jow],
.le-tile:focus-visible[b-n729bu6jow] {
    border-color: var(--lw-accent-featured);
}

.le-tile.on[b-n729bu6jow] {
    border-color: var(--lw-accent-featured);
    background: var(--lw-content-selected-bg);
}

.le-uses[b-n729bu6jow] { margin: 0 0 var(--lw-space-3); padding-left: var(--lw-space-4); }
.le-uses span[b-n729bu6jow] { color: var(--lw-content-text-muted); }

/* The side panel can be hidden for the full layout (founder, 2026-10-12). */
.le.no-side[b-n729bu6jow] { grid-template-columns: minmax(0, 1fr); }
/* /Components/Pages/Map/LevelPane.razor.rz.scp.css */
.lv-head[b-3a92fnta23] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
    margin-bottom: var(--lw-space-3);
}

.lv-head h2[b-3a92fnta23] {
    margin: 0;
    font-size: var(--lw-font-size-lg);
}

.lv-anchor[b-3a92fnta23] {
    display: flex;
    gap: var(--lw-space-2);
}

.lv-anchor input[b-3a92fnta23] {
    width: 6rem;
}
/* /Components/Pages/Map/OverworldTab.razor.rz.scp.css */
.grid-layout[b-x0zh4x5m9c] {
    display: block;
}

/* The map (GitHub 374): cells in world blocks over the terrain, with roads, footprints and locations on top. */
.map-stage[b-x0zh4x5m9c] {
    position: relative;
    border: 1px solid var(--lw-content-border-strong);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface-muted);
}

.map-svg[b-x0zh4x5m9c] {
    display: block;
    width: 100%;
    height: min(75vh, 860px);
    cursor: grab;
}

.map-hover[b-x0zh4x5m9c] {
    position: absolute;
    left: var(--lw-space-2);
    bottom: var(--lw-space-2);
    pointer-events: none;
}

.grid-cell[b-x0zh4x5m9c] { cursor: pointer; }
.grid-cell rect[b-x0zh4x5m9c] { fill: var(--lw-content-surface-muted); stroke: var(--lw-content-border-strong); stroke-width: calc(6 * var(--k, 1)); }
.grid-cell text[b-x0zh4x5m9c] { fill: var(--lw-content-text); font-family: Consolas, "Cascadia Mono", monospace; pointer-events: none; }
.grid-cell.world rect[b-x0zh4x5m9c], .grid-cell.territory rect[b-x0zh4x5m9c] { fill: var(--lw-status-ai-bg); }
.grid-cell.world text[b-x0zh4x5m9c], .grid-cell.territory text[b-x0zh4x5m9c] { font-weight: 600; }
.grid-cell.wilderness.ring-1 rect[b-x0zh4x5m9c] { fill: var(--lw-content-surface); }
.grid-cell.wilderness text[b-x0zh4x5m9c] { fill: var(--lw-content-text-muted); }
/* A blocked cell never opens (wilderness in no ring): dark gray, with nothing drawn on it. */
.grid-cell.blocked rect[b-x0zh4x5m9c] { fill: var(--lw-map-blocked); }
/* Over terrain the cells are see-through, so the real map shows at the default Fade; Fade then lets more of what is drawn fall away. */
.map-svg.with-terrain .grid-cell > rect:first-child[b-x0zh4x5m9c] { fill-opacity: 0.35; }
.map-svg.with-terrain .grid-cell.blocked > rect:first-child[b-x0zh4x5m9c] { fill-opacity: 1; }
/* The Fade (--veil, 1 down to 0) lets what is drawn fall away: the fills and the objects fade; text labels and cell borders (the strokes) stay. */
.map-content .grid-cell > rect:first-child[b-x0zh4x5m9c] { fill-opacity: var(--veil, 1); }
.map-svg.with-terrain .map-content .grid-cell > rect:first-child[b-x0zh4x5m9c] { fill-opacity: calc(0.35 * var(--veil, 1)); }
.map-svg.with-terrain .map-content .grid-cell.blocked > rect:first-child[b-x0zh4x5m9c] { fill-opacity: var(--veil, 1); }
.map-content .map-category[b-x0zh4x5m9c] { opacity: var(--veil, 1); }
/* Placements (roads, zones, footprints, places) always draw on top of the terrain at full strength (founder, 2026-10-12): the Fade only lets the cell fills fall away. Roads read darker than the shared layout path colour over terrain. */
.ow-layouts[b-x0zh4x5m9c]  .ow-road path.ll-path { stroke: var(--lw-map-road); stroke-width: 3px; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 0.6px var(--lw-map-road-casing)) drop-shadow(0 0 0.6px var(--lw-map-road-casing)); }
.ow-layouts[b-x0zh4x5m9c]  .ow-road path.ll-bridge { stroke: var(--lw-map-road-bridge); stroke-width: 3px; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 0.6px var(--lw-map-road-casing)) drop-shadow(0 0 0.6px var(--lw-map-road-casing)); }
.ow-layouts[b-x0zh4x5m9c]  .ow-road rect.ll-path, .ow-layouts[b-x0zh4x5m9c]  .ow-road circle.ll-path { fill: var(--lw-map-road); }
/* The streets of a town (a layout with plots): thin and light, no casing, so they read over the layout fill and terrain without competing with the roads. */
.ow-layouts[b-x0zh4x5m9c]  .ow-street path.ll-path { stroke: var(--lw-map-street); stroke-width: 1.5px; vector-effect: non-scaling-stroke; }
.ow-layouts[b-x0zh4x5m9c]  .ow-street path.ll-bridge { stroke: var(--lw-map-road-bridge); stroke-width: 2px; vector-effect: non-scaling-stroke; }
.ow-layouts[b-x0zh4x5m9c]  .ow-street rect.ll-path, .ow-layouts[b-x0zh4x5m9c]  .ow-street circle.ll-path { fill: var(--lw-map-street); }
/* What is drawn over the cells lets a click through to the cell under it; places keep theirs, to be dragged. */
.ow-layouts[b-x0zh4x5m9c], .map-zone[b-x0zh4x5m9c], .map-footprint:not([data-location])[b-x0zh4x5m9c] { pointer-events: none; }
/* Reserved is the border itself dashed and a little thicker, never a band of its own (founder, issue 374). */
.grid-cell.is-reserved rect[b-x0zh4x5m9c] { stroke-width: calc(14 * var(--k, 1)); stroke-dasharray: calc(48 * var(--k, 1)) calc(32 * var(--k, 1)); }
.map-group-border.is-dashed[b-x0zh4x5m9c] { stroke-dasharray: calc(48 * var(--k, 1)) calc(32 * var(--k, 1)); }
/* Lore World land inside a territory (GitHub 368): earmarked cells and cells holding a reserve, dashed in its own colour. */
.grid-cell.lore-land rect[b-x0zh4x5m9c] { stroke: var(--lw-map-lore-land); stroke-width: calc(24 * var(--k, 1)); stroke-dasharray: calc(48 * var(--k, 1)) calc(32 * var(--k, 1)); }
.grid-cell:hover rect[b-x0zh4x5m9c],
.grid-cell.selected rect[b-x0zh4x5m9c] { stroke: var(--lw-control-primary-bg); stroke-width: calc(32 * var(--k, 1)); }
/* The Fade slider (not a fixed veil) lets the terrain show through: at 0% what is drawn is shown as it is. */
.map-terrain[b-x0zh4x5m9c] { image-rendering: pixelated; pointer-events: none; }
.map-footprint rect[b-x0zh4x5m9c] { fill: var(--lw-content-selected-bg); fill-opacity: 0.7; stroke: var(--lw-control-primary-bg); stroke-width: calc(4 * var(--k, 1)); }
.map-footprint[data-location][b-x0zh4x5m9c] { cursor: move; }
.map-location[b-x0zh4x5m9c] { fill: var(--lw-accent-featured); stroke: var(--lw-content-text); stroke-width: 1.5px; vector-effect: non-scaling-stroke; stroke-linejoin: round; cursor: move; }
.glyph .map-location[b-x0zh4x5m9c] { cursor: default; }
.map-location.is-draft[b-x0zh4x5m9c] { fill: var(--lw-content-surface); stroke-dasharray: 3 2; }

/* The panels float over the map's right edge, only while something is open (a cell, a quest or a command-bar popover). */
.grid-side[b-x0zh4x5m9c] {
    position: fixed;   /* kept inside the visible screen at any map scroll or zoom; the pane scrolls inside itself */
    top: 5rem;
    right: var(--lw-space-2);
    z-index: 10;
    display: grid;
    gap: var(--lw-space-3);
    width: min(32rem, calc(100vw - 2 * var(--lw-space-2)));
    max-height: calc(100vh - 6rem);
    overflow: auto;
}
/* A cell's properties panel is twice as wide: it holds its images, its facts and what is placed in it. */
.grid-side.is-cell[b-x0zh4x5m9c] { width: min(64rem, calc(100vw - 2 * var(--lw-space-2))); }

.grid-origin[b-x0zh4x5m9c] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--lw-space-2);
}

.grid-legend[b-x0zh4x5m9c] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
    gap: var(--lw-space-1) var(--lw-space-4);
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: var(--lw-font-size-sm);
}

.grid-legend li[b-x0zh4x5m9c] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.grid-legend.is-row[b-x0zh4x5m9c] { display: flex; flex-wrap: wrap; gap: var(--lw-space-1) var(--lw-space-4); }

.map-legend[b-x0zh4x5m9c] { margin-bottom: var(--lw-space-2); padding: var(--lw-space-2) var(--lw-space-3); border: 1px solid var(--lw-content-border); background: var(--lw-content-surface); }
.map-legend-bar[b-x0zh4x5m9c] { display: flex; align-items: center; gap: var(--lw-space-2); }
.map-legend-bar .lw-sub[b-x0zh4x5m9c] { flex: 1 1 auto; min-width: 0; }

.map-cell-actions[b-x0zh4x5m9c] { display: flex; gap: var(--lw-space-2); margin-bottom: var(--lw-space-3); }

.map-menu-backdrop[b-x0zh4x5m9c] { position: fixed; inset: 0; z-index: 1700; }
.map-menu[b-x0zh4x5m9c] { position: fixed; z-index: 1701; margin: 0; padding: var(--lw-space-1); list-style: none; background: var(--lw-content-surface); border: 1px solid var(--lw-content-border-strong); box-shadow: var(--lw-shadow-lg); }
.map-menu button[b-x0zh4x5m9c] { display: block; width: 100%; padding: var(--lw-space-1) var(--lw-space-3); border: 0; background: none; color: var(--lw-content-text); text-align: left; cursor: pointer; }
.map-menu button:hover[b-x0zh4x5m9c] { background: var(--lw-content-surface-muted); }

.swatch[b-x0zh4x5m9c] {
    flex: none;
    width: 1rem;
    height: 1rem;
    border: 1px solid var(--lw-content-border-strong);
    background: var(--lw-content-surface-muted);
}

.swatch.road[b-x0zh4x5m9c] { background: var(--lw-map-road); }
.swatch.bridge[b-x0zh4x5m9c] { background: var(--lw-map-road-bridge); }
.swatch.street[b-x0zh4x5m9c] { background: var(--lw-map-street); border: 1px solid var(--lw-map-path); }
.swatch.lore[b-x0zh4x5m9c] { background: var(--lw-status-ai-bg); }
.swatch.frontier[b-x0zh4x5m9c] { background: var(--lw-content-surface); }
.swatch.blocked[b-x0zh4x5m9c] { background: var(--lw-map-blocked); }
.swatch.reserved[b-x0zh4x5m9c] { outline: 2px solid var(--lw-content-text); outline-offset: -2px; background: var(--lw-content-surface); }
.swatch.earmark[b-x0zh4x5m9c] { outline: 2px dashed var(--lw-map-lore-land); outline-offset: -2px; background: var(--lw-content-surface); }

@media (max-width: 760px) {
    .grid-layout[b-x0zh4x5m9c] {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* The atlas's own marks (map layers, issue 386). A category's colour is the Lore's (content), drawn faint over the cell. */
.map-category[b-x0zh4x5m9c] { fill-opacity: 0.22; stroke-width: calc(16 * var(--k, 1)); stroke-opacity: 0.6; pointer-events: none; }
.map-category.is-dashed[b-x0zh4x5m9c] { stroke-dasharray: calc(64 * var(--k, 1)) calc(40 * var(--k, 1)); fill-opacity: 0.12; }
.map-category.is-hatched[b-x0zh4x5m9c] { fill-opacity: 0.08; stroke-dasharray: calc(16 * var(--k, 1)) calc(16 * var(--k, 1)); }
.grid-cell.unused rect[b-x0zh4x5m9c], .map-svg.with-terrain .grid-cell.unused > rect:first-child[b-x0zh4x5m9c] { fill: transparent; fill-opacity: 0; stroke-width: calc(0 * var(--k, 1)); }
.map-svg.no-borders .grid-cell rect[b-x0zh4x5m9c] { stroke-width: calc(0 * var(--k, 1)); }
.map-cell-label[b-x0zh4x5m9c], .map-town-label[b-x0zh4x5m9c] { fill: var(--lw-content-text); font-weight: 600; pointer-events: none; paint-order: stroke; stroke: var(--lw-content-surface); stroke-width: calc(12 * var(--k, 1)); }
.map-location.is-under[b-x0zh4x5m9c] { fill: none; stroke: var(--lw-status-ai); stroke-dasharray: 3 2; }
.map-location.is-town[b-x0zh4x5m9c] { fill: var(--lw-control-primary-bg); }
.map-place-settlement[b-x0zh4x5m9c] { fill: var(--lw-content-selected-bg); }
.map-place-ruin[b-x0zh4x5m9c], .map-place-delve[b-x0zh4x5m9c] { fill: var(--lw-content-text-muted); }
.map-place-discovery[b-x0zh4x5m9c] { fill: var(--lw-status-pending); }
.swatch.is-dashed[b-x0zh4x5m9c] { outline: 2px dashed var(--lw-content-text-muted); outline-offset: -2px; }
.swatch.is-hatched[b-x0zh4x5m9c] { opacity: 0.6; }
.map-zone circle[b-x0zh4x5m9c], .map-zone rect[b-x0zh4x5m9c] { fill: var(--lw-status-ai-bg); fill-opacity: 0.25; stroke: var(--lw-status-ai); stroke-width: calc(8 * var(--k, 1)); stroke-dasharray: calc(32 * var(--k, 1)) calc(16 * var(--k, 1)); pointer-events: none; }
.map-zone path.zone-fill[b-x0zh4x5m9c] { fill: var(--lw-status-ai-bg); fill-opacity: 0.25; stroke: none; pointer-events: none; }
.map-zone path.zone-edge[b-x0zh4x5m9c] { fill: none; stroke: var(--lw-status-ai); stroke-width: calc(8 * var(--k, 1)); stroke-dasharray: calc(32 * var(--k, 1)) calc(16 * var(--k, 1)); pointer-events: none; }
.map-zone-quest_area path.zone-edge[b-x0zh4x5m9c] { stroke: var(--lw-map-lore-land); }
.map-zone-quest_area circle[b-x0zh4x5m9c], .map-zone-quest_area rect[b-x0zh4x5m9c] { stroke: var(--lw-map-lore-land); }

/* Show on map from a quest: everything else dims, the quest's places are numbered and joined by a path. */
.map-content.quest-dim .grid-cell[b-x0zh4x5m9c], .map-content.quest-dim .map-category[b-x0zh4x5m9c] { opacity: 0.25; }
.quest-overlay[b-x0zh4x5m9c] { pointer-events: none; }
.quest-pin[b-x0zh4x5m9c] { pointer-events: all; cursor: pointer; }
.quest-path[b-x0zh4x5m9c] { fill: none; stroke: var(--lw-control-primary-bg); stroke-width: calc(12 * var(--k, 1)); stroke-dasharray: calc(48 * var(--k, 1)) calc(24 * var(--k, 1)); stroke-linejoin: round; }
.quest-area[b-x0zh4x5m9c] { fill: var(--lw-control-primary-bg); fill-opacity: 0.18; stroke: var(--lw-control-primary-bg); stroke-width: calc(6 * var(--k, 1)); }
.quest-dot[b-x0zh4x5m9c] { fill: var(--lw-control-primary-bg); stroke: var(--lw-content-surface); stroke-width: calc(6 * var(--k, 1)); }
.quest-pin.selected .quest-dot[b-x0zh4x5m9c] { fill: var(--lw-accent-featured); stroke: var(--lw-content-text); stroke-width: calc(10 * var(--k, 1)); }
.quest-no[b-x0zh4x5m9c] { fill: var(--lw-control-primary-text); font-weight: 600; pointer-events: none; }
.quest-pin.selected .quest-no[b-x0zh4x5m9c] { fill: var(--lw-content-text); }

.quest-steps[b-x0zh4x5m9c] { display: grid; gap: var(--lw-space-1); margin: 0 0 var(--lw-space-2); padding-left: var(--lw-space-5); }
.quest-step[b-x0zh4x5m9c] { display: flex; flex-direction: column; align-items: flex-start; width: 100%; min-height: var(--lw-touch); padding: var(--lw-space-1) var(--lw-space-2); border: 1px solid var(--lw-content-border); border-radius: var(--lw-radius-sm); background: var(--lw-content-surface); color: var(--lw-content-text); font: inherit; text-align: left; cursor: pointer; }
.quest-step:disabled[b-x0zh4x5m9c] { color: var(--lw-content-text-muted); cursor: default; }
.quest-step.selected[b-x0zh4x5m9c] { background: var(--lw-content-selected-bg); border-color: var(--lw-control-primary-bg); }

/* The outline of a group of cells (a territory, a band): soft, in a darker shade of its colour; like cell borders, it does not fade. */
.map-cell-clip[b-x0zh4x5m9c] { overflow: hidden; pointer-events: none; }
.map-group-border[b-x0zh4x5m9c] { fill: none; stroke-width: calc(16 * var(--k, 1)); stroke-opacity: 0.9; stroke-linecap: square; pointer-events: none; }
.map-placed[b-x0zh4x5m9c] { margin: 0; padding-left: var(--lw-space-4); }
.map-placed.is-long[b-x0zh4x5m9c] { columns: 2; column-gap: var(--lw-space-4); }
/* /Components/Pages/Map/PropTemplateEditor.razor.rz.scp.css */
.pt-size[b-sqdlw8knz6] {
    display: flex;
    gap: var(--lw-space-2);
    align-items: center;
}

.pt-size input[b-sqdlw8knz6] {
    width: 4.5rem;
}

.pt-actions[b-sqdlw8knz6] {
    display: flex;
    gap: var(--lw-space-2);
}

/* One layer of the template, front at the bottom: each square a cell, coloured by what fills it (GitHub 412). */
.pt-grid[b-sqdlw8knz6] {
    width: 100%;
    max-width: 480px;
    background: var(--lw-content-surface);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
}

.pt-cell[b-sqdlw8knz6] {
    fill: var(--lw-content-surface-muted);
    stroke: var(--lw-content-border-strong);
    stroke-width: 0.3;
    cursor: pointer;
}

.pt-below[b-sqdlw8knz6] {
    fill: var(--lw-content-border);
}

.pt-role[b-sqdlw8knz6] {
    fill: var(--lw-content-selected-bg);
}

.pt-block[b-sqdlw8knz6] {
    fill: var(--lw-map-path);
    fill-opacity: 0.45;
}

.pt-open[b-sqdlw8knz6] {
    fill: none;
    stroke-dasharray: 1.2 0.8;
    pointer-events: all;
}

.pt-decor[b-sqdlw8knz6] {
    fill: var(--lw-accent-featured);
    fill-opacity: 0.35;
}

.pt-front[b-sqdlw8knz6] {
    stroke: var(--lw-control-primary-bg);
    stroke-width: 0.8;
}

[b-sqdlw8knz6] .pt-label {
    fill: var(--lw-content-text);
    font-size: 2.8px;
    pointer-events: none;
}
/* /Components/Pages/Map/StructuresTab.razor.rz.scp.css */
.st-size[b-om6vv3yq6q] {
    display: flex;
    gap: var(--lw-space-2);
    align-items: center;
}

.st-size input[b-om6vv3yq6q] {
    width: 5rem;
}

.st-actions[b-om6vv3yq6q] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-2);
    align-items: center;
    margin-top: var(--lw-space-3);
}

.st-upload[b-om6vv3yq6q] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
}

/* The plan from above (map layers, issue 386). */
.st-plan[b-om6vv3yq6q] { width: 100%; max-height: 360px; background: var(--lw-content-surface); border: 1px solid var(--lw-content-border); border-radius: var(--lw-radius-sm); }
.st-plot[b-om6vv3yq6q] { fill: var(--lw-map-plot); fill-opacity: 0.1; stroke: var(--lw-map-plot); stroke-width: 0.5; stroke-dasharray: 2 1; }
.st-footprint[b-om6vv3yq6q] { fill: var(--lw-content-surface-muted); stroke: var(--lw-content-border-strong); stroke-width: 0.5; }
.st-shape[b-om6vv3yq6q] { fill: var(--lw-content-selected-bg); stroke: var(--lw-control-primary-bg); stroke-width: 0.4; }
.st-shape-ring[b-om6vv3yq6q], .st-shape-line[b-om6vv3yq6q] { fill: none; }
.st-shape-columns[b-om6vv3yq6q] { fill: var(--lw-content-border-strong); }
.st-shape-stairs[b-om6vv3yq6q] { fill: var(--lw-map-path); }
.st-mark[b-om6vv3yq6q] { fill: var(--lw-accent-featured); }
/* /Components/Pages/Map/TerritoriesTab.razor.rz.scp.css */
.territory-cells[b-utdv4o899u] { max-width: 16rem; margin-bottom: 0.75rem; }
.territory-cells svg[b-utdv4o899u] { width: 100%; height: auto; display: block; }
.territory-cells rect[b-utdv4o899u] { stroke: var(--lw-content-surface); stroke-width: 0.06; }
.territory-cells rect.none[b-utdv4o899u] { fill: var(--lw-content-surface-muted); }
.territory-cells rect.other[b-utdv4o899u] { fill: var(--lw-content-border-strong); }
.territory-cells rect.mine[b-utdv4o899u] { fill: var(--lw-control-primary-bg); }
/* /Components/Pages/MentionComposer.razor.rz.scp.css */
.mention-composer[b-6syl3w5k5u] {
  position: relative;
  display: grid;
  gap: 6px;
}
.comment-input[b-6syl3w5k5u] {
  box-sizing: border-box;
  width: 100%;
  padding: 6px 8px;
  border: 1px solid var(--lw-content-border);
  border-radius: 4px;
  font: inherit;
  font-size: 0.9rem;
  resize: vertical;
}
.mention-suggestions[b-6syl3w5k5u] {
  position: absolute;
  z-index: 8;
  top: 100%;
  left: 0;
  display: grid;
  min-width: 200px;
  padding: 4px;
  border: 1px solid var(--lw-content-border);
  border-radius: 4px;
  background: var(--lw-content-surface);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--lw-content-text) 12%, transparent);
}
.mention-suggestions button[b-6syl3w5k5u] {
  padding: 6px 8px;
  border: 0;
  background: none;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.mention-suggestions button:hover[b-6syl3w5k5u] {
  background: var(--lw-content-page-bg);
}
.composer-actions[b-6syl3w5k5u] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.comment-button[b-6syl3w5k5u] {
  height: 30px;
  padding: 0 12px;
  border: 1px solid var(--lw-content-border);
  border-radius: 4px;
  background: var(--lw-content-surface);
  font: inherit;
  font-size: 0.85rem;
  cursor: pointer;
}
@media (pointer: coarse) {
  .comment-button[b-6syl3w5k5u] { height: var(--lw-touch); min-width: var(--lw-touch); }
  .mention-suggestions button[b-6syl3w5k5u] { min-height: var(--lw-touch); }
}
.comment-button.primary[b-6syl3w5k5u] {
  border-color: var(--lw-control-primary-bg);
  background: var(--lw-control-primary-bg);
  color: var(--lw-control-primary-text);
}
.comment-button:disabled[b-6syl3w5k5u] {
  opacity: 0.5;
  cursor: not-allowed;
}
.composer-hint[b-6syl3w5k5u] {
  color: var(--lw-content-text-muted);
  font-size: 0.75rem;
}
/* /Components/Pages/Moderation/BacklogTab.razor.rz.scp.css */
.bl-actions[b-cyqqhcl848] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
}

.bl-linked[b-cyqqhcl848] {
    margin: 0;
    padding-left: var(--lw-space-4);
    display: grid;
    gap: var(--lw-space-1);
}
/* /Components/Pages/Moderation/FeedbackTab.razor.rz.scp.css */
.fb-body[b-st250vgwjm] {
    white-space: pre-wrap;
    margin: var(--lw-space-3) 0 0;
}

.fb-messages[b-st250vgwjm] {
    list-style: none;
    margin: 0 0 var(--lw-space-3);
    padding: 0;
    display: grid;
    gap: var(--lw-space-2);
}

.fb-messages li[b-st250vgwjm] {
    padding: var(--lw-space-2) var(--lw-space-3);
    border-radius: var(--lw-radius-sm);
    border: 1px solid var(--lw-content-border);
    white-space: pre-wrap;
}

.fb-messages li.player[b-st250vgwjm] {
    background: var(--lw-content-surface-muted);
}

.fb-messages li.internal[b-st250vgwjm] {
    border-style: dashed;
    background: var(--lw-status-pending-bg, var(--lw-content-surface-muted));
}

.fb-actions[b-st250vgwjm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
    margin-top: var(--lw-space-2);
}
/* /Components/Pages/Moderation/SuspensionCard.razor.rz.scp.css */
.sp-card[b-b6daoighqr] {
    display: grid;
    gap: var(--lw-space-1);
    padding: var(--lw-space-2) var(--lw-space-3);
    margin-bottom: var(--lw-space-2);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
}

.sp-card.active[b-b6daoighqr] {
    border-color: var(--lw-control-destructive);
}

.sp-head[b-b6daoighqr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
}

.sp-lift[b-b6daoighqr] {
    display: flex;
    gap: var(--lw-space-2);
    align-items: center;
}

.sp-lift input[b-b6daoighqr] {
    flex: 1;
}
/* /Components/Pages/Operations/DeployDialog.razor.rz.scp.css */
.deploy-check[b-r6u3davu0e] {
    display: flex;
    align-items: flex-start;
    gap: var(--lw-space-2);
    font-weight: 400;
}
/* /Components/Pages/Operations/DeployProgressDialog.razor.rz.scp.css */
.deploy-steps[b-gnrhe0i1i4] {
    list-style: decimal inside;
    margin: 0 0 var(--lw-space-3);
    padding: 0;
    display: grid;
    gap: var(--lw-space-2);
}

.deploy-step[b-gnrhe0i1i4] {
    color: var(--lw-content-text-muted);
}

.deploy-step-done[b-gnrhe0i1i4] { color: var(--lw-status-done); }
.deploy-step-active[b-gnrhe0i1i4] { color: var(--lw-content-text); font-weight: 600; }
.deploy-step-failed[b-gnrhe0i1i4] { color: var(--lw-status-error); }
/* /Components/Pages/Operations/InstanceAdminPanel.razor.rz.scp.css */
.grant-reason[b-scfdvfahm8] {
    display: block;
    min-width: 12rem;
    max-width: 48rem;
    white-space: normal;
}
/* /Components/Pages/Operations/InstancePlacementsPanel.razor.rz.scp.css */
.placement-key[b-rlxk2cc0ge] {
    white-space: nowrap;
}
/* /Components/Pages/Operations/InstanceRuleRunsPanel.razor.rz.scp.css */
.runs-split[b-zi330wyslg] {
    margin-left: var(--lw-space-2);
    white-space: nowrap;
}
/* /Components/Pages/Operations/InstanceSettingsPanel.razor.rz.scp.css */
/* One card per group, as many side by side as the pane has room for (the form's own two columns need a much wider pane). */
.settings-cards[b-l06g74vbng] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 0 var(--lw-space-4);
    align-items: start;
}

.settings-readonly[b-l06g74vbng] {
    color: var(--lw-content-text-muted);
    font-style: italic;
}

.settings-actions[b-l06g74vbng] {
    display: flex;
    justify-content: flex-end;
    gap: var(--lw-space-2);
}
/* /Components/Pages/Operations/InstancesTab.razor.rz.scp.css */
.console-when[b-de2ofn9nst],
.console-event[b-de2ofn9nst],
.console-message[b-de2ofn9nst] {
    white-space: nowrap;
}

.console-message[b-de2ofn9nst] {
    margin-left: var(--lw-space-3);
}
/* /Components/Pages/Operations/RegistrationReadyDialog.razor.rz.scp.css */
/* The body stacks its paragraph, progress, messages and command with even spacing. */
.registration-body[b-30f5r6nopi] {
    display: grid;
    gap: var(--lw-space-3);
}

.registration-body[b-30f5r6nopi]  .lw-message {
    margin: 0;
}

.registration-body > p[b-30f5r6nopi] {
    margin: 0;
}

.registration-deadline[b-30f5r6nopi] {
    white-space: nowrap;
}

.registration-command[b-30f5r6nopi] {
    overflow-x: auto;
    margin: 0;
    padding: var(--lw-space-2) var(--lw-space-3);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface-muted);
    font-size: var(--lw-font-size-sm);
}

/* While the installer is prepared: an indeterminate bar above the status message. */
[b-30f5r6nopi] .registration-progress {
    margin-bottom: var(--lw-space-2);
}
/* /Components/Pages/Operations/ServerDetail.razor.rz.scp.css */
.server-egress[b-gtpqqfka0s] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--lw-space-2);
}

.assign-check[b-gtpqqfka0s] {
    display: flex;
    align-items: flex-start;
    gap: var(--lw-space-2);
    font-weight: 400;
}
/* /Components/Pages/PageNotesFlyout.razor.rz.scp.css */
.notes-tab[b-twb8clpfk9] {
  position: sticky;
  top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  align-self: start;
  height: 32px;
  padding: 0 10px;
  border: 1px solid var(--lw-content-border);
  border-radius: 16px;
  background: var(--lw-content-surface);
  color: var(--lw-content-link);
  font: inherit;
  cursor: pointer;
}
@media (pointer: coarse) {
  .notes-tab[b-twb8clpfk9] { height: var(--lw-touch); border-radius: calc(var(--lw-touch) / 2); }
}
.notes-flyout[b-twb8clpfk9] {
  position: sticky;
  top: 8px;
  display: grid;
  align-content: start;
  gap: 10px;
  flex: 0 0 300px;
  box-sizing: border-box;
  width: 300px;
  overflow-x: hidden;
  max-height: calc(100vh - 140px);
  overflow-y: auto;
  padding: 12px;
  border-left: 1px solid var(--lw-content-border);
  background: var(--lw-content-surface-muted);
}
.notes-header[b-twb8clpfk9] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.notes-count[b-twb8clpfk9] {
  margin-right: auto;
  color: var(--lw-content-text-muted);
  font-size: 0.8rem;
}
.notes-icon-button[b-twb8clpfk9] {
  display: inline-flex;
  padding: 4px;
  border: 0;
  border-radius: 4px;
  background: none;
  color: var(--lw-control-secondary-text);
  cursor: pointer;
}
.notes-icon-button:hover[b-twb8clpfk9] {
  background: var(--lw-content-selected-bg);
  color: var(--lw-content-link);
}
.notes-toggle[b-twb8clpfk9] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--lw-content-text-muted);
  font-size: 0.8rem;
}
.notes-message[b-twb8clpfk9],
.notes-empty[b-twb8clpfk9] {
  margin: 0;
  color: var(--lw-content-text-muted);
  font-size: 0.85rem;
}
.note-card[b-twb8clpfk9] {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--lw-content-border);
  border-left: 3px solid var(--lw-accent-featured);
  border-radius: 6px;
  background: var(--lw-content-surface);
}
.note-card.complete[b-twb8clpfk9] {
  border-left-color: var(--lw-status-done);
  opacity: 0.75;
}
.note-card.orphaned[b-twb8clpfk9] {
  border-left-color: var(--lw-control-destructive);
}
.note-card.drafting[b-twb8clpfk9] {
  border-left-color: var(--lw-control-primary-bg);
}
.note-card blockquote[b-twb8clpfk9] {
  margin: 0;
  padding: 2px 8px;
  border-left: 2px solid var(--lw-content-border);
  color: var(--lw-content-text-muted);
  font-size: 0.82rem;
  font-style: italic;
  cursor: pointer;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.note-orphaned[b-twb8clpfk9] {
  color: var(--lw-control-destructive);
  font-size: 0.75rem;
  font-weight: 600;
}
.note-card header[b-twb8clpfk9] {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.note-card time[b-twb8clpfk9] {
  color: var(--lw-content-text-muted);
  font-size: 0.75rem;
}
.note-text[b-twb8clpfk9] {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 0.9rem;
}
.note-text[b-twb8clpfk9]  .comment-mention {
  color: var(--lw-content-link);
  font-weight: 600;
}
.note-reply[b-twb8clpfk9] {
  margin-left: 10px;
  padding-left: 8px;
  border-left: 2px solid var(--lw-content-border);
}
.note-complete-by[b-twb8clpfk9] {
  margin: 0;
  color: var(--lw-status-done);
  font-size: 0.75rem;
}
.note-actions[b-twb8clpfk9] {
  display: flex;
  gap: 10px;
}
.note-actions button[b-twb8clpfk9] {
  padding: 0;
  border: 0;
  background: none;
  color: var(--lw-content-link);
  font: inherit;
  font-size: 0.8rem;
  cursor: pointer;
}
.note-actions button.danger[b-twb8clpfk9] {
  color: var(--lw-control-destructive);
}
.note-menu-backdrop[b-twb8clpfk9] {
  position: fixed;
  z-index: 1500;
  inset: 0;
}
.note-menu[b-twb8clpfk9] {
  position: fixed;
  z-index: 1501;
  display: grid;
  min-width: 170px;
  padding: 4px;
  border: 1px solid var(--lw-content-border);
  border-radius: 4px;
  background: var(--lw-content-surface);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--lw-content-text) 16%, transparent);
}
.note-menu button[b-twb8clpfk9] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 0;
  background: none;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.note-menu button:disabled[b-twb8clpfk9] {
  color: var(--lw-content-border-strong);
  cursor: not-allowed;
}
.note-menu-hint[b-twb8clpfk9] {
  padding: 2px 8px 6px;
  color: var(--lw-content-text-muted);
  font-size: 0.75rem;
}
/* The list: one compact card per note, its quote, its first lines and who wrote it. */
.note-chip[b-twb8clpfk9] {
  display: grid;
  gap: 2px;
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--lw-content-border);
  border-left: 3px solid var(--lw-accent-featured);
  border-radius: 6px;
  background: var(--lw-content-surface);
  color: var(--lw-content-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.note-chip:hover[b-twb8clpfk9] {
  background: var(--lw-content-selected-bg);
}
.note-chip.selected[b-twb8clpfk9] {
  border-color: var(--lw-control-primary-bg);
  box-shadow: 0 0 0 1px var(--lw-control-primary-bg);
}
.note-chip.complete[b-twb8clpfk9] {
  border-left-color: var(--lw-status-done);
  opacity: 0.75;
}
.note-chip.orphaned[b-twb8clpfk9] {
  border-left-color: var(--lw-control-destructive);
}
.note-chip-quote[b-twb8clpfk9],
.note-chip-text[b-twb8clpfk9] {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.note-chip-quote[b-twb8clpfk9] {
  color: var(--lw-content-text-muted);
  font-size: 0.8rem;
  font-style: italic;
}
.note-chip-text[b-twb8clpfk9] {
  font-size: 0.88rem;
}
.note-chip-meta[b-twb8clpfk9] {
  color: var(--lw-content-text-muted);
  font-size: 0.75rem;
}
/* The open thread: a card over the page, left of the list, level with its noted text (page-notes.js places it). */
.note-pop[b-twb8clpfk9] {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 312px;
  box-sizing: border-box;
  width: min(380px, 55%);
  padding: 12px 36px 12px 12px;
  box-shadow: var(--lw-shadow-lg);
}
.note-pop-close[b-twb8clpfk9] {
  position: absolute;
  top: 6px;
  right: 6px;
}
@media (max-width: 1100px) {
  .note-pop[b-twb8clpfk9] {
    position: static;
    width: auto;
    box-shadow: none;
  }
  .notes-flyout[b-twb8clpfk9] {
    position: static;
    flex-basis: auto;
    width: auto;
    max-height: none;
    border-left: 0;
    border-top: 1px solid var(--lw-content-border);
  }
}
.notes-header strong[b-twb8clpfk9],
.notes-count[b-twb8clpfk9] {
  white-space: nowrap;
}
/* The note a notification opened. */
.note-card.linked[b-twb8clpfk9],
.note-reply.linked[b-twb8clpfk9] {
  box-shadow: 0 0 0 2px var(--lw-control-primary-bg);
}
/* /Components/Pages/People/PlayersTab.razor.rz.scp.css */
.player-application[b-xayp6gtlbd] {
    margin-bottom: var(--lw-space-4);
    padding: var(--lw-space-3) var(--lw-space-4);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface-muted);
}

.player-application h3[b-xayp6gtlbd] {
    margin: 0 0 var(--lw-space-2);
    font-size: var(--lw-font-size-lg);
}

.player-application h4[b-xayp6gtlbd] {
    margin: var(--lw-space-3) 0 var(--lw-space-1);
    font-size: var(--lw-font-size);
}

.player-application-response[b-xayp6gtlbd] {
    margin: 0;
    white-space: pre-wrap;
    line-height: 1.55;
}
/* /Components/Pages/People/RolesTab.razor.rz.scp.css */
.roles-tree[b-q30qyo6td5] {
    display: grid;
    gap: var(--lw-space-1);
    max-height: 26rem;
    overflow-y: auto;
}

.roles-group > summary[b-q30qyo6td5] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
    cursor: pointer;
}

.roles-head[b-q30qyo6td5],
.roles-rights li[b-q30qyo6td5] {
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) repeat(6, 4.5rem) minmax(0, 2fr);
    align-items: center;
    gap: var(--lw-space-2);
}

.roles-head[b-q30qyo6td5] {
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.roles-head span[b-q30qyo6td5],
.roles-rights input[type=checkbox][b-q30qyo6td5] {
    justify-self: center;
}

.roles-name[b-q30qyo6td5] {
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.roles-check[b-q30qyo6td5] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.roles-rights[b-q30qyo6td5] {
    margin: var(--lw-space-1) 0 var(--lw-space-2);
    padding-inline-start: var(--lw-space-5);
    list-style: none;
}

.roles-check span[b-q30qyo6td5] {
    white-space: nowrap;
}

@media (pointer: coarse) {
    .roles-group > summary[b-q30qyo6td5],
    .roles-rights li[b-q30qyo6td5] {
        min-height: 2.75rem;
    }

    .roles-check input[type=checkbox][b-q30qyo6td5] {
        width: 1.25rem;
        height: 1.25rem;
    }
}
/* /Components/Pages/Player.razor.rz.scp.css */
/* The signed-out panel's look is PlayerPanel's. */
.portal-rail h1[b-82hnwrcgcm] {
    margin: 0 0 26px;
    font: 600 clamp(2.1rem, 4vw, 2.6rem)/1.08 'Cormorant Garamond', Georgia, serif;
}

.player-panel-note[b-82hnwrcgcm],
.portal-empty[b-82hnwrcgcm] {
    margin: 0 0 22px;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 82%, transparent);
    font: 400 .95rem/1.6 Inter, Arial, sans-serif;
}

.player-panel-note a[b-82hnwrcgcm],
.portal-empty a[b-82hnwrcgcm] {
    color: var(--lw-scene-link);
}

/* Signed in: the rail docked on the left edge, full height. */
.portal-rail[b-82hnwrcgcm] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    box-sizing: border-box;
    width: 380px;
    max-width: 100%;
    overflow-y: auto;
    padding: 30px 32px 120px; /* the footer overlays the bottom */
    color: var(--lw-scene-on-dark);
    background: linear-gradient(180deg, color-mix(in srgb, var(--lw-scene-night) 94%, transparent), color-mix(in srgb, var(--lw-scene-night-violet) 86%, transparent));
    box-shadow: 8px 0 40px color-mix(in srgb, var(--lw-scene-shadow) 35%, transparent);
    backdrop-filter: blur(6px);
    font-family: Inter, Arial, sans-serif;
}

.portal-rail-head[b-82hnwrcgcm] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 34px;
    padding-bottom: 18px;
    border-bottom: 1px solid color-mix(in srgb, var(--lw-scene-on-dark) 14%, transparent);
}

.portal-rail-who[b-82hnwrcgcm] {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

.portal-rail-who strong[b-82hnwrcgcm] {
    display: block;
    font: 600 1.15rem/1.2 'Cormorant Garamond', Georgia, serif;
}

.portal-rail-who span[b-82hnwrcgcm] {
    color: color-mix(in srgb, var(--lw-scene-on-dark) 92%, transparent);
    font-size: .8rem;
}

/* The top menu, on the neutral band between the rail and the logo. */
.portal-nav[b-82hnwrcgcm] {
    position: absolute;
    top: 40px;
    left: 420px;
    right: 300px;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 30px;
    font: 500 1.1rem/1.2 'Cormorant Garamond', Georgia, serif;
}

.portal-nav a[b-82hnwrcgcm] {
    padding: 4px 0 6px;
    border-bottom: 2px solid transparent;
    color: var(--lw-brand-navy);
    text-decoration: none;
}

.portal-nav a:hover[b-82hnwrcgcm],
.portal-nav a:focus-visible[b-82hnwrcgcm] {
    border-bottom-color: color-mix(in srgb, var(--lw-brand-navy) 40%, transparent);
}

.portal-nav a.active[b-82hnwrcgcm] {
    border-bottom-color: var(--lw-brand-blue);
    font-weight: 700;
}

.player-panel-items[b-82hnwrcgcm] {
    display: grid;
    gap: 22px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.player-panel-items > li[b-82hnwrcgcm] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.player-panel-items > li.player-panel-actions[b-82hnwrcgcm] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: -6px;
}

.player-panel-items h2[b-82hnwrcgcm] {
    margin: 0 0 3px;
    font: 600 1.3rem/1.2 'Cormorant Garamond', Georgia, serif;
    overflow-wrap: anywhere;
}

.player-panel-items p[b-82hnwrcgcm] {
    margin: 0;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 78%, transparent);
    font: 400 .88rem/1.5 Inter, Arial, sans-serif;
}

[b-82hnwrcgcm] .player-panel-icon {
    color: var(--lw-scene-icon);
}

.portal-section[b-82hnwrcgcm] {
    margin: 22px 0 8px;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 92%, transparent);
    font: 700 .75rem/1.2 Inter, Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* A rail card: a section's heading and its list fold together. */
.portal-fold > summary[b-82hnwrcgcm] {
    margin: 22px 0 8px;
    cursor: pointer;
    list-style: none;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 92%, transparent);
    font: 700 .75rem/1.2 Inter, Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.portal-fold > summary[b-82hnwrcgcm]::-webkit-details-marker {
    display: none;
}

.portal-fold > summary[b-82hnwrcgcm]::after {
    content: "\25BE";
    margin-left: 6px;
}

.portal-fold:not([open]) > summary[b-82hnwrcgcm]::after {
    content: "\25B8";
}

.portal-list[b-82hnwrcgcm] {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-list li[b-82hnwrcgcm] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid color-mix(in srgb, var(--lw-scene-on-dark) 10%, transparent);
    font-size: .92rem;
}

.portal-list em[b-82hnwrcgcm] {
    flex: none;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 65%, transparent);
    font-style: normal;
    font-size: .8rem;
}

.portal-settings[b-82hnwrcgcm] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px 16px;
    margin: 0 0 22px;
    font-size: .92rem;
}

.portal-settings dt[b-82hnwrcgcm] {
    color: color-mix(in srgb, var(--lw-scene-on-dark) 65%, transparent);
}

.portal-settings dd[b-82hnwrcgcm] {
    margin: 0;
    overflow-wrap: anywhere;
}

.player-panel-action[b-82hnwrcgcm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
    width: 100%;
    margin-top: 10px;
    padding: 12px 18px;
    border: 1.5px solid color-mix(in srgb, var(--lw-scene-teal-edge) 85%, transparent);
    border-radius: 6px;
    color: var(--lw-scene-on-dark);
    background: linear-gradient(180deg, color-mix(in srgb, var(--lw-scene-teal) 75%, transparent), color-mix(in srgb, var(--lw-scene-teal-deep) 75%, transparent));
    text-decoration: none;
    font: 500 1.1rem/1.2 'Cormorant Garamond', Georgia, serif;
    cursor: pointer;
}

.player-panel-items .player-panel-action[b-82hnwrcgcm] {
    margin-top: 0;
}

.player-panel-action-quiet[b-82hnwrcgcm] {
    border-color: color-mix(in srgb, var(--lw-scene-glow-soft) 80%, transparent);
    background: color-mix(in srgb, var(--lw-scene-night) 35%, transparent);
    font: 500 .9rem/1.2 Inter, Arial, sans-serif;
}

.player-panel-action:hover[b-82hnwrcgcm],
.player-panel-action:focus-visible[b-82hnwrcgcm] {
    border-color: var(--lw-scene-on-dark);
    background: color-mix(in srgb, var(--lw-scene-teal) 95%, transparent);
}

/* The notice board: a letter in the middle of the scene. */
.portal-notice-board[b-82hnwrcgcm] {
    flex-direction: column;
    align-items: center;
    gap: 14px;
    position: absolute;
    top: 250px;
    left: 380px;
    right: 0;
    display: flex;
    justify-content: center;
    padding: 0 48px;
}

.portal-notice[b-82hnwrcgcm] {
    box-sizing: border-box;
    width: min(100%, 560px);
    padding: 30px 38px 26px;
    border: 1px solid color-mix(in srgb, var(--lw-parchment-edge) 35%, transparent);
    border-radius: 4px;
    color: var(--lw-parchment-ink);
    background:
        radial-gradient(ellipse at top left, color-mix(in srgb, var(--lw-scene-on-dark) 55%, transparent), transparent 60%),
        linear-gradient(170deg, var(--lw-parchment), var(--lw-parchment-deep));
    box-shadow: 0 22px 50px color-mix(in srgb, var(--lw-scene-shadow) 45%, transparent), inset 0 0 40px color-mix(in srgb, var(--lw-parchment-edge) 18%, transparent);
    font: 400 1rem/1.65 Georgia, 'Cormorant Garamond', serif;
}

.portal-notice header[b-82hnwrcgcm] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: var(--lw-parchment-seal);
}

.portal-notice header p[b-82hnwrcgcm] {
    margin: 0;
    font: 700 .75rem/1.2 Inter, Arial, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.portal-notice h2[b-82hnwrcgcm] {
    margin: 0 0 14px;
    color: var(--lw-parchment-heading);
    font: 600 2rem/1.1 'Cormorant Garamond', Georgia, serif;
}

.portal-notice p[b-82hnwrcgcm] {
    margin: 0 0 12px;
}

.portal-notice-action[b-82hnwrcgcm] {
    display: inline-block;
    margin-top: 6px;
    padding: 10px 18px;
    border: 1px solid var(--lw-parchment-seal);
    border-radius: 3px;
    color: var(--lw-scene-on-dark);
    background: var(--lw-parchment-seal);
    text-decoration: none;
    font: 600 .9rem/1 Inter, Arial, sans-serif;
}

.portal-notice-action:hover[b-82hnwrcgcm],
.portal-notice-action:focus-visible[b-82hnwrcgcm] {
    background: var(--lw-parchment-seal-deep);
}

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    .portal-nav a[b-82hnwrcgcm],
    .portal-notice-action[b-82hnwrcgcm] {
        display: inline-flex;
        align-items: center;
        min-height: var(--lw-touch);
    }

    .portal-nav a[b-82hnwrcgcm] { padding-top: 0; padding-bottom: 0; }

    .player-panel-action[b-82hnwrcgcm] { min-height: var(--lw-touch); }
}

.portal-visits ul[b-82hnwrcgcm] {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-visits li[b-82hnwrcgcm] {
    display: grid;
    gap: 2px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in srgb, var(--lw-parchment-edge) 35%, transparent);
}

.portal-visits strong[b-82hnwrcgcm] {
    font-weight: 400;
}

.portal-visits span[b-82hnwrcgcm] {
    color: var(--lw-parchment-muted);
}

.portal-visits dl[b-82hnwrcgcm] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 6px 0 0;
}

.portal-visits dt[b-82hnwrcgcm] {
    font: 400 .75rem/1.2 Inter, Arial, sans-serif;
    color: var(--lw-parchment-muted);
}

.portal-visits dd[b-82hnwrcgcm] {
    margin: 0;
    font-weight: 400;
}

.portal-notice footer[b-82hnwrcgcm] {
    margin-top: 18px;
    text-align: right;
    font-style: italic;
    color: var(--lw-parchment-muted);
}

@media (max-width: 1100px) {
    .portal-nav[b-82hnwrcgcm] {
        position: static;
        justify-content: center;
        margin-bottom: 16px;
        gap: 6px 20px;
    }

    .portal-rail[b-82hnwrcgcm] {
        position: static;
        width: 100%;
        overflow: visible;
        padding: 24px 20px;
        border-radius: 14px;
    }

    .portal-notice-board[b-82hnwrcgcm] {
        position: static;
        margin-top: 20px;
        padding: 0;
    }

    .portal-notice[b-82hnwrcgcm] {
        padding: 24px 22px 20px;
    }
}

/* Story entries in the Journal: the Journal text players unlocked in game (T30). */
.portal-story[b-82hnwrcgcm] {
    padding-bottom: 8px;
    border-bottom: 1px solid color-mix(in srgb, var(--lw-scene-on-dark) 10%, transparent);
}

.portal-story summary[b-82hnwrcgcm] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
    cursor: pointer;
    font-size: .92rem;
}

.portal-story summary em[b-82hnwrcgcm] {
    flex: none;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 65%, transparent);
    font-style: normal;
    font-size: .8rem;
}

.portal-story-text[b-82hnwrcgcm] {
    color: color-mix(in srgb, var(--lw-scene-on-dark) 85%, transparent);
    font-size: .9rem;
    line-height: 1.6;
}

/* Under each join link: the address, for typing it in by hand, and when that way in works. */
.player-join-address[b-82hnwrcgcm] {
    margin: 6px 0 0;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 92%, transparent);
    font: 400 .78rem/1.35 Inter, Arial, sans-serif;
}

/* A small heading inside a portal view (the party view's "Recent"). */
.portal-subhead[b-82hnwrcgcm] {
    margin: 24px 0 10px;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 92%, transparent);
    font: 600 .8rem/1.2 Inter, Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* The purse, the Season and what changed since the player was away (GitHub 453). */
.portal-balance[b-82hnwrcgcm] {
    margin: 0 0 6px;
    font: 600 2.4rem/1.1 'Cormorant Garamond', Georgia, serif;
}

.portal-asof[b-82hnwrcgcm] {
    margin: 0 0 12px;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 90%, transparent);
    font: 400 .75rem/1.3 Inter, Arial, sans-serif;
}

.portal-since[b-82hnwrcgcm],
.portal-season[b-82hnwrcgcm] {
    margin-bottom: 22px;
}

.portal-season progress[b-82hnwrcgcm] {
    display: block;
    width: 100%;
    height: 10px;
    margin-bottom: 8px;
}

/* The links to the views the phone's bottom bar leaves out. */
.portal-more[b-82hnwrcgcm] {
    display: none;
}

/* Restart or maintenance notice: on a phone it sits above the bottom tab bar on every view. */
@media (max-width: 760px) {
    .portal-notice[b-82hnwrcgcm] {
        position: fixed;
        right: var(--lw-space-2);
        bottom: calc(var(--lw-touch) + env(safe-area-inset-bottom) + var(--lw-space-2));
        left: var(--lw-space-2);
        z-index: 6;
    }
}

/* Bottom tab bar (phone). */
.portal-tabs[b-82hnwrcgcm] {
    display: none;
}

@media (max-width: 760px) {
    .portal-nav[b-82hnwrcgcm] {
        display: none;
    }

    .portal-tabs[b-82hnwrcgcm] {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 5;
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 1fr;
        padding-bottom: env(safe-area-inset-bottom);
        border-top: 1px solid color-mix(in srgb, var(--lw-scene-on-dark) 18%, transparent);
        background: color-mix(in srgb, var(--lw-scene-night) 96%, transparent);
        font: 600 .8rem/1.2 Inter, Arial, sans-serif;
    }

    .portal-tabs a[b-82hnwrcgcm] {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: var(--lw-touch);
        color: var(--lw-scene-on-dark);
        text-decoration: none;
    }

    .portal-tabs a.active[b-82hnwrcgcm] {
        border-top: 2px solid var(--lw-scene-link);
        color: var(--lw-scene-link);
    }

    .portal-rail[b-82hnwrcgcm] {
        padding-bottom: calc(80px + env(safe-area-inset-bottom));
    }

    .portal-rail-who[b-82hnwrcgcm] { min-height: var(--lw-touch); }

    .portal-more[b-82hnwrcgcm] {
        display: flex;
        flex-wrap: wrap;
        gap: 4px 18px;
        margin-top: 18px;
    }

    .portal-more a[b-82hnwrcgcm] {
        display: inline-flex;
        align-items: center;
        min-height: var(--lw-touch);
        min-width: var(--lw-touch);
        color: var(--lw-scene-link);
    }

    .portal-notice-board[b-82hnwrcgcm] {
        display: grid;
        gap: 14px;
        padding-bottom: calc(80px + env(safe-area-inset-bottom));
    }
}

.portal-list small.portal-asof[b-82hnwrcgcm] {
    display: block;
    margin: 2px 0 0;
}

/* Viewing (#21): which Lore World the portal shows, or the Account. On the dark rail: light text, and the active chip a light fill with dark text (AA). */
.portal-viewing[b-82hnwrcgcm] { flex: 1 1 auto; min-width: 11rem; max-width: 100%; font-size: 0.85rem; }
.portal-viewing[b-82hnwrcgcm]  .lw-view-select, .portal-viewing[b-82hnwrcgcm]  .lw-view-select select { width: 100%; }
.portal-viewing[b-82hnwrcgcm]  .lw-view-select select { background-color: transparent; border-color: color-mix(in srgb, var(--lw-scene-on-dark) 60%, transparent); color: var(--lw-scene-on-dark); }
.portal-viewing[b-82hnwrcgcm]  option { background: var(--lw-scene-night); color: var(--lw-scene-on-dark); }

/* Main: a row that has a tab is itself the link to it. */
.player-panel-row[b-82hnwrcgcm] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    color: inherit;
    text-decoration: none;
}

.player-panel-row:hover h2[b-82hnwrcgcm],
.player-panel-row:focus-visible h2[b-82hnwrcgcm] {
    text-decoration: underline;
}

.player-panel-items > li:has(> .player-panel-row)[b-82hnwrcgcm] {
    display: block;
}

/* Journal and Mail: the rail lists the items; the open one shows in the content pane (?item=). */
.portal-pick li[b-82hnwrcgcm] {
    padding: 0;
}

.portal-pick a[b-82hnwrcgcm] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid color-mix(in srgb, var(--lw-scene-on-dark) 22%, transparent);
    border-radius: 6px;
    color: inherit;
    text-decoration: none;
}

.portal-pick a:hover[b-82hnwrcgcm],
.portal-pick a:focus-visible[b-82hnwrcgcm] {
    border-color: var(--lw-scene-on-dark);
}

.portal-pick a.selected[b-82hnwrcgcm] {
    border-color: var(--lw-scene-glow);
    background: color-mix(in srgb, var(--lw-scene-glow) 22%, transparent);
}

.portal-mail-subject.unread[b-82hnwrcgcm] {
    font-weight: 700;
}

/* A letter, a journal entry: parchment with generous margins, a serif body and a signature line. */
.portal-letter[b-82hnwrcgcm] {
    padding: 44px 56px 36px;
}

.portal-letter[b-82hnwrcgcm] {
    position: relative;
}

.portal-letter-actions[b-82hnwrcgcm] {
    position: absolute;
    top: 14px;
    right: 16px;
    display: flex;
    gap: 4px;
}

.portal-letter-actions button[b-82hnwrcgcm] {
    display: inline-flex;
    padding: 6px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--lw-parchment-muted);
    cursor: pointer;
}

.portal-letter-actions button:hover:not(:disabled)[b-82hnwrcgcm] {
    background: color-mix(in srgb, currentColor 14%, transparent);
}

.portal-letter h2[b-82hnwrcgcm] {
    margin: 0 0 4px;
    font: 600 1.6rem/1.2 'Cormorant Garamond', Georgia, serif;
}

.portal-letter-date[b-82hnwrcgcm] {
    margin: 0 0 24px;
    color: var(--lw-parchment-muted);
    font-size: .85rem;
    font-style: italic;
}

.portal-letter-text[b-82hnwrcgcm] {
    line-height: 1.8;
    font: 400 1.08rem/1.8 Georgia, 'Times New Roman', serif;
}

/* Details and other rail-style content shown on the parchment: ink, not the dark rail's light text. */
.portal-letter .portal-settings dt[b-82hnwrcgcm] {
    color: var(--lw-parchment-muted);
}

.portal-letter .portal-empty[b-82hnwrcgcm] {
    color: var(--lw-parchment-muted);
}

.portal-letter .portal-empty a[b-82hnwrcgcm] {
    color: var(--lw-parchment-seal);
}

@media (max-width: 760px) {
    .portal-letter[b-82hnwrcgcm] {
        padding: 28px 22px 24px;
    }
}
/* The open letter reads as a paper scroll: the sheet shades toward its sides and a rolled rod caps the top and the bottom. */
.portal-letter[b-82hnwrcgcm] {
    border: 0;
    border-radius: 2px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--lw-parchment-edge) 22%, transparent), transparent 7%, transparent 93%, color-mix(in srgb, var(--lw-parchment-edge) 22%, transparent)),
        radial-gradient(ellipse at top left, color-mix(in srgb, var(--lw-scene-on-dark) 45%, transparent), transparent 60%),
        linear-gradient(175deg, var(--lw-parchment), var(--lw-parchment-deep));
    margin: 22px 0;
}

.portal-letter[b-82hnwrcgcm]::before,
.portal-letter[b-82hnwrcgcm]::after {
    content: "";
    position: absolute;
    left: -14px;
    right: -14px;
    height: 24px;
    border-radius: 12px;
    background: linear-gradient(180deg, var(--lw-parchment-edge), var(--lw-parchment-deep) 22%, var(--lw-parchment) 48%, var(--lw-parchment-deep) 74%, var(--lw-parchment-edge));
    box-shadow: 0 6px 12px color-mix(in srgb, var(--lw-scene-shadow) 40%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--lw-parchment-edge) 55%, transparent);
    pointer-events: none;
}

.portal-letter[b-82hnwrcgcm]::before {
    top: -14px;
}

.portal-letter[b-82hnwrcgcm]::after {
    bottom: -14px;
}

.portal-letter-actions[b-82hnwrcgcm] {
    z-index: 1;
}

.portal-letter-actions button[b-82hnwrcgcm] {
    position: relative;
}

.portal-letter-actions button[data-tip]:hover[b-82hnwrcgcm]::after,
.portal-letter-actions button[data-tip]:focus-visible[b-82hnwrcgcm]::after {
    content: attr(data-tip);
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    padding: 3px 8px;
    border-radius: 4px;
    background: var(--lw-parchment-heading);
    color: var(--lw-parchment);
    font: 600 .75rem/1.3 Inter, Arial, sans-serif;
    white-space: nowrap;
    pointer-events: none;
}

/* The letter's sign-off, in a script face (self-hosted Great Vibes, fonts.css). */
.portal-letter-sign[b-82hnwrcgcm] {
    font-family: 'Great Vibes', 'Snell Roundhand', cursive;
    font-style: normal;
    font-size: 1.6rem;
    line-height: 1.3;
}

/* Inbox / Archived: one-word tabs over the letter list. */
.mail-tabs[b-82hnwrcgcm] { display: flex; gap: 4px; margin: 0 0 10px; border-bottom: 1px solid color-mix(in srgb, var(--lw-parchment-muted) 40%, transparent); }
.mail-tabs a[b-82hnwrcgcm] { padding: 6px 14px; color: var(--lw-parchment-muted); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.mail-tabs a[aria-current="page"][b-82hnwrcgcm] { color: inherit; font-weight: 600; border-bottom-color: currentColor; }
@media (pointer: coarse) { .mail-tabs a[b-82hnwrcgcm] { display: inline-flex; align-items: center; min-height: var(--lw-touch); } }

.portal-zone[b-82hnwrcgcm] { display: grid; gap: 4px; max-width: 24rem; margin: 18px 0; }
.portal-zone select[b-82hnwrcgcm] { height: 36px; padding: 0 8px; font: inherit; }

.quest-stages[b-82hnwrcgcm] { display: grid; gap: var(--lw-space-2); margin: var(--lw-space-3) 0; padding-left: var(--lw-space-5); }
.quest-stages em[b-82hnwrcgcm] { color: var(--lw-content-text-muted); font-style: normal; }
.quest-stages .stage-done[b-82hnwrcgcm] { color: var(--lw-content-text-muted); }
.quest-stages .stage-now strong[b-82hnwrcgcm] { color: var(--lw-content-item-name); }
/* /Components/Pages/PlayerConsent.razor.rz.scp.css */
.player-consent-error[b-qlf3plwl9q] {
    color: var(--lw-control-destructive);
    font-weight: 600;
}

/* The two eligibility statements: one choice, no box around it. */
.player-consent-eligibility[b-qlf3plwl9q] {
    margin: 0 0 8px;
    padding: 0;
    border: 0;
}

.player-consent-eligibility legend[b-qlf3plwl9q] {
    margin-bottom: 6px;
    font-weight: 600;
}
/* /Components/Pages/PlayerFeedback.razor.rz.scp.css */
.player-feedback h2[b-slkzlqgmag] {
    margin: 0 40px 6px 0;
    font: 600 1.8rem/1.1 'Cormorant Garamond', Georgia, serif;
}

.player-feedback-intro[b-slkzlqgmag] {
    margin: 0 0 14px;
    color: var(--lw-brand-text);
}

.player-feedback label[b-slkzlqgmag] {
    display: block;
    margin: 12px 0 4px;
    font-weight: 600;
}

.player-feedback input[b-slkzlqgmag],
.player-feedback select[b-slkzlqgmag],
.player-feedback textarea[b-slkzlqgmag] {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 12px;
    border: 1px solid var(--lw-content-border-strong);
    border-radius: 4px;
    background: var(--lw-content-surface);
    color: var(--lw-content-text);
    font: .95rem Inter, Arial, sans-serif;
}

.player-feedback textarea[b-slkzlqgmag] {
    resize: vertical;
}

.player-feedback-send[b-slkzlqgmag] {
    margin-top: 12px;
    padding: 10px 22px;
    border: 0;
    border-radius: 4px;
    color: var(--lw-scene-on-dark);
    background: var(--lw-scene-action);
    font: 700 .95rem/1 Inter, Arial, sans-serif;
    cursor: pointer;
}

.player-feedback-send:hover:not(:disabled)[b-slkzlqgmag],
.player-feedback-send:focus-visible[b-slkzlqgmag] {
    background: var(--lw-brand-navy);
}

.player-feedback-send:disabled[b-slkzlqgmag] {
    cursor: not-allowed;
    opacity: .5;
}

.player-feedback h3[b-slkzlqgmag] {
    margin: 24px 0 8px;
    padding-top: 16px;
    border-top: 1px solid var(--lw-content-border);
    font: 600 1.05rem/1.3 Inter, Arial, sans-serif;
}

.player-feedback-list[b-slkzlqgmag] {
    display: grid;
    gap: 12px;
    margin: 0;
    padding-left: 18px;
}

.player-feedback-title[b-slkzlqgmag] {
    font-weight: 600;
}

.player-feedback-status[b-slkzlqgmag] {
    color: var(--lw-brand-muted);
}

.player-feedback-reply[b-slkzlqgmag],
.player-feedback-mine[b-slkzlqgmag] {
    margin-top: 4px;
    white-space: pre-wrap;
}

.player-feedback-reply[b-slkzlqgmag] {
    padding-left: 10px;
    border-left: 3px solid var(--lw-control-primary-bg);
}

.player-feedback-ok[b-slkzlqgmag] {
    color: var(--lw-status-done);
    font-weight: 600;
}

.player-feedback-error[b-slkzlqgmag] {
    color: var(--lw-control-destructive);
    font-weight: 600;
}
/* /Components/Pages/PlayerGuide.razor.rz.scp.css */
.pguide-back[b-y8c8fvhyrf] {
    padding: 28px 48px 0;
    font: 500 1.1rem/1.2 'Cormorant Garamond', Georgia, serif;
}

.pguide-back a[b-y8c8fvhyrf] {
    display: inline-flex;
    align-items: center;
    min-height: var(--lw-touch);
    color: var(--lw-brand-navy);
    text-decoration: none;
}

@media (max-width: 1100px) {
    .pguide-back[b-y8c8fvhyrf] { padding: 16px 16px 0; }
}
/* /Components/Pages/PlayerSignup.razor.rz.scp.css */
.lorewisp-signup-card[b-gaje8kmnsl] {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: min(100%, 660px);
    max-height: calc(100vh - 124px);
    min-height: 420px;
    padding: 28px 26px 18px 28px;
    border: 1px solid color-mix(in srgb, var(--lw-scene-on-dark) 70%, transparent);
    border-radius: 18px;
    color: var(--lw-brand-navy);
    background: color-mix(in srgb, var(--lw-scene-mist) 95%, transparent);
    box-shadow: 0 18px 44px color-mix(in srgb, var(--lw-scene-night) 28%, transparent);
    font-family: Inter, Arial, sans-serif;
}

.lorewisp-player-eyebrow[b-gaje8kmnsl] { margin: 0 0 12px; color: var(--lw-brand-text); font: 700 .8rem/1.2 Inter, Arial, sans-serif; letter-spacing: .02em; }
.lorewisp-signup-card > h1[b-gaje8kmnsl] { margin: 0 0 14px; font: 600 clamp(2.1rem, 4vw, 2.7rem)/1.05 'Cormorant Garamond', Georgia, serif; }
.lorewisp-signup-card h2[b-gaje8kmnsl] { margin: 0 0 10px; font: 600 1.6rem/1.1 'Cormorant Garamond', Georgia, serif; }

/* The questionnaire scrolls inside the card so the card stays on the scene. */
.lorewisp-signup-scroll[b-gaje8kmnsl] { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding-right: 14px; scrollbar-color: var(--lw-scene-scrollbar) transparent; }
.lorewisp-scroll-hint[b-gaje8kmnsl] { margin: 10px 0 0; text-align: center; }
.lorewisp-scroll-hint > span[b-gaje8kmnsl] { display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; border-radius: 999px; color: var(--lw-scene-on-dark); background: var(--lw-brand-blue); box-shadow: 0 4px 14px color-mix(in srgb, var(--lw-brand-blue) 45%, transparent); font: 700 .85rem/1 Inter, Arial, sans-serif; cursor: pointer; animation: lorewisp-hint-bounce-b-gaje8kmnsl 1.6s ease-in-out infinite; }
.lorewisp-scroll-arrow[b-gaje8kmnsl] { font-size: 1rem; }
@keyframes lorewisp-hint-bounce-b-gaje8kmnsl { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4px); } }
@media (prefers-reduced-motion: reduce) { .lorewisp-scroll-hint > span[b-gaje8kmnsl] { animation: none; } }
.lorewisp-scroll-hint.is-hidden[b-gaje8kmnsl] { visibility: hidden; }
.lorewisp-gamertag-status[b-gaje8kmnsl] { font-weight: 700; }
.lorewisp-gamertag-status.is-taken[b-gaje8kmnsl] { color: var(--lw-control-destructive); }
.lorewisp-email-status.is-taken[b-gaje8kmnsl] { color: var(--lw-control-destructive); }
.lorewisp-email-link[b-gaje8kmnsl] { justify-self: start; color: var(--lw-brand-blue); }
.lorewisp-waitlist-form input.is-taken[b-gaje8kmnsl] { border-color: var(--lw-control-destructive); color: var(--lw-control-destructive); }
.lorewisp-signup-return[b-gaje8kmnsl] { align-self: center; margin-top: auto; padding-top: 12px; /* pinned to the bottom of the card */ color: var(--lw-brand-text); font: 600 .85rem/1.3 Inter, Arial, sans-serif; text-decoration: none; }
.lorewisp-signup-return:hover[b-gaje8kmnsl], .lorewisp-signup-return:focus-visible[b-gaje8kmnsl] { text-decoration: underline; }
.lorewisp-signup-footer[b-gaje8kmnsl] { display: flex; flex-direction: column; align-items: center; gap: 8px; margin-top: auto; padding-top: 12px; font: 400 .85rem/1.4 Inter, Arial, sans-serif; }
.lorewisp-signup-footer .lorewisp-signup-return[b-gaje8kmnsl] { margin-top: 0; padding-top: 0; }
.lorewisp-signup-footer[hidden][b-gaje8kmnsl] { display: none; }

.lorewisp-submission-confirmation[b-gaje8kmnsl] { margin: 6px 0 0; }
.lorewisp-submission-confirmation p[b-gaje8kmnsl] { margin: 0 0 16px; color: var(--lw-brand-text); font: 1rem/1.6 Inter, Arial, sans-serif; }
.lorewisp-recovery-code strong[b-gaje8kmnsl] { overflow-wrap: anywhere; font-family: ui-monospace, Consolas, monospace; }
.lorewisp-claim-form[b-gaje8kmnsl] { display: grid; gap: 10px; max-width: 520px; margin: 30px auto 0; color: var(--lw-brand-text); font: 600 .9rem/1.4 Inter, Arial, sans-serif; }
.lorewisp-claim-form > div[b-gaje8kmnsl] { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.lorewisp-claim-form input[b-gaje8kmnsl] { min-width: 0; padding: 11px; border: 1px solid var(--lw-content-border-strong); border-radius: 8px; font: 1rem ui-monospace, Consolas, monospace; }
.lorewisp-waitlist-form[b-gaje8kmnsl] { display: grid; gap: 8px; padding-bottom: 6px; }
.lorewisp-waitlist-fields[b-gaje8kmnsl] { min-width: 0; margin: 0; padding: 0; border: 0; }
.lorewisp-waitlist-verification[b-gaje8kmnsl] { display: grid; gap: 12px; }
.lorewisp-waitlist-verification [hidden][b-gaje8kmnsl] { display: none; }
.lorewisp-waitlist-form > label:not(.lorewisp-privacy-consent)[b-gaje8kmnsl] { margin-top: 6px; color: var(--lw-brand-navy); font: 700 .95rem/1.4 Inter, Arial, sans-serif; }
.lorewisp-waitlist-form > label:not(.lorewisp-privacy-consent) span[b-gaje8kmnsl] { font-weight: 700; }
.lorewisp-waitlist-form input:not([type=checkbox])[b-gaje8kmnsl], .lorewisp-waitlist-form select[b-gaje8kmnsl], .lorewisp-waitlist-form textarea[b-gaje8kmnsl] { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid var(--lw-content-border-strong); border-radius: 3px; background: var(--lw-content-surface); color: var(--lw-content-text); font: .95rem Inter, Arial, sans-serif; }
.lorewisp-waitlist-form textarea[b-gaje8kmnsl] { min-height: 130px; resize: vertical; }
.lorewisp-auth-user-note[b-gaje8kmnsl] { margin: 0 0 4px; color: var(--lw-brand-text); font: .95rem/1.5 Inter, Arial, sans-serif; }
.lorewisp-field-help[b-gaje8kmnsl] { margin-top: -2px; color: var(--lw-brand-muted); font: 400 .78rem/1.4 Inter, Arial, sans-serif; }
.lorewisp-signup-link[b-gaje8kmnsl] { color: var(--lw-brand-blue); text-decoration: underline; }
.lorewisp-interest-options[b-gaje8kmnsl] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin: 8px 0 4px; padding: 14px 16px; border: 1px solid var(--lw-content-border-strong); border-radius: 6px; background: color-mix(in srgb, var(--lw-scene-on-dark) 50%, transparent); }
.lorewisp-interest-options legend[b-gaje8kmnsl] { padding: 0 6px; color: var(--lw-brand-navy); font: 700 .95rem/1.4 Inter, Arial, sans-serif; }
.lorewisp-interest-options label[b-gaje8kmnsl] { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: start; color: var(--lw-brand-text); font: 400 .88rem/1.4 Inter, Arial, sans-serif; }
.lorewisp-privacy-consent[b-gaje8kmnsl] { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start; margin-top: 4px; color: var(--lw-brand-text); font: 400 .85rem/1.5 Inter, Arial, sans-serif; }
.lorewisp-privacy-consent input[b-gaje8kmnsl] { width: 16px; height: 16px; margin-top: 2px; }
.lorewisp-privacy-consent a[b-gaje8kmnsl] { color: var(--lw-brand-blue); }
.lorewisp-player-action[b-gaje8kmnsl] { display: inline-block; padding: 13px 24px; border: 0; border-radius: 4px; color: var(--lw-scene-on-dark); background: var(--lw-scene-action); text-decoration: none; font: 400 1rem/1 Inter, Arial, sans-serif; cursor: pointer; }
.lorewisp-player-action:hover[b-gaje8kmnsl], .lorewisp-player-action:focus-visible[b-gaje8kmnsl] { background: var(--lw-brand-navy); }
.lorewisp-email-action[b-gaje8kmnsl] { justify-self: start; font-weight: 400; }
.lorewisp-email-feedback[b-gaje8kmnsl] { display: grid; align-content: start; gap: 8px; min-height: 3.5rem; }
#player-mailbox-form [hidden][b-gaje8kmnsl] { display: none; }
#player-mailbox-form[b-gaje8kmnsl] { min-height: 0; overflow-y: auto; }
#player-mailbox-form[hidden][b-gaje8kmnsl] { display: none; }
#waitlist-code-fields .lorewisp-signup-link[b-gaje8kmnsl] { justify-self: start; text-align: left; }
.lorewisp-submit-action[b-gaje8kmnsl] { justify-self: start; min-width: 200px; margin-top: 12px; }
.cf-turnstile[b-gaje8kmnsl] { justify-self: start; }
.lorewisp-honeypot[b-gaje8kmnsl] { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    .lorewisp-player-action[b-gaje8kmnsl] { display: inline-flex; align-items: center; justify-content: center; min-height: var(--lw-touch); }
    .lorewisp-signup-return[b-gaje8kmnsl], .lorewisp-signup-link[b-gaje8kmnsl] { display: inline-flex; align-items: center; min-height: var(--lw-touch); }
}

@media (max-width: 760px) {
    .lorewisp-signup-card[b-gaje8kmnsl] { max-height: none; min-height: 0; padding: 22px 18px 16px; }
    .lorewisp-signup-scroll[b-gaje8kmnsl] { overflow: visible; padding-right: 0; }
    .lorewisp-scroll-hint[b-gaje8kmnsl] { display: none; }
    .lorewisp-interest-options[b-gaje8kmnsl] { grid-template-columns: minmax(0, 1fr); }
    .lorewisp-claim-form > div[b-gaje8kmnsl] { grid-template-columns: minmax(0, 1fr); }
    .lorewisp-submit-action[b-gaje8kmnsl] { justify-self: stretch; }
}
/* /Components/Pages/Privacy.razor.rz.scp.css */
.lorewisp-simple-page[b-gs5iv6jqt4] {
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 40px 20px;
    box-sizing: border-box;
}

.lorewisp-simple-card[b-gs5iv6jqt4] {
    width: min(760px, 100%);
    padding: 32px 28px;
    border: 1px solid var(--lw-brand-border);
    border-radius: 22px;
    background: var(--lw-brand-panel);
    color: var(--lw-brand-text);
}

.lorewisp-simple-card h1[b-gs5iv6jqt4] {
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(2.3rem, 4vw, 3.2rem);
    line-height: 1;
}

.lorewisp-simple-card p[b-gs5iv6jqt4], .lorewisp-simple-card li[b-gs5iv6jqt4] {
    font: 1rem/1.7 Inter, Arial, sans-serif;
}

.lorewisp-simple-card a[b-gs5iv6jqt4] {
    color: var(--lw-brand-blue);
    text-decoration: none;
}

.lorewisp-simple-card a:hover[b-gs5iv6jqt4] {
    text-decoration: underline;
}

.lorewisp-simple-links[b-gs5iv6jqt4] {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 24px;
}

.lorewisp-toc-list[b-gs5iv6jqt4] {
    margin: 20px 0 0;
    padding-left: 22px;
}

.lorewisp-toc-list li + li[b-gs5iv6jqt4] {
    margin-top: 10px;
}
/* /Components/Pages/Publish/ReleaseLicense.razor.rz.scp.css */
.license-actions[b-ahtywncxq8] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-2);
    margin-top: var(--lw-space-2);
}
/* /Components/Pages/Publish/ReleasePicker.razor.rz.scp.css */
.publish-picker[b-ifa5gg6kn1] {
    margin-top: var(--lw-space-2);
}

.publish-picker select[b-ifa5gg6kn1] {
    min-width: 18rem;
    min-height: var(--lw-touch);
    font-weight: 600;
}

@media (max-width: 560px) {
    .publish-picker select[b-ifa5gg6kn1] {
        width: 100%;
        min-width: 0;
    }
}
/* /Components/Pages/RoadmapTab.razor.rz.scp.css */
.release-actions[b-0z5vy4m3bv] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-2);
    margin-top: var(--lw-space-3);
}

.release-links[b-0z5vy4m3bv] {
    display: flex;
    gap: var(--lw-space-1);
    margin: 0;
    padding: 0;
}
/* /Components/Pages/Search.razor.rz.scp.css */
.search-form[b-9045gmhxhg] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-2);
    margin-bottom: var(--lw-space-4);
}

.search-form input[b-9045gmhxhg] {
    flex: 1 1 16rem;
    min-width: 0;
}

.search-type[b-9045gmhxhg] {
    margin: var(--lw-space-4) 0 var(--lw-space-2);
    font-size: 1rem;
}

.search-hits[b-9045gmhxhg] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.search-hits li[b-9045gmhxhg] {
    padding: var(--lw-space-2) 0;
    border-bottom: 1px solid var(--lw-content-border);
}

.search-hits p[b-9045gmhxhg] {
    margin: var(--lw-space-1) 0 0;
}
/* /Components/Pages/ShareRead.razor.rz.scp.css */
/* The shared chapter reader: a contents rail on the dark scene and the chapter on parchment, as the Portal's document viewer. */
.sread[b-bel279p3qp] {
    display: grid;
    grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
    gap: 40px;
    align-items: start;
    box-sizing: border-box;
    max-width: 1500px;
    margin: 0 auto;
    padding: 90px 48px 120px; /* clears the logo band */
}

.sread-rail[b-bel279p3qp] {
    position: sticky;
    top: 16px;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    padding: 24px 24px 28px;
    border-radius: 14px;
    color: var(--lw-scene-on-dark);
    background: linear-gradient(180deg, color-mix(in srgb, var(--lw-scene-night) 94%, transparent), color-mix(in srgb, var(--lw-scene-night-violet) 86%, transparent));
    font-family: Inter, Arial, sans-serif;
}

.sread-rail h1[b-bel279p3qp] {
    margin: 0 0 12px;
    font: 600 1.9rem/1.1 'Cormorant Garamond', Georgia, serif;
}

.sread-fold > summary[b-bel279p3qp] {
    margin: 14px 0 8px;
    cursor: pointer;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 92%, transparent);
    font: 700 .75rem/1.3 Inter, Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sread-fold ul[b-bel279p3qp] {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sread-fold a[b-bel279p3qp],
.sread-pending[b-bel279p3qp] {
    display: flex;
    align-items: center;
    min-height: var(--lw-touch);
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid color-mix(in srgb, var(--lw-scene-on-dark) 22%, transparent);
    border-radius: 6px;
    color: inherit;
    text-decoration: none;
    font-size: .92rem;
}

.sread-pending[b-bel279p3qp] {
    color: color-mix(in srgb, var(--lw-scene-on-dark) 70%, transparent);
}

.sread-fold a:hover[b-bel279p3qp],
.sread-fold a:focus-visible[b-bel279p3qp] {
    border-color: var(--lw-scene-on-dark);
}

.sread-fold a.selected[b-bel279p3qp] {
    border-color: var(--lw-scene-glow);
    background: color-mix(in srgb, var(--lw-scene-glow) 22%, transparent);
}

.sread-sheet[b-bel279p3qp] {
    box-sizing: border-box;
    min-width: 0;
    max-width: 820px;
    padding: 44px 56px 36px;
    border-radius: 2px;
    color: var(--lw-parchment-ink);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--lw-parchment-edge) 22%, transparent), transparent 7%, transparent 93%, color-mix(in srgb, var(--lw-parchment-edge) 22%, transparent)),
        linear-gradient(175deg, var(--lw-parchment), var(--lw-parchment-deep));
    box-shadow: 0 22px 50px color-mix(in srgb, var(--lw-scene-shadow) 45%, transparent);
    font: 400 1.08rem/1.8 Georgia, 'Times New Roman', serif;
}

.sread-sheet h1[b-bel279p3qp] {
    margin: 0 0 14px;
    color: var(--lw-parchment-heading);
    font: 600 2rem/1.15 'Cormorant Garamond', Georgia, serif;
}

.sread-note[b-bel279p3qp] {
    color: var(--lw-parchment-muted);
}

.sread-text[b-bel279p3qp] {
    color: var(--lw-parchment-ink);
    font-size: 1.08rem;
    line-height: 1.8;
}

.sread-text[b-bel279p3qp]  :is(h1, h2, h3, h4) {
    color: var(--lw-parchment-heading);
    font-family: 'Cormorant Garamond', Georgia, serif;
}

.sread-text[b-bel279p3qp]  img {
    max-width: 100%;
    height: auto;
}

.sread-step[b-bel279p3qp] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 28px;
    padding-top: 14px;
    border-top: 1px solid color-mix(in srgb, var(--lw-parchment-edge) 35%, transparent);
    font: 500 1rem/1.3 'Cormorant Garamond', Georgia, serif;
}

.sread-step a[b-bel279p3qp] {
    display: inline-flex;
    align-items: center;
    min-height: var(--lw-touch);
    color: var(--lw-parchment-seal);
}

@media (max-width: 1100px) {
    .sread[b-bel279p3qp] {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        padding: 16px 16px 100px;
    }

    .sread-rail[b-bel279p3qp] {
        position: static;
        max-height: none;
    }

    .sread-sheet[b-bel279p3qp] {
        padding: 28px 22px 24px;
    }
}
/* /Components/Pages/SignIn.razor.rz.scp.css */
.sign-in-content[b-qw3qum3vph] {
    display: grid;
    gap: 16px;
    text-align: center;
}

.sign-in-content h1[b-qw3qum3vph],
.sign-in-content p[b-qw3qum3vph] {
    margin: 0;
}

.sign-in-content h1[b-qw3qum3vph] {
    color: var(--lw-content-text);
    font-size: 1.55rem;
    line-height: 1.25;
}

.sign-in-content > p:not(.sign-in-error)[b-qw3qum3vph] {
    color: var(--lw-content-text-muted);
    line-height: 1.5;
}

.sign-in-error[b-qw3qum3vph] {
    color: var(--lw-control-destructive);
    line-height: 1.5;
}

.local-development-sign-in[b-qw3qum3vph] {
    display: grid;
    gap: 10px;
    margin-top: 8px;
    text-align: left;
}

.local-development-sign-in label[b-qw3qum3vph] {
    color: var(--lw-content-text);
    font-size: 0.9rem;
    font-weight: 600;
}

.local-development-sign-in input[b-qw3qum3vph],
.local-development-sign-in select[b-qw3qum3vph] {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid var(--lw-content-border-strong);
    border-radius: 4px;
    color: var(--lw-content-text);
    background: var(--lw-content-surface);
    font: inherit;
}

.local-development-sign-in .sign-in-button[b-qw3qum3vph] {
    justify-self: stretch;
    width: auto;
    margin: 4px 0 0;
}

.microsoft-sign-in-link[b-qw3qum3vph] {
    justify-self: center;
    margin-top: 4px;
    color: var(--lw-control-secondary-text);
    font-size: 0.9rem;
    font-weight: 600;
}

.sign-in-button[b-qw3qum3vph] {
    display: grid;
    min-height: 44px;
    min-width: 136px;
    margin-top: 8px;
    justify-self: center;
    padding: 0 24px;
    place-items: center;
    border: 1px solid var(--lw-control-secondary-text);
    border-radius: 4px;
    color: var(--lw-control-primary-text);
    background: var(--lw-control-secondary-text);
    font-weight: 600;
    text-decoration: none;
}

.sign-in-button:hover[b-qw3qum3vph] {
    background: var(--lw-control-secondary-text);
}

.sign-in-footer-links[b-qw3qum3vph] {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin-top: 8px;
    font-size: 0.82rem;
}

.sign-in-footer-links a[b-qw3qum3vph] {
    color: var(--lw-control-secondary-text);
    text-decoration: none;
}

.sign-in-footer-links a:hover[b-qw3qum3vph] {
    text-decoration: underline;
}

.sign-in-button:focus-visible[b-qw3qum3vph] {
    outline: 3px solid var(--lw-content-border-strong);
    outline-offset: 2px;
}
/* /Components/Pages/Story/NoteDialog.razor.rz.scp.css */
.note-source[b-tmsomygov8] {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 2fr) minmax(0, 1fr) minmax(0, 4rem) auto;
  gap: var(--lw-space-2);
  margin-top: var(--lw-space-2);
}

.note-extras[b-tmsomygov8] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--lw-space-2);
  margin-top: var(--lw-space-3);
}

.note-file[b-tmsomygov8] {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--lw-space-1);
  min-height: 36px;
  padding: 0 var(--lw-space-3);
  border: 1px solid var(--lw-control-command-border);
  border-radius: var(--lw-radius-sm);
  color: var(--lw-control-command-icon);
  cursor: pointer;
}

.note-file[b-tmsomygov8]  input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

@media (max-width: 760px) {
  .note-source[b-tmsomygov8] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/Story/ShareButton.razor.rz.scp.css */
.share-link[b-3asj2p5j95] {
    margin: 0 0 var(--lw-space-2);
    padding: var(--lw-space-2) var(--lw-space-3);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-selected-bg);
    overflow-wrap: anywhere;
}

.share-chapters[b-3asj2p5j95] {
    display: grid;
    gap: var(--lw-space-1);
    max-height: 240px;
    overflow-y: auto;
}

.share-chapters label[b-3asj2p5j95] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
    min-height: var(--lw-touch);
}
/* /Components/Pages/Story/Story.razor.rz.scp.css */
.story-layout[b-p3lysn1047] {
    display: grid;
    grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
    gap: var(--lw-space-5);
    align-items: start;
}

.story-index[b-p3lysn1047] {
    position: sticky;
    top: var(--lw-space-4);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--lw-space-3);
    max-height: calc(100dvh - 8rem);
    overflow-y: auto;
    padding: var(--lw-space-4);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-lg);
    background: var(--lw-content-surface);
}

.story-group h2[b-p3lysn1047] {
    display: flex;
    justify-content: space-between;
    margin: var(--lw-space-2) 0 var(--lw-space-1);
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.story-group ul[b-p3lysn1047] {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.story-group a[b-p3lysn1047] {
    display: grid;
    gap: 2px;
    padding: var(--lw-space-2) var(--lw-space-3);
    border-radius: var(--lw-radius);
    color: var(--lw-content-text);
    text-decoration: none;
}

.story-group a:hover[b-p3lysn1047] {
    background: var(--lw-content-surface-muted);
}

.story-group a.active[b-p3lysn1047] {
    background: var(--lw-content-selected-bg);
    box-shadow: inset 3px 0 0 var(--lw-control-primary-bg);
}

.story-item-name[b-p3lysn1047] {
    font-weight: 600;
}

.story-item-canon[b-p3lysn1047] {
    justify-self: start;
    padding: 0 var(--lw-space-2);
    border-radius: 999px;
    background: var(--lw-status-pending-bg);
    color: var(--lw-status-pending);
    font-size: var(--lw-font-size-sm);
}

.story-item-summary[b-p3lysn1047] {
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
    line-height: 1.4;
}

.story-kinds[b-p3lysn1047] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    gap: var(--lw-space-2);
    margin-bottom: var(--lw-space-4);
}

.story-kind[b-p3lysn1047] {
    display: grid;
    gap: var(--lw-space-1);
    padding: var(--lw-space-3);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    cursor: pointer;
}

.story-kind input[b-p3lysn1047] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.story-kind span[b-p3lysn1047] {
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.story-kind.selected[b-p3lysn1047] {
    border-color: var(--lw-control-primary-bg);
    background: var(--lw-content-selected-bg);
}

.story-kind:focus-within[b-p3lysn1047] {
    outline: 2px solid var(--lw-control-primary-bg);
    outline-offset: 2px;
}

@media (max-width: 760px) {
    .story-layout[b-p3lysn1047] {
        grid-template-columns: minmax(0, 1fr);
    }

    .story-index[b-p3lysn1047] {
        position: static;
        max-height: none;
    }
}

.story-kind-picker[b-p3lysn1047] {
    min-width: 0;
    font-size: 16px;
}

/* A boxed search with its icon, like the top bar's. */
.story-back[b-p3lysn1047] {
    display: none;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: 44px;
    color: var(--lw-control-secondary-text);
    font-weight: 600;
    text-decoration: none;
}

/* The Notes view's link back to the Story list, at every width (.story-back is the phone-only one on an item). */
.story-back-all[b-p3lysn1047] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: 44px;
    color: var(--lw-control-secondary-text);
    font-weight: 600;
    text-decoration: none;
}

/* Focus: only the writing, at any width. */
.story-layout.table[b-p3lysn1047] {
    grid-template-columns: minmax(0, 1fr);
}

.story-layout.table .story-index[b-p3lysn1047] {
    display: none;
}

.story-layout.focus[b-p3lysn1047] {
    grid-template-columns: minmax(0, 1fr);
}

.story-layout.focus .story-index[b-p3lysn1047] {
    display: none;
}

/* Phones and narrow tablets: the list is one page and the item is another, with Back (GitHub issue 195). */
@media (max-width: 760px) {
    .story-layout.has-item .story-index[b-p3lysn1047] {
        display: none;
    }

    .story-layout:not(.has-item) .story-page[b-p3lysn1047] {
        display: none;
    }

    .story-layout.has-item .story-back[b-p3lysn1047] {
        display: inline-flex;
    }

    .story-index[b-p3lysn1047] {
        position: static;
        max-height: none;
        padding: var(--lw-space-3);
    }

    .story-group a[b-p3lysn1047] {
        min-height: 44px;
    }
}

@media (max-width: 760px) {
    .story-header.has-item[b-p3lysn1047] {
        display: none;
    }
}

.story-sub-head[b-p3lysn1047] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-1);
    width: 100%;
    min-height: var(--lw-touch);
    padding: var(--lw-space-1) 0;
    background: none;
    border: 0;
    color: var(--lw-content-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.story-sub-count[b-p3lysn1047] {
    margin-left: auto;
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.story-sub-children[b-p3lysn1047] {
    padding-left: var(--lw-space-3);
}

.story-tools[b-p3lysn1047] {
    display: contents;
}

@media (max-width: 760px) {
    .story-tools.has-item[b-p3lysn1047] {
        display: none;
    }
}
/* /Components/Pages/Story/StoryArt.razor.rz.scp.css */
.story-art[b-zgic41iwwk] {
  display: grid;
  gap: var(--lw-space-3);
}

.story-art-grid[b-zgic41iwwk] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: var(--lw-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.story-art-grid li[b-zgic41iwwk] {
  display: grid;
  gap: var(--lw-space-1);
  min-width: 0;
}

.story-art-grid img[b-zgic41iwwk] {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--lw-radius-sm);
  background: var(--lw-content-surface-muted);
  object-fit: cover;
}

.story-art-pdf[b-zgic41iwwk] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--lw-space-1);
  aspect-ratio: 4 / 3;
  border: 1px solid var(--lw-content-border);
  border-radius: var(--lw-radius-sm);
}

.story-art-actions[b-zgic41iwwk],
.story-art-add[b-zgic41iwwk] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--lw-space-2);
}

.story-art-upload[b-zgic41iwwk] {
  display: inline-flex;
  align-items: center;
  gap: var(--lw-space-1);
  min-height: 36px;
  padding: 0 var(--lw-space-3);
  border: 1px solid var(--lw-control-command-border);
  border-radius: var(--lw-radius-sm);
  color: var(--lw-control-command-icon);
  cursor: pointer;
}

.story-art-upload[b-zgic41iwwk]  input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

/* The upload reads as a button: filled, bold, a full touch target (founder: no obvious place to upload). */
.story-art-upload[b-zgic41iwwk] {
  position: relative;
  min-height: var(--lw-touch);
  background: var(--lw-control-command-bg);
  font-weight: 600;
}

.story-art-upload:hover[b-zgic41iwwk] {
  border-color: var(--lw-control-secondary-border);
  background: var(--lw-control-primary-ring);
}
/* /Components/Pages/Story/StoryAsOf.razor.rz.scp.css */
.story-asof[b-byfd0538wz] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: var(--lw-space-1) var(--lw-space-4);
    margin: var(--lw-space-3) 0 0;
}

.story-asof dt[b-byfd0538wz] {
    color: var(--lw-control-secondary-text);
    text-transform: capitalize;
}

.story-asof dd[b-byfd0538wz] {
    margin: 0;
}
/* /Components/Pages/Story/StoryBook.razor.rz.scp.css */
/* The book reader (founder, 2026-10-10): a focused, full-screen reader. The bar is the only chrome; the text is cut into
   screen-high columns and read a page at a time (book-reader.mjs), left-aligned and wide, with no page scroll. */
.story-book[b-53kat7i55p] {
    position: fixed;
    inset: 0;
    z-index: 1700;   /* over the top bar (1600), the bell and search results; the reader is the whole screen */
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    background: var(--lw-content-surface);
    color: var(--lw-content-text);
}

.story-book-bar[b-53kat7i55p] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2) var(--lw-space-3);
    padding: 0 var(--lw-space-3);
    border-bottom: 1px solid var(--lw-content-border);
    font-size: var(--lw-font-size-sm);
}

.story-book-bar a[b-53kat7i55p] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
    min-height: 44px;
    color: var(--lw-control-secondary-text);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.story-book-download[b-53kat7i55p] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
    min-height: 44px;
    padding: 0 var(--lw-space-2);
    border: 0;
    background: transparent;
    color: var(--lw-control-secondary-text);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.story-book-pager[b-53kat7i55p] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    margin-left: auto;
}

.story-book-count[b-53kat7i55p] {
    min-width: 6.5rem;
    text-align: center;
    color: var(--lw-content-text-muted);
}

.story-book-stage[b-53kat7i55p] {
    min-height: 0;
    padding: var(--lw-space-5) var(--lw-space-6);
    overflow: hidden;
    outline: none;
}

/* The article is one page wide and as tall as the stage; the rest of the text runs on in columns to its right, and the
   reader scrolls it a page at a time. The sizes are set by the reader; the fallbacks show the text before it attaches. */
.story-book-pages[b-53kat7i55p] {
    width: var(--book-w, 100%);
    height: var(--book-h, 100%);
    column-count: var(--book-cols, 1);
    column-width: var(--book-colw, auto);
    column-gap: var(--book-gap, 2rem);
    column-fill: auto;
    overflow: hidden;
    text-align: left;
    font-family: Georgia, 'Cormorant Garamond', serif;
    font-size: 1.15rem;
    line-height: 1.75;
}

.story-book-chapter + .story-book-chapter[b-53kat7i55p],
.story-book-part[b-53kat7i55p] {
    break-before: column;
}

/* The title and the first book start the first page together. */
.story-book-title + .story-book-part[b-53kat7i55p] {
    break-before: auto;
}

.story-book-title[b-53kat7i55p],
.story-book-part[b-53kat7i55p],
.story-book-chapter h3[b-53kat7i55p] {
    break-after: avoid;
    font-family: 'Cormorant Garamond', Georgia, serif;
}

.story-book-title[b-53kat7i55p] { margin: 0 0 var(--lw-space-5); font-size: 2.2rem; }
.story-book-part[b-53kat7i55p] { margin: 0 0 var(--lw-space-4); font-size: 2rem; }
.story-book-chapter h3[b-53kat7i55p] { margin: 0 0 var(--lw-space-3); font-size: 1.6rem; }

.story-book-edit[b-53kat7i55p] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: inherit;
    text-decoration: none;
}

.story-book-edit:hover[b-53kat7i55p],
.story-book-edit:focus-visible[b-53kat7i55p] {
    text-decoration: underline;
}

.story-book-number[b-53kat7i55p] {
    display: block;
    color: var(--lw-content-text-muted);
    font-family: Inter, sans-serif;
    font-size: var(--lw-font-size-sm);
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    .story-book-stage[b-53kat7i55p] { padding: var(--lw-space-3) var(--lw-space-4); }
    .story-book-pages[b-53kat7i55p] { font-size: 1.05rem; }
    .story-book-count[b-53kat7i55p] { min-width: 5.5rem; }
}
/* /Components/Pages/Story/StoryConflicts.razor.rz.scp.css */
.story-back[b-w9et3rvba5] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: 44px;
    color: var(--lw-control-secondary-text);
    font-weight: 600;
    text-decoration: none;
}
/* /Components/Pages/Story/StoryEditor.razor.rz.scp.css */
.story-editor[b-44x4977ov8] {
    display: grid;
    gap: var(--lw-space-4);
}

.story-editor-header[b-44x4977ov8] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--lw-space-1) var(--lw-space-3);
    align-items: center;
}

.story-editor-kind[b-44x4977ov8] {
    grid-column: 1 / -1;
    color: var(--lw-control-secondary-text);
    font-size: var(--lw-font-size-sm);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.story-editor-name[b-44x4977ov8] {
    min-width: 0;
    padding: var(--lw-space-1) 0;
    border: 0;
    border-bottom: 1px solid transparent;
    background: transparent;
    color: var(--lw-content-text);
    font: 600 2rem/1.15 'Cormorant Garamond', Georgia, serif;
}

.story-editor-name:focus[b-44x4977ov8] {
    border-bottom-color: var(--lw-control-primary-bg);
    outline: none;
}

.story-editor-summary[b-44x4977ov8] {
    grid-column: 1 / -1;
    min-width: 0;
    padding: var(--lw-space-1) 0;
    border: 0;
    border-bottom: 1px dashed var(--lw-content-border-strong);
    background: transparent;
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-lg);
    font-style: italic;
}

.story-editor-summary:focus[b-44x4977ov8] {
    border-bottom-color: var(--lw-control-primary-bg);
    outline: none;
}

.story-editor-actions[b-44x4977ov8] {
    grid-row: 2;
    grid-column: 2;
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.story-editor-tabs[b-44x4977ov8] {
    display: flex;
    gap: var(--lw-space-1);
    overflow-x: auto;
    scrollbar-width: none;
    border-bottom: 1px solid var(--lw-content-border);
}

.story-editor-tabs button[b-44x4977ov8] {
    /* One word each, never broken mid-word; a narrow row scrolls (founder, 2026-10-09). */
    flex: 0 0 auto;
    min-height: var(--lw-touch);
    white-space: nowrap;
    padding: var(--lw-space-2) var(--lw-space-4);
    border: 0;
    border-bottom: 2px solid transparent;
    background: none;
    color: var(--lw-content-text-muted);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.story-editor-tabs button.active[b-44x4977ov8] {
    border-bottom-color: var(--lw-control-primary-bg);
    color: var(--lw-control-secondary-text);
}

.story-editor-body[b-44x4977ov8] {
    display: grid;
    gap: var(--lw-space-2);
}

.story-season[b-44x4977ov8] {
    display: grid;
    grid-template-columns: minmax(0, 9rem) minmax(0, 1fr) auto;
    gap: var(--lw-space-2);
    align-items: start;
}

.story-connections-heading[b-44x4977ov8] {
    margin: var(--lw-space-4) 0 var(--lw-space-2);
    font-size: var(--lw-font-size);
}

.story-chips[b-44x4977ov8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
}

.story-chip[b-44x4977ov8] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    padding: var(--lw-space-1) var(--lw-space-2);
    border-radius: 999px;
    background: var(--lw-content-selected-bg);
}

.story-chip a[b-44x4977ov8] {
    color: var(--lw-control-secondary-text);
    text-decoration: none;
}

.story-chip button[b-44x4977ov8] {
    border: 0;
    background: none;
    color: var(--lw-content-text-muted);
    cursor: pointer;
}

.story-portrayals[b-44x4977ov8] {
    display: grid;
    gap: var(--lw-space-2);
    margin: 0 0 var(--lw-space-3);
    padding: 0;
    list-style: none;
}

@media (max-width: 760px) {
    .story-editor-header[b-44x4977ov8] {
        grid-template-columns: minmax(0, 1fr);
    }

    .story-editor-name[b-44x4977ov8] {
        font-size: 1.6rem;
    }

    /* Save stays at hand: the actions stick to the top of the page while writing. */
    .story-editor-actions[b-44x4977ov8] {
        position: sticky;
        top: 0;
        z-index: 3;
        grid-row: auto;
        grid-column: 1;
        flex-wrap: wrap;
        padding: var(--lw-space-1) 0;
        background: var(--lw-content-page-bg);
    }

    .story-editor-state[b-44x4977ov8] {
        flex: 1 1 auto;
    }

    .story-compare[b-44x4977ov8] {
        grid-template-columns: minmax(0, 1fr);
    }

    .story-season[b-44x4977ov8] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.story-editor-state[b-44x4977ov8],
.story-editor-words[b-44x4977ov8] {
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
    white-space: nowrap;
}

.story-editor-state:empty[b-44x4977ov8] {
    display: none;
}

.story-editor-focus[b-44x4977ov8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    color: var(--lw-content-text);
}

/* Focus: the title and the text, nothing else (?focus=1), across the full width of the page. */
.story-editor.focus[b-44x4977ov8] {
    width: 100%;
}

.story-restored[b-44x4977ov8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
    margin-bottom: var(--lw-space-3);
    padding: var(--lw-space-2) var(--lw-space-3);
    border-left: 3px solid var(--lw-control-primary-bg);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-selected-bg);
}

.story-restored span[b-44x4977ov8] {
    flex: 1 1 16rem;
}

.story-compare[b-44x4977ov8] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--lw-space-3);
}

.story-compare h3[b-44x4977ov8] {
    margin: 0 0 var(--lw-space-2);
    font-size: var(--lw-font-size-sm);
}

.story-compare-text[b-44x4977ov8] {
    max-height: 50dvh;
    overflow: auto;
    padding: var(--lw-space-3) var(--lw-space-4);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    white-space: pre-wrap;
    font-family: Georgia, serif;
}

@media (max-width: 760px) {
    .story-editor-focus[b-44x4977ov8] {
        width: 44px;
        height: 44px;
    }
}

/* Names in the text (GitHub issue 206): suggestions to link, one row per name; on a phone the buttons wrap under it. */
.story-mentions[b-44x4977ov8] {
  display: grid;
  gap: var(--lw-space-2);
  margin-top: var(--lw-space-3);
  padding: var(--lw-space-3);
  border: 1px solid var(--lw-content-border);
  border-radius: var(--lw-radius);
  background: var(--lw-content-surface-muted);
}

.story-mentions h3[b-44x4977ov8] {
  margin: 0;
  color: var(--lw-content-text-muted);
  font-size: var(--lw-font-size-sm);
}

.story-mention[b-44x4977ov8] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--lw-space-2);
}

.story-mention-name[b-44x4977ov8] {
  flex: 1 1 10rem;
  min-width: 0;
  color: var(--lw-content-item-name);
}

@media (max-width: 560px) {
    .story-editor-tabs button[b-44x4977ov8] {
        padding: var(--lw-space-2) var(--lw-space-3);
    }
}

.story-editor-chapters[b-44x4977ov8] {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: var(--lw-font-size-sm);
}

.story-editor-chapters a[b-44x4977ov8] {
    padding-block: .5rem;
}

.story-tab-count[b-44x4977ov8] {
    margin-left: .35em;
}

.story-facts-link[b-44x4977ov8] {
    display: inline-flex;
    align-items: center;
    min-height: var(--lw-touch);
    padding: 0;
    border: 0;
    background: none;
    color: var(--lw-content-link);
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

/* The Text tab: the story in a frame as high as the window, read a page at a time (find turns the pages). */
.story-pages-bar[b-44x4977ov8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
}

.story-pages-find[b-44x4977ov8] {
    flex: 1 1 12rem;
    min-width: 0;
    max-width: 24rem;
}

.story-pages-state[b-44x4977ov8] {
    color: var(--lw-content-text-muted);
    font-size: 0.85rem;
    white-space: nowrap;
}

.story-pages[b-44x4977ov8] {
    height: calc(100dvh - 15rem);
    min-height: 16rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.story-pages[b-44x4977ov8]  .rich-text-toolbar {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--lw-content-surface);
}

[b-44x4977ov8]::highlight(story-find) {
    background: var(--lw-status-pending);
    color: var(--lw-content-text);
}

/* Words with a pending suggestion. */
[b-44x4977ov8]::highlight(story-suggest) {
    background: var(--lw-status-ai);
    color: var(--lw-content-text);
    text-decoration: underline dotted;
}

[b-44x4977ov8]::highlight(story-find-now) {
    background: var(--lw-accent-featured);
    color: var(--lw-content-text);
}

/* A tale's scenes. */
.story-scenes[b-44x4977ov8] { list-style: none; margin: 0 0 var(--lw-space-3); padding: 0; display: grid; gap: var(--lw-space-2); }
.story-scenes li[b-44x4977ov8] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lw-space-3); }
.story-scene-actions[b-44x4977ov8] { margin-left: auto; display: inline-flex; align-items: center; gap: var(--lw-space-2); }

.version-changes[b-44x4977ov8] {
    display: grid;
    gap: var(--lw-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: .85rem;
}

.version-changes code[b-44x4977ov8] {
    display: block;
    margin-bottom: 2px;
    color: var(--lw-content-text-muted);
}

.version-removed[b-44x4977ov8] {
    color: var(--lw-control-destructive);
    white-space: pre-wrap;
}

.version-added[b-44x4977ov8] {
    color: var(--lw-status-done);
    white-space: pre-wrap;
}

.story-held[b-44x4977ov8] {
    margin-bottom: var(--lw-space-3);
}

.story-held-text[b-44x4977ov8] {
    white-space: pre-wrap;
    margin: var(--lw-space-2) 0 0;
}
/* /Components/Pages/Story/StoryGlance.razor.rz.scp.css */
.glance-head[b-e1d1v8yqyl] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--lw-space-4);
}

.glance-mode[b-e1d1v8yqyl] {
  display: flex;
  flex: none;
  border: 1px solid var(--lw-content-border-strong);
  border-radius: var(--lw-radius-sm);
  overflow: hidden;
}

.glance-mode button[b-e1d1v8yqyl] {
  min-height: var(--lw-touch);
  padding: 0 var(--lw-space-3);
  border: 0;
  background: var(--lw-content-surface);
  color: var(--lw-content-text);
  font: inherit;
  cursor: pointer;
}

.glance-mode button[aria-pressed="true"][b-e1d1v8yqyl] {
  background: var(--lw-control-primary-bg);
  color: var(--lw-control-primary-text);
}

.glance-tiles[b-e1d1v8yqyl] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--lw-space-2);
  margin: var(--lw-space-3) 0;
}

.glance-tile[b-e1d1v8yqyl] {
  padding: var(--lw-space-2) var(--lw-space-3);
  border: 1px solid var(--lw-content-border);
  border-radius: var(--lw-radius);
  background: var(--lw-content-surface);
  font-size: var(--lw-font-size-sm);
}

.glance-tile.on[b-e1d1v8yqyl] {
  border-color: var(--lw-content-border-strong);
  background: var(--lw-content-selected-bg);
}

.glance-tile h3[b-e1d1v8yqyl] {
  margin: var(--lw-space-2) 0 0;
  color: var(--lw-content-text-muted);
  font-size: var(--lw-font-size-sm);
  text-transform: uppercase;
}

.glance-tile ul[b-e1d1v8yqyl] {
  margin: 0;
  padding-left: var(--lw-space-4);
}

.glance-tile p[b-e1d1v8yqyl] {
  margin: var(--lw-space-1) 0 0;
}

.glance-pick[b-e1d1v8yqyl] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: start;
  justify-items: start;
  gap: var(--lw-space-1);
  width: 100%;
  min-height: var(--lw-touch);
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.glance-label[b-e1d1v8yqyl] {
  color: var(--lw-content-link);
  font-size: var(--lw-font-size-sm);
}

.glance-title[b-e1d1v8yqyl] {
  color: var(--lw-content-item-name);
}

.glance-tabs[b-e1d1v8yqyl] {
  display: flex;
  gap: var(--lw-space-1);
  margin-bottom: var(--lw-space-2);
  border-bottom: 1px solid var(--lw-content-divider);
}

.glance-tabs button[b-e1d1v8yqyl] {
  min-height: var(--lw-touch);
  padding: 0 var(--lw-space-3);
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--lw-content-text);
  font: inherit;
  cursor: pointer;
}

.glance-tabs button.active[b-e1d1v8yqyl] {
  border-bottom-color: var(--lw-content-link);
  color: var(--lw-content-link);
}

.glance-counts[b-e1d1v8yqyl] {
  list-style: none;
  padding-left: 0;
}

.glance-counts button[b-e1d1v8yqyl] {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--lw-content-link);
  font: inherit;
  cursor: pointer;
}

.glance-kind[b-e1d1v8yqyl] {
  margin-inline-end: var(--lw-space-3, 0.75rem);
}

.story-back[b-e1d1v8yqyl] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: 44px;
    color: var(--lw-control-secondary-text);
    font-weight: 600;
    text-decoration: none;
}

/* Touch (375 wide): every link and count button in a tile or list is a 44px target. */
@media (pointer: coarse) {
  .glance-tiles a[b-e1d1v8yqyl],
  .glance-kind a[b-e1d1v8yqyl],
  td a[b-e1d1v8yqyl],
  .glance-tiles li button[b-e1d1v8yqyl] {
    display: inline-flex;
    align-items: center;
    min-height: var(--lw-touch);
    min-width: var(--lw-touch);
  }
}
/* /Components/Pages/Story/StoryImport.razor.rz.scp.css */
.story-import[b-3uz1ttpytm] {
    display: grid;
    gap: var(--lw-space-4);
    max-width: 46rem;
    margin: 0 auto;
}

.story-import-list[b-3uz1ttpytm] {
    display: grid;
    gap: var(--lw-space-2);
    margin: 0 0 var(--lw-space-3);
    padding-left: var(--lw-space-5);
}

.story-import-list li[b-3uz1ttpytm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
}

.story-import-excerpt[b-3uz1ttpytm] {
    flex-basis: 100%;
    margin: 0;
}

.story-import-list input[b-3uz1ttpytm] {
    flex: 1;
    min-width: 0;
}

.story-back[b-3uz1ttpytm] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: 44px;
    color: var(--lw-control-secondary-text);
    font-weight: 600;
    text-decoration: none;
}
/* /Components/Pages/Story/StoryKindsView.razor.rz.scp.css */
.story-kinds-view[b-brffet3eb8] {
  display: grid;
  gap: var(--lw-space-4);
}

.story-kind-templates[b-brffet3eb8] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--lw-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 560px) {
  .story-kind-templates[b-brffet3eb8] {
    grid-template-columns: minmax(0, 1fr);
  }
}

.story-kind-name[b-brffet3eb8] {
  color: var(--lw-content-item-name);
}

.story-kind-templates li > button[b-brffet3eb8] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: start;
  justify-items: start;
  align-content: center;
  gap: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: var(--lw-space-1) var(--lw-space-3);
  border: 1px solid var(--lw-content-border-strong);
  border-radius: var(--lw-radius-sm);
  background: var(--lw-content-selected-bg);
  color: var(--lw-content-text);
  font: inherit;
  font-size: var(--lw-font-size-sm);
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
}

.story-kind-templates li > button > *[b-brffet3eb8] {
  max-width: 100%;
  margin: 0;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}

.story-kind-templates button:hover[b-brffet3eb8],
.story-kind-templates button:focus-visible[b-brffet3eb8] {
  background: var(--lw-content-selected-bg);
  border-color: var(--lw-content-border-strong);
}

.story-kind-fields-heading[b-brffet3eb8] {
  margin: var(--lw-space-4) 0 var(--lw-space-2);
  font-size: var(--lw-font-size);
}

.story-kind-field[b-brffet3eb8] {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.5fr) minmax(0, 2fr) auto;
  gap: var(--lw-space-2);
  margin-bottom: var(--lw-space-2);
}

@media (max-width: 560px) {
  .story-kind-field[b-brffet3eb8] {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

.story-back[b-brffet3eb8] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: 44px;
    color: var(--lw-control-secondary-text);
    font-weight: 600;
    text-decoration: none;
}
/* /Components/Pages/Story/StoryNotePage.razor.rz.scp.css */
.story-note-page[b-wxgw5jr3ow] {
  display: grid;
  gap: var(--lw-space-3);
}

.story-note-text[b-wxgw5jr3ow] {
  margin: var(--lw-space-3) 0 0;
  white-space: pre-wrap;
}

.story-note-sources[b-wxgw5jr3ow] {
  display: grid;
  gap: var(--lw-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.story-note-files[b-wxgw5jr3ow] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--lw-space-2);
}

.story-note-filebox[b-wxgw5jr3ow] {
  display: flex;
  align-items: flex-start;
  gap: var(--lw-space-1);
}

.story-note-pdf[b-wxgw5jr3ow] {
  display: inline-flex;
  align-items: center;
  min-height: var(--lw-touch);
}

.story-note-files img[b-wxgw5jr3ow] {
  display: block;
  max-width: 160px;
  max-height: 120px;
  border-radius: var(--lw-radius-sm);
  object-fit: cover;
}

.story-note-file[b-wxgw5jr3ow] {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--lw-space-1);
  min-height: 36px;
  margin-top: var(--lw-space-2);
  padding: 0 var(--lw-space-3);
  border: 1px solid var(--lw-control-command-border);
  border-radius: var(--lw-radius-sm);
  color: var(--lw-control-command-icon);
  cursor: pointer;
}

.story-note-file[b-wxgw5jr3ow]  input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
/* /Components/Pages/Story/StoryNotes.razor.rz.scp.css */
.story-notes[b-fhh9bxicge] {
  display: grid;
  gap: var(--lw-space-3);
}

.story-note-compose[b-fhh9bxicge] {
  display: grid;
  gap: var(--lw-space-2);
  padding: var(--lw-space-3);
  border: 1px solid var(--lw-content-border);
  border-radius: var(--lw-radius);
  background: var(--lw-content-surface-muted);
}

.story-note-source[b-fhh9bxicge] {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 2fr) minmax(0, 1fr) minmax(0, 4rem) auto;
  gap: var(--lw-space-2);
}

.story-note-actions[b-fhh9bxicge] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--lw-space-2);
}

.story-note-file[b-fhh9bxicge] {
  display: inline-flex;
  align-items: center;
  gap: var(--lw-space-1);
  min-height: 36px;
  padding: 0 var(--lw-space-3);
  border: 1px solid var(--lw-control-command-border);
  border-radius: var(--lw-radius-sm);
  color: var(--lw-control-command-icon);
  cursor: pointer;
}

.story-note-file[b-fhh9bxicge]  input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.story-note-list[b-fhh9bxicge],
.story-note-sources[b-fhh9bxicge] {
  display: grid;
  gap: var(--lw-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.story-note[b-fhh9bxicge] {
  display: grid;
  gap: var(--lw-space-2);
  padding-bottom: var(--lw-space-3);
  border-bottom: 1px solid var(--lw-content-divider);
}

.story-note-meta[b-fhh9bxicge] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--lw-space-2);
  color: var(--lw-content-text-muted);
  font-size: var(--lw-font-size-sm);
}

.story-note-text[b-fhh9bxicge] {
  margin: 0;
  white-space: pre-wrap;
}

.story-note-files[b-fhh9bxicge] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--lw-space-2);
}

.story-note-pdf[b-fhh9bxicge] {
  display: inline-flex;
  align-items: center;
  min-height: var(--lw-touch);
}

.story-note-files img[b-fhh9bxicge] {
  display: block;
  max-width: 160px;
  max-height: 120px;
  border-radius: var(--lw-radius-sm);
  object-fit: cover;
}

@media (max-width: 560px) {
  .story-note-source[b-fhh9bxicge] {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
/* /Components/Pages/Story/StoryOutline.razor.rz.scp.css */
.story-beats[b-6oc4bdxouy] { list-style: none; margin: 0 0 var(--lw-space-3); padding: 0; display: grid; gap: var(--lw-space-3); }
.story-beat[b-6oc4bdxouy] { display: grid; gap: var(--lw-space-2); }
.story-beat textarea[b-6oc4bdxouy] { width: 100%; resize: vertical; }
.story-beat.cut textarea[b-6oc4bdxouy] { text-decoration: line-through; color: var(--lw-content-text-muted); }
.story-beat-actions[b-6oc4bdxouy] { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--lw-space-2); }
/* /Components/Pages/Story/StoryPins.razor.rz.scp.css */
.story-pins[b-l2fx5wgzss] {
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    padding: var(--lw-space-2) var(--lw-space-3);
    margin-bottom: var(--lw-space-3);
}

.story-pins summary[b-l2fx5wgzss] {
    min-height: var(--lw-touch);
    display: flex;
    align-items: center;
    font-weight: 600;
    cursor: pointer;
}

.story-pin-list[b-l2fx5wgzss] {
    list-style: none;
    margin: 0 0 var(--lw-space-2);
    padding: 0;
    display: grid;
    gap: var(--lw-space-1);
}

.story-pin-list li[b-l2fx5wgzss] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
}

.story-pin-list li > :last-child:not(span)[b-l2fx5wgzss] { margin-left: auto; }

/* Phone (<= 760px): the pins open as a bottom sheet from one 44px icon button, not a panel in the page. */
.story-pins-phone[b-l2fx5wgzss] { display: none; }

@media (max-width: 760px) {
    .story-pins[b-l2fx5wgzss] { display: none; }
    .story-pins-phone[b-l2fx5wgzss] { display: block; margin-bottom: var(--lw-space-3); }
}
/* /Components/Pages/Story/StoryReveal.razor.rz.scp.css */
.story-reveal-bar[b-m3xx68tom1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lw-space-3);
    margin-bottom: var(--lw-space-4);
}

.story-back[b-m3xx68tom1] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: 44px;
    color: var(--lw-control-secondary-text);
    font-weight: 600;
    text-decoration: none;
}

.story-reveal-tools[b-m3xx68tom1] {
    display: inline-flex;
    gap: var(--lw-space-2);
}

.story-reveal-step[b-m3xx68tom1],
.story-reveal-edit[b-m3xx68tom1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 var(--lw-space-3);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-md);
    color: var(--lw-content-text);
    text-decoration: none;
}

.story-reveal-step.disabled[b-m3xx68tom1] {
    opacity: .4;
    pointer-events: none;
}

.story-reveal-body[b-m3xx68tom1] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: var(--lw-space-6);
}

.story-reveal-kind[b-m3xx68tom1] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
    margin: 0;
    color: var(--lw-content-link);
    font-size: var(--lw-font-size-sm);
    font-weight: 600;
}

.story-reveal-mark[b-m3xx68tom1] {
    width: .75rem;
    height: .75rem;
    background: var(--lw-content-link);
    transform: rotate(45deg);
}

.story-reveal h2[b-m3xx68tom1] {
    margin: var(--lw-space-2) 0 0;
    font-size: 2rem;
}

.story-reveal-what[b-m3xx68tom1] {
    margin: var(--lw-space-3) 0 0;
    font-size: 1.05rem;
}

.story-reveal-text[b-m3xx68tom1] {
    max-width: 42rem;
    margin: var(--lw-space-4) 0 0;
    font-size: 1.05rem;
    line-height: 1.65;
}

.story-reveal-where[b-m3xx68tom1] {
    max-width: 42rem;
    margin-top: var(--lw-space-5);
    padding: var(--lw-space-4);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-lg);
    background: var(--lw-content-surface);
}

.story-reveal-label[b-m3xx68tom1],
.story-reveal aside h3[b-m3xx68tom1] {
    margin: 0;
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
    font-weight: 600;
}

.story-reveal-where a[b-m3xx68tom1] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-weight: 600;
}

.story-reveal aside[b-m3xx68tom1] {
    display: grid;
    align-content: start;
    gap: var(--lw-space-4);
}

.story-reveal aside p[b-m3xx68tom1],
.story-reveal aside ul[b-m3xx68tom1] {
    margin: var(--lw-space-1) 0 0;
    padding: 0;
    list-style: none;
}

.story-reveal-chips[b-m3xx68tom1] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-2);
    margin-top: var(--lw-space-2);
}

.story-reveal-chips a[b-m3xx68tom1] {
    padding: var(--lw-space-2) var(--lw-space-3);
    border-radius: 999px;
    background: var(--lw-content-surface);
    border: 1px solid var(--lw-content-border);
    color: var(--lw-content-text);
    text-decoration: none;
}

@media (max-width: 760px) {
    .story-reveal-body[b-m3xx68tom1] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Story/StorySuggestions.razor.rz.scp.css */
.suggest-list[b-hp6ijcb61h] { display: grid; gap: var(--lw-space-3); margin-bottom: var(--lw-space-4); }
.suggest-card[b-hp6ijcb61h] { border: 1px solid var(--lw-content-border); border-radius: var(--lw-radius-sm); padding: var(--lw-space-3); display: grid; gap: var(--lw-space-2); }
.suggest-card p[b-hp6ijcb61h] { margin: 0; }
.suggest-text del[b-hp6ijcb61h] { color: var(--lw-content-text-muted); }
.suggest-text ins[b-hp6ijcb61h] { font-weight: 600; text-decoration: underline; }
.suggest-actions[b-hp6ijcb61h] { display: flex; flex-wrap: wrap; gap: var(--lw-space-2); }
.suggest-step[b-hp6ijcb61h] { display: none; align-items: center; justify-content: space-between; margin-bottom: var(--lw-space-2); }
.suggest-decided[b-hp6ijcb61h] { margin-bottom: var(--lw-space-4); }
.suggest-decided ul[b-hp6ijcb61h] { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--lw-space-1); }

/* A phone shows one suggestion at a time, with the stepper. */
@media (max-width: 560px) {
    .suggest-step[b-hp6ijcb61h] { display: flex; }
    .suggest-card:not(.current)[b-hp6ijcb61h] { display: none; }
}
/* /Components/Pages/Story/StoryThreadsPanel.razor.rz.scp.css */
.story-threads[b-7ns7xpa11a], .story-payoffs[b-7ns7xpa11a] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--lw-space-3);
}

.story-payoffs[b-7ns7xpa11a] {
  gap: var(--lw-space-1);
  margin-top: var(--lw-space-1);
  padding-left: var(--lw-space-4);
}

.story-thread-head[b-7ns7xpa11a] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--lw-space-2);
}

.story-threads-heading[b-7ns7xpa11a] {
  margin: var(--lw-space-3) 0 var(--lw-space-1);
}
/* /Components/Pages/Story/StoryTimeline.razor.rz.scp.css */
.story-timeline[b-vodvmthz9q] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--lw-space-4);
}

.story-timeline-tools[b-vodvmthz9q] {
  display: flex;
  gap: var(--lw-space-2);
}

.story-timeline-list[b-vodvmthz9q],
.story-findings[b-vodvmthz9q],
.story-reveal ul[b-vodvmthz9q] {
  display: grid;
  gap: var(--lw-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.story-timeline-list li[b-vodvmthz9q] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--lw-space-1) var(--lw-space-3);
}

.story-timeline-when[b-vodvmthz9q] {
  flex: 0 0 11rem;
  color: var(--lw-content-text-muted);
}

.story-timeline-list a[b-vodvmthz9q],
.story-reveal h3 a[b-vodvmthz9q] {
  color: var(--lw-content-item-name);
}

.story-reveal h3[b-vodvmthz9q] {
  margin: var(--lw-space-3) 0 var(--lw-space-1);
  font-size: var(--lw-font-size);
}

.story-findings a[b-vodvmthz9q] {
  color: var(--lw-status-error);
}

@media (max-width: 560px) {
  .story-timeline-when[b-vodvmthz9q] {
    flex-basis: 100%;
  }
}

.story-back[b-vodvmthz9q] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: 44px;
    color: var(--lw-control-secondary-text);
    font-weight: 600;
    text-decoration: none;
}

.story-timeline-tools[b-vodvmthz9q] { flex-wrap: wrap; align-items: center; }
.story-timeline-year[b-vodvmthz9q] { display: flex; align-items: center; gap: var(--lw-space-1); font-size: 0.8rem; color: var(--lw-content-text-muted); }
.story-timeline-year input[b-vodvmthz9q] { width: 7rem; }
.story-timeline-search[b-vodvmthz9q], .story-timeline-year input[b-vodvmthz9q] { height: var(--lw-touch); padding: 0 var(--lw-space-2); border: 1px solid var(--lw-content-border); border-radius: var(--lw-radius-sm); background: var(--lw-content-surface-muted); color: var(--lw-content-text); font: inherit; font-size: var(--lw-font-size); }
.story-timeline-search:focus[b-vodvmthz9q], .story-timeline-year input:focus[b-vodvmthz9q] { border-color: var(--lw-control-primary-bg); outline: none; }

.story-table-wrap[b-vodvmthz9q] { overflow-x: auto; }
.story-table[b-vodvmthz9q] { width: 100%; border-collapse: collapse; }
.story-table th[b-vodvmthz9q], .story-table td[b-vodvmthz9q] { padding: var(--lw-space-2) var(--lw-space-3); text-align: left; vertical-align: top; border-bottom: 1px solid var(--lw-content-border); }
.story-table th[b-vodvmthz9q] { color: var(--lw-content-text-muted); font-weight: 600; }
.story-table tr.selected td[b-vodvmthz9q] { background: var(--lw-content-selected-bg, var(--lw-content-border)); }
.story-table a[b-vodvmthz9q] { color: var(--lw-content-item-name); }

.story-chart-scroll[b-vodvmthz9q] { overflow-x: auto; }
.story-chart[b-vodvmthz9q] { display: block; width: 100%; height: auto; }
.story-axis[b-vodvmthz9q], .story-tick[b-vodvmthz9q] { stroke: var(--lw-content-text-muted); stroke-width: 1; }
/* The icons and labels are drawn from markup strings (Glyph, SvgText), which carry no scope attribute, so their rules reach them with ::deep. */
.story-timeline[b-vodvmthz9q]  .story-tick-label, .story-timeline[b-vodvmthz9q]  .story-lane-label { fill: var(--lw-content-text-muted); font-size: 10px; }
.story-mark[b-vodvmthz9q] { cursor: pointer; outline: none; }
.story-hit[b-vodvmthz9q] { fill: transparent; }
.story-timeline[b-vodvmthz9q]  .story-mark-event, .story-timeline[b-vodvmthz9q]  .story-mark-reveal { stroke: transparent; stroke-width: 2; }
.story-timeline[b-vodvmthz9q]  .story-mark-event { fill: var(--lw-content-item-name); }
.story-timeline[b-vodvmthz9q]  .story-mark-reveal { fill: var(--lw-accent-featured); }
.story-mark:focus-visible[b-vodvmthz9q]  .story-mark-event, .story-mark:focus-visible[b-vodvmthz9q]  .story-mark-reveal,
.story-mark.selected[b-vodvmthz9q]  .story-mark-event, .story-mark.selected[b-vodvmthz9q]  .story-mark-reveal { stroke: var(--lw-content-text); }

/* Lanes: the names sit in a column of their own, so they stay put while the chart scrolls sideways. */
.story-lanes[b-vodvmthz9q] { display: flex; align-items: flex-start; min-width: 0; max-width: 100%; }
.story-lanes .story-chart-scroll[b-vodvmthz9q] { flex: 1 1 auto; min-width: 0; }
.story-lanes .story-chart[b-vodvmthz9q] { max-width: none; }
.story-lane-names[b-vodvmthz9q] { flex: none; width: clamp(96px, 28vw, 200px); background: var(--lw-content-surface); border-right: 1px solid var(--lw-content-border); }
.story-lane-name[b-vodvmthz9q] { box-sizing: border-box; padding: var(--lw-space-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--lw-content-text-muted); font-size: 0.8rem; }
.story-lane-name + .story-lane-name[b-vodvmthz9q] { border-top: 1px solid var(--lw-content-border); }
.story-lane-tick[b-vodvmthz9q] { stroke: var(--lw-content-border); stroke-width: 1; stroke-dasharray: 2 4; }
.story-lane-rule[b-vodvmthz9q] { stroke: var(--lw-content-border); stroke-width: 1; }
.story-lane-band[b-vodvmthz9q] { fill: var(--lw-content-selected-bg, var(--lw-content-border)); fill-opacity: 0; }
.story-lane:hover .story-lane-band[b-vodvmthz9q], .story-lane.on .story-lane-band[b-vodvmthz9q] { fill-opacity: 0.35; }
.story-timeline[b-vodvmthz9q]  .story-span-label { fill: var(--lw-content-text); font-size: 11px; pointer-events: none; }
.story-timeline[b-vodvmthz9q]  .story-span-label.out { paint-order: stroke; stroke: var(--lw-content-surface); stroke-width: 4px; stroke-linejoin: round; }

.story-card[b-vodvmthz9q] { display: flex; flex-wrap: wrap; gap: var(--lw-space-2) var(--lw-space-3); align-items: baseline; margin-top: var(--lw-space-3); padding: var(--lw-space-3); border: 1px solid var(--lw-content-border); border-radius: 6px; }

.story-lanes-zoom[b-vodvmthz9q] { display: flex; flex-wrap: wrap; gap: var(--lw-space-1); margin-bottom: var(--lw-space-3); }
.story-zoom[b-vodvmthz9q] { min-height: 44px; min-width: 44px; padding: 0 var(--lw-space-3); border: 1px solid var(--lw-content-border); border-radius: 6px; background: transparent; color: var(--lw-content-text); cursor: pointer; }
.story-zoom-sep[b-vodvmthz9q] { align-self: stretch; width: 1px; margin: 0 var(--lw-space-2); background: var(--lw-content-border); }
.story-zoom-icon[b-vodvmthz9q] { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; padding: 0; }
.story-zoom.on[b-vodvmthz9q] { background: var(--lw-content-selected-bg, var(--lw-content-border)); }
.story-span[b-vodvmthz9q] { fill: var(--lw-accent-featured); fill-opacity: 0.45; }
.story-mark:focus-visible .story-span[b-vodvmthz9q], .story-mark.selected .story-span[b-vodvmthz9q] { fill-opacity: 0.75; stroke: var(--lw-content-text); }
.story-busy[b-vodvmthz9q] { fill: var(--lw-accent-featured); }
.story-stem[b-vodvmthz9q] { stroke: var(--lw-content-border-strong, var(--lw-content-text-muted)); stroke-width: 1; stroke-dasharray: 2 3; pointer-events: none; }
.story-card-summary[b-vodvmthz9q] { flex-basis: 100%; margin: 0; font-size: var(--lw-font-size-sm, 0.875rem); }

.story-legend[b-vodvmthz9q] { display: flex; flex-wrap: wrap; gap: var(--lw-space-1) var(--lw-space-4); margin: 0 0 var(--lw-space-3); padding: 0; list-style: none; color: var(--lw-content-text-muted); font-size: var(--lw-font-size-sm); }
.story-legend li[b-vodvmthz9q] { display: inline-flex; align-items: center; gap: var(--lw-space-1); }
.story-timeline-body[b-vodvmthz9q] { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--lw-space-4); align-items: start; }
.story-timeline-body.has-card[b-vodvmthz9q] { grid-template-columns: minmax(0, 1fr) 18rem; gap: var(--lw-space-4); align-items: start; }
.story-side[b-vodvmthz9q] { display: grid; gap: var(--lw-space-2); padding: var(--lw-space-3); border: 1px solid var(--lw-content-border); border-radius: 6px; }
.story-side-head[b-vodvmthz9q] { display: flex; align-items: start; justify-content: space-between; gap: var(--lw-space-2); }
.story-side-list[b-vodvmthz9q] { display: grid; gap: var(--lw-space-1); margin: 0; padding: 0; list-style: none; }
.story-side-list a[b-vodvmthz9q], .story-side > a[b-vodvmthz9q] { color: var(--lw-content-item-name); }
.story-leader[b-vodvmthz9q] { stroke: var(--lw-content-text-muted); stroke-width: 1; fill: none; pointer-events: none; }
/* A label sits on a halo of the panel colour, so a thread or stem line never runs through its words. */
.story-timeline[b-vodvmthz9q]  .story-pin-label, .story-timeline[b-vodvmthz9q]  .story-pin-more, .story-timeline[b-vodvmthz9q]  .story-book-label, .story-timeline[b-vodvmthz9q]  .story-tick-label { paint-order: stroke; stroke: var(--lw-content-surface); stroke-width: 4px; stroke-linejoin: round; }
.story-timeline[b-vodvmthz9q]  .story-pin-label { fill: var(--lw-content-text); font-size: 11px; }
.story-timeline[b-vodvmthz9q]  .story-pin-more { fill: var(--lw-control-primary-bg); font-size: 11px; font-weight: 600; }
.story-pin:hover[b-vodvmthz9q]  .story-pin-label { text-decoration: underline; }
.story-timeline[b-vodvmthz9q]  .story-cluster circle { fill: var(--lw-control-primary-bg); }
.story-timeline[b-vodvmthz9q]  .story-cluster text { fill: var(--lw-control-primary-text); font-size: 8px; font-weight: 600; }
@media (max-width: 760px) { .story-timeline-body[b-vodvmthz9q] { grid-template-columns: minmax(0, 1fr); } }
.story-mode[b-vodvmthz9q] { display: flex; flex: none; border: 1px solid var(--lw-content-border-strong); border-radius: var(--lw-radius-sm); overflow: hidden; }
.story-mode button[b-vodvmthz9q] { min-height: var(--lw-touch); padding: 0 var(--lw-space-3); border: 0; background: var(--lw-content-surface); color: var(--lw-content-text); font: inherit; cursor: pointer; }
.story-mode button[aria-pressed="true"][b-vodvmthz9q] { background: var(--lw-control-primary-bg); color: var(--lw-control-primary-text); }
.story-book line[b-vodvmthz9q] { stroke: var(--lw-control-primary-bg); stroke-width: 1.5; stroke-dasharray: 3 3; opacity: 0.7; }
.story-timeline[b-vodvmthz9q]  .story-book-label { fill: var(--lw-control-primary-bg); font-size: 11px; font-weight: 600; }
/* /Components/Pages/Suspended.razor.rz.scp.css */
/* The suspension notice: a parchment letter on the player site's scene (LoreScene), like the portal's notices. */
.suspended-notice[b-7ncs1hphks] {
    box-sizing: border-box;
    width: min(100%, 560px);
    padding: 30px 32px 22px;
    border: 1px solid color-mix(in srgb, var(--lw-parchment-edge) 45%, transparent);
    border-radius: 4px;
    color: var(--lw-parchment-ink);
    background: linear-gradient(160deg, var(--lw-parchment) 0%, var(--lw-parchment-deep) 100%);
    box-shadow: 0 18px 40px color-mix(in srgb, var(--lw-scene-night) 45%, transparent);
    font: 400 1rem/1.6 Georgia, 'Times New Roman', serif;
}

.suspended-eyebrow[b-7ncs1hphks] {
    margin: 0 0 8px;
    color: var(--lw-parchment-seal);
    font: 700 .75rem/1.2 Inter, Arial, sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.suspended-notice h1[b-7ncs1hphks] {
    margin: 0 0 16px;
    color: var(--lw-parchment-heading);
    font: 600 1.9rem/1.15 'Cormorant Garamond', Georgia, serif;
}

.suspended-notice p[b-7ncs1hphks] {
    margin: 0 0 12px;
}

.suspended-notice a[b-7ncs1hphks] {
    color: var(--lw-parchment-seal-deep);
}

.suspended-message[b-7ncs1hphks] {
    white-space: pre-wrap;
    padding: 10px 14px;
    border-left: 3px solid var(--lw-parchment-seal);
    background: color-mix(in srgb, var(--lw-parchment-deep) 60%, transparent);
}

.suspended-notice button[b-7ncs1hphks] {
    min-height: 40px;
    margin-top: 6px;
    padding: 8px 18px;
    border: 0;
    border-radius: 3px;
    color: var(--lw-parchment);
    background: var(--lw-parchment-seal);
    font: 600 .95rem Inter, Arial, sans-serif;
    cursor: pointer;
}

.suspended-notice button:hover[b-7ncs1hphks] {
    background: var(--lw-parchment-seal-deep);
}

.suspended-sign[b-7ncs1hphks] {
    margin-top: 14px;
    color: var(--lw-parchment-muted);
    font-style: italic;
    text-align: right;
}
/* /Components/Pages/Unsubscribe.razor.rz.scp.css */
.unsubscribe-error[b-0xsh3yzjg2] {
    color: var(--lw-control-destructive);
    font-weight: 600;
}
/* /Components/Pages/World/EconomyTab.razor.rz.scp.css */
/* A tier's escrows: a name, a share and remove on one row; stacked on a phone. */
.economy-subhead[b-e6hux03h13] {
    margin: var(--lw-space-4) 0 var(--lw-space-1);
    font-size: var(--lw-font-size-lg);
}

.economy-escrow[b-e6hux03h13] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto;
    gap: var(--lw-space-3);
    align-items: end;
    margin-bottom: var(--lw-space-2);
}

@media (max-width: 560px) {
    .economy-escrow[b-e6hux03h13] {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .economy-escrow > :first-child[b-e6hux03h13] {
        grid-column: 1 / -1;
    }
}
/* /Components/Pages/World/FirstSessionPanel.razor.rz.scp.css */
.first-steps[b-7bck3tmgjp] {
    display: grid;
    gap: var(--lw-space-3);
    margin: 0;
    padding-left: var(--lw-space-5);
}

.first-reqs[b-7bck3tmgjp] {
    margin: var(--lw-space-1) 0 0;
    padding-left: var(--lw-space-4);
    color: var(--lw-content-text-muted);
}

.first-name[b-7bck3tmgjp] {
    display: inline-flex;
    align-items: center;
    min-height: var(--lw-touch);
}

.first-link[b-7bck3tmgjp] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: var(--lw-touch);
    margin-left: var(--lw-space-2);
    color: var(--lw-content-link);
    font-weight: 600;
    text-decoration: none;
}
/* /Components/Pages/World/GeneralTab.razor.rz.scp.css */
.lore-settings[b-t5y07s4t7n] {
    display: grid;
    grid-template-columns: minmax(15rem, 20rem) minmax(0, 1fr);
    gap: var(--lw-space-3);
    align-items: start;
}

@media (max-width: 760px) {
    .lore-settings[b-t5y07s4t7n] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Write/WriteCardList.razor.rz.scp.css */
.write-cards[b-u5oi7qj8xr] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: var(--lw-space-4);
}

.write-lists[b-u5oi7qj8xr] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--lw-space-4);
}

.write-example[b-u5oi7qj8xr] {
  white-space: pre-wrap;
}
/* /Components/Pages/Write/WritingProgressCard.razor.rz.scp.css */
.writing-bars[b-074hcrcl4a] {
    display: flex;
    align-items: flex-end;
    gap: var(--lw-space-1);
    height: 64px;
    margin-top: var(--lw-space-3);
}

.writing-bar[b-074hcrcl4a] {
    flex: 1;
    min-height: 2px;
    border-radius: 2px;
    background: var(--lw-control-command-icon);
}
/* /Components/PlayerPanel.razor.rz.scp.css */
/* Signed out: a single panel, like the other scene pages' cards. */
.lorewisp-player-panel[b-g4it08kmw4] {
    box-sizing: border-box;
    width: min(100%, 400px);
    padding: 34px 30px 30px;
    border: 1px solid color-mix(in srgb, var(--lw-scene-glow) 22%, transparent);
    border-radius: 14px;
    color: var(--lw-scene-on-dark);
    background: linear-gradient(160deg, color-mix(in srgb, var(--lw-scene-night) 90%, transparent), color-mix(in srgb, var(--lw-scene-night-violet) 82%, transparent));
    box-shadow: 0 20px 50px color-mix(in srgb, var(--lw-scene-shadow) 40%, transparent);
    backdrop-filter: blur(6px);
    font-family: Inter, Arial, sans-serif;
}

.lorewisp-player-panel[b-g4it08kmw4]  h1 {
    margin: 0 0 26px;
    font: 600 clamp(2.1rem, 4vw, 2.6rem)/1.08 'Cormorant Garamond', Georgia, serif;
}

.lorewisp-player-panel[b-g4it08kmw4]  .player-panel-note {
    margin: 0 0 22px;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 82%, transparent);
    font: 400 .95rem/1.6 Inter, Arial, sans-serif;
}

/* The support reference of an email link (SupportRef): quiet, monospaced, easy to read out to support. */
.lorewisp-player-panel[b-g4it08kmw4]  .player-panel-ref {
    margin: 18px 0 0;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 62%, transparent);
    font: 400 .8rem/1.4 Consolas, "Courier New", monospace;
    letter-spacing: .08em;
}

.lorewisp-player-panel[b-g4it08kmw4]  .player-panel-note a {
    color: var(--lw-scene-link);
}

.lorewisp-player-panel[b-g4it08kmw4]  form {
    margin: 0;
}

.lorewisp-player-panel[b-g4it08kmw4]  .player-panel-action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
    width: fit-content;
    max-width: min(100%, 320px);
    margin-top: 10px;
    padding: 12px 18px;
    border: 1.5px solid color-mix(in srgb, var(--lw-scene-teal-edge) 85%, transparent);
    border-radius: 6px;
    color: var(--lw-scene-on-dark);
    background: linear-gradient(180deg, color-mix(in srgb, var(--lw-scene-teal) 75%, transparent), color-mix(in srgb, var(--lw-scene-teal-deep) 75%, transparent));
    text-decoration: none;
    font: 500 1.1rem/1.2 'Cormorant Garamond', Georgia, serif;
    cursor: pointer;
}

.lorewisp-player-panel[b-g4it08kmw4]  .player-panel-action-quiet {
    border-color: color-mix(in srgb, var(--lw-scene-glow-soft) 80%, transparent);
    background: color-mix(in srgb, var(--lw-scene-night) 35%, transparent);
    font: 500 .9rem/1.2 Inter, Arial, sans-serif;
}

.lorewisp-player-panel[b-g4it08kmw4]  .player-panel-action:hover,
.lorewisp-player-panel[b-g4it08kmw4]  .player-panel-action:focus-visible {
    border-color: var(--lw-scene-on-dark);
    background: color-mix(in srgb, var(--lw-scene-teal) 95%, transparent);
}

@media (pointer: coarse) {
    .lorewisp-player-panel[b-g4it08kmw4]  .player-panel-action { min-height: var(--lw-touch); }
}

@media (max-width: 1100px) {
    .lorewisp-player-panel[b-g4it08kmw4] {
        width: 100%;
        padding: 26px 20px 22px;
    }
}
/* /Components/PortalDocument.razor.rz.scp.css */
/* The Portal document viewer: a contents rail on the dark scene and the page on parchment, as the rest of the Portal. */
.pdoc[b-ydpvjkdwto] {
    display: grid;
    grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
    gap: 40px;
    align-items: start;
    box-sizing: border-box;
    max-width: 1500px;
    margin: 0 auto;
    padding: 90px 48px 120px; /* clears the logo band */
}

.pdoc-rail[b-ydpvjkdwto] {
    position: sticky;
    top: 16px;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    padding: 24px 24px 28px;
    border-radius: 14px;
    color: var(--lw-scene-on-dark);
    background: linear-gradient(180deg, color-mix(in srgb, var(--lw-scene-night) 94%, transparent), color-mix(in srgb, var(--lw-scene-night-violet) 86%, transparent));
    font-family: Inter, Arial, sans-serif;
}

.pdoc-rail h1[b-ydpvjkdwto] {
    margin: 0 0 4px;
    font: 600 1.9rem/1.1 'Cormorant Garamond', Georgia, serif;
}

.pdoc-kind[b-ydpvjkdwto] {
    margin: 0 0 18px;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 85%, transparent);
    font-size: .8rem;
}

.pdoc-fold > summary[b-ydpvjkdwto] {
    margin: 18px 0 8px;
    cursor: pointer;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 92%, transparent);
    font: 700 .75rem/1.3 Inter, Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pdoc-fold ul[b-ydpvjkdwto] {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pdoc-fold a[b-ydpvjkdwto] {
    display: flex;
    align-items: center;
    min-height: var(--lw-touch);
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid color-mix(in srgb, var(--lw-scene-on-dark) 22%, transparent);
    border-radius: 6px;
    color: inherit;
    text-decoration: none;
    font-size: .92rem;
}

.pdoc-fold a:hover[b-ydpvjkdwto],
.pdoc-fold a:focus-visible[b-ydpvjkdwto] {
    border-color: var(--lw-scene-on-dark);
}

.pdoc-fold a.selected[b-ydpvjkdwto] {
    border-color: var(--lw-scene-glow);
    background: color-mix(in srgb, var(--lw-scene-glow) 22%, transparent);
}

.pdoc-sheet[b-ydpvjkdwto] {
    box-sizing: border-box;
    min-width: 0;
    max-width: 820px;
    padding: 44px 56px 36px;
    border-radius: 2px;
    color: var(--lw-parchment-ink);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--lw-parchment-edge) 22%, transparent), transparent 7%, transparent 93%, color-mix(in srgb, var(--lw-parchment-edge) 22%, transparent)),
        linear-gradient(175deg, var(--lw-parchment), var(--lw-parchment-deep));
    box-shadow: 0 22px 50px color-mix(in srgb, var(--lw-scene-shadow) 45%, transparent);
    font: 400 1.08rem/1.8 Georgia, 'Times New Roman', serif;
}

.pdoc-sheet h1[b-ydpvjkdwto] {
    margin: 0 0 14px;
    color: var(--lw-parchment-heading);
    font: 600 2rem/1.15 'Cormorant Garamond', Georgia, serif;
}

.pdoc-note[b-ydpvjkdwto] {
    color: var(--lw-parchment-muted);
}

/* The page's own HTML is injected, so its elements need ::deep; parchment ink replaces the Studio content colors. */
.pdoc-text[b-ydpvjkdwto] {
    color: var(--lw-parchment-ink);
    font-size: 1.08rem;
    line-height: 1.8;
}

.pdoc-text[b-ydpvjkdwto]  :is(h1, h2, h3, h4) {
    color: var(--lw-parchment-heading);
    font-family: 'Cormorant Garamond', Georgia, serif;
}

.pdoc-text[b-ydpvjkdwto]  a {
    color: var(--lw-parchment-seal);
}

.pdoc-text[b-ydpvjkdwto]  img {
    max-width: 100%;
    height: auto;
}

.pdoc-text[b-ydpvjkdwto]  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

.pdoc-step[b-ydpvjkdwto] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 28px;
    padding-top: 14px;
    border-top: 1px solid color-mix(in srgb, var(--lw-parchment-edge) 35%, transparent);
    font: 500 1rem/1.3 'Cormorant Garamond', Georgia, serif;
}

.pdoc-step a[b-ydpvjkdwto] {
    display: inline-flex;
    align-items: center;
    min-height: var(--lw-touch);
    color: var(--lw-parchment-seal);
}

@media (max-width: 1100px) {
    .pdoc[b-ydpvjkdwto] {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        padding: 16px 16px 100px;
    }

    .pdoc-rail[b-ydpvjkdwto] {
        position: static;
        max-height: none;
    }

    .pdoc-sheet[b-ydpvjkdwto] {
        padding: 28px 22px 24px;
    }
}
/* /Components/PublicFooter.razor.rz.scp.css */
.public-site-footer[b-uu4m4ps3i2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 0 24px 24px;
    color: var(--lw-brand-muted);
    text-align: center;
    font: .8rem/1.5 Inter, Arial, sans-serif;
}

.public-site-footer nav[b-uu4m4ps3i2] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
}

.public-site-footer nav form[b-uu4m4ps3i2] {
    display: flex;
    align-items: center;
    margin: 0;
}

.public-site-footer a[b-uu4m4ps3i2],
.public-site-footer button[b-uu4m4ps3i2] {
    color: var(--lw-brand-blue);
    text-decoration: none;
}

.public-site-footer button[b-uu4m4ps3i2] {
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    cursor: pointer;
}

.public-site-footer a:hover[b-uu4m4ps3i2],
.public-site-footer button:hover[b-uu4m4ps3i2] {
    text-decoration: underline;
}

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    .public-site-footer nav[b-uu4m4ps3i2] { gap: 0 8px; }
    .public-site-footer nav a[b-uu4m4ps3i2],
    .public-site-footer nav button[b-uu4m4ps3i2] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: var(--lw-touch);
        min-height: var(--lw-touch);
    }
    .feedback-close[b-uu4m4ps3i2] { width: var(--lw-touch); height: var(--lw-touch); }
}

/* The artwork credit belongs only on the scene pages, under the artwork. */
.public-site-footer-credit[b-uu4m4ps3i2] {
    display: none;
    margin: 0;
}

.landing-layout-shell:has(.lore-scene) + .public-site-footer .public-site-footer-credit[b-uu4m4ps3i2] {
    display: block;
    flex-basis: 100%;
    order: 3;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 60%, transparent);
    font-size: .7rem;
}

/* On the scene pages (home, sign-up, player) the footer sits over the bottom of the landscape photo. */
.landing-layout-shell:has(.lore-scene) + .public-site-footer[b-uu4m4ps3i2] {
    position: relative;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6px 24px;
    margin: -74px 0 0;
    padding: 0 48px 22px;
    color: color-mix(in srgb, var(--lw-scene-on-dark) 78%, transparent);
    text-align: left;
    font-size: .75rem;
}

.landing-layout-shell:has(.lore-scene) + .public-site-footer a[b-uu4m4ps3i2],
.landing-layout-shell:has(.lore-scene) + .public-site-footer button[b-uu4m4ps3i2] {
    color: color-mix(in srgb, var(--lw-scene-on-dark) 85%, transparent);
}

@media (max-width: 760px) {
    .landing-layout-shell:has(.lore-scene) + .public-site-footer[b-uu4m4ps3i2] {
        flex-direction: column;
        align-items: center;
        margin-top: -80px;
        padding: 0 16px 18px;
        text-align: center;
    }
}

.feedback-backdrop[b-uu4m4ps3i2] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 16px;
    background: color-mix(in srgb, var(--lw-scene-night) 55%, transparent);
}

.feedback-dialog[b-uu4m4ps3i2] {
    position: relative;
    box-sizing: border-box;
    width: min(100%, 560px);
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    padding: 26px 26px 22px;
    border-radius: 14px;
    color: var(--lw-brand-navy);
    background: var(--lw-content-surface);
    box-shadow: var(--lw-shadow-lg);
    text-align: left;
    font: .95rem/1.5 Inter, Arial, sans-serif;
}

.feedback-dialog:focus[b-uu4m4ps3i2] {
    outline: none;
}

.feedback-close[b-uu4m4ps3i2] {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--lw-brand-muted);
    background: none;
    font: 400 1.6rem/1 Inter, Arial, sans-serif;
    cursor: pointer;
}

.feedback-close:hover[b-uu4m4ps3i2],
.feedback-close:focus-visible[b-uu4m4ps3i2] {
    color: var(--lw-brand-navy);
    background: var(--lw-content-surface-muted);
}

/* Landing, waitlist and sign-up: the footer spans the same width as the panels and the logo (LoreScene). */
.landing-layout-shell:has(.lore-scene:not(.lore-scene-portal)) + .public-site-footer[b-uu4m4ps3i2] {
    box-sizing: border-box;
    max-width: calc(1120px + 96px);
}

/* The signed-in portal: the footer sits clear of the rail (380px) and is right-aligned with its links row. */
.landing-layout-shell:has(.lore-scene-portal) + .public-site-footer[b-uu4m4ps3i2] {
    justify-content: flex-end;
    padding-left: 428px;
    text-align: right;
}

.landing-layout-shell:has(.lore-scene-portal) + .public-site-footer .public-site-footer-credit[b-uu4m4ps3i2] {
    text-align: right;
}

@media (max-width: 1100px) {
    .landing-layout-shell:has(.lore-scene-portal) + .public-site-footer[b-uu4m4ps3i2] {
        padding-left: 24px;
        padding-right: 24px;
    }
}

/* A signed-in player on a phone has a fixed tab bar at the bottom: the footer clears it (TEST). */
@media (max-width: 760px) {
  body:has(.portal-tabs) .landing-layout-shell:has(.lore-scene) + .public-site-footer[b-uu4m4ps3i2] {
    padding-bottom: calc(var(--lw-touch) + env(safe-area-inset-bottom) + var(--lw-space-3));
  }
}
/* /Components/Shared/AiWand.razor.rz.scp.css */
.check-list[b-8czf6t5b9e] { list-style: none; margin: 0; padding: 0; }
.check-list li[b-8czf6t5b9e] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 8px 0; }
.check-list li > .lw-sub[b-8czf6t5b9e] { flex: 1 1 100%; }
/* /Components/Shared/AttentionBadge.razor.rz.scp.css */
.lw-attention[b-o7l5o72f5w] {
    display: inline-block;
    margin-left: var(--lw-space-1);
    padding: 0 var(--lw-space-1);
    border-radius: 999px;
    background: var(--lw-control-destructive);
    color: var(--lw-control-destructive-text-on-fill);
    font-size: 0.72rem;
    line-height: 18px;
    vertical-align: middle;
    white-space: nowrap;
}
/* /Components/Shared/CommandBar.razor.rz.scp.css */
.lw-command-bar[b-zv9071e4ab] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
    margin-bottom: var(--lw-space-2);
    padding: var(--lw-space-2);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface);
    /* Above what follows it (a legend, a map), so a button's tooltip is never drawn beneath it (founder 2026-10-13). */
    position: relative;
    z-index: 5;
}

.lw-command-group[b-zv9071e4ab] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-1);
}

/* Groups inside Actions are split by CommandDivider: a light gray rule. */
.lw-command-group[b-zv9071e4ab]  .lw-command-divider {
    width: 1px;
    height: 24px;
    margin: 0 var(--lw-space-1);
    background: var(--lw-content-border);
}

.lw-view-toggle[b-zv9071e4ab] {
    margin-left: auto;
}

/* Tooltips open from the button's edge toward the page: right-aligned at the far right, so they never get cut off. */
.lw-view-toggle[b-zv9071e4ab]  .lw-command.icon-only[data-tip]::after {
    right: 0;
    left: auto;
}

.lw-command-more[b-zv9071e4ab] {
    display: none;
}

/* Narrow screens open every item as a page, so there's nothing to toggle. */
@media (max-width: 1100px) {
    .lw-view-toggle[b-zv9071e4ab] {
        display: none;
    }
}

/* Phones: one row. Commands that don't fit wait behind ⋯; opening it shows them all, each with its name. */
@media (max-width: 760px) {
    .lw-command-bar[b-zv9071e4ab] {
        flex-wrap: nowrap;
    }

    .lw-command-actions[b-zv9071e4ab] {
        flex: 1 1 auto;
        flex-wrap: nowrap;
        min-width: 0;
        overflow: hidden;
    }

    .lw-command-more[b-zv9071e4ab] {
        display: inline-flex;
        flex: 0 0 auto;
        width: var(--lw-touch);
        min-width: var(--lw-touch);
        height: var(--lw-touch);
        margin-left: auto;
        padding: 0;
    }

    .lw-command-bar.expanded[b-zv9071e4ab] {
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .lw-command-bar.expanded .lw-command-actions[b-zv9071e4ab] {
        flex: 1 1 100%;
        order: 2;
        flex-direction: column;
        align-items: flex-start;
        overflow: visible;
    }

    .lw-command-bar.expanded .lw-command-actions[b-zv9071e4ab]  .lw-command.icon-only {
        justify-content: flex-start;
        width: auto;
        height: var(--lw-touch);
        padding: 0 var(--lw-space-3);
        gap: var(--lw-space-2);
    }

    .lw-command-bar.expanded .lw-command-actions[b-zv9071e4ab]  .lw-command-label {
        display: inline;
    }

    .lw-command-bar.expanded .lw-command-actions[b-zv9071e4ab]  .lw-command-divider {
        width: 100%;
        height: 1px;
        margin: var(--lw-space-1) 0;
    }

    .lw-command-actions[b-zv9071e4ab]  .lw-command.icon-only {
        width: var(--lw-touch);
        min-width: var(--lw-touch);
        height: var(--lw-touch);
    }
}
/* /Components/Shared/CommandButton.razor.rz.scp.css */
.lw-command[b-t7ri7xu8az] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--lw-space-1);
    /* Sized to its content and free to shrink, never stretched by a grid or column parent. */
    width: fit-content;
    max-width: 100%;
    min-width: var(--lw-touch);
    height: 36px;
    padding: 0 var(--lw-space-3);
    border: 1px solid var(--lw-control-command-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-control-command-bg);
    color: var(--lw-control-command-icon);
    font: inherit;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.lw-command.icon-only[b-t7ri7xu8az] {
    width: 36px;
    min-width: 36px;
    padding: 0;
}

.lw-command:hover:not(:disabled)[b-t7ri7xu8az] {
    border-color: var(--lw-control-secondary-border);
    background: var(--lw-control-primary-ring);
}

.lw-command:disabled[b-t7ri7xu8az] {
    opacity: 0.5;
    cursor: default;
}

.lw-command-primary[b-t7ri7xu8az] {
    border-color: var(--lw-control-primary-bg);
    background: var(--lw-control-primary-bg);
    color: var(--lw-control-primary-text);
}

.lw-command-primary:hover:not(:disabled)[b-t7ri7xu8az] {
    background: var(--lw-control-secondary-text);
    color: var(--lw-control-primary-text);
}

.lw-command-danger[b-t7ri7xu8az] {
    border-color: var(--lw-control-destructive-border);
    color: var(--lw-control-destructive);
}

.lw-command-danger:hover:not(:disabled)[b-t7ri7xu8az] {
    border-color: var(--lw-control-destructive);
    background: var(--lw-control-destructive);
    color: var(--lw-control-destructive-text-on-fill);
}

@media (max-width: 760px), (pointer: coarse) {
    .lw-command[b-t7ri7xu8az],
    .lw-command.icon-only[b-t7ri7xu8az] {
        height: var(--lw-touch);
    }

    .lw-command.icon-only[b-t7ri7xu8az] {
        width: var(--lw-touch);
        min-width: var(--lw-touch);
    }
}

/* Icon-only: the name shows at once below the button on hover or keyboard focus (data-tip), never the browser's delayed
   hover text. Phones have no hover; the ⋯ menu shows the name as a label instead (lw-command-label). */
.lw-command.icon-only[b-t7ri7xu8az] {
    position: relative;
}

.lw-command-label[b-t7ri7xu8az] {
    display: none;
}

@media (hover: hover) {
    .lw-command.icon-only[data-tip]:hover[b-t7ri7xu8az]::after,
    .lw-command.icon-only[data-tip]:focus-visible[b-t7ri7xu8az]::after {
        content: attr(data-tip);
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        z-index: 30;
        max-width: 18rem;
        padding: var(--lw-space-1) var(--lw-space-2);
        border-radius: var(--lw-radius-sm);
        background: var(--lw-content-text);
        color: var(--lw-content-surface);
        font-size: var(--lw-font-size-sm);
        font-weight: 500;
        line-height: 1.3;
        white-space: nowrap;
        pointer-events: none;
    }
}
/* /Components/Shared/CommandMenu.razor.rz.scp.css */
.command-menu[b-dz57tddmb5] {
    position: relative;
    display: inline-flex;
}

.command-menu-badge[b-dz57tddmb5] {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    padding: 0 4px;
    border-radius: 9px;
    border: 1px solid var(--lw-status-pending);
    background: var(--lw-status-pending-bg);
    color: var(--lw-status-pending);
    font-size: var(--lw-font-size-sm);
    line-height: 18px;
    text-align: center;
    pointer-events: none;
}

.command-menu-badge.is-danger[b-dz57tddmb5] {
    border-color: var(--lw-status-error);
    background: var(--lw-status-error-bg);
    color: var(--lw-status-error);
}

.command-menu-backdrop[b-dz57tddmb5] {
    position: fixed;
    inset: 0;
    z-index: 20;
}

.command-menu-panel[b-dz57tddmb5] {
    position: absolute;
    top: calc(100% + var(--lw-space-1));
    left: 0;
    z-index: 21;
    display: grid;
    gap: var(--lw-space-1);
    min-width: 200px;
    max-width: min(360px, calc(100vw - 2 * var(--lw-space-4)));
    max-height: min(60vh, 480px);
    overflow-y: auto;
    padding: var(--lw-space-2);
    background: var(--lw-content-surface);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    box-shadow: var(--lw-shadow-lg);
}

.command-menu-panel[b-dz57tddmb5]  button.command-menu-item {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
    min-height: var(--lw-touch);
    padding: 0 var(--lw-space-2);
    border: 0;
    border-radius: var(--lw-radius-sm);
    background: transparent;
    color: var(--lw-content-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.command-menu-panel[b-dz57tddmb5]  button.command-menu-item:hover:not(:disabled),
.command-menu-panel[b-dz57tddmb5]  button.command-menu-item.on {
    background: var(--lw-content-selected-bg);
}

.command-menu-panel[b-dz57tddmb5]  button.command-menu-item:disabled {
    color: var(--lw-content-text-muted);
    cursor: default;
}
/* /Components/Shared/ConfirmDialog.razor.rz.scp.css */
.lw-confirm-message[b-cth9c0g38t] {
    margin: 0;
    color: var(--lw-content-text);
}
/* /Components/Shared/DataTable.razor.rz.scp.css */
.lw-table-wrap[b-tyylvjl8vk] {
    overflow-x: auto;
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface);
}

/* An open filter menu must not be clipped by the sideways scroll. */
.lw-table-wrap.menu-open[b-tyylvjl8vk] {
    overflow: visible;
}

.lw-table[b-tyylvjl8vk] {
    width: 100%;
    border-collapse: collapse;
    color: var(--lw-content-text);
    font-size: var(--lw-font-size);
}

.lw-table th[b-tyylvjl8vk] {
    position: sticky;
    top: 0;
    padding: var(--lw-space-2) var(--lw-space-3);
    border-bottom: 1px solid var(--lw-content-border);
    background: var(--lw-content-surface-muted);
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
    font-weight: 600;
    text-align: left;
    white-space: nowrap;
}

.lw-table td[b-tyylvjl8vk] {
    padding: var(--lw-space-2) var(--lw-space-3);
    border-bottom: 1px solid var(--lw-content-border);
    vertical-align: top;
    /* Words wrap at spaces, and break only when one alone is too long: the page-wide anywhere would let a column
       shrink to one letter and wrap names mid-word while another column takes the width. */
    overflow-wrap: break-word;
}

/* Item names in a table are ink, not link-coloured (GitHub issue 213). */
.lw-table td a[b-tyylvjl8vk] {
    color: var(--lw-content-item-name);
    text-decoration: none;
}

.lw-table td a:hover[b-tyylvjl8vk] {
    text-decoration: underline;
}

/* Columns size to their content: short values (dates, statuses, categories) stay on one line and the first column, the
   item itself, takes the remaining width and wraps. Long-text columns opt in to wrapping (DataColumn Wrap). */
.lw-table td:not(:first-child):not(.wrap)[b-tyylvjl8vk] {
    white-space: nowrap;
}

.lw-table td.wrap[b-tyylvjl8vk] {
    min-width: 14rem;
}

/* Table values are never bold. */
.lw-table td strong[b-tyylvjl8vk] {
    font-weight: inherit;
}

.lw-table.dense td[b-tyylvjl8vk],
.lw-table.dense th[b-tyylvjl8vk] {
    padding: var(--lw-space-1) var(--lw-space-2);
}

.lw-table tbody tr:last-child td[b-tyylvjl8vk] {
    border-bottom: 0;
}

.lw-table tr.clickable[b-tyylvjl8vk] {
    cursor: pointer;
}

.lw-table tr.clickable:hover[b-tyylvjl8vk],
.lw-table tr.selected[b-tyylvjl8vk] {
    background: var(--lw-content-selected-bg);
}

.lw-table .align-right[b-tyylvjl8vk] {
    text-align: right;
}

.lw-table .align-center[b-tyylvjl8vk] {
    text-align: center;
}

.lw-sort[b-tyylvjl8vk] {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.lw-sort-mark[b-tyylvjl8vk] {
    color: var(--lw-content-link);
}

/* The grid footer: the count, the column-filter status with Clear filters, and paging. */
.lw-table-footer[b-tyylvjl8vk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2) var(--lw-space-3);
    margin-top: var(--lw-space-2);
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.lw-table-clear[b-tyylvjl8vk] {
    padding: 0;
    border: 0;
    background: none;
    color: var(--lw-control-secondary-text);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.lw-table-clear:hover[b-tyylvjl8vk] {
    text-decoration: underline;
}

.lw-table-paging[b-tyylvjl8vk] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
    margin-left: auto;
}

/* Narrow screens keep the first and key columns: Priority 3 goes first, then Priority 2. */
@media (max-width: 1100px) {
    .lw-table .priority-3[b-tyylvjl8vk] {
        display: none;
    }
}

@media (max-width: 760px) {
    .lw-table .priority-2[b-tyylvjl8vk] {
        display: none;
    }
}

.lw-th[b-tyylvjl8vk] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
}

.lw-table th[b-tyylvjl8vk] {
    position: sticky;
}

.lw-filter[b-tyylvjl8vk] {
    display: inline-flex;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--lw-content-text-muted);
    cursor: pointer;
    opacity: 0.55;
}

.lw-filter:hover[b-tyylvjl8vk],
.lw-filter.active[b-tyylvjl8vk] {
    color: var(--lw-content-link);
    opacity: 1;
}

.lw-filter-menu[b-tyylvjl8vk] {
    position: absolute;
    z-index: 20;
    display: grid;
    gap: var(--lw-space-2);
    min-width: 14rem;
    max-width: 22rem;
    margin-top: var(--lw-space-1);
    padding: var(--lw-space-2);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface);
    box-shadow: var(--lw-shadow-lg);
    color: var(--lw-content-text);
    font-weight: 400;
    text-align: left;
    white-space: normal;
}

.lw-filter-values[b-tyylvjl8vk] {
    display: grid;
    max-height: 16rem;
    overflow-y: auto;
}

.lw-filter-actions[b-tyylvjl8vk] {
    display: flex;
    justify-content: flex-end;
    gap: var(--lw-space-1);
}

.lw-table-none[b-tyylvjl8vk] {
    padding: var(--lw-space-4);
    color: var(--lw-content-text-muted);
    text-align: center;
}

/* Long values wrap with the checkbox at the first line. */
.lw-filter-value[b-tyylvjl8vk] {
    align-items: flex-start;
    padding: 2px 0;
    line-height: 1.35;
}

.lw-filter-value input[b-tyylvjl8vk] {
    margin-top: 3px;
}

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    .lw-sort[b-tyylvjl8vk], .lw-filter[b-tyylvjl8vk] { min-width: var(--lw-touch); min-height: var(--lw-touch); }
}
/* /Components/Shared/EditorDialog.razor.rz.scp.css */
.lw-dialog-backdrop[b-5h1oebjv8m] {
    position: fixed;
    inset: 0;
    z-index: 1400;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    border: 0;
    color: inherit;
    display: grid;
    place-items: center;
    padding: var(--lw-space-4);
    background: var(--lw-content-shadow-lg);
}

/* The native backdrop stays clear; the dialog element itself is the shade. */
.lw-dialog-backdrop[b-5h1oebjv8m]::backdrop {
    background: transparent;
}

.lw-dialog[b-5h1oebjv8m] {
    display: grid;
    grid-template-rows: auto 1fr auto;
    width: min(560px, 100%);
    max-height: calc(100dvh - 2 * var(--lw-space-4));
    border-radius: var(--lw-radius-lg);
    background: var(--lw-content-surface);
    box-shadow: var(--lw-shadow-lg);
    outline: none;
}

.lw-dialog.wide[b-5h1oebjv8m] {
    width: min(900px, 100%);
}

.lw-dialog-header[b-5h1oebjv8m] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--lw-space-3);
    padding: var(--lw-space-4) var(--lw-space-4) var(--lw-space-2);
}

.lw-dialog-header h2[b-5h1oebjv8m] {
    margin: 0;
    color: var(--lw-content-text);
    font-size: var(--lw-font-size-lg);
    font-weight: 600;
}

.lw-dialog-header p[b-5h1oebjv8m] {
    margin: var(--lw-space-1) 0 0;
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.lw-dialog-body[b-5h1oebjv8m] {
    overflow-y: auto;
    padding: var(--lw-space-2) var(--lw-space-4);
}

.lw-dialog-footer[b-5h1oebjv8m] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--lw-space-2);
    padding: var(--lw-space-3) var(--lw-space-4) var(--lw-space-4);
    border-top: 1px solid var(--lw-content-border);
}

@media (max-width: 760px) {
    .lw-dialog-backdrop.sheet[b-5h1oebjv8m] {
        place-items: end center;
        padding: 0;
    }

    .lw-dialog.sheet[b-5h1oebjv8m] {
        width: 100%;
        height: auto;
        max-height: 70dvh;
        border-radius: var(--lw-radius-lg) var(--lw-radius-lg) 0 0;
    }
}

@media (max-width: 560px) {
    .lw-dialog-backdrop[b-5h1oebjv8m] {
        padding: 0;
    }

    .lw-dialog:not(.sheet)[b-5h1oebjv8m],
    .lw-dialog.wide:not(.sheet)[b-5h1oebjv8m] {
        width: 100%;
        height: 100%;
        max-height: none;
        border-radius: 0;
    }
}
/* /Components/Shared/EmptyState.razor.rz.scp.css */
.lw-empty[b-gpr8tweiac] {
    display: grid;
    justify-items: center;
    gap: var(--lw-space-2);
    padding: var(--lw-space-6) var(--lw-space-4);
    border: 1px dashed var(--lw-content-border-strong);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface);
    color: var(--lw-content-text-muted);
    text-align: center;
}

.lw-empty h2[b-gpr8tweiac] {
    margin: 0;
    color: var(--lw-content-text);
    font-size: var(--lw-font-size-lg);
    font-weight: 600;
}

.lw-empty p[b-gpr8tweiac] {
    max-width: 520px;
    margin: 0;
}

.lw-empty-actions[b-gpr8tweiac] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--lw-space-2);
    margin-top: var(--lw-space-2);
}

[b-gpr8tweiac] .lw-empty-icon {
    width: 40px;
    height: 40px;
    color: var(--lw-content-border-strong);
}
/* /Components/Shared/FactList.razor.rz.scp.css */
.lw-facts[b-zc4jxj64vs] {
    display: grid;
    grid-template-columns: minmax(120px, max-content) minmax(0, 1fr);
    gap: var(--lw-space-2) var(--lw-space-4);
    margin: 0;
}

.lw-facts[b-zc4jxj64vs]  dt {
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.lw-facts[b-zc4jxj64vs]  dd {
    margin: 0;
    color: var(--lw-content-text);
    word-break: break-word;
}

@media (max-width: 560px) {
    .lw-facts[b-zc4jxj64vs] {
        grid-template-columns: minmax(0, 1fr);
        gap: 0 0;
    }

    .lw-facts[b-zc4jxj64vs]  dd {
        margin-bottom: var(--lw-space-2);
    }
}
/* /Components/Shared/FormField.razor.rz.scp.css */
.lw-field[b-u3hz2rxra5] {
    display: grid;
    align-content: start;
    gap: var(--lw-space-1);
}

.lw-field.wide[b-u3hz2rxra5] {
    grid-column: 1 / -1;
}

.lw-field.short[b-u3hz2rxra5] {
    justify-self: start;
    width: min(100%, 14rem);
}

.lw-field label[b-u3hz2rxra5] {
    color: var(--lw-content-text);
    font-size: var(--lw-font-size-sm);
    font-weight: 600;
}

.lw-required[b-u3hz2rxra5] {
    color: var(--lw-control-destructive);
}

.lw-field[b-u3hz2rxra5]  input:not([type=checkbox]):not([type=radio]),
.lw-field[b-u3hz2rxra5]  select,
.lw-field[b-u3hz2rxra5]  textarea {
    width: 100%;
    min-height: 36px;
    padding: var(--lw-space-1) var(--lw-space-2);
    border: 1px solid var(--lw-content-border-strong);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface);
    color: var(--lw-content-text);
    font: inherit;
}

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    .lw-field[b-u3hz2rxra5]  input:not([type=checkbox]):not([type=radio]),
    .lw-field[b-u3hz2rxra5]  select {
        min-height: var(--lw-touch);
    }
}

.lw-field[b-u3hz2rxra5]  textarea {
    min-height: 88px;
    resize: vertical;
}

.lw-field[b-u3hz2rxra5]  input:focus,
.lw-field[b-u3hz2rxra5]  select:focus,
.lw-field[b-u3hz2rxra5]  textarea:focus {
    border-color: var(--lw-control-primary-bg);
    outline: 2px solid var(--lw-content-selected-bg);
}

.lw-field-help[b-u3hz2rxra5] {
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.lw-field-error[b-u3hz2rxra5] {
    color: var(--lw-control-destructive);
    font-size: var(--lw-font-size-sm);
}

/* A field a failed action named (lw-invalid), or a filled-in input that failed its check on leaving it: js/field-checks.js
   sets data-check to the browser's message (an attribute, so Blazor's re-renders leave it alone). */
.lw-field.lw-invalid[b-u3hz2rxra5]  input:not([type=checkbox]):not([type=radio]),
.lw-field.lw-invalid[b-u3hz2rxra5]  select,
.lw-field.lw-invalid[b-u3hz2rxra5]  textarea,
.lw-field[data-check][b-u3hz2rxra5]  input:not([type=checkbox]):not([type=radio]),
.lw-field[data-check][b-u3hz2rxra5]  textarea {
    border-color: var(--lw-control-destructive);
    outline: 2px solid var(--lw-status-error-bg);
}

.lw-field[data-check] .lw-field-help[b-u3hz2rxra5] {
    display: none;
}

.lw-field[data-check][b-u3hz2rxra5]::after {
    content: attr(data-check);
    color: var(--lw-control-destructive);
    font-size: var(--lw-font-size-sm);
}

@media (max-width: 760px) {
    .lw-field[b-u3hz2rxra5]  input:not([type=checkbox]):not([type=radio]),
    .lw-field[b-u3hz2rxra5]  select {
        min-height: var(--lw-touch);
    }
}
/* /Components/Shared/FormGrid.razor.rz.scp.css */
.lw-form-grid-box[b-flklifkslo] {
    container-type: inline-size;
}

.lw-form-grid[b-flklifkslo] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--lw-space-3) var(--lw-space-4);
}

@container (max-width: 480px) {
    .lw-form-grid[b-flklifkslo] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Shared/FormSections.razor.rz.scp.css */
.lw-form-sections-box[b-clr53375ic] {
    container-type: inline-size;
}

.lw-form-sections[b-clr53375ic] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0 var(--lw-space-4);
    align-items: start;
}

/* Two columns only when each still has room for a form's two fields side by side. */
@container (min-width: 1040px) {
    .lw-form-sections[b-clr53375ic] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lw-form-sections[b-clr53375ic]  .lw-panel.wide {
        grid-column: 1 / -1;
    }
}
/* /Components/Shared/ItemHeader.razor.rz.scp.css */
.lw-item-header[b-b9b8hhyany] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2) var(--lw-space-3);
    margin: 0 0 var(--lw-space-3);
}

.lw-item-header h2[b-b9b8hhyany] {
    margin: 0;
    color: var(--lw-content-text);
    font-size: var(--lw-font-size-lg);
    font-weight: 600;
}
/* /Components/Shared/ListHeader.razor.rz.scp.css */
/* The view header: views and filters on the left, search on the right. The frame is a size container, so the search
   follows the row's own width (a side-by-side list is narrow even on a wide screen). */
.lw-list-frame[b-l4ziupw9wr] {
    container-type: inline-size;
    margin-bottom: var(--lw-space-2);
}

.lw-list-header[b-l4ziupw9wr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2) var(--lw-space-3);
    padding: 0 var(--lw-space-1);
}

.lw-list-views[b-l4ziupw9wr],
.lw-list-filters[b-l4ziupw9wr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-2);
    min-width: 0;
}

.lw-list-filters[b-l4ziupw9wr]  .lw-check {
    font-size: var(--lw-font-size-sm);
}

.lw-list-count[b-l4ziupw9wr] {
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.lw-list-search-box[b-l4ziupw9wr] {
    position: relative;
    display: flex;
    flex: 0 1 300px;
    min-width: 180px;
    margin-left: auto;
}

.lw-list-search[b-l4ziupw9wr] {
    box-sizing: border-box;
    width: 100%;
    height: 36px;
    padding: 0 var(--lw-space-3);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface-muted);
    color: var(--lw-content-text);
    font: inherit;
}

.lw-list-search:focus[b-l4ziupw9wr] {
    border-color: var(--lw-control-primary-bg);
    outline: none;
}

.lw-list-search-toggle[b-l4ziupw9wr] {
    display: none;
}

/* Too narrow for the box beside the views and filters: a search icon (highlighted while a search applies) that opens
   the box as a flyout under it. */
@container (max-width: 520px) {
    .lw-list-search-box[b-l4ziupw9wr] {
        flex: 0 0 auto;
        min-width: 0;
    }

    .lw-list-search-toggle[b-l4ziupw9wr] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: var(--lw-touch);
        height: var(--lw-touch);
        border: 1px solid var(--lw-content-border);
        border-radius: var(--lw-radius-sm);
        background: var(--lw-content-surface);
        color: var(--lw-content-text);
        cursor: pointer;
    }

    .lw-list-search-toggle.active[b-l4ziupw9wr] {
        border-color: var(--lw-control-primary-bg);
        color: var(--lw-content-link);
    }

    .lw-list-search[b-l4ziupw9wr] {
        display: none;
    }

    .lw-list-header.searching .lw-list-search[b-l4ziupw9wr] {
        position: absolute;
        top: calc(100% + var(--lw-space-1));
        right: 0;
        z-index: 20;
        display: block;
        width: min(300px, 85cqw);
        height: var(--lw-touch);
        box-shadow: var(--lw-shadow-lg);
    }
}

/* An item open beside the list takes the page below the side-by-side width (SplitView), so the filter row steps aside
   and the item's Back is all that shows above it. */
@media (max-width: 1100px) {
    .lw-list-frame.item-beside[b-l4ziupw9wr] {
        display: none;
    }
}
/* /Components/Shared/LoadingState.razor.rz.scp.css */
.lw-loading[b-usn9bs52mh] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--lw-space-2);
    padding: var(--lw-space-6);
    color: var(--lw-content-text-muted);
}
/* /Components/Shared/MapFade.razor.rz.scp.css */
.map-fade[b-t805k1acll] {
    position: relative;
    display: inline-flex;
}

.map-fade-backdrop[b-t805k1acll] {
    position: fixed;
    inset: 0;
    z-index: 20;
}

.map-fade-panel[b-t805k1acll] {
    position: absolute;
    top: calc(100% + var(--lw-space-1));
    left: 0;
    z-index: 21;
    /* A popover is as wide as its content, never as wide as its button: an absolute box inside a button-wide parent shrinks to the parent and wraps one letter a line (founder, twice). */
    width: max-content;
    max-width: calc(100vw - 2 * var(--lw-space-4));
    display: flex;
    align-items: flex-start;
    gap: var(--lw-space-4);
    padding: var(--lw-space-3);
    background: var(--lw-content-surface);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    box-shadow: var(--lw-shadow-lg);
}

.map-fade-panel input[type="range"][b-t805k1acll] {
    width: 160px;
}

.map-fade-slider[b-t805k1acll] {
    display: grid;
    gap: var(--lw-space-1);
}
/* /Components/Shared/MapLabelSize.razor.rz.scp.css */
.map-labelsize[b-qyntpbszvn] {
    position: relative;
    display: inline-flex;
}

.map-labelsize-backdrop[b-qyntpbszvn] {
    position: fixed;
    inset: 0;
    z-index: 20;
}

.map-labelsize-panel[b-qyntpbszvn] {
    position: absolute;
    top: calc(100% + var(--lw-space-1));
    left: 0;
    z-index: 21;
    /* A popover is as wide as its content, never as wide as its button: an absolute box inside a button-wide parent shrinks to the parent and wraps one letter a line (founder, twice). */
    width: max-content;
    max-width: calc(100vw - 2 * var(--lw-space-4));
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--lw-space-2);
    padding: var(--lw-space-3);
    background: var(--lw-content-surface);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    box-shadow: var(--lw-shadow-lg);
}

.map-labelsize-panel input[type="range"][b-qyntpbszvn] {
    width: 160px;
}
/* /Components/Shared/MapLayers.razor.rz.scp.css */
.map-layers[b-8ctq98zqt1] {
    position: relative;
    display: inline-flex;
}

.map-layers-backdrop[b-8ctq98zqt1] {
    position: fixed;
    inset: 0;
    z-index: 20;
}

.map-layers-panel[b-8ctq98zqt1] {
    position: absolute;
    top: calc(100% + var(--lw-space-1));
    left: 0;
    z-index: 21;
    display: grid;
    gap: var(--lw-space-3);
    width: min(320px, calc(100vw - 2 * var(--lw-space-4)));
    max-height: min(70vh, 640px);
    overflow-y: auto;
    padding: var(--lw-space-3);
    background: var(--lw-content-surface);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    box-shadow: var(--lw-shadow-lg);
}

.map-layers-panel fieldset[b-8ctq98zqt1] {
    display: grid;
    gap: var(--lw-space-1);
    margin: 0;
    padding: 0;
    border: 0;
}

.map-layers-panel legend[b-8ctq98zqt1] {
    margin-bottom: var(--lw-space-1);
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.map-layers-panel .lw-check .lw-sub[b-8ctq98zqt1] {
    margin-left: auto;
}

.map-layers-reset[b-8ctq98zqt1] {
    display: flex;
    justify-content: flex-end;
}


.map-layers-row[b-8ctq98zqt1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lw-space-2);
}

.map-layers-row .lw-check[b-8ctq98zqt1] {
    flex: 1;
}

.map-layers-group[b-8ctq98zqt1] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-1);
}

.map-layers-group .lw-check[b-8ctq98zqt1] {
    flex: 1;
    font-weight: 600;
}

.map-layers-children[b-8ctq98zqt1] {
    display: grid;
    gap: var(--lw-space-1);
    padding-left: var(--lw-space-6);
}

/* A tooltip opens above and toward the panel's inside, so it never widens or lengthens the scrolling panel (founder 2026-10-13). */
.map-layers-panel[b-8ctq98zqt1]  .lw-command.icon-only[data-tip]:hover::after,
.map-layers-panel[b-8ctq98zqt1]  .lw-command.icon-only[data-tip]:focus-visible::after {
    top: auto;
    bottom: calc(100% + 6px);
    left: auto;
    right: 0;
    white-space: normal;
    width: max-content;
    max-width: 12rem;
}
/* /Components/Shared/MapLegend.razor.rz.scp.css */
.map-legend[b-2zyfcigza9] {
    position: relative;
    display: inline-flex;
}

.map-legend-backdrop[b-2zyfcigza9] {
    position: fixed;
    inset: 0;
    z-index: 20;
}

.map-legend-panel[b-2zyfcigza9] {
    position: absolute;
    top: calc(100% + var(--lw-space-1));
    left: 0;
    z-index: 21;
    display: grid;
    gap: var(--lw-space-2);
    width: min(48rem, 92vw);
    max-width: 92vw;
    max-height: 70vh;
    overflow: auto;
    padding: var(--lw-space-3);
    background: var(--lw-content-surface);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    box-shadow: var(--lw-shadow-lg);
}
/* /Components/Shared/MapLinks.razor.rz.scp.css */
.map-links[b-hiitraer69] {
    display: grid;
    gap: var(--lw-space-1);
    margin: 0;
    padding: 0;
    list-style: none;
}

.map-links a[b-hiitraer69] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
}
/* /Components/Shared/MessageBar.razor.rz.scp.css */
.lw-message[b-bvobc1v4g7] {
    display: flex;
    align-items: flex-start;
    gap: var(--lw-space-2);
    margin-bottom: var(--lw-space-3);
    padding: var(--lw-space-2) var(--lw-space-3);
    border-radius: var(--lw-radius);
    font-size: var(--lw-font-size);
}

.lw-message-text[b-bvobc1v4g7] {
    flex: 1;
}

.lw-message-success[b-bvobc1v4g7] { background: var(--lw-status-done-bg); color: var(--lw-status-done); }
.lw-message-warning[b-bvobc1v4g7] { background: var(--lw-status-pending-bg); color: var(--lw-status-pending); }
.lw-message-danger[b-bvobc1v4g7] { background: var(--lw-status-error-bg); color: var(--lw-control-destructive); }
.lw-message-info[b-bvobc1v4g7] { background: var(--lw-status-ai-bg); color: var(--lw-status-ai); }

.lw-message-close[b-bvobc1v4g7] {
    padding: 0 var(--lw-space-1);
    border: 0;
    background: transparent;
    color: inherit;
    font-size: var(--lw-font-size-lg);
    line-height: 1;
    cursor: pointer;
}

/* Touch targets (coarse pointer): at least 44px; the negative margins keep the bar's height. */
@media (pointer: coarse) {
    .lw-message[b-bvobc1v4g7] { align-items: center; }
    .lw-message-close[b-bvobc1v4g7] {
        min-width: var(--lw-touch);
        min-height: var(--lw-touch);
        margin: calc(-1 * var(--lw-space-2)) calc(-1 * var(--lw-space-3)) calc(-1 * var(--lw-space-2)) 0;
    }
}
/* /Components/Shared/PageHeader.razor.rz.scp.css */
.lw-page-header[b-7si6kxuxni] {
    display: grid;
    gap: var(--lw-space-1);
    margin-bottom: var(--lw-space-4);
}

.lw-page-header h1[b-7si6kxuxni] {
    margin: 0;
    color: var(--lw-content-text);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: calc(var(--lw-font-size-xl) * 1.15);
    font-weight: 600;
    line-height: 1.2;
}

.lw-page-header p[b-7si6kxuxni] {
    margin: 0;
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size);
}

.lw-breadcrumbs[b-7si6kxuxni] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-1);
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.lw-breadcrumbs a[b-7si6kxuxni] {
    color: var(--lw-content-link);
    text-decoration: none;
}

.lw-breadcrumbs a:hover[b-7si6kxuxni] {
    text-decoration: underline;
}

@media (pointer: coarse) {
    .lw-breadcrumbs[b-7si6kxuxni] { align-items: center; }
    .lw-breadcrumbs a[b-7si6kxuxni] {
        display: inline-flex;
        align-items: center;
        min-width: var(--lw-touch);
        min-height: var(--lw-touch);
    }
}
/* /Components/Shared/PageTabs.razor.rz.scp.css */
.lw-tabs[b-ci1z8kp2w0] {
    display: flex;
    gap: var(--lw-space-1);
    margin-bottom: var(--lw-space-4);
    overflow-x: auto;
    border-bottom: 1px solid var(--lw-content-border);
    scrollbar-width: thin;
}

.lw-tab[b-ci1z8kp2w0] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
    min-height: var(--lw-touch);
    min-width: var(--lw-touch);
    justify-content: center;
    padding: 0 var(--lw-space-3);
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    text-decoration: none;
    color: var(--lw-content-text-muted);
    font: inherit;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

/* Narrower screens: tighter tabs, so a ten-tab row (Library, GitHub 405) fits without scrolling sideways from 760px up. */
@media (max-width: 1100px) {
    .lw-tabs[b-ci1z8kp2w0] {
        gap: 0;
    }

    .lw-tab[b-ci1z8kp2w0] {
        padding: 0 var(--lw-space-2);
    }
}

.lw-tab:hover[b-ci1z8kp2w0] {
    color: var(--lw-content-text);
}

.lw-tab.active[b-ci1z8kp2w0] {
    border-bottom-color: var(--lw-control-primary-bg);
    color: var(--lw-content-link);
}

.lw-tab-badge[b-ci1z8kp2w0] {
    min-width: 18px;
    padding: 0 var(--lw-space-1);
    border-radius: 999px;
    background: var(--lw-control-destructive);
    color: var(--lw-control-destructive-text-on-fill);
    font-size: 0.72rem;
    line-height: 18px;
    text-align: center;
}

/* The second level: smaller, without the rule, close under the first row. */
.lw-tabs.level-2[b-ci1z8kp2w0] {
    margin-top: calc(-1 * var(--lw-space-3));
    margin-bottom: var(--lw-space-2);
    border-bottom: 0;
}

.lw-tabs.level-2 .lw-tab[b-ci1z8kp2w0] {
    min-height: 36px;
    border-bottom-width: 2px;
    font-size: var(--lw-font-size-sm);
}

@media (max-width: 760px), (pointer: coarse) {
    .lw-tabs.level-2 .lw-tab[b-ci1z8kp2w0] {
        min-height: var(--lw-touch);
    }
}

/* Tab display: icons and labels (beside), labels under icons, or icons only. The default (auto) is beside on a desktop and
   under on a phone. Only tabs with an icon change; the active tab always shows its label. One rule set for every page. */
.lw-tab-label[b-ci1z8kp2w0] {
    min-width: 0;
}

.lw-tabs.tabs-under .lw-tab[b-ci1z8kp2w0] {
    flex-direction: column;
    gap: 0;
    padding-top: var(--lw-space-1);
    font-size: var(--lw-font-size-sm);
}

.lw-tabs.tabs-icons .lw-tab:not(.active) .lw-tab-label[b-ci1z8kp2w0] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

@media (max-width: 760px) {
    .lw-tabs.tabs-auto .lw-tab[b-ci1z8kp2w0] {
        flex-direction: column;
        gap: 0;
        padding-top: var(--lw-space-1);
        font-size: var(--lw-font-size-sm);
    }
}
/* /Components/Shared/Panel.razor.rz.scp.css */
.lw-panel[b-hz9jmxkmy4] {
    display: grid;
    align-content: start;
    gap: var(--lw-space-3);
    margin-bottom: var(--lw-space-4);
    padding: var(--lw-space-4);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    background: var(--lw-content-surface);
}

.lw-panel-header[b-hz9jmxkmy4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--lw-space-2);
}

.lw-panel-header h2[b-hz9jmxkmy4] {
    margin: 0;
    color: var(--lw-content-text);
    font-size: var(--lw-font-size-lg);
    font-weight: 600;
}

.lw-panel-actions[b-hz9jmxkmy4] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-1);
}

.lw-panel-description[b-hz9jmxkmy4] {
    margin: 0;
    color: var(--lw-content-text-muted);
}

@media (max-width: 560px) {
    .lw-panel[b-hz9jmxkmy4] {
        padding: var(--lw-space-3);
    }
}
/* /Components/Shared/PlanEditor.razor.rz.scp.css */
.pe[b-t4mxylna89] {
    display: grid;
    gap: var(--lw-space-3);
}

.pe-size[b-t4mxylna89] {
    display: flex;
    gap: var(--lw-space-2);
}

.pe-size input[b-t4mxylna89] {
    width: 6rem;
}

.pe-work[b-t4mxylna89] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 22rem);
    gap: var(--lw-space-3);
    align-items: start;
}

@media (max-width: 1100px) {
    .pe-work[b-t4mxylna89] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.pe-canvas[b-t4mxylna89] {
    display: grid;
    gap: var(--lw-space-2);
    min-width: 0;
}

.pe-tools[b-t4mxylna89] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-1);
}

.pe-tool[b-t4mxylna89] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    padding: var(--lw-space-1) var(--lw-space-2);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface);
    color: var(--lw-content-text);
    font: inherit;
    font-size: var(--lw-font-size-sm);
    cursor: pointer;
}

.pe-tool:hover:not(:disabled)[b-t4mxylna89] {
    border-color: var(--lw-content-border-strong);
}

.pe-tool.active[b-t4mxylna89] {
    border-color: var(--lw-control-primary-bg);
    background: var(--lw-content-selected-bg);
}

.pe-tool:disabled[b-t4mxylna89] {
    opacity: 0.5;
    cursor: default;
}

.pe-tool-divider[b-t4mxylna89] {
    align-self: stretch;
    width: 1px;
    margin: 0 var(--lw-space-1);
    background: var(--lw-content-border);
}

.pe-tool-gap[b-t4mxylna89] {
    flex: 1;
}

.pe-swatch[b-t4mxylna89] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 1px solid var(--lw-content-border-strong);
    border-radius: 3px;
}

.pe-block-target[b-t4mxylna89] {
    max-width: 20rem;
}

.pe-frame[b-t4mxylna89] {
    position: relative;
    height: min(70vh, 720px);
    min-height: 320px;
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface-muted);
    overflow: hidden;
}

.pe-svg[b-t4mxylna89] {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    touch-action: none;
    user-select: none;
}

.pe-svg.painting[b-t4mxylna89] {
    cursor: crosshair;
}

.pe-svg.panning[b-t4mxylna89] {
    cursor: grabbing;
}

.pe-void[b-t4mxylna89] {
    fill: var(--lw-content-surface);
    stroke: var(--lw-content-border);
    stroke-width: 0.05;
}

.pe-override[b-t4mxylna89] {
    fill: var(--lw-accent-featured);
    stroke: var(--lw-content-surface);
    stroke-width: 0.04;
}

.pe-item[b-t4mxylna89] {
    fill: var(--lw-status-ai);
    stroke: var(--lw-content-surface);
    stroke-width: 0.06;
}

.pe-light[b-t4mxylna89] {
    fill: var(--lw-status-pending);
    fill-opacity: 0.85;
    stroke: var(--lw-content-surface);
    stroke-width: 0.06;
}

.pe-light-wall[b-t4mxylna89] {
    stroke: var(--lw-status-pending);
    stroke-width: 0.12;
    stroke-linecap: round;
}

.pe-dark[b-t4mxylna89] {
    fill: var(--lw-content-text);
    fill-opacity: 0.25;
}

.pe-spawn[b-t4mxylna89] {
    fill: var(--lw-status-error-bg);
    fill-opacity: 0.5;
    stroke: var(--lw-control-destructive);
    stroke-width: 0.08;
    stroke-dasharray: 0.2 0.15;
}

.pe-object[b-t4mxylna89] {
    fill: none;
    stroke: var(--lw-control-primary-bg);
    stroke-width: 0.1;
}

.pe-trigger[b-t4mxylna89] {
    stroke: var(--lw-accent-featured);
    stroke-dasharray: 0.25 0.15;
}

.pe-room[b-t4mxylna89] {
    fill: var(--lw-content-selected-bg);
    fill-opacity: 0.35;
    stroke: var(--lw-control-primary-bg);
    stroke-width: 0.06;
    stroke-dasharray: 0.3 0.15;
}

.pe-room.active[b-t4mxylna89] {
    fill-opacity: 0.6;
    stroke-width: 0.12;
}

.pe-wire[b-t4mxylna89] {
    stroke: var(--lw-accent-featured);
    stroke-width: 0.12;
    stroke-linecap: round;
}

/* A node's SIGNAL and SET_NODE links to other nodes: dashed, beside the solid machine wires. */
.pe-signal[b-t4mxylna89] {
    stroke-dasharray: 0.3 0.2;
}

.pe-key-badge[b-t4mxylna89] {
    fill: var(--lw-content-text);
    stroke: var(--lw-content-surface);
    stroke-width: 0.05;
}

.pe-frame[b-t4mxylna89]  .pe-key-number {
    fill: var(--lw-content-surface);
    font-weight: 600;
}

.pe-selected-object[b-t4mxylna89] {
    fill: none;
    stroke: var(--lw-control-secondary-text);
    stroke-width: 0.1;
    stroke-dasharray: 0.2 0.1;
}

.pe-problem[b-t4mxylna89] {
    fill: none;
    stroke-width: 0.14;
}

.pe-problem.error[b-t4mxylna89] {
    stroke: var(--lw-control-destructive);
}

.pe-problem.warning[b-t4mxylna89] {
    stroke: var(--lw-status-pending);
}

.pe-selected[b-t4mxylna89] {
    fill: none;
    stroke: var(--lw-control-secondary-text);
    stroke-width: 0.16;
}

.pe-frame[b-t4mxylna89]  .pe-label {
    fill: var(--lw-content-text);
    paint-order: stroke;
    stroke: var(--lw-content-surface);
    stroke-width: 0.12;
}

.pe-frame[b-t4mxylna89]  .pe-preview rect {
    fill-opacity: 0.7;
    stroke: var(--lw-control-secondary-text);
    stroke-width: 0.06;
}

.pe-frame[b-t4mxylna89]  .pe-preview rect:not([fill]) {
    fill: var(--lw-content-selected-bg);
}

.pe-frame[b-t4mxylna89]  .pe-preview rect.blocked {
    fill: var(--lw-status-error-bg);
    stroke: var(--lw-control-destructive);
}

.pe-frame[b-t4mxylna89]  .pe-wire-preview {
    stroke: var(--lw-accent-featured);
    stroke-width: 0.12;
    stroke-dasharray: 0.2 0.1;
}

.pe-key-list[b-t4mxylna89] {
    display: grid;
    gap: var(--lw-space-1);
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: var(--lw-font-size-sm);
}

.pe-status[b-t4mxylna89] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-1) var(--lw-space-4);
    font-size: var(--lw-font-size-sm);
}

.pe-hover[b-t4mxylna89] {
    min-width: 5rem;
    color: var(--lw-content-text-muted);
    font-variant-numeric: tabular-nums;
}

.pe-legend[b-t4mxylna89] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lw-space-1) var(--lw-space-4);
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: var(--lw-font-size-sm);
}

.pe-legend li[b-t4mxylna89] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
}

.pe-side[b-t4mxylna89] {
    display: grid;
    gap: var(--lw-space-3);
    min-width: 0;
}

.pe-subhead[b-t4mxylna89] {
    margin: var(--lw-space-3) 0 var(--lw-space-2);
    font-size: var(--lw-font-size-sm);
    color: var(--lw-content-text-muted);
}

.pe-row-actions[b-t4mxylna89] {
    display: flex;
    gap: var(--lw-space-2);
    margin-top: var(--lw-space-2);
}

.pe-list[b-t4mxylna89] {
    display: grid;
    gap: var(--lw-space-1);
    margin: 0;
    padding-left: var(--lw-space-4);
    font-size: var(--lw-font-size-sm);
}

.pe-error[b-t4mxylna89] {
    color: var(--lw-control-destructive);
}

.pe-warning[b-t4mxylna89] {
    color: var(--lw-content-text);
}

.pe-warning[b-t4mxylna89]::marker {
    color: var(--lw-status-pending);
}

.pe-link[b-t4mxylna89] {
    margin-right: var(--lw-space-1);
    padding: 0;
    border: 0;
    background: none;
    color: var(--lw-content-link);
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.pe-block-input[b-t4mxylna89] {
    display: flex;
    gap: var(--lw-space-1);
    align-items: center;
}

.pe-block-input input[b-t4mxylna89] {
    flex: 1;
    min-width: 0;
}

.pe-blocks[b-t4mxylna89] {
    display: grid;
    gap: 2px;
    max-height: 16rem;
    overflow-y: auto;
}

.pe-block[b-t4mxylna89] {
    display: block;
    width: 100%;
    padding: var(--lw-space-1) var(--lw-space-2);
    border: 1px solid transparent;
    border-radius: var(--lw-radius-sm);
    background: none;
    color: var(--lw-content-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.pe-block:hover[b-t4mxylna89] {
    background: var(--lw-content-surface-muted);
}

.pe-block.active[b-t4mxylna89] {
    border-color: var(--lw-control-primary-bg);
    background: var(--lw-content-selected-bg);
}

.pe-chip[b-t4mxylna89] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-2);
    min-width: 0;
}

.pe-chip .lw-mono[b-t4mxylna89] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pe-picked[b-t4mxylna89] {
    margin: var(--lw-space-2) 0;
}

/* The quest layer (4c-5): a node's stage badge and the stage list. */
.pe-frame[b-t4mxylna89]  .pe-stage-badge { fill: var(--lw-control-primary-bg); stroke: var(--lw-content-surface); stroke-width: 0.06; }
.pe-frame[b-t4mxylna89]  .pe-stage-badge.is-optional { fill: var(--lw-content-surface); stroke: var(--lw-control-primary-bg); stroke-width: 0.08; }
.pe-frame[b-t4mxylna89]  .pe-stage-badge.is-selected { stroke: var(--lw-control-destructive); stroke-width: 0.12; }
.pe-stages[b-t4mxylna89] { margin: 0; padding-left: var(--lw-space-4); display: grid; gap: var(--lw-space-1); }
.pe-stages li[b-t4mxylna89] { display: flex; align-items: center; gap: var(--lw-space-1); }
.pe-stages li.is-selected .pe-stage[b-t4mxylna89] { color: var(--lw-content-link); }
.pe-stage[b-t4mxylna89] { flex: 1; text-align: left; background: none; border: 0; padding: 0; color: var(--lw-content-text); cursor: pointer; font: inherit; }

/* Props on the plan (GitHub 412): a footprint over its floor squares, red where it won't build; a wall prop is a strip on its edge. */
.pe-prop[b-t4mxylna89] {
    fill: var(--lw-accent-featured);
    fill-opacity: 0.25;
    stroke: var(--lw-accent-featured);
    stroke-width: 0.06;
}

.pe-prop.bad[b-t4mxylna89] {
    fill: var(--lw-status-error-bg);
    fill-opacity: 0.6;
    stroke: var(--lw-control-destructive);
}

[b-t4mxylna89] .pe-prop-label {
    fill: var(--lw-content-text);
    font-size: 0.45px;
    pointer-events: none;
}

.pe-prop-wall[b-t4mxylna89] {
    stroke: var(--lw-accent-featured);
    stroke-width: 0.18;
    stroke-linecap: round;
}
/* /Components/Shared/SavedViews.razor.rz.scp.css */
.lw-views[b-t6p32x7x8y] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lw-space-1);
}

/* The view picker, like Dynamics' view selector: the list's name, bordered and shaded like the search box. */
.lw-views select[b-t6p32x7x8y] {
    height: 36px;
    max-width: 18rem;
    padding: 0 var(--lw-space-2);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface-muted);
    color: var(--lw-content-text);
    font: inherit;
    font-weight: 600;
}

.lw-views .lw-view-name[b-t6p32x7x8y] {
    min-height: 36px;
}

@media (max-width: 760px), (pointer: coarse) {
    .lw-views select[b-t6p32x7x8y],
    .lw-views .lw-view-name[b-t6p32x7x8y] {
        min-height: var(--lw-touch);
    }
}

/* Looks like the command bar filter, so it reads as a box to type in before it has focus. */
.lw-views .lw-view-name[b-t6p32x7x8y] {
    width: 14rem;
    padding: 0 var(--lw-space-3);
    border: 1px solid var(--lw-control-primary-bg);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface-muted);
    color: var(--lw-content-text);
    font: inherit;
}

.lw-views .lw-view-name:focus[b-t6p32x7x8y] {
    outline: 2px solid var(--lw-content-selected-bg);
}
/* /Components/Shared/SplitView.razor.rz.scp.css */
.lw-split[b-zxtxbjtraq] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--lw-space-4);
}

.lw-split.split-mode.detail-open[b-zxtxbjtraq] {
    grid-template-columns: minmax(0, 2fr) minmax(320px, 3fr);
}

/* Beside an open item the list has two fifths of the width: its Priority 3 columns (the least needed to pick a row) give way,
   at any window width, so what stays isn't cut off or wrapped. */
.lw-split.split-mode.detail-open .lw-split-list[b-zxtxbjtraq]  .lw-table .priority-3 {
    display: none;
}

/* Page view: the open item takes the page; the list stays loaded (hidden) so its state survives. */
.lw-split.page-mode.detail-open .lw-split-list[b-zxtxbjtraq] {
    display: none;
}

.lw-split-detail[b-zxtxbjtraq] {
    min-width: 0;
}

.lw-split-tools[b-zxtxbjtraq] {
    display: flex;
    align-items: center;
    gap: var(--lw-space-2);
    margin-bottom: var(--lw-space-2);
}

.lw-split-title[b-zxtxbjtraq] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    min-height: var(--lw-touch);
    padding: 0;
    border: 0;
    background: none;
    color: var(--lw-control-secondary-text);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
}

.lw-split-title:hover span[b-zxtxbjtraq] {
    text-decoration: underline;
}

/* Side by side, Back is only needed when the item stacks under the list or takes the page. */
.lw-split.split-mode .lw-split-back[b-zxtxbjtraq] {
    display: none;
}

/* Below the width where an item fits beside its list, side by side opens items as a page with Back (never stacked under
   the list); the toggle hides, and the saved choice returns on a wide screen. */
@media (max-width: 1100px) {
    .lw-split.split-mode.detail-open[b-zxtxbjtraq] {
        grid-template-columns: minmax(0, 1fr);
    }

    .lw-split.detail-open .lw-split-list[b-zxtxbjtraq] {
        display: none;
    }

    .lw-split.split-mode .lw-split-back[b-zxtxbjtraq] {
        display: inline-flex;
    }

    .lw-split-title[b-zxtxbjtraq] {
        display: none;
    }
}
/* /Components/Shared/StatusBadge.razor.rz.scp.css */
.lw-status[b-602svy4q0o] {
    display: inline-flex;
    align-items: center;
    gap: var(--lw-space-1);
    padding: 2px var(--lw-space-2);
    border-radius: 999px;
    font-size: var(--lw-font-size-sm);
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}

.lw-status-success[b-602svy4q0o] { background: var(--lw-status-done-bg); color: var(--lw-status-done); }
.lw-status-warning[b-602svy4q0o] { background: var(--lw-status-pending-bg); color: var(--lw-status-pending); }
.lw-status-danger[b-602svy4q0o] { background: var(--lw-status-error-bg); color: var(--lw-status-error); }
.lw-status-info[b-602svy4q0o] { background: var(--lw-status-ai-bg); color: var(--lw-status-ai); }
.lw-status-neutral[b-602svy4q0o] { background: var(--lw-content-surface-muted); color: var(--lw-content-text-muted); }
/* /Components/Shared/TerrainOpacity.razor.rz.scp.css */
.terrain-opacity[b-tydnn632cc] {
    display: grid;
    gap: var(--lw-space-1);
}
/* /Components/Shared/TextDiff.razor.rz.scp.css */
.lw-diff[b-7tuy3ofk4t] {
    max-height: 50dvh;
    overflow: auto;
    padding: var(--lw-space-3) var(--lw-space-4);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius);
    white-space: pre-wrap;
    font-family: Georgia, serif;
}

.lw-diff ins[b-7tuy3ofk4t] {
    background: var(--lw-status-done-bg);
    color: var(--lw-status-done);
    text-decoration: underline;
}

.lw-diff del[b-7tuy3ofk4t] {
    background: var(--lw-status-error-bg);
    color: var(--lw-status-error);
    text-decoration: line-through;
}
/* /Components/Shared/TreeView.razor.rz.scp.css */
.lw-tree[b-l3kk9dfkby],
.lw-tree ul[b-l3kk9dfkby] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lw-tree-row[b-l3kk9dfkby] {
    display: flex;
    align-items: center;
    min-height: var(--lw-touch);
    border-radius: var(--lw-radius-sm);
}

.lw-tree-row:hover[b-l3kk9dfkby] {
    background: var(--lw-content-surface-muted);
}

.lw-tree-row.selected[b-l3kk9dfkby] {
    background: var(--lw-content-selected-bg);
}

.lw-tree-toggle[b-l3kk9dfkby] {
    display: inline-flex;
    flex: 0 0 auto;
    width: 1.75rem;
    height: 1.75rem;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: var(--lw-content-text-muted);
    cursor: pointer;
}

.lw-tree-label[b-l3kk9dfkby] {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    align-items: center;
    gap: var(--lw-space-2);
    padding: var(--lw-space-1) var(--lw-space-2) var(--lw-space-1) 0;
    border: 0;
    background: transparent;
    color: var(--lw-content-text);
    text-align: left;
    cursor: pointer;
}

.lw-tree-row.selected .lw-tree-label[b-l3kk9dfkby] {
    font-weight: 600;
}

.lw-tree-label > span:first-of-type[b-l3kk9dfkby] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lw-tree-count[b-l3kk9dfkby] {
    margin-left: auto;
    padding: 0 var(--lw-space-2);
    border-radius: var(--lw-radius-lg);
    background: var(--lw-content-surface-muted);
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

/* Touch targets (coarse pointer): at least 44px (coding-standards.md › Studio UI). */
@media (pointer: coarse) {
    .lw-tree-label[b-l3kk9dfkby], .lw-tree-toggle[b-l3kk9dfkby] { min-height: var(--lw-touch); }
    .lw-tree-toggle[b-l3kk9dfkby] { min-width: var(--lw-touch); }
}
/* /Components/Shared/ViewSelect.razor.rz.scp.css */
.lw-view-select[b-72hpao7vnm] {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    gap: var(--lw-space-1);
    color: var(--lw-content-text-muted);
    font-size: var(--lw-font-size-sm);
}

.lw-view-select select[b-72hpao7vnm] {
    height: 36px;
    /* Sized to its longest option, so a long name (an adapter) is never cut off; only the row's width limits it. */
    min-width: 0;
    max-width: 100%;
    padding: 0 var(--lw-space-2);
    border: 1px solid var(--lw-content-border);
    border-radius: var(--lw-radius-sm);
    background: var(--lw-content-surface-muted);
    color: var(--lw-content-text);
    font: inherit;
    font-size: var(--lw-font-size);
}

.lw-view-select select:focus[b-72hpao7vnm] {
    border-color: var(--lw-control-primary-bg);
    outline: none;
}

@media (max-width: 760px) {
    .lw-view-select-label[b-72hpao7vnm] {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }

    .lw-view-select select[b-72hpao7vnm] {
        height: var(--lw-touch);
    }
}
/* /Components/Shared/WorkflowBar.razor.rz.scp.css */
.workflow-bar[b-whour26eqo] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--lw-space-1);
}
