/* /Components/AddAxisItemDialog.razor.rz.scp.css */
.modal-backdrop[b-clh2wsal03] {
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-clh2wsal03 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-clh2wsal03 {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.modal-dialog[b-clh2wsal03] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 420px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-clh2wsal03 150ms ease-in-out both;
}

@keyframes dialog-slide-in-b-clh2wsal03 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-clh2wsal03] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--border);
}

.modal-title[b-clh2wsal03] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-close-btn[b-clh2wsal03] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    padding: 0;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.modal-close-btn:hover:not(:disabled)[b-clh2wsal03] {
    color: var(--ink);
    background: var(--border);
}

.modal-close-btn:disabled[b-clh2wsal03] {
    opacity: 0.4;
    cursor: not-allowed;
}

.modal-body[b-clh2wsal03] {
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.form-group[b-clh2wsal03] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.form-label[b-clh2wsal03] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--ink2);
}

.form-input[b-clh2wsal03] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.form-input:focus[b-clh2wsal03] {
    outline: none;
    border-color: var(--accent);
}

.form-input:disabled[b-clh2wsal03] {
    opacity: 0.5;
    cursor: not-allowed;
}

.form-input[b-clh2wsal03]::placeholder {
    color: var(--ink2);
    opacity: 0.6;
}

.form-checkbox-label[b-clh2wsal03] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
}

.form-checkbox[b-clh2wsal03] {
    width: 16px;
    height: 16px;
    accent-color: var(--accent);
    cursor: pointer;
    margin: 0;
}

.form-checkbox:disabled[b-clh2wsal03] {
    opacity: 0.5;
    cursor: not-allowed;
}

.form-checkbox-text[b-clh2wsal03] {
    font-size: 0.85rem;
    color: var(--ink2);
}

.modal-footer[b-clh2wsal03] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 1rem 1.5rem 1.25rem;
    border-top: 1px solid var(--border);
}

/* /Components/AddBookDialog.razor.rz.scp.css */
.modal-backdrop[b-esqsgchk4r] {
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-esqsgchk4r 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-esqsgchk4r {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.modal-dialog[b-esqsgchk4r] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 460px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-esqsgchk4r 150ms ease-in-out both;
}

@keyframes dialog-slide-in-b-esqsgchk4r {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.modal-header[b-esqsgchk4r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--border);
}

.modal-title[b-esqsgchk4r] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-close-btn[b-esqsgchk4r] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    padding: 0;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.modal-close-btn:hover:not(:disabled)[b-esqsgchk4r] {
    color: var(--ink);
    background: var(--border);
}

.modal-close-btn:disabled[b-esqsgchk4r] {
    opacity: 0.4;
    cursor: not-allowed;
}

.modal-body[b-esqsgchk4r] {
    padding: 1.25rem 1.5rem;
}

.form-group[b-esqsgchk4r] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.form-label[b-esqsgchk4r] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--ink2);
}

.form-input[b-esqsgchk4r] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.form-input:focus[b-esqsgchk4r] {
    outline: none;
    border-color: var(--accent);
}

.form-input:disabled[b-esqsgchk4r] {
    opacity: 0.5;
    cursor: not-allowed;
}

.form-input[b-esqsgchk4r]::placeholder {
    color: var(--ink2);
    opacity: 0.6;
}

.form-hint[b-esqsgchk4r] {
    font-size: 0.78rem;
    color: var(--ink2);
    margin: 4px 0 0;
    line-height: 1.4;
}

.modal-footer[b-esqsgchk4r] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 1rem 1.5rem 1.25rem;
    border-top: 1px solid var(--border);
}

/* /Components/AppHeader.razor.rz.scp.css */
.app-header[b-gfo9tq3jwp] {
    height: 48px;
    background-color: var(--bg2);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    padding: 0 16px;
}

.header-content[b-gfo9tq3jwp] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    width: 100%;
    gap: 1rem;
}

.header-left[b-gfo9tq3jwp] {
    display: flex;
    align-items: center;
}

.header-center[b-gfo9tq3jwp] {
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-right[b-gfo9tq3jwp] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.branding[b-gfo9tq3jwp] {
    display: flex;
    align-items: center;
    color: var(--ink);
}

/* --------------------------------------------------------------------------
   User menu
   -------------------------------------------------------------------------- */

.user-menu[b-gfo9tq3jwp] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: var(--r);
    transition: background-color 150ms ease-in-out;
    user-select: none;
}

.user-menu:hover[b-gfo9tq3jwp] {
    background-color: var(--border);
}

.user-avatar[b-gfo9tq3jwp] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.user-avatar--monogram[b-gfo9tq3jwp] {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--accent);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    flex-shrink: 0;
}

.user-display-name[b-gfo9tq3jwp] {
    font-size: 0.875rem;
    color: var(--ink);
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-dropdown[b-gfo9tq3jwp] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background-color: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    min-width: 140px;
    box-shadow: var(--shadow-lg);
    z-index: 200;
    overflow: hidden;
}

.user-dropdown-item[b-gfo9tq3jwp] {
    display: block;
    width: 100%;
    padding: 10px 16px;
    background: none;
    border: none;
    color: var(--ink);
    font-size: 0.875rem;
    text-align: left;
    cursor: pointer;
    transition: background-color 150ms ease-in-out;
}

.user-dropdown-item:hover[b-gfo9tq3jwp] {
    background-color: var(--border);
}

.user-badges[b-gfo9tq3jwp] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: 2px;
}

.user-badge[b-gfo9tq3jwp] {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
    user-select: none;
}

.user-badge--vip[b-gfo9tq3jwp] {
    background-color: var(--badge-vip-bg);
    color: var(--badge-vip-fg);
}

.user-badge--founder[b-gfo9tq3jwp] {
    background-color: var(--badge-founder-bg);
    color: var(--badge-founder-fg);
}

/* --------------------------------------------------------------------------
   Header project name + buttons
   -------------------------------------------------------------------------- */

.header-project-name[b-gfo9tq3jwp] {
    font-size: 0.85rem;
    color: var(--ink2);
    margin-left: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 200px;
}

.header-project-settings-btn[b-gfo9tq3jwp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-left: 6px;
    background: transparent;
    border: none;
    color: var(--ink3);
    cursor: pointer;
    border-radius: var(--r);
    transition: color 120ms ease, background-color 120ms ease;
}

.header-project-settings-btn:hover[b-gfo9tq3jwp] {
    color: var(--ink);
    background: var(--bg2);
}

.header-search-btn[b-gfo9tq3jwp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    padding: 5px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.header-search-btn:hover[b-gfo9tq3jwp] {
    color: var(--ink);
    background: var(--bg3);
}

.header-export-btn[b-gfo9tq3jwp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    padding: 4px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.header-export-btn:hover[b-gfo9tq3jwp] {
    color: var(--accent);
    background: var(--accent-lt);
}

.header-publish-btn[b-gfo9tq3jwp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    padding: 4px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.header-publish-btn:hover[b-gfo9tq3jwp] {
    color: var(--accent);
    background: var(--accent-lt);
}

/* Mode toggle (Writing / Boards / Planning) — segmented icon buttons */

.header-mode-toggle[b-gfo9tq3jwp] {
    display: inline-flex;
    align-items: center;
    margin-left: 10px;
    background: var(--bg2);
    border-radius: var(--r);
    padding: 2px;
    gap: 2px;
}

.header-mode-btn[b-gfo9tq3jwp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 24px;
    background: transparent;
    border: none;
    color: var(--ink2);
    cursor: pointer;
    border-radius: 4px;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
    padding: 0;
}

.header-mode-btn:hover:not(.header-mode-btn--active)[b-gfo9tq3jwp] {
    color: var(--ink);
}

.header-mode-btn--active[b-gfo9tq3jwp] {
    color: var(--accent);
    background: var(--accent-lt);
}

.header-close-project-btn[b-gfo9tq3jwp] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 12px;
    padding: 4px 10px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
    white-space: nowrap;
}

.header-close-project-btn:hover[b-gfo9tq3jwp] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}
/* /Components/AssembledView.razor.rz.scp.css */
.assembled-scroll[b-a19qs86ls4] {
    height: 100%;
    overflow-y: auto;
    background-color: var(--bg3);
}

.assembled-view[b-a19qs86ls4] {
    max-width: 720px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: max(0px, calc(50% - 360px + var(--workspace-screen-offset, 0px)));
    margin-right: auto;
    padding: 4px 40px;
    background-color: var(--bg);
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
    font-family: var(--assembled-font, 'Garamond', 'EB Garamond', 'Georgia', serif);
    line-height: var(--assembled-line-height, 1.8);
    color: var(--ink);
}

.assembled-heading[b-a19qs86ls4] {
    margin: var(--heading-margin, 2em 0 0.75em);
    line-height: 1.3;
    text-align: var(--heading-align, center);
}

.assembled-heading--h1[b-a19qs86ls4] {
    font-size: 2rem;
    margin-bottom: 1.2rem;
    text-align: center;
}

.assembled-heading--h2[b-a19qs86ls4] {
    font-size: 1.65rem;
    font-weight: 700;
    color: var(--accent);
    border-bottom: var(--heading-border, 1px solid var(--border));
    padding-bottom: 0.3em;
}

.assembled-heading--h3[b-a19qs86ls4] {
    font-size: 1.3em;
    font-weight: 600;
    color: var(--accent);
    margin-top: 1.2em;
    margin-bottom: var(--heading-bottom-margin, 0.4em);
    text-align: var(--heading-align, left);
}

.assembled-heading--h4[b-a19qs86ls4] {
    font-size: 1em;
    font-weight: 600;
    color: var(--ink2);
    margin-top: 1em;
    margin-bottom: var(--heading-bottom-margin, 0.4em);
    text-align: left;
}


.assembled-heading--clickable[b-a19qs86ls4] {
    cursor: pointer;
    transition: color 150ms ease-in-out;
}

.assembled-heading--clickable:hover[b-a19qs86ls4] {
    color: var(--accent);
}

.assembled-content[b-a19qs86ls4] {
    font-size: 1.25rem;
    text-align: var(--content-align, justify);
    text-indent: var(--content-indent, 2em);
}

/* Child element styles are in app.css (global) because MarkupString
   content is injected dynamically and Blazor scoped CSS cannot reach it. */

.assembled-separator[b-a19qs86ls4] {
    text-align: center;
    color: var(--ink2);
    letter-spacing: 0.3em;
    margin: 1.5em 0;
    padding: 1em 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
/* /Components/BatchSummaryDialog.razor.rz.scp.css */
.modal-backdrop[b-r4pginj175] {
    position: fixed;
    inset: 0;
    background: rgba(42, 37, 32, 0.55);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-dialog[b-r4pginj175] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: 10px;
    width: min(560px, calc(100vw - 2rem));
    max-height: calc(100vh - 4rem);
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-lg);
    z-index: 1001;
}

.modal-header[b-r4pginj175] {
    padding: 1.25rem 1.5rem 0.75rem;
    border-bottom: 1px solid var(--border);
}

.modal-title[b-r4pginj175] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-body[b-r4pginj175] {
    padding: 1rem 1.5rem;
    flex: 1;
    overflow-y: auto;
}

.modal-message[b-r4pginj175] {
    font-size: 0.85rem;
    color: var(--ink2);
    margin: 0;
    line-height: 1.5;
}

.modal-footer[b-r4pginj175] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0.875rem 1.5rem;
    border-top: 1px solid var(--border);
}

.batch-summary-dialog[b-r4pginj175] {
    max-width: 560px;
}

.batch-summary-dialog-hint[b-r4pginj175] {
    margin-bottom: 16px;
}

.batch-summary-dialog-list[b-r4pginj175] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-height: 360px;
    overflow-y: auto;
    padding-right: 2px; /* keep scrollbar from clipping content */
}

.batch-summary-dialog-row[b-r4pginj175] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.batch-summary-dialog-label[b-r4pginj175] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.3;
}

.batch-summary-dialog-input[b-r4pginj175] {
    display: block;
    width: 100%;
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    padding: 9px 12px;
    font: 13px/1.5 var(--font-ui, inherit);
    color: var(--ink);
    outline: none;
    box-sizing: border-box;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.batch-summary-dialog-input:focus[b-r4pginj175] {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(43, 92, 230, 0.12);
}

.batch-summary-dialog-input[b-r4pginj175]::placeholder {
    color: var(--ink3);
}
/* /Components/BoardCell.razor.rz.scp.css */
.board-cell[b-lbbapbbrdj] {
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    height: var(--board-cell-height);
    padding: 12px 14px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: background-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
    vertical-align: top;
    min-width: var(--board-cell-width);
    width: var(--board-cell-width);
    box-sizing: border-box;
}

.board-cell--empty[b-lbbapbbrdj] {
    background-color: var(--board-cell-bg);
}

.board-cell--empty:hover[b-lbbapbbrdj] {
    background-color: var(--bg3);
}

.board-cell--filled[b-lbbapbbrdj] {
    background-color: var(--board-node-bg);
}

.board-cell--filled:hover[b-lbbapbbrdj] {
    background-color: var(--board-header-bg);
}

.board-cell--related[b-lbbapbbrdj] {
    background-color: var(--board-node-bg);
}

.board-cell--related:hover[b-lbbapbbrdj] {
    background-color: var(--board-header-bg);
}

/* ---- Selected cell ---- */

.board-cell--selected[b-lbbapbbrdj] {
    background-color: var(--accent-lt) !important;
    box-shadow: inset 0 0 0 2px var(--accent);
    /* Raise above all sticky headers (col: z-index 2, row: z-index 1) and adjacent cells
       so the inset box-shadow ring is fully visible on all four sides */
    z-index: 4;
}

/* ---- Display mode ---- */

/* Fill the cell content area and reserve a bottom strip so visible bullets always
   clip with a real margin above the overflow ellipsis (mirroring the top padding).
   The strip is reserved whether or not the cell is currently overflowing — short
   content just doesn't reach it. */
.board-cell-display[b-lbbapbbrdj] {
    position: relative;
    height: 100%;
    padding-bottom: 17px;
    box-sizing: border-box;
    overflow: hidden;
}

.board-cell-bullets[b-lbbapbbrdj] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.board-cell-bullet-item[b-lbbapbbrdj] {
    display: flex;
    align-items: baseline;
    gap: 5px;
    font-size: 0.75rem;
    color: var(--ink);
    line-height: 1.4;
    min-width: 0;
}

.board-cell-bullet-item[b-lbbapbbrdj]::before {
    content: "•";
    font-size: 1rem;
    color: var(--accent);
    opacity: 0.9;
    flex-shrink: 0;
    line-height: 1.4;
}

.board-cell-bullet-text[b-lbbapbbrdj] {
    overflow-wrap: break-word;
    word-break: break-word;
    min-width: 0;
    flex: 1;
}

/* ---- Watermark for related-but-empty cells ---- */

.board-cell-watermark[b-lbbapbbrdj] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 0.72rem;
    font-style: italic;
    color: var(--ink2);
    opacity: 0.35;
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
}

/* ---- Overflow ellipsis indicator ---- */
/* Only shown when the cell has more bullets than fit in the visible area
   (see BoardCell.HasOverflow). The .board-cell-display padding-bottom reserves
   the strip below the visible text so the ellipsis sits in clear space. */

.board-cell--overflow[b-lbbapbbrdj]::after {
    content: '...';
    position: absolute;
    bottom: 4px;
    right: 8px;
    font-size: 0.7rem;
    color: var(--ink2);
    background: var(--board-node-bg);
    padding: 0 4px;
    border-radius: 3px;
    line-height: 1;
    pointer-events: none;
}

.board-cell--overflow:hover[b-lbbapbbrdj]::after {
    background: var(--board-header-bg);
}

.board-cell--selected.board-cell--overflow[b-lbbapbbrdj]::after {
    background: var(--accent-lt);
}

.board-cell-action[b-lbbapbbrdj] {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: var(--r);
    background-color: color-mix(in srgb, var(--board-cell-bg) 80%, transparent);
    color: var(--ink3);
    cursor: pointer;
    opacity: 0;
    transition: opacity 150ms ease-in-out, color 150ms ease-in-out, background-color 150ms ease-in-out;
    padding: 0;
    line-height: 1;
}

.board-cell:hover .board-cell-action[b-lbbapbbrdj] {
    opacity: 1;
}

.board-cell-action--relate:hover[b-lbbapbbrdj] {
    color: var(--accent);
    background-color: color-mix(in srgb, var(--board-cell-bg) 90%, transparent);
}

.board-cell-action--delete:hover[b-lbbapbbrdj] {
    color: var(--accent);
    background-color: color-mix(in srgb, var(--board-cell-bg) 90%, transparent);
}

.board-cell-action--disabled[b-lbbapbbrdj] {
    opacity: 0.3 !important;
    cursor: not-allowed;
    pointer-events: none;
}

.board-cell--match-highlight[b-lbbapbbrdj] {
    outline: 2px solid var(--color-find-match-active);
    outline-offset: -2px;
    z-index: 4;
}

/* /Components/BoardChatPanel.razor.rz.scp.css */
/* Chat panel styles live in wwwroot/css/chat-panel.css (non-scoped) so they're shared
   with StitchedChatPanel — Blazor scoped CSS would only target this component's rendered
   elements, leaving the stitched panel unstyled. This file is intentionally empty. */
/* /Components/BoardHistoryPanel.razor.rz.scp.css */
.board-history-panel[b-jazribb5g6] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.board-history-panel-header[b-jazribb5g6] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.board-history-panel-title[b-jazribb5g6] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--ink2);
    font-family: var(--font-ui);
    letter-spacing: 0.04em;
}

.board-history-panel-close-btn[b-jazribb5g6] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background: none;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
}

.board-history-panel-close-btn:hover[b-jazribb5g6] {
    background: var(--bg3);
    color: var(--ink);
}

.board-history-panel-body[b-jazribb5g6] {
    display: flex;
    flex-direction: row;
    flex: 1;
    overflow: hidden;
}

.board-history-panel-sidebar[b-jazribb5g6] {
    width: 220px;
    flex-shrink: 0;
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.board-history-panel-list[b-jazribb5g6] {
    flex: 1;
    overflow-y: auto;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.board-history-panel-sentinel[b-jazribb5g6] {
    height: 1px;
    flex-shrink: 0;
}

.board-history-panel-loading[b-jazribb5g6] {
    padding: 8px 12px;
    font-size: 0.75rem;
    color: var(--ink3);
    font-family: var(--font-ui);
}

.board-history-panel-content[b-jazribb5g6] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.board-preview-header[b-jazribb5g6] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 6px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
    font-family: var(--font-ui);
}

.board-preview-header.blocked[b-jazribb5g6] {
    background: color-mix(in srgb, var(--status-warning) 12%, transparent);
}

.board-preview-header-left[b-jazribb5g6] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.board-preview-header-label[b-jazribb5g6] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink3);
}

.board-preview-header-timestamp[b-jazribb5g6] {
    font-size: 0.8rem;
    color: var(--ink2);
}

.board-btn-restore[b-jazribb5g6] {
    padding: 5px 12px;
    background: var(--accent);
    color: #ffffff;
    border: none;
    border-radius: var(--r);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    transition: background 150ms ease-in-out;
    flex-shrink: 0;
}

.board-btn-restore:hover:not(:disabled)[b-jazribb5g6] {
    background: var(--accent-hover);
}

.board-btn-restore.restoring[b-jazribb5g6] {
    opacity: 0.6;
    cursor: not-allowed;
}

.board-btn-restore.restoring[b-jazribb5g6]::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 6px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: board-btn-restore-spin-b-jazribb5g6 0.7s linear infinite;
    vertical-align: middle;
}

@keyframes board-btn-restore-spin-b-jazribb5g6 {
    to { transform: rotate(360deg); }
}

.board-btn-restore.disabled[b-jazribb5g6] {
    background: var(--bg3);
    color: var(--ink3);
    border: 1px solid var(--border);
    cursor: not-allowed;
}

.board-restore-confirm-timestamp[b-jazribb5g6] {
    font-size: 0.9rem;
    color: var(--ink2);
    font-family: var(--font-ui);
    margin-bottom: 12px;
}

.board-restore-confirm-callout[b-jazribb5g6] {
    padding: 10px 12px;
    border-radius: var(--r);
    background: color-mix(in srgb, var(--status-warning) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--status-warning) 40%, transparent);
    font-size: 0.85rem;
    font-family: var(--font-ui);
    color: var(--ink);
    line-height: 1.5;
}
/* /Components/BoardHistoryPreview.razor.rz.scp.css */
.bhp-container[b-5874hck8rq] {
    --bhp-row-header-width: 160px;
    --bhp-cell-width: 200px;
    --bhp-cell-min-height: 56px;
    --bhp-cell-max-height: 140px;
    --bhp-header-min-height: 48px;
    --bhp-header-max-lines: 2;
    --bhp-cell-max-lines: 6;

    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: var(--bg2);
    font-family: var(--font-ui);
}

.bhp-scroll-area[b-5874hck8rq] {
    width: 100%;
    height: 100%;
    overflow: auto;
}

.bhp-empty[b-5874hck8rq] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--ink2);
    font-size: 0.875rem;
}

.bhp-grid[b-5874hck8rq] {
    display: grid;
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
}

.bhp-corner-cell[b-5874hck8rq] {
    background-color: var(--bg3);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    min-height: var(--bhp-header-min-height);
    box-sizing: border-box;
}

.bhp-col-header[b-5874hck8rq] {
    background-color: var(--bg3);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    min-height: var(--bhp-header-min-height);
    min-width: var(--bhp-cell-width);
    width: var(--bhp-cell-width);
    display: flex;
    align-items: center;
    padding: 8px 12px;
    box-sizing: border-box;
}

.bhp-row-header[b-5874hck8rq] {
    background-color: var(--bg3);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    min-height: var(--bhp-cell-min-height);
    max-height: var(--bhp-cell-max-height);
    width: var(--bhp-row-header-width);
    display: flex;
    align-items: center;
    padding: 8px 12px;
    box-sizing: border-box;
    overflow: hidden;
}

.bhp-header-name[b-5874hck8rq] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
    max-width: 100%;
    user-select: none;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--bhp-header-max-lines);
    line-clamp: var(--bhp-header-max-lines);
}

.bhp-cell[b-5874hck8rq] {
    background-color: var(--bg2);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    min-height: var(--bhp-cell-min-height);
    max-height: var(--bhp-cell-max-height);
    min-width: var(--bhp-cell-width);
    width: var(--bhp-cell-width);
    padding: 8px 12px;
    box-sizing: border-box;
    vertical-align: top;
    overflow: hidden;
}

.bhp-cell--has-content[b-5874hck8rq] {
    background-color: var(--bg);
}

.bhp-cell-text[b-5874hck8rq] {
    font-size: 0.8125rem;
    color: var(--ink);
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--bhp-cell-max-lines);
    line-clamp: var(--bhp-cell-max-lines);
}
/* /Components/BoardInspector.razor.rz.scp.css */
.board-inspector[b-miv83g6voc] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 16px;
}

.inspector-section-group[b-miv83g6voc] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.inspector-section-group:first-child[b-miv83g6voc] {
    padding-top: 0;
    border-top: none;
}

.inspector-section-title[b-miv83g6voc] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.inspector-section[b-miv83g6voc] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.inspector-label[b-miv83g6voc] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.inspector-input[b-miv83g6voc] {
    width: 100%;
    padding: 6px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.875rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.inspector-input:focus[b-miv83g6voc] {
    outline: none;
    border-color: var(--accent);
}

.inspector-input:disabled[b-miv83g6voc] {
    opacity: 0.5;
    cursor: not-allowed;
}

.inspector-notes-label-row[b-miv83g6voc] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
}

/* Visual frame around the cell-notes BulletNotes, matching the bg+border feel of the
   related-entity-card on the EntityInspector. The :has() guard drops the outer frame
   when BulletNotes' own editor is active so we don't end up with a double border. */
.inspector-cell-notes-frame[b-miv83g6voc] {
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    padding: 4px 6px;
    box-sizing: border-box;
}

.inspector-cell-notes-frame:has(.bullet-notes-editor)[b-miv83g6voc] {
    background: transparent;
    border-color: transparent;
    padding: 0;
}

.inspector-cell-context[b-miv83g6voc] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.inspector-cell-context-card[b-miv83g6voc] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: var(--board-cell-bg);
    border: 1px solid var(--border);
    border-radius: var(--r);
}

.inspector-cell-context-image[b-miv83g6voc] {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.inspector-cell-context-image--logo[b-miv83g6voc] {
    width: 32px;
    height: 32px;
    border-radius: var(--r);
    object-fit: contain;
}

.inspector-cell-context-info[b-miv83g6voc] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding-top: 2px;
}

.inspector-cell-context-value[b-miv83g6voc] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ink);
    word-break: break-word;
    text-align: left;
}

.inspector-axis-item-image-wrap[b-miv83g6voc] {
    display: flex;
    justify-content: center;
}

.inspector-axis-item-name[b-miv83g6voc] {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--ink);
    text-align: center;
    word-break: break-word;
    line-height: 1.3;
    display: block;
    width: 100%;
}

.inspector-axis-name-row[b-miv83g6voc] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.inspector-axis-name-input[b-miv83g6voc] {
    flex: 1;
    min-width: 0;
    padding: 6px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.875rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.inspector-axis-name-input:focus[b-miv83g6voc] {
    outline: none;
    border-color: var(--accent);
}

.inspector-axis-goto-btn[b-miv83g6voc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    flex-shrink: 0;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background-color 150ms ease-in-out;
}

.inspector-axis-goto-btn:hover[b-miv83g6voc] {
    color: var(--accent);
    border-color: var(--accent);
    background-color: var(--accent-lt);
}

.board-inspector-entity-link[b-miv83g6voc] {
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
    transition: color 150ms ease-in-out;
}

.board-inspector-entity-link:hover[b-miv83g6voc] {
    color: var(--accent-hover);
}

.extraction-icon-btn[b-miv83g6voc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    flex-shrink: 0;
    transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
}

.extraction-icon-btn:hover:not(:disabled)[b-miv83g6voc] {
    color: var(--accent);
    background-color: var(--accent-lt);
    border-color: var(--accent-lt);
}

.extraction-icon-btn:disabled[b-miv83g6voc] {
    opacity: 0.35;
    cursor: not-allowed;
}

/* Full-width variant used in the node inspector panel */
.inspector-node-extract-btn[b-miv83g6voc] {
    width: 100%;
    height: 32px;
    border: 1px solid var(--border);
    color: var(--ink2);
}

.inspector-node-extract-btn:hover:not(:disabled)[b-miv83g6voc] {
    color: var(--accent);
    background-color: var(--accent-lt);
    border-color: var(--accent);
}

.extraction-icon-btn-spinner[b-miv83g6voc] {
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 2px solid rgba(43, 92, 230, 0.25);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: extraction-icon-spin-b-miv83g6voc 0.7s linear infinite;
}

@keyframes extraction-icon-spin-b-miv83g6voc {
    to { transform: rotate(360deg); }
}

.inspector-axis-description[b-miv83g6voc] {
    width: 100%;
    padding: 6px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.875rem;
    font-family: inherit;
    line-height: 1.5;
    resize: vertical;
    box-sizing: border-box;
    transition: border-color 150ms ease-in-out;
    min-height: 120px;
}

.inspector-axis-description:focus[b-miv83g6voc] {
    outline: none;
    border-color: var(--accent);
}

.inspector-axis-description:disabled[b-miv83g6voc] {
    opacity: 0.5;
    cursor: not-allowed;
    resize: none;
}

.inspector-axis-description[b-miv83g6voc]::placeholder {
    color: var(--ink2);
    opacity: 0.45;
}

.advanced-settings-link[b-miv83g6voc] {
    align-self: flex-start;
    background: none;
    border: none;
    padding: 0;
    font-size: 11px;
    color: var(--ink3);
    cursor: pointer;
    font-family: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: transparent;
    transition: color 150ms ease-in-out, text-decoration-color 150ms ease-in-out;
}

.advanced-settings-link:hover[b-miv83g6voc] {
    color: var(--ink2);
    text-decoration-color: var(--ink2);
}

/* /Components/BoardReviewDialog.razor.rz.scp.css */
/* ---- Backdrop ---- */

.ift-backdrop[b-4akaxzimbc] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: ift-backdrop-in-b-4akaxzimbc 150ms ease-in-out both;
}

@keyframes ift-backdrop-in-b-4akaxzimbc {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ---- Dialog base ---- */

.ift-dialog[b-4akaxzimbc] {
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: 10px;
    box-shadow: var(--shadow-lg);
    max-width: calc(100vw - 2rem);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    animation: ift-dialog-in-b-4akaxzimbc 150ms ease-in-out both;
    outline: none;
}

@keyframes ift-dialog-in-b-4akaxzimbc {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---- Width variants ---- */

.ift-dialog--loading[b-4akaxzimbc] { width: 380px; }
.ift-dialog--error[b-4akaxzimbc]   { width: 420px; }
.ift-dialog--simple[b-4akaxzimbc]  { width: 420px; }
.ift-dialog--edit[b-4akaxzimbc]    { width: 800px; }
.ift-dialog--delete[b-4akaxzimbc]  { width: 520px; }
.ift-dialog--summary[b-4akaxzimbc] { width: 460px; }

/* ---- Loading body ---- */

.ift-loading-body[b-4akaxzimbc] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    flex: 1;
}

.ift-loading-spinner[b-4akaxzimbc] {
    display: inline-block;
    width: 36px;
    height: 36px;
    border: 3px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: ift-spin-b-4akaxzimbc 0.75s linear infinite;
}

/* ---- Error callout ---- */

.ift-error-callout[b-4akaxzimbc] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    background: color-mix(in srgb, var(--status-error) 10%, var(--bg2));
    border: 1px solid var(--status-error);
    border-radius: var(--r);
    font-size: 0.85rem;
    color: var(--ink);
    line-height: 1.5;
}

.ift-error-icon[b-4akaxzimbc] {
    color: var(--status-error);
    flex-shrink: 0;
    margin-top: 1px;
}

/* ---- Header ---- */

.ift-header[b-4akaxzimbc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.ift-header-text[b-4akaxzimbc] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ift-title[b-4akaxzimbc] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.ift-subtitle[b-4akaxzimbc] {
    font-size: 0.8rem;
    color: var(--ink2);
    margin: 0;
}

/* ---- Header right cluster (step counter + close) ---- */

.ift-header-right[b-4akaxzimbc] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* ---- Close button ---- */

.ift-close-btn[b-4akaxzimbc] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    flex-shrink: 0;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.ift-close-btn:hover:not(:disabled)[b-4akaxzimbc] {
    color: var(--ink);
    background: var(--bg3);
}

.ift-close-btn:disabled[b-4akaxzimbc] {
    opacity: 0.35;
    cursor: not-allowed;
}

/* ---- Step counter chip ---- */

.ift-step-counter[b-4akaxzimbc] {
    flex-shrink: 0;
    padding: 3px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--ink2);
    white-space: nowrap;
    align-self: center;
}

/* ---- Additions banner ---- */

.ift-additions-banner[b-4akaxzimbc] {
    padding: 9px 20px;
    background: var(--accent-lt);
    border-bottom: 1px solid var(--accent);
    font-size: 0.82rem;
    color: var(--ink);
    flex-shrink: 0;
}

/* ---- Body (generic) ---- */

.ift-body[b-4akaxzimbc] {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ift-helper[b-4akaxzimbc] {
    font-size: 0.85rem;
    color: var(--ink2);
    margin: 0;
    line-height: 1.5;
}

/* ---- Review body (side-by-side) ---- */

.ift-review-body[b-4akaxzimbc] {
    flex: 1;
    display: flex;
    overflow: hidden;
    min-height: 280px;
}

.ift-review-panel[b-4akaxzimbc] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 20px;
    overflow-y: auto;
    min-width: 0;
}

.ift-panel-divider[b-4akaxzimbc] {
    width: 1px;
    background: var(--border);
    flex-shrink: 0;
}

.ift-panel-label[b-4akaxzimbc] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--ink2);
    flex-shrink: 0;
}

.ift-panel-label--proposed[b-4akaxzimbc] {
    color: var(--accent);
}

/* ---- Location chips ---- */

.ift-location-chips[b-4akaxzimbc] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ift-chip[b-4akaxzimbc] {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    padding: 4px 8px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.8rem;
    color: var(--ink);
    line-height: 1.4;
}

.ift-chip-axis[b-4akaxzimbc] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ink2);
    flex-shrink: 0;
}

/* ---- Bullet lists ---- */

.ift-bullets[b-4akaxzimbc] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ift-bullet-item[b-4akaxzimbc] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 0.82rem;
    color: var(--ink);
    line-height: 1.5;
}

.ift-bullet-item[b-4akaxzimbc]::before {
    content: "•";
    font-size: 0.9rem;
    color: var(--accent);
    flex-shrink: 0;
}

.ift-bullet-item--added[b-4akaxzimbc] {
    color: var(--status-success);
}

.ift-bullet-item--added[b-4akaxzimbc]::before {
    color: var(--status-success);
    opacity: 1;
}

.ift-bullet-item--removed[b-4akaxzimbc] {
    color: var(--status-error);
}

.ift-bullet-item--removed[b-4akaxzimbc]::before {
    color: var(--status-error);
    opacity: 1;
}

.ift-diff-prefix[b-4akaxzimbc] {
    font-size: 0.75rem;
    font-weight: 700;
    flex-shrink: 0;
    font-family: monospace;
}

/* ---- Warning callout (delete phase) ---- */

.ift-warning-callout[b-4akaxzimbc] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    background: color-mix(in srgb, var(--status-error) 10%, var(--bg2));
    border: 1px solid var(--status-error);
    border-radius: var(--r);
    font-size: 0.85rem;
    color: var(--ink);
    line-height: 1.5;
}

.ift-warning-icon[b-4akaxzimbc] {
    color: var(--status-error);
    flex-shrink: 0;
    margin-top: 1px;
}

/* ---- Notes section label ---- */

.ift-notes-section-label[b-4akaxzimbc] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--ink2);
    margin: 0;
}

/* ---- Notes preview card ---- */

.ift-notes-preview[b-4akaxzimbc] {
    padding: 12px 14px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
}

/* ---- Summary grid ---- */

.ift-summary-grid[b-4akaxzimbc] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.ift-summary-card[b-4akaxzimbc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 16px 12px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
}

.ift-summary-count[b-4akaxzimbc] {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
}

.ift-summary-label[b-4akaxzimbc] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--ink2);
}

.ift-summary-grid--four[b-4akaxzimbc] {
    grid-template-columns: repeat(2, 1fr);
}

.ift-summary-card--additions .ift-summary-count[b-4akaxzimbc] { color: var(--status-success); }
.ift-summary-card--edits     .ift-summary-count[b-4akaxzimbc] { color: var(--accent); }
.ift-summary-card--removals  .ift-summary-count[b-4akaxzimbc] { color: var(--status-error); }
.ift-summary-card--reorders  .ift-summary-count[b-4akaxzimbc] { color: var(--ink2); }

/* ---- Skipped chip ---- */

.ift-skipped-chip[b-4akaxzimbc] {
    align-self: flex-start;
    padding: 4px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: 20px;
    font-size: 0.75rem;
    color: var(--ink2);
}

/* ---- Footer ---- */

.ift-footer[b-4akaxzimbc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}

.ift-footer-hint[b-4akaxzimbc] {
    font-size: 0.78rem;
    color: var(--ink3);
}

.ift-footer-btns[b-4akaxzimbc] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

/* ---- Buttons ---- */

.ift-btn-skip[b-4akaxzimbc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    background: transparent;
    color: var(--ink2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.875rem;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
    min-height: 36px;
}

.ift-btn-skip:hover[b-4akaxzimbc] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

.ift-btn-accept[b-4akaxzimbc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.5rem 1rem;
    background: var(--accent);
    color: #fff;
    border: none;
    border-radius: var(--r);
    font-size: 0.875rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 150ms ease-in-out;
    min-height: 36px;
}

.ift-btn-accept:hover[b-4akaxzimbc] {
    background: var(--accent-hover);
}

.ift-btn-remove[b-4akaxzimbc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.5rem 1rem;
    background: var(--status-error);
    color: #fff;
    border: none;
    border-radius: var(--r);
    font-size: 0.875rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: opacity 150ms ease-in-out;
    min-height: 36px;
}

.ift-btn-remove:hover[b-4akaxzimbc] {
    opacity: 0.88;
}

.ift-btn-apply[b-4akaxzimbc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.55rem 1.15rem;
    background: var(--accent);
    color: #fff;
    border: none;
    border-radius: var(--r);
    font-size: 0.875rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 150ms ease-in-out, opacity 150ms ease-in-out;
    min-height: 36px;
    min-width: 100px;
}

.ift-btn-apply:hover:not(:disabled)[b-4akaxzimbc] {
    background: var(--accent-hover);
}

.ift-btn-apply:disabled[b-4akaxzimbc] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ---- Button spinner ---- */

.ift-btn-spinner[b-4akaxzimbc] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ift-spin-b-4akaxzimbc 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes ift-spin-b-4akaxzimbc {
    to { transform: rotate(360deg); }
}

/* ---- Simple review card (columns / rows / reorders) ---- */

.ufc-simple-card[b-4akaxzimbc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 20px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    text-align: center;
}

.ufc-simple-card-axis[b-4akaxzimbc] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ink2);
}

.ufc-simple-card-label[b-4akaxzimbc] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.3;
}

.ufc-simple-card-meta[b-4akaxzimbc] {
    font-size: 0.78rem;
    color: var(--ink2);
}

.ufc-simple-card-description[b-4akaxzimbc] {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: var(--ink2);
    line-height: 1.4;
    font-style: italic;
}

.ufc-simple-card-aliases[b-4akaxzimbc] {
    margin-top: 0.65rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.ufc-simple-card-aliases-label[b-4akaxzimbc] {
    font-size: 0.78rem;
    color: var(--ink3);
    margin-right: 2px;
}

.ufc-simple-card-alias-chip[b-4akaxzimbc] {
    font-size: 0.78rem;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--bg3);
    border: 1px solid var(--border);
    color: var(--ink2);
}

/* ---- Entity content preview (WriteEntityContentReview / CreateEntityReview initial content) ---- */

.bcd-content-preview[b-4akaxzimbc] {
    padding: 12px 14px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.82rem;
    color: var(--ink);
    line-height: 1.6;
    max-height: 320px;
    overflow-y: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ---- Markdown-rendered content preview ---- */

/* Applied alongside .bcd-content-preview when the content was rendered through MarkdownRenderer
   to HTML. Resets pre-wrap (HTML elements provide their own whitespace), tightens default margins,
   and sizes headings sensibly inside the preview panel. */
.bcd-markdown[b-4akaxzimbc] {
    white-space: normal;
}

.bcd-markdown[b-4akaxzimbc]  h1,
.bcd-markdown[b-4akaxzimbc]  h2,
.bcd-markdown[b-4akaxzimbc]  h3,
.bcd-markdown[b-4akaxzimbc]  h4 {
    font-size: 0.92rem;
    font-weight: 600;
    margin: 0.6em 0 0.3em 0;
    color: var(--ink);
}

.bcd-markdown[b-4akaxzimbc]  h1:first-child,
.bcd-markdown[b-4akaxzimbc]  h2:first-child,
.bcd-markdown[b-4akaxzimbc]  h3:first-child,
.bcd-markdown[b-4akaxzimbc]  h4:first-child {
    margin-top: 0;
}

.bcd-markdown[b-4akaxzimbc]  p {
    margin: 0 0 0.5em 0;
}

.bcd-markdown[b-4akaxzimbc]  p:last-child {
    margin-bottom: 0;
}

.bcd-markdown[b-4akaxzimbc]  ul,
.bcd-markdown[b-4akaxzimbc]  ol {
    margin: 0.25em 0 0.5em 0;
    padding-left: 1.4em;
}

.bcd-markdown[b-4akaxzimbc]  li {
    margin-bottom: 0.2em;
}

.bcd-markdown[b-4akaxzimbc]  strong {
    font-weight: 600;
}

.bcd-markdown[b-4akaxzimbc]  em {
    font-style: italic;
}

.bcd-markdown[b-4akaxzimbc]  blockquote {
    margin: 0.5em 0;
    padding-left: 0.8em;
    border-left: 2px solid var(--border2);
    color: var(--ink2);
}

/* ---- Entity no-content placeholder (CreateEntityReview) ---- */

.ift-entity-no-content[b-4akaxzimbc] {
    font-size: 0.82rem;
    color: var(--ink3);
    margin: 0;
}

/* ---- Alias review subsection (WriteEntityContentReview, standalone path) ---- */

.ift-aliases-review[b-4akaxzimbc] {
    flex-shrink: 0;
    padding: 14px 24px 18px;
    border-top: 1px solid var(--border2);
    background: var(--bg2);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ift-aliases-unchanged[b-4akaxzimbc] {
    font-size: 0.82rem;
    color: var(--ink3);
    margin: 0;
}

/* ---- Rename card (RenameEntityReview) ---- */

.ift-rename-card[b-4akaxzimbc] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px 20px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
}

.ift-rename-card-row[b-4akaxzimbc] {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.ift-rename-label[b-4akaxzimbc] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ink2);
    min-width: 32px;
    flex-shrink: 0;
}

.ift-rename-name[b-4akaxzimbc] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.3;
}

.ift-rename-name--new[b-4akaxzimbc] {
    color: var(--accent);
}

.ift-rename-unresolved[b-4akaxzimbc] {
    font-size: 0.82rem;
    color: var(--ink2);
    font-weight: 400;
}

.ift-rename-arrow[b-4akaxzimbc] {
    font-size: 1.2rem;
    color: var(--ink3);
    padding-left: 42px;
}

/* ---- Section diff (WriteEntityContentReview) ---- */

.section-diff-new[b-4akaxzimbc] {
    border-left: 3px solid var(--status-success);
    background: color-mix(in srgb, var(--status-success) 8%, var(--bg2));
    padding-left: 8px;
    margin-bottom: 8px;
    border-radius: 0 var(--r) var(--r) 0;
}

.section-diff-modified[b-4akaxzimbc] {
    border-left: 3px solid var(--status-warning);
    background: color-mix(in srgb, var(--status-warning) 8%, var(--bg2));
    padding-left: 8px;
    margin-bottom: 8px;
    border-radius: 0 var(--r) var(--r) 0;
}

.section-diff-removed[b-4akaxzimbc] {
    border-left: 3px solid var(--status-error);
    background: color-mix(in srgb, var(--status-error) 8%, var(--bg2));
    padding-left: 8px;
    margin-bottom: 8px;
    border-radius: 0 var(--r) var(--r) 0;
    opacity: 0.6;
    text-decoration: line-through;
}

.section-diff-section[b-4akaxzimbc] {
    margin-bottom: 8px;
}

.section-diff-heading[b-4akaxzimbc] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--ink);
    margin: 6px 0 3px 0;
}

.section-diff-body[b-4akaxzimbc] {
    font-size: 0.82rem;
    color: var(--ink);
    line-height: 1.55;
}
/* /Components/BoardSurface.razor.rz.scp.css */
.board-surface[b-zqkx6wd8kf] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.board-surface-header[b-zqkx6wd8kf] {
    height: 40px;
    background: var(--bg2);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    flex-shrink: 0;
}

.board-surface-picker[b-zqkx6wd8kf] {
    min-width: 240px;
    max-width: 400px;
    padding: 5px 10px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--bg);
    color: var(--ink);
    font-size: 0.85rem;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.board-surface-picker:focus[b-zqkx6wd8kf] {
    outline: none;
    border-color: var(--accent);
}

.board-surface-picker--readonly[b-zqkx6wd8kf] {
    min-width: 240px;
    max-width: 400px;
    padding: 5px 10px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--bg);
    color: var(--ink);
    font-size: 0.85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    user-select: none;
    cursor: default;
}

.board-surface-body[b-zqkx6wd8kf] {
    flex: 1;
    display: flex;
    min-height: 0;
    overflow: hidden;
}

.board-surface-main[b-zqkx6wd8kf] {
    flex: 1;
    overflow: hidden;
    background: var(--bg);
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.board-surface-inspector[b-zqkx6wd8kf] {
    width: 340px;
    min-width: 340px;
    max-width: 400px;
    background: var(--bg2);
    border-left: 1px solid var(--border);
    display: flex;
    flex-direction: column;
}

.board-surface-inspector--chat[b-zqkx6wd8kf] {
    width: 640px;
    min-width: 640px;
    max-width: 640px;
}

/* All-books mode hides the per-board inspector — there's no single board
   selected, so axis/cell inspection doesn't apply. Step 6 ships the stitched
   view which decides for itself how to handle the right pane. */
.board-surface-inspector--hidden[b-zqkx6wd8kf] {
    display: none;
}

/* When board chat is open the pane-content must be a flex column so the
   height chain reaches board-chat-panel and its internal messages div scrolls. */
.board-surface-inspector--chat .pane-content[b-zqkx6wd8kf] {
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.board-surface-inspector--chat .pane-content > div[b-zqkx6wd8kf] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.board-surface-empty[b-zqkx6wd8kf] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink2);
    font-size: 0.95rem;
}

/* --------------------------------------------------------------------------
   Inspector styles — copied from MainLayout.razor.css because Blazor scoped
   CSS does not cross component boundaries.
   -------------------------------------------------------------------------- */

.pane-header[b-zqkx6wd8kf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    min-height: 40px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ink2);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.pane-content[b-zqkx6wd8kf] {
    padding: 16px;
    flex: 1;
    overflow-y: auto;
}

.add-btn[b-zqkx6wd8kf] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
    white-space: nowrap;
}

.add-btn:hover[b-zqkx6wd8kf] {
    color: var(--ink);
    border-color: var(--accent);
    background: var(--accent-lt);
}

.add-btn--active[b-zqkx6wd8kf] {
    color: var(--accent);
    border-color: var(--accent);
    background: var(--accent-lt);
}

.dimmed[b-zqkx6wd8kf] {
    color: var(--ink2);
    font-size: 0.85rem;
}

.history-active-notice[b-zqkx6wd8kf] {
    padding: 7px 12px;
    font-size: 0.75rem;
    font-family: var(--font-ui);
    color: var(--ink3);
    background: var(--bg3);
    border-bottom: 1px solid var(--border);
    text-align: center;
}

.restore-success-bar[b-zqkx6wd8kf] {
    flex-shrink: 0;
    padding: 7px 14px;
    background: color-mix(in srgb, var(--status-success) 15%, transparent);
    border-bottom: 1px solid rgba(67, 160, 71, 0.25);
    color: var(--status-success);
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 500;
    animation: restore-success-fade-b-zqkx6wd8kf 3s ease-in-out forwards;
}

@keyframes restore-success-fade-b-zqkx6wd8kf {
    0%   { opacity: 1; }
    80%  { opacity: 1; }
    100% { opacity: 0; }
}
/* /Components/BoardView.razor.rz.scp.css */
.board-empty[b-i2mkbf9hp4] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.board-empty-text[b-i2mkbf9hp4] {
    color: var(--ink2);
    font-size: 0.9rem;
}

.board-container[b-i2mkbf9hp4] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background-color: var(--bg);
}

.board-scroll-area[b-i2mkbf9hp4] {
    flex: 1;
    overflow: auto;
    position: relative;
}

.board-grid[b-i2mkbf9hp4] {
    display: grid;
    position: relative;
    border-collapse: collapse;
}

/* ---- Corner cell (z-index 3: above both row and col headers) ---- */

.board-corner-cell[b-i2mkbf9hp4] {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 3;
    background-color: var(--board-header-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 8px 12px;
    min-height: 56px;
    width: var(--board-row-header-width);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 2px;
    cursor: pointer;
    box-sizing: border-box;
}

/* ---- Column headers (z-index 2: sticky top, scroll left, same tinted background as corner) ---- */

.board-col-header[b-i2mkbf9hp4] {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: var(--board-header-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    min-height: 56px;
    min-width: var(--board-cell-width);
    width: var(--board-cell-width);
    cursor: grab;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.board-col-header:active[b-i2mkbf9hp4] {
    cursor: grabbing;
}

/* ---- Row headers (z-index 1: scroll top, sticky left) ---- */

.board-row-header[b-i2mkbf9hp4] {
    position: sticky;
    left: 0;
    z-index: 1;
    background-color: var(--board-header-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    min-height: var(--board-cell-height);
    width: var(--board-row-header-width);
    cursor: grab;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.board-row-header:active[b-i2mkbf9hp4] {
    cursor: grabbing;
}

.board-header-inner[b-i2mkbf9hp4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 12px 10px 16px;
    width: 100%;
    position: relative;
    transition: background-color 150ms ease-in-out;
}

.board-col-header .board-header-inner[b-i2mkbf9hp4] {
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.board-col-header .board-header-name[b-i2mkbf9hp4],
.board-row-header .board-header-name[b-i2mkbf9hp4] {
    white-space: normal;
    word-break: break-word;
    text-align: center;
}

.board-col-header.board-header--drop-before[b-i2mkbf9hp4],
.board-col-header.board-header--drop-after[b-i2mkbf9hp4] {
    position: relative;
}

.board-col-header.board-header--drop-before[b-i2mkbf9hp4]::before,
.board-col-header.board-header--drop-after[b-i2mkbf9hp4]::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 3px;
    background-color: var(--accent);
    pointer-events: none;
    z-index: 10;
    box-shadow: 0 0 6px var(--accent-lt);
}

.board-col-header.board-header--drop-before[b-i2mkbf9hp4]::before {
    left: 0;
}

.board-col-header.board-header--drop-after[b-i2mkbf9hp4]::after {
    right: 0;
}

.board-row-header.board-header--drop-before[b-i2mkbf9hp4],
.board-row-header.board-header--drop-after[b-i2mkbf9hp4] {
    position: relative;
}

.board-row-header.board-header--drop-before[b-i2mkbf9hp4]::before,
.board-row-header.board-header--drop-after[b-i2mkbf9hp4]::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 3px;
    background-color: var(--accent);
    pointer-events: none;
    z-index: 10;
    box-shadow: 0 0 6px var(--accent-lt);
}

.board-row-header.board-header--drop-before[b-i2mkbf9hp4]::before {
    top: 0;
}

.board-row-header.board-header--drop-after[b-i2mkbf9hp4]::after {
    bottom: 0;
}

.board-header--selected[b-i2mkbf9hp4] {
    background-color: var(--accent-lt);
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}

.board-header-delete-btn[b-i2mkbf9hp4] {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: var(--r);
    background-color: color-mix(in srgb, var(--board-header-bg) 80%, transparent);
    color: var(--ink3);
    cursor: pointer;
    opacity: 0;
    transition: opacity 150ms ease-in-out, color 150ms ease-in-out, background-color 150ms ease-in-out;
    z-index: 5;
}

.board-col-header:hover .board-header-delete-btn[b-i2mkbf9hp4],
.board-row-header:hover .board-header-delete-btn[b-i2mkbf9hp4] {
    opacity: 1;
}

.board-header-delete-btn:hover[b-i2mkbf9hp4] {
    color: var(--status-error);
    background-color: color-mix(in srgb, var(--board-header-bg) 90%, transparent);
}

.board-header-name[b-i2mkbf9hp4] {
    font-size: 0.875rem;
    color: var(--ink);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
    cursor: default;
    user-select: none;
}

.board-header-name-row[b-i2mkbf9hp4] {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    min-width: 0;
}

.board-status-dot[b-i2mkbf9hp4] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* ---- Hover-gap insert (drop a new item between two existing headers) ---- */

.board-gap-insert[b-i2mkbf9hp4] {
    position: absolute;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--accent);
    border-radius: 50%;
    background-color: var(--bg);
    color: var(--accent);
    cursor: pointer;
    opacity: 0;
    transition: opacity 150ms ease-in-out, background-color 150ms ease-in-out, color 150ms ease-in-out;
    z-index: 6;
}

/* X-axis: straddle the left boundary of the column, vertically centred. */
.board-gap-insert--col[b-i2mkbf9hp4] {
    left: -12px;
    top: 50%;
    transform: translateY(-50%);
}

/* Y-axis: straddle the top boundary of the row, horizontally centred. */
.board-gap-insert--row[b-i2mkbf9hp4] {
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
}

.board-col-header:hover .board-gap-insert--col[b-i2mkbf9hp4],
.board-row-header:hover .board-gap-insert--row[b-i2mkbf9hp4],
.board-gap-insert:hover[b-i2mkbf9hp4] {
    opacity: 1;
}

.board-gap-insert:hover[b-i2mkbf9hp4] {
    background-color: var(--accent);
    color: var(--bg);
}

.board-add-col-cell[b-i2mkbf9hp4] {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: var(--board-header-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    width: var(--board-add-col-width);
    box-sizing: border-box;
}

.board-add-row-cell[b-i2mkbf9hp4] {
    position: sticky;
    left: 0;
    z-index: 1;
    background-color: var(--board-header-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    width: var(--board-row-header-width);
    box-sizing: border-box;
}

.board-add-btn[b-i2mkbf9hp4] {
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background-color 150ms ease-in-out;
}

.board-add-btn:hover[b-i2mkbf9hp4] {
    color: var(--ink);
    border-color: var(--accent);
    background-color: var(--accent-lt);
}

.board-cell--filler[b-i2mkbf9hp4] {
    background-color: var(--bg);
}

.entity-picker-item-btn[b-i2mkbf9hp4] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* /Components/BookMatter/BookMatterLongFormHistoryPanel.razor.rz.scp.css */
.bm-history-panel[b-8yx7zbc4t7] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.bm-history-panel-header[b-8yx7zbc4t7] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.bm-history-panel-title[b-8yx7zbc4t7] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--ink2);
    font-family: var(--font-ui);
    letter-spacing: 0.04em;
}

.bm-history-panel-close-btn[b-8yx7zbc4t7] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background: none;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
}

.bm-history-panel-close-btn:hover[b-8yx7zbc4t7] {
    background: var(--bg3);
    color: var(--ink);
}

.bm-history-panel-body[b-8yx7zbc4t7] {
    display: flex;
    flex-direction: row;
    flex: 1;
    overflow: hidden;
}

.bm-history-panel-sidebar[b-8yx7zbc4t7] {
    width: 220px;
    flex-shrink: 0;
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.bm-history-panel-list[b-8yx7zbc4t7] {
    flex: 1;
    overflow-y: auto;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bm-history-panel-sentinel[b-8yx7zbc4t7] {
    height: 1px;
    flex-shrink: 0;
}

.bm-history-panel-loading[b-8yx7zbc4t7] {
    padding: 8px 12px;
    font-size: 0.75rem;
    color: var(--ink3);
    font-family: var(--font-ui);
}

.bm-history-panel-content[b-8yx7zbc4t7] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.bm-preview-header[b-8yx7zbc4t7] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 6px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
    font-family: var(--font-ui);
}

.bm-preview-header.blocked[b-8yx7zbc4t7] {
    background: color-mix(in srgb, var(--status-warning) 12%, transparent);
}

.bm-preview-header-left[b-8yx7zbc4t7] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bm-preview-header-label[b-8yx7zbc4t7] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink3);
}

.bm-preview-header-timestamp[b-8yx7zbc4t7] {
    font-size: 0.8rem;
    color: var(--ink2);
}

.btn-restore[b-8yx7zbc4t7] {
    padding: 5px 12px;
    background: var(--accent);
    color: var(--accent-text);
    border: none;
    border-radius: var(--r);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    transition: background 150ms ease-in-out;
    flex-shrink: 0;
}

.btn-restore:hover:not(:disabled)[b-8yx7zbc4t7] {
    background: var(--accent-hover);
}

.btn-restore.restoring[b-8yx7zbc4t7] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-restore.restoring[b-8yx7zbc4t7]::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 6px;
    border: 2px solid color-mix(in srgb, var(--accent-text) 40%, transparent);
    border-top-color: var(--accent-text);
    border-radius: 50%;
    animation: bm-restore-spin 0.7s linear infinite;
    vertical-align: middle;
}

@@keyframes bm-restore-spin {
    to[b-8yx7zbc4t7] { transform: rotate(360deg); }
}

.btn-restore.disabled[b-8yx7zbc4t7] {
    background: var(--bg3);
    color: var(--ink3);
    border: 1px solid var(--border);
    cursor: not-allowed;
}
/* /Components/BookMatter/BookMatterPageEditor.razor.rz.scp.css */
/* Intentionally empty: BookMatterPageEditor renders TipTapEditor directly.
   History UI (button + panel) lives in MainLayout, not here. */
/* /Components/BookMatter/BookMatterSettingsHistoryPanel.razor.rz.scp.css */
.bmsh-panel[b-62o9c4qyl5] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.bmsh-panel-header[b-62o9c4qyl5] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.bmsh-panel-title[b-62o9c4qyl5] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--ink2);
    font-family: var(--font-ui);
    letter-spacing: 0.04em;
}

.bmsh-panel-close-btn[b-62o9c4qyl5] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background: none;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
}

.bmsh-panel-close-btn:hover[b-62o9c4qyl5] {
    background: var(--bg3);
    color: var(--ink);
}

.bmsh-panel-body[b-62o9c4qyl5] {
    display: flex;
    flex-direction: row;
    flex: 1;
    overflow: hidden;
}

.bmsh-panel-sidebar[b-62o9c4qyl5] {
    width: 220px;
    flex-shrink: 0;
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.bmsh-panel-list[b-62o9c4qyl5] {
    flex: 1;
    overflow-y: auto;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bmsh-panel-sentinel[b-62o9c4qyl5] {
    height: 1px;
    flex-shrink: 0;
}

.bmsh-panel-loading[b-62o9c4qyl5] {
    padding: 8px 12px;
    font-size: 0.75rem;
    color: var(--ink3);
    font-family: var(--font-ui);
}

.bmsh-panel-content[b-62o9c4qyl5] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.bmsh-preview-header[b-62o9c4qyl5] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 6px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
    font-family: var(--font-ui);
}

.bmsh-preview-header.blocked[b-62o9c4qyl5] {
    background: color-mix(in srgb, var(--status-warning) 12%, transparent);
}

.bmsh-preview-header-left[b-62o9c4qyl5] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bmsh-preview-header-label[b-62o9c4qyl5] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink3);
}

.bmsh-preview-header-timestamp[b-62o9c4qyl5] {
    font-size: 0.8rem;
    color: var(--ink2);
}

.btn-restore-settings[b-62o9c4qyl5] {
    padding: 5px 12px;
    background: var(--accent);
    color: var(--accent-text);
    border: none;
    border-radius: var(--r);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    transition: background 150ms ease-in-out;
    flex-shrink: 0;
}

.btn-restore-settings:hover:not(:disabled)[b-62o9c4qyl5] {
    background: var(--accent-hover);
}

.btn-restore-settings.restoring[b-62o9c4qyl5] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-restore-settings.restoring[b-62o9c4qyl5]::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 6px;
    border: 2px solid color-mix(in srgb, var(--accent-text) 40%, transparent);
    border-top-color: var(--accent-text);
    border-radius: 50%;
    animation: bmsh-restore-spin 0.7s linear infinite;
    vertical-align: middle;
}

@@keyframes bmsh-restore-spin {
    to[b-62o9c4qyl5] { transform: rotate(360deg); }
}

.btn-restore-settings.disabled[b-62o9c4qyl5] {
    background: var(--bg3);
    color: var(--ink3);
    border: 1px solid var(--border);
    cursor: not-allowed;
}

.bmsh-settings-preview[b-62o9c4qyl5] {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
}

.bmsh-settings-list[b-62o9c4qyl5] {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
}

.bmsh-settings-row[b-62o9c4qyl5] {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    padding: 6px 0;
    border-bottom: 1px solid var(--border2);
    gap: 12px;
}

.bmsh-settings-row:last-child[b-62o9c4qyl5] {
    border-bottom: none;
}

.bmsh-settings-key[b-62o9c4qyl5] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--ink2);
    font-family: var(--font-ui);
    min-width: 140px;
    flex-shrink: 0;
}

.bmsh-settings-value[b-62o9c4qyl5] {
    font-size: 0.8rem;
    color: var(--ink);
    font-family: var(--font-ui);
    margin: 0;
    word-break: break-word;
}

.bmsh-no-selection[b-62o9c4qyl5] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.bmsh-no-selection p[b-62o9c4qyl5] {
    font-size: 0.85rem;
    color: var(--ink3);
    font-family: var(--font-ui);
    text-align: center;
}

.bmsh-empty[b-62o9c4qyl5] {
    font-size: 0.8rem;
    color: var(--ink3);
    font-family: var(--font-ui);
    font-style: italic;
}
/* /Components/BookMatter/BookMatterSettingsPage.razor.rz.scp.css */
/* Hybrid Book Matter settings page — stacks the per-type inspector forms in
   a single scrollable surface. Centered against the screen the same way the
   editor body is, using the --workspace-screen-offset variable. */

.bm-settings-page[b-uewap6fuy4] {
    height: 100%;
    overflow-y: auto;
    padding: 32px 24px 80px;
    background-color: var(--bg3);
    box-sizing: border-box;
}

.bm-settings-inner[b-uewap6fuy4] {
    max-width: 640px;
    margin-left: max(0px, calc(50% - 320px + var(--workspace-screen-offset, 0px)));
    margin-right: auto;
    box-sizing: border-box;
}

.bm-settings-header[b-uewap6fuy4] {
    padding: 16px 0 32px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 24px;
}

.bm-settings-title[b-uewap6fuy4] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0 0 8px;
    font-family: var(--font-ui);
}

.bm-settings-subtitle[b-uewap6fuy4] {
    font-size: 0.875rem;
    color: var(--ink2);
    line-height: 1.5;
    margin: 0;
    max-width: 540px;
}

.bm-settings-section[b-uewap6fuy4] {
    background-color: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r);
    margin-bottom: 16px;
    overflow: hidden;
}

.bm-settings-section-header[b-uewap6fuy4] {
    display: flex;
    align-items: center;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
    background-color: var(--bg2);
}

.bm-settings-section-title[b-uewap6fuy4] {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-ui);
}

.bm-settings-section-body[b-uewap6fuy4] {
    padding: 16px 20px;
}
/* /Components/BookSwitcherDropdown.razor.rz.scp.css */
.book-switcher-wrap[b-qghkbjwdbh] {
    position: relative;
    flex-shrink: 0;
    display: inline-block;
}

.book-switcher-pill[b-qghkbjwdbh] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 220px;
    padding: 5px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--ink);
    font-size: 0.8rem;
    cursor: pointer;
    transition: color 120ms ease, border-color 120ms ease, background 120ms ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.book-switcher-pill:hover[b-qghkbjwdbh] {
    color: var(--ink);
    border-color: var(--accent);
    background: var(--accent-lt);
}

.book-switcher-pill:focus-visible[b-qghkbjwdbh] {
    outline: none;
    border-color: var(--accent);
}

.book-switcher-pill-label[b-qghkbjwdbh] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.book-switcher-overlay[b-qghkbjwdbh] {
    position: fixed;
    inset: 0;
    z-index: 99;
}

.book-switcher-menu[b-qghkbjwdbh] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 100;
    min-width: 200px;
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    padding: 4px 0;
}

.book-switcher-option[b-qghkbjwdbh] {
    display: block;
    width: 100%;
    padding: 8px 14px;
    background: transparent;
    border: none;
    color: var(--ink);
    font-size: 0.85rem;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 120ms ease;
}

.book-switcher-option:hover[b-qghkbjwdbh] {
    background-color: var(--bg3);
}

.book-switcher-option--active[b-qghkbjwdbh] {
    background-color: var(--accent-lt);
    color: var(--accent);
    font-weight: 500;
}

.book-switcher-option--active:hover[b-qghkbjwdbh] {
    background-color: var(--accent-lt);
}

.book-switcher-divider[b-qghkbjwdbh] {
    border: none;
    border-top: 1px solid var(--border);
    margin: 4px 0;
}
/* /Components/BulletNotes.razor.rz.scp.css */
.bullet-notes-bullets-wrap[b-78ysuyodxw] {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    text-align: left;
    cursor: text;
    font-family: inherit;
    transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out;
}

.bullet-notes-bullets-wrap:hover[b-78ysuyodxw] {
    background-color: var(--bg2);
    border-color: var(--border);
}

.bullet-notes-bullets-wrap:focus-visible[b-78ysuyodxw] {
    outline: none;
    border-color: var(--accent);
}

.bullet-notes-bullets[b-78ysuyodxw] {
    margin: 0;
    padding: 4px 6px 4px 22px;
    list-style-type: disc;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bullet-notes-bullets li[b-78ysuyodxw] {
    font-size: 0.78rem;
    color: var(--ink);
    line-height: 1.45;
    word-break: break-word;
}

.bullet-notes-empty[b-78ysuyodxw] {
    margin: 0;
    padding: 4px 6px;
    font-size: 0.78rem;
    font-style: italic;
    color: var(--ink2);
    opacity: 0.6;
}

.bullet-notes-empty--clickable[b-78ysuyodxw] {
    display: block;
    width: 100%;
    background: transparent;
    border: 1px dashed var(--border);
    border-radius: var(--r);
    text-align: left;
    cursor: text;
    font-family: inherit;
    transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out, opacity 150ms ease-in-out;
}

.bullet-notes-empty--clickable:hover[b-78ysuyodxw] {
    background-color: var(--bg2);
    border-color: var(--accent);
    opacity: 1;
}

.bullet-notes-empty--clickable:focus-visible[b-78ysuyodxw] {
    outline: none;
    border-color: var(--accent);
    opacity: 1;
}

.bullet-notes-editor[b-78ysuyodxw] {
    position: relative;
    display: flex;
    align-items: stretch;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    transition: border-color 150ms ease-in-out;
}

.bullet-notes-editor:focus-within[b-78ysuyodxw] {
    border-color: var(--accent);
}

.bullet-notes-textarea[b-78ysuyodxw] {
    flex: 1;
    /* padding-left matches .bullet-notes-bullets ul padding-left so textarea text
       starts at the same X as bullet text in view mode. */
    padding: 4px 6px 4px 22px;
    background: transparent;
    border: none;
    color: var(--ink);
    font-size: 0.78rem;
    font-family: inherit;
    line-height: 1.45;
    resize: none;
    box-sizing: border-box;
    white-space: pre-wrap;
    width: 100%;
    field-sizing: content;
    position: relative;
    z-index: 1;
}

.bullet-notes-textarea:focus[b-78ysuyodxw] {
    outline: none;
}

.bullet-notes-textarea[b-78ysuyodxw]::placeholder {
    color: var(--ink2);
    opacity: 0.45;
    white-space: pre;
}

/* Find-highlight overlay — same metrics as the textarea so highlighted positions
   align. Consumers supply the rendered MarkupString via OverlayContent. */
.bullet-notes-overlay[b-78ysuyodxw] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 4px 6px 4px 22px;
    box-sizing: border-box;
    color: transparent;
    font-size: 0.78rem;
    font-family: inherit;
    line-height: 1.45;
    white-space: pre-wrap;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}
/* /Components/CommandPalette.razor.rz.scp.css */
.cp-backdrop[b-czwqodtqvn] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 12vh;
}

.cp-card[b-czwqodtqvn] {
    position: relative;
    width: min(600px, 90vw);
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    max-height: 70vh;
}

.cp-input-row[b-czwqodtqvn] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 36px 10px 14px;
    flex-shrink: 0;
}

.cp-search-icon[b-czwqodtqvn] {
    color: var(--ink3);
    flex-shrink: 0;
}

.cp-input[b-czwqodtqvn] {
    flex: 1;
    background: var(--bg);
    border: 1px solid var(--border2);
    border-radius: var(--r);
    padding: 4px 8px;
    outline: none;
    font-family: var(--font-ui);
    font-size: 0.875rem;
    color: var(--ink);
    min-width: 0;
    transition: border-color 120ms ease;
}

.cp-input:focus[b-czwqodtqvn] {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent-lt);
}

.cp-input[b-czwqodtqvn]::placeholder {
    color: var(--ink3);
}

.cp-spinner[b-czwqodtqvn] {
    width: 14px;
    height: 14px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: cp-spin-b-czwqodtqvn 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes cp-spin-b-czwqodtqvn {
    to { transform: rotate(360deg); }
}

.cp-results-wrap[b-czwqodtqvn] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.cp-results[b-czwqodtqvn] {
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    padding: 6px 0;
}

.cp-group-label[b-czwqodtqvn] {
    padding: 6px 16px 3px;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--ink3);
    font-family: var(--font-ui);
}

.cp-result[b-czwqodtqvn] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 7px 16px;
    cursor: pointer;
    transition: background 100ms ease;
    font-family: var(--font-ui);
}

.cp-result-main-row[b-czwqodtqvn] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
}

.cp-result:hover[b-czwqodtqvn],
.cp-result--selected[b-czwqodtqvn] {
    background: var(--accent-lt);
}

.cp-result-badge[b-czwqodtqvn] {
    flex-shrink: 0;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 1px 5px;
    border-radius: var(--r);
    background: var(--bg3);
    color: var(--ink2);
    line-height: 1.6;
}

.cp-result-badge--entity[b-czwqodtqvn] {
    color: var(--accent);
    background: var(--accent-lt);
}

.cp-result-badge--board[b-czwqodtqvn] {
    color: var(--accent-gold);
    background: var(--accent-gold-lt);
}

.cp-result-label[b-czwqodtqvn] {
    font-size: 0.9rem;
    color: var(--ink);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.cp-result--selected .cp-result-label[b-czwqodtqvn] {
    color: var(--ink);
}

.cp-result-breadcrumb[b-czwqodtqvn] {
    font-size: 0.78rem;
    color: var(--ink3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 1;
    min-width: 0;
}

.result-bullet-preview[b-czwqodtqvn] {
    font-size: 0.78rem;
    color: var(--ink3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-left: 2px;
    font-style: italic;
}

.result-destinations[b-czwqodtqvn] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding-left: 2px;
}

.result-dest-btn[b-czwqodtqvn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 22px;
    box-sizing: border-box;
    font-family: var(--font-ui);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    padding: 0 8px;
    border-radius: var(--r);
    border: 1px solid var(--border2);
    background: var(--bg3);
    color: var(--ink2);
    cursor: pointer;
    transition: background 100ms ease, color 100ms ease;
    white-space: nowrap;
}

.result-dest-btn:hover[b-czwqodtqvn] {
    background: var(--accent-lt);
    color: var(--accent);
    border-color: var(--accent);
}

.cp-empty[b-czwqodtqvn] {
    padding: 20px 16px;
    font-size: 0.85rem;
    color: var(--ink3);
    font-family: var(--font-ui);
    text-align: center;
}

.cp-empty em[b-czwqodtqvn] {
    font-style: normal;
    color: var(--ink2);
}

.cp-btn[b-czwqodtqvn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 26px;
    box-sizing: border-box;
    font-family: var(--font-ui);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1;
    padding: 0 10px;
    border-radius: var(--r);
    border: 1px solid var(--border2);
    background: var(--bg3);
    color: var(--ink2);
    cursor: pointer;
    flex-shrink: 0;
    transition: background 100ms ease, color 100ms ease;
    white-space: nowrap;
}

.cp-btn--icon[b-czwqodtqvn] {
    min-width: 28px;
    padding: 0 6px;
    font-size: 0.85rem;
}

.cp-btn:hover:not(:disabled)[b-czwqodtqvn] {
    background: var(--accent-lt);
    color: var(--accent);
    border-color: var(--accent);
}

.cp-btn:disabled[b-czwqodtqvn] {
    opacity: 0.4;
    cursor: default;
}
/* /Components/ConfirmDialog.razor.rz.scp.css */
.modal-backdrop[b-6ush45poh9] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-6ush45poh9 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-6ush45poh9 {
    from { opacity: 0; }
    to { opacity: 1; }
}

.modal-dialog[b-6ush45poh9] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 440px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-6ush45poh9 150ms ease-in-out both;
}

@keyframes dialog-slide-in-b-6ush45poh9 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-6ush45poh9] {
    padding: 1.25rem 1.5rem 0;
}

.modal-title[b-6ush45poh9] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-body[b-6ush45poh9] {
    padding: 1rem 1.5rem;
}

.modal-message[b-6ush45poh9] {
    font-size: 0.9rem;
    color: var(--ink2);
    line-height: 1.6;
    margin: 0;
}

.modal-message strong[b-6ush45poh9] {
    color: var(--ink);
    font-weight: 600;
}

.modal-footer[b-6ush45poh9] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
}

/* /Components/ContentWarningDialog.razor.rz.scp.css */
.modal-backdrop[b-o3iefi2ham] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: cw-backdrop-fade-in-b-o3iefi2ham 150ms ease-in-out both;
}

@keyframes cw-backdrop-fade-in-b-o3iefi2ham {
    from { opacity: 0; }
    to { opacity: 1; }
}

.modal-dialog[b-o3iefi2ham] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 440px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: cw-dialog-slide-in-b-o3iefi2ham 150ms ease-in-out both;
}

@keyframes cw-dialog-slide-in-b-o3iefi2ham {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-o3iefi2ham] {
    padding: 1.25rem 1.5rem 0;
}

.modal-title[b-o3iefi2ham] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-body[b-o3iefi2ham] {
    padding: 1rem 1.5rem;
}

.modal-message[b-o3iefi2ham] {
    font-size: 0.9rem;
    color: var(--ink2);
    line-height: 1.6;
    margin: 0;
}

.modal-footer[b-o3iefi2ham] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
}

/* /Components/ContextMenu.razor.rz.scp.css */
.context-menu-backdrop[b-1vey8k29wu] {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: transparent;
}

.context-menu[b-1vey8k29wu] {
    position: fixed;
    z-index: 901;
    background-color: var(--pane-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--r);
    min-width: 160px;
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    animation: menu-pop-in-b-1vey8k29wu 120ms ease-out both;
}

@keyframes menu-pop-in-b-1vey8k29wu {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.context-menu-item[b-1vey8k29wu] {
    display: block;
    width: 100%;
    padding: 8px 14px;
    background: none;
    border: none;
    color: var(--text-primary);
    font-size: 0.85rem;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 150ms ease-in-out;
}

.context-menu-item:hover[b-1vey8k29wu] {
    background-color: rgba(75, 0, 130, 0.2);
    color: var(--text-primary);
}
/* /Components/CreateProjectModal.razor.rz.scp.css */
.modal-backdrop[b-y6bv1i1kn9] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-y6bv1i1kn9 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-y6bv1i1kn9 {
    from { opacity: 0; }
    to { opacity: 1; }
}

.modal-dialog[b-y6bv1i1kn9] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: fit-content;
    min-width: 420px;
    max-width: 680px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-y6bv1i1kn9 150ms ease-in-out both;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
}

@keyframes dialog-slide-in-b-y6bv1i1kn9 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-y6bv1i1kn9] {
    padding: 1.25rem 1.5rem 0;
}

.modal-title[b-y6bv1i1kn9] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-body[b-y6bv1i1kn9] {
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.field-label[b-y6bv1i1kn9] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--ink2);
    display: block;
    margin-bottom: 0.35rem;
}

.field-input[b-y6bv1i1kn9] {
    width: 100%;
    padding: 0.6rem 0.75rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.field-input:focus[b-y6bv1i1kn9] {
    outline: none;
    border-color: var(--accent);
}

.field-input:disabled[b-y6bv1i1kn9] {
    opacity: 0.5;
    cursor: not-allowed;
}

.field-input[b-y6bv1i1kn9]::placeholder {
    color: var(--ink3);
}

.modal-footer[b-y6bv1i1kn9] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
}

/* Dialog footer buttons (.btn-confirm / .btn-cancel) and their spinner
   (.btn-spinner) are global — see app.css. */

.mode-cards[b-y6bv1i1kn9] {
    display: flex;
    gap: 0.75rem;
}

.mode-cards--compact .mode-card[b-y6bv1i1kn9] {
    flex: 1;
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    padding: 0.75rem;
    cursor: pointer;
    text-align: center;
    outline: none;
    user-select: none;
    transition: border-color 150ms ease-in-out,
                box-shadow 150ms ease-in-out;
}

.mode-cards--compact .mode-card:hover[b-y6bv1i1kn9] {
    border-color: var(--border2);
}

.mode-cards--compact .mode-card.selected[b-y6bv1i1kn9] {
    border-color: var(--accent-hover);
    box-shadow: 0 0 0 2px var(--accent-lt);
}

.mode-cards--compact .mode-card:focus-visible[b-y6bv1i1kn9] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

.mode-card-illustration[b-y6bv1i1kn9] {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 64px;
}

.mode-card-title[b-y6bv1i1kn9] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ink);
    margin-top: 0.5rem;
}

.template-loading[b-y6bv1i1kn9] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
}

.template-spinner[b-y6bv1i1kn9] {
    display: inline-block;
    width: 22px;
    height: 22px;
    border: 2px solid var(--border);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: template-spin-b-y6bv1i1kn9 0.7s linear infinite;
}

@keyframes template-spin-b-y6bv1i1kn9 {
    to { transform: rotate(360deg); }
}

.template-section[b-y6bv1i1kn9] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.template-grid[b-y6bv1i1kn9] {
    display: grid;
    grid-template-columns: repeat(var(--col-count, 3), 190px);
    gap: 8px;
}

.template-error-notice[b-y6bv1i1kn9] {
    font-size: 0.8rem;
    color: var(--ink2);
    background: rgba(229, 57, 53, 0.08);
    border: 1px solid rgba(229, 57, 53, 0.2);
    border-radius: var(--r);
    padding: 0.5rem 0.75rem;
    margin: 0;
    line-height: 1.4;
}

.create-error-notice[b-y6bv1i1kn9] {
    font-size: 0.8rem;
    color: var(--status-error);
    margin: 0;
    line-height: 1.4;
}

.name-section[b-y6bv1i1kn9] {
    display: flex;
    flex-direction: column;
}
/* /Components/DimensionHistoryPanel.razor.rz.scp.css */
.dim-history-panel[b-esrqp5cljh] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.dim-history-panel-header[b-esrqp5cljh] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.dim-history-panel-title[b-esrqp5cljh] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--ink2);
    font-family: var(--font-ui);
    letter-spacing: 0.04em;
}

.dim-history-panel-close-btn[b-esrqp5cljh] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background: none;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
}

.dim-history-panel-close-btn:hover[b-esrqp5cljh] {
    background: var(--bg3);
    color: var(--ink);
}

.dim-history-panel-body[b-esrqp5cljh] {
    display: flex;
    flex-direction: row;
    flex: 1;
    overflow: hidden;
}

.dim-history-panel-sidebar[b-esrqp5cljh] {
    width: 220px;
    flex-shrink: 0;
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.dim-history-panel-list[b-esrqp5cljh] {
    flex: 1;
    overflow-y: auto;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dim-history-panel-sentinel[b-esrqp5cljh] {
    height: 1px;
    flex-shrink: 0;
}

.dim-history-panel-loading[b-esrqp5cljh] {
    padding: 8px 12px;
    font-size: 0.75rem;
    color: var(--ink3);
    font-family: var(--font-ui);
}

.dim-history-panel-content[b-esrqp5cljh] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.dim-preview-header[b-esrqp5cljh] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 6px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
    font-family: var(--font-ui);
}

.dim-preview-header.blocked[b-esrqp5cljh] {
    background: color-mix(in srgb, var(--status-warning) 12%, transparent);
}

.dim-preview-header-left[b-esrqp5cljh] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dim-preview-header-label[b-esrqp5cljh] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink3);
}

.dim-preview-header-timestamp[b-esrqp5cljh] {
    font-size: 0.8rem;
    color: var(--ink2);
}

.dim-btn-restore[b-esrqp5cljh] {
    padding: 5px 12px;
    background: var(--accent);
    color: #ffffff;
    border: none;
    border-radius: var(--r);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    transition: background 150ms ease-in-out;
    flex-shrink: 0;
}

.dim-btn-restore:hover:not(:disabled)[b-esrqp5cljh] {
    background: var(--accent-hover);
}

.dim-btn-restore.restoring[b-esrqp5cljh] {
    opacity: 0.6;
    cursor: not-allowed;
}

.dim-btn-restore.restoring[b-esrqp5cljh]::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 6px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: dim-btn-restore-spin-b-esrqp5cljh 0.7s linear infinite;
    vertical-align: middle;
}

@keyframes dim-btn-restore-spin-b-esrqp5cljh {
    to { transform: rotate(360deg); }
}

.dim-btn-restore.disabled[b-esrqp5cljh] {
    background: var(--bg3);
    color: var(--ink3);
    border: 1px solid var(--border);
    cursor: not-allowed;
}

.dim-restore-confirm-timestamp[b-esrqp5cljh] {
    font-size: 0.9rem;
    color: var(--ink2);
    font-family: var(--font-ui);
    margin-bottom: 12px;
}

.dim-restore-confirm-callout[b-esrqp5cljh] {
    padding: 10px 12px;
    border-radius: var(--r);
    background: color-mix(in srgb, var(--status-warning) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--status-warning) 40%, transparent);
    font-size: 0.85rem;
    font-family: var(--font-ui);
    color: var(--ink);
    line-height: 1.5;
}

.dim-history-past-scroll[b-esrqp5cljh] {
    height: 100%;
    overflow-y: auto;
    background-color: var(--bg3);
}

.dim-history-past-view[b-esrqp5cljh] {
    max-width: 720px;
    margin: 0 auto;
    padding: 4px 40px;
    background-color: var(--bg);
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
    font-family: var(--font-editor);
    line-height: var(--editor-line-height, 1.9);
    color: var(--ink);
    font-size: 1.05rem;
    text-align: var(--content-align, justify);
    text-indent: var(--content-indent, 2em);
}
/* /Components/DimensionInspector.razor.rz.scp.css */
/* ============================================================
   DimensionInspector — Right pane inspector for dimensions
   ============================================================ */

.dimension-inspector[b-hirotaw15a] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 16px;
}

.inspector-section[b-hirotaw15a] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.inspector-label[b-hirotaw15a] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.inspector-input[b-hirotaw15a] {
    width: 100%;
    padding: 6px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.875rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.inspector-input:focus[b-hirotaw15a] {
    outline: none;
    border-color: var(--accent);
}

.inspector-input:disabled[b-hirotaw15a] {
    opacity: 0.5;
    cursor: not-allowed;
}

.inspector-word-count[b-hirotaw15a] {
    margin-top: -12px;
    font-size: 0.75rem;
    color: var(--ink2);
}

/* ---- Purchased section ---- */

.purchased-section[b-hirotaw15a] {
    padding-top: 4px;
}

.purchased-toggle-row[b-hirotaw15a] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.purchased-label-group[b-hirotaw15a] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.purchased-label[b-hirotaw15a] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ink);
}

.purchased-note[b-hirotaw15a] {
    font-size: 0.8rem;
    color: var(--ink2);
}

.adv-toggle[b-hirotaw15a] {
    position: relative;
    width: 38px;
    height: 20px;
    background: var(--border);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    padding: 0;
    transition: background-color 150ms ease-in-out;
    flex-shrink: 0;
}

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

.adv-toggle:disabled[b-hirotaw15a] {
    opacity: 0.6;
    cursor: not-allowed;
}

.adv-toggle-thumb[b-hirotaw15a] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: var(--bg);
    border-radius: 50%;
    transition: transform 150ms ease-in-out;
}

.adv-toggle--on .adv-toggle-thumb[b-hirotaw15a] {
    transform: translateX(18px);
}

/* ---- Generate section ---- */

.generate-section[b-hirotaw15a] {
    padding-top: 4px;
}

/* ---- Set up planning boards section ---- */

.setup-boards-section[b-hirotaw15a] {
    padding-top: 4px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.setup-boards-hint[b-hirotaw15a] {
    margin: 0;
    font-size: 0.78rem;
    color: var(--ink3);
    line-height: 1.5;
}

/* ---- Advanced Settings link ---- */

.advanced-settings-link[b-hirotaw15a] {
    align-self: flex-start;
    background: none;
    border: none;
    padding: 0;
    font-size: 11px;
    color: var(--ink3);
    cursor: pointer;
    font-family: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: transparent;
    transition: color 150ms ease-in-out, text-decoration-color 150ms ease-in-out;
}

.advanced-settings-link:hover[b-hirotaw15a] {
    color: var(--ink2);
    text-decoration-color: var(--ink2);
}
/* /Components/EditProjectModal.razor.rz.scp.css */
/* ============================================================
   EditProjectModal — Project name and writing mode editing dialog
   ============================================================ */

.modal-backdrop[b-t0ftvr2efg] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-t0ftvr2efg 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-t0ftvr2efg {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ---- Dialog box ---- */

.modal-dialog[b-t0ftvr2efg] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 480px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-t0ftvr2efg 150ms ease-in-out both;
}

@keyframes dialog-slide-in-b-t0ftvr2efg {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---- Header ---- */

.modal-header[b-t0ftvr2efg] {
    padding: 1.25rem 1.5rem 0;
}

.modal-title[b-t0ftvr2efg] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

/* ---- Body ---- */

.modal-body[b-t0ftvr2efg] {
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.field-label[b-t0ftvr2efg] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--ink2);
}

.field-input[b-t0ftvr2efg] {
    width: 100%;
    padding: 0.6rem 0.75rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.field-input:focus[b-t0ftvr2efg] {
    outline: none;
    border-color: var(--accent);
}

.field-input:disabled[b-t0ftvr2efg] {
    opacity: 0.5;
    cursor: not-allowed;
}

.field-input[b-t0ftvr2efg]::placeholder {
    color: var(--ink3);
}

.field-hint[b-t0ftvr2efg] {
    font-size: 0.78rem;
    color: var(--ink2);
    margin: 2px 0 0;
    line-height: 1.4;
}

.field-section-heading[b-t0ftvr2efg] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0 0 2px;
    letter-spacing: 0.01em;
}

/* ---- Mode selector label ---- */

.mode-selector-label[b-t0ftvr2efg] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--ink2);
    margin-top: 0.5rem;
}

/* ---- Compact writing mode selector ---- */

.mode-cards[b-t0ftvr2efg] {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.25rem;
}

.mode-cards--compact .mode-card[b-t0ftvr2efg] {
    flex: 1;
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    padding: 0.75rem;
    cursor: pointer;
    text-align: center;
    outline: none;
    user-select: none;
    transition: border-color 150ms ease-in-out,
                box-shadow 150ms ease-in-out;
}

.mode-cards--compact .mode-card:hover[b-t0ftvr2efg] {
    border-color: var(--border2);
}

.mode-cards--compact .mode-card.selected[b-t0ftvr2efg] {
    border-color: var(--accent-hover);
    box-shadow: 0 0 0 2px var(--accent-lt);
}

.mode-cards--compact .mode-card:focus-visible[b-t0ftvr2efg] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

.mode-card-illustration[b-t0ftvr2efg] {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 64px;
}

.mode-card-title[b-t0ftvr2efg] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ink);
    margin-top: 0.5rem;
}

/* ---- Footer ---- */

.modal-footer[b-t0ftvr2efg] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
}

/* Dialog footer buttons (.btn-confirm / .btn-cancel / .btn-delete) and their
   spinner (.btn-spinner) are global — see app.css. */

/* Streak-freeze toggle (mirrors DimensionAdvancedSettingsDialog toggle styles) */
.adv-row[b-t0ftvr2efg] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.adv-toggle-label-group[b-t0ftvr2efg] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
    padding-right: 12px;
}

.adv-label--inline[b-t0ftvr2efg] {
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.85rem;
    color: var(--ink);
    font-weight: 500;
}

.adv-toggle-note[b-t0ftvr2efg] {
    font-size: 0.75rem;
    color: var(--ink2);
    line-height: 1.4;
}

.adv-toggle[b-t0ftvr2efg] {
    position: relative;
    width: 38px;
    height: 20px;
    background: var(--border);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    padding: 0;
    transition: background-color 150ms ease-in-out;
    flex-shrink: 0;
}

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

.adv-toggle-thumb[b-t0ftvr2efg] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 150ms ease-in-out;
}

.adv-toggle--on .adv-toggle-thumb[b-t0ftvr2efg] {
    transform: translateX(18px);
}

/* ============================================================
   Tab strip
   ============================================================ */

.modal-tab-strip[b-t0ftvr2efg] {
    display: flex;
    gap: 0;
    padding: 0 1.5rem;
    border-bottom: 1px solid var(--border);
    margin-top: 0.75rem;
}

.modal-tab[b-t0ftvr2efg] {
    background: transparent;
    border: none;
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ink2);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out;
    font-family: inherit;
    margin-bottom: -1px;
}

.modal-tab:hover[b-t0ftvr2efg] {
    color: var(--ink);
}

.modal-tab:focus-visible[b-t0ftvr2efg] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

.modal-tab--active[b-t0ftvr2efg] {
    color: var(--ink);
    border-bottom-color: var(--accent);
}

/* ---- Tab panels ---- */

.modal-tabpanel[b-t0ftvr2efg] {
    animation: tab-fade-b-t0ftvr2efg 150ms ease-out both;
    max-height: calc(80vh - 200px);
    overflow-y: auto;
    min-height: 280px;
}

/* Re-assert the user-agent [hidden] rule with class+attribute specificity (0,2,0)
   so .modal-body's display:flex (0,1,0) doesn't keep the inactive panel visible. */
.modal-tabpanel[hidden][b-t0ftvr2efg] {
    display: none;
}

@keyframes tab-fade-b-t0ftvr2efg {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .modal-tabpanel[b-t0ftvr2efg] { animation: none; }
}

/* ============================================================
   Statuses tab
   ============================================================ */

.status-list[b-t0ftvr2efg] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Drop indicators are absolute-positioned on each row so showing one doesn't push
   sibling rows around (matches the navigator's TreeNode pattern). */
.status-drop-indicator[b-t0ftvr2efg] {
    position: absolute;
    left: 8px;
    right: 8px;
    height: 3px;
    background: var(--accent);
    border-radius: 2px;
    pointer-events: none;
    box-shadow: 0 0 4px var(--accent-lt);
    opacity: 0;
    z-index: 2;
}

.status-drop-indicator--visible[b-t0ftvr2efg] {
    opacity: 1;
}

.status-drop-indicator--above[b-t0ftvr2efg] {
    top: -2px;
}

.status-drop-indicator--below[b-t0ftvr2efg] {
    bottom: -2px;
}

.status-row[b-t0ftvr2efg] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border-radius: var(--r);
    background: var(--bg2);
    border: 1px solid transparent;
    cursor: grab;
    position: relative;
}

.status-row--confirming[b-t0ftvr2efg] {
    background: var(--bg3);
    border-color: var(--border2);
    cursor: default;
}

.status-drag-handle[b-t0ftvr2efg] {
    color: var(--ink3);
    user-select: none;
    padding: 0 2px;
}

.status-drag-handle--locked[b-t0ftvr2efg] {
    color: transparent;
    user-select: none;
    padding: 0 2px;
}

.status-name-display[b-t0ftvr2efg] {
    flex: 1;
    padding: 4px 8px;
    border: 1px solid transparent; /* match .status-name-input's box model so the To Do row aligns with editable rows */
    color: var(--ink2);
    font-size: 0.9rem;
    font-family: inherit;
}

/* Resting state of an editable custom status: looks like plain text, click to edit.
   Shares .status-name-display's box model so toggling to the input causes no shift. */
.status-name-display--editable[b-t0ftvr2efg] {
    background: transparent;
    text-align: left;
    color: var(--ink);
    cursor: text;
    border-radius: var(--r);
}

.status-name-display--editable:hover[b-t0ftvr2efg] {
    border-color: var(--border);
}

.status-name-display--editable:focus-visible[b-t0ftvr2efg] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

.status-row[draggable="false"][b-t0ftvr2efg] {
    cursor: default;
}

/* ---- Swatch button ---- */

.status-swatch-btn[b-t0ftvr2efg] {
    width: 22px;
    height: 22px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.status-swatch-btn:focus-visible[b-t0ftvr2efg] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

.status-swatch-btn--locked[b-t0ftvr2efg] {
    cursor: not-allowed;
    opacity: 0.5;
}

.status-swatch-swatch[b-t0ftvr2efg] {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    display: block;
}

/* ---- Color popover ---- */

.status-popover-backdrop[b-t0ftvr2efg] {
    position: fixed;
    inset: 0;
    z-index: 1050;
}

.status-color-popover[b-t0ftvr2efg] {
    display: grid;
    grid-template-columns: repeat(4, auto);
    gap: 6px;
    padding: 6px;
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    box-shadow: var(--shadow-lg);
    z-index: 1100;
}

.status-color-swatch[b-t0ftvr2efg] {
    width: 22px;
    height: 22px;
    border: 1px solid var(--border);
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
}

.status-color-swatch--selected[b-t0ftvr2efg] {
    box-shadow: 0 0 0 2px var(--accent), 0 0 0 4px var(--bg2);
}

.status-color-swatch:focus-visible[b-t0ftvr2efg] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

/* ---- Name input ---- */

.status-name-input[b-t0ftvr2efg] {
    flex: 1;
    padding: 4px 8px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    min-width: 0;
}

.status-name-input:hover[b-t0ftvr2efg] {
    border-color: var(--border);
}

.status-name-input:focus[b-t0ftvr2efg] {
    outline: none;
    border-color: var(--accent);
    background: var(--bg3);
}

/* ---- Delete button and placeholder ---- */

.status-delete-btn[b-t0ftvr2efg],
.status-delete-placeholder[b-t0ftvr2efg] {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.status-delete-btn[b-t0ftvr2efg] {
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    padding: 0;
}

.status-delete-btn:hover[b-t0ftvr2efg] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

.status-delete-btn:focus-visible[b-t0ftvr2efg] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

/* ---- Delete confirm row ---- */

.status-confirm-message[b-t0ftvr2efg] {
    flex: 1;
    font-size: 0.85rem;
    color: var(--ink);
}

/* ---- Add button ---- */

.status-add-btn[b-t0ftvr2efg] {
    background: transparent;
    border: 1px dashed var(--border);
    border-radius: var(--r);
    padding: 8px;
    color: var(--ink2);
    cursor: pointer;
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-family: inherit;
}

.status-add-btn:hover:not(:disabled)[b-t0ftvr2efg] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

.status-add-btn:disabled[b-t0ftvr2efg] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ---- Small button variants for confirm row ---- */

.btn-cancel--small[b-t0ftvr2efg],
.btn-delete--small[b-t0ftvr2efg] {
    min-width: auto;
    min-height: auto;
    padding: 6px 12px;
    font-size: 0.85rem;
}

/* ============================================================
   Narration tab
   ============================================================ */

.narration-tabpanel[b-t0ftvr2efg] {
    gap: 0;
}

.narration-tab-header[b-t0ftvr2efg] {
    font-size: 0.88rem;
    color: var(--ink);
    margin: 0 0 1rem;
    line-height: 1.4;
}

.narration-voice-grid[b-t0ftvr2efg] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 1rem;
}

.narration-col-header[b-t0ftvr2efg] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0 2px 4px;
}

.narration-voice-card[b-t0ftvr2efg] {
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    padding: 8px 10px;
    cursor: pointer;
    outline: none;
    user-select: none;
    transition: border-color 120ms ease-in-out;
}

.narration-voice-card:hover[b-t0ftvr2efg] {
    border-color: var(--border2);
}

.narration-voice-card:focus-visible[b-t0ftvr2efg] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

.narration-voice-card--selected[b-t0ftvr2efg] {
    border-color: var(--accent-hover);
    box-shadow: 0 0 0 2px var(--accent-lt);
}

.narration-voice-card__header[b-t0ftvr2efg] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.narration-voice-card__radio[b-t0ftvr2efg] {
    width: 14px;
    height: 14px;
    border: 1px solid var(--border2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--bg2);
}

.narration-voice-card--selected .narration-voice-card__radio[b-t0ftvr2efg] {
    border-color: var(--accent);
}

.narration-voice-card__radio-dot[b-t0ftvr2efg] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent);
    display: block;
}

.narration-voice-card__name[b-t0ftvr2efg] {
    flex: 1;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--ink);
}

.narration-audition-btn[b-t0ftvr2efg] {
    width: 22px;
    height: 22px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.1s, color 0.1s;
    width: auto;
}

.narration-audition-btn:hover:not(:disabled)[b-t0ftvr2efg] {
    background: var(--accent-lt);
    color: var(--ink);
    border-color: var(--accent);
}

.narration-audition-btn:disabled[b-t0ftvr2efg] {
    opacity: 0.5;
    cursor: not-allowed;
}

.narration-audition-btn:focus-visible[b-t0ftvr2efg] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

.narration-audition-btn__spinner[b-t0ftvr2efg] {
    width: 10px;
    height: 10px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: narration-spin-b-t0ftvr2efg 0.6s linear infinite;
    display: block;
}

@keyframes narration-spin-b-t0ftvr2efg {
    to { transform: rotate(360deg); }
}

.narration-voice-card__descriptor[b-t0ftvr2efg] {
    font-size: 0.76rem;
    color: var(--ink2);
    margin-top: 4px;
    padding-left: 20px;
}

.narration-tab-footer[b-t0ftvr2efg] {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

.narration-save-btn[b-t0ftvr2efg] {
    width: auto;
}

.narration-live-region[b-t0ftvr2efg] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

/* Collapse to single column on narrow modal widths */
@media (max-width: 420px) {
    .narration-voice-grid[b-t0ftvr2efg] {
        grid-template-columns: 1fr;
    }
}

/* Restore col headers for single-column layout */
@media (max-width: 420px) {
    .narration-col-header:last-of-type[b-t0ftvr2efg] {
        margin-top: 4px;
    }
}
/* /Components/EmptyState.razor.rz.scp.css */
.empty-state-panel[b-xn9q7rziib] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 64px 32px;
    text-align: center;
    gap: 12px;
    color: var(--ink2);
}

.empty-icon[b-xn9q7rziib] {
    color: var(--ink3);
    margin-bottom: 8px;
}

.empty-title[b-xn9q7rziib] {
    font-family: var(--font-editor);
    font-size: 18px;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.empty-subtitle[b-xn9q7rziib] {
    font-size: 14px;
    color: var(--ink2);
    max-width: 360px;
    line-height: 1.6;
    margin: 0;
}
/* /Components/EntityChatPanel.razor.rz.scp.css */
.board-chat-panel[b-y2i1ouoouk] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    outline: none;
}

.chat-header[b-y2i1ouoouk] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.chat-back-btn[b-y2i1ouoouk] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    flex-shrink: 0;
    transition: color 120ms ease, border-color 120ms ease;
}

.chat-back-btn:hover[b-y2i1ouoouk] {
    color: var(--ink);
    border-color: var(--border2);
}

.chat-board-name[b-y2i1ouoouk] {
    flex: 1;
    min-width: 0;
    font-size: 0.75rem;
    color: var(--ink3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
}

.persona-dropdown-wrap[b-y2i1ouoouk] {
    position: relative;
    flex-shrink: 0;
}

.persona-dropdown-btn[b-y2i1ouoouk] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 3px 7px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    font-size: 0.75rem;
    cursor: pointer;
    transition: color 120ms ease, border-color 120ms ease;
    white-space: nowrap;
}

.persona-dropdown-btn:hover[b-y2i1ouoouk] {
    color: var(--ink);
    border-color: var(--border2);
}

.persona-dropdown-overlay[b-y2i1ouoouk] {
    position: fixed;
    inset: 0;
    z-index: 99;
}

.persona-dropdown[b-y2i1ouoouk] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 100;
    min-width: 220px;
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.persona-dropdown-option[b-y2i1ouoouk] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 8px 12px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 100ms ease;
}

.persona-dropdown-option:hover[b-y2i1ouoouk] {
    background: var(--bg3);
}

.persona-dropdown-option--active[b-y2i1ouoouk] {
    background: var(--accent-lt);
}

.persona-dropdown-option--active:hover[b-y2i1ouoouk] {
    background: var(--accent-lt);
}

.persona-option-name[b-y2i1ouoouk] {
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--ink);
}

.persona-option-blurb[b-y2i1ouoouk] {
    font-size: 0.72rem;
    color: var(--ink2);
    margin-top: 1px;
}

.chat-messages[b-y2i1ouoouk] {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.chat-bubble-row[b-y2i1ouoouk] {
    display: flex;
}

.chat-bubble-row--ai[b-y2i1ouoouk] {
    justify-content: flex-start;
}

.chat-bubble-row--user[b-y2i1ouoouk] {
    justify-content: flex-end;
}

.chat-bubble[b-y2i1ouoouk] {
    max-width: 88%;
    padding: 9px 12px;
    font-size: 0.85rem;
    line-height: 1.55;
    word-break: break-word;
}

.chat-bubble--ai[b-y2i1ouoouk] {
    background: var(--accent-lt);
    color: var(--ink);
    border-radius: var(--r-lg) var(--r-lg) var(--r-lg) var(--r);
}

.chat-bubble--user[b-y2i1ouoouk] {
    background: var(--bg3);
    color: var(--ink);
    border-radius: var(--r-lg) var(--r-lg) var(--r) var(--r-lg);
}

.chat-bubble-body[b-y2i1ouoouk] {
    min-width: 0;
}

.chat-bubble-body--markdown p[b-y2i1ouoouk] {
    margin: 0 0 0.5em 0;
}

.chat-bubble-body--markdown p:last-child[b-y2i1ouoouk] {
    margin-bottom: 0;
}

.chat-bubble-body--markdown ul[b-y2i1ouoouk],
.chat-bubble-body--markdown ol[b-y2i1ouoouk] {
    margin: 0.25em 0 0.5em 0;
    padding-left: 1.4em;
}

.chat-bubble-body--markdown li[b-y2i1ouoouk] {
    margin-bottom: 0.2em;
}

.chat-bubble-body--markdown strong[b-y2i1ouoouk] {
    font-weight: 600;
}

.chat-bubble-body--markdown em[b-y2i1ouoouk] {
    font-style: italic;
}

.chat-bubble-body--markdown code[b-y2i1ouoouk] {
    font-family: var(--font-editor);
    font-size: 0.8em;
    background: rgba(0, 0, 0, 0.12);
    border-radius: 3px;
    padding: 1px 4px;
}

.chat-bubble-body--markdown h1[b-y2i1ouoouk],
.chat-bubble-body--markdown h2[b-y2i1ouoouk],
.chat-bubble-body--markdown h3[b-y2i1ouoouk] {
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0.5em 0 0.25em 0;
}

.chat-bubble-body--markdown h1:first-child[b-y2i1ouoouk],
.chat-bubble-body--markdown h2:first-child[b-y2i1ouoouk],
.chat-bubble-body--markdown h3:first-child[b-y2i1ouoouk] {
    margin-top: 0;
}

.chat-bubble--thinking[b-y2i1ouoouk] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
}

.thinking-dot[b-y2i1ouoouk] {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent);
    animation: thinking-bounce-b-y2i1ouoouk 0.9s ease-in-out infinite;
}

.thinking-dot--1[b-y2i1ouoouk] {
    animation-delay: 0s;
}

.thinking-dot--2[b-y2i1ouoouk] {
    animation-delay: 0.2s;
}

.thinking-dot--3[b-y2i1ouoouk] {
    animation-delay: 0.4s;
}

@keyframes thinking-bounce-b-y2i1ouoouk {
    0%, 100% { transform: scale(0.8); opacity: 0.3; }
    50%       { transform: scale(1.0); opacity: 1.0; }
}

.thinking-label[b-y2i1ouoouk] {
    font-size: 0.78rem;
    color: var(--ink3);
    font-style: italic;
}

.chat-input-area[b-y2i1ouoouk] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 10px 12px;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}

.chat-textarea[b-y2i1ouoouk] {
    flex: 1;
    min-height: 72px;
    max-height: 240px;
    padding: 8px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.85rem;
    font-family: inherit;
    line-height: 1.5;
    resize: vertical;
    box-sizing: border-box;
    transition: border-color 150ms ease-in-out;
}

.chat-textarea:focus[b-y2i1ouoouk] {
    outline: none;
    border-color: var(--accent);
}

.chat-textarea:disabled[b-y2i1ouoouk] {
    opacity: 0.5;
    cursor: not-allowed;
    resize: none;
}

.chat-textarea[b-y2i1ouoouk]::placeholder {
    color: var(--ink3);
}

.chat-send-btn[b-y2i1ouoouk] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: var(--accent);
    border: none;
    border-radius: var(--r);
    color: #fff;
    cursor: pointer;
    transition: background 120ms ease, opacity 120ms ease;
}

.chat-send-btn:hover:not(:disabled)[b-y2i1ouoouk] {
    background: var(--accent-hover);
}

.chat-send-btn:disabled[b-y2i1ouoouk] {
    opacity: 0.45;
    cursor: not-allowed;
}

.send-spinner[b-y2i1ouoouk] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: send-spin-b-y2i1ouoouk 0.7s linear infinite;
}

@keyframes send-spin-b-y2i1ouoouk {
    to { transform: rotate(360deg); }
}

.chat-bubble--review-outcome[b-y2i1ouoouk] {
    background: transparent;
    color: var(--ink2);
    font-size: 0.8rem;
    font-style: italic;
    line-height: 1.45;
    border-left: 2px solid var(--border2);
    border-radius: 0;
    padding: 6px 10px;
    max-width: 96%;
}
/* /Components/EntityHistoryPanel.razor.rz.scp.css */
.history-panel[b-k305j9rozj] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.history-panel-header[b-k305j9rozj] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.history-panel-title[b-k305j9rozj] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--ink2);
    font-family: var(--font-ui);
    letter-spacing: 0.04em;
}

.history-panel-close-btn[b-k305j9rozj] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background: none;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
}

.history-panel-close-btn:hover[b-k305j9rozj] {
    background: var(--bg3);
    color: var(--ink);
}

.history-panel-body[b-k305j9rozj] {
    display: flex;
    flex-direction: row;
    flex: 1;
    overflow: hidden;
}

.history-panel-sidebar[b-k305j9rozj] {
    width: 220px;
    flex-shrink: 0;
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.history-panel-list[b-k305j9rozj] {
    flex: 1;
    overflow-y: auto;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.history-panel-sentinel[b-k305j9rozj] {
    height: 1px;
    flex-shrink: 0;
}

.history-panel-loading[b-k305j9rozj] {
    padding: 8px 12px;
    font-size: 0.75rem;
    color: var(--ink3);
    font-family: var(--font-ui);
}

.history-panel-content[b-k305j9rozj] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.preview-header[b-k305j9rozj] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 6px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
    font-family: var(--font-ui);
}

.preview-header.blocked[b-k305j9rozj] {
    background: color-mix(in srgb, var(--status-warning) 12%, transparent);
}

.preview-header-left[b-k305j9rozj] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.preview-header-label[b-k305j9rozj] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink3);
}

.preview-header-timestamp[b-k305j9rozj] {
    font-size: 0.8rem;
    color: var(--ink2);
}

.btn-restore[b-k305j9rozj] {
    padding: 5px 12px;
    background: var(--accent);
    color: #ffffff;
    border: none;
    border-radius: var(--r);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    transition: background 150ms ease-in-out;
    flex-shrink: 0;
}

.btn-restore:hover:not(:disabled)[b-k305j9rozj] {
    background: var(--accent-hover);
}

.btn-restore.restoring[b-k305j9rozj] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-restore.restoring[b-k305j9rozj]::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 6px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: btn-restore-spin-b-k305j9rozj 0.7s linear infinite;
    vertical-align: middle;
}

@keyframes btn-restore-spin-b-k305j9rozj {
    to { transform: rotate(360deg); }
}

.btn-restore.disabled[b-k305j9rozj] {
    background: var(--bg3);
    color: var(--ink3);
    border: 1px solid var(--border);
    cursor: not-allowed;
}
/* /Components/EntityInspector.razor.rz.scp.css */
/* ============================================================
   EntityInspector — Right pane inspector for entities
   ============================================================ */

/* The inspector flows at its natural height; the enclosing .pane-content owns the
   single scrollbar so the whole inspector scrolls as one (no pinned header). */
.entity-inspector-wrapper[b-olbp8fxl3l] {
    display: flex;
    flex-direction: column;
    margin: -16px;
}

.entity-inspector[b-olbp8fxl3l] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 16px;
}

.inspector-section[b-olbp8fxl3l] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.inspector-label[b-olbp8fxl3l] {
    font-size: 11px;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.inspector-input[b-olbp8fxl3l] {
    width: 100%;
    padding: 6px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.875rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.inspector-input:focus[b-olbp8fxl3l] {
    outline: none;
    border-color: var(--accent);
}

.inspector-input:disabled[b-olbp8fxl3l] {
    opacity: 0.5;
    cursor: not-allowed;
}

.inspector-word-count[b-olbp8fxl3l] {
    margin-top: -12px;
    font-size: 12px;
    font-weight: 400;
    color: var(--ink3);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

/* ---- Description textarea (manuscript entities) ---- */

.inspector-axis-description[b-olbp8fxl3l] {
    width: 100%;
    padding: 6px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.875rem;
    font-family: inherit;
    line-height: 1.5;
    resize: vertical;
    box-sizing: border-box;
    transition: border-color 150ms ease-in-out;
    min-height: 72px;
}

.inspector-axis-description:focus[b-olbp8fxl3l] {
    outline: none;
    border-color: var(--accent);
}

.inspector-axis-description:disabled[b-olbp8fxl3l] {
    opacity: 0.5;
    cursor: not-allowed;
    resize: none;
}

.inspector-axis-description[b-olbp8fxl3l]::placeholder {
    color: var(--ink2);
    opacity: 0.45;
}

/* ---- Read-only name (when entity has a source link) ---- */

/* ---- Reference image: empty state ---- */

.ref-image-empty[b-olbp8fxl3l] {
    width: 100%;
    aspect-ratio: 1 / 1;
    max-width: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px dashed var(--border2);
    border-radius: 50%;
    cursor: pointer;
    background: transparent;
    transition: border-color 150ms ease-in-out, background-color 150ms ease-in-out;
    box-sizing: border-box;
    padding: 16px;
    margin: 0 auto;
}

.ref-image-empty:hover[b-olbp8fxl3l],
.ref-image-empty--drag-over[b-olbp8fxl3l] {
    border-color: var(--accent);
    background: var(--accent-lt);
}

.ref-image-upload-icon[b-olbp8fxl3l] {
    color: var(--ink2);
}

.ref-image-empty-text[b-olbp8fxl3l] {
    font-size: 0.8rem;
    color: var(--ink2);
    text-align: center;
    line-height: 1.4;
}

.ref-image-uploading-text[b-olbp8fxl3l] {
    font-size: 0.85rem;
    color: var(--ink2);
}

/* ---- Reference image: populated state ---- */

.ref-image-populated[b-olbp8fxl3l] {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    max-width: 200px;
    margin: 0 auto;
    cursor: pointer;
}

.ref-image-img[b-olbp8fxl3l] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%;
}

.ref-image-delete-btn[b-olbp8fxl3l] {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.6);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: var(--ink);
    opacity: 0;
    transition: opacity 150ms ease-in-out;
    padding: 0;
}

.ref-image-populated:hover .ref-image-delete-btn[b-olbp8fxl3l] {
    opacity: 1;
}

.ref-image-delete-btn:hover[b-olbp8fxl3l] {
    background: var(--status-error);
    color: var(--ink);
    opacity: 1;
}

/* ---- Error text ---- */

.ref-image-error[b-olbp8fxl3l] {
    font-size: 0.75rem;
    color: var(--status-error);
    margin: 0;
}

/* ---- Hidden file input ---- */

.ref-image-file-input[b-olbp8fxl3l] {
    display: none;
}


/* ---- Source linked section (State B: source link exists) ---- */

.source-linked-section[b-olbp8fxl3l] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.source-linked-info[b-olbp8fxl3l] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.source-linked-icon[b-olbp8fxl3l] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    border-radius: var(--r);
}

.source-linked-details[b-olbp8fxl3l] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.source-linked-title[b-olbp8fxl3l] {
    font-size: 0.85rem;
    color: var(--ink);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.source-linked-date[b-olbp8fxl3l] {
    font-size: 0.75rem;
    color: var(--ink2);
}

.source-refresh-btn[b-olbp8fxl3l] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.8rem;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out;
    align-self: flex-start;
}

.source-refresh-btn:hover:not(:disabled)[b-olbp8fxl3l] {
    background: var(--border);
    border-color: var(--border2);
}

.source-refresh-btn:disabled[b-olbp8fxl3l],
.source-refresh-btn--disabled[b-olbp8fxl3l] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.source-import-error[b-olbp8fxl3l] {
    font-size: 0.75rem;
    color: var(--status-error);
    margin: 0;
}

.source-import-hint[b-olbp8fxl3l] {
    font-size: 0.75rem;
    color: var(--ink2);
    line-height: 1.4;
}

/* ---- Spinner for async operations ---- */

.source-btn-spinner[b-olbp8fxl3l] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: source-spin-b-olbp8fxl3l 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes source-spin-b-olbp8fxl3l {
    to { transform: rotate(360deg); }
}

/* ---- Generate button ---- */

.generate-section[b-olbp8fxl3l] {
    padding-top: 4px;
}

/* ---- Board prompt chips (mention-based scene suggestions) ---- */

.board-prompts-section[b-olbp8fxl3l] {
    gap: 6px;
}

.board-prompt-chip[b-olbp8fxl3l] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.82rem;
    line-height: 1.4;
}

.board-prompt-chip--prominent[b-olbp8fxl3l] {
    border-color: var(--accent);
    background: var(--accent-lt, var(--bg3));
}

.board-prompt-chip__text[b-olbp8fxl3l] {
    color: var(--ink2);
}

.board-prompt-chip__actions[b-olbp8fxl3l] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.board-prompt-chip__btn[b-olbp8fxl3l] {
    padding: 4px 10px;
    background: var(--accent);
    border: none;
    border-radius: var(--r);
    color: var(--bg);
    font-size: 0.8rem;
    font-family: inherit;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 120ms ease-in-out;
    white-space: nowrap;
}

.board-prompt-chip__btn:hover:not(:disabled)[b-olbp8fxl3l] {
    opacity: 0.85;
}

.board-prompt-chip__btn:disabled[b-olbp8fxl3l] {
    opacity: 0.45;
    cursor: not-allowed;
}

.board-prompt-chip__dismiss[b-olbp8fxl3l] {
    padding: 0;
    background: none;
    border: none;
    color: var(--ink2);
    font-size: 0.78rem;
    font-family: inherit;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: color 120ms ease-in-out, text-decoration-color 120ms ease-in-out;
    white-space: nowrap;
}

.board-prompt-chip__dismiss:hover:not(:disabled)[b-olbp8fxl3l] {
    color: var(--ink);
    text-decoration-color: currentColor;
}

.board-prompt-chip__dismiss:disabled[b-olbp8fxl3l] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* ---- Recognition names (aliases) section ---- */

.aliases-list[b-olbp8fxl3l] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.aliases-section-header[b-olbp8fxl3l] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.alias-rename-btn[b-olbp8fxl3l] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 22px;
    padding: 0 8px;
    box-sizing: border-box;
    font-family: var(--font-ui);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    border-radius: var(--r);
    border: 1px solid var(--border2);
    background: var(--bg3);
    color: var(--ink2);
    cursor: pointer;
    white-space: nowrap;
    transition: background 100ms ease, color 100ms ease, border-color 100ms ease;
    width: auto;
}

.alias-rename-btn:hover[b-olbp8fxl3l] {
    background: var(--accent-lt);
    color: var(--accent);
    border-color: var(--accent);
}

.alias-item[b-olbp8fxl3l] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 4px;
    border-radius: var(--r);
    min-height: 26px;
}

.alias-item:hover[b-olbp8fxl3l] {
    background: var(--bg3);
}

.alias-item__text[b-olbp8fxl3l] {
    flex: 1;
    font-size: 0.85rem;
    color: var(--ink);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.alias-flag[b-olbp8fxl3l] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--ink2);
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    padding: 1px 4px;
    flex-shrink: 0;
    cursor: default;
}

/* Clickable "require a capital letter" toggle. Off: muted pill. On: accent pill. */
.alias-flag-toggle[b-olbp8fxl3l] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--ink2);
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    padding: 1px 4px;
    flex-shrink: 0;
    cursor: pointer;
    transition: background-color 100ms ease-in-out, color 100ms ease-in-out, border-color 100ms ease-in-out;
}

.alias-flag-toggle:hover[b-olbp8fxl3l] {
    border-color: var(--accent);
    color: var(--ink);
}

.alias-flag-toggle--on[b-olbp8fxl3l] {
    color: var(--accent);
    background: var(--accent-lt);
    border-color: var(--accent);
}

.alias-item__actions[b-olbp8fxl3l] {
    display: flex;
    align-items: center;
    gap: 2px;
}

.alias-action-btn[b-olbp8fxl3l] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: none;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    padding: 0;
    transition: background-color 100ms ease-in-out, color 100ms ease-in-out;
}

.alias-action-btn:hover[b-olbp8fxl3l] {
    background: var(--border);
    color: var(--ink);
}

.alias-action-btn--delete:hover[b-olbp8fxl3l] {
    background: var(--status-error-lt, var(--bg3));
    color: var(--status-error);
}

.alias-edit-input[b-olbp8fxl3l] {
    flex: 1;
    padding: 3px 6px;
    background: var(--bg3);
    border: 1px solid var(--accent);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.85rem;
    font-family: inherit;
    outline: none;
    min-width: 0;
}

.alias-add-row[b-olbp8fxl3l] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
}

.alias-add-input[b-olbp8fxl3l] {
    flex: 1;
    padding: 5px 8px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.85rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    min-width: 0;
}

.alias-add-input:focus[b-olbp8fxl3l] {
    outline: none;
    border-color: var(--accent);
}

.alias-add-input:disabled[b-olbp8fxl3l] {
    opacity: 0.5;
    cursor: not-allowed;
}

.alias-add-btn[b-olbp8fxl3l] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out, color 150ms ease-in-out;
}

.alias-add-btn:hover:not(:disabled)[b-olbp8fxl3l] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--bg);
}

.alias-add-btn:disabled[b-olbp8fxl3l] {
    opacity: 0.4;
    cursor: not-allowed;
}

.alias-hint[b-olbp8fxl3l] {
    font-size: 0.75rem;
    color: var(--ink2);
    margin: 2px 0 0;
    line-height: 1.4;
}

.alias-error[b-olbp8fxl3l] {
    font-size: 0.75rem;
    color: var(--status-error);
    margin: 2px 0 0;
    line-height: 1.4;
}
/* /Components/EntityListView.razor.rz.scp.css */
.entity-list-view[b-r063ekljog] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.entity-list-loading[b-r063ekljog] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px;
    flex: 1;
}

.entity-list-loading-text[b-r063ekljog] {
    color: var(--ink2);
    font-size: 0.9rem;
}

.entity-list-empty[b-r063ekljog] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 48px;
    flex: 1;
}

.entity-list-empty-icon[b-r063ekljog] {
    color: var(--ink2);
    opacity: 0.5;
}

.entity-list-empty-text[b-r063ekljog] {
    color: var(--ink2);
    font-size: 0.9rem;
}

.entity-list-content[b-r063ekljog] {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.entity-list-folder-header[b-r063ekljog] {
    padding: 8px 16px 4px;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border-bottom: 1px solid var(--border);
    background: var(--bg2);
    position: sticky;
    top: 0;
    z-index: 1;
}

.entity-list-row[b-r063ekljog] {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 2px;
    padding: 10px 16px;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--border);
    color: var(--ink);
    font-family: inherit;
    cursor: pointer;
    text-align: left;
    transition: background-color 150ms ease-in-out;
    width: 100%;
}

.entity-list-row:hover[b-r063ekljog] {
    background: var(--border);
}

.entity-list-row-name[b-r063ekljog] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    grid-column: 1;
    grid-row: 1;
}

.entity-list-row-preview[b-r063ekljog] {
    font-size: 0.78rem;
    color: var(--ink2);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    grid-column: 1;
    grid-row: 2;
}

.entity-list-row-date[b-r063ekljog] {
    font-size: 0.72rem;
    color: var(--ink2);
    white-space: nowrap;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
}
/* /Components/EntityReferencePanel.razor.rz.scp.css */
/* ============================================================
   EntityReferencePanel -- Read-only reference content viewer
   within the split-pane workspace
   ============================================================ */

.ref-panel[b-tg4mrj7wdq] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--bg);
    overflow: hidden;
}

/* ---- Header ---- */

.ref-panel-header[b-tg4mrj7wdq] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 6px 8px 6px 14px;
    background-color: var(--bg2);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.ref-panel-header-center[b-tg4mrj7wdq] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    gap: 3px;
}

.ref-panel-dimension-label[b-tg4mrj7wdq] {
    font-size: 0.68rem;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---- Single-entity label (no dropdown) ---- */

.ref-panel-entity-single[b-tg4mrj7wdq] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.ref-panel-entity-label[b-tg4mrj7wdq] {
    font-size: 0.82rem;
    color: var(--ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---- Custom entity dropdown ---- */

.ref-panel-custom-dropdown[b-tg4mrj7wdq] {
    position: relative;
}

.ref-panel-dropdown-trigger[b-tg4mrj7wdq] {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 2px 6px 2px 4px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.82rem;
    font-family: inherit;
    cursor: pointer;
    text-align: left;
    transition: border-color 150ms ease-in-out, background-color 150ms ease-in-out;
    box-sizing: border-box;
}

.ref-panel-dropdown-trigger:hover[b-tg4mrj7wdq] {
    background-color: rgba(255, 255, 255, 0.05);
    border-color: var(--border);
}

.ref-panel-dropdown-trigger:focus[b-tg4mrj7wdq] {
    border-color: var(--accent);
    outline: none;
}

.ref-panel-dropdown-trigger-text[b-tg4mrj7wdq] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ref-panel-dropdown-chevron[b-tg4mrj7wdq] {
    flex-shrink: 0;
    color: var(--ink2);
    transition: transform 150ms ease-in-out;
}

.ref-panel-dropdown-chevron--open[b-tg4mrj7wdq] {
    transform: rotate(180deg);
}

.ref-panel-dropdown-backdrop[b-tg4mrj7wdq] {
    position: fixed;
    inset: 0;
    z-index: 49;
}

.ref-panel-dropdown-list[b-tg4mrj7wdq] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 50;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    box-shadow: var(--shadow);
    max-height: 200px;
    overflow-y: auto;
    padding: 4px 0;
}

.ref-panel-dropdown-item[b-tg4mrj7wdq] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 10px;
    background: transparent;
    border: none;
    color: var(--ink);
    font-size: 0.82rem;
    font-family: inherit;
    cursor: pointer;
    text-align: left;
    transition: background-color 100ms ease-in-out;
    box-sizing: border-box;
}

.ref-panel-dropdown-item:hover[b-tg4mrj7wdq] {
    background-color: var(--accent-lt);
}

.ref-panel-dropdown-item--selected[b-tg4mrj7wdq] {
    background-color: var(--accent-lt);
}

.ref-panel-dropdown-item-name[b-tg4mrj7wdq] {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---- Header action buttons ---- */

.ref-panel-header-actions[b-tg4mrj7wdq] {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}

.ref-panel-icon-btn[b-tg4mrj7wdq] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: background-color 150ms ease-in-out, color 150ms ease-in-out;
}

.ref-panel-icon-btn:hover[b-tg4mrj7wdq] {
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--ink);
}

.ref-panel-close-btn:hover[b-tg4mrj7wdq] {
    color: var(--status-error);
}

/* ---- Content area ---- */

.ref-panel-content[b-tg4mrj7wdq] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.ref-panel-loading[b-tg4mrj7wdq] {
    text-align: center;
    color: var(--ink2);
    font-size: 0.9rem;
    font-style: italic;
    margin: 0;
    padding: 48px 32px 0;
}

.ref-panel-error[b-tg4mrj7wdq] {
    text-align: center;
    color: var(--status-error);
    font-size: 0.9rem;
    margin: 0;
    padding: 48px 32px 0;
}

.ref-panel-empty[b-tg4mrj7wdq] {
    text-align: center;
    color: var(--ink2);
    font-size: 0.9rem;
    font-style: italic;
    margin: 0;
    padding: 48px 32px 0;
}
/* /Components/EntityThumbnailImage.razor.rz.scp.css */
.entity-thumbnail-image[b-jfnwxkv0p2] {
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    display: block;
}

.entity-thumbnail-logo[b-jfnwxkv0p2] {
    border-radius: var(--r);
    object-fit: contain;
    flex-shrink: 0;
    display: block;
}

.entity-thumbnail-avatar[b-jfnwxkv0p2] {
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-family: var(--font-ui);
    line-height: 1;
    box-sizing: border-box;
}
/* /Components/Export/DriveFolderPicker.razor.rz.scp.css */
.folder-picker-backdrop[b-xee715j9wi] {
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-xee715j9wi 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-xee715j9wi {
    from { opacity: 0; }
    to { opacity: 1; }
}

.folder-picker-dialog[b-xee715j9wi] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 480px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    max-height: 80vh;
    animation: dialog-slide-in-b-xee715j9wi 150ms ease-in-out both;
}

@keyframes dialog-slide-in-b-xee715j9wi {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.folder-picker-header[b-xee715j9wi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem 0.75rem;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.folder-picker-title[b-xee715j9wi] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ink);
}

.folder-picker-close-btn[b-xee715j9wi] {
    background: none;
    border: none;
    color: var(--ink2);
    cursor: pointer;
    padding: 4px;
    border-radius: var(--r);
    display: flex;
    align-items: center;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.folder-picker-close-btn:hover[b-xee715j9wi] {
    color: var(--ink);
    background: var(--border);
}

.folder-picker-breadcrumb[b-xee715j9wi] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
    padding: 6px 1.25rem;
    border-bottom: 1px solid var(--border);
    background: var(--bg);
    flex-shrink: 0;
}

.breadcrumb-item[b-xee715j9wi] {
    background: none;
    border: none;
    color: #1a73e8;
    font-size: 0.8rem;
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 3px;
    transition: background 150ms ease-in-out;
}

.breadcrumb-item:hover[b-xee715j9wi] {
    background: rgba(26, 115, 232, 0.1);
}

.breadcrumb-item--current[b-xee715j9wi] {
    color: var(--ink2);
    cursor: default;
}

.breadcrumb-item--current:hover[b-xee715j9wi] {
    background: none;
}

.breadcrumb-sep[b-xee715j9wi] {
    color: var(--ink2);
    font-size: 0.8rem;
    user-select: none;
}

.folder-picker-body[b-xee715j9wi] {
    flex: 1;
    overflow-y: auto;
    min-height: 120px;
    max-height: 340px;
}

.folder-picker-loading[b-xee715j9wi],
.folder-picker-empty[b-xee715j9wi],
.folder-picker-error[b-xee715j9wi] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 1.5rem 1.25rem;
    font-size: 0.85rem;
    color: var(--ink2);
}

.folder-picker-error[b-xee715j9wi] {
    color: var(--status-error);
}

.folder-picker-spinner[b-xee715j9wi] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid var(--border);
    border-top-color: #1a73e8;
    border-radius: 50%;
    animation: spin-b-xee715j9wi 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes spin-b-xee715j9wi {
    to { transform: rotate(360deg); }
}

.folder-list[b-xee715j9wi] {
    list-style: none;
    margin: 0;
    padding: 4px 0;
}

.folder-item[b-xee715j9wi] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 1.25rem;
    cursor: pointer;
    transition: background 150ms ease-in-out;
    color: var(--ink);
    font-size: 0.875rem;
}

.folder-item:hover[b-xee715j9wi] {
    background: var(--border);
}

.folder-item--selected[b-xee715j9wi] {
    background: rgba(26, 115, 232, 0.15);
    color: #1a73e8;
}

.folder-icon[b-xee715j9wi] {
    color: var(--status-warning);
    flex-shrink: 0;
}

.folder-name[b-xee715j9wi] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.folder-nav-btn[b-xee715j9wi] {
    background: none;
    border: none;
    color: var(--ink2);
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity 150ms ease-in-out, color 150ms ease-in-out;
}

.folder-item:hover .folder-nav-btn[b-xee715j9wi] {
    opacity: 1;
}

.folder-nav-btn:hover[b-xee715j9wi] {
    color: var(--ink);
}

.folder-picker-create[b-xee715j9wi] {
    padding: 8px 1.25rem;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}

.btn-new-folder[b-xee715j9wi] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    color: #1a73e8;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    padding: 4px 0;
    transition: opacity 150ms ease-in-out;
}

.btn-new-folder:hover[b-xee715j9wi] {
    text-decoration: underline;
}

.create-folder-row[b-xee715j9wi] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.create-folder-input[b-xee715j9wi] {
    flex: 1;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.85rem;
    padding: 5px 8px;
    outline: none;
    transition: border-color 150ms ease-in-out;
}

.create-folder-input:focus[b-xee715j9wi] {
    border-color: #1a73e8;
}

.btn-create-confirm[b-xee715j9wi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 12px;
    background: #1a73e8;
    color: #fff;
    border: none;
    border-radius: var(--r);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    min-width: 60px;
    min-height: 30px;
    transition: background 150ms ease-in-out, opacity 150ms ease-in-out;
}

.btn-create-confirm:hover:not(:disabled)[b-xee715j9wi] {
    background: #1557b0;
}

.btn-create-confirm:disabled[b-xee715j9wi] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-create-cancel[b-xee715j9wi] {
    background: none;
    border: none;
    color: var(--ink2);
    font-size: 0.8rem;
    cursor: pointer;
    padding: 5px 8px;
    transition: color 150ms ease-in-out;
}

.btn-create-cancel:hover[b-xee715j9wi] {
    color: var(--ink);
}

.btn-spinner-small[b-xee715j9wi] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: spin-b-xee715j9wi 0.7s linear infinite;
}

.folder-picker-footer[b-xee715j9wi] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}

/* Footer buttons (.btn-cancel / .btn-confirm) are global — see app.css. */
/* /Components/Export/ExportDialog.razor.rz.scp.css */
.export-backdrop[b-njfm0e35qp] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-njfm0e35qp 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-njfm0e35qp {
    from { opacity: 0; }
    to { opacity: 1; }
}

.export-dialog[b-njfm0e35qp] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: 10px;
    width: 100%;
    max-width: 580px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    max-height: 90vh;
    animation: dialog-slide-in-b-njfm0e35qp 150ms ease-in-out both;
}

@keyframes dialog-slide-in-b-njfm0e35qp {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.export-header[b-njfm0e35qp] {
    padding: 1.25rem 1.5rem 1rem;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.export-header-title[b-njfm0e35qp] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gdocs-icon[b-njfm0e35qp] {
    flex-shrink: 0;
}

.export-title[b-njfm0e35qp] {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0;
}

.export-subtitle[b-njfm0e35qp] {
    font-size: 0.8rem;
    color: var(--ink2);
    margin: 4px 0 0 32px;
}

.export-body[b-njfm0e35qp] {
    flex: 1;
    overflow-y: auto;
    min-height: 80px;
}

.export-loading[b-njfm0e35qp],
.export-load-error[b-njfm0e35qp],
.export-auth-error[b-njfm0e35qp],
.export-empty-state[b-njfm0e35qp] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 1.5rem;
    font-size: 0.875rem;
    color: var(--ink2);
    flex-direction: column;
}

.export-auth-error[b-njfm0e35qp] {
    color: var(--status-error);
}

.export-loading[b-njfm0e35qp] {
    flex-direction: row;
    align-items: center;
}

.export-spinner[b-njfm0e35qp] {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid var(--border);
    border-top-color: #1a73e8;
    border-radius: 50%;
    animation: spin-b-njfm0e35qp 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes spin-b-njfm0e35qp {
    to { transform: rotate(360deg); }
}

.btn-retry[b-njfm0e35qp] {
    display: inline-flex;
    align-items: center;
    padding: 5px 14px;
    background: var(--accent);
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms ease-in-out;
}

.btn-retry:hover[b-njfm0e35qp] {
    background: var(--accent-hover);
}

.dimension-list[b-njfm0e35qp] {
    padding: 0 1.5rem;
}

.export-progress-view[b-njfm0e35qp] {
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
}

.progress-bar-track[b-njfm0e35qp] {
    width: 100%;
    height: 10px;
    background: var(--bg);
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid var(--border);
}

.progress-bar-fill[b-njfm0e35qp] {
    height: 100%;
    background: var(--accent);
    border-radius: 5px;
    transition: width 300ms ease-in-out;
}

.progress-label[b-njfm0e35qp] {
    font-size: 0.85rem;
    color: var(--ink2);
    margin: 0;
    text-align: center;
}

.export-complete-view[b-njfm0e35qp] {
    padding: 1.5rem;
}

.complete-empty-message[b-njfm0e35qp] {
    font-size: 0.875rem;
    color: var(--ink2);
    margin: 0;
}

.complete-header[b-njfm0e35qp] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 1rem;
}

.complete-title[b-njfm0e35qp] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
}

.complete-list[b-njfm0e35qp] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.complete-item[b-njfm0e35qp] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.complete-item-link[b-njfm0e35qp] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #1a73e8;
    font-size: 0.875rem;
    text-decoration: none;
    padding: 5px 8px;
    border-radius: 5px;
    transition: background 150ms ease-in-out;
}

.complete-item-link:hover[b-njfm0e35qp] {
    background: rgba(26, 115, 232, 0.1);
    text-decoration: underline;
}

.external-link-icon[b-njfm0e35qp] {
    color: var(--ink2);
    flex-shrink: 0;
}

.complete-item-error[b-njfm0e35qp] {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    padding: 5px 8px;
    flex-wrap: wrap;
}

.complete-item-skipped[b-njfm0e35qp] {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 5px 8px;
}

.complete-item-name[b-njfm0e35qp] {
    font-size: 0.875rem;
    color: var(--ink);
    font-weight: 500;
}

.complete-item-error-msg[b-njfm0e35qp] {
    font-size: 0.8rem;
    color: var(--status-error);
}

.complete-item-skip-msg[b-njfm0e35qp] {
    font-size: 0.8rem;
    color: var(--status-warning);
}

.export-footer[b-njfm0e35qp] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}

/* Dialog footer buttons (.btn-confirm / .btn-cancel) and their spinner
   (.btn-spinner) are global — see app.css. */
/* /Components/Export/ExportDimensionRow.razor.rz.scp.css */
.dimension-row[b-oxoxe9sosm] {
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
    transition: opacity 200ms ease-in-out;
}

.dimension-row:last-child[b-oxoxe9sosm] {
    border-bottom: none;
}

.dimension-row--dimmed[b-oxoxe9sosm] {
    opacity: 0.45;
}

.row-main[b-oxoxe9sosm] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.row-checkbox-label[b-oxoxe9sosm] {
    display: flex;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 2px;
}

.row-checkbox[b-oxoxe9sosm] {
    width: 16px;
    height: 16px;
    accent-color: #1a73e8;
    cursor: pointer;
}

.row-info[b-oxoxe9sosm] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.row-name-line[b-oxoxe9sosm] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.row-label[b-oxoxe9sosm] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ink);
}

.row-mode-badge[b-oxoxe9sosm] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--border);
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--ink2);
    white-space: nowrap;
}

.row-link-status[b-oxoxe9sosm] {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.link-indicator[b-oxoxe9sosm] {
    display: inline-flex;
    align-items: center;
}

.link-indicator--linked[b-oxoxe9sosm] {
    color: var(--status-success);
}

.link-indicator--uncertain[b-oxoxe9sosm] {
    color: var(--status-warning);
}

.link-count[b-oxoxe9sosm] {
    font-size: 0.7rem;
    font-weight: 500;
    padding: 2px 6px;
    border-radius: 10px;
}

.link-count--full[b-oxoxe9sosm] {
    background: rgba(76, 175, 80, 0.15);
    color: var(--status-success);
}

.link-count--partial[b-oxoxe9sosm] {
    background: rgba(255, 152, 0, 0.15);
    color: var(--status-warning);
}

.row-fields[b-oxoxe9sosm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.row-field-label[b-oxoxe9sosm] {
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.row-doc-name[b-oxoxe9sosm] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.row-folder[b-oxoxe9sosm] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.doc-name-input[b-oxoxe9sosm] {
    width: 100%;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.85rem;
    padding: 6px 10px;
    outline: none;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.doc-name-input:focus[b-oxoxe9sosm] {
    border-color: #1a73e8;
}

.doc-name-input:disabled[b-oxoxe9sosm] {
    opacity: 0.5;
    cursor: not-allowed;
}

.doc-name-hint[b-oxoxe9sosm] {
    font-size: 0.72rem;
    color: var(--ink2);
    margin: 0;
    font-style: italic;
}

.folder-picker-btn[b-oxoxe9sosm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    font-size: 0.8rem;
    padding: 5px 10px;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
    text-align: left;
    max-width: 100%;
    overflow: hidden;
}

.folder-picker-btn:hover:not(:disabled)[b-oxoxe9sosm] {
    color: var(--ink);
    border-color: #1a73e8;
    background: rgba(26, 115, 232, 0.08);
}

.folder-picker-btn:disabled[b-oxoxe9sosm],
.folder-picker-btn--disabled[b-oxoxe9sosm] {
    opacity: 0.5;
    cursor: not-allowed;
}

.folder-path-text[b-oxoxe9sosm] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}
/* /Components/Export/ExportFormatModal.razor.rz.scp.css */
.efm-backdrop[b-i1svufnz6g] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: efm-backdrop-in-b-i1svufnz6g 150ms ease-in-out both;
}

@keyframes efm-backdrop-in-b-i1svufnz6g {
    from { opacity: 0; }
    to { opacity: 1; }
}

.efm-dialog[b-i1svufnz6g] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: 10px;
    width: 100%;
    max-width: 520px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    max-height: 90vh;
    animation: efm-dialog-in-b-i1svufnz6g 150ms ease-in-out both;
}

@keyframes efm-dialog-in-b-i1svufnz6g {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.efm-header[b-i1svufnz6g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem 1rem;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.efm-title[b-i1svufnz6g] {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0;
}

.efm-close-btn[b-i1svufnz6g] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
    flex-shrink: 0;
}

.efm-close-btn:hover[b-i1svufnz6g] {
    color: var(--ink);
    background: var(--bg3);
}

.efm-body[b-i1svufnz6g] {
    flex: 1;
    overflow-y: auto;
    padding: 1.25rem 1.5rem;
    min-height: 80px;
}

.efm-format-label[b-i1svufnz6g] {
    font-size: 0.875rem;
    color: var(--ink2);
    margin: 0 0 1rem;
}

.efm-format-options[b-i1svufnz6g] {
    display: flex;
    gap: 1rem;
}

.efm-format-btn[b-i1svufnz6g] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 1.25rem 1rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    cursor: pointer;
    transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out, background 150ms ease-in-out;
    text-align: center;
}

.efm-format-btn:hover[b-i1svufnz6g] {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent-lt);
    background: var(--bg2);
}

.efm-format-btn-name[b-i1svufnz6g] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ink);
}

.efm-format-btn-desc[b-i1svufnz6g] {
    font-size: 0.78rem;
    color: var(--ink2);
}

.efm-section-hint[b-i1svufnz6g] {
    font-size: 0.875rem;
    color: var(--ink2);
    margin: 0 0 0.75rem;
}

.efm-dim-list[b-i1svufnz6g] {
    border: 1px solid var(--border);
    border-radius: var(--r);
    overflow: hidden;
    padding: 0 0.25rem;
}

.efm-form[b-i1svufnz6g] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.efm-field-label[b-i1svufnz6g] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--ink2);
    margin-top: 0.5rem;
}

.efm-required-star[b-i1svufnz6g] {
    color: var(--status-error);
}

.efm-field-input[b-i1svufnz6g] {
    width: 100%;
    padding: 0.6rem 0.75rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.efm-field-input:focus[b-i1svufnz6g] {
    outline: none;
    border-color: var(--accent);
}

.efm-field-input:disabled[b-i1svufnz6g] {
    opacity: 0.5;
    cursor: not-allowed;
}

.efm-field-input[b-i1svufnz6g]::placeholder {
    color: var(--ink3);
}

.efm-status-view[b-i1svufnz6g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 2rem 1rem;
    text-align: center;
}

.efm-status-text[b-i1svufnz6g] {
    font-size: 0.9rem;
    color: var(--ink2);
}

.efm-status-view--error .efm-status-text[b-i1svufnz6g] {
    color: var(--status-error);
}

.efm-spinner[b-i1svufnz6g] {
    display: inline-block;
    width: 28px;
    height: 28px;
    border: 3px solid var(--border);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: efm-spin-b-i1svufnz6g 0.7s linear infinite;
}

@keyframes efm-spin-b-i1svufnz6g {
    to { transform: rotate(360deg); }
}

.efm-footer[b-i1svufnz6g] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
    min-height: 60px;
}

.efm-btn-primary[b-i1svufnz6g] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.6rem 1.5rem;
    background: var(--accent);
    color: #fff;
    border: none;
    border-radius: var(--r);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    min-width: 100px;
    min-height: 38px;
    transition: background 150ms ease-in-out, opacity 150ms ease-in-out;
}

.efm-btn-primary:hover:not(:disabled)[b-i1svufnz6g] {
    background: var(--accent-hover);
}

.efm-btn-primary:disabled[b-i1svufnz6g] {
    opacity: 0.45;
    cursor: not-allowed;
}

.efm-btn-secondary[b-i1svufnz6g] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.5rem;
    background: transparent;
    color: var(--ink2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    min-width: 100px;
    min-height: 38px;
    width: auto;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.efm-btn-secondary:hover:not(:disabled)[b-i1svufnz6g] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

.efm-btn-secondary:disabled[b-i1svufnz6g] {
    opacity: 0.4;
    cursor: not-allowed;
}

.efm-btn-spinner[b-i1svufnz6g] {
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: efm-spin-b-i1svufnz6g 0.7s linear infinite;
}
/* /Components/Export/WordExportDimensionRow.razor.rz.scp.css */
.word-dim-row[b-7gk22wirpp] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid var(--border);
    font-size: 0.875rem;
    color: var(--ink);
}

.word-dim-row:last-child[b-7gk22wirpp] {
    border-bottom: none;
}

.word-dim-row input[type="checkbox"][b-7gk22wirpp] {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    accent-color: var(--accent);
    cursor: pointer;
}

.word-dim-row input[type="checkbox"]:disabled[b-7gk22wirpp] {
    cursor: not-allowed;
    opacity: 0.7;
}

.word-dim-row label[b-7gk22wirpp] {
    flex: 1;
    cursor: pointer;
}

.word-dim-required[b-7gk22wirpp] {
    font-size: 0.75rem;
    color: var(--ink2);
    font-style: italic;
    margin-right: 4px;
}
/* /Components/ExtractionProgress.razor.rz.scp.css */
.extraction-progress[b-9mss3prwup] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    height: 28px;
    background: var(--board-header-bg);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.extraction-progress-bar-track[b-9mss3prwup] {
    flex: 1;
    height: 4px;
    background: var(--border);
    border-radius: 99px;
    overflow: hidden;
}

.extraction-progress-bar-fill[b-9mss3prwup] {
    height: 100%;
    background: var(--accent);
    border-radius: 99px;
    transition: width 200ms ease;
    min-width: 4px;
}

.extraction-progress-label[b-9mss3prwup] {
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--ink2);
    white-space: nowrap;
    flex-shrink: 0;
}
/* /Components/FindReplaceBar.razor.rz.scp.css */
.find-replace-bar[b-mhxattqqvu] {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 200;
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
    padding: 22px 14px 10px 14px;
    display: flex;
    gap: 10px;
    align-items: stretch;
    font-family: var(--font-ui);
    min-width: 520px;
    max-width: 720px;
}

.find-replace-bar--embedded[b-mhxattqqvu] {
    position: static;
    top: auto;
    right: auto;
    z-index: auto;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 4px 14px 12px 14px;
    min-width: 0;
    max-width: none;
    width: 100%;
    box-sizing: border-box;
}

.frb-inputs-col[b-mhxattqqvu] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
}

.frb-input[b-mhxattqqvu] {
    width: 100%;
    min-width: 0;
    background: var(--bg);
    border: 1px solid var(--border2);
    color: var(--ink);
    padding: 0 8px;
    height: 26px;
    box-sizing: border-box;
    border-radius: var(--r);
    font-family: var(--font-ui);
    font-size: 0.875rem;
    outline: none;
    transition: border-color 120ms ease;
}

.frb-input:focus[b-mhxattqqvu] {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent-lt);
}

.frb-input.is-no-matches[b-mhxattqqvu] {
    border-color: var(--status-error, #d24);
}

.frb-actions-col[b-mhxattqqvu] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex-shrink: 0;
    justify-content: space-between;
}

.frb-row[b-mhxattqqvu] {
    display: flex;
    gap: 4px;
    align-items: center;
}

.frb-row--bottom[b-mhxattqqvu] {
    justify-content: flex-end;
}

.frb-toggle[b-mhxattqqvu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 26px;
    box-sizing: border-box;
    font-size: 0.75rem;
    line-height: 1;
    color: var(--ink2);
    cursor: pointer;
    padding: 0 8px;
    border-radius: var(--r);
    border: 1px solid var(--border);
    background: var(--bg3);
    user-select: none;
    flex-shrink: 0;
    transition: background 100ms ease, border-color 100ms ease;
}

.frb-toggle:hover[b-mhxattqqvu] {
    border-color: var(--border2);
    background: var(--bg2);
}

.frb-toggle input[type="checkbox"][b-mhxattqqvu] {
    display: none;
}

.frb-toggle:has(input:checked)[b-mhxattqqvu] {
    background: var(--accent-lt);
    border-color: var(--accent);
    color: var(--accent);
}

.match-count[b-mhxattqqvu] {
    font-size: 0.78rem;
    color: var(--ink3);
    white-space: nowrap;
    flex-shrink: 0;
    text-align: right;
    min-width: 56px;
}

.wrap-indicator[b-mhxattqqvu] {
    font-size: 0.72rem;
    color: var(--accent-gold);
    position: absolute;
    bottom: 2px;
    left: 14px;
}

.frb-btn[b-mhxattqqvu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 26px;
    box-sizing: border-box;
    font-family: var(--font-ui);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1;
    padding: 0 10px;
    border-radius: var(--r);
    border: 1px solid var(--border2);
    background: var(--bg3);
    color: var(--ink2);
    cursor: pointer;
    flex-shrink: 0;
    transition: background 100ms ease, color 100ms ease;
    white-space: nowrap;
}

.frb-btn--icon[b-mhxattqqvu] {
    min-width: 28px;
    padding: 0 6px;
    font-size: 0.85rem;
}

.frb-btn:hover:not(:disabled)[b-mhxattqqvu] {
    background: var(--accent-lt);
    color: var(--accent);
    border-color: var(--accent);
}

.frb-btn:disabled[b-mhxattqqvu] {
    opacity: 0.4;
    cursor: default;
}

.frb-close-corner[b-mhxattqqvu] {
    position: absolute;
    top: 4px;
    right: 6px;
    font-family: var(--font-ui);
    font-size: 1.05rem;
    line-height: 1;
    padding: 2px 6px;
    border: none;
    background: transparent;
    color: var(--ink3);
    cursor: pointer;
    transition: color 100ms ease;
}

.frb-close-corner:hover[b-mhxattqqvu] {
    color: var(--ink);
}
/* /Components/FocusBar.razor.rz.scp.css */
/* Auto-hiding focus-mode control strip, centered at the bottom of the viewport. */
.focus-bar[b-y8s8j2wcqi] {
    position: fixed;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%) translateY(12px);
    z-index: 1100;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    background-color: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    font-family: var(--font-ui);
    opacity: 0;
    pointer-events: none;
    transition: opacity 200ms ease, transform 200ms ease;
}

.focus-bar--visible[b-y8s8j2wcqi] {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.focus-bar-stats[b-y8s8j2wcqi] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 6px;
}

.focus-bar-count[b-y8s8j2wcqi] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--ink);
    white-space: nowrap;
}

.focus-bar-goal[b-y8s8j2wcqi] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.focus-bar-goal-track[b-y8s8j2wcqi] {
    width: 64px;
    height: 4px;
    border-radius: 2px;
    background-color: var(--bg3);
    overflow: hidden;
}

.focus-bar-goal-fill[b-y8s8j2wcqi] {
    height: 100%;
    background-color: var(--accent);
    border-radius: 2px;
    transition: width 300ms ease;
}

.focus-bar-goal-label[b-y8s8j2wcqi] {
    font-size: 0.72rem;
    color: var(--ink2);
    white-space: nowrap;
}

.focus-bar-sep[b-y8s8j2wcqi] {
    width: 1px;
    height: 20px;
    background-color: var(--border);
    flex-shrink: 0;
}

.focus-bar-group[b-y8s8j2wcqi] {
    display: flex;
    align-items: center;
    gap: 2px;
}

.focus-bar-btn[b-y8s8j2wcqi] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 30px;
    min-width: 30px;
    justify-content: center;
    padding: 0 8px;
    border: none;
    border-radius: var(--r);
    background: transparent;
    color: var(--ink2);
    font-family: var(--font-ui);
    font-size: 0.78rem;
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease;
}

.focus-bar-btn:hover:not(:disabled)[b-y8s8j2wcqi] {
    background-color: var(--bg2);
    color: var(--ink);
}

.focus-bar-btn:disabled[b-y8s8j2wcqi] {
    opacity: 0.4;
    cursor: default;
}

.focus-bar-btn--wide[b-y8s8j2wcqi] {
    padding: 0 10px;
}

.focus-bar-btn--active[b-y8s8j2wcqi] {
    color: var(--accent);
    background-color: var(--accent-lt);
}

.focus-bar-scale[b-y8s8j2wcqi] {
    font-size: 0.72rem;
    color: var(--ink2);
    min-width: 36px;
    text-align: center;
}

/* Segmented width control */
.focus-bar-segment[b-y8s8j2wcqi] {
    border: 1px solid var(--border);
    border-radius: var(--r);
    overflow: hidden;
    gap: 0;
}

.focus-bar-seg-btn[b-y8s8j2wcqi] {
    height: 28px;
    padding: 0 10px;
    border: none;
    background: transparent;
    color: var(--ink2);
    font-family: var(--font-ui);
    font-size: 0.74rem;
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease;
}

.focus-bar-seg-btn:hover[b-y8s8j2wcqi] {
    background-color: var(--bg2);
    color: var(--ink);
}

.focus-bar-seg-btn--active[b-y8s8j2wcqi] {
    color: var(--accent);
    background-color: var(--accent-lt);
}

.focus-bar-exit[b-y8s8j2wcqi] {
    color: var(--ink2);
}
/* /Components/FocusPeekCard.razor.rz.scp.css */
/* Right-anchored read-only notes panel — mirrors where the inspector sits out of focus mode. */
.focus-peek[b-cy0wvhr293] {
    position: fixed;
    right: 24px;
    z-index: 1200;
    width: 340px;
    max-height: 60vh;
    overflow-y: auto;
    padding: 14px 16px;
    background-color: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    font-family: var(--font-ui);
    pointer-events: none;
    animation: focus-peek-in-b-cy0wvhr293 140ms ease;
}

@keyframes focus-peek-in-b-cy0wvhr293 {
    from { opacity: 0; transform: translateX(8px); }
    to { opacity: 1; transform: translateX(0); }
}

.focus-peek-name[b-cy0wvhr293] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ink);
}

.focus-peek-board[b-cy0wvhr293] {
    margin-top: 2px;
    margin-bottom: 8px;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink3);
}

.focus-peek-body[b-cy0wvhr293] {
    font-size: 0.82rem;
    line-height: 1.55;
    color: var(--ink2);
}

.focus-peek-body ul[b-cy0wvhr293],
.focus-peek-body ol[b-cy0wvhr293] {
    margin: 0;
    padding-left: 18px;
}

.focus-peek-body li[b-cy0wvhr293] {
    margin: 2px 0;
}

.focus-peek-body p[b-cy0wvhr293] {
    margin: 0 0 6px;
}

.focus-peek-empty[b-cy0wvhr293] {
    margin-top: 6px;
    font-size: 0.8rem;
    font-style: italic;
    color: var(--ink3);
}
/* /Components/FolderInspector.razor.rz.scp.css */
.folder-inspector[b-7iu0yddcl6] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 16px;
}

.inspector-section[b-7iu0yddcl6] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.inspector-row[b-7iu0yddcl6] {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.inspector-label[b-7iu0yddcl6] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.inspector-label--inline[b-7iu0yddcl6] {
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.85rem;
    color: var(--ink);
}

.inspector-input[b-7iu0yddcl6] {
    width: 100%;
    padding: 6px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.875rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.inspector-input:focus[b-7iu0yddcl6] {
    outline: none;
    border-color: var(--accent);
}

.inspector-input:disabled[b-7iu0yddcl6] {
    opacity: 0.5;
    cursor: not-allowed;
}

.inspector-word-count[b-7iu0yddcl6] {
    margin-top: -12px;
    font-size: 0.75rem;
    color: var(--ink2);
}

.toggle-btn[b-7iu0yddcl6] {
    position: relative;
    width: 38px;
    height: 20px;
    background: var(--border);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    padding: 0;
    transition: background-color 150ms ease-in-out;
    flex-shrink: 0;
}

.toggle-btn--on[b-7iu0yddcl6] {
    background: var(--accent);
}

.toggle-btn:disabled[b-7iu0yddcl6] {
    opacity: 0.4;
    cursor: not-allowed;
}

.toggle-thumb[b-7iu0yddcl6] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 150ms ease-in-out;
}

.toggle-btn--on .toggle-thumb[b-7iu0yddcl6] {
    transform: translateX(18px);
}
/* /Components/GenerateNotesFromManuscriptPromptDialog.razor.rz.scp.css */
.modal-backdrop[b-gkbivasol4] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-gkbivasol4 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-gkbivasol4 {
    from { opacity: 0; }
    to { opacity: 1; }
}

.modal-dialog[b-gkbivasol4] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 480px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-gkbivasol4 150ms ease-in-out both;
    outline: none;
}

@keyframes dialog-slide-in-b-gkbivasol4 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-gkbivasol4] {
    padding: 1.25rem 1.5rem 0;
}

.modal-title[b-gkbivasol4] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-body[b-gkbivasol4] {
    padding: 1rem 1.5rem;
}

.modal-message[b-gkbivasol4] {
    font-size: 0.9rem;
    color: var(--ink2);
    line-height: 1.6;
    margin: 0 0 0.85rem;
}

.gnfm-bullets[b-gkbivasol4] {
    margin: 0 0 0.9rem;
    padding-left: 1.1rem;
    color: var(--ink2);
    font-size: 0.875rem;
    line-height: 1.7;
}

.gnfm-bullets li[b-gkbivasol4] {
    margin: 0.1rem 0;
}

.gnfm-loading[b-gkbivasol4] {
    font-size: 0.875rem;
    color: var(--ink3);
    margin: 0 0 0.9rem;
    font-style: italic;
}

.gnfm-time-callout[b-gkbivasol4] {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    padding: 0.65rem 0.9rem;
    background: color-mix(in srgb, var(--border2) 25%, var(--bg2));
    border: 1px solid var(--border2);
    border-radius: var(--r);
    font-size: 0.83rem;
    color: var(--ink2);
    line-height: 1.5;
    margin-bottom: 0.5rem;
}

.gnfm-time-icon[b-gkbivasol4] {
    flex: 0 0 14px;
    color: var(--ink3);
    margin-top: 1px;
}

.gnfm-warn-callout[b-gkbivasol4] {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    padding: 0.65rem 0.9rem;
    background: color-mix(in srgb, var(--status-warning) 12%, var(--bg2));
    border: 1px solid color-mix(in srgb, var(--status-warning) 30%, transparent);
    border-radius: var(--r);
    font-size: 0.83rem;
    color: var(--ink2);
    line-height: 1.5;
}

.gnfm-warn-icon[b-gkbivasol4] {
    flex: 0 0 14px;
    color: var(--status-warning);
    margin-top: 1px;
}

.modal-footer[b-gkbivasol4] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
}


.phase-pill[b-gkbivasol4] {
    margin-left: auto;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    background: var(--bg3);
    color: var(--ink2);
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    white-space: nowrap;
}

.modal-header[b-gkbivasol4] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.progress-block[b-gkbivasol4] {
    margin: 1.1rem 0 0.4rem;
}

.progress-bar[b-gkbivasol4] {
    width: 100%;
    height: 8px;
    background: var(--bg3);
    border-radius: 999px;
    overflow: hidden;
}

.progress-fill[b-gkbivasol4] {
    height: 100%;
    background: var(--accent);
    border-radius: 999px;
    transition: width 0.4s ease-in-out;
}

.progress-percent[b-gkbivasol4] {
    font-size: 0.8rem;
    color: var(--ink3);
    text-align: right;
    margin-top: 0.35rem;
}

.current-step[b-gkbivasol4] {
    margin-top: 0.85rem;
    font-size: 0.9rem;
    color: var(--ink2);
    font-style: italic;
    line-height: 1.5;
}

.recent-milestone[b-gkbivasol4] {
    margin-top: 0.4rem;
    margin-bottom: 0;
    font-size: 0.82rem;
    color: var(--ink3);
    font-style: italic;
    line-height: 1.5;
}

.board-tiles[b-gkbivasol4] {
    list-style: none;
    margin: 0.75rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.board-tile[b-gkbivasol4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.45rem 0.75rem;
    background: color-mix(in srgb, var(--border2) 20%, var(--bg2));
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.82rem;
    line-height: 1.4;
}

.board-tile-name[b-gkbivasol4] {
    color: var(--ink2);
    font-weight: 500;
}

.board-tile-count[b-gkbivasol4] {
    color: var(--ink3);
    white-space: nowrap;
    margin-left: 0.75rem;
}

.info-line[b-gkbivasol4] {
    margin-top: 1rem;
    font-size: 0.82rem;
    color: var(--ink3);
    line-height: 1.5;
    padding-left: 1.5rem;
    position: relative;
}

.info-line[b-gkbivasol4]::before {
    content: "ⓘ";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--ink3);
}

.error-callout[b-gkbivasol4] {
    margin-top: 0.5rem;
    padding: 0.75rem 0.9rem;
    background: color-mix(in srgb, var(--status-error) 12%, var(--bg2));
    border: 1px solid color-mix(in srgb, var(--status-error) 40%, transparent);
    border-radius: var(--r);
    font-size: 0.83rem;
    color: var(--status-error);
    font-family: monospace;
    line-height: 1.5;
    word-break: break-word;
}

/* /Components/GenerationBatchSummaryDialog.razor.rz.scp.css */
.modal-backdrop[b-wvfg4yujwq] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: gbs-backdrop-fade-in-b-wvfg4yujwq 150ms ease-in-out both;
}

@keyframes gbs-backdrop-fade-in-b-wvfg4yujwq {
    from { opacity: 0; }
    to { opacity: 1; }
}

.modal-dialog[b-wvfg4yujwq] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 480px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: gbs-dialog-slide-in-b-wvfg4yujwq 150ms ease-in-out both;
}

@keyframes gbs-dialog-slide-in-b-wvfg4yujwq {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-wvfg4yujwq] {
    padding: 1.25rem 1.5rem 0;
}

.modal-title[b-wvfg4yujwq] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-body[b-wvfg4yujwq] {
    padding: 1rem 1.5rem;
    max-height: 400px;
    overflow-y: auto;
}

.modal-message[b-wvfg4yujwq] {
    font-size: 0.9rem;
    color: var(--ink2);
    line-height: 1.6;
    margin: 0;
}

.modal-footer[b-wvfg4yujwq] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
}

.gen-summary-section[b-wvfg4yujwq] {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border);
}

.gen-summary-section-title[b-wvfg4yujwq] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 6px;
}

.gen-summary-failed .gen-summary-section-title[b-wvfg4yujwq] {
    color: var(--status-error);
}

.gen-summary-skipped .gen-summary-section-title[b-wvfg4yujwq] {
    color: var(--status-warning);
}

.gen-summary-list[b-wvfg4yujwq] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.gen-summary-list li[b-wvfg4yujwq] {
    font-size: 0.85rem;
    color: var(--ink);
    padding: 3px 0 3px 12px;
    position: relative;
}

.gen-summary-list li[b-wvfg4yujwq]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 4px;
    background: var(--ink3);
    border-radius: 50%;
    transform: translateY(-50%);
}

.gen-summary-entity-name[b-wvfg4yujwq] {
    font-weight: 500;
}

.gen-summary-detail[b-wvfg4yujwq] {
    color: var(--ink2);
    font-weight: 400;
}

/* /Components/GenerationProgress.razor.rz.scp.css */
.generation-progress[b-j09nozgck7] {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 900;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px 20px;
    background: var(--bg2);
    border: 1px solid var(--accent);
    border-radius: 10px;
    width: 380px;
    max-width: calc(100vw - 48px);
    box-shadow: var(--shadow-lg);
    animation: gen-progress-slide-up-b-j09nozgck7 200ms ease-out both;
}

@keyframes gen-progress-slide-up-b-j09nozgck7 {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

.generation-progress-header[b-j09nozgck7] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--accent);
}

.generation-progress-icon[b-j09nozgck7] {
    flex-shrink: 0;
    animation: gen-progress-pulse-b-j09nozgck7 1.5s ease-in-out infinite;
}

@keyframes gen-progress-pulse-b-j09nozgck7 {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.generation-progress-bar-track[b-j09nozgck7] {
    width: 100%;
    height: 6px;
    background: var(--border);
    border-radius: 99px;
    overflow: hidden;
}

.generation-progress-bar-fill[b-j09nozgck7] {
    height: 100%;
    background: var(--accent);
    border-radius: 99px;
    transition: width 300ms ease;
    min-width: 6px;
}

.generation-progress-bar-fill--indeterminate[b-j09nozgck7] {
    width: 40%;
    animation: gen-progress-indeterminate-b-j09nozgck7 1.5s ease-in-out infinite;
}

@keyframes gen-progress-indeterminate-b-j09nozgck7 {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(350%);
    }
}

.generation-progress-label[b-j09nozgck7] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--ink2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Components/Help/FeedbackForm.razor.rz.scp.css */
.help-feedback-form[b-83vvjgnelk] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.help-feedback-field[b-83vvjgnelk] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.help-feedback-field--checkbox[b-83vvjgnelk] {
    gap: 4px;
}

.help-feedback-label[b-83vvjgnelk] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ink3);
}

.help-feedback-select[b-83vvjgnelk],
.help-feedback-textarea[b-83vvjgnelk] {
    width: 100%;
    padding: 8px 10px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-family: var(--font-ui);
    font-size: 0.88rem;
    line-height: 1.45;
    outline: none;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.help-feedback-select:focus[b-83vvjgnelk],
.help-feedback-textarea:focus[b-83vvjgnelk] {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent-lt);
}

.help-feedback-select:disabled[b-83vvjgnelk],
.help-feedback-textarea:disabled[b-83vvjgnelk] {
    opacity: 0.6;
    cursor: not-allowed;
}

.help-feedback-textarea[b-83vvjgnelk] {
    resize: vertical;
    min-height: 120px;
    font-family: var(--font-ui);
}

.help-feedback-textarea[b-83vvjgnelk]::placeholder {
    color: var(--ink3);
}

.help-feedback-char-count[b-83vvjgnelk] {
    align-self: flex-end;
    font-size: 0.72rem;
    color: var(--ink3);
    font-variant-numeric: tabular-nums;
}

.help-feedback-char-count--warn[b-83vvjgnelk] {
    color: var(--status-warning);
    font-weight: 600;
}

.help-feedback-checkbox-label[b-83vvjgnelk] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: var(--ink);
    cursor: pointer;
    user-select: none;
}

.help-feedback-checkbox[b-83vvjgnelk] {
    width: 14px;
    height: 14px;
    accent-color: var(--accent);
    cursor: pointer;
}

.help-feedback-checkbox:disabled[b-83vvjgnelk] {
    cursor: not-allowed;
}

.help-feedback-hint[b-83vvjgnelk] {
    margin: 0;
    padding-left: 22px;
    font-size: 0.75rem;
    color: var(--ink3);
    line-height: 1.4;
}

.help-feedback-actions[b-83vvjgnelk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.help-feedback-back-link[b-83vvjgnelk] {
    background: transparent;
    border: none;
    color: var(--accent);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    padding: 0;
}

.help-feedback-back-link:hover[b-83vvjgnelk] {
    color: var(--accent-hover);
    text-decoration: underline;
}

.help-feedback-back-link:disabled[b-83vvjgnelk] {
    color: var(--ink3);
    cursor: not-allowed;
    text-decoration: none;
}

.help-feedback-submit[b-83vvjgnelk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--accent);
    border: 1px solid var(--accent);
    border-radius: var(--r);
    color: var(--accent-text);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms ease-in-out, border-color 150ms ease-in-out;
}

.help-feedback-submit:hover:not(:disabled)[b-83vvjgnelk] {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
}

.help-feedback-submit:disabled[b-83vvjgnelk] {
    opacity: 0.55;
    cursor: not-allowed;
}

.help-feedback-spinner[b-83vvjgnelk] {
    width: 12px;
    height: 12px;
    border: 2px solid var(--accent-lt);
    border-top-color: var(--accent-text);
    border-radius: 50%;
    animation: feedback-spin-b-83vvjgnelk 0.7s linear infinite;
}

@keyframes feedback-spin-b-83vvjgnelk {
    to { transform: rotate(360deg); }
}
/* /Components/Help/HelpButton.razor.rz.scp.css */
.help-btn[b-pzjqnuldgo] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 12px;
    padding: 4px 10px;
    background: var(--accent-lt);
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--accent);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: color 150ms ease-in-out, background 150ms ease-in-out, border-color 150ms ease-in-out;
    white-space: nowrap;
}

.help-btn:hover[b-pzjqnuldgo] {
    background: var(--accent);
    color: var(--accent-text);
}

.help-btn-label[b-pzjqnuldgo] {
    line-height: 1;
}

.help-btn-shortcut[b-pzjqnuldgo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    padding: 1px 4px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 3px;
    color: var(--ink2);
    font-family: var(--font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1;
}

.help-btn:hover .help-btn-shortcut[b-pzjqnuldgo] {
    background: var(--accent-text);
    color: var(--accent);
    border-color: transparent;
}
/* /Components/Help/HelpDrawer.razor.rz.scp.css */
.help-backdrop[b-ikxw9nwfsm] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 1000;
    display: flex;
    justify-content: flex-end;
    outline: none;
}

.help-drawer[b-ikxw9nwfsm] {
    width: 460px;
    max-width: 100vw;
    height: 100%;
    background: var(--bg);
    color: var(--ink);
    border-left: 1px solid var(--border);
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 200ms ease-out;
}

.help-drawer--open[b-ikxw9nwfsm] {
    transform: translateX(0);
}

.help-header[b-ikxw9nwfsm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
    background: var(--bg2);
}

.help-title[b-ikxw9nwfsm] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
}

.help-back-btn[b-ikxw9nwfsm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: transparent;
    border: none;
    color: var(--accent);
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    padding: 0;
}

.help-back-btn:hover[b-ikxw9nwfsm] {
    color: var(--accent-hover);
}

.help-close-btn[b-ikxw9nwfsm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.help-close-btn:hover[b-ikxw9nwfsm] {
    color: var(--ink);
    background: var(--bg3);
}

.help-search[b-ikxw9nwfsm] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--border);
    background: var(--bg2);
}

.help-search-icon[b-ikxw9nwfsm] {
    color: var(--ink3);
    display: inline-flex;
    align-items: center;
}

.help-search-input[b-ikxw9nwfsm] {
    flex: 1;
    padding: 6px 8px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.85rem;
    font-family: var(--font-ui);
    outline: none;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.help-search-input:focus[b-ikxw9nwfsm] {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent-lt);
}

.help-search-input[b-ikxw9nwfsm]::placeholder {
    color: var(--ink3);
}

.help-search-spinner[b-ikxw9nwfsm] {
    width: 12px;
    height: 12px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: help-search-spin-b-ikxw9nwfsm 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes help-search-spin-b-ikxw9nwfsm {
    to { transform: rotate(360deg); }
}

.help-search-clear[b-ikxw9nwfsm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    flex-shrink: 0;
    transition: color 120ms ease, background 120ms ease;
}

.help-search-clear:hover[b-ikxw9nwfsm] {
    color: var(--ink);
    background: var(--bg3);
}

.help-body[b-ikxw9nwfsm] {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.help-empty[b-ikxw9nwfsm] {
    color: var(--ink3);
    font-style: italic;
    margin: 0;
}

.help-default[b-ikxw9nwfsm] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.help-tour-link[b-ikxw9nwfsm] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: var(--accent-gold-lt);
    border: 1px solid var(--accent-gold);
    border-radius: var(--r-lg);
    color: var(--ink);
    font-family: var(--font-ui);
    text-align: left;
    cursor: pointer;
    transition: background 150ms ease-in-out;
    width: 100%;
}

.help-tour-link:hover[b-ikxw9nwfsm] {
    background: var(--accent-gold);
    color: var(--accent-text);
}

.help-tour-icon[b-ikxw9nwfsm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--accent-gold);
}

.help-tour-link:hover .help-tour-icon[b-ikxw9nwfsm] {
    color: var(--accent-text);
}

.help-tour-label[b-ikxw9nwfsm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.help-tour-title[b-ikxw9nwfsm] {
    font-size: 0.9rem;
    font-weight: 600;
}

.help-tour-sub[b-ikxw9nwfsm] {
    font-size: 0.8rem;
    color: var(--ink2);
    line-height: 1.4;
}

.help-tour-link:hover .help-tour-sub[b-ikxw9nwfsm] {
    color: var(--accent-text);
    opacity: 0.85;
}

.help-group + .help-group[b-ikxw9nwfsm] {
    margin-top: 4px;
}

.help-group-heading[b-ikxw9nwfsm] {
    margin: 0 0 8px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--ink3);
}

.help-group-list[b-ikxw9nwfsm] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.help-article-link[b-ikxw9nwfsm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 10px 12px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.88rem;
    font-family: var(--font-ui);
    text-align: left;
    cursor: pointer;
    transition: background 150ms ease-in-out, border-color 150ms ease-in-out;
}

.help-article-link:hover[b-ikxw9nwfsm] {
    background: var(--bg2);
    border-color: var(--border);
}

.help-article-link-arrow[b-ikxw9nwfsm] {
    color: var(--ink3);
}

.help-article-link:hover .help-article-link-arrow[b-ikxw9nwfsm] {
    color: var(--accent);
}

.help-article[b-ikxw9nwfsm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.help-category-tag[b-ikxw9nwfsm] {
    align-self: flex-start;
    padding: 2px 8px;
    background: var(--accent-lt);
    border-radius: 999px;
    color: var(--accent);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.help-article-title[b-ikxw9nwfsm] {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.25;
}

.help-article-body[b-ikxw9nwfsm] {
    color: var(--ink);
    line-height: 1.55;
    font-size: 0.92rem;
}

.help-article-body h2[b-ikxw9nwfsm] {
    margin: 1.4em 0 0.4em;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--ink);
}

.help-article-body h3[b-ikxw9nwfsm] {
    margin: 1.2em 0 0.3em;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ink);
}

.help-article-body p[b-ikxw9nwfsm] {
    margin: 0 0 0.9em;
}

.help-article-body ul[b-ikxw9nwfsm],
.help-article-body ol[b-ikxw9nwfsm] {
    margin: 0 0 0.9em 1.25em;
    padding: 0;
}

.help-article-body li[b-ikxw9nwfsm] {
    margin: 0.2em 0;
}

.help-article-body a[b-ikxw9nwfsm] {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.help-article-body a:hover[b-ikxw9nwfsm] {
    color: var(--accent-hover);
}

.help-article-body code[b-ikxw9nwfsm] {
    background: var(--bg3);
    border-radius: 3px;
    padding: 1px 4px;
    font-family: var(--font-editor);
    font-size: 0.85em;
}

.help-helpful[b-ikxw9nwfsm] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: var(--bg2);
    border-radius: var(--r);
    margin-top: 8px;
}

.help-helpful-label[b-ikxw9nwfsm] {
    font-size: 0.85rem;
    color: var(--ink2);
}

.help-helpful-btn[b-ikxw9nwfsm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r);
    cursor: pointer;
    font-size: 0.95rem;
    transition: background 150ms ease-in-out, border-color 150ms ease-in-out;
}

.help-helpful-btn:hover[b-ikxw9nwfsm] {
    background: var(--bg3);
    border-color: var(--border2);
}

.help-related[b-ikxw9nwfsm] {
    margin-top: 8px;
}

.help-related-heading[b-ikxw9nwfsm] {
    margin: 0 0 6px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--ink3);
}

.help-related-list[b-ikxw9nwfsm] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.help-related-link[b-ikxw9nwfsm] {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
    text-align: left;
    color: var(--accent);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    padding: 4px 0;
    cursor: pointer;
}

.help-related-link:hover[b-ikxw9nwfsm] {
    color: var(--accent-hover);
    text-decoration: underline;
}

.help-stuck[b-ikxw9nwfsm] {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.help-stuck-link[b-ikxw9nwfsm] {
    background: transparent;
    border: none;
    color: var(--accent);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    cursor: pointer;
    padding: 0;
}

.help-stuck-link:hover[b-ikxw9nwfsm] {
    color: var(--accent-hover);
    text-decoration: underline;
}

.help-footer[b-ikxw9nwfsm] {
    padding: 12px 20px;
    border-top: 1px solid var(--border);
    background: var(--bg2);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.help-feedback-btn[b-ikxw9nwfsm] {
    width: 100%;
    padding: 8px 14px;
    background: transparent;
    border: 1px solid var(--accent);
    border-radius: var(--r);
    color: var(--accent);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms ease-in-out, color 150ms ease-in-out;
}

.help-feedback-btn:hover[b-ikxw9nwfsm] {
    background: var(--accent);
    color: var(--accent-text);
}

/* ---- Search results ---- */

.help-search-results[b-ikxw9nwfsm] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.help-search-result[b-ikxw9nwfsm] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    width: 100%;
    padding: 10px 12px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink);
    font-family: var(--font-ui);
    text-align: left;
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease;
}

.help-search-result:hover[b-ikxw9nwfsm] {
    background: var(--bg2);
    border-color: var(--border);
}

.help-search-result-header[b-ikxw9nwfsm] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.help-search-result-title[b-ikxw9nwfsm] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

.help-search-result-snippet[b-ikxw9nwfsm] {
    font-size: 0.8rem;
    color: var(--ink2);
    line-height: 1.45;
    /* clamp to 2 lines so cards stay scannable */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.help-search-result-snippet mark[b-ikxw9nwfsm] {
    background: var(--accent-gold-lt);
    color: var(--ink);
    padding: 0 2px;
    border-radius: 2px;
}

.help-empty-search[b-ikxw9nwfsm] {
    padding: 20px 12px;
    font-size: 0.85rem;
    color: var(--ink3);
    font-family: var(--font-ui);
    text-align: center;
}

.help-empty-search em[b-ikxw9nwfsm] {
    font-style: normal;
    color: var(--ink2);
    font-weight: 600;
}
/* /Components/HistoryVersionItem.razor.rz.scp.css */
.history-version-item[b-steekx0p9s] {
    display: block;
    width: 100%;
    padding: 8px 12px;
    background: none;
    border: none;
    border-radius: var(--r);
    text-align: left;
    cursor: pointer;
    color: var(--ink2);
    font-size: 0.8rem;
    font-family: var(--font-ui);
    transition: background 0.1s, color 0.1s;
}

.history-version-item:hover[b-steekx0p9s] {
    background: var(--bg3);
    color: var(--ink);
}

.history-version-item--selected[b-steekx0p9s] {
    background: var(--accent-lt);
    color: var(--accent);
}

.history-version-item--selected:hover[b-steekx0p9s] {
    background: var(--accent-lt);
    color: var(--accent-hover);
}

.history-version-label[b-steekx0p9s] {
    font-weight: 600;
    font-size: 0.8rem;
}

.history-version-timestamp[b-steekx0p9s] {
    font-size: 0.8rem;
}
/* /Components/IconPicker.razor.rz.scp.css */
.icon-picker-backdrop[b-8zs1fpnela] {
    position: fixed;
    inset: 0;
    z-index: 500;
}

.icon-picker-popover[b-8zs1fpnela] {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 4px;
    width: 260px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    z-index: 501;
}

.icon-picker-search[b-8zs1fpnela] {
    padding: 8px;
    border-bottom: 1px solid var(--border);
}

.icon-picker-search-input[b-8zs1fpnela] {
    width: 100%;
    padding: 6px 10px;
    background: var(--border2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.85rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.icon-picker-search-input:focus[b-8zs1fpnela] {
    outline: none;
    border-color: var(--accent);
}

.icon-picker-search-input[b-8zs1fpnela]::placeholder {
    color: var(--ink2);
}

.icon-picker-grid[b-8zs1fpnela] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    padding: 8px;
    max-height: 240px;
    overflow-y: auto;
}

.icon-picker-item[b-8zs1fpnela] {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 2px solid transparent;
    border-radius: var(--r);
    cursor: pointer;
    color: var(--ink);
    transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out;
    padding: 0;
}

.icon-picker-item:hover[b-8zs1fpnela] {
    background: var(--border2);
}

.icon-picker-item--selected[b-8zs1fpnela] {
    border-color: var(--accent);
    background: var(--accent-lt);
}

.icon-picker-svg[b-8zs1fpnela] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    pointer-events: none;
}

.icon-picker-svg svg[b-8zs1fpnela] {
    width: 24px;
    height: 24px;
}

.icon-picker-empty[b-8zs1fpnela] {
    padding: 24px;
    text-align: center;
}

.icon-picker-empty-text[b-8zs1fpnela] {
    color: var(--ink2);
    font-size: 0.85rem;
}
/* /Components/ImplicitBoardCreationDialog.razor.rz.scp.css */
.modal-backdrop[b-hzl3d4b3i7] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-hzl3d4b3i7 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-hzl3d4b3i7 {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.modal-dialog[b-hzl3d4b3i7] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 420px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-hzl3d4b3i7 150ms ease-in-out both;
}

@keyframes dialog-slide-in-b-hzl3d4b3i7 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-hzl3d4b3i7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--border);
}

.modal-title[b-hzl3d4b3i7] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-close-btn[b-hzl3d4b3i7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    padding: 0;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.modal-close-btn:hover:not(:disabled)[b-hzl3d4b3i7] {
    color: var(--ink);
    background: var(--border);
}

.modal-close-btn:disabled[b-hzl3d4b3i7] {
    opacity: 0.4;
    cursor: not-allowed;
}

.modal-body[b-hzl3d4b3i7] {
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.context-summary[b-hzl3d4b3i7] {
    font-size: 0.875rem;
    color: var(--ink2);
    margin: 0 0 1.25rem;
    line-height: 1.5;
}

.context-summary strong[b-hzl3d4b3i7] {
    color: var(--ink);
    font-weight: 600;
}

.form-group[b-hzl3d4b3i7] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 0;
}

.form-label[b-hzl3d4b3i7] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--ink2);
}

.form-input[b-hzl3d4b3i7] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.form-input:focus[b-hzl3d4b3i7] {
    outline: none;
    border-color: var(--accent);
}

.form-input:disabled[b-hzl3d4b3i7] {
    opacity: 0.5;
    cursor: not-allowed;
}

.form-input[b-hzl3d4b3i7]::placeholder {
    color: var(--ink2);
    opacity: 0.6;
}

.form-value[b-hzl3d4b3i7] {
    font-size: 0.9rem;
    color: var(--ink);
    padding: 0.5rem 0;
}

.entity-dropdown[b-hzl3d4b3i7] {
    position: relative;
}

.entity-dropdown-trigger[b-hzl3d4b3i7] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 0.5rem 0.75rem;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    cursor: pointer;
    text-align: left;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.entity-dropdown-trigger:focus[b-hzl3d4b3i7] {
    border-color: var(--accent);
    outline: none;
}

.entity-dropdown-trigger:disabled[b-hzl3d4b3i7] {
    opacity: 0.5;
    cursor: not-allowed;
}

.entity-dropdown-trigger-text[b-hzl3d4b3i7] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.entity-dropdown-chevron[b-hzl3d4b3i7] {
    flex-shrink: 0;
    color: var(--ink2);
    transition: transform 150ms ease-in-out;
}

.entity-dropdown-chevron--open[b-hzl3d4b3i7] {
    transform: rotate(180deg);
}

.entity-dropdown-list[b-hzl3d4b3i7] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 50;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    box-shadow: var(--shadow);
    max-height: 200px;
    overflow-y: auto;
    padding: 4px 0;
}

.entity-dropdown-item[b-hzl3d4b3i7] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 7px 12px;
    background: transparent;
    border: none;
    color: var(--ink);
    font-size: 0.82rem;
    font-family: inherit;
    cursor: pointer;
    text-align: left;
    transition: background-color 100ms ease-in-out;
    box-sizing: border-box;
}

.entity-dropdown-item:hover[b-hzl3d4b3i7] {
    background-color: var(--accent-lt);
}

.entity-dropdown-item--selected[b-hzl3d4b3i7] {
    background-color: var(--accent-lt);
}

.entity-dropdown-item-name[b-hzl3d4b3i7] {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.modal-footer[b-hzl3d4b3i7] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 1rem 1.5rem 1.25rem;
    border-top: 1px solid var(--border);
}

/* /Components/ImportEntityDialog.razor.rz.scp.css */
.modal-backdrop[b-esjway1258] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-esjway1258 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-esjway1258 {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ---- Dialog box ---- */

.modal-dialog[b-esjway1258] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 480px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-esjway1258 150ms ease-in-out both;
}

@keyframes dialog-slide-in-b-esjway1258 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---- Header ---- */

.modal-header[b-esjway1258] {
    padding: 1.25rem 1.5rem 0;
}

.modal-title[b-esjway1258] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

/* ---- Body ---- */

.modal-body[b-esjway1258] {
    padding: 1rem 1.5rem;
}

.import-field[b-esjway1258] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.import-url-input[b-esjway1258] {
    width: 100%;
    padding: 8px 12px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.import-url-input:focus[b-esjway1258] {
    outline: none;
    border-color: var(--accent);
}

.import-url-input--error[b-esjway1258] {
    border-color: var(--status-error);
}

.import-url-input:disabled[b-esjway1258] {
    opacity: 0.5;
    cursor: not-allowed;
}

.import-field-error[b-esjway1258] {
    font-size: 0.8rem;
    color: var(--status-error);
    margin: 0;
}

.import-loading[b-esjway1258] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--ink2);
}

.import-divider[b-esjway1258] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0.75rem 0 0.5rem;
    color: var(--ink3);
    font-size: 0.8rem;
}

.import-divider[b-esjway1258]::before,
.import-divider[b-esjway1258]::after {
    content: '';
    flex: 1;
    border-top: 1px solid var(--border);
}

.import-file-area[b-esjway1258] {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px dashed transparent;
    border-radius: var(--r);
    padding: 6px;
    margin: -6px;
    transition: border-color 100ms ease-in-out, background 100ms ease-in-out;
}

.import-file-area--drag-over[b-esjway1258] {
    border-color: var(--accent);
    background: var(--accent-lt);
}

.import-file-area--error[b-esjway1258] {
    border-color: var(--status-error);
}

.import-file-name--error[b-esjway1258] {
    color: var(--status-error);
}

.btn-browse[b-esjway1258] {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: var(--bg3);
    color: var(--ink2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
    white-space: nowrap;
    flex-shrink: 0;
    user-select: none;
}

.btn-browse:hover:not(.btn-browse--disabled)[b-esjway1258] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg2);
}

.btn-browse--disabled[b-esjway1258] {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.import-file-name[b-esjway1258] {
    font-size: 0.85rem;
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.modal-footer[b-esjway1258] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
}

.import-spinner[b-esjway1258] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: import-spin-b-esjway1258 0.7s linear infinite;
    flex-shrink: 0;
}

.import-spinner--btn[b-esjway1258] {
    border-color: rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    width: 16px;
    height: 16px;
}

@keyframes import-spin-b-esjway1258 {
    to { transform: rotate(360deg); }
}
/* /Components/ImportManuscriptDialog.razor.rz.scp.css */
.modal-backdrop[b-73quqh113o] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: imd-backdrop-in-b-73quqh113o 150ms ease-in-out both;
}

@keyframes imd-backdrop-in-b-73quqh113o {
    from { opacity: 0; }
    to { opacity: 1; }
}

.imd-dialog[b-73quqh113o] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 520px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: imd-dialog-in-b-73quqh113o 150ms ease-in-out both;
}

@keyframes imd-dialog-in-b-73quqh113o {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.imd-header[b-73quqh113o] {
    padding: 1.25rem 1.5rem 0;
}

.imd-title[b-73quqh113o] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-ui);
}

.imd-body[b-73quqh113o] {
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.imd-instruction[b-73quqh113o] {
    font-size: 0.9rem;
    color: var(--ink2);
    margin: 0;
    line-height: 1.5;
}

.imd-field[b-73quqh113o] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.imd-label[b-73quqh113o] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--ink2);
}

.imd-url-input[b-73quqh113o] {
    width: 100%;
    padding: 8px 12px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.imd-url-input:focus[b-73quqh113o] {
    outline: none;
    border-color: var(--accent);
}

.imd-url-input--error[b-73quqh113o] {
    border-color: var(--status-error);
}

.imd-url-input:disabled[b-73quqh113o] {
    opacity: 0.5;
    cursor: not-allowed;
}

.imd-field-error[b-73quqh113o] {
    font-size: 0.8rem;
    color: var(--status-error);
    margin: 0;
}

.imd-field-error--preview[b-73quqh113o] {
    margin-top: 0.25rem;
}

.imd-summary[b-73quqh113o] {
    font-size: 0.9rem;
    color: var(--ink);
    margin: 0;
    line-height: 1.5;
}

.imd-chapter-list[b-73quqh113o] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 240px;
    overflow-y: auto;
}

.imd-chapter-item[b-73quqh113o] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 10px;
    background: var(--bg3);
    border-radius: var(--r);
    font-size: 0.875rem;
    line-height: 1.5;
}

.imd-chapter-name[b-73quqh113o] {
    color: var(--ink);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.imd-chapter-scenes[b-73quqh113o] {
    color: var(--ink2);
    flex-shrink: 0;
    font-size: 0.8rem;
}

.imd-warning-callout[b-73quqh113o] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    background: color-mix(in srgb, var(--status-warning) 12%, var(--bg2));
    border: 1px solid color-mix(in srgb, var(--status-warning) 30%, transparent);
    border-radius: var(--r);
    font-size: 0.875rem;
    color: var(--ink);
    line-height: 1.5;
}

.imd-warning-icon[b-73quqh113o] {
    color: var(--status-warning);
    flex-shrink: 0;
    margin-top: 1px;
}

.imd-footer[b-73quqh113o] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
    align-items: center;
}

.imd-btn-primary[b-73quqh113o] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.6rem 1.25rem;
    background: var(--accent);
    color: var(--accent-text);
    border: none;
    border-radius: var(--r);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms ease-in-out, opacity 150ms ease-in-out;
    min-width: 160px;
    min-height: 38px;
    white-space: nowrap;
}

.imd-btn-primary:hover:not(:disabled)[b-73quqh113o] {
    background: var(--accent-hover);
}

.imd-btn-primary:disabled[b-73quqh113o] {
    opacity: 0.45;
    cursor: not-allowed;
}

.imd-btn-cancel[b-73quqh113o] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.25rem;
    background: transparent;
    color: var(--ink2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
    min-width: 160px;
    min-height: 38px;
    white-space: nowrap;
}

.imd-btn-cancel:hover:not(:disabled)[b-73quqh113o] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

.imd-btn-cancel:disabled[b-73quqh113o] {
    opacity: 0.4;
    cursor: not-allowed;
}

.imd-help-row[b-73quqh113o] {
    padding: 0 1.5rem 0.5rem;
    display: flex;
    justify-content: flex-end;
}

.imd-help-link[b-73quqh113o] {
    background: none;
    border: none;
    color: var(--accent);
    font-size: 0.8rem;
    font-family: inherit;
    padding: 4px 0;
    cursor: pointer;
    text-align: right;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: opacity 150ms ease-in-out;
}

.imd-help-link:hover:not(:disabled)[b-73quqh113o] {
    color: var(--accent-hover);
}

.imd-help-link:disabled[b-73quqh113o] {
    opacity: 0.4;
    cursor: not-allowed;
}

.imd-spinner[b-73quqh113o] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: imd-spin-b-73quqh113o 0.7s linear infinite;
    flex-shrink: 0;
}

.imd-spinner--btn[b-73quqh113o] {
    border-color: rgba(255, 255, 255, 0.3);
    border-top-color: var(--accent-text);
    width: 14px;
    height: 14px;
}

@keyframes imd-spin-b-73quqh113o {
    to { transform: rotate(360deg); }
}
/* /Components/ImportManuscriptScrivenerDialog.razor.rz.scp.css */
.modal-backdrop[b-asbasfsycc] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: imsrd-backdrop-in-b-asbasfsycc 150ms ease-in-out both;
}

@keyframes imsrd-backdrop-in-b-asbasfsycc {
    from { opacity: 0; }
    to { opacity: 1; }
}

.imsrd-dialog[b-asbasfsycc] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 520px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: imsrd-dialog-in-b-asbasfsycc 150ms ease-in-out both;
}

@keyframes imsrd-dialog-in-b-asbasfsycc {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.imsrd-header[b-asbasfsycc] {
    padding: 1.25rem 1.5rem 0;
}

.imsrd-title[b-asbasfsycc] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-ui);
}

.imsrd-body[b-asbasfsycc] {
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.imsrd-instruction[b-asbasfsycc] {
    font-size: 0.9rem;
    color: var(--ink2);
    margin: 0;
    line-height: 1.5;
}

.imsrd-instruction code[b-asbasfsycc] {
    font-family: var(--font-mono, monospace);
    font-size: 0.85em;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 1px 4px;
    color: var(--ink);
}

.imsrd-field[b-asbasfsycc] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.imsrd-label[b-asbasfsycc] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--ink2);
}

.imsrd-file-area[b-asbasfsycc] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: var(--bg3);
    border: 1.5px dashed var(--border2);
    border-radius: var(--r);
    cursor: pointer;
    transition: border-color 150ms ease-in-out, background 150ms ease-in-out;
    position: relative;
    min-height: 52px;
}

.imsrd-file-area:hover[b-asbasfsycc] {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 5%, var(--bg3));
}

.imsrd-file-area--selected[b-asbasfsycc] {
    border-style: solid;
    border-color: var(--status-success);
}

.imsrd-file-area--error[b-asbasfsycc] {
    border-style: solid;
    border-color: var(--status-error);
}

.imsrd-file-icon[b-asbasfsycc] {
    color: var(--ink3);
    flex-shrink: 0;
}

.imsrd-file-icon--ok[b-asbasfsycc] {
    color: var(--status-success);
}

.imsrd-file-icon--error[b-asbasfsycc] {
    color: var(--status-error);
}

.imsrd-file-placeholder[b-asbasfsycc] {
    font-size: 0.9rem;
    color: var(--ink2);
}

.imsrd-file-name[b-asbasfsycc] {
    font-size: 0.9rem;
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

.imsrd-field-error[b-asbasfsycc] {
    font-size: 0.8rem;
    color: var(--status-error);
    margin: 0;
}

.imsrd-field-error--preview[b-asbasfsycc] {
    margin-top: 0.25rem;
}

.imsrd-summary[b-asbasfsycc] {
    font-size: 0.9rem;
    color: var(--ink);
    margin: 0;
    line-height: 1.5;
}

.imsrd-chapter-list[b-asbasfsycc] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 240px;
    overflow-y: auto;
}

.imsrd-chapter-item[b-asbasfsycc] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 10px;
    background: var(--bg3);
    border-radius: var(--r);
    font-size: 0.875rem;
    line-height: 1.5;
}

.imsrd-chapter-name[b-asbasfsycc] {
    color: var(--ink);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.imsrd-chapter-scenes[b-asbasfsycc] {
    color: var(--ink2);
    flex-shrink: 0;
    font-size: 0.8rem;
}

.imsrd-warning-callout[b-asbasfsycc] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    background: color-mix(in srgb, var(--status-warning) 12%, var(--bg2));
    border: 1px solid color-mix(in srgb, var(--status-warning) 30%, transparent);
    border-radius: var(--r);
    font-size: 0.875rem;
    color: var(--ink);
    line-height: 1.5;
}

.imsrd-warning-icon[b-asbasfsycc] {
    color: var(--status-warning);
    flex-shrink: 0;
    margin-top: 1px;
}

.imsrd-footer[b-asbasfsycc] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
    align-items: center;
}

.imsrd-btn-primary[b-asbasfsycc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.6rem 1.25rem;
    background: var(--accent);
    color: var(--accent-text);
    border: none;
    border-radius: var(--r);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms ease-in-out, opacity 150ms ease-in-out;
    min-width: 120px;
    min-height: 38px;
    white-space: nowrap;
}

.imsrd-btn-primary:hover:not(:disabled)[b-asbasfsycc] {
    background: var(--accent-hover);
}

.imsrd-btn-primary:disabled[b-asbasfsycc] {
    opacity: 0.45;
    cursor: not-allowed;
}

.imsrd-btn-cancel[b-asbasfsycc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.25rem;
    background: transparent;
    color: var(--ink2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
    min-width: 120px;
    min-height: 38px;
    white-space: nowrap;
}

.imsrd-btn-cancel:hover:not(:disabled)[b-asbasfsycc] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

.imsrd-btn-cancel:disabled[b-asbasfsycc] {
    opacity: 0.4;
    cursor: not-allowed;
}

.imsrd-spinner[b-asbasfsycc] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: imsrd-spin-b-asbasfsycc 0.7s linear infinite;
    flex-shrink: 0;
}

.imsrd-spinner--btn[b-asbasfsycc] {
    border-color: rgba(255, 255, 255, 0.3);
    border-top-color: var(--accent-text);
    width: 14px;
    height: 14px;
}

@keyframes imsrd-spin-b-asbasfsycc {
    to { transform: rotate(360deg); }
}
/* /Components/ImportManuscriptSourceDialog.razor.rz.scp.css */
.modal-backdrop[b-74xo3vs1ho] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: imsd-backdrop-in-b-74xo3vs1ho 150ms ease-in-out both;
}

@keyframes imsd-backdrop-in-b-74xo3vs1ho {
    from { opacity: 0; }
    to { opacity: 1; }
}

.imsd-dialog[b-74xo3vs1ho] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 560px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: imsd-dialog-in-b-74xo3vs1ho 150ms ease-in-out both;
    outline: none;
}

@keyframes imsd-dialog-in-b-74xo3vs1ho {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.imsd-header[b-74xo3vs1ho] {
    padding: 1.25rem 1.5rem 0;
}

.imsd-title[b-74xo3vs1ho] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0 0 0.25rem;
    font-family: var(--font-ui);
}

.imsd-subtitle[b-74xo3vs1ho] {
    font-size: 0.9rem;
    color: var(--ink2);
    margin: 0;
    line-height: 1.5;
}

.imsd-body[b-74xo3vs1ho] {
    padding: 1.25rem 1.5rem;
}

.imsd-options[b-74xo3vs1ho] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.imsd-option[b-74xo3vs1ho] {
    flex: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.9rem;
    padding: 1.1rem 1.25rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    cursor: pointer;
    text-align: left;
    transition: border-color 150ms ease-in-out, background 150ms ease-in-out, box-shadow 150ms ease-in-out;
}

.imsd-option:hover[b-74xo3vs1ho] {
    background: var(--bg);
    border-color: var(--accent);
}

.imsd-option:focus-visible[b-74xo3vs1ho] {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-lt);
}

.imsd-option-icon[b-74xo3vs1ho] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
}

.imsd-option-icon--stroke[b-74xo3vs1ho] {
    color: var(--ink2);
}

.imsd-option:hover .imsd-option-icon--stroke[b-74xo3vs1ho],
.imsd-option:focus-visible .imsd-option-icon--stroke[b-74xo3vs1ho] {
    color: var(--accent);
}

.imsd-option-text[b-74xo3vs1ho] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.imsd-option-name[b-74xo3vs1ho] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ink);
    font-family: var(--font-ui);
}

.imsd-option-desc[b-74xo3vs1ho] {
    font-size: 0.82rem;
    color: var(--ink2);
    line-height: 1.45;
}

.imsd-footer[b-74xo3vs1ho] {
    display: flex;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
}

.imsd-btn-cancel[b-74xo3vs1ho] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.25rem;
    background: transparent;
    color: var(--ink2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
    min-height: 38px;
    white-space: nowrap;
    font-family: inherit;
}

.imsd-btn-cancel:hover[b-74xo3vs1ho] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

/* /Components/ImportManuscriptWordDialog.razor.rz.scp.css */
.modal-backdrop[b-0bawux3wra] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: imsrd-backdrop-in-b-0bawux3wra 150ms ease-in-out both;
}

@keyframes imsrd-backdrop-in-b-0bawux3wra {
    from { opacity: 0; }
    to { opacity: 1; }
}

.imsrd-dialog[b-0bawux3wra] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 520px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: imsrd-dialog-in-b-0bawux3wra 150ms ease-in-out both;
}

@keyframes imsrd-dialog-in-b-0bawux3wra {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.imsrd-header[b-0bawux3wra] {
    padding: 1.25rem 1.5rem 0;
}

.imsrd-title[b-0bawux3wra] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-ui);
}

.imsrd-body[b-0bawux3wra] {
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.imsrd-instruction[b-0bawux3wra] {
    font-size: 0.9rem;
    color: var(--ink2);
    margin: 0;
    line-height: 1.5;
}

.imsrd-instruction code[b-0bawux3wra] {
    font-family: var(--font-mono, monospace);
    font-size: 0.85em;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 1px 4px;
    color: var(--ink);
}

.imsrd-field[b-0bawux3wra] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.imsrd-label[b-0bawux3wra] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--ink2);
}

.imsrd-file-area[b-0bawux3wra] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: var(--bg3);
    border: 1.5px dashed var(--border2);
    border-radius: var(--r);
    cursor: pointer;
    transition: border-color 150ms ease-in-out, background 150ms ease-in-out;
    position: relative;
    min-height: 52px;
}

.imsrd-file-area:hover[b-0bawux3wra] {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 5%, var(--bg3));
}

.imsrd-file-area--selected[b-0bawux3wra] {
    border-style: solid;
    border-color: var(--status-success);
}

.imsrd-file-area--error[b-0bawux3wra] {
    border-style: solid;
    border-color: var(--status-error);
}

.imsrd-file-icon[b-0bawux3wra] {
    color: var(--ink3);
    flex-shrink: 0;
}

.imsrd-file-icon--ok[b-0bawux3wra] {
    color: var(--status-success);
}

.imsrd-file-icon--error[b-0bawux3wra] {
    color: var(--status-error);
}

.imsrd-file-placeholder[b-0bawux3wra] {
    font-size: 0.9rem;
    color: var(--ink2);
}

.imsrd-file-name[b-0bawux3wra] {
    font-size: 0.9rem;
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

.imsrd-field-error[b-0bawux3wra] {
    font-size: 0.8rem;
    color: var(--status-error);
    margin: 0;
}

.imsrd-field-error--preview[b-0bawux3wra] {
    margin-top: 0.25rem;
}

.imsrd-summary[b-0bawux3wra] {
    font-size: 0.9rem;
    color: var(--ink);
    margin: 0;
    line-height: 1.5;
}

.imsrd-chapter-list[b-0bawux3wra] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 240px;
    overflow-y: auto;
}

.imsrd-chapter-item[b-0bawux3wra] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 10px;
    background: var(--bg3);
    border-radius: var(--r);
    font-size: 0.875rem;
    line-height: 1.5;
}

.imsrd-chapter-name[b-0bawux3wra] {
    color: var(--ink);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.imsrd-chapter-scenes[b-0bawux3wra] {
    color: var(--ink2);
    flex-shrink: 0;
    font-size: 0.8rem;
}

.imsrd-warning-callout[b-0bawux3wra] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    background: color-mix(in srgb, var(--status-warning) 12%, var(--bg2));
    border: 1px solid color-mix(in srgb, var(--status-warning) 30%, transparent);
    border-radius: var(--r);
    font-size: 0.875rem;
    color: var(--ink);
    line-height: 1.5;
}

.imsrd-warning-icon[b-0bawux3wra] {
    color: var(--status-warning);
    flex-shrink: 0;
    margin-top: 1px;
}

.imsrd-footer[b-0bawux3wra] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
    align-items: center;
}

.imsrd-btn-primary[b-0bawux3wra] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.6rem 1.25rem;
    background: var(--accent);
    color: var(--accent-text);
    border: none;
    border-radius: var(--r);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms ease-in-out, opacity 150ms ease-in-out;
    min-width: 120px;
    min-height: 38px;
    white-space: nowrap;
}

.imsrd-btn-primary:hover:not(:disabled)[b-0bawux3wra] {
    background: var(--accent-hover);
}

.imsrd-btn-primary:disabled[b-0bawux3wra] {
    opacity: 0.45;
    cursor: not-allowed;
}

.imsrd-btn-cancel[b-0bawux3wra] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.25rem;
    background: transparent;
    color: var(--ink2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
    min-width: 120px;
    min-height: 38px;
    white-space: nowrap;
}

.imsrd-btn-cancel:hover:not(:disabled)[b-0bawux3wra] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

.imsrd-btn-cancel:disabled[b-0bawux3wra] {
    opacity: 0.4;
    cursor: not-allowed;
}

.imsrd-spinner[b-0bawux3wra] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: imsrd-spin-b-0bawux3wra 0.7s linear infinite;
    flex-shrink: 0;
}

.imsrd-spinner--btn[b-0bawux3wra] {
    border-color: rgba(255, 255, 255, 0.3);
    border-top-color: var(--accent-text);
    width: 14px;
    height: 14px;
}

@keyframes imsrd-spin-b-0bawux3wra {
    to { transform: rotate(360deg); }
}
/* /Components/KeepOrReplaceDialog.razor.rz.scp.css */
.modal-backdrop[b-0z74mycjx6] {
    position: fixed;
    inset: 0;
    background: rgba(42, 37, 32, 0.55);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kor-dialog[b-0z74mycjx6] {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1001;
    transform: translate(-50%, -50%);
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: 10px;
    width: min(860px, calc(100vw - 2rem));
    max-height: calc(100vh - 4rem);
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-0z74mycjx6 150ms ease-in-out both;
}

@keyframes dialog-slide-in-b-0z74mycjx6 {
    from {
        opacity: 0;
        transform: translate(-50%, calc(-50% - 8px));
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

.kor-header[b-0z74mycjx6] {
    padding: 1.25rem 1.5rem 0.75rem;
    border-bottom: 1px solid var(--border);
}

.kor-title[b-0z74mycjx6] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kor-body[b-0z74mycjx6] {
    display: flex;
    flex: 1;
    overflow: hidden;
    min-height: 260px;
}

.kor-panel[b-0z74mycjx6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 1rem 1.25rem;
    overflow-y: auto;
    min-width: 0;
}

.kor-divider[b-0z74mycjx6] {
    width: 1px;
    background: var(--border);
    flex-shrink: 0;
}

.kor-panel-label[b-0z74mycjx6] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--ink2);
    margin-bottom: 10px;
    flex-shrink: 0;
}

.kor-panel-label--new[b-0z74mycjx6] {
    color: var(--accent);
}

.kor-bullets[b-0z74mycjx6] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.kor-bullet-item[b-0z74mycjx6] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 0.82rem;
    color: var(--ink);
    line-height: 1.5;
}

.kor-bullet-item[b-0z74mycjx6]::before {
    content: "•";
    font-size: 0.9rem;
    color: var(--accent);
    flex-shrink: 0;
}

.kor-footer[b-0z74mycjx6] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0.875rem 1.5rem;
    border-top: 1px solid var(--border);
}

/* /Components/Landing/ComparisonTable.razor.rz.scp.css */
/* Styles for this component live in wwwroot/css/landing.css (scoped under .landing). */
/* /Components/Landing/FaqAccordion.razor.rz.scp.css */
/* Styles for this component live in wwwroot/css/landing.css (scoped under .landing). */
/* /Components/Landing/PricingMatrix.razor.rz.scp.css */
/* Styles for this component live in wwwroot/css/landing.css (scoped under .landing). */
/* /Components/Landing/SectionScrollLink.razor.rz.scp.css */
.section-scroll-link[b-kayq2qnkus] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-ui);
    font-size: 0.95rem;
    color: var(--ink2);
    text-decoration: none;
    padding: 8px 4px;
    border-radius: var(--r);
    transition: color 120ms ease;
}

.section-scroll-link:hover[b-kayq2qnkus] {
    color: var(--accent);
    text-decoration: underline;
}

.section-scroll-link:focus-visible[b-kayq2qnkus] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.section-scroll-arrow[b-kayq2qnkus] {
    font-size: 0.9em;
    line-height: 1;
    display: inline-block;
    transition: transform 120ms ease;
}

.section-scroll-link:hover .section-scroll-arrow[b-kayq2qnkus] {
    animation: section-scroll-bob-b-kayq2qnkus 600ms ease-in-out infinite alternate;
}

@keyframes section-scroll-bob-b-kayq2qnkus {
    from { transform: translateY(0); }
    to   { transform: translateY(2px); }
}

@media (prefers-reduced-motion: reduce) {
    .section-scroll-link:hover .section-scroll-arrow[b-kayq2qnkus] {
        animation: none;
    }
}
/* /Components/Lightbox.razor.rz.scp.css */
.lightbox-backdrop[b-3xxpuyvxgb] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.667);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.lightbox-content[b-3xxpuyvxgb] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 90vw;
    max-height: 90vh;
}

.lightbox-image[b-3xxpuyvxgb] {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
    border-radius: var(--r);
    display: block;
}

.lightbox-close[b-3xxpuyvxgb] {
    position: absolute;
    top: -40px;
    right: 0;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    transition: background-color 150ms ease-in-out;
    padding: 0;
}

.lightbox-close:hover[b-3xxpuyvxgb] {
    background: rgba(255, 255, 255, 0.2);
}
/* /Components/LongDocumentEditor.razor.rz.scp.css */
.long-doc-shell[b-4i15profh0] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--bg3);
    overflow: hidden;
}

/* ---- Shared toolbar ---- */

.long-doc-toolbar[b-4i15profh0] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    padding: 4px 8px;
    background-color: var(--bg);
    border-bottom: 1px solid var(--border);
    z-index: 2;
}

.long-doc-tb-btn[b-4i15profh0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: none;
    border-radius: var(--r);
    background: transparent;
    color: var(--ink2);
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease;
    flex-shrink: 0;
}

.long-doc-tb-btn:hover:not(:disabled)[b-4i15profh0] {
    background-color: var(--bg2);
    color: var(--ink);
}

.long-doc-tb-btn:disabled[b-4i15profh0] {
    opacity: 0.38;
    cursor: default;
}

.long-doc-tb-btn--active[b-4i15profh0] {
    color: var(--accent);
    background-color: var(--accent-lt);
}

.long-doc-tb-btn--glyph[b-4i15profh0] {
    font-size: 1rem;
    font-family: var(--font-ui);
    width: auto;
    padding: 0 6px;
}

.long-doc-tb-sep[b-4i15profh0] {
    width: 1px;
    height: 18px;
    background-color: var(--border);
    margin: 0 4px;
    flex-shrink: 0;
}

.long-doc-tb-spacer[b-4i15profh0] {
    flex: 1;
}

/* ---- Provenance highlight toggle ---- */

.long-doc-prov-btn[b-4i15profh0] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 10px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background-color: var(--bg);
    color: var(--ink2);
    font-family: var(--font-ui);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease;
    flex-shrink: 0;
}

.long-doc-prov-btn:hover[b-4i15profh0] {
    color: var(--ink);
    border-color: var(--accent);
}

.long-doc-prov-btn--active[b-4i15profh0] {
    color: var(--accent);
    background-color: var(--accent-lt);
    border-color: var(--accent);
}

/* ---- Save status (inline in toolbar) ---- */

.long-doc-save-status[b-4i15profh0] {
    flex-shrink: 0;
    margin-right: 10px;
    font-family: var(--font-ui);
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--ink2);
    opacity: 0;
    transition: opacity 300ms ease;
    pointer-events: none;
}

.long-doc-save-status--visible[b-4i15profh0] {
    opacity: 0.8;
}

/* ---- Scroll container ---- */

.long-doc-scroll[b-4i15profh0] {
    flex: 1;
    overflow-y: auto;
    background-color: var(--bg3);
    container-type: inline-size;
}

/* Width matches Google Docs default page width. This surface is content-box (the app
   has no global border-box reset), so max-width caps the *text column* and the side
   padding sits outside it — on a wide workspace that is an 816px text column inside
   96px margins. Centered between the panes — does NOT apply --workspace-screen-offset
   (a screen-relative shift the other surfaces use for navigator/inspector asymmetry).

   The side padding is responsive so the text column is protected before the margins
   are: it holds at 96px until the workspace can no longer fit the full 816px text plus
   margins, then collapses toward a 24px floor while the text column stays at 816px.
   (100cqw - 818) / 2 equals 96 at a 1010px workspace and reaches the 24px floor at
   866px; below that the right pane is what yields. The 818 is the 816px text column
   plus the 2px of left/right border. cqw tracks the live workspace width, so this holds
   whether the inspector is open, in chat mode, or hidden. */
.long-doc-content[b-4i15profh0] {
    max-width: 816px;
    margin-left: auto;
    margin-right: auto;
    padding: 8px clamp(24px, calc((100cqw - 818px) / 2), 96px) 80px;
    background-color: var(--bg);
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
    font-family: var(--assembled-font, 'Garamond', 'EB Garamond', 'Georgia', serif);
}

.long-doc-heading--folder[b-4i15profh0] {
    cursor: pointer;
    transition: color 120ms ease;
}

.long-doc-heading--folder:hover[b-4i15profh0] {
    color: var(--accent);
}

/* ---- Headings (chapter/folder/entity headings — not editable) ---- */

.long-doc-heading[b-4i15profh0] {
    margin: 2em 0 0.75em;
    line-height: 1.3;
    text-align: center;
    color: var(--ink);
}

.long-doc-heading--h1[b-4i15profh0] {
    font-size: 2rem;
    margin-bottom: 1.2rem;
    text-align: center;
}

.long-doc-heading--h2[b-4i15profh0] {
    font-size: 1.65rem;
    font-weight: 700;
    color: var(--accent);
    border-bottom: 1px solid var(--border);
    padding-bottom: 0.3em;
}

.long-doc-heading--h3[b-4i15profh0] {
    font-size: 1.3em;
    font-weight: 600;
    color: var(--accent);
    margin-top: 1.2em;
    margin-bottom: 0.4em;
    text-align: left;
}

.long-doc-heading--h4[b-4i15profh0] {
    font-size: 1em;
    font-weight: 600;
    color: var(--ink2);
    margin-top: 1em;
    margin-bottom: 0.4em;
    text-align: left;
}

/* ---- Scene separator ---- */

.long-doc-separator[b-4i15profh0] {
    text-align: center;
    color: var(--ink2);
    letter-spacing: 0.3em;
    margin: 1.5em 0;
    padding: 1em 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.long-doc-focus-btn[b-4i15profh0] {
    margin-left: 4px;
}

/* ---- Focus mode (distraction-free) ---- */
/* The toolbar is hidden and the paper column is recentered on a calm background.
   --focus-column and --focus-text-scale are set inline on the shell from the user's
   saved width / text-size prefs. Generous top/bottom padding lets the first and last
   paragraphs reach the typewriter pin line. */
.long-doc-shell--focus .long-doc-toolbar[b-4i15profh0] {
    display: none;
}

.long-doc-shell--focus[b-4i15profh0],
.long-doc-shell--focus .long-doc-scroll[b-4i15profh0] {
    background-color: var(--bg2);
}

/* Scale the prose to the writer's text-size pref. The size lives on .ProseMirror (which reads
   --prose-font-size), so we set that variable here from --focus-text-scale (set inline on the
   shell) and it inherits down to every scene editor. */
.long-doc-shell--focus[b-4i15profh0] {
    --prose-font-size: calc(1.05rem * var(--focus-text-scale, 1));
}

/* Normal keeps the non-focus 816px max-width and the inherited 96px side padding so the line
   length is unchanged on entering focus; only the borders/background drop away and the
   vertical padding grows so the first/last lines can reach the typewriter pin line. */
.long-doc-shell--focus .long-doc-content[b-4i15profh0] {
    max-width: var(--focus-column, 816px);
    border-left: none;
    border-right: none;
    background-color: transparent;
    padding-top: 40vh;
    padding-bottom: 40vh;
}

/* ---- Per-scene editor wrapper ---- */
/* No borders or vertical gaps — adjacent scenes flow as one continuous paper.
   Scene breaks come from .long-doc-separator when EntityHeadingsEnabled is false,
   or from the scene heading itself when EntityHeadingsEnabled is true. */
.long-doc-editor-wrap[b-4i15profh0] {
    margin: 0;
}
/* /Components/Mobile/MobileChatTab.razor.rz.scp.css */
.mobile-chat-status[b-iszuokslkg] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 24px;
    color: var(--text-dimmed);
    text-align: center;
    font-family: var(--font-ui);
}

.mobile-chat[b-iszuokslkg] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.mobile-chat-messages[b-iszuokslkg] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 12px 16px;
}

.mobile-chat-input[b-iszuokslkg] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 8px 10px;
    border-top: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-chat-input[b-iszuokslkg]  .chat-textarea,
.mobile-chat-input .chat-textarea[b-iszuokslkg] {
    flex: 1;
    box-sizing: border-box;
}

.mobile-chat-notice[b-iszuokslkg] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-self: center;
    margin-top: 4px;
    padding: 10px 14px;
    border: 1px solid var(--accent);
    border-radius: var(--r);
    background: var(--accent-lt, var(--pane-bg));
    font-family: var(--font-ui);
    font-size: 0.85rem;
    color: var(--text-primary);
    text-align: center;
}

.mobile-chat-notice-sub[b-iszuokslkg] {
    font-size: 0.78rem;
    color: var(--text-dimmed);
}

.mobile-chat-notice-btn[b-iszuokslkg] {
    align-self: center;
    padding: 6px 16px;
    border: 1px solid var(--accent);
    border-radius: var(--r);
    background: var(--accent);
    color: var(--accent-text);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.mobile-chat-error[b-iszuokslkg] {
    align-self: center;
    padding: 8px 14px;
    border-radius: var(--r);
    background: var(--pane-bg);
    border: 1px solid var(--status-warning, var(--border));
    color: var(--text-dimmed);
    font-family: var(--font-ui);
    font-size: 0.8rem;
    text-align: center;
}
/* /Components/Mobile/MobileCompendiumTab.razor.rz.scp.css */
.mobile-compendium-status[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 24px;
    color: var(--text-dimmed);
    text-align: center;
}

.mobile-compendium-groups[b-v4b4gyl0k6],
.mobile-compendium-list[b-v4b4gyl0k6] {
    display: flex;
    flex-direction: column;
    padding-bottom: 12px;
}

.mobile-list-header[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-search[b-v4b4gyl0k6] {
    margin: 10px 14px 4px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.9rem;
}

.mobile-group-heading[b-v4b4gyl0k6] {
    padding: 18px 14px 6px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-dimmed);
}

.mobile-item-row[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
    padding: 13px 14px;
    border: none;
    border-bottom: 1px solid var(--border);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.95rem;
    text-align: left;
    cursor: pointer;
}

.mobile-item-row-name[b-v4b4gyl0k6] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-card[b-v4b4gyl0k6] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.mobile-card-header[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-card-back[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    padding: 6px;
    border: none;
    background: none;
    color: var(--text-primary);
    cursor: pointer;
    transform: rotate(180deg);
}

.mobile-card-title[b-v4b4gyl0k6] {
    flex: 1;
    font-size: 0.95rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-card-edit[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--accent);
    color: var(--accent-text);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.mobile-card-body[b-v4b4gyl0k6] {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 18px 18px 40px;
    font-size: 0.95rem;
    line-height: 1.6;
}

.mobile-card-body[b-v4b4gyl0k6]  p {
    margin: 0 0 0.7em;
}

.mobile-card-body[b-v4b4gyl0k6]  ul {
    margin: 0 0 0.7em;
    padding-left: 18px;
}

.mobile-card-body[b-v4b4gyl0k6]  h1,
.mobile-card-body[b-v4b4gyl0k6]  h2,
.mobile-card-body[b-v4b4gyl0k6]  h3 {
    font-family: var(--font-ui);
    line-height: 1.3;
}

.mobile-card-empty[b-v4b4gyl0k6] {
    color: var(--text-dimmed);
    text-align: center;
    padding-top: 32px;
}

.mobile-edit-screen[b-v4b4gyl0k6] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bg);
}

.mobile-edit-header[b-v4b4gyl0k6] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-edit-name[b-v4b4gyl0k6] {
    font-size: 1rem;
    font-weight: 600;
}

.mobile-edit-editor[b-v4b4gyl0k6] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.mobile-edit-editor[b-v4b4gyl0k6]  .editor-container {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.mobile-edit-editor[b-v4b4gyl0k6]  .editor-toolbar {
    overflow-x: auto;
}

.mobile-edit-editor[b-v4b4gyl0k6]  .editor-container .editor-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* Drop the desktop paper-card surround — edge-to-edge on a phone. */
    padding: 0;
    background-color: var(--bg);
}

.mobile-edit-editor[b-v4b4gyl0k6]  .editor-container .editor-body-inner {
    max-width: none;
    border-left: none;
    border-right: none;
    padding: 12px 14px 80px;
}

.mobile-edit-editor[b-v4b4gyl0k6]  .editor-container .editor-body .ProseMirror {
    padding: 0;
}

.mobile-new-name[b-v4b4gyl0k6] {
    margin: 14px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 1rem;
}

.mobile-edit-actions[b-v4b4gyl0k6] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
    margin-top: auto;
}

.mobile-edit-btn[b-v4b4gyl0k6] {
    padding: 6px 14px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    cursor: pointer;
}

.mobile-edit-btn--save[b-v4b4gyl0k6] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
    font-weight: 600;
}

.mobile-edit-btn:disabled[b-v4b4gyl0k6] {
    opacity: 0.5;
    cursor: default;
}

.mobile-heading-btn[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    padding: 5px;
    border: none;
    background: none;
    color: var(--text-dimmed);
    cursor: pointer;
}

.mobile-rename-input[b-v4b4gyl0k6] {
    flex: 1;
    min-width: 0;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.9rem;
}

.mobile-rename-btn[b-v4b4gyl0k6] {
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.8rem;
    cursor: pointer;
    flex-shrink: 0;
}

.mobile-rename-btn--save[b-v4b4gyl0k6] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
    font-weight: 600;
}

.mobile-rename-btn:disabled[b-v4b4gyl0k6] {
    opacity: 0.5;
    cursor: default;
}

.mobile-list-actions[b-v4b4gyl0k6] {
    display: flex;
    gap: 8px;
    padding: 10px 14px 2px;
}

.mobile-list-action-btn[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.mobile-list-action-btn--active[b-v4b4gyl0k6] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
}

.mobile-edit-title-input[b-v4b4gyl0k6] {
    width: 100%;
    box-sizing: border-box;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 1rem;
    font-weight: 600;
}

.mobile-move-banner[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 14px 0;
    padding: 8px 12px;
    border: 1px solid var(--accent);
    border-radius: var(--r);
    background: var(--accent-lt, var(--pane-bg));
    font-size: 0.85rem;
}

.mobile-move-banner-text[b-v4b4gyl0k6] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-rename-row[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 14px 6px;
}

.mobile-group-heading-text[b-v4b4gyl0k6] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-row--arrange[b-v4b4gyl0k6] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.mobile-arrange-target[b-v4b4gyl0k6] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 0;
    border: none;
    background: none;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    text-align: left;
    cursor: pointer;
}

.mobile-row--moving[b-v4b4gyl0k6] {
    background: var(--accent-lt, var(--pane-bg));
    border-radius: var(--r);
}
/* /Components/Mobile/MobileEntityChatScreen.razor.rz.scp.css */
.mobile-entity-chat[b-t2ziytbu0r] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bg);
}

.mobile-entity-chat-header[b-t2ziytbu0r] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-entity-chat-back[b-t2ziytbu0r] {
    display: flex;
    align-items: center;
    padding: 6px;
    border: none;
    background: none;
    color: var(--text-primary);
    cursor: pointer;
    transform: rotate(180deg);
}

.mobile-entity-chat-title[b-t2ziytbu0r] {
    flex: 1;
    font-family: var(--font-ui);
    font-size: 0.95rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-persona-select[b-t2ziytbu0r] {
    padding: 6px 8px;
    margin-right: 6px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    flex-shrink: 0;
}

.mobile-persona-label[b-t2ziytbu0r] {
    font-family: var(--font-ui);
    font-size: 0.85rem;
    color: var(--text-dimmed);
    flex-shrink: 0;
}

.mobile-chat-status[b-t2ziytbu0r] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 24px;
    color: var(--text-dimmed);
    text-align: center;
    font-family: var(--font-ui);
}

.mobile-chat-messages[b-t2ziytbu0r] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 12px 16px;
}

.mobile-chat-input[b-t2ziytbu0r] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 8px 10px;
    border-top: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-chat-input .chat-textarea[b-t2ziytbu0r] {
    flex: 1;
    box-sizing: border-box;
}

.mobile-chat-notice[b-t2ziytbu0r] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-self: center;
    margin-top: 4px;
    padding: 10px 14px;
    border: 1px solid var(--accent);
    border-radius: var(--r);
    background: var(--accent-lt, var(--pane-bg));
    font-family: var(--font-ui);
    font-size: 0.85rem;
    color: var(--text-primary);
    text-align: center;
}

.mobile-chat-notice-sub[b-t2ziytbu0r] {
    font-size: 0.78rem;
    color: var(--text-dimmed);
}

.mobile-chat-notice-btn[b-t2ziytbu0r] {
    align-self: center;
    padding: 6px 16px;
    border: 1px solid var(--accent);
    border-radius: var(--r);
    background: var(--accent);
    color: var(--accent-text);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.mobile-proposal-review[b-t2ziytbu0r] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 14px;
    gap: 10px;
}

.mobile-proposal-title[b-t2ziytbu0r] {
    font-family: var(--font-ui);
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.mobile-proposal-content[b-t2ziytbu0r] {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
    font-family: var(--font-ui);
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--text-primary);
}

.mobile-proposal-content[b-t2ziytbu0r]  p {
    margin: 0 0 0.6em;
}

.mobile-proposal-content[b-t2ziytbu0r]  ul {
    margin: 0 0 0.6em;
    padding-left: 18px;
}

.mobile-proposal-aliases[b-t2ziytbu0r] {
    font-family: var(--font-ui);
    font-size: 0.85rem;
    color: var(--text-dimmed);
}

.mobile-proposal-actions[b-t2ziytbu0r] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: auto;
    padding-top: 10px;
}

.mobile-proposal-btn[b-t2ziytbu0r] {
    padding: 8px 16px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.88rem;
    cursor: pointer;
}

.mobile-proposal-btn--apply[b-t2ziytbu0r] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
    font-weight: 600;
}

.mobile-proposal-btn:disabled[b-t2ziytbu0r] {
    opacity: 0.5;
    cursor: default;
}

.mobile-chat-error[b-t2ziytbu0r] {
    align-self: center;
    padding: 8px 14px;
    border-radius: var(--r);
    background: var(--pane-bg);
    border: 1px solid var(--status-warning, var(--border));
    color: var(--text-dimmed);
    font-family: var(--font-ui);
    font-size: 0.8rem;
    text-align: center;
}
/* /Components/Mobile/MobileLanding.razor.rz.scp.css */
.mobile-landing[b-vlmu7wbk0x] {
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 28px calc(32px + env(safe-area-inset-bottom));
    box-sizing: border-box;
    background-color: var(--bg);
    color: var(--ink);
}

.ml-inner[b-vlmu7wbk0x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    max-width: 360px;
    width: 100%;
}

.ml-brand[b-vlmu7wbk0x] {
    color: var(--ink);
    margin-bottom: 14px;
}

.ml-tag[b-vlmu7wbk0x] {
    font-family: var(--font-brand);
    font-size: 1.15rem;
    line-height: 1.35;
    color: var(--ink);
    margin: 0;
}

.ml-sub[b-vlmu7wbk0x] {
    font-family: var(--font-ui);
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--ink2);
    margin: 0;
}

.ml-signin[b-vlmu7wbk0x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 30px;
    min-height: 44px;
}

.ml-loading[b-vlmu7wbk0x] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    color: var(--ink2);
}

.ml-spinner[b-vlmu7wbk0x] {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid var(--border);
    border-top-color: var(--accent-hover);
    border-radius: 50%;
    animation: ml-spin-b-vlmu7wbk0x 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes ml-spin-b-vlmu7wbk0x {
    to { transform: rotate(360deg); }
}

.ml-error[b-vlmu7wbk0x] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--status-error);
}
/* /Components/Mobile/MobileManuscriptTab.razor.rz.scp.css */
.mobile-manuscript-status[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 24px;
    color: var(--text-dimmed);
    text-align: center;
}

.mobile-scene-list[b-s72kj44a2g] {
    display: flex;
    flex-direction: column;
    padding-bottom: 12px;
}

.mobile-book-switcher[b-s72kj44a2g] {
    margin: 12px 14px 4px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.9rem;
}

.mobile-chapter-heading[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 18px 14px 6px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-dimmed);
}

.mobile-chapter-heading-text[b-s72kj44a2g] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-heading-btn[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    padding: 5px;
    border: none;
    background: none;
    color: var(--text-dimmed);
    cursor: pointer;
}

.mobile-list-actions[b-s72kj44a2g] {
    display: flex;
    gap: 8px;
    padding: 10px 14px 2px;
}

.mobile-list-action-btn[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.mobile-rename-row[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 14px 6px;
}

.mobile-rename-input[b-s72kj44a2g] {
    flex: 1;
    min-width: 0;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.9rem;
}

.mobile-rename-btn[b-s72kj44a2g] {
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.8rem;
    cursor: pointer;
    flex-shrink: 0;
}

.mobile-rename-btn--save[b-s72kj44a2g] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
    font-weight: 600;
}

.mobile-rename-btn:disabled[b-s72kj44a2g] {
    opacity: 0.5;
    cursor: default;
}

.mobile-list-action-btn--right[b-s72kj44a2g] {
    margin-left: auto;
}

.mobile-list-action-btn--active[b-s72kj44a2g] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
}

.mobile-edit-title-input[b-s72kj44a2g] {
    width: 100%;
    box-sizing: border-box;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 1rem;
    font-weight: 600;
}

.mobile-move-banner[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 14px 0;
    padding: 8px 12px;
    border: 1px solid var(--accent);
    border-radius: var(--r);
    background: var(--accent-lt, var(--pane-bg));
    font-size: 0.85rem;
}

.mobile-move-banner-text[b-s72kj44a2g] {
    flex: 1;
    min-width: 0;
    font-size: 0.8rem;
    line-height: 1.35;
    overflow-wrap: break-word;
}

.mobile-new-name[b-s72kj44a2g] {
    margin: 14px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 1rem;
}

.mobile-row--arrange[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.mobile-arrange-target[b-s72kj44a2g] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 0;
    border: none;
    background: none;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    text-align: left;
    cursor: pointer;
}

.mobile-row--moving[b-s72kj44a2g] {
    background: var(--accent-lt, var(--pane-bg));
    border-radius: var(--r);
}

.mobile-scene-row[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    /* Rendered as a <button> in normal mode but a <div> in edit mode — divs are
       content-box by default, so width:100% + padding overflowed and clipped the
       row-end buttons off-screen. */
    box-sizing: border-box;
    padding: 13px 14px;
    border: none;
    border-bottom: 1px solid var(--border);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.95rem;
    text-align: left;
    cursor: pointer;
}

.mobile-scene-row-name[b-s72kj44a2g] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-scene-reader[b-s72kj44a2g] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.mobile-scene-header[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-scene-back[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    padding: 6px;
    border: none;
    background: none;
    color: var(--text-primary);
    cursor: pointer;
    transform: rotate(180deg);
}

.mobile-scene-title[b-s72kj44a2g] {
    flex: 1;
    font-size: 0.95rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-scene-listen[b-s72kj44a2g] {
    padding: 6px 14px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--accent);
    color: var(--accent-text);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.mobile-scene-edit[b-s72kj44a2g] {
    padding: 6px 14px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.mobile-edit-screen[b-s72kj44a2g] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bg);
}

.mobile-edit-header[b-s72kj44a2g] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-edit-name[b-s72kj44a2g] {
    font-size: 1rem;
    font-weight: 600;
}

.mobile-edit-actions[b-s72kj44a2g] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
    margin-top: auto;
}

.mobile-edit-btn[b-s72kj44a2g] {
    padding: 6px 14px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    cursor: pointer;
}

.mobile-edit-btn--save[b-s72kj44a2g] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
    font-weight: 600;
}

.mobile-edit-editor[b-s72kj44a2g] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.mobile-edit-editor[b-s72kj44a2g]  .editor-container {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.mobile-edit-editor[b-s72kj44a2g]  .editor-toolbar {
    overflow-x: auto;
}

.mobile-edit-editor[b-s72kj44a2g]  .editor-container .editor-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* Drop the desktop paper-card surround — edge-to-edge on a phone. */
    padding: 0;
    background-color: var(--bg);
}

.mobile-edit-editor[b-s72kj44a2g]  .editor-container .editor-body-inner {
    max-width: none;
    border-left: none;
    border-right: none;
    padding: 12px 14px 80px;
}

.mobile-edit-editor[b-s72kj44a2g]  .editor-container .editor-body .ProseMirror {
    padding: 0;
}

.mobile-prose[b-s72kj44a2g] {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 18px 18px 90px;
    font-family: var(--assembled-font, var(--font-editor));
    line-height: var(--assembled-line-height, 1.7);
    font-size: 1.02rem;
}

.mobile-prose[b-s72kj44a2g]  p {
    margin: 0 0 0.9em;
}

.mobile-prose[b-s72kj44a2g]  h1,
.mobile-prose[b-s72kj44a2g]  h2,
.mobile-prose[b-s72kj44a2g]  h3 {
    font-family: var(--font-ui);
    line-height: 1.3;
}

.mobile-prose-empty[b-s72kj44a2g] {
    color: var(--text-dimmed);
    text-align: center;
    padding-top: 32px;
}

.mobile-seg[b-s72kj44a2g] {
    display: flex;
    gap: 4px;
    padding: 8px 14px;
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-seg-btn[b-s72kj44a2g] {
    flex: 1;
    padding: 7px 0;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-dimmed);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.mobile-seg-btn--active[b-s72kj44a2g] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
}

.mobile-notes[b-s72kj44a2g] {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 4px 14px 90px;
}

.mobile-notes-group-header[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 18px 0 6px;
}

.mobile-notes-group-title[b-s72kj44a2g] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-dimmed);
}

.mobile-notes-add-btn[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    padding: 0;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--text-dimmed);
    cursor: pointer;
}

.mobile-notes-add-btn:active[b-s72kj44a2g] {
    background: var(--accent-lt);
    border-color: var(--accent);
    color: var(--accent);
}

.mobile-note-card[b-s72kj44a2g] {
    padding: 12px;
    margin-bottom: 8px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
}

.mobile-note-card-header[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.mobile-note-name[b-s72kj44a2g] {
    font-size: 0.9rem;
    font-weight: 600;
}

.mobile-note-content[b-s72kj44a2g] {
    font-size: 0.9rem;
    line-height: 1.5;
}

.mobile-note-content[b-s72kj44a2g]  p {
    margin: 0 0 0.5em;
}

.mobile-note-content[b-s72kj44a2g]  ul {
    margin: 0;
    padding-left: 18px;
}

.mobile-note-content--empty[b-s72kj44a2g] {
    color: var(--text-dimmed);
    font-style: italic;
}


.mobile-picker-backdrop[b-s72kj44a2g] {
    position: fixed;
    inset: 0;
    z-index: 240;
    background: rgba(0, 0, 0, 0.35);
}

.mobile-picker[b-s72kj44a2g] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 250;
    display: flex;
    flex-direction: column;
    max-height: 70dvh;
    background: var(--pane-bg);
    border-top: 1px solid var(--border);
    border-radius: var(--r-lg) var(--r-lg) 0 0;
    box-shadow: var(--shadow-lg);
    padding-bottom: env(safe-area-inset-bottom);
}

.mobile-picker-header[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.mobile-picker-title[b-s72kj44a2g] {
    flex: 1;
    font-family: var(--font-ui);
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-picker-close[b-s72kj44a2g] {
    display: flex;
    align-items: center;
    padding: 6px;
    border: none;
    background: none;
    color: var(--text-dimmed);
    cursor: pointer;
}

.mobile-picker-body[b-s72kj44a2g] {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px 0;
}

.mobile-picker-row[b-s72kj44a2g] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 13px 14px;
    border: none;
    border-bottom: 1px solid var(--border);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.95rem;
    text-align: left;
    cursor: pointer;
}

.mobile-picker-row:disabled[b-s72kj44a2g] {
    opacity: 0.5;
    cursor: default;
}

.mobile-picker-error[b-s72kj44a2g] {
    margin: 0 14px 8px;
    padding: 8px 12px;
    border: 1px solid var(--danger, var(--border));
    border-radius: var(--r);
    color: var(--danger, var(--text-primary));
    font-family: var(--font-ui);
    font-size: 0.85rem;
}

.mobile-note-edit-screen[b-s72kj44a2g] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bg);
}

.mobile-note-edit-header[b-s72kj44a2g] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-note-edit-name[b-s72kj44a2g] {
    font-size: 1rem;
    font-weight: 600;
}

.mobile-note-edit-context[b-s72kj44a2g] {
    font-size: 0.8rem;
    color: var(--text-dimmed);
}

.mobile-note-editor[b-s72kj44a2g] {
    flex: 1;
    width: 100%;
    box-sizing: border-box;
    padding: 14px;
    border: none;
    background: var(--bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.95rem;
    line-height: 1.6;
    resize: none;
    outline: none;
}

.mobile-note-actions[b-s72kj44a2g] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-note-btn[b-s72kj44a2g] {
    padding: 6px 14px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    cursor: pointer;
}

.mobile-note-btn--save[b-s72kj44a2g] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
    font-weight: 600;
}
/* /Components/Mobile/MobileMentionSheet.razor.rz.scp.css */
.mobile-sheet-backdrop[b-4nkq52hbw1] {
    position: fixed;
    inset: 0;
    z-index: 240;
    background: rgba(0, 0, 0, 0.35);
}

.mobile-sheet[b-4nkq52hbw1] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 250;
    display: flex;
    flex-direction: column;
    max-height: 70dvh;
    background: var(--pane-bg);
    border-top: 1px solid var(--border);
    border-radius: var(--r-lg) var(--r-lg) 0 0;
    box-shadow: var(--shadow-lg);
    padding-bottom: env(safe-area-inset-bottom);
}

.mobile-sheet-header[b-4nkq52hbw1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.mobile-sheet-title[b-4nkq52hbw1] {
    flex: 1;
    font-family: var(--font-ui);
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-sheet-open[b-4nkq52hbw1] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--accent);
    color: var(--accent-text);
    font-family: var(--font-ui);
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    flex-shrink: 0;
}

.mobile-sheet-close[b-4nkq52hbw1] {
    display: flex;
    align-items: center;
    padding: 6px;
    border: none;
    background: none;
    color: var(--text-dimmed);
    cursor: pointer;
}

.mobile-sheet-body[b-4nkq52hbw1] {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 14px;
    font-family: var(--font-ui);
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--text-primary);
}

.mobile-sheet-body[b-4nkq52hbw1]  p {
    margin: 0 0 0.6em;
}

.mobile-sheet-body[b-4nkq52hbw1]  ul {
    margin: 0 0 0.6em;
    padding-left: 18px;
}

.mobile-sheet-status[b-4nkq52hbw1] {
    color: var(--text-dimmed);
    text-align: center;
    padding: 20px 0;
}
/* /Components/Mobile/MobilePlanningProposalReview.razor.rz.scp.css */
.mobile-review[b-z7fnj9ub1u] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bg);
    font-family: var(--font-ui);
}

.mobile-review-header[b-z7fnj9ub1u] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-review-title[b-z7fnj9ub1u] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.mobile-review-sub[b-z7fnj9ub1u] {
    font-size: 0.8rem;
    color: var(--text-dimmed);
}

.mobile-review-status[b-z7fnj9ub1u] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 24px;
    color: var(--text-dimmed);
    text-align: center;
}

.mobile-review-body[b-z7fnj9ub1u] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 4px 14px 16px;
}

.mobile-review-group-title[b-z7fnj9ub1u] {
    padding: 16px 0 6px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-dimmed);
}

.mobile-review-item[b-z7fnj9ub1u] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    margin-bottom: 6px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
    cursor: pointer;
}

.mobile-review-item--off[b-z7fnj9ub1u] {
    opacity: 0.55;
}

.mobile-review-item input[b-z7fnj9ub1u] {
    margin-top: 2px;
    flex-shrink: 0;
}

.mobile-review-item-text[b-z7fnj9ub1u] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.mobile-review-item-title[b-z7fnj9ub1u] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
    overflow-wrap: break-word;
}

.mobile-review-item-detail[b-z7fnj9ub1u] {
    font-size: 0.82rem;
    line-height: 1.4;
    color: var(--text-dimmed);
    overflow-wrap: break-word;
}

.mobile-review-item-blocked[b-z7fnj9ub1u] {
    font-size: 0.78rem;
    font-style: italic;
    color: var(--text-dimmed);
}

.mobile-review-item-body[b-z7fnj9ub1u] {
    display: block;
    margin-top: 4px;
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--text-primary);
    overflow-wrap: break-word;
}

.mobile-review-item-body[b-z7fnj9ub1u]  p {
    margin: 0 0 0.5em;
}

.mobile-review-item-body[b-z7fnj9ub1u]  p:last-child {
    margin-bottom: 0;
}

.mobile-review-item-body[b-z7fnj9ub1u]  ul {
    margin: 0 0 0.5em;
    padding-left: 18px;
}

.mobile-review-item-body[b-z7fnj9ub1u]  h1,
.mobile-review-item-body[b-z7fnj9ub1u]  h2,
.mobile-review-item-body[b-z7fnj9ub1u]  h3 {
    font-size: 0.95rem;
    margin: 0.4em 0 0.2em;
}

.mobile-review-error[b-z7fnj9ub1u] {
    margin-top: 8px;
    padding: 8px 14px;
    border-radius: var(--r);
    border: 1px solid var(--status-warning, var(--border));
    background: var(--pane-bg);
    color: var(--text-dimmed);
    font-size: 0.8rem;
    text-align: center;
}

.mobile-review-actions[b-z7fnj9ub1u] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-review-btn[b-z7fnj9ub1u] {
    padding: 8px 16px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.88rem;
    cursor: pointer;
}

.mobile-review-btn--apply[b-z7fnj9ub1u] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
    font-weight: 600;
}

.mobile-review-btn:disabled[b-z7fnj9ub1u] {
    opacity: 0.5;
    cursor: default;
}
/* /Components/Mobile/MobileProjectPicker.razor.rz.scp.css */
.mobile-picker[b-k4t59h12nl] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bg);
    font-family: var(--font-ui);
}

.mobile-picker-header[b-k4t59h12nl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-picker-title[b-k4t59h12nl] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.mobile-picker-close[b-k4t59h12nl] {
    display: flex;
    align-items: center;
    padding: 6px;
    border: none;
    background: none;
    color: var(--text-dimmed);
    cursor: pointer;
}

.mobile-picker-status[b-k4t59h12nl] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 24px;
    color: var(--text-dimmed);
    text-align: center;
}

.mobile-picker-list[b-k4t59h12nl] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
}

.mobile-picker-row[b-k4t59h12nl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
    padding: 14px;
    border: none;
    border-bottom: 1px solid var(--border);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.95rem;
    text-align: left;
    cursor: pointer;
}

.mobile-picker-row:disabled[b-k4t59h12nl] {
    opacity: 0.6;
    cursor: default;
}

.mobile-picker-row--current[b-k4t59h12nl] {
    background: var(--pane-bg);
}

.mobile-picker-row-name[b-k4t59h12nl] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-picker-row-badge[b-k4t59h12nl] {
    flex-shrink: 0;
    padding: 2px 8px;
    border-radius: var(--r);
    background: var(--accent);
    color: var(--accent-text);
    font-size: 0.72rem;
    font-weight: 600;
}

.mobile-picker-create[b-k4t59h12nl] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    padding: 14px;
    gap: 8px;
}

.mobile-picker-name[b-k4t59h12nl] {
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 1rem;
}

.mobile-picker-group-title[b-k4t59h12nl] {
    padding-top: 10px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-dimmed);
}

.mobile-picker-template[b-k4t59h12nl] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    text-align: left;
    cursor: pointer;
}

.mobile-picker-template--selected[b-k4t59h12nl] {
    border-color: var(--accent);
    box-shadow: 0 0 0 1px var(--accent);
}

.mobile-picker-template-name[b-k4t59h12nl] {
    font-size: 0.92rem;
    font-weight: 600;
}

.mobile-picker-template-desc[b-k4t59h12nl] {
    font-size: 0.82rem;
    color: var(--text-dimmed);
    line-height: 1.4;
}

.mobile-picker-error[b-k4t59h12nl] {
    margin-top: 8px;
    padding: 8px 14px;
    border-radius: var(--r);
    border: 1px solid var(--status-warning, var(--border));
    background: var(--pane-bg);
    color: var(--text-dimmed);
    font-size: 0.8rem;
    text-align: center;
}

.mobile-picker-actions[b-k4t59h12nl] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-picker-btn[b-k4t59h12nl] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 16px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.88rem;
    cursor: pointer;
}

.mobile-picker-btn--primary[b-k4t59h12nl] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
    font-weight: 600;
}

.mobile-picker-btn:disabled[b-k4t59h12nl] {
    opacity: 0.5;
    cursor: default;
}
/* /Components/Mobile/MobileSettingsTab.razor.rz.scp.css */
.mobile-you[b-0jxqpdg62y] {
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 4px 14px 24px;
    font-family: var(--font-ui);
}

.mobile-you-section[b-0jxqpdg62y] {
    margin-top: 16px;
}

.mobile-you-section-title[b-0jxqpdg62y] {
    padding-bottom: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-dimmed);
}

.mobile-you-card[b-0jxqpdg62y] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
}

.mobile-you-card--account[b-0jxqpdg62y] {
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.mobile-you-avatar[b-0jxqpdg62y] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
}

.mobile-you-identity[b-0jxqpdg62y] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.mobile-you-name[b-0jxqpdg62y] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
}

.mobile-you-email[b-0jxqpdg62y] {
    font-size: 0.85rem;
    color: var(--text-dimmed);
}

.mobile-you-signout[b-0jxqpdg62y] {
    align-self: flex-start;
    margin-top: 8px;
    padding: 7px 14px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    cursor: pointer;
}

.mobile-you-status[b-0jxqpdg62y] {
    padding: 10px 0;
    color: var(--text-dimmed);
    font-size: 0.85rem;
    text-align: center;
}

.mobile-you-voice[b-0jxqpdg62y] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--pane-bg);
}

.mobile-you-voice--selected[b-0jxqpdg62y] {
    border-color: var(--accent);
    box-shadow: 0 0 0 1px var(--accent);
}

.mobile-you-voice-pick[b-0jxqpdg62y] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 10px 12px;
    border: none;
    background: none;
    color: var(--text-primary);
    font-family: var(--font-ui);
    text-align: left;
    cursor: pointer;
}

.mobile-you-voice-name[b-0jxqpdg62y] {
    font-size: 0.92rem;
    font-weight: 600;
}

.mobile-you-voice-desc[b-0jxqpdg62y] {
    font-size: 0.8rem;
    color: var(--text-dimmed);
}

.mobile-you-voice-audition[b-0jxqpdg62y] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-right: 6px;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--bg);
    color: var(--text-primary);
    cursor: pointer;
    flex-shrink: 0;
}

.mobile-you-voice-audition:disabled[b-0jxqpdg62y] {
    opacity: 0.5;
    cursor: default;
}
/* /Components/Narration/ListenPopover.razor.rz.scp.css */
.listen-popover[b-notr107r50] {
    position: fixed;
    z-index: 200;
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    outline: none;
    pointer-events: auto;
}

.listen-popover__preparing[b-notr107r50] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 6px;
    font-size: 12px;
    color: var(--ink2);
    white-space: nowrap;
}

.listen-popover__preparing-spinner[b-notr107r50] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    flex-shrink: 0;
    animation: listen-popover-spin-b-notr107r50 0.7s linear infinite;
}

@keyframes listen-popover-spin-b-notr107r50 {
    to { transform: rotate(360deg); }
}

.listen-popover__transport[b-notr107r50] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.listen-popover__transport-btn[b-notr107r50] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    cursor: pointer;
    transition: background 0.1s;
    flex-shrink: 0;
}

.listen-popover__transport-btn:hover[b-notr107r50] {
    background: var(--accent-lt);
}

.listen-popover__choice[b-notr107r50] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 4px 6px;
    max-width: 240px;
}

.listen-popover__choice-header[b-notr107r50] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.listen-popover__choice-text[b-notr107r50] {
    font-size: 12px;
    color: var(--ink);
    line-height: 1.4;
}

.listen-popover__choice-actions[b-notr107r50] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.listen-popover__choice-btn[b-notr107r50] {
    padding: 5px 8px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    transition: background 0.1s;
}

.listen-popover__choice-btn:hover[b-notr107r50] {
    background: var(--accent-lt);
}

.listen-popover__choice-btn--primary[b-notr107r50] {
    border-color: var(--accent);
}

.listen-popover__cap-notice[b-notr107r50] {
    font-size: 11px;
    color: var(--ink2);
    line-height: 1.4;
    max-width: 220px;
}

.listen-popover__live-region[b-notr107r50] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
/* /Components/Navigator.razor.rz.scp.css */
.navigator-root[b-vels69vd7l] {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    height: 100%;
    user-select: none;
}

.empty-state[b-vels69vd7l] {
    padding: 16px;
}

.empty-text[b-vels69vd7l] {
    color: var(--ink2);
    font-size: 0.85rem;
    margin: 0;
}

.dimension-section[b-vels69vd7l] {
    display: flex;
    flex-direction: column;
    position: relative;
}

.dimension-header[b-vels69vd7l] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    cursor: pointer;
    border-radius: var(--r);
    margin: 0 4px;
    transition: background-color 150ms ease-in-out;
    position: relative;
}

.dimension-header:hover[b-vels69vd7l] {
    background-color: var(--border);
}

.dimension-header--selected[b-vels69vd7l] {
    background-color: var(--accent-lt);
}

.dimension-header--drop-target[b-vels69vd7l] {
    background-color: var(--accent-lt);
    outline: 1px solid var(--accent);
    outline-offset: -1px;
}

.dimension-header--selected[b-vels69vd7l]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 3px;
    background-color: var(--accent);
    border-radius: 0 2px 2px 0;
}

.dimension-name[b-vels69vd7l] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dimension-icon[b-vels69vd7l] {
    color: var(--accent);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    width: 20px;
    height: 20px;
}

.dimension-icon[b-vels69vd7l]  svg {
    width: 100%;
    height: 100%;
}

.expand-btn[b-vels69vd7l] {
    background: none;
    border: none;
    padding: 2px;
    cursor: pointer;
    color: var(--ink2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 2px;
    transition: color 150ms ease-in-out;
}

.expand-btn:hover[b-vels69vd7l] {
    color: var(--ink);
}

.context-menu-btn[b-vels69vd7l] {
    background: none;
    border: none;
    padding: 2px 4px;
    cursor: pointer;
    color: var(--ink2);
    display: flex;
    align-items: center;
    border-radius: 3px;
    opacity: 0;
    transition: opacity 150ms ease-in-out, color 150ms ease-in-out;
}

.dimension-header:hover .context-menu-btn[b-vels69vd7l],
.dimension-header--selected .context-menu-btn[b-vels69vd7l] {
    opacity: 1;
}

.context-menu-btn:hover[b-vels69vd7l] {
    color: var(--ink);
    background-color: rgba(255, 255, 255, 0.08);
}

.dimension-children[b-vels69vd7l] {
    display: flex;
    flex-direction: column;
}

.tail-drop-zone[b-vels69vd7l] {
    position: relative;
    min-height: 4px;
}

.root-tail-drop-indicator[b-vels69vd7l] {
    position: absolute;
    top: -1px;
    left: 8px;
    right: 8px;
    height: 3px;
    background-color: var(--accent);
    border-radius: 2px;
    pointer-events: none;
    box-shadow: 0 0 4px var(--accent-lt);
    opacity: 0;
}

.root-tail-drop-indicator--visible[b-vels69vd7l] {
    opacity: 1;
}

.dimension-section--dragging .dimension-header[b-vels69vd7l] {
    opacity: 0.4;
}

/* Absolute overlay so showing the indicator doesn't shift the row, which would cause the
   mouse to leave the dragover target and create a show/hide flicker loop. */
.dimension-drop-indicator[b-vels69vd7l] {
    position: absolute;
    top: -1px;
    left: 8px;
    right: 8px;
    height: 3px;
    background-color: var(--accent);
    border-radius: 2px;
    box-shadow: 0 0 4px var(--accent-lt);
    pointer-events: none;
    z-index: 2;
    opacity: 0;
}

.dimension-drop-indicator--visible[b-vels69vd7l] {
    opacity: 1;
}

.dimension-zone-divider[b-vels69vd7l] {
    height: 1px;
    margin: 8px 12px;
    background-color: var(--border2);
    pointer-events: none;
}

.dimension-tail-drop-zone[b-vels69vd7l] {
    position: relative;
    min-height: 8px;
}

.dimension-tail-drop-indicator[b-vels69vd7l] {
    position: absolute;
    top: 2px;
    left: 8px;
    right: 8px;
    height: 3px;
    background-color: var(--accent);
    border-radius: 2px;
    pointer-events: none;
    box-shadow: 0 0 4px var(--accent-lt);
    opacity: 0;
}

.dimension-tail-drop-indicator--visible[b-vels69vd7l] {
    opacity: 1;
}

/* Book Matter indents align with TreeNode rows: header = Depth=1 (4px margin + 14px padding-left),
   page rows = Depth=2 (4px margin + 28px padding-left). */

.bm-section[b-vels69vd7l] {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.bm-section--nested .bm-header[b-vels69vd7l] {
    margin: 0 4px;
    padding: 6px 8px 6px 14px;
    gap: 5px;
}

.bm-section--nested .bm-label[b-vels69vd7l] {
    font-size: 0.85rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
}

.bm-section--nested .bm-page-row[b-vels69vd7l] {
    padding: 5px 8px;
    padding-left: 28px;
    gap: 5px;
}

.bm-page-spacer[b-vels69vd7l] {
    display: inline-block;
    width: 18px;
    flex-shrink: 0;
}

.bm-section--nested .bm-page-icon[b-vels69vd7l] {
    width: 18px;
    height: 18px;
    justify-content: center;
}

.bm-header[b-vels69vd7l] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    cursor: pointer;
    border-radius: var(--r);
    margin: 0 4px;
    background: none;
    border: none;
    width: calc(100% - 8px);
    text-align: left;
    transition: background-color 150ms ease-in-out;
}

.bm-header:hover[b-vels69vd7l] {
    background-color: var(--border);
}

.bm-chevron[b-vels69vd7l] {
    color: var(--ink2);
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.bm-icon[b-vels69vd7l] {
    color: var(--accent);
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.bm-label[b-vels69vd7l] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bm-header:focus-visible[b-vels69vd7l] {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}

.bm-pages[b-vels69vd7l] {
    display: flex;
    flex-direction: column;
}

.bm-page-row[b-vels69vd7l] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px 5px 28px;
    cursor: pointer;
    border-radius: var(--r);
    margin: 0 4px;
    position: relative;
    transition: background-color 150ms ease-in-out;
    user-select: none;
}

.bm-page-row:hover[b-vels69vd7l] {
    background-color: var(--border);
}

.bm-page-row--selected[b-vels69vd7l] {
    background-color: var(--accent-lt);
}

.bm-page-row--selected[b-vels69vd7l]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 3px;
    background-color: var(--accent);
    border-radius: 0 2px 2px 0;
}

.bm-page-row:focus-visible[b-vels69vd7l] {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}

.bm-page-icon[b-vels69vd7l] {
    color: var(--ink2);
    display: flex;
    align-items: center;
    flex-shrink: 0;
    transition: color 150ms ease-in-out;
}

.bm-page-icon--included[b-vels69vd7l] {
    color: var(--accent);
}

.bm-page-row:hover .bm-page-icon[b-vels69vd7l] {
    color: var(--ink);
}

.bm-page-name[b-vels69vd7l] {
    font-size: 0.85rem;
    font-weight: 400;
    color: var(--ink);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bm-page-row--selected .bm-page-name[b-vels69vd7l] {
    font-weight: 500;
}

.bm-divider[b-vels69vd7l] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px;
    font-size: 0.72rem;
    font-style: italic;
    color: var(--ink3);
    pointer-events: none;
}

.bm-divider[b-vels69vd7l]::before,
.bm-divider[b-vels69vd7l]::after {
    content: '';
    flex: 1;
    height: 1px;
    background-color: var(--border);
}

.manuscript-pill[b-vels69vd7l] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 16px;
    padding: 0 7px;
    margin-left: 6px;
    background: var(--accent-lt);
    color: var(--accent);
    border-radius: var(--r-lg);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    flex-shrink: 0;
    cursor: help;
    white-space: nowrap;
}
/* /Components/Onboarding/GettingStartedChecklist.razor.rz.scp.css */
/* -----------------------------------------------------------------------
   Shared anchor: bottom-left 20px offset, above workspace, below dialogs.
   ----------------------------------------------------------------------- */
.checklist-panel[b-28ovdhui1t],
.checklist-pill[b-28ovdhui1t],
.checklist-closing[b-28ovdhui1t] {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 500;
}

/* -----------------------------------------------------------------------
   Expanded panel
   ----------------------------------------------------------------------- */
.checklist-panel[b-28ovdhui1t] {
    width: 320px;
    max-width: calc(100vw - 40px);
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    color: var(--ink);
    display: flex;
    flex-direction: column;
    overflow: hidden;

    animation: checklist-enter-b-28ovdhui1t 150ms ease both;
}

@keyframes checklist-enter-b-28ovdhui1t {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* -----------------------------------------------------------------------
   Header row
   ----------------------------------------------------------------------- */
.checklist-header[b-28ovdhui1t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px 8px;
}

.checklist-title[b-28ovdhui1t] {
    font-family: var(--font-brand);
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    letter-spacing: -0.01em;
}

.checklist-collapse-btn[b-28ovdhui1t] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    transition: color 100ms ease, background 100ms ease;
}

.checklist-collapse-btn:hover[b-28ovdhui1t] {
    color: var(--ink);
    background: var(--bg);
}

.checklist-collapse-btn:focus-visible[b-28ovdhui1t] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

/* -----------------------------------------------------------------------
   Progress meter
   ----------------------------------------------------------------------- */
.checklist-progress-row[b-28ovdhui1t] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px 10px;
}

.checklist-progress-track[b-28ovdhui1t] {
    flex: 1;
    height: 4px;
    background: var(--border2);
    border-radius: 2px;
    overflow: hidden;
}

.checklist-progress-fill[b-28ovdhui1t] {
    height: 100%;
    background: var(--accent);
    border-radius: 2px;
    transition: width 200ms ease;
}

.checklist-progress-label[b-28ovdhui1t] {
    font-family: var(--font-ui);
    font-size: 12px;
    color: var(--ink3);
    white-space: nowrap;
    flex-shrink: 0;
}

/* -----------------------------------------------------------------------
   Step list
   ----------------------------------------------------------------------- */
.checklist-steps[b-28ovdhui1t] {
    list-style: none;
    margin: 0;
    padding: 0 14px 12px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.checklist-step[b-28ovdhui1t] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 9px 0;
}

/* Subtle divider between steps */
.checklist-step + .checklist-step[b-28ovdhui1t] {
    border-top: 1px solid var(--border);
}

.checklist-step-icon[b-28ovdhui1t] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-top: 1px;
}

.checklist-step--complete .checklist-step-icon[b-28ovdhui1t] {
    animation: step-check-b-28ovdhui1t 200ms ease both;
}

@keyframes step-check-b-28ovdhui1t {
    from { opacity: 0; transform: scale(0.6); }
    to   { opacity: 1; transform: scale(1); }
}

.checklist-step-body[b-28ovdhui1t] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 0;
}

.checklist-step-label[b-28ovdhui1t] {
    font-family: var(--font-ui);
    font-size: 13px;
    line-height: 1.4;
}

.checklist-step--active .checklist-step-label[b-28ovdhui1t] {
    color: var(--ink);
    font-weight: 500;
}

.checklist-step--complete .checklist-step-label[b-28ovdhui1t] {
    color: var(--ink3);
    font-weight: 400;
}

.checklist-step--future .checklist-step-label[b-28ovdhui1t] {
    color: var(--ink3);
    font-weight: 400;
}

.checklist-step-helper[b-28ovdhui1t] {
    font-family: var(--font-ui);
    font-size: 12px;
    color: var(--ink3);
    line-height: 1.45;
}

/* -----------------------------------------------------------------------
   Live word-count progress (active word-count steps only)
   ----------------------------------------------------------------------- */
.checklist-step-progress-row[b-28ovdhui1t] {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 2px;
}

.checklist-step-progress-count[b-28ovdhui1t] {
    font-family: var(--font-ui);
    font-size: 11px;
    color: var(--ink3);
    white-space: nowrap;
    flex-shrink: 0;
}

.checklist-step-progress-track[b-28ovdhui1t] {
    flex: 1;
    height: 3px;
    background: var(--border2);
    border-radius: 2px;
    overflow: hidden;
}

.checklist-step-progress-fill[b-28ovdhui1t] {
    height: 100%;
    background: var(--accent);
    border-radius: 2px;
    transition: width 300ms ease;
}

/* -----------------------------------------------------------------------
   Collapsed pill
   ----------------------------------------------------------------------- */
.checklist-pill[b-28ovdhui1t] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 12px;
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    color: var(--ink);
    cursor: pointer;
    white-space: nowrap;

    animation: checklist-enter-b-28ovdhui1t 150ms ease both;
    transition: background 100ms ease, border-color 100ms ease;
}

.checklist-pill:hover[b-28ovdhui1t] {
    background: var(--bg3);
}

.checklist-pill:focus-visible[b-28ovdhui1t] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.checklist-pill-ring[b-28ovdhui1t] {
    flex-shrink: 0;
}

.checklist-pill-label[b-28ovdhui1t] {
    font-family: var(--font-ui);
    font-size: 13px;
    color: var(--ink);
}

.checklist-pill-count[b-28ovdhui1t] {
    font-family: var(--font-ui);
    font-size: 12px;
    color: var(--ink3);
}

.checklist-pill-chevron[b-28ovdhui1t] {
    display: flex;
    align-items: center;
    color: var(--ink3);
    margin-left: 2px;
}

/* -----------------------------------------------------------------------
   Closing state — "You're all set" card
   ----------------------------------------------------------------------- */
.checklist-closing[b-28ovdhui1t] {
    width: 320px;
    max-width: calc(100vw - 40px);
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 18px;

    animation: checklist-closing-in-b-28ovdhui1t 400ms ease both;
}

@keyframes checklist-closing-in-b-28ovdhui1t {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.checklist-closing-text[b-28ovdhui1t] {
    font-family: var(--font-brand);
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    text-align: center;
    letter-spacing: -0.01em;
}

/* -----------------------------------------------------------------------
   Responsive — narrow viewports prefer the pill
   ----------------------------------------------------------------------- */
@media (max-width: 480px) {
    .checklist-panel[b-28ovdhui1t] {
        width: calc(100vw - 40px);
    }

    .checklist-closing[b-28ovdhui1t] {
        width: calc(100vw - 40px);
    }
}
/* /Components/Onboarding/MicroTip.razor.rz.scp.css */
/* -----------------------------------------------------------------------
   MicroTip — first-run non-blocking callout.
   Positioning is handled by the parent (position:absolute or fixed wrapper).
   All colors from theme tokens. No hardcoded hex. No emoji.
   ----------------------------------------------------------------------- */

.micro-tip[b-oiy2kq6apa] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    max-width: 280px;
    padding: 10px 12px;
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    pointer-events: auto;
    z-index: 520;

    opacity: 0;
    transition: opacity 150ms ease;
}

.micro-tip--visible[b-oiy2kq6apa] {
    opacity: 1;
}

.micro-tip-body[b-oiy2kq6apa] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    min-width: 0;
}

.micro-tip-copy[b-oiy2kq6apa] {
    font-family: var(--font-ui);
    font-size: 13px;
    line-height: 1.45;
    color: var(--ink2);
}

.micro-tip-got-it[b-oiy2kq6apa] {
    font-family: var(--font-ui);
    font-size: 12px;
    color: var(--accent);
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    text-align: left;
    transition: opacity 100ms ease;
}

.micro-tip-got-it:hover[b-oiy2kq6apa] {
    opacity: 0.8;
}

.micro-tip-got-it:focus-visible[b-oiy2kq6apa] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: 2px;
}

.micro-tip-close[b-oiy2kq6apa] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    padding: 0;
    transition: color 100ms ease;
}

.micro-tip-close:hover[b-oiy2kq6apa] {
    color: var(--ink);
}

.micro-tip-close:focus-visible[b-oiy2kq6apa] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
/* /Components/Onboarding/WelcomeTour.razor.rz.scp.css */
/* Non-blocking coach card. Centered by default; anchored panels get inline top/left
   from WelcomeTour.razor.cs after reading the target rect via coachmark.js. */
.tour-coach[b-z2qh2uhroj] {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(480px, calc(100vw - 48px));
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    color: var(--ink);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    overflow: visible;
    outline: none;
}

/* When anchored the card is absolutely positioned via inline style;
   overflow visible is already set above so the pointer triangle renders outside. */
.tour-coach--anchored[b-z2qh2uhroj] {
    overflow: visible;
}

/* Coachmark highlight ring — live rule is in app.css (scoped CSS can't reach outside this component). */

.tour-coach-top[b-z2qh2uhroj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px 0;
}

.tour-step-indicator[b-z2qh2uhroj] {
    font-family: var(--font-ui);
    font-size: 12px;
    color: var(--ink2);
    letter-spacing: 0.04em;
}

.tour-coach-body[b-z2qh2uhroj] {
    padding: 8px 22px 18px;
    text-align: center;
}

.tour-coach-logo[b-z2qh2uhroj] {
    display: flex;
    justify-content: center;
    margin: 4px 0 6px;
    color: var(--ink);
}

.tour-kicker[b-z2qh2uhroj] {
    display: inline-block;
    font-family: var(--font-ui);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--accent);
    background: var(--accent-lt);
    padding: 2px 8px;
    border-radius: 3px;
    margin-bottom: 10px;
}

.tour-title[b-z2qh2uhroj] {
    font-family: var(--font-brand);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0 0 6px;
}

.tour-copy[b-z2qh2uhroj] {
    font-family: var(--font-ui);
    font-size: 14px;
    line-height: 1.55;
    color: var(--ink2);
    max-width: 420px;
    margin: 0 auto;
}

.tour-copy strong[b-z2qh2uhroj] {
    color: var(--ink);
    font-weight: 600;
}

.tour-coach-footer[b-z2qh2uhroj] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-top: 1px solid var(--border);
    background: var(--bg);
    border-radius: 0 0 var(--r-lg) var(--r-lg);
}

.tour-dots[b-z2qh2uhroj] {
    display: flex;
    gap: 7px;
}

.tour-dot[b-z2qh2uhroj] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--border2);
    border: none;
    padding: 0;
    cursor: pointer;
}

.tour-dot--active[b-z2qh2uhroj] {
    background: var(--accent);
}

.tour-footer-spacer[b-z2qh2uhroj] {
    flex: 1;
}

.tour-back-btn[b-z2qh2uhroj],
.tour-next-btn[b-z2qh2uhroj] {
    font-family: var(--font-ui);
    font-size: 14px;
    border-radius: var(--r);
    border: 1px solid var(--border2);
    padding: 8px 14px;
    cursor: pointer;
    background: var(--bg2);
    color: var(--ink);
}

.tour-back-btn:hover[b-z2qh2uhroj],
.tour-next-btn:hover[b-z2qh2uhroj] {
    background: var(--bg3);
}

.tour-next-btn[b-z2qh2uhroj] {
    background: var(--accent);
    color: var(--accent-text);
    border-color: var(--accent);
}

.tour-next-btn:hover[b-z2qh2uhroj] {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
}

/* -------------------------------------------------------------------------
   Directional pointer triangles.
   Each pointer is positioned on the card edge facing the target.
   The triangle is drawn via CSS borders on a zero-size element.
   --border2 approximates the card border color using token variables.
   ------------------------------------------------------------------------- */

.tour-pointer[b-z2qh2uhroj] {
    position: absolute;
    width: 0;
    height: 0;
    z-index: 1001;
}

/* Pointer on the LEFT edge of the card → points left toward the target.
   Card is to the RIGHT of the target. */
.tour-pointer--left[b-z2qh2uhroj] {
    left: -9px;
    top: 50%;
    transform: translateY(-50%);
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-right: 9px solid var(--border2);
}

.tour-pointer--left[b-z2qh2uhroj]::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: -8px;
    left: 2px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 8px solid var(--bg2);
}

/* Pointer on the RIGHT edge of the card → points right toward the target.
   Card is to the LEFT of the target. */
.tour-pointer--right[b-z2qh2uhroj] {
    right: -9px;
    top: 50%;
    transform: translateY(-50%);
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 9px solid var(--border2);
}

.tour-pointer--right[b-z2qh2uhroj]::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: -8px;
    right: 2px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 8px solid var(--bg2);
}

/* Pointer on the TOP edge of the card → points up toward the target.
   Card is BELOW the target. */
.tour-pointer--up[b-z2qh2uhroj] {
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 9px solid var(--border2);
}

.tour-pointer--up[b-z2qh2uhroj]::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 2px;
    left: -8px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid var(--bg2);
}

/* Pointer on the BOTTOM edge of the card → points down toward the target.
   Card is ABOVE the target. */
.tour-pointer--down[b-z2qh2uhroj] {
    bottom: -9px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 9px solid var(--border2);
}

.tour-pointer--down[b-z2qh2uhroj]::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    bottom: 2px;
    left: -8px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid var(--bg2);
}
/* /Components/PlanningCharacterCards.razor.rz.scp.css */
/* ============================================================
   PlanningCharacterCards — Horizontally scrollable character cards
   ============================================================ */

.pcc-container[b-l9sw5yd7d5] {
    display: flex;
    flex-direction: column;
}

.pcc-section-header[b-l9sw5yd7d5] {
    display: flex;
    align-items: center;
    padding: 12px 20px 10px;
    border-bottom: 1px solid var(--border);
}

.pcc-section-title[b-l9sw5yd7d5] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ---- Wrapping cards area ---- */

.pcc-cards-wrap[b-l9sw5yd7d5] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 20px;
    align-items: flex-start;
}

/* ---- Card wrapper (card + delete button overlay) ---- */

.pcc-card-wrap[b-l9sw5yd7d5] {
    position: relative;
    flex-shrink: 0;
}

.pcc-card-delete[b-l9sw5yd7d5] {
    display: none;
    position: absolute;
    top: 4px;
    right: 4px;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: var(--bg3);
    border: 1px solid var(--border2);
    border-radius: var(--r);
    color: var(--status-error);
    cursor: pointer;
    padding: 0;
    transition: background 150ms ease-in-out, color 150ms ease-in-out;
}

.pcc-card-wrap:hover .pcc-card-delete[b-l9sw5yd7d5] {
    display: flex;
}

.pcc-card-delete:hover[b-l9sw5yd7d5] {
    background: var(--status-error);
    color: var(--bg);
    border-color: var(--status-error);
}

/* ---- Card ---- */

.pcc-card[b-l9sw5yd7d5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 120px;
    height: 130px;
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    padding: 10px 8px 12px;
    cursor: pointer;
    text-align: center;
    transition: border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.pcc-card--no-image[b-l9sw5yd7d5] {
    height: 70px;
    justify-content: center;
}

.pcc-card:hover[b-l9sw5yd7d5] {
    border-color: var(--accent);
    background: var(--bg3);
}

.pcc-card--virtual[b-l9sw5yd7d5] {
    border-style: dashed;
    background: var(--bg);
}

.pcc-card--virtual .pcc-card-name[b-l9sw5yd7d5] {
    color: var(--ink2);
}

/* ---- Card image ---- */

.pcc-card-image[b-l9sw5yd7d5] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--bg3);
    display: flex;
    align-items: center;
    justify-content: center;
}

.pcc-card-img[b-l9sw5yd7d5] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pcc-card-placeholder[b-l9sw5yd7d5] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink3);
}

/* ---- Card body ---- */

.pcc-card-body[b-l9sw5yd7d5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    width: 100%;
}

.pcc-card-name[b-l9sw5yd7d5] {
    font-size: 0.825rem;
    font-weight: 600;
    color: var(--ink);
    word-break: break-word;
    text-align: center;
    line-height: 1.3;
}

.pcc-card-preview[b-l9sw5yd7d5] {
    font-size: 0.75rem;
    color: var(--ink2);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: center;
}

.pcc-card-virtual-badge[b-l9sw5yd7d5] {
    font-size: 0.7rem;
    color: var(--ink3);
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 1px 5px;
    margin-top: 2px;
}

/* ---- Add card ---- */

.pcc-add-card[b-l9sw5yd7d5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 120px;
    height: 130px;
    flex-shrink: 0;
    background: transparent;
    border: 1px dashed var(--border2);
    border-radius: var(--r-lg);
    color: var(--ink3);
    cursor: pointer;
    font-size: 0.75rem;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.pcc-add-card--no-image[b-l9sw5yd7d5] {
    height: 70px;
}

.pcc-add-card:hover:not(:disabled)[b-l9sw5yd7d5] {
    color: var(--accent);
    border-color: var(--accent);
    background: var(--bg2);
}

.pcc-add-card:disabled[b-l9sw5yd7d5] {
    opacity: 0.5;
    cursor: not-allowed;
}

.pcc-add-spinner[b-l9sw5yd7d5] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: pcc-spin-b-l9sw5yd7d5 0.7s linear infinite;
}

@keyframes pcc-spin-b-l9sw5yd7d5 {
    to { transform: rotate(360deg); }
}

/* ---- Empty ---- */

.pcc-empty-text[b-l9sw5yd7d5] {
    font-size: 0.875rem;
    color: var(--ink3);
    padding: 4px 0;
    font-style: italic;
}
/* /Components/PlanningChatPanel.razor.rz.scp.css */
.planning-chat-panel[b-13qtdv1x0m] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    outline: none;
    background: var(--bg2);
    border-left: 1px solid var(--border);
}

.planning-chat-header[b-13qtdv1x0m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.planning-chat-title[b-13qtdv1x0m] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: 0.2px;
}

.planning-chat-close-btn[b-13qtdv1x0m] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    flex-shrink: 0;
    transition: color 120ms ease, border-color 120ms ease;
}

.planning-chat-close-btn:hover[b-13qtdv1x0m] {
    color: var(--ink);
    border-color: var(--border2);
}

.planning-chat-messages[b-13qtdv1x0m] {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.chat-bubble-row[b-13qtdv1x0m] {
    display: flex;
}

.chat-bubble-row--ai[b-13qtdv1x0m] {
    justify-content: flex-start;
}

.chat-bubble-row--user[b-13qtdv1x0m] {
    justify-content: flex-end;
}

.chat-bubble[b-13qtdv1x0m] {
    max-width: 88%;
    padding: 9px 12px;
    font-size: 0.85rem;
    line-height: 1.55;
    word-break: break-word;
}

.chat-bubble--ai[b-13qtdv1x0m] {
    background: var(--accent-lt);
    color: var(--ink);
    border-radius: var(--r-lg) var(--r-lg) var(--r-lg) var(--r);
}

.chat-bubble--user[b-13qtdv1x0m] {
    background: var(--bg3);
    color: var(--ink);
    border-radius: var(--r-lg) var(--r-lg) var(--r) var(--r-lg);
}

.chat-bubble--review-outcome[b-13qtdv1x0m] {
    background: transparent;
    color: var(--ink2);
    font-size: 0.8rem;
    font-style: italic;
    line-height: 1.45;
    border-left: 2px solid var(--border2);
    border-radius: 0;
    padding: 6px 10px;
    max-width: 96%;
}

.chat-bubble-body[b-13qtdv1x0m] {
    min-width: 0;
}

.chat-bubble-body--markdown p[b-13qtdv1x0m] {
    margin: 0 0 0.5em 0;
}

.chat-bubble-body--markdown p:last-child[b-13qtdv1x0m] {
    margin-bottom: 0;
}

.chat-bubble-body--markdown ul[b-13qtdv1x0m],
.chat-bubble-body--markdown ol[b-13qtdv1x0m] {
    margin: 0.25em 0 0.5em 0;
    padding-left: 1.4em;
}

.chat-bubble-body--markdown li[b-13qtdv1x0m] {
    margin-bottom: 0.2em;
}

.chat-bubble-body--markdown strong[b-13qtdv1x0m] {
    font-weight: 600;
}

.chat-bubble-body--markdown em[b-13qtdv1x0m] {
    font-style: italic;
}

.chat-bubble-body--markdown code[b-13qtdv1x0m] {
    font-family: var(--font-editor);
    font-size: 0.8em;
    background: rgba(0, 0, 0, 0.12);
    border-radius: 3px;
    padding: 1px 4px;
}

.chat-bubble-body--markdown h1[b-13qtdv1x0m],
.chat-bubble-body--markdown h2[b-13qtdv1x0m],
.chat-bubble-body--markdown h3[b-13qtdv1x0m] {
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0.5em 0 0.25em 0;
}

.chat-bubble-body--markdown h1:first-child[b-13qtdv1x0m],
.chat-bubble-body--markdown h2:first-child[b-13qtdv1x0m],
.chat-bubble-body--markdown h3:first-child[b-13qtdv1x0m] {
    margin-top: 0;
}

.chat-bubble--thinking[b-13qtdv1x0m] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
}

.thinking-dot[b-13qtdv1x0m] {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent);
    animation: planning-thinking-bounce-b-13qtdv1x0m 0.9s ease-in-out infinite;
}

.thinking-dot--1[b-13qtdv1x0m] {
    animation-delay: 0s;
}

.thinking-dot--2[b-13qtdv1x0m] {
    animation-delay: 0.2s;
}

.thinking-dot--3[b-13qtdv1x0m] {
    animation-delay: 0.4s;
}

@keyframes planning-thinking-bounce-b-13qtdv1x0m {
    0%, 100% { transform: scale(0.8); opacity: 0.3; }
    50%       { transform: scale(1.0); opacity: 1.0; }
}

.thinking-label[b-13qtdv1x0m] {
    font-size: 0.78rem;
    color: var(--ink3);
    font-style: italic;
}

.planning-chat-input-area[b-13qtdv1x0m] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 10px 12px;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}

.planning-chat-textarea[b-13qtdv1x0m] {
    flex: 1;
    min-height: 72px;
    max-height: 240px;
    padding: 8px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.85rem;
    font-family: inherit;
    line-height: 1.5;
    resize: vertical;
    box-sizing: border-box;
    transition: border-color 150ms ease-in-out;
}

.planning-chat-textarea:focus[b-13qtdv1x0m] {
    outline: none;
    border-color: var(--accent);
}

.planning-chat-textarea:disabled[b-13qtdv1x0m] {
    opacity: 0.5;
    cursor: not-allowed;
    resize: none;
}

.planning-chat-textarea[b-13qtdv1x0m]::placeholder {
    color: var(--ink3);
}

.planning-chat-send-btn[b-13qtdv1x0m] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: var(--accent);
    border: none;
    border-radius: var(--r);
    color: #fff;
    cursor: pointer;
    transition: background 120ms ease, opacity 120ms ease;
}

.planning-chat-send-btn:hover:not(:disabled)[b-13qtdv1x0m] {
    background: var(--accent-hover);
}

.planning-chat-send-btn:disabled[b-13qtdv1x0m] {
    opacity: 0.45;
    cursor: not-allowed;
}

.planning-send-spinner[b-13qtdv1x0m] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: planning-send-spin-b-13qtdv1x0m 0.7s linear infinite;
}

@keyframes planning-send-spin-b-13qtdv1x0m {
    to { transform: rotate(360deg); }
}
/* /Components/PlanningEditEntityDialog.razor.rz.scp.css */
/* ============================================================
   PlanningEditEntityDialog — Quick-edit modal for reference entities
   ============================================================ */

/* Backdrop: override to guarantee screen-centered fixed overlay regardless of DOM position */

.modal-backdrop[b-2bf7ijjkp8] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
}

.peed-dialog[b-2bf7ijjkp8] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 680px;
    height: 90vh;
    max-height: 90vh;
    margin: 1rem;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in 150ms ease-in-out both;
}

/* ---- Header ---- */

.peed-header[b-2bf7ijjkp8] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 1.25rem 1.5rem 0;
    flex-shrink: 0;
}

.peed-title-input[b-2bf7ijjkp8] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    background: transparent;
    border: none;
    border-bottom: 1px solid transparent;
    font-family: inherit;
    padding: 2px 0;
    min-width: 0;
    flex: 1;
    transition: border-color 150ms ease-in-out;
}

.peed-title-input:focus[b-2bf7ijjkp8] {
    outline: none;
    border-bottom-color: var(--accent);
}

.peed-title-input[b-2bf7ijjkp8]::placeholder {
    color: var(--ink3);
    font-weight: 400;
}

.peed-title[b-2bf7ijjkp8] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.peed-header-actions[b-2bf7ijjkp8] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    margin-left: 8px;
}

.peed-header-icon-btn[b-2bf7ijjkp8] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.peed-header-icon-btn:hover[b-2bf7ijjkp8] {
    color: var(--accent);
    background: var(--bg3);
}

.peed-close-btn[b-2bf7ijjkp8] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.peed-close-btn:hover[b-2bf7ijjkp8] {
    color: var(--ink);
    background: var(--bg3);
}

/* ---- Header image (compact circle, left of name) ---- */

.peed-header-image-zone[b-2bf7ijjkp8] {
    flex-shrink: 0;
}

.peed-header-image[b-2bf7ijjkp8] {
    position: relative;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.peed-header-image-empty[b-2bf7ijjkp8] {
    background: var(--bg3);
    border: 1px dashed var(--border2);
    color: var(--ink3);
    cursor: pointer;
    transition: border-color 150ms ease-in-out, background 150ms ease-in-out, color 150ms ease-in-out;
}

.peed-header-image-empty:hover[b-2bf7ijjkp8] {
    border-color: var(--accent);
    background: var(--bg2);
    color: var(--accent);
}

.peed-header-img[b-2bf7ijjkp8] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%;
}

.peed-header-image-delete[b-2bf7ijjkp8] {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(42, 37, 32, 0.55);
    border: none;
    border-radius: 50%;
    color: #ffffff;
    cursor: pointer;
    padding: 0;
    opacity: 0;
    transition: opacity 150ms ease-in-out, background 150ms ease-in-out;
}

.peed-header-image:hover .peed-header-image-delete[b-2bf7ijjkp8] {
    opacity: 1;
}

.peed-header-image-delete:hover:not(:disabled)[b-2bf7ijjkp8] {
    background: rgba(0, 0, 0, 0.85);
}

.peed-header-image-spinner[b-2bf7ijjkp8] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: peed-spin-b-2bf7ijjkp8 0.7s linear infinite;
}

@keyframes peed-spin-b-2bf7ijjkp8 {
    to { transform: rotate(360deg); }
}

.peed-image-error[b-2bf7ijjkp8] {
    font-size: 0.8rem;
    color: var(--status-error);
    margin: 0;
    padding: 0 1.5rem;
    flex-shrink: 0;
}

/* Hidden InputFile — triggered via <label for="peed-image-input"> click and via JS drop handler */
.peed-image-file-input[b-2bf7ijjkp8] {
    display: none;
}

/* ---- Body ---- */

.peed-body[b-2bf7ijjkp8] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 1rem 1.5rem;
}

/* ---- Editor wrap ---- */

.peed-editor-wrap[b-2bf7ijjkp8] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--bg);
}

/* /Components/PlanningHistoryPanel.razor.rz.scp.css */
/* ============================================================
   PlanningHistoryPanel — Read-only plot-outline history view
   ============================================================ */

.php-panel[b-zntlepxc72] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ---- Full-width top header bar ---- */

.php-top-header[b-zntlepxc72] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    background: var(--bg2);
    flex-shrink: 0;
}

.php-title[b-zntlepxc72] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--ink2);
    font-family: var(--font-ui);
    letter-spacing: 0.04em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.php-close-btn[b-zntlepxc72] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
}

.php-close-btn:hover[b-zntlepxc72] {
    background: var(--bg3);
    color: var(--ink);
}

/* ---- Body — horizontal flex row ---- */

.php-body[b-zntlepxc72] {
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* ---- Versions column (narrow left sidebar) ---- */

.php-versions-col[b-zntlepxc72] {
    width: 220px;
    flex-shrink: 0;
    border-right: 1px solid var(--border);
    background: var(--bg2);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.php-list[b-zntlepxc72] {
    flex: 1;
    overflow-y: auto;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.php-sentinel[b-zntlepxc72] {
    height: 1px;
    flex-shrink: 0;
}

.php-loading-row[b-zntlepxc72] {
    padding: 8px 12px;
    font-size: 0.75rem;
    color: var(--ink3);
    font-family: var(--font-ui);
}

/* ---- Main content area (outline + world) ---- */

.php-main-cols[b-zntlepxc72] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ---- Past-version header bar ---- */

.php-preview-header[b-zntlepxc72] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 6px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
    font-family: var(--font-ui);
}

.php-preview-header.blocked[b-zntlepxc72] {
    background: color-mix(in srgb, var(--status-warning) 12%, transparent);
}

.php-preview-header-left[b-zntlepxc72] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.php-preview-label[b-zntlepxc72] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink3);
}

.php-preview-timestamp[b-zntlepxc72] {
    font-size: 0.8rem;
    color: var(--ink2);
}

/* ---- Restore button ---- */

.php-btn-restore[b-zntlepxc72] {
    padding: 5px 12px;
    background: var(--accent);
    color: #ffffff;
    border: none;
    border-radius: var(--r);
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    transition: background 150ms ease-in-out;
    flex-shrink: 0;
}

.php-btn-restore:hover:not(:disabled)[b-zntlepxc72] {
    background: var(--accent-hover);
}

.php-btn-restore.restoring[b-zntlepxc72] {
    opacity: 0.6;
    cursor: not-allowed;
}

.php-btn-restore.restoring[b-zntlepxc72]::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 6px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: php-restore-spin-b-zntlepxc72 0.7s linear infinite;
    vertical-align: middle;
}

@keyframes php-restore-spin-b-zntlepxc72 {
    to { transform: rotate(360deg); }
}

.php-btn-restore.disabled[b-zntlepxc72] {
    background: var(--bg3);
    color: var(--ink3);
    border: 1px solid var(--border);
    cursor: not-allowed;
}

/* ---- Content row (outline col + world col) ---- */

.php-content-row[b-zntlepxc72] {
    flex: 1;
    min-height: 0;
    display: flex;
    overflow: hidden;
}

/* ---- Plot outline column ---- */

.php-outline-col[b-zntlepxc72] {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    padding: 16px;
}

/* ---- Read-only plot outline ---- */

.php-outline[b-zntlepxc72] {
    display: flex;
    flex-direction: column;
}

.php-outline-empty[b-zntlepxc72] {
    padding: 20px;
    font-size: 0.875rem;
    color: var(--ink3);
}

/* ---- Scene row ---- */

.php-scene-row[b-zntlepxc72] {
    display: flex;
    flex-direction: column;
    padding: 10px 16px;
    border-bottom: 1px solid var(--border);
    border-left: 3px solid var(--border);
    background: var(--bg);
    gap: 6px;
}

.php-scene-row:last-child[b-zntlepxc72] {
    border-bottom: none;
}

.php-scene-top[b-zntlepxc72] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.php-scene-name[b-zntlepxc72] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ink);
    line-height: 1.4;
}

/* ---- Scene avatar circles (right-aligned, collapsed history row) ---- */

.php-scene-avatars[b-zntlepxc72] {
    display: flex;
    flex-direction: row;
    margin-left: auto;
    flex-shrink: 0;
    padding-left: 8px;
}

.php-scene-avatar[b-zntlepxc72] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid var(--bg);
    overflow: hidden;
    margin-left: -6px;
    flex-shrink: 0;
}

.php-scene-avatar:first-child[b-zntlepxc72] {
    margin-left: 0;
}

.php-scene-avatar-img[b-zntlepxc72] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.php-scene-avatar-initials[b-zntlepxc72] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    font-family: var(--font-ui);
}

/* ---- World column — hosts PlanningWorldBuilding ---- */

.php-world-col[b-zntlepxc72] {
    flex: 1;
    min-width: 0;
    border-left: 1px solid var(--border);
    overflow-y: auto;
}

/* ---- Read-only worldbuilding history view ---- */

.php-world-history[b-zntlepxc72] {
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.php-world-dim[b-zntlepxc72] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.php-world-dim-name[b-zntlepxc72] {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink2);
    font-family: var(--font-ui);
    font-weight: 600;
}

.php-world-empty[b-zntlepxc72] {
    font-size: 0.85rem;
    color: var(--ink2);
    font-family: var(--font-ui);
    font-style: italic;
}

.php-world-cards[b-zntlepxc72] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.php-world-card[b-zntlepxc72] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 72px;
}

.php-world-card-name[b-zntlepxc72] {
    font-size: 0.78rem;
    color: var(--ink);
    font-family: var(--font-ui);
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

/* ---- Restore confirm dialog pieces ---- */

.php-restore-timestamp[b-zntlepxc72] {
    font-size: 0.9rem;
    color: var(--ink2);
    font-family: var(--font-ui);
    margin-bottom: 12px;
}

.php-restore-callout[b-zntlepxc72] {
    padding: 10px 12px;
    border-radius: var(--r);
    background: color-mix(in srgb, var(--status-warning) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--status-warning) 40%, transparent);
    font-size: 0.85rem;
    font-family: var(--font-ui);
    color: var(--ink);
    line-height: 1.5;
}
/* /Components/PlanningPlotOutline.razor.rz.scp.css */
/* ============================================================
   PlanningPlotOutline — Plot outline / scene list
   ============================================================ */

.ppo-container[b-sfq9ubewdk] {
    display: flex;
    flex-direction: column;
}

.ppo-section-header[b-sfq9ubewdk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 46px;
    padding: 6px 20px;
    border-bottom: 1px solid var(--border);
    box-sizing: border-box;
}

.ppo-section-title[b-sfq9ubewdk] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ---- Empty state ---- */

.ppo-empty[b-sfq9ubewdk] {
    padding: 20px;
}

.ppo-empty-text[b-sfq9ubewdk] {
    font-size: 0.875rem;
    color: var(--ink3);
}

/* ---- Scene list ---- */

.ppo-scene-list[b-sfq9ubewdk] {
    display: flex;
    flex-direction: column;
}

.ppo-scene-row[b-sfq9ubewdk] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--border);
    border-left: 3px solid transparent;
    background: var(--bg);
    transition: background 100ms ease-in-out, border-left-color 100ms ease-in-out;
    cursor: pointer;
}

.ppo-scene-row:last-child[b-sfq9ubewdk] {
    border-bottom: none;
}

.ppo-scene-row:hover[b-sfq9ubewdk] {
    background: var(--bg2);
}

.ppo-scene-row--expanded[b-sfq9ubewdk] {
    border-left-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 6%, var(--bg));
    cursor: default;
}

.ppo-scene-row--expanded:hover[b-sfq9ubewdk] {
    background: color-mix(in srgb, var(--accent) 8%, var(--bg));
}

.ppo-scene-row--drag-over[b-sfq9ubewdk] {
    background: var(--bg3);
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}

.ppo-drag-handle[b-sfq9ubewdk] {
    color: var(--ink3);
    padding-top: 6px;
    flex-shrink: 0;
    cursor: grab;
    touch-action: none;
}

.ppo-drag-handle:active[b-sfq9ubewdk] {
    cursor: grabbing;
}

/* ---- Scene content ---- */

.ppo-scene-content[b-sfq9ubewdk] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ppo-scene-top[b-sfq9ubewdk] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ppo-status-dot[b-sfq9ubewdk] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.ppo-scene-name[b-sfq9ubewdk] {
    flex: 1;
    min-width: 0;
    color: var(--ink);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Expanded-row title doubles as the collapse target (mirrors the click-to-expand). */
.ppo-scene-name--collapsible[b-sfq9ubewdk] {
    cursor: pointer;
}

/* ---- Inline name input (expanded row) ---- */

.ppo-scene-name-input[b-sfq9ubewdk] {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    padding: 0 0 2px 0;
    color: var(--ink);
    font-size: 0.9rem;
    font-weight: 500;
    font-family: inherit;
    line-height: 1.4;
    outline: none;
    transition: border-bottom-color 120ms ease-in-out;
}

.ppo-scene-name-input:focus[b-sfq9ubewdk] {
    border-bottom-color: var(--accent);
}

.ppo-scene-name-input[b-sfq9ubewdk]::placeholder {
    color: var(--ink3);
}

/* ---- Inline description textarea (expanded row) ---- */

.ppo-scene-description-edit[b-sfq9ubewdk] {
    width: 100%;
    box-sizing: border-box;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    padding: 4px 6px;
    color: var(--ink2);
    font-size: 0.825rem;
    font-family: inherit;
    line-height: 1.5;
    resize: none;
    field-sizing: content;
    outline: none;
    transition: border-color 120ms ease-in-out;
    margin-left: -6px;
}

.ppo-scene-description-edit:focus[b-sfq9ubewdk] {
    border-color: var(--border2);
    background: var(--bg2);
}

.ppo-scene-description-edit[b-sfq9ubewdk]::placeholder {
    color: var(--ink3);
}

/* ---- Inline scene detail section ---- */

.ppo-scene-detail-inline[b-sfq9ubewdk] {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid var(--border);
    width: 100%;
}

/* ---- Per-board section header (shown inside expanded row when multiple boards) ---- */

.ppo-board-section-header[b-sfq9ubewdk] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ink2);
    padding: 4px 0 6px;
    margin-bottom: 2px;
}

/* ---- Open-in-Writing button (visible on row hover, only for entity-backed scenes) ---- */

.ppo-open-btn[b-sfq9ubewdk] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    transition: opacity 150ms ease-in-out, color 150ms ease-in-out, background 150ms ease-in-out;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}

.ppo-scene-row:hover .ppo-open-btn[b-sfq9ubewdk] {
    opacity: 1;
    pointer-events: auto;
}

.ppo-open-btn:hover[b-sfq9ubewdk] {
    color: var(--accent);
    background: var(--bg3);
}

/* Always visible in expanded row */
.ppo-open-btn--visible[b-sfq9ubewdk] {
    opacity: 1;
    pointer-events: auto;
}

.ppo-open-btn--visible:hover[b-sfq9ubewdk] {
    color: var(--accent);
}

/* ---- Delete button (visible on row hover) ---- */

.ppo-delete-btn[b-sfq9ubewdk] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    transition: opacity 150ms ease-in-out, color 150ms ease-in-out, background 150ms ease-in-out;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}

.ppo-scene-row:hover .ppo-delete-btn[b-sfq9ubewdk] {
    opacity: 1;
    pointer-events: auto;
}

.ppo-delete-btn:hover[b-sfq9ubewdk] {
    color: var(--status-error);
    background: var(--bg3);
}

/* Always visible in expanded row */
.ppo-delete-btn--visible[b-sfq9ubewdk] {
    opacity: 1;
    pointer-events: auto;
}

.ppo-delete-btn--visible:hover[b-sfq9ubewdk] {
    color: var(--status-error);
}

/* ---- Rename (pencil) button — revealed on hover over the expanded row ---- */

.ppo-edit-btn[b-sfq9ubewdk] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    padding: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 150ms ease-in-out, color 150ms ease-in-out, background 150ms ease-in-out;
}

.ppo-scene-row:hover .ppo-edit-btn[b-sfq9ubewdk] {
    opacity: 1;
    pointer-events: auto;
}

.ppo-edit-btn:hover[b-sfq9ubewdk] {
    color: var(--accent);
    background: var(--bg3);
}

/* ---- Description paragraph (read-only, collapsed row) ---- */

.ppo-scene-description[b-sfq9ubewdk] {
    margin: 0;
    color: var(--ink2);
    font-size: 0.8rem;
    font-family: inherit;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---- Scene avatar circles (collapsed row, right-aligned) ---- */

.ppo-scene-avatars[b-sfq9ubewdk] {
    display: flex;
    flex-direction: row;
    margin-left: auto;
    flex-shrink: 0;
    padding-left: 8px;
}

.ppo-scene-avatar[b-sfq9ubewdk] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid var(--bg);
    overflow: hidden;
    margin-left: -6px;
    flex-shrink: 0;
}

.ppo-scene-avatar:first-child[b-sfq9ubewdk] {
    margin-left: 0;
}

.ppo-scene-avatar-img[b-sfq9ubewdk] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ppo-scene-avatar-initials[b-sfq9ubewdk] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    font-family: var(--font-ui);
}

/* ---- Add row ---- */

.ppo-add-row[b-sfq9ubewdk] {
    padding: 10px 20px;
}

.ppo-add-btn[b-sfq9ubewdk] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: transparent;
    color: var(--ink2);
    border: 1px dashed var(--border2);
    border-radius: var(--r);
    font-size: 0.825rem;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.ppo-add-btn:hover:not(:disabled)[b-sfq9ubewdk] {
    color: var(--accent);
    border-color: var(--accent);
    background: var(--bg2);
}

.ppo-add-btn:disabled[b-sfq9ubewdk] {
    opacity: 0.5;
    cursor: not-allowed;
}

.ppo-add-spinner[b-sfq9ubewdk] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: ppo-spin-b-sfq9ubewdk 0.7s linear infinite;
}

@keyframes ppo-spin-b-sfq9ubewdk {
    to { transform: rotate(360deg); }
}
/* /Components/PlanningSceneDetail.razor.rz.scp.css */
/* ============================================================
   PlanningSceneDetail — Per-scene character notes panel
   ============================================================ */

.psd-container[b-7gz3l86uk6] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: var(--bg);
}

/* ---- Body ---- */

.psd-body[b-7gz3l86uk6] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ---- Sections ---- */

.psd-section[b-7gz3l86uk6] {
    display: flex;
    flex-direction: column;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border);
}

.psd-section:last-child[b-7gz3l86uk6] {
    border-bottom: none;
}

.psd-section-label[b-7gz3l86uk6] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

/* ---- Character block (present) ---- */

.psd-character-block[b-7gz3l86uk6] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

.psd-character-block:last-child[b-7gz3l86uk6] {
    margin-bottom: 0;
}

.psd-character-header[b-7gz3l86uk6] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.psd-character-name[b-7gz3l86uk6] {
    font-size: 0.825rem;
    font-weight: 600;
    color: var(--ink);
    flex: 1;
    min-width: 0;
}

/* Remove-from-scene button — hover-visible × */

.psd-char-remove-btn[b-7gz3l86uk6] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    margin-left: auto;
    background: transparent;
    border: none;
    border-radius: 3px;
    color: var(--ink3);
    cursor: pointer;
    flex-shrink: 0;
    transition: color 120ms ease-in-out;
}

.psd-character-header:hover .psd-char-remove-btn[b-7gz3l86uk6] {
    display: flex;
}

.psd-char-remove-btn:hover[b-7gz3l86uk6] {
    color: var(--status-error);
}

/* ---- Ghost tiles (absent characters) ---- */

.psd-ghost-row[b-7gz3l86uk6] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.psd-ghost-tile[b-7gz3l86uk6] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    background: transparent;
    border: 1px dashed var(--border2);
    border-radius: var(--r);
    color: var(--ink2);
    font-size: 0.8rem;
    cursor: pointer;
    opacity: 0.55;
    transition: opacity 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.psd-ghost-tile:hover:not(:disabled)[b-7gz3l86uk6] {
    opacity: 1;
    border-color: var(--accent);
    background: var(--bg2);
}

.psd-ghost-tile:disabled[b-7gz3l86uk6] {
    cursor: wait;
    opacity: 0.35;
}

.psd-ghost-name[b-7gz3l86uk6] {
    font-size: 0.8rem;
    color: var(--ink2);
}

/* ---- Empty state ---- */

.psd-empty[b-7gz3l86uk6] {
    padding: 20px 16px;
}

.psd-empty-text[b-7gz3l86uk6] {
    font-size: 0.875rem;
    color: var(--ink3);
}
/* /Components/PlanningSurface.razor.rz.scp.css */
.pl-surface[b-5fmry1b379] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: var(--bg);
    overflow: hidden;
}

.pl-header[b-5fmry1b379] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-bottom: 1px solid var(--border);
    background: var(--bg2);
    flex-shrink: 0;
}

.pl-title[b-5fmry1b379] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: 0.2px;
}

.pl-exit-btn[b-5fmry1b379] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: transparent;
    color: var(--ink2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    font-size: 0.825rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.pl-exit-btn:hover[b-5fmry1b379] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

.pl-loading[b-5fmry1b379] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pl-spinner[b-5fmry1b379] {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: pl-spin-b-5fmry1b379 0.7s linear infinite;
}

@keyframes pl-spin-b-5fmry1b379 {
    to { transform: rotate(360deg); }
}

.pl-empty-state[b-5fmry1b379] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px;
    text-align: center;
}

.pl-empty-title[b-5fmry1b379] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.pl-empty-body[b-5fmry1b379] {
    font-size: 0.875rem;
    color: var(--ink2);
    margin: 0;
    max-width: 340px;
    line-height: 1.5;
}

.pl-content-with-chat[b-5fmry1b379] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    position: relative;
}

.pl-sections[b-5fmry1b379] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: row;
    overflow: hidden;
}

.pl-col-scenes[b-5fmry1b379] {
    flex: 0 0 45%;
    min-width: 0;
    overflow-y: auto;
    border-right: 1px solid var(--border);
}

.pl-col-right[b-5fmry1b379] {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.pl-col-right-section[b-5fmry1b379] {
    border-bottom: 1px solid var(--border);
}

.pl-col-right-section:last-child[b-5fmry1b379] {
    border-bottom: none;
    flex: 1;
}

@media (max-width: 799px) {
    .pl-sections[b-5fmry1b379] {
        flex-direction: column;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .pl-col-scenes[b-5fmry1b379] {
        flex: none;
        overflow-y: visible;
        border-right: none;
        border-bottom: 1px solid var(--border);
    }

    .pl-col-right[b-5fmry1b379] {
        flex: none;
        overflow-y: visible;
    }

    .pl-col-right-section[b-5fmry1b379] {
        border-bottom: 1px solid var(--border);
    }

    .pl-col-right-section:last-child[b-5fmry1b379] {
        border-bottom: none;
        flex: none;
    }
}

.pl-chat-drawer[b-5fmry1b379] {
    width: 640px;
    min-width: 640px;
    max-width: 640px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-left: 1px solid var(--border);
    background: var(--bg2);
    overflow: hidden;
}

.pl-floating-btns[b-5fmry1b379] {
    position: absolute;
    top: 6px;
    right: 16px;
    display: flex;
    gap: 6px;
    align-items: center;
    z-index: 10;
}

.pl-chat-toggle-btn[b-5fmry1b379] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: var(--bg2);
    color: var(--ink2);
    border: 1px solid var(--border2);
    border-radius: var(--r);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.pl-chat-toggle-btn:hover[b-5fmry1b379] {
    color: var(--ink);
    border-color: var(--accent);
    background: var(--bg3);
}

.pl-history-toggle-btn[b-5fmry1b379] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: var(--bg2);
    color: var(--ink2);
    border: 1px solid var(--border2);
    border-radius: var(--r);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.pl-history-toggle-btn:hover[b-5fmry1b379] {
    color: var(--ink);
    border-color: var(--accent);
    background: var(--bg3);
}

@media (max-width: 799px) {
    .pl-chat-drawer[b-5fmry1b379] {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        z-index: 20;
    }

    .pl-floating-btns[b-5fmry1b379] {
        top: 4px;
        right: 12px;
    }
}
/* /Components/PlanningWorldBuilding.razor.rz.scp.css */
/* ============================================================
   PlanningWorldBuilding — Reference dimension cards
   ============================================================ */

.pwb-container[b-74absyy54w] {
    display: flex;
    flex-direction: column;
    min-height: 160px;
}

.pwb-section-header[b-74absyy54w] {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 6px 20px;
    border-bottom: 1px solid var(--border);
    box-sizing: border-box;
}

.pwb-section-title[b-74absyy54w] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ---- Loading ---- */

.pwb-loading[b-74absyy54w] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.pwb-spinner[b-74absyy54w] {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: pwb-spin-b-74absyy54w 0.7s linear infinite;
}

@keyframes pwb-spin-b-74absyy54w {
    to { transform: rotate(360deg); }
}

/* ---- Empty state ---- */

.pwb-empty[b-74absyy54w] {
    padding: 16px 20px;
}

.pwb-empty-text[b-74absyy54w] {
    font-size: 0.825rem;
    color: var(--ink3);
    font-style: italic;
    line-height: 1.5;
}

/* ---- Dimension groups ---- */

.pwb-dimension-list[b-74absyy54w] {
    display: flex;
    flex-direction: column;
}

.pwb-dim-group[b-74absyy54w] {
    border-bottom: 1px solid var(--border);
}

.pwb-dim-group:last-child[b-74absyy54w] {
    border-bottom: none;
}

.pwb-dim-header[b-74absyy54w] {
    padding: 10px 20px 4px;
}

.pwb-dim-name[b-74absyy54w] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink2);
}

/* ---- Wrapping cards row ---- */

.pwb-dim-scroll-row[b-74absyy54w] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 20px 14px;
    align-items: flex-start;
}

/* ---- Card wrapper (card + delete overlay) ---- */

.pwb-card-wrap[b-74absyy54w] {
    position: relative;
    flex-shrink: 0;
}

.pwb-card-delete[b-74absyy54w] {
    display: none;
    position: absolute;
    top: 3px;
    right: 3px;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: var(--bg3);
    border: 1px solid var(--border2);
    border-radius: 3px;
    color: var(--status-error);
    cursor: pointer;
    padding: 0;
    transition: background 150ms ease-in-out, color 150ms ease-in-out;
}

.pwb-card-wrap:hover .pwb-card-delete[b-74absyy54w] {
    display: flex;
}

.pwb-card-delete:hover[b-74absyy54w] {
    background: var(--status-error);
    color: var(--bg);
    border-color: var(--status-error);
}

/* ---- Entity card ---- */

.pwb-entity-card[b-74absyy54w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 90px;
    height: 124px;
    box-sizing: border-box;
    overflow: hidden;
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    padding: 8px 6px 10px;
    cursor: pointer;
    text-align: center;
    transition: border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.pwb-entity-card:hover[b-74absyy54w] {
    border-color: var(--accent);
    background: var(--bg3);
}

/* ---- Entity name ---- */

.pwb-entity-name[b-74absyy54w] {
    font-size: 0.775rem;
    font-weight: 500;
    color: var(--ink);
    word-break: break-word;
    text-align: center;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 100%;
}

/* ---- Add card ---- */

.pwb-add-card[b-74absyy54w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 90px;
    height: 124px;
    box-sizing: border-box;
    flex-shrink: 0;
    background: transparent;
    border: 1px dashed var(--border2);
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    font-size: 0.75rem;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.pwb-add-card:hover:not(:disabled)[b-74absyy54w] {
    color: var(--accent);
    border-color: var(--accent);
    background: var(--bg2);
}

.pwb-add-card:disabled[b-74absyy54w] {
    opacity: 0.5;
    cursor: not-allowed;
}

.pwb-add-spinner[b-74absyy54w] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: pwb-spin-b-74absyy54w 0.7s linear infinite;
}
/* /Components/PrerequisiteExtractionDialog.razor.rz.scp.css */
/* ============================================================
   PrerequisiteExtractionDialog — Lists sources needing extraction
   ============================================================ */

.modal-backdrop[b-c3dksbczmd] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: prereq-backdrop-fade-in-b-c3dksbczmd 150ms ease-in-out both;
}

@keyframes prereq-backdrop-fade-in-b-c3dksbczmd {
    from { opacity: 0; }
    to { opacity: 1; }
}

.modal-dialog[b-c3dksbczmd] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 480px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: prereq-dialog-slide-in-b-c3dksbczmd 150ms ease-in-out both;
}

@keyframes prereq-dialog-slide-in-b-c3dksbczmd {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-c3dksbczmd] {
    padding: 1.25rem 1.5rem 0;
}

.modal-title[b-c3dksbczmd] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-body[b-c3dksbczmd] {
    padding: 1rem 1.5rem;
    max-height: 400px;
    overflow-y: auto;
}

.modal-message[b-c3dksbczmd] {
    font-size: 0.9rem;
    color: var(--ink2);
    line-height: 1.6;
    margin: 0 0 1rem;
}

.modal-footer[b-c3dksbczmd] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
}

/* ---- Board groups ---- */

.prerequisite-board-group[b-c3dksbczmd] {
    margin-bottom: 0.75rem;
}

.prerequisite-board-name[b-c3dksbczmd] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 4px;
}

.prerequisite-source-list[b-c3dksbczmd] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.prerequisite-source-list li[b-c3dksbczmd] {
    font-size: 0.85rem;
    color: var(--ink);
    padding: 4px 0 4px 12px;
    position: relative;
}

.prerequisite-source-list li[b-c3dksbczmd]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 4px;
    background: var(--ink3);
    border-radius: 50%;
    transform: translateY(-50%);
}

/* ---- Extracting indicator ---- */

.prerequisite-extracting-indicator[b-c3dksbczmd] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--accent);
}

.prerequisite-spinner[b-c3dksbczmd] {
    animation: prereq-spin-b-c3dksbczmd 1s linear infinite;
}

@keyframes prereq-spin-b-c3dksbczmd {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* /Components/PricingDialog.razor.rz.scp.css */
/* ============================================================
   PricingDialog — modal host for the shared PricingMatrix,
   opened from the avatar dropdown.
   ============================================================ */

.pricing-modal-backdrop[b-w2g5xa9k56] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    animation: pricing-backdrop-fade-in-b-w2g5xa9k56 150ms ease-in-out both;
}

@keyframes pricing-backdrop-fade-in-b-w2g5xa9k56 {
    from { opacity: 0; }
    to { opacity: 1; }
}

.pricing-modal-dialog[b-w2g5xa9k56] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 960px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    outline: none;
    animation: pricing-dialog-slide-in-b-w2g5xa9k56 150ms ease-in-out both;
}

@keyframes pricing-dialog-slide-in-b-w2g5xa9k56 {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

.pricing-modal-header[b-w2g5xa9k56] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.pricing-modal-title[b-w2g5xa9k56] {
    font-family: var(--font-editor);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.pricing-modal-close[b-w2g5xa9k56] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: var(--ink2);
    border-radius: var(--r);
    cursor: pointer;
    transition: background 150ms ease-in-out, color 150ms ease-in-out;
}

.pricing-modal-close:hover[b-w2g5xa9k56] {
    background: var(--bg3);
    color: var(--ink);
}

.pricing-modal-body[b-w2g5xa9k56] {
    overflow-y: auto;
}

/* The shared matrix carries full-page landing spacing (56px section padding, 6vw gutters,
   44px price type, an 8-row feature list); tighten every vertical metric so the dialog
   fits without scrolling. ::deep reaches the matrix's elements past the .landing wrapper. */
.pricing-modal-body[b-w2g5xa9k56]  .sec {
    padding: 16px 0 18px;
}

.pricing-modal-body[b-w2g5xa9k56]  .wrap {
    padding: 0 28px;
}

.pricing-modal-body[b-w2g5xa9k56]  .sec-head {
    margin-bottom: 16px;
}

.pricing-modal-body[b-w2g5xa9k56]  .sec-head h2 {
    font-size: 1.35rem;
}

.pricing-modal-body[b-w2g5xa9k56]  .sec-head h2::after {
    margin-top: 8px;
}

.pricing-modal-body[b-w2g5xa9k56]  .sec-head .p {
    margin-top: 6px;
    font-size: 14px;
}

/* The lifted recommended card adds height and pokes past the others; flatten it here. */
.pricing-modal-body[b-w2g5xa9k56]  .plan {
    padding: 20px 22px;
}

.pricing-modal-body[b-w2g5xa9k56]  .plan.rec {
    transform: none;
}

.pricing-modal-body[b-w2g5xa9k56]  .plan .price {
    font-size: 34px;
}

.pricing-modal-body[b-w2g5xa9k56]  .plan .pname {
    font-size: 19px;
}

.pricing-modal-body[b-w2g5xa9k56]  .plan .desc {
    margin: 8px 0 14px;
    min-height: 0;
}

.pricing-modal-body[b-w2g5xa9k56]  .plan ul {
    margin-top: 14px;
    gap: 7px;
}

.pricing-modal-body[b-w2g5xa9k56]  .plan .pbtn {
    padding-top: 9px;
    padding-bottom: 9px;
}

.pricing-modal-body[b-w2g5xa9k56]  .pricing .note {
    margin-top: 16px;
    font-size: 14px;
}

@media (max-width: 900px) {
    .pricing-modal-body[b-w2g5xa9k56]  .sec {
        padding: 14px 0 16px;
    }

    .pricing-modal-body[b-w2g5xa9k56]  .wrap {
        padding: 0 16px;
    }
}

/* The shared matrix is built for the always-light landing page: its card surface
   (--paper) and the recommended card's text are hardcoded light tones. Inside this
   dialog the matrix inherits the user's app theme, so under a dark theme those land
   light-on-light. Re-point the surface to a theme-aware elevation and pair the
   recommended (accent-backed) card with the theme's accent foreground. */
.pricing-modal-body[b-w2g5xa9k56]  .landing {
    --paper: var(--bg);
}

.pricing-modal-body[b-w2g5xa9k56]  .plan.rec,
.pricing-modal-body[b-w2g5xa9k56]  .plan.rec .pname,
.pricing-modal-body[b-w2g5xa9k56]  .plan.rec .price,
.pricing-modal-body[b-w2g5xa9k56]  .plan.rec li .c {
    color: var(--accent-text);
}

.pricing-modal-body[b-w2g5xa9k56]  .plan.rec .price small,
.pricing-modal-body[b-w2g5xa9k56]  .plan.rec .per,
.pricing-modal-body[b-w2g5xa9k56]  .plan.rec .desc,
.pricing-modal-body[b-w2g5xa9k56]  .plan.rec li {
    color: color-mix(in srgb, var(--accent-text) 78%, transparent);
}

/* The badge sits on the accent-backed recommended card; under a dark theme its
   own --daylight background collides with the accent. Invert it to the accent
   pairing so it contrasts the card in every theme. */
.pricing-modal-body[b-w2g5xa9k56]  .plan .badge {
    background: var(--accent-text);
    color: var(--accent);
}
/* /Components/ProjectLockOverlay.razor.rz.scp.css */
.project-lock-overlay[b-br5wc5wo81] {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--bg2) 88%, transparent);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50;
}

.lock-card[b-br5wc5wo81] {
    max-width: 440px;
    padding: 2rem 2.25rem;
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    text-align: center;
}

.lock-icon[b-br5wc5wo81] {
    width: 48px;
    height: 48px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: var(--bg3);
    display: flex;
    align-items: center;
    justify-content: center;
}

.lock-spinner[b-br5wc5wo81] {
    width: 28px;
    height: 28px;
    border: 3px solid var(--border2);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: lock-spin-b-br5wc5wo81 1.2s linear infinite;
}

@keyframes lock-spin-b-br5wc5wo81 {
    to { transform: rotate(360deg); }
}

.lock-heading[b-br5wc5wo81] {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0 0 0.6rem;
    font-family: var(--font-editor, "Georgia", serif);
}

.lock-body[b-br5wc5wo81] {
    font-size: 0.92rem;
    color: var(--ink2);
    line-height: 1.6;
    margin: 0 0 1.25rem;
}

.lock-button[b-br5wc5wo81] {
    padding: 0.65rem 1.5rem;
    background: var(--accent);
    color: #ffffff;
    border: none;
    border-radius: var(--r);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms ease-in-out;
    min-height: 40px;
}

.lock-button:hover[b-br5wc5wo81] { background: var(--accent-hover); }

.lock-secondary[b-br5wc5wo81] {
    margin-top: 1rem;
    font-size: 0.8rem;
    color: var(--ink3);
    margin-bottom: 0;
}
/* /Components/ProjectTemplateCard.razor.rz.scp.css */
/* ============================================================
   ProjectTemplateCard — Selectable project template card
   ============================================================ */

.project-template-card[b-8z76c0cpl5] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 14px 14px 16px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    cursor: pointer;
    text-align: left;
    outline: none;
    user-select: none;
    position: relative;
    transition: border-color 150ms ease-in-out,
                box-shadow 150ms ease-in-out,
                background 150ms ease-in-out;
    min-height: 80px;
}

.project-template-card:hover[b-8z76c0cpl5] {
    border-color: var(--accent);
    background: var(--accent-lt);
}

.project-template-card--selected[b-8z76c0cpl5] {
    border-color: var(--accent-hover);
    box-shadow: 0 0 0 2px var(--accent-lt);
}

.project-template-card:focus-visible[b-8z76c0cpl5] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

/* ---- Icon ---- */

.ptc-icon[b-8z76c0cpl5] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--ink2);
    width: 36px;
    height: 36px;
    margin-top: 2px;
}

.ptc-icon[b-8z76c0cpl5]  svg {
    width: 32px;
    height: 32px;
}

/* ---- Body ---- */

.ptc-body[b-8z76c0cpl5] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.ptc-title[b-8z76c0cpl5] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.3;
}

.ptc-description[b-8z76c0cpl5] {
    font-size: 0.775rem;
    color: var(--ink2);
    line-height: 1.45;
}

/* ---- Checkmark badge ---- */

.ptc-checkmark[b-8z76c0cpl5] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background: var(--accent-hover);
    border-radius: 50%;
    color: #ffffff;
    margin-left: 4px;
    margin-top: 2px;
}
/* /Components/Publish/CoverImagePicker.razor.rz.scp.css */
/* InputFile is permanently mounted (display:none) so the JS-side file map survives state switches */

.cip-file-input[b-vu0lycpw3n] {
    display: none;
}

.cip-drop-zone[b-vu0lycpw3n] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 1.5rem 1rem;
    min-height: 140px;
    background: var(--bg3);
    border: 1px dashed var(--border2);
    border-radius: var(--r-lg);
    cursor: pointer;
    text-align: center;
    color: var(--ink2);
    transition: border-color 150ms ease-in-out, background 150ms ease-in-out;
    box-sizing: border-box;
}

.cip-drop-zone:hover[b-vu0lycpw3n] {
    border-color: var(--accent);
    background: var(--bg2);
}

.cip-drop-zone--dragover[b-vu0lycpw3n] {
    border-color: var(--accent);
    background: var(--accent-lt);
}

.cip-drop-text[b-vu0lycpw3n] {
    font-size: 0.875rem;
    color: var(--ink2);
}

.cip-upload-icon[b-vu0lycpw3n] {
    color: var(--ink3);
    flex-shrink: 0;
}

.cip-format-hint[b-vu0lycpw3n] {
    font-size: 0.75rem;
    color: var(--ink3);
    margin: 0.25rem 0 0;
}

.cip-uploading[b-vu0lycpw3n] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0.75rem 0;
    color: var(--ink2);
    font-size: 0.875rem;
    min-height: 140px;
}

.cip-uploading-text[b-vu0lycpw3n] {
    color: var(--ink2);
    font-size: 0.875rem;
}

.cip-spinner[b-vu0lycpw3n] {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid var(--border);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: cip-spin-b-vu0lycpw3n 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes cip-spin-b-vu0lycpw3n {
    to { transform: rotate(360deg); }
}

.cip-thumbnail-wrap[b-vu0lycpw3n] {
    position: relative;
    width: 120px;
    margin: 10px auto 0;
}

.cip-thumbnail-container[b-vu0lycpw3n] {
    width: 120px;
    aspect-ratio: 2 / 3;
    border-radius: var(--r);
    border: 1px solid var(--border);
    overflow: hidden;
    flex-shrink: 0;
    cursor: pointer;
}

.cip-thumbnail-img[b-vu0lycpw3n] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cip-remove-btn[b-vu0lycpw3n] {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: 50%;
    cursor: pointer;
    color: var(--ink);
    opacity: 0;
    transition: opacity 150ms ease-in-out, background 150ms ease-in-out, color 150ms ease-in-out, border-color 150ms ease-in-out;
    padding: 0;
}

.cip-thumbnail-wrap:hover .cip-remove-btn[b-vu0lycpw3n] {
    opacity: 1;
}

.cip-remove-btn:hover[b-vu0lycpw3n] {
    background: var(--status-error);
    border-color: var(--status-error);
    color: var(--ink);
    opacity: 1;
}

.cip-remove-btn:disabled[b-vu0lycpw3n] {
    cursor: not-allowed;
    opacity: 0.5;
}

.cip-skeleton[b-vu0lycpw3n] {
    width: 120px;
    aspect-ratio: 2 / 3;
    border-radius: var(--r);
    background: var(--bg3);
    animation: cip-shimmer-b-vu0lycpw3n 1.5s ease-in-out infinite;
    margin: 0 auto;
}

@keyframes cip-shimmer-b-vu0lycpw3n {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.45; }
}

.cip-error-text[b-vu0lycpw3n] {
    color: var(--status-error);
    font-size: 0.8rem;
    margin: 0.4rem 0 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.cip-retry-link[b-vu0lycpw3n] {
    background: none;
    border: none;
    padding: 0;
    color: var(--accent);
    font-size: 0.8rem;
    cursor: pointer;
    text-decoration: underline;
}

.cip-retry-link:hover[b-vu0lycpw3n] {
    color: var(--accent-hover);
}
/* /Components/Publish/PublishModal.razor.rz.scp.css */
.pm-backdrop[b-t3yqja0czo] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: pm-backdrop-in-b-t3yqja0czo 150ms ease-in-out both;
}

@keyframes pm-backdrop-in-b-t3yqja0czo {
    from { opacity: 0; }
    to { opacity: 1; }
}

.pm-dialog[b-t3yqja0czo] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: 10px;
    width: 100%;
    max-width: 520px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    max-height: 90vh;
    animation: pm-dialog-in-b-t3yqja0czo 150ms ease-in-out both;
}

@keyframes pm-dialog-in-b-t3yqja0czo {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pm-header[b-t3yqja0czo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem 1rem;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.pm-title[b-t3yqja0czo] {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0;
}

.pm-close-btn[b-t3yqja0czo] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
    flex-shrink: 0;
}

.pm-close-btn:hover[b-t3yqja0czo] {
    color: var(--ink);
    background: var(--bg3);
}

.pm-body[b-t3yqja0czo] {
    flex: 1;
    overflow-y: auto;
    padding: 1.25rem 1.5rem;
    min-height: 80px;
}

.pm-book-picker[b-t3yqja0czo] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    margin: 0 1rem;
    min-width: 0;
}

.pm-book-picker-label[b-t3yqja0czo] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ink2);
    flex-shrink: 0;
}

.pm-select--inline[b-t3yqja0czo] {
    flex: 1;
    min-width: 0;
    padding: 0.35rem 0.55rem;
    font-size: 0.875rem;
}

.pm-section-hint[b-t3yqja0czo] {
    font-size: 0.875rem;
    color: var(--ink2);
    margin: 0 0 1rem;
}

.pm-format-options[b-t3yqja0czo] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.pm-format-btn[b-t3yqja0czo] {
    flex: 1 1 140px;
    min-width: 130px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 1.25rem 1.75rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    cursor: pointer;
    transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out, background 150ms ease-in-out;
    text-align: center;
}

.pm-format-btn:hover[b-t3yqja0czo] {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent-lt);
    background: var(--bg2);
}

.pm-format-btn-name[b-t3yqja0czo] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ink);
}

.pm-format-btn-desc[b-t3yqja0czo] {
    font-size: 0.78rem;
    color: var(--ink2);
}

.pm-settings-form[b-t3yqja0czo] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pm-settings-row[b-t3yqja0czo] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
}

.pm-settings-row > .pm-settings-group[b-t3yqja0czo] {
    flex: 1;
    min-width: 0;
}

.pm-settings-group[b-t3yqja0czo] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pm-settings-group-label[b-t3yqja0czo] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ink2);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pm-saving-indicator[b-t3yqja0czo] {
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--ink3);
}

.pm-radio-group[b-t3yqja0czo] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.pm-radio-group--inline[b-t3yqja0czo] {
    flex-direction: row;
    gap: 1rem;
    flex-wrap: wrap;
}

.pm-radio-row[b-t3yqja0czo] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.pm-radio-label[b-t3yqja0czo] {
    font-size: 0.875rem;
    color: var(--ink);
}

.pm-select[b-t3yqja0czo] {
    width: 100%;
    padding: 0.55rem 0.75rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.875rem;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.pm-select:focus[b-t3yqja0czo] {
    outline: none;
    border-color: var(--accent);
}

.pm-checkbox-list[b-t3yqja0czo] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    border: 1px solid var(--border);
    border-radius: var(--r);
    overflow: hidden;
}

.pm-checkbox-grid[b-t3yqja0czo] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
    row-gap: 0.25rem;
    border: 1px solid var(--border);
    border-radius: var(--r);
    padding: 0.5rem 0.75rem;
}

.pm-checkbox-row[b-t3yqja0czo] {
    display: flex;
    flex-direction: column;
    padding: 0.55rem 0.75rem;
    background: var(--bg3);
    border-bottom: 1px solid var(--border);
    transition: background 100ms ease-in-out;
}

.pm-checkbox-row:last-child[b-t3yqja0czo] {
    border-bottom: none;
}

.pm-checkbox-row:not(.pm-checkbox-row--empty):hover[b-t3yqja0czo] {
    background: var(--bg2);
}

.pm-checkbox-label[b-t3yqja0czo] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--ink);
    cursor: pointer;
    user-select: none;
}

.pm-checkbox-row--empty .pm-checkbox-label[b-t3yqja0czo] {
    color: var(--ink3);
    cursor: default;
}

.pm-checkbox[b-t3yqja0czo] {
    width: 15px;
    height: 15px;
    accent-color: var(--accent);
    flex-shrink: 0;
}

.pm-checkbox-list--standalone[b-t3yqja0czo] {
    margin-top: -0.25rem;
}

.pm-error-banner[b-t3yqja0czo] {
    background: var(--status-error-bg, var(--bg3));
    border: 1px solid var(--status-error);
    border-radius: var(--r);
    color: var(--status-error);
    font-size: 0.85rem;
    padding: 0.6rem 0.875rem;
    margin-bottom: 1rem;
}

.pm-status-view[b-t3yqja0czo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 2rem 1rem;
    text-align: center;
}

.pm-status-text[b-t3yqja0czo] {
    font-size: 0.9rem;
    color: var(--ink2);
}

.pm-spinner[b-t3yqja0czo] {
    display: inline-block;
    width: 28px;
    height: 28px;
    border: 3px solid var(--border);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: pm-spin-b-t3yqja0czo 0.7s linear infinite;
}

@keyframes pm-spin-b-t3yqja0czo {
    to { transform: rotate(360deg); }
}

.pm-footer[b-t3yqja0czo] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
    min-height: 60px;
}

/* Dialog footer buttons (.btn-confirm / .btn-cancel) and their spinner
   (.btn-spinner) are global — see app.css. */
/* /Components/RelatedEntitiesPanel.razor.rz.scp.css */
/* ============================================================
   RelatedEntitiesPanel — Related entities section within
   the Entity Inspector pane
   ============================================================ */

.related-entities-panel[b-f0gonan9tg] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 12px 12px;
}

.related-entities-loading[b-f0gonan9tg] {
    padding: 12px 16px;
    font-size: 0.82rem;
    color: var(--ink2);
    margin: 0;
}

/* ---- Collapsible section ---- */

.related-section[b-f0gonan9tg] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.related-section-header-row[b-f0gonan9tg] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.related-section-header[b-f0gonan9tg] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    min-width: 0;
    padding: 4px 0;
    background: transparent;
    border: none;
    color: var(--ink2);
    font-size: 0.75rem;
    font-weight: 600;
    font-family: inherit;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    cursor: pointer;
    text-align: left;
    transition: color 150ms ease-in-out;
}

.related-section-header:hover[b-f0gonan9tg] {
    color: var(--ink);
}

/* ---- Add button + picker ---- */

.related-section-add-btn[b-f0gonan9tg] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    flex-shrink: 0;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out, color 150ms ease-in-out;
}

.related-section-add-btn:hover:not(:disabled)[b-f0gonan9tg] {
    background-color: var(--accent-lt);
    border-color: var(--accent);
    color: var(--accent);
}

.related-section-add-btn:disabled[b-f0gonan9tg] {
    opacity: 0.4;
    cursor: not-allowed;
}

.related-section-picker[b-f0gonan9tg] {
    margin: 4px 0 4px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    overflow: hidden;
    max-height: 280px;
    overflow-y: auto;
}

.related-section-picker-empty[b-f0gonan9tg] {
    margin: 0;
    padding: 10px 12px;
    font-size: 0.78rem;
    color: var(--ink2);
    font-style: italic;
}

.related-section-picker-list[b-f0gonan9tg] {
    list-style: none;
    margin: 0;
    padding: 4px 0;
}

.related-section-picker-item[b-f0gonan9tg] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 7px 12px;
    background: transparent;
    border: none;
    color: var(--ink);
    font-size: 0.82rem;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 100ms ease-in-out;
    box-sizing: border-box;
}

.related-section-picker-item:hover[b-f0gonan9tg] {
    background-color: var(--accent-lt);
}

.related-section-picker-item-name[b-f0gonan9tg] {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.related-section-chevron[b-f0gonan9tg] {
    flex-shrink: 0;
    color: inherit;
    transition: transform 150ms ease-in-out;
}

.related-section-chevron--collapsed[b-f0gonan9tg] {
    transform: rotate(-90deg);
}

.related-section-title[b-f0gonan9tg] {
    color: inherit;
}

.related-section-body[b-f0gonan9tg] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 0;
}

/* ---- Related node row with optional extraction icon ---- */

.related-node-row[b-f0gonan9tg] {
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.related-node-card-wrapper[b-f0gonan9tg] {
    flex: 1;
    min-width: 0;
}

.related-node-extract-btn[b-f0gonan9tg] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    margin-top: 4px;
}

/* ---- Extraction icon button (must be defined here — CSS isolation scopes BoardInspector styles) ---- */

.extraction-icon-btn[b-f0gonan9tg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink3);
    cursor: pointer;
    flex-shrink: 0;
    transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
}

.extraction-icon-btn:hover:not(:disabled)[b-f0gonan9tg] {
    color: var(--accent);
    background-color: var(--accent-lt);
    border-color: var(--accent-lt);
}

.extraction-icon-btn:disabled[b-f0gonan9tg] {
    opacity: 0.35;
    cursor: not-allowed;
}

/* ---- Action toolbar row (above section content) ---- */

.related-entities-action-toolbar[b-f0gonan9tg] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 2px;
}

.related-entities-toolbar-btn[b-f0gonan9tg] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    height: 28px;
    border-radius: var(--r);
    font-size: 0.75rem;
    font-family: inherit;
    font-weight: 500;
}

.related-entities-toolbar-label[b-f0gonan9tg] {
    color: inherit;
    font-size: inherit;
    line-height: 1;
}

/* ---- Connect to... section ---- */

.connect-btn[b-f0gonan9tg] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, background-color 150ms ease-in-out, border-color 150ms ease-in-out;
}

.connect-btn:hover[b-f0gonan9tg] {
    color: var(--ink);
    background-color: var(--bg3);
    border-color: var(--border);
}

/* Card border highlight while a matching mention is hovered in the editor */
.related-entity-card--hovered[b-f0gonan9tg] {
    border-radius: var(--r);
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}
/* /Components/RelatedEntityCard.razor.rz.scp.css */
/* ============================================================
   RelatedEntityCard — A single related entity card within
   the RelatedEntitiesPanel
   ============================================================ */

.related-entity-card[b-zq2ihnf8yb] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px 10px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
}

/* ---- Header: image + name + toolbar in a single row ---- */

.related-entity-card-header[b-zq2ihnf8yb] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.related-entity-card-thumb-btn[b-zq2ihnf8yb] {
    display: flex;
    flex-shrink: 0;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: var(--r);
    cursor: pointer;
}

.related-entity-card-name[b-zq2ihnf8yb] {
    flex: 1;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ink);
    word-break: break-word;
    line-height: 1.3;
    min-width: 0;
}

.related-entity-card-name--link[b-zq2ihnf8yb] {
    background: transparent;
    border: none;
    padding: 0;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    transition: color 150ms ease-in-out;
}

.related-entity-card-name--link:hover[b-zq2ihnf8yb] {
    color: var(--accent-hover);
}

/* ---- Toolbar: hover-only icon cluster on the right ---- */

.related-entity-card-toolbar[b-zq2ihnf8yb] {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 150ms ease-in-out;
}

.related-entity-card:hover .related-entity-card-toolbar[b-zq2ihnf8yb],
.related-entity-card:focus-within .related-entity-card-toolbar[b-zq2ihnf8yb] {
    opacity: 1;
}

.related-entity-card-icon-btn[b-zq2ihnf8yb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: var(--r);
    cursor: pointer;
    transition: background-color 150ms ease-in-out, color 150ms ease-in-out;
}

.related-entity-card-icon-btn--view-alongside[b-zq2ihnf8yb] {
    color: var(--ink2);
}

.related-entity-card-icon-btn--view-alongside:hover[b-zq2ihnf8yb] {
    background-color: var(--accent-lt);
    color: var(--accent);
}

.related-entity-card-icon-btn--view-alongside-active[b-zq2ihnf8yb] {
    color: var(--accent);
    background-color: var(--accent-lt);
    border: 1px solid var(--accent-lt);
}

/* Keep the toolbar visible when view-alongside is active so the indicator persists */
.related-entity-card-toolbar:has(.related-entity-card-icon-btn--view-alongside-active)[b-zq2ihnf8yb] {
    opacity: 1;
}

.related-entity-card-icon-btn--extract[b-zq2ihnf8yb] {
    color: var(--accent);
}

.related-entity-card-icon-btn--extract:hover[b-zq2ihnf8yb] {
    background-color: var(--accent-lt);
    color: var(--accent-hover);
}

.related-entity-card-icon-btn--delete[b-zq2ihnf8yb] {
    color: var(--status-error);
}

.related-entity-card-icon-btn--delete:hover[b-zq2ihnf8yb] {
    background-color: rgba(229, 57, 53, 0.1);
}

/* /Components/RenameAliasFlowOverlay.razor.rz.scp.css */
.raf-overlay[b-33ht5jb6yp] {
    position: fixed;
    z-index: 200;
    max-width: 360px;
    min-width: 280px;
    width: max-content;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 14px 12px 14px;
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r);
    box-shadow: 0 6px 20px var(--shadow);
    font-family: var(--font-ui);
    box-sizing: border-box;
}

.raf-close-corner[b-33ht5jb6yp] {
    position: absolute;
    top: 4px;
    right: 6px;
    font-family: var(--font-ui);
    font-size: 1.05rem;
    line-height: 1;
    padding: 2px 6px;
    border: none;
    background: transparent;
    color: var(--ink3);
    cursor: pointer;
    transition: color 100ms ease;
}

.raf-close-corner:hover[b-33ht5jb6yp] {
    color: var(--ink);
}

.raf-progress[b-33ht5jb6yp] {
    font-size: 0.75rem;
    color: var(--ink2);
    padding-right: 24px;
}

.raf-mapping[b-33ht5jb6yp] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 24px;
}

.raf-mapping-label[b-33ht5jb6yp] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--ink);
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    padding: 1px 8px;
}

.raf-mapping-label--new[b-33ht5jb6yp] {
    color: var(--accent);
    border-color: var(--accent);
    background: var(--accent-lt);
}

.raf-mapping-arrow[b-33ht5jb6yp] {
    color: var(--ink2);
    font-size: 0.9rem;
}

.raf-actions[b-33ht5jb6yp] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.raf-btn[b-33ht5jb6yp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 28px;
    padding: 0 10px;
    box-sizing: border-box;
    font-family: var(--font-ui);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1;
    border-radius: var(--r);
    border: 1px solid var(--border2);
    background: var(--bg3);
    color: var(--ink2);
    cursor: pointer;
    white-space: nowrap;
    transition: background 100ms ease, color 100ms ease, border-color 100ms ease;
}

.raf-btn:hover:not(:disabled)[b-33ht5jb6yp] {
    background: var(--accent-lt);
    color: var(--accent);
    border-color: var(--accent);
}

.raf-btn:disabled[b-33ht5jb6yp] {
    opacity: 0.4;
    cursor: default;
}

.raf-btn--primary[b-33ht5jb6yp] {
    background: var(--accent);
    color: var(--bg);
    border-color: var(--accent);
}

.raf-btn--primary:hover:not(:disabled)[b-33ht5jb6yp] {
    background: var(--accent);
    color: var(--bg);
    opacity: 0.85;
}

.raf-btn--strong[b-33ht5jb6yp] {
    font-weight: 600;
}

.raf-btn--wide[b-33ht5jb6yp] {
    grid-column: 1 / -1;
}
/* /Components/RenameAliasFormDialog.razor.rz.scp.css */
/* ============================================================
   RenameAliasFormDialog — Bulk rename recognition names
   ============================================================ */

.modal-backdrop[b-dtfv1jm5us] {
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-dtfv1jm5us 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-dtfv1jm5us {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ---- Dialog box ---- */

.modal-dialog[b-dtfv1jm5us] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 600px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-dtfv1jm5us 150ms ease-in-out both;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}

@keyframes dialog-slide-in-b-dtfv1jm5us {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---- Header ---- */

.modal-header[b-dtfv1jm5us] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.modal-title[b-dtfv1jm5us] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-close-btn[b-dtfv1jm5us] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.modal-close-btn:hover[b-dtfv1jm5us] {
    color: var(--ink);
    background: var(--border);
}

/* ---- Body ---- */

.modal-body[b-dtfv1jm5us] {
    padding: 1.25rem 1.5rem;
    overflow-y: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* ---- Alias table ---- */

.alias-table[b-dtfv1jm5us] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.alias-col-header[b-dtfv1jm5us] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0 0.5rem 0.6rem;
    text-align: left;
    border-bottom: 1px solid var(--border);
}

.alias-col-current[b-dtfv1jm5us] {
    width: 45%;
}

.alias-col-new[b-dtfv1jm5us] {
    width: 55%;
}

/* ---- Rows ---- */

.alias-row[b-dtfv1jm5us] {
    border-bottom: 1px solid var(--border);
}

.alias-row:last-child[b-dtfv1jm5us] {
    border-bottom: none;
}

.alias-cell[b-dtfv1jm5us] {
    padding: 0.6rem 0.5rem;
    vertical-align: top;
}

.alias-cell--current[b-dtfv1jm5us] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding-top: 0.75rem;
}

/* ---- Old text label ---- */

.alias-old-text[b-dtfv1jm5us] {
    font-size: 0.9rem;
    color: var(--ink2);
    word-break: break-word;
}

.alias-flag[b-dtfv1jm5us] {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--accent);
    background: var(--accent-lt);
    border-radius: var(--r);
    padding: 1px 4px;
    flex-shrink: 0;
}

/* ---- New text input ---- */

.alias-new-input[b-dtfv1jm5us] {
    width: 100%;
    padding: 0.45rem 0.65rem;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink);
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 150ms ease-in-out;
    box-sizing: border-box;
}

.alias-new-input:focus[b-dtfv1jm5us] {
    outline: none;
    border-color: var(--accent);
}

.alias-new-input--invalid[b-dtfv1jm5us] {
    border-color: var(--status-error);
}

.alias-new-input--invalid:focus[b-dtfv1jm5us] {
    border-color: var(--status-error);
}

/* ---- Inline hint / error ---- */

.alias-hint[b-dtfv1jm5us] {
    font-size: 0.78rem;
    color: var(--status-error);
    margin: 0.3rem 0 0;
}

.alias-no-change-hint[b-dtfv1jm5us] {
    font-size: 0.85rem;
    color: var(--ink2);
    margin: 0;
}

/* ---- Footer ---- */

.modal-footer[b-dtfv1jm5us] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 1rem 1.5rem 1.25rem;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}

/* /Components/SearchPanel.razor.rz.scp.css */
/* Floating top-right panel — no backdrop so the editor/board remain clickable. */
.sp-card[b-sdjggmhz16] {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 1000;
    width: 560px;
    max-width: calc(100vw - 32px);
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    max-height: 70vh;
    padding-top: 6px;
}

.sp-close[b-sdjggmhz16] {
    position: absolute;
    top: 4px;
    right: 6px;
    font-family: var(--font-ui);
    font-size: 1.05rem;
    line-height: 1;
    padding: 2px 6px;
    border: none;
    background: transparent;
    color: var(--ink3);
    cursor: pointer;
    transition: color 100ms ease;
    z-index: 1;
}

.sp-close:hover[b-sdjggmhz16] {
    color: var(--ink);
}

.sp-tabs[b-sdjggmhz16] {
    display: flex;
    gap: 6px;
    padding: 6px 36px 0 14px;
    flex-shrink: 0;
}

.sp-tab[b-sdjggmhz16] {
    font-family: var(--font-ui);
    font-size: 0.75rem;
    font-weight: 500;
    padding: 3px 12px;
    border-radius: 99px;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--ink2);
    cursor: pointer;
    transition: background 100ms ease, color 100ms ease, border-color 100ms ease;
    line-height: 1.6;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sp-tab:hover[b-sdjggmhz16] {
    background: var(--bg3);
    border-color: var(--border2);
}

.sp-tab--active[b-sdjggmhz16] {
    background: var(--accent-lt);
    color: var(--accent);
    border-color: var(--accent);
}

.sp-content[b-sdjggmhz16] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.sp-tab-pane[b-sdjggmhz16] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.sp-tab-pane--hidden[b-sdjggmhz16] {
    display: none;
}
/* /Components/StatusChip.razor.rz.scp.css */
.status-chip-container[b-ew04kko1xh] {
    position: relative;
    display: inline-block;
    flex-shrink: 0;
}

.status-chip[b-ew04kko1xh] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 24px;
    padding: 3px 8px 3px 6px;
    border: 1px solid var(--border);
    border-radius: var(--r);
    background: var(--bg3);
    color: var(--ink);
    font-size: 0.78rem;
    font-family: inherit;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

.status-chip:hover[b-ew04kko1xh] {
    border-color: var(--border2);
    filter: brightness(1.04);
}

.status-chip:focus-visible[b-ew04kko1xh] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
    border-color: var(--border2);
}

.status-chip-swatch[b-ew04kko1xh] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-block;
}

.status-chip-swatch--ring[b-ew04kko1xh] {
    background: transparent;
    border: 1.5px solid var(--ink3);
}

.status-chip-caret[b-ew04kko1xh] {
    color: var(--ink3);
    flex-shrink: 0;
}

.status-chip-overlay[b-ew04kko1xh] {
    position: fixed;
    inset: 0;
    z-index: 99;
}

.status-chip-dropdown[b-ew04kko1xh] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0; /* chip sits flush-right in the inspector word-count row; anchoring left would overflow the viewport */
    min-width: 160px;
    max-width: 220px;
    list-style: none;
    margin: 0;
    padding: 4px;
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r);
    box-shadow: var(--shadow);
    z-index: 200;
    opacity: 0;
    transform: translateY(-4px);
    pointer-events: none;
    transition: opacity 150ms ease-out, transform 150ms ease-out;
}

.status-chip-dropdown--open[b-ew04kko1xh] {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
    .status-chip-dropdown[b-ew04kko1xh] {
        transition: none;
    }
}

.status-chip-option[b-ew04kko1xh] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 32px;
    padding: 0 10px;
    border-radius: calc(var(--r) - 1px);
    cursor: pointer;
    font-size: 0.8125rem;
    color: var(--ink);
    list-style: none;
}

.status-chip-option:hover[b-ew04kko1xh],
.status-chip-option--focused[b-ew04kko1xh] {
    background: var(--bg3);
}

.status-chip-option-swatch[b-ew04kko1xh] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-block;
}

.status-chip-option-swatch--ring[b-ew04kko1xh] {
    background: transparent;
    border: 1.5px solid var(--ink3);
}

.status-chip-option-label[b-ew04kko1xh] {
    flex: 1;
}

.status-chip-option--selected .status-chip-option-label[b-ew04kko1xh] {
    font-weight: 600;
}

.status-chip-option-check[b-ew04kko1xh] {
    color: var(--accent);
    flex-shrink: 0;
}
/* /Components/StitchedBoardView.razor.rz.scp.css */
.stitched-empty[b-y4pqshdr60] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.stitched-empty-text[b-y4pqshdr60] {
    color: var(--ink2);
    font-size: 0.9rem;
}

.stitched-container[b-y4pqshdr60] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background-color: var(--bg);
}

.stitched-scroll-area[b-y4pqshdr60] {
    flex: 1;
    overflow: auto;
    position: relative;
}

.stitched-grid[b-y4pqshdr60] {
    display: grid;
    position: relative;
    border-collapse: collapse;
}

/* z-index 3: above row and col headers */
.stitched-corner-cell[b-y4pqshdr60] {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 3;
    background-color: var(--board-header-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    min-height: 56px;
    width: var(--stitched-row-header-width);
    box-sizing: border-box;
}

.stitched-col-header[b-y4pqshdr60] {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: var(--board-header-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    min-height: 56px;
    min-width: var(--stitched-cell-width);
    width: var(--stitched-cell-width);
    cursor: grab;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    user-select: none;
}

.stitched-col-header:active[b-y4pqshdr60] {
    cursor: grabbing;
}

.stitched-row-header[b-y4pqshdr60] {
    position: sticky;
    left: 0;
    z-index: 1;
    background-color: var(--board-header-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    min-height: var(--stitched-cell-height);
    width: var(--stitched-row-header-width);
    display: flex;
    align-items: center;
    box-sizing: border-box;
    cursor: grab;
    user-select: none;
}

.stitched-row-header:active[b-y4pqshdr60] {
    cursor: grabbing;
}

.stitched-header--selected[b-y4pqshdr60] {
    background-color: var(--accent-lt);
    box-shadow: inset 0 0 0 2px var(--accent);
}

.stitched-header--drop-before[b-y4pqshdr60] {
    box-shadow: inset 4px 0 0 0 var(--accent);
}

.stitched-header--drop-after[b-y4pqshdr60] {
    box-shadow: inset -4px 0 0 0 var(--accent);
}

.stitched-row-header.stitched-header--drop-before[b-y4pqshdr60] {
    box-shadow: inset 0 4px 0 0 var(--accent);
}

.stitched-row-header.stitched-header--drop-after[b-y4pqshdr60] {
    box-shadow: inset 0 -4px 0 0 var(--accent);
}

.stitched-header-inner[b-y4pqshdr60] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 12px 10px 16px;
    width: 100%;
    position: relative;
}

.stitched-col-header .stitched-header-inner[b-y4pqshdr60] {
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.stitched-col-header .stitched-header-name[b-y4pqshdr60],
.stitched-row-header .stitched-header-name[b-y4pqshdr60] {
    white-space: normal;
    word-break: break-word;
    text-align: center;
    font-size: 0.875rem;
    color: var(--ink);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

/* Sticky-left so the label stays anchored to the row-header column when scrolling
   horizontally; grid-column: 1 / span (N+1) is set inline to span all x-axis columns. */

.stitched-book-separator[b-y4pqshdr60] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--bg2);
    color: var(--ink);
    border-top: 2px solid var(--accent);
    border-bottom: 1px solid var(--border);
    padding: 10px 16px;
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-sizing: border-box;
    user-select: none;
}

.stitched-book-separator-label[b-y4pqshdr60] {
    color: var(--ink2);
}

.stitched-add-col-cell[b-y4pqshdr60] {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: var(--board-header-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    width: var(--stitched-add-col-width);
    box-sizing: border-box;
}

.stitched-add-row-header[b-y4pqshdr60] {
    position: sticky;
    left: 0;
    z-index: 1;
    background-color: var(--board-header-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    width: var(--stitched-row-header-width);
    box-sizing: border-box;
}

.stitched-add-row-filler[b-y4pqshdr60] {
    background-color: var(--bg);
    border-bottom: 1px solid var(--border);
    min-height: 48px;
    box-sizing: border-box;
}

.stitched-cell--filler[b-y4pqshdr60] {
    background-color: var(--bg);
    border-bottom: 1px solid var(--border);
}

/* Locally scoped — the buttons are rendered by StitchedBoardView so they pick up
   this component's scope marker rather than BoardView's. */
.stitched-add-col-cell .board-add-btn[b-y4pqshdr60],
.stitched-add-row-header .board-add-btn[b-y4pqshdr60] {
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background-color 150ms ease-in-out;
}

.stitched-add-col-cell .board-add-btn:hover[b-y4pqshdr60],
.stitched-add-row-header .board-add-btn:hover[b-y4pqshdr60] {
    color: var(--ink);
    border-color: var(--accent);
    background-color: var(--accent-lt);
}
/* /Components/SummaryDialog.razor.rz.scp.css */
/* Must be defined here — CSS isolation means ConfirmDialog's .modal-backdrop is a different scope. */
.modal-backdrop[b-geglhd7ikk] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: summary-backdrop-fade-in-b-geglhd7ikk 150ms ease-in-out both;
}

@keyframes summary-backdrop-fade-in-b-geglhd7ikk {
    from { opacity: 0; }
    to { opacity: 1; }
}

.modal-dialog[b-geglhd7ikk] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 440px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: summary-dialog-slide-in-b-geglhd7ikk 150ms ease-in-out both;
}

@keyframes summary-dialog-slide-in-b-geglhd7ikk {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-geglhd7ikk] {
    padding: 1.25rem 1.5rem 0;
}

.modal-title[b-geglhd7ikk] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-body[b-geglhd7ikk] {
    padding: 1rem 1.5rem;
}

.modal-message[b-geglhd7ikk] {
    font-size: 0.9rem;
    color: var(--ink2);
    line-height: 1.6;
    margin: 0;
}

.modal-footer[b-geglhd7ikk] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 0 1.5rem 1.25rem;
}

.summary-dialog[b-geglhd7ikk] {
    max-width: 480px;
}

.summary-dialog-hint[b-geglhd7ikk] {
    margin-bottom: 12px;
}

.summary-dialog-input[b-geglhd7ikk] {
    display: block;
    width: 100%;
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    padding: 9px 12px;
    font: 13px/1.5 var(--font-ui, inherit);
    color: var(--ink);
    outline: none;
    box-sizing: border-box;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.summary-dialog-input:focus[b-geglhd7ikk] {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(43, 92, 230, 0.12);
}

/* /Components/TemplatePickerModal.razor.rz.scp.css */
.modal-backdrop[b-at33lmiu4a] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(42, 37, 32, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: backdrop-fade-in-b-at33lmiu4a 150ms ease-in-out both;
}

@keyframes backdrop-fade-in-b-at33lmiu4a {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.modal-dialog[b-at33lmiu4a] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    width: 100%;
    max-width: 640px;
    margin: 1rem;
    box-shadow: var(--shadow-lg);
    animation: dialog-slide-in-b-at33lmiu4a 150ms ease-in-out both;
}

@keyframes dialog-slide-in-b-at33lmiu4a {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-at33lmiu4a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--border);
}

.modal-title[b-at33lmiu4a] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    font-family: var(--font-editor);
}

.modal-close-btn[b-at33lmiu4a] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    padding: 0;
    transition: color 150ms ease-in-out, background 150ms ease-in-out;
}

.modal-close-btn:hover:not(:disabled)[b-at33lmiu4a] {
    color: var(--ink);
    background: var(--border);
}

.modal-close-btn:disabled[b-at33lmiu4a] {
    opacity: 0.4;
    cursor: not-allowed;
}

.modal-body[b-at33lmiu4a] {
    padding: 1.25rem 1.5rem 1.5rem;
}

.loading-state[b-at33lmiu4a] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 160px;
}

.loading-spinner[b-at33lmiu4a] {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 2px solid var(--border);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: modal-spin-b-at33lmiu4a 0.7s linear infinite;
}

@keyframes modal-spin-b-at33lmiu4a {
    to { transform: rotate(360deg); }
}

.error-state[b-at33lmiu4a] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    text-align: center;
}

.error-message[b-at33lmiu4a] {
    font-size: 0.875rem;
    color: var(--ink2);
    line-height: 1.5;
    margin: 0;
}

.template-section[b-at33lmiu4a] {
    margin-top: 1.25rem;
}

.template-section:first-child[b-at33lmiu4a] {
    margin-top: 0;
}

.template-section-title[b-at33lmiu4a] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--ink2);
    margin: 0 0 0.6rem 0;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-family: var(--font-ui);
}

.template-grid[b-at33lmiu4a] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
}

.template-grid > .template-card[b-at33lmiu4a] {
    flex: 0 1 calc(25% - 8px);
    min-width: 110px;
}

.template-card[b-at33lmiu4a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 20px 12px 16px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    cursor: pointer;
    text-align: center;
    min-height: 110px;
    transition: border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.template-card:hover:not(:disabled)[b-at33lmiu4a] {
    border-color: var(--accent);
    background: var(--accent-lt);
}

.template-card:disabled[b-at33lmiu4a] {
    opacity: 0.5;
    cursor: not-allowed;
}

.template-card--loading[b-at33lmiu4a] {
    opacity: 1;
    cursor: wait;
}

.template-card-icon[b-at33lmiu4a] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink2);
    flex-shrink: 0;
}

.template-card-icon[b-at33lmiu4a]  svg {
    width: 32px;
    height: 32px;
}

.template-card-name[b-at33lmiu4a] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.3;
}

.card-spinner[b-at33lmiu4a] {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-top-color: var(--ink);
    border-radius: 50%;
    animation: modal-spin-b-at33lmiu4a 0.7s linear infinite;
}
/* /Components/TipTapEditor.razor.rz.scp.css */
.editor-container[b-24f9ajbtkk] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--bg);
    position: relative;
}

/* Embedded mode: stacked inside a parent that owns the paper background and toolbar (LongDocumentEditor).
   Drop the per-editor paper card so the parent surface flows continuously across scenes. */
.editor-container--embedded[b-24f9ajbtkk] {
    height: auto;
    background-color: transparent;
}

.editor-container--embedded .editor-body[b-24f9ajbtkk] {
    overflow-y: visible;
    padding: 0;
    background-color: transparent;
    /* Stacked scenes inherit the parent surface's gutter; this editor-body is not
       the scroll container, so it must not become a query container. */
    container-type: normal;
}

.editor-container--embedded .editor-body-inner[b-24f9ajbtkk] {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    min-height: 0;
    background-color: transparent;
    padding: 0;
    border-left: none;
    border-right: none;
}

/* Tighten ProseMirror's vertical padding inside the stack so adjacent scenes meet without an obvious gap. */
.editor-container--embedded .editor-body[b-24f9ajbtkk]  .ProseMirror {
    padding: 8px 0;
}

.provenance-toggle[b-24f9ajbtkk] {
    position: absolute;
    top: 8px;
    right: 16px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 10px;
    background-color: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    font-family: var(--font-ui);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 150ms ease-in-out, background-color 150ms ease-in-out, border-color 150ms ease-in-out;
}

.provenance-toggle:hover[b-24f9ajbtkk] {
    color: var(--ink);
    border-color: var(--accent);
}

.provenance-toggle--active[b-24f9ajbtkk] {
    color: var(--accent);
    background-color: var(--accent-lt);
    border-color: var(--accent);
}

.editor-ai-context-warning[b-24f9ajbtkk] {
    padding: 7px 16px;
    background: color-mix(in srgb, var(--status-warning) 14%, var(--bg2));
    border-bottom: 1px solid color-mix(in srgb, var(--status-warning) 40%, transparent);
    font-size: 0.8rem;
    color: var(--status-warning);
    flex-shrink: 0;
}

.editor-toolbar[b-24f9ajbtkk] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background-color: var(--bg2);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.toolbar-btn[b-24f9ajbtkk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 28px;
    background: none;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, background-color 150ms ease-in-out, border-color 150ms ease-in-out;
}

.toolbar-btn:hover[b-24f9ajbtkk] {
    color: var(--ink);
    background-color: var(--border);
}

.toolbar-btn--active[b-24f9ajbtkk] {
    color: var(--accent);
    background-color: var(--accent-lt);
    border-color: var(--accent-lt);
}

.toolbar-separator[b-24f9ajbtkk] {
    width: 1px;
    height: 18px;
    background-color: var(--border);
    margin: 0 4px;
}

.editor-toolbar-spacer[b-24f9ajbtkk] {
    flex: 1;
}

.editor-save-status[b-24f9ajbtkk] {
    flex-shrink: 0;
    margin-right: 6px;
    font-family: var(--font-ui);
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--ink2);
    opacity: 0;
    transition: opacity 300ms ease;
    pointer-events: none;
}

.editor-save-status--visible[b-24f9ajbtkk] {
    opacity: 0.8;
}

.toolbar-btn--glyph[b-24f9ajbtkk] {
    font-family: var(--font-ui);
    font-size: 16px;
    line-height: 1;
    padding-bottom: 2px;
}

/* Width + positioning match the long-doc-content paper card: 816px max, centered,
   same responsive --ms-gutter so the heading stays flush with the card below it. */
.editor-assembled-heading-wrapper[b-24f9ajbtkk] {
    max-width: 816px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    padding: 0 var(--ms-gutter);
    background-color: var(--bg);
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
    box-sizing: border-box;
}

.editor-assembled-heading[b-24f9ajbtkk] {
    font-family: var(--assembled-font, 'Garamond', 'EB Garamond', 'Georgia', serif);
    font-size: 1.17em;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    padding: 24px 0 0;
    line-height: 1.3;
    text-align: var(--heading-align, left);
    user-select: none;
    pointer-events: none;
}

.editor-body[b-24f9ajbtkk] {
    flex: 1;
    overflow-y: auto;
    padding: 16px 48px;
    cursor: text;
    background-color: var(--bg3);
    scroll-padding-bottom: 140px;
    container-type: inline-size;
    /* Side gutter for the paper card — full 96px on a wide workspace, collapsing
       to a 24px floor as it narrows so the text column (816 - 2*96 = 624) holds.
       Matches the manuscript long-doc surface. */
    --ms-gutter: clamp(24px, calc((100cqw - 624px) / 2), 96px);
}

.editor-body-inner[b-24f9ajbtkk] {
    max-width: 816px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    min-height: 100%;
    box-sizing: border-box;
    background-color: var(--bg);
    padding: 8px var(--ms-gutter) 80px;

    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
}

/* TipTap ProseMirror editor element — outline removal is in app.css (global) */
.editor-body[b-24f9ajbtkk]  .ProseMirror {
    padding: 32px 0;
    font-family: var(--font-editor);
    /* Defaults to the normal reading size; focus mode sets --prose-font-size to a scaled value
       so the text-size control actually changes the prose (the size lives here, not on the
       container, so a container font-size override never reached it). */
    font-size: var(--prose-font-size, 1.05rem);
    line-height: var(--editor-line-height, 1.9);
    color: var(--ink);
    caret-color: var(--accent-hover);
}

.editor-body[b-24f9ajbtkk]  .ProseMirror p {
    margin: 0 0 0.75em;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror h1 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--accent);
    margin: 1.25em 0 0.5em;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror h2 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 1em 0 0.4em;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror h3 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0.9em 0 0.35em;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink2);
    margin: 0.8em 0 0.3em;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror strong {
    font-weight: 700;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror em {
    font-style: italic;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror code {
    color: var(--ink3);
    background-color: rgba(255, 255, 255, 0.05);
    padding: 1px 4px;
    border-radius: 3px;
    font-size: 0.9em;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror blockquote {
    border-left: 3px solid var(--accent);
    margin: 0.75em 0;
    padding-left: 1em;
    color: var(--ink2);
    font-style: italic;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror ul,
.editor-body[b-24f9ajbtkk]  .ProseMirror ol {
    padding-left: 1.5em;
    margin: 0.2em 0;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror li {
    margin-bottom: 0;
    line-height: 1.3;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror li p {
    margin: 0;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror p.is-editor-empty:first-child::before {
    content: 'Start writing…';
    color: var(--ink2);
    pointer-events: none;
    height: 0;
    float: left;
}

.editor-body[b-24f9ajbtkk]  .ProseMirror .prov-typed {
    background-color: var(--prov-typed-bg);
}

.editor-body[b-24f9ajbtkk]  .ProseMirror .prov-paste {
    background-color: var(--prov-paste-bg);
}

.editor-body[b-24f9ajbtkk]  .ProseMirror .prov-ai {
    background-color: var(--prov-ai-bg);
}

/* .find-match and .find-match--active are defined globally in app.css so they apply
   both inside TipTap ProseMirror decorations and in BoardNodeReplaceDialog's preview. */
/* /Components/Toast.razor.rz.scp.css */
.toast-container[b-v5qr4edj9e] {
    position: fixed;
    bottom: 24px;
    right: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 9000;
    pointer-events: none;
}

.toast[b-v5qr4edj9e] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    min-width: 280px;
    max-width: 420px;
    padding: 12px 16px;
    border-radius: var(--r);
    background-color: var(--bg3);
    border-left: 4px solid var(--accent);
    color: var(--ink);
    font-size: 0.875rem;
    box-shadow: var(--shadow);
    pointer-events: all;
    animation: toast-slide-in-b-v5qr4edj9e 0.2s ease-out;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.toast--dismissing[b-v5qr4edj9e] {
    opacity: 0;
    transform: translateX(20px);
}

.toast--info[b-v5qr4edj9e] {
    border-left-color: var(--accent-hover);
}

.toast--success[b-v5qr4edj9e] {
    border-left-color: var(--status-success);
}

.toast--warning[b-v5qr4edj9e] {
    border-left-color: var(--status-warning);
}

.toast--error[b-v5qr4edj9e] {
    border-left-color: var(--status-error);
}

.toast-message[b-v5qr4edj9e] {
    flex: 1;
    line-height: 1.4;
}

.toast-close[b-v5qr4edj9e] {
    background: none;
    border: none;
    color: var(--ink2);
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    padding: 0;
    transition: color 150ms ease-in-out;
    flex-shrink: 0;
}

.toast-close:hover[b-v5qr4edj9e] {
    color: var(--ink);
}

@keyframes toast-slide-in-b-v5qr4edj9e {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
/* /Components/TreeNode.razor.rz.scp.css */
.tree-node-wrapper[b-765mhsc911] {
    display: flex;
    flex-direction: column;
    position: relative;
}

.tree-node[b-765mhsc911] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding-top: 3px;
    padding-bottom: 3px;
    padding-right: 8px;
    cursor: pointer;
    border-radius: var(--r);
    margin: 0 4px;
    position: relative;
    transition: background-color 150ms ease-in-out;
    min-height: 28px;
}

.tree-node:hover[b-765mhsc911] {
    background-color: var(--border);
}

.tree-node--selected[b-765mhsc911] {
    background-color: var(--accent-lt);
}

.tree-node--selected[b-765mhsc911]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 3px;
    background-color: var(--accent);
    border-radius: 0 2px 2px 0;
}

.tree-node--drop-target[b-765mhsc911] {
    background-color: var(--accent-lt);
    outline: 1px solid var(--accent);
    outline-offset: -1px;
}

.node-icon[b-765mhsc911] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    width: 18px;
    height: 18px;
    color: var(--ink2);
}

.folder-icon[b-765mhsc911] {
    color: var(--accent-hover);
}

.entity-icon[b-765mhsc911] {
    color: var(--ink2);
}

.expand-btn[b-765mhsc911] {
    background: none;
    border: none;
    padding: 2px;
    cursor: pointer;
    color: var(--ink2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 2px;
    transition: color 150ms ease-in-out;
}

.expand-btn:hover[b-765mhsc911] {
    color: var(--ink);
}

.expand-btn-spacer[b-765mhsc911] {
    display: inline-block;
    width: 18px;
    flex-shrink: 0;
}

.node-label[b-765mhsc911] {
    font-size: 0.85rem;
    color: var(--ink);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.context-menu-btn[b-765mhsc911] {
    background: none;
    border: none;
    padding: 2px 4px;
    cursor: pointer;
    color: var(--ink2);
    display: flex;
    align-items: center;
    border-radius: 3px;
    opacity: 0;
    flex-shrink: 0;
    transition: opacity 150ms ease-in-out, color 150ms ease-in-out;
}

.tree-node:hover .context-menu-btn[b-765mhsc911],
.tree-node--selected .context-menu-btn[b-765mhsc911] {
    opacity: 1;
}

.context-menu-btn:hover[b-765mhsc911] {
    color: var(--ink);
    background-color: rgba(255, 255, 255, 0.08);
}

.tree-node-children[b-765mhsc911] {
    display: flex;
    flex-direction: column;
}

.drop-indicator[b-765mhsc911] {
    position: absolute;
    left: 8px;
    right: 8px;
    height: 3px;
    background-color: var(--accent);
    border-radius: 2px;
    pointer-events: none;
    box-shadow: 0 0 4px var(--accent-lt);
    z-index: 2;
    opacity: 0;
}

.drop-indicator--visible[b-765mhsc911] {
    opacity: 1;
}

.drop-indicator--above[b-765mhsc911] {
    top: -1px;
}

.drop-indicator--below[b-765mhsc911] {
    bottom: -1px;
}


.tail-drop-zone[b-765mhsc911] {
    position: relative;
    min-height: 4px;
}

.drop-into-indicator[b-765mhsc911] {
    position: absolute;
    inset: 0 4px;
    border: 1px solid var(--accent);
    border-radius: var(--r);
    pointer-events: none;
}
/* /Components/WritingGoalsChip.razor.rz.scp.css */
.wgc-chip[b-s6drrgz4ul] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    max-width: 240px;
    min-width: 120px;
    padding: 4px 8px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    cursor: pointer;
    color: var(--ink2);
    font-size: 13px;
    font-family: var(--font-ui);
    transition: background-color 150ms ease;
}

.wgc-chip:hover[b-s6drrgz4ul] {
    background: var(--bg2);
}

.wgc-chip:focus-visible[b-s6drrgz4ul] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.wgc-label[b-s6drrgz4ul] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.wgc-chip--at-goal .wgc-label[b-s6drrgz4ul] {
    color: var(--accent-gold);
}

.wgc-bar-track[b-s6drrgz4ul] {
    width: 100%;
    height: 2px;
    background: var(--border2);
    border-radius: 1px;
    overflow: hidden;
}

.wgc-bar-fill[b-s6drrgz4ul] {
    height: 100%;
    border-radius: 1px;
    transition: width 400ms ease-out, background-color 400ms ease-out;
}

.wgc-live-region[b-s6drrgz4ul] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@keyframes goalHitPulse-b-s6drrgz4ul {
    0% { transform: scale(1); }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); }
}

.goal-hit-pulse[b-s6drrgz4ul] {
    animation: goalHitPulse-b-s6drrgz4ul 600ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
    .goal-hit-pulse[b-s6drrgz4ul] {
        animation: none;
    }

    .wgc-bar-fill[b-s6drrgz4ul] {
        transition: none;
    }
}
/* /Components/WritingStatsPanel.razor.rz.scp.css */
.wsp-overlay[b-tjisslja6q] {
    position: fixed;
    inset: 0;
    z-index: 200;
    pointer-events: none;
}

.wsp-panel[b-tjisslja6q] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 360px;
    background: var(--bg);
    border-left: 1px solid var(--border);
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    pointer-events: all;
    transform: translateX(0);
    animation: wsp-slide-in-b-tjisslja6q 240ms ease-out;
    overflow: hidden;
}

@keyframes wsp-slide-in-b-tjisslja6q {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .wsp-panel[b-tjisslja6q] {
        animation: wsp-fade-in-b-tjisslja6q 200ms ease-out;
    }

    @keyframes wsp-fade-in-b-tjisslja6q {
        from { opacity: 0; }
        to { opacity: 1; }
    }
}

@media (max-width: 767px) {
    .wsp-panel[b-tjisslja6q] {
        width: 100%;
        top: auto;
        bottom: 0;
        height: 80vh;
        border-left: none;
        border-top: 1px solid var(--border);
        animation: wsp-slide-up-b-tjisslja6q 240ms ease-out;
    }

    @keyframes wsp-slide-up-b-tjisslja6q {
        from { transform: translateY(100%); }
        to { transform: translateY(0); }
    }
}

.wsp-header[b-tjisslja6q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.wsp-title[b-tjisslja6q] {
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.wsp-close-btn[b-tjisslja6q] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: var(--r);
    cursor: pointer;
    color: var(--ink2);
    padding: 0;
}

.wsp-close-btn:hover[b-tjisslja6q] {
    background: var(--bg2);
    color: var(--ink);
}

.wsp-body[b-tjisslja6q] {
    flex: 1;
    overflow-y: auto;
    padding: 0;
}

.wsp-loading[b-tjisslja6q] {
    display: flex;
    justify-content: center;
    padding: 48px 16px;
}

.wsp-error[b-tjisslja6q] {
    padding: 24px 16px;
    text-align: center;
    color: var(--ink2);
    font-size: 13px;
}

.wsp-error p[b-tjisslja6q] {
    margin: 0 0 12px;
}

.wsp-section[b-tjisslja6q] {
    padding: 16px;
    border-bottom: 1px solid var(--border);
}

.wsp-section:last-child[b-tjisslja6q] {
    border-bottom: none;
}

.wsp-today-net[b-tjisslja6q] {
    font-size: 32px;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.1;
}

.wsp-today-label[b-tjisslja6q] {
    font-size: 12px;
    color: var(--ink2);
    margin-bottom: 10px;
}

.wsp-goal-bar-track[b-tjisslja6q] {
    width: 100%;
    height: 8px;
    background: var(--border2);
    border-radius: var(--r);
    overflow: hidden;
    margin-bottom: 6px;
}

.wsp-goal-bar-fill[b-tjisslja6q] {
    height: 100%;
    background: var(--accent);
    border-radius: var(--r);
    transition: width 400ms ease-out, background-color 400ms ease-out;
}

.wsp-goal-bar-fill--met[b-tjisslja6q] {
    background: var(--accent-gold);
}

.wsp-goal-status[b-tjisslja6q] {
    font-size: 13px;
    color: var(--ink2);
    margin-bottom: 6px;
}

.wsp-goal-status--met[b-tjisslja6q] {
    color: var(--accent-gold);
    font-weight: 500;
}

.wsp-today-detail[b-tjisslja6q] {
    font-size: 12px;
    color: var(--ink3);
}

.wsp-streak-card[b-tjisslja6q] {
    background: var(--bg2);
}

.wsp-streak-main[b-tjisslja6q] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.wsp-streak-count[b-tjisslja6q] {
    font-size: 16px;
    font-weight: 600;
    color: var(--ink);
}

.wsp-streak-best[b-tjisslja6q] {
    font-size: 12px;
    color: var(--ink2);
}

.wsp-streak-sub[b-tjisslja6q] {
    font-size: 12px;
    color: var(--ink2);
    font-style: italic;
    margin-top: 4px;
}

.wsp-streak-goal-run[b-tjisslja6q] {
    font-size: 12px;
    color: var(--accent);
    margin-top: 4px;
}

.wsp-chart-label[b-tjisslja6q] {
    font-size: 12px;
    color: var(--ink2);
    margin-bottom: 8px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wsp-empty-chart[b-tjisslja6q] {
    font-size: 13px;
    color: var(--ink3);
    margin: 0;
    padding: 12px 0;
}

.wsp-chart-container[b-tjisslja6q] {
    overflow-x: auto;
}

.wsp-chart-svg[b-tjisslja6q] {
    display: block;
}

.wsp-chart-axis[b-tjisslja6q] {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    color: var(--ink3);
    margin-top: 4px;
}

.wsp-stat-value[b-tjisslja6q] {
    font-size: 20px;
    font-weight: 600;
    color: var(--ink);
}

.wsp-stat-label[b-tjisslja6q] {
    font-size: 11px;
    color: var(--ink2);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wsp-project-total-label[b-tjisslja6q] {
    font-size: 13px;
    color: var(--ink2);
    margin-top: 6px;
}

.wsp-pace-hint[b-tjisslja6q] {
    font-size: 12px;
    color: var(--ink3);
    margin-top: 4px;
}

.wsp-no-manuscript[b-tjisslja6q] {
    background: var(--accent-lt);
    border-left: 3px solid var(--accent);
    border-radius: var(--r);
    padding: 12px 14px;
    margin: 0 16px 8px;
}

.wsp-no-manuscript-title[b-tjisslja6q] {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 4px;
}

.wsp-no-manuscript-body[b-tjisslja6q] {
    font-size: 12px;
    line-height: 1.5;
    color: var(--ink2);
    margin: 0;
}

.wsp-no-manuscript-body strong[b-tjisslja6q] {
    color: var(--ink);
    font-weight: 600;
}

.wsp-no-manuscript-body em[b-tjisslja6q] {
    font-style: normal;
    color: var(--accent);
    font-weight: 500;
}

.wsp-no-manuscript-btn[b-tjisslja6q] {
    display: inline-flex;
    align-items: center;
    background: var(--accent);
    color: var(--bg);
    border: none;
    padding: 6px 14px;
    border-radius: var(--r);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    margin-top: 10px;
    transition: background 150ms ease;
}

.wsp-no-manuscript-btn:hover[b-tjisslja6q] {
    background: var(--accent-hover);
}

.wsp-header-titles[b-tjisslja6q] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wsp-subtitle[b-tjisslja6q] {
    font-size: 11px;
    color: var(--ink2);
}

.wsp-subtitle strong[b-tjisslja6q] {
    color: var(--accent);
    font-weight: 600;
}

.wsp-more-settings-btn[b-tjisslja6q] {
    display: block;
    width: 100%;
    margin-top: 10px;
    background: transparent;
    border: 1px solid var(--border);
    color: var(--ink2);
    padding: 7px 12px;
    border-radius: var(--r);
    font-size: 12px;
    cursor: pointer;
    text-align: left;
    transition: all 150ms ease;
}

.wsp-more-settings-btn:hover[b-tjisslja6q] {
    color: var(--accent);
    border-color: var(--accent);
    background: var(--accent-lt);
}

.wsp-stats-list[b-tjisslja6q] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wsp-stat-row[b-tjisslja6q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    border-bottom: 1px solid var(--border);
}

.wsp-stat-row:last-child[b-tjisslja6q] {
    border-bottom: none;
}

.wsp-stat-row .wsp-stat-label[b-tjisslja6q] {
    font-size: 13px;
    color: var(--ink2);
    text-transform: none;
    letter-spacing: 0;
    flex: 1;
    min-width: 0;
    padding-right: 8px;
}

.wsp-stat-row .wsp-stat-value[b-tjisslja6q] {
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
    flex-shrink: 0;
}

.wsp-settings-link-section[b-tjisslja6q] {
    padding-top: 8px;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.app-layout[b-b08g9ggq0e] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background-color: var(--bg);
    color: var(--ink);
}

.workspace[b-b08g9ggq0e] {
    position: relative;
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* Wraps pane-workspace + pane-inspector; provides stacking context for the
   project-lock overlay so it covers only the editor area, not the navigator. */
.editor-inspector-wrap[b-b08g9ggq0e] {
    position: relative;
    display: flex;
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.pane-navigator[b-b08g9ggq0e] {
    width: var(--nav-width);
    min-width: var(--nav-width);
    max-width: 360px;
    flex-shrink: 0;
    background-color: var(--bg2);
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.pane-workspace[b-b08g9ggq0e] {
    flex: 1;
    overflow: hidden;
    background-color: var(--bg);
    display: flex;
    flex-direction: column;
}

.pane-inspector[b-b08g9ggq0e] {
    width: var(--inspector-width);
    min-width: 360px;
    max-width: 480px;
    flex-shrink: 0;
    background-color: var(--bg2);
    border-left: 1px solid var(--border);
    display: flex;
    flex-direction: column;
}

.pane-inspector--hidden[b-b08g9ggq0e] {
    display: none;
}

.pane-inspector--chat[b-b08g9ggq0e] {
    min-width: 440px;
    max-width: 640px;
}

.pane-header[b-b08g9ggq0e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    min-height: 40px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ink2);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.pane-header-label[b-b08g9ggq0e] {
    /* inherits pane-header text styles */
}

/* Add button in the navigator pane header */
.add-btn[b-b08g9ggq0e] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--ink2);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
    white-space: nowrap;
}

.add-btn:hover[b-b08g9ggq0e] {
    color: var(--ink);
    border-color: var(--accent);
    background: var(--accent-lt);
}

.add-btn--active[b-b08g9ggq0e] {
    color: var(--accent);
    border-color: var(--accent);
    background: var(--accent-lt);
}

.add-btn--capped[b-b08g9ggq0e] {
    opacity: 0.6;
}

.pane-content[b-b08g9ggq0e] {
    padding: 16px;
    flex: 1;
    overflow-y: auto;
    /* Always reserve the scrollbar gutter so content height changes (e.g. switching scenes,
       related items loading) don't toggle the scrollbar and shift the inspector's full-width
       controls like Generate Notes horizontally. */
    scrollbar-gutter: stable;
}

/* When a chat panel is open the pane-content must be a flex column so the
   height chain reaches board-chat-panel and its internal messages div scrolls. */
.pane-inspector--chat .pane-content[b-b08g9ggq0e] {
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    /* Chat mode scrolls inside board-chat-panel, not here, so don't reserve a gutter. */
    scrollbar-gutter: auto;
}

/* The intermediate wrapper div rendered by MainLayout around BoardInspector */
.pane-inspector--chat .pane-content > div[b-b08g9ggq0e] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.pane-navigator-content[b-b08g9ggq0e] {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.entity-inspector[b-b08g9ggq0e] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.inspector-label-small[b-b08g9ggq0e] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ink2);
    margin: 0;
}

.entity-name[b-b08g9ggq0e] {
    font-size: 0.9rem;
    color: var(--ink);
    font-weight: 500;
    margin: 0;
}

.dimmed[b-b08g9ggq0e] {
    color: var(--ink2);
    font-size: 0.85rem;
}

/* --------------------------------------------------------------------------
   Session Loading
   -------------------------------------------------------------------------- */

.session-loading[b-b08g9ggq0e] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background-color: var(--bg);
}

.session-loading-text[b-b08g9ggq0e] {
    font-size: 1rem;
    color: var(--ink2);
}

.session-expired-banner[b-b08g9ggq0e] {
    padding: 8px 16px;
    background: color-mix(in srgb, var(--status-error) 14%, var(--bg2));
    border-bottom: 1px solid color-mix(in srgb, var(--status-error) 40%, transparent);
    font-size: 0.85rem;
    color: var(--status-error);
    font-weight: 600;
    text-align: center;
    flex-shrink: 0;
}

.session-expired-reload[b-b08g9ggq0e] {
    background: none;
    border: none;
    padding: 0;
    color: var(--status-error);
    font-size: 0.85rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.save-failing-banner[b-b08g9ggq0e] {
    padding: 8px 16px;
    background: color-mix(in srgb, var(--status-error) 14%, var(--bg2));
    border-bottom: 1px solid color-mix(in srgb, var(--status-error) 40%, transparent);
    font-size: 0.85rem;
    color: var(--status-error);
    font-weight: 600;
    text-align: center;
    flex-shrink: 0;
}

.subscription-inactive-banner[b-b08g9ggq0e] {
    padding: 8px 16px;
    background: color-mix(in srgb, var(--status-warning) 14%, var(--bg2));
    border-bottom: 1px solid color-mix(in srgb, var(--status-warning) 40%, transparent);
    font-size: 0.85rem;
    color: var(--status-warning);
    font-weight: 600;
    text-align: center;
    flex-shrink: 0;
}

/* Planning surface — sits below the header, fills the workspace area */

.planning-surface-wrap[b-b08g9ggq0e] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.board-surface-wrap[b-b08g9ggq0e] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.board-find-wrap[b-b08g9ggq0e] {
    position: relative;
}

/* -----------------------------------------------------------------------
   Micro-tip anchors — fixed overlays for first-run tips.
   Surface tips (boards, planning) sit bottom-right of their surface, above the
   checklist panel (checklist is z-index 500; tips use 520 via MicroTip.razor.css).
   AI tip also sits bottom-right but is elevated by 80px so it never overlaps a
   concurrent surface tip — when both are visible at once (e.g. user opens Board
   Chat for the first time while on Boards) the AI tip appears above the surface tip.
   ----------------------------------------------------------------------- */
.micro-tip-anchor[b-b08g9ggq0e] {
    position: fixed;
    pointer-events: none;
}

.micro-tip-anchor--boards[b-b08g9ggq0e],
.micro-tip-anchor--planning[b-b08g9ggq0e] {
    bottom: 24px;
    right: 24px;
    pointer-events: auto;
}

.micro-tip-anchor--ai[b-b08g9ggq0e] {
    bottom: 104px;
    right: 24px;
    pointer-events: auto;
}

.workspace--hidden[b-b08g9ggq0e] {
    display: none !important;
}

/* ── Focus mode ──────────────────────────────────────────────────────────
   A presentation state over the live editor: the chrome is hidden and the
   editor/inspector wrapper goes full-bleed. The LongDocumentEditor stays
   mounted (cursor + scroll preserved); only its own scoped styling changes. */
/* .app-header now lives in the AppHeader child component, so ::deep reaches across the
   isolation boundary to hide it in focus mode. */
.app-layout--focus[b-b08g9ggq0e]  .app-header {
    display: none;
}

.app-layout--focus .pane-navigator[b-b08g9ggq0e],
.app-layout--focus .pane-inspector[b-b08g9ggq0e] {
    display: none;
}

.app-layout--focus[b-b08g9ggq0e],
.app-layout--focus .pane-workspace[b-b08g9ggq0e] {
    background-color: var(--bg2);
}

/* --------------------------------------------------------------------------
   Split-Pane Reference Viewer
   -------------------------------------------------------------------------- */

.split-pane-container[b-b08g9ggq0e] {
    display: flex;
    flex-direction: row;
    height: 100%;
    overflow: hidden;
}

.split-pane-primary[b-b08g9ggq0e] {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
    transition: flex 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.split-pane-reference[b-b08g9ggq0e] {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
    transition: flex 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Disable transitions during drag to prevent jitter */
.split-pane-container--dragging .split-pane-primary[b-b08g9ggq0e],
.split-pane-container--dragging .split-pane-reference[b-b08g9ggq0e] {
    transition: none;
}

/* Prevent text selection during drag */
.split-pane-container--dragging[b-b08g9ggq0e] {
    user-select: none;
    -webkit-user-select: none;
}

/* ---- Divider ---- */

.split-pane-divider[b-b08g9ggq0e] {
    width: 5px;
    flex-shrink: 0;
    background-color: var(--border);
    cursor: col-resize;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: background-color 150ms ease-in-out;
    padding: 0 2.5px;
    margin: 0 -2.5px;
    box-sizing: content-box;
}

.split-pane-divider:hover[b-b08g9ggq0e],
.split-pane-divider:active[b-b08g9ggq0e] {
    background-color: var(--accent);
}

.split-pane-divider:focus-visible[b-b08g9ggq0e] {
    background-color: var(--accent);
    outline: 2px solid var(--accent-hover);
    outline-offset: -2px;
}

/* Affordance dots */
.split-pane-divider-affordance[b-b08g9ggq0e] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    pointer-events: none;
}

.split-pane-divider-affordance[b-b08g9ggq0e]::before,
.split-pane-divider-affordance[b-b08g9ggq0e]::after {
    content: '';
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: var(--divider-dot);
}

/* Third dot via box-shadow */
.split-pane-divider-affordance[b-b08g9ggq0e]::before {
    box-shadow: 0 6px 0 var(--divider-dot);
}

.split-pane-divider:hover .split-pane-divider-affordance[b-b08g9ggq0e]::before,
.split-pane-divider:hover .split-pane-divider-affordance[b-b08g9ggq0e]::after {
    background-color: var(--divider-dot-hover);
}

.split-pane-divider:hover .split-pane-divider-affordance[b-b08g9ggq0e]::before {
    box-shadow: 0 6px 0 var(--divider-dot-hover);
}

.restore-success-bar[b-b08g9ggq0e] {
    flex-shrink: 0;
    padding: 7px 14px;
    background: color-mix(in srgb, var(--status-success) 15%, transparent);
    border-bottom: 1px solid rgba(67, 160, 71, 0.25);
    color: var(--status-success);
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 500;
    animation: restore-success-fade-b-b08g9ggq0e 3s ease-in-out forwards;
}

@keyframes restore-success-fade-b-b08g9ggq0e {
    0%   { opacity: 1; }
    80%  { opacity: 1; }
    100% { opacity: 0; }
}

.history-active-notice[b-b08g9ggq0e] {
    padding: 7px 12px;
    font-size: 0.75rem;
    font-family: var(--font-ui);
    color: var(--ink3);
    background: var(--bg3);
    border-bottom: 1px solid var(--border);
    text-align: center;
}

/* --------------------------------------------------------------------------
   Find/replace bar positioning context
   The bar is absolutely positioned at the top of this flex column so it
   overlays the editor without shifting it down.
   -------------------------------------------------------------------------- */

.editor-find-wrap[b-b08g9ggq0e] {
    position: relative;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* /Layout/MobileLayout.razor.rz.scp.css */
.mobile-loading[b-xq4zgtt7mo] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100dvh;
    background: var(--bg);
}

.mobile-loading-text[b-xq4zgtt7mo] {
    color: var(--text-dimmed);
    font-family: var(--font-ui);
    font-size: 0.95rem;
}

.mobile-shell[b-xq4zgtt7mo] {
    display: flex;
    flex-direction: column;
    height: 100dvh;
    background: var(--bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
}

.mobile-header[b-xq4zgtt7mo] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    padding-top: calc(10px + env(safe-area-inset-top));
    border-bottom: 1px solid var(--border);
    background: var(--pane-bg);
    flex-shrink: 0;
}

.mobile-project-switcher[b-xq4zgtt7mo] {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    padding: 4px 6px;
    border: none;
    background: none;
    color: var(--text-primary);
    cursor: pointer;
}

.mobile-project-name[b-xq4zgtt7mo] {
    font-family: var(--font-ui);
    font-size: 0.95rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-tab-host[b-xq4zgtt7mo] {
    height: 100%;
}

.mobile-content[b-xq4zgtt7mo] {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.mobile-placeholder[b-xq4zgtt7mo] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 24px;
    color: var(--text-dimmed);
    text-align: center;
}

.mobile-tabbar[b-xq4zgtt7mo] {
    display: flex;
    flex-shrink: 0;
    border-top: 1px solid var(--border);
    background: var(--pane-bg);
    padding-bottom: env(safe-area-inset-bottom);
}

.mobile-tab[b-xq4zgtt7mo] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 8px 0 6px;
    background: none;
    border: none;
    color: var(--text-dimmed);
    font-family: var(--font-ui);
    font-size: 0.7rem;
    cursor: pointer;
}

.mobile-tab--active[b-xq4zgtt7mo] {
    color: var(--accent);
}
/* /Pages/Account.razor.rz.scp.css */
.account-page[b-mbe0t1bhbr] {
    box-sizing: border-box;
    padding: 2rem 1.5rem;
    height: 100vh;
    overflow-y: auto;
    background: var(--bg);
    animation: account-fade-in-b-mbe0t1bhbr 200ms ease-in-out both;
}

@keyframes account-fade-in-b-mbe0t1bhbr {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.account-container[b-mbe0t1bhbr] {
    max-width: 780px;
    width: 100%;
    margin-inline: auto;
}

.account-header[b-mbe0t1bhbr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.account-title[b-mbe0t1bhbr] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0;
}

.account-close-btn[b-mbe0t1bhbr] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.account-close-btn:hover[b-mbe0t1bhbr] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

.account-section[b-mbe0t1bhbr] {
    margin-bottom: 2.5rem;
}

.account-section-title[b-mbe0t1bhbr] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0 0 0.25rem;
}

.account-section-description[b-mbe0t1bhbr] {
    font-size: 0.85rem;
    color: var(--ink2);
    margin: 0 0 1rem;
    line-height: 1.5;
}

.account-feature-list[b-mbe0t1bhbr] {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.account-feature-list li[b-mbe0t1bhbr] {
    position: relative;
    padding-left: 1.5rem;
    font-size: 0.85rem;
    color: var(--ink);
    line-height: 1.4;
}

.account-feature-list li[b-mbe0t1bhbr]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
}

.account-loading[b-mbe0t1bhbr] {
    font-size: 0.85rem;
    color: var(--ink2);
    margin: 0;
}

.account-usage[b-mbe0t1bhbr] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.account-usage-count[b-mbe0t1bhbr] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

.account-usage-label[b-mbe0t1bhbr] {
    font-size: 0.85rem;
    color: var(--ink2);
}

.account-toggle-row[b-mbe0t1bhbr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.account-toggle-label-group[b-mbe0t1bhbr] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.account-toggle-label[b-mbe0t1bhbr] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ink);
}

.account-toggle-note[b-mbe0t1bhbr] {
    font-size: 0.8rem;
    color: var(--ink2);
}

.adv-toggle[b-mbe0t1bhbr] {
    position: relative;
    width: 38px;
    height: 20px;
    background: var(--border);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    padding: 0;
    transition: background-color 150ms ease-in-out;
    flex-shrink: 0;
}

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

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

.adv-toggle-thumb[b-mbe0t1bhbr] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 150ms ease-in-out;
}

.adv-toggle--on .adv-toggle-thumb[b-mbe0t1bhbr] {
    transform: translateX(18px);
}

.studio-usage-notice[b-mbe0t1bhbr] {
    margin: 0.75rem 0 0;
    font-size: 0.8rem;
    line-height: 1.5;
    border-radius: var(--r);
    padding: 0.5rem 0.75rem;
}

.studio-usage-notice--warning[b-mbe0t1bhbr] {
    color: var(--status-warning);
    background: color-mix(in srgb, var(--status-warning) 10%, transparent);
}

.studio-usage-notice--limit[b-mbe0t1bhbr] {
    color: var(--status-error);
    background: color-mix(in srgb, var(--status-error) 10%, transparent);
}
/* /Pages/Landing.razor.rz.scp.css */
.landing[b-vxlee6jah6] {
    /* html/body have overflow:hidden + height:100% globally (see wwwroot/css/app.css).
       Give .landing a fixed viewport height so its own overflow-y: auto has a scroll
       context — without this, content below the fold (ComparisonTable, FAQ, footer)
       is clipped by body and has no scroll surface. */
    height: 100vh;
    background-color: var(--bg);
    color: var(--ink);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.landing-hero[b-vxlee6jah6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    padding: 56px 10% 48px;
    min-height: auto;
}

.hero-content[b-vxlee6jah6] {
    flex: 1;
    max-width: 560px;
}

.hero-brand[b-vxlee6jah6] {
    display: flex;
    align-items: center;
    color: var(--ink);
    margin-bottom: 32px;
}

.hero-headline[b-vxlee6jah6] {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--ink);
    margin: 0 0 24px;
}

.hero-subheadline[b-vxlee6jah6] {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--ink2);
    margin: 0 0 40px;
    max-width: 480px;
}

.hero-signin[b-vxlee6jah6] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.keep-logged-in[b-vxlee6jah6] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--ink2);
    cursor: pointer;
    user-select: none;
}

.keep-logged-in input[type="checkbox"][b-vxlee6jah6] {
    width: 15px;
    height: 15px;
    accent-color: var(--accent);
    cursor: pointer;
}

.signin-loading[b-vxlee6jah6] {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--ink2);
    font-size: 0.9rem;
}

.spinner[b-vxlee6jah6] {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid var(--border);
    border-top-color: var(--accent-hover);
    border-radius: 50%;
    animation: spin-b-vxlee6jah6 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes spin-b-vxlee6jah6 {
    to { transform: rotate(360deg); }
}

.signin-error[b-vxlee6jah6] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--status-error);
}

.hero-graphic[b-vxlee6jah6] {
    flex: 0 0 auto;
    position: relative;
    width: 420px;
    height: 320px;
    display: none;
}

.graphic-scene[b-vxlee6jah6] {
    position: absolute;
    inset: 0;
    opacity: 1;
}

.scene-prd[b-vxlee6jah6]::before {
    content: '';
    position: absolute;
    inset: -20px;
    background: radial-gradient(ellipse at 40% 45%, var(--accent-lt) 0%, transparent 65%);
    border-radius: 50%;
    z-index: 0;
}

.graph-node[b-vxlee6jah6] {
    position: absolute;
    padding: 7px 16px;
    border-radius: 10px;
    background-color: var(--bg2);
    border: 1.5px solid var(--accent-lt);
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--ink);
    white-space: nowrap;
    box-shadow: 0 2px 12px var(--accent-lt);
    z-index: 1;
}

.graph-edges[b-vxlee6jah6] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}

.graph-edges line[b-vxlee6jah6] {
    stroke-width: 1.5;
    stroke-dasharray: 4 3;
    stroke: var(--accent);
    opacity: 0.4;
}

.node-c1[b-vxlee6jah6] { top: 35px; left: 50px; }
.node-c2[b-vxlee6jah6] { top: 120px; left: 140px; }
.node-c3[b-vxlee6jah6] { top: 55px; left: 240px; }
.node-c4[b-vxlee6jah6] { top: 205px; left: 50px; }
.node-c5[b-vxlee6jah6] { top: 170px; left: 215px; }

.scene-pm-only .scene-prd .graph-node[b-vxlee6jah6] {
    border-color: var(--accent-lt);
    box-shadow: 0 2px 12px var(--accent-lt);
}

.landing-features[b-vxlee6jah6] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background-color: var(--border);
    border-top: 1px solid var(--border);
}

.feature-card[b-vxlee6jah6] {
    padding: 40px 36px;
    background-color: var(--bg2);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.feature-icon[b-vxlee6jah6] {
    color: var(--accent-hover);
    flex-shrink: 0;
}

.feature-title[b-vxlee6jah6] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.feature-body[b-vxlee6jah6] {
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--ink2);
    margin: 0;
}

@media (min-width: 1100px) {
    .hero-graphic[b-vxlee6jah6] { display: block; }
}

@media (max-width: 900px) {
    .landing-hero[b-vxlee6jah6]      { padding: 60px 6%; min-height: auto; }
    .hero-headline[b-vxlee6jah6]     { font-size: 2.2rem; }
    .landing-features[b-vxlee6jah6]  { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .landing-hero[b-vxlee6jah6]  { padding: 48px 5%; }
    .hero-headline[b-vxlee6jah6] { font-size: 1.8rem; }
}

/* Writer-mode marketing styles live in the global wwwroot/css/landing.css
   (scoped under `.landing` so child components are styled too). */
/* /Pages/ProjectSelect.razor.rz.scp.css */
.project-select-page[b-prz6r6m9qp] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--bg);
    animation: ps-fade-in-b-prz6r6m9qp 200ms ease-in-out both;
}

@keyframes ps-fade-in-b-prz6r6m9qp {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ps-header[b-prz6r6m9qp] {
    height: 48px;
    background-color: var(--bg2);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding: 0 16px;
    z-index: 100;
}

.ps-header-content[b-prz6r6m9qp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.ps-header-left[b-prz6r6m9qp] {
    display: flex;
    align-items: center;
}

.ps-header-right[b-prz6r6m9qp] {
    display: flex;
    align-items: center;
}

.ps-branding[b-prz6r6m9qp] {
    display: flex;
    align-items: center;
    color: var(--ink);
}

.user-menu[b-prz6r6m9qp] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: var(--r);
    transition: background-color 150ms ease-in-out;
    user-select: none;
}

.user-menu:hover[b-prz6r6m9qp] {
    background-color: var(--border);
}

.user-avatar[b-prz6r6m9qp] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.user-avatar--monogram[b-prz6r6m9qp] {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--accent);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    flex-shrink: 0;
}

.user-dropdown[b-prz6r6m9qp] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background-color: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r);
    min-width: 140px;
    box-shadow: var(--shadow-lg);
    z-index: 200;
    overflow: hidden;
}

.user-dropdown-item[b-prz6r6m9qp] {
    display: block;
    width: 100%;
    padding: 10px 16px;
    background: none;
    border: none;
    color: var(--ink);
    font-size: 0.875rem;
    text-align: left;
    cursor: pointer;
    transition: background-color 150ms ease-in-out;
}

.user-dropdown-item:hover[b-prz6r6m9qp] {
    background-color: var(--border);
}

.ps-main[b-prz6r6m9qp] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1.5rem;
    overflow-y: auto;
}

.ps-loading[b-prz6r6m9qp] {
    display: flex;
    justify-content: center;
}

.ps-loading-text[b-prz6r6m9qp] {
    font-size: 1rem;
    color: var(--ink2);
}

.ps-empty[b-prz6r6m9qp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 64px 32px;
    text-align: center;
    gap: 12px;
}

.ps-empty-icon[b-prz6r6m9qp] {
    color: var(--ink3);
    margin-bottom: 8px;
}

.ps-empty-title[b-prz6r6m9qp] {
    font-family: var(--font-editor);
    font-size: 18px;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.ps-empty-subtitle[b-prz6r6m9qp] {
    font-size: 0.9rem;
    color: var(--ink2);
    margin: 0 0 1.5rem;
}

.ps-grid[b-prz6r6m9qp] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

.ps-grid > .ps-card[b-prz6r6m9qp] {
    width: 260px;
    flex-shrink: 0;
}

.ps-card[b-prz6r6m9qp] {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
}

.ps-card:hover[b-prz6r6m9qp] {
    border-color: var(--accent);
    box-shadow: var(--shadow);
}

.ps-card:hover .ps-card-name[b-prz6r6m9qp] {
    color: var(--accent);
}

.ps-card-body[b-prz6r6m9qp] {
    padding: 1.25rem 1.25rem 1rem;
    flex: 1;
    cursor: pointer;
}

.ps-card-name[b-prz6r6m9qp] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 0.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-card-meta[b-prz6r6m9qp] {
    font-size: 0.78rem;
    color: var(--ink2);
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.ps-card-meta-sep[b-prz6r6m9qp] {
    opacity: 0.5;
}

.ps-card-mode[b-prz6r6m9qp] {
    font-size: 0.75rem;
    color: var(--ink2);
    text-transform: capitalize;
}

.ps-card-actions[b-prz6r6m9qp] {
    display: flex;
    justify-content: flex-end;
    gap: 0.25rem;
    padding: 0.5rem 0.75rem;
    border-top: 1px solid var(--border);
}

.ps-card-edit-btn[b-prz6r6m9qp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.ps-card-edit-btn:hover[b-prz6r6m9qp] {
    color: var(--accent);
    border-color: var(--accent-lt);
    background: var(--accent-lt);
}

.ps-card-delete-btn[b-prz6r6m9qp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.ps-card-delete-btn:hover[b-prz6r6m9qp] {
    color: var(--status-error);
    border-color: color-mix(in srgb, var(--status-error) 40%, transparent);
    background: color-mix(in srgb, var(--status-error) 8%, transparent);
}

.ps-card--add[b-prz6r6m9qp] {
    border-style: dashed;
    cursor: pointer;
}

.ps-card--add:hover[b-prz6r6m9qp] {
    border-color: var(--accent);
}

.ps-add-body[b-prz6r6m9qp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--ink2);
    min-height: 100px;
}

.ps-card--add:hover .ps-add-body[b-prz6r6m9qp] {
    color: var(--accent);
}

.ps-add-label[b-prz6r6m9qp] {
    font-size: 0.9rem;
    font-weight: 600;
}
/* /Pages/Settings.razor.rz.scp.css */
.settings-page[b-vsabrnduyv] {
    box-sizing: border-box;
    padding: 2rem 1.5rem;
    height: 100vh;
    overflow-y: auto;
    background: var(--bg);
    animation: settings-fade-in-b-vsabrnduyv 200ms ease-in-out both;
}

@keyframes settings-fade-in-b-vsabrnduyv {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.settings-container[b-vsabrnduyv] {
    max-width: 780px;
    width: 100%;
    margin-inline: auto;
}

.settings-header[b-vsabrnduyv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.settings-title[b-vsabrnduyv] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0;
}

.settings-close-btn[b-vsabrnduyv] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r);
    color: var(--ink2);
    cursor: pointer;
    transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background 150ms ease-in-out;
}

.settings-close-btn:hover[b-vsabrnduyv] {
    color: var(--ink);
    border-color: var(--border2);
    background: var(--bg3);
}

.settings-section[b-vsabrnduyv] {
    margin-bottom: 2.5rem;
}

.settings-section-title[b-vsabrnduyv] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0 0 0.25rem;
}

.settings-section-description[b-vsabrnduyv] {
    font-size: 0.85rem;
    color: var(--ink2);
    margin: 0 0 1.25rem;
    line-height: 1.5;
}

.mode-cards[b-vsabrnduyv] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.mode-card[b-vsabrnduyv] {
    background: var(--bg2);
    border: 1px solid var(--border2);
    border-radius: var(--r-lg);
    padding: 1rem;
    cursor: pointer;
    transition: border-color 150ms ease-in-out,
                box-shadow 150ms ease-in-out,
                transform 150ms ease-in-out;
    flex: 1;
    min-width: 180px;
    max-width: 240px;
    text-align: center;
    outline: none;
    user-select: none;
}

.mode-card:hover[b-vsabrnduyv] {
    border-color: var(--border2);
}

.mode-card.selected[b-vsabrnduyv] {
    border-color: var(--accent-hover);
    box-shadow: 0 0 0 2px var(--accent-lt);
    transform: scale(1.02);
}

.mode-card:focus-visible[b-vsabrnduyv] {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

.mode-card-illustration[b-vsabrnduyv] {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px;
}

.mode-card-title[b-vsabrnduyv] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ink);
    margin-top: 0.75rem;
}

.mode-card-description[b-vsabrnduyv] {
    font-size: 0.78rem;
    color: var(--ink2);
    margin-top: 0.35rem;
    line-height: 1.4;
}

.settings-actions[b-vsabrnduyv] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.settings-save-btn[b-vsabrnduyv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.75rem;
    border-radius: var(--r);
    font-family: var(--font-ui);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms ease-in-out, opacity 150ms ease-in-out, color 150ms ease-in-out, border-color 150ms ease-in-out;
    min-width: 140px;
    min-height: 38px;
    background: var(--accent);
    color: var(--accent-text);
    border: 1px solid var(--accent);
}

.settings-save-btn:hover:not(:disabled)[b-vsabrnduyv] {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
}

.settings-save-btn:disabled[b-vsabrnduyv] {
    opacity: 0.4;
    cursor: not-allowed;
}

.drive-status[b-vsabrnduyv] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.drive-status-indicator[b-vsabrnduyv] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.drive-status-text[b-vsabrnduyv] {
    font-size: 0.875rem;
    color: var(--status-success);
    font-weight: 500;
}

.btn-disconnect[b-vsabrnduyv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.5rem 1.1rem;
    background: transparent;
    color: var(--status-error);
    border: 1px solid var(--status-error);
    border-radius: var(--r);
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    min-height: 36px;
    transition: background 150ms ease-in-out, color 150ms ease-in-out, opacity 150ms ease-in-out;
}

.btn-disconnect:hover:not(:disabled)[b-vsabrnduyv] {
    background: rgba(229, 57, 53, 0.1);
}

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

.disconnect-success-msg[b-vsabrnduyv] {
    margin-top: 0.75rem;
    font-size: 0.85rem;
    color: var(--status-success);
}

.btn-spinner[b-vsabrnduyv] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: btn-spin-b-vsabrnduyv 0.7s linear infinite;
}

@keyframes btn-spin-b-vsabrnduyv {
    to {
        transform: rotate(360deg);
    }
}

.appearance-pills[b-vsabrnduyv] {
    display: flex;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    overflow: hidden;
    width: fit-content;
}

.appearance-pill[b-vsabrnduyv] {
    padding: 0.5rem 1.25rem;
    background: var(--bg2);
    border: none;
    border-right: 1px solid var(--border);
    color: var(--ink2);
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 150ms ease-in-out, color 150ms ease-in-out;
    outline: none;
}

.appearance-pill:last-child[b-vsabrnduyv] {
    border-right: none;
}

.appearance-pill:hover:not(.selected)[b-vsabrnduyv] {
    background: var(--bg3);
    color: var(--ink);
}

.appearance-pill.selected[b-vsabrnduyv] {
    background: var(--accent);
    color: #ffffff;
}

.appearance-pill:focus-visible[b-vsabrnduyv] {
    outline: 2px solid var(--accent-hover);
    outline-offset: -2px;
    z-index: 1;
}

.font-pills[b-vsabrnduyv] {
    display: flex;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    overflow: hidden;
    width: fit-content;
    flex-wrap: wrap;
    max-width: 100%;
}

.font-pill[b-vsabrnduyv] {
    padding: 0.5rem 1.25rem;
    background: var(--bg2);
    border: none;
    border-right: 1px solid var(--border);
    color: var(--ink2);
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 150ms ease-in-out, color 150ms ease-in-out;
    outline: none;
}

.font-pill:last-child[b-vsabrnduyv] {
    border-right: none;
}

.font-pill:hover:not(.selected)[b-vsabrnduyv] {
    background: var(--bg3);
    color: var(--ink);
}

.font-pill.selected[b-vsabrnduyv] {
    background: var(--accent);
    color: #ffffff;
}

.font-pill:focus-visible[b-vsabrnduyv] {
    outline: 2px solid var(--accent-hover);
    outline-offset: -2px;
    z-index: 1;
}

.settings-toggle-row[b-vsabrnduyv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.settings-toggle-label-group[b-vsabrnduyv] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.settings-toggle-label[b-vsabrnduyv] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ink);
}

.settings-toggle-note[b-vsabrnduyv] {
    font-size: 0.8rem;
    color: var(--ink2);
}

.field-hint[b-vsabrnduyv] {
    font-size: 0.78rem;
    color: var(--ink2);
    margin: 4px 0 0;
    line-height: 1.4;
}

.adv-toggle[b-vsabrnduyv] {
    position: relative;
    width: 38px;
    height: 20px;
    background: var(--border);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    padding: 0;
    transition: background-color 150ms ease-in-out;
    flex-shrink: 0;
}

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

.adv-toggle-thumb[b-vsabrnduyv] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 150ms ease-in-out;
}

.adv-toggle--on .adv-toggle-thumb[b-vsabrnduyv] {
    transform: translateX(18px);
}

.settings-toggle-row--spaced[b-vsabrnduyv] {
    margin-top: 1.25rem;
}

