/* /Features/Auth/AuthForm.razor.rz.scp.css */
.auth-form[b-npt864cpvh] {
    display: grid;
    gap: var(--space-4);
}

.auth-form[b-npt864cpvh]  .inset-group {
    margin-bottom: 0;
}

.submit[b-npt864cpvh] {
    width: 100%;
}

.switch[b-npt864cpvh] {
    text-align: center;
    color: var(--label-secondary);
    font-size: var(--text-subhead);
}

.spinner[b-npt864cpvh] {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #FFFFFF;
    animation: spin-b-npt864cpvh 0.8s linear infinite;
}

@keyframes spin-b-npt864cpvh {
    to { transform: rotate(360deg); }
}
/* /Features/Auth/GoogleSignIn.razor.rz.scp.css */
/* Google's sign-in guidelines: white button, the "G" mark, and the provider name in the label. */
.google-button[b-epm4hvvjzc] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    width: 100%;
    min-height: var(--tap-min);
    padding: 0 var(--space-5);
    border: 1px solid var(--separator);
    border-radius: var(--radius-full);
    background: var(--background-secondary);
    color: var(--label);
    font-size: var(--text-headline);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.google-button:hover[b-epm4hvvjzc] {
    background: var(--fill-secondary);
}

.google-button:active[b-epm4hvvjzc] {
    transform: scale(0.98);
}

.google-logo[b-epm4hvvjzc] {
    flex: none;
}

.divider[b-epm4hvvjzc] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--label-secondary);
    font-size: var(--text-footnote);
}

.divider[b-epm4hvvjzc]::before,
.divider[b-epm4hvvjzc]::after {
    content: "";
    flex: 1;
    height: 0.5px;
    background: var(--separator);
}
/* /Features/Library/LibraryPage.razor.rz.scp.css */
.page-header[b-gorksfcdxs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
}

h1[b-gorksfcdxs] {
    font-size: var(--text-large-title);
}

.novel-grid[b-gorksfcdxs] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--space-4);
}
/* /Features/Library/NovelCard.razor.rz.scp.css */
.novel-card[b-oq8agnvyvx] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-height: 200px;
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    background: var(--background-secondary);
    box-shadow: var(--card-shadow);
    color: var(--label);
    transition: transform 0.15s ease;
}

.novel-card:hover[b-oq8agnvyvx] {
    transform: translateY(-2px);
}

.novel-card:active[b-oq8agnvyvx] {
    transform: scale(0.99);
}

.card-top[b-oq8agnvyvx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
}

.genre[b-oq8agnvyvx] {
    color: var(--label-secondary);
    font-size: var(--text-footnote);
}

.card-title[b-oq8agnvyvx] {
    font-size: var(--text-title3);
}

.logline[b-oq8agnvyvx] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
    line-height: 1.7;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-bottom[b-oq8agnvyvx] {
    display: grid;
    gap: var(--space-2);
    margin-top: auto;
}

.activity[b-oq8agnvyvx] {
    color: var(--accent);
    font-size: var(--text-footnote);
    font-weight: 600;
}

.activity.error[b-oq8agnvyvx] {
    color: var(--danger);
}

.episodes[b-oq8agnvyvx] {
    display: flex;
    justify-content: space-between;
    color: var(--label-secondary);
    font-size: var(--text-footnote);
}
/* /Features/NewNovel/NewNovelPage.razor.rz.scp.css */
.wizard-header[b-wopboex8s0] {
    margin-bottom: var(--space-5);
}

.back-link[b-wopboex8s0] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    min-height: var(--tap-min);
    font-size: var(--text-callout);
}

h1[b-wopboex8s0] {
    font-size: var(--text-large-title);
    margin-bottom: var(--space-4);
}

.step-dots[b-wopboex8s0] {
    display: flex;
    gap: var(--space-1);
    padding: 0;
    margin: 0;
    list-style: none;
    overflow-x: auto;
    scrollbar-width: none;
}

.step-dot[b-wopboex8s0] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-height: var(--tap-min);
    padding: 0 var(--space-3) 0 var(--space-2);
    border: 0;
    border-radius: var(--radius-full);
    background: transparent;
    color: var(--label-secondary);
    font-size: var(--text-subhead);
    white-space: nowrap;
    cursor: pointer;
}

.dot-number[b-wopboex8s0] {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--fill-secondary);
    font-size: var(--text-footnote);
    font-weight: 600;
}

.step-dot.done .dot-number[b-wopboex8s0] {
    background: var(--accent-soft);
    color: var(--accent);
}

.step-dot.current[b-wopboex8s0] {
    background: var(--background-secondary);
    color: var(--label);
    font-weight: 600;
    box-shadow: var(--card-shadow);
}

.step-dot.current .dot-number[b-wopboex8s0] {
    background: var(--accent);
    color: var(--on-accent);
}

@media (max-width: 640px) {
    .step-dot:not(.current) .dot-label[b-wopboex8s0] {
        display: none;
    }
}

.step-body[b-wopboex8s0] {
    display: grid;
    gap: var(--space-2);
    animation: step-in-b-wopboex8s0 0.25s ease;
}

@keyframes step-in-b-wopboex8s0 {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
}

.action-bar[b-wopboex8s0] {
    position: fixed;
    z-index: 40;
    bottom: calc(var(--space-4) + env(safe-area-inset-bottom));
    inset-inline: var(--space-4);
    max-width: 640px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-2);
    border-radius: var(--radius-full);
}

.bar-hint[b-wopboex8s0] {
    flex: 1;
    text-align: center;
    color: var(--label-secondary);
    font-size: var(--text-footnote);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Features/NewNovel/Steps/CastStep.razor.rz.scp.css */
.relationship[b-446yb9i8a1] {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
    position: relative;
}

.relationship + .relationship[b-446yb9i8a1]::before {
    content: "";
    position: absolute;
    top: 0;
    inset-inline: var(--space-4) 0;
    height: 0.5px;
    background: var(--separator);
}

.pair[b-446yb9i8a1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.pair select[b-446yb9i8a1] {
    flex: 1;
    min-width: 0;
}

.link[b-446yb9i8a1] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
}

.hint-error[b-446yb9i8a1] {
    color: var(--danger);
    font-size: var(--text-footnote);
}

.remove-btn[b-446yb9i8a1] {
    display: grid;
    place-items: center;
    flex: none;
    width: var(--tap-min);
    height: var(--tap-min);
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--label-secondary);
    cursor: pointer;
}

.remove-btn:hover[b-446yb9i8a1] {
    background: var(--fill-secondary);
    color: var(--danger);
}
/* /Features/NewNovel/Steps/CharacterEditor.razor.rz.scp.css */
.character[b-e6okhiotsv] {
    position: relative;
}

.character + .character[b-e6okhiotsv]::before {
    content: "";
    position: absolute;
    top: 0;
    inset-inline: 72px 0;
    height: 0.5px;
    background: var(--separator);
}

.character-head[b-e6okhiotsv] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    width: 100%;
    min-height: 64px;
    padding: var(--space-2) var(--space-4);
    border: 0;
    background: transparent;
    color: var(--label);
    text-align: start;
    cursor: pointer;
}

.avatar[b-e6okhiotsv] {
    display: grid;
    place-items: center;
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--fill);
    color: var(--label);
    font-weight: 700;
}

.avatar.main[b-e6okhiotsv] {
    background: var(--accent);
    color: var(--on-accent);
}

.head-text[b-e6okhiotsv] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.head-name[b-e6okhiotsv] {
    font-size: var(--text-headline);
    font-weight: 600;
}

.head-summary[b-e6okhiotsv] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.character-head[b-e6okhiotsv]  .head-chevron {
    color: var(--label-tertiary);
    transition: transform 0.2s ease;
}

.open .character-head[b-e6okhiotsv]  .head-chevron {
    transform: rotate(90deg);
}

.character-body[b-e6okhiotsv] {
    display: grid;
    gap: var(--space-4);
    padding: 0 var(--space-4) var(--space-5);
    padding-inline-start: 72px;
}

@media (max-width: 520px) {
    .character-body[b-e6okhiotsv] {
        padding-inline-start: var(--space-4);
    }
}

.two-col[b-e6okhiotsv] {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--space-3);
}

.mini-field[b-e6okhiotsv] {
    display: grid;
    gap: var(--space-2);
    margin: 0;
}

.mini-field > span[b-e6okhiotsv] {
    font-size: var(--text-subhead);
    font-weight: 600;
}

.mini-field small[b-e6okhiotsv] {
    color: var(--label-secondary);
    font-weight: 400;
    font-size: var(--text-footnote);
}
/* /Features/NewNovel/Steps/IdeaStep.razor.rz.scp.css */
.templates[b-hgrk8ye0r0] {
    margin-bottom: var(--space-5);
}

.section-title[b-hgrk8ye0r0] {
    padding-inline: var(--space-4);
    margin-bottom: var(--space-2);
    font-size: var(--text-footnote);
    font-weight: 500;
    color: var(--label-secondary);
}

.template-grid[b-hgrk8ye0r0] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--space-3);
}

.template-card[b-hgrk8ye0r0] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-height: 120px;
    padding: var(--space-4);
    border: 0;
    border-radius: var(--radius-md);
    background: var(--background-secondary);
    box-shadow: var(--card-shadow);
    color: var(--label);
    text-align: start;
    cursor: pointer;
    transition: transform 0.15s ease;
}

.template-card:hover[b-hgrk8ye0r0] {
    transform: translateY(-2px);
}

.template-card:active[b-hgrk8ye0r0] {
    transform: scale(0.98);
}

.template-title[b-hgrk8ye0r0] {
    font-size: var(--text-headline);
    font-weight: 700;
    color: var(--accent);
}

.template-text[b-hgrk8ye0r0] {
    font-size: var(--text-subhead);
    color: var(--label-secondary);
    line-height: 1.7;
}
/* /Features/NewNovel/Steps/PlacesStep.razor.rz.scp.css */
.place[b-hbjh2q5w90] {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
    position: relative;
}

.place + .place[b-hbjh2q5w90]::before {
    content: "";
    position: absolute;
    top: 0;
    inset-inline: var(--space-4) 0;
    height: 0.5px;
    background: var(--separator);
}

.place-head[b-hbjh2q5w90] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.place-number[b-hbjh2q5w90] {
    display: grid;
    place-items: center;
    flex: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--accent-soft);
    color: var(--accent);
    font-size: var(--text-footnote);
    font-weight: 700;
}

.remove-btn[b-hbjh2q5w90] {
    display: grid;
    place-items: center;
    flex: none;
    width: var(--tap-min);
    height: var(--tap-min);
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--label-secondary);
    cursor: pointer;
}

.remove-btn:hover[b-hbjh2q5w90] {
    background: var(--fill-secondary);
    color: var(--danger);
}
/* /Features/NewNovel/Steps/PlotStep.razor.rz.scp.css */
/* iOS-style switch built on a real checkbox, so keyboard and screen readers work. */
.switch[b-d8n94e84jd] {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: var(--tap-min);
    cursor: pointer;
}

.switch input[b-d8n94e84jd] {
    position: absolute;
    opacity: 0;
    width: 51px;
    height: 31px;
    margin: 0;
    cursor: pointer;
}

.track[b-d8n94e84jd] {
    position: relative;
    width: 51px;
    height: 31px;
    border-radius: var(--radius-full);
    background: var(--fill);
    transition: background-color 0.2s ease;
}

.track[b-d8n94e84jd]::after {
    content: "";
    position: absolute;
    top: 2px;
    inset-inline-start: 2px;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    transition: inset-inline-start 0.2s ease;
}

.switch input:checked + .track[b-d8n94e84jd] {
    background: var(--success);
}

.switch input:checked + .track[b-d8n94e84jd]::after {
    inset-inline-start: 22px;
}

.switch input:focus-visible + .track[b-d8n94e84jd] {
    outline: 3px solid var(--accent);
    outline-offset: 2px;
}
/* /Features/NewNovel/Steps/ReviewRow.razor.rz.scp.css */
.review-row[b-k0ikyf8n4o] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    width: 100%;
    min-height: var(--tap-min);
    padding: var(--space-3) var(--space-4);
    border: 0;
    background: transparent;
    color: var(--label);
    text-align: start;
    cursor: pointer;
    position: relative;
}

.review-row + .review-row[b-k0ikyf8n4o]::before {
    content: "";
    position: absolute;
    top: 0;
    inset-inline: var(--space-4) 0;
    height: 0.5px;
    background: var(--separator);
}

.review-row:hover[b-k0ikyf8n4o] {
    background: var(--fill-secondary);
}

.review-label[b-k0ikyf8n4o] {
    flex: none;
    width: 110px;
    color: var(--label);
}

.review-value[b-k0ikyf8n4o] {
    flex: 1;
    min-width: 0;
    color: var(--label-secondary);
    text-align: end;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.review-value.auto[b-k0ikyf8n4o] {
    color: var(--accent);
}

.review-row[b-k0ikyf8n4o]  .review-chevron {
    flex: none;
    color: var(--label-tertiary);
}
/* /Features/NewNovel/Steps/WorldStep.razor.rz.scp.css */
.rule-text[b-a7d9j8ank8] {
    flex: 1;
    text-align: start;
}

.remove-btn[b-a7d9j8ank8] {
    display: grid;
    place-items: center;
    width: var(--tap-min);
    height: var(--tap-min);
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--label-secondary);
    cursor: pointer;
}

.remove-btn:hover[b-a7d9j8ank8] {
    background: var(--fill-secondary);
    color: var(--danger);
}

.add-rule[b-a7d9j8ank8] {
    display: flex;
    gap: var(--space-2);
    width: 100%;
}
/* /Features/Novel/CastTab.razor.rz.scp.css */
.cast[b-pzhaserdix] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--space-4);
    align-items: start;
}

.person[b-pzhaserdix] {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    background: var(--background-secondary);
    box-shadow: var(--card-shadow);
}

.person.gone[b-pzhaserdix] {
    opacity: 0.7;
}

.person-head[b-pzhaserdix] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.avatar[b-pzhaserdix] {
    display: grid;
    place-items: center;
    flex: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--fill);
    font-size: var(--text-title3);
    font-weight: 700;
}

.avatar.main[b-pzhaserdix] {
    background: var(--accent);
    color: var(--on-accent);
}

.person-title h2[b-pzhaserdix] {
    font-size: var(--text-title3);
}

.person-meta[b-pzhaserdix] {
    color: var(--label-secondary);
    font-size: var(--text-footnote);
}

.exit[b-pzhaserdix] {
    color: var(--danger);
    font-size: var(--text-subhead);
}

.summary[b-pzhaserdix] {
    font-size: var(--text-subhead);
    line-height: 1.8;
}

.arc[b-pzhaserdix] {
    display: grid;
    gap: var(--space-2);
    padding: var(--space-3);
    border-radius: var(--radius-md);
    background: var(--fill-secondary);
}

.arc-head[b-pzhaserdix] {
    display: flex;
    justify-content: space-between;
    font-size: var(--text-footnote);
}

.arc-type[b-pzhaserdix] {
    color: var(--accent);
    font-weight: 600;
}

.arc-line[b-pzhaserdix] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--text-subhead);
    font-weight: 600;
}

.milestones[b-pzhaserdix] {
    display: grid;
    gap: var(--space-1);
    padding: 0;
    margin: 0;
    list-style: none;
    font-size: var(--text-footnote);
    color: var(--label-secondary);
}

.milestones li[b-pzhaserdix] {
    display: flex;
    align-items: baseline;
    gap: var(--space-1);
}

.milestones li.reached[b-pzhaserdix] {
    color: var(--success);
}

.facts[b-pzhaserdix] {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    font-size: var(--text-subhead);
}

.facts div[b-pzhaserdix] {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: var(--space-2);
}

.facts dt[b-pzhaserdix] {
    color: var(--label-secondary);
    font-weight: 400;
}

.facts dd[b-pzhaserdix] {
    margin: 0;
}

.now[b-pzhaserdix] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    font-size: var(--text-footnote);
}

.now span[b-pzhaserdix] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px var(--space-2);
    border-radius: var(--radius-full);
    background: var(--accent-soft);
    color: var(--accent);
}

details[b-pzhaserdix] {
    border-top: 0.5px solid var(--separator);
    padding-top: var(--space-2);
}

summary[b-pzhaserdix] {
    min-height: var(--tap-min);
    display: flex;
    align-items: center;
    color: var(--accent);
    font-size: var(--text-subhead);
    cursor: pointer;
}

.plain-list[b-pzhaserdix] {
    display: grid;
    gap: var(--space-1);
    padding-inline-start: var(--space-4);
    margin: 0;
    font-size: var(--text-subhead);
    color: var(--label-secondary);
}
/* /Features/Novel/GenerationPanel.razor.rz.scp.css */
.panel[b-u3d65cu3ui] {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    background: var(--background-secondary);
    box-shadow: var(--card-shadow);
}

.panel.working[b-u3d65cu3ui] {
    background:
        linear-gradient(135deg, var(--accent-soft), transparent 60%),
        var(--background-secondary);
}

.panel-row[b-u3d65cu3ui] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.orb[b-u3d65cu3ui] {
    display: grid;
    place-items: center;
    flex: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--accent-soft);
    color: var(--accent);
}

.working .orb[b-u3d65cu3ui] {
    animation: breathe-b-u3d65cu3ui 2s ease-in-out infinite;
}

.failed .orb[b-u3d65cu3ui] {
    background: rgba(255, 59, 48, 0.12);
    color: var(--danger);
}

.orb.done[b-u3d65cu3ui] {
    background: rgba(52, 199, 89, 0.15);
    color: var(--success);
}

@keyframes breathe-b-u3d65cu3ui {
    50% { transform: scale(1.08); }
}

.panel-text[b-u3d65cu3ui] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.panel-text strong[b-u3d65cu3ui] {
    font-size: var(--text-headline);
}

.stage[b-u3d65cu3ui] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
}

.error-text[b-u3d65cu3ui] {
    color: var(--danger);
    font-size: var(--text-subhead);
}

/* The last move of a character agent, streamed while the scene is played. */
.live-line[b-u3d65cu3ui] {
    padding: var(--space-3) var(--space-4);
    border-inline-start: 3px solid var(--accent);
    border-radius: var(--radius-sm);
    background: var(--fill-secondary);
    font-size: var(--text-callout);
    line-height: 1.8;
    animation: line-in-b-u3d65cu3ui 0.3s ease;
}

@keyframes line-in-b-u3d65cu3ui {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
}

.actions[b-u3d65cu3ui] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}
/* /Features/Novel/MatrixTab.razor.rz.scp.css */
.spoiler-note[b-h669y8luyn] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    color: var(--label-secondary);
    font-size: var(--text-footnote);
}

.block[b-h669y8luyn] {
    margin-bottom: var(--space-6);
}

.block-title[b-h669y8luyn] {
    font-size: var(--text-title3);
    margin-bottom: var(--space-3);
}

.legend[b-h669y8luyn] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
    font-size: var(--text-footnote);
    color: var(--label-secondary);
}

.legend-item[b-h669y8luyn] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
}

.swatch[b-h669y8luyn] {
    width: 14px;
    height: 14px;
    border-radius: 4px;
}

.plot-1[b-h669y8luyn] { background: var(--plot-1); }
.plot-2[b-h669y8luyn] { background: var(--plot-2); }
.plot-3[b-h669y8luyn] { background: var(--plot-3); }
.plot-4[b-h669y8luyn] { background: var(--plot-4); }
.plot-5[b-h669y8luyn] { background: var(--plot-5); }

.grid-scroll[b-h669y8luyn] {
    overflow-x: auto;
    border-radius: var(--radius-md);
    background: var(--background-secondary);
    box-shadow: var(--card-shadow);
}

.matrix[b-h669y8luyn] {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 100%;
    font-size: var(--text-footnote);
}

.matrix th[b-h669y8luyn],
.matrix td[b-h669y8luyn] {
    padding: var(--space-2);
    border-bottom: 0.5px solid var(--separator);
    vertical-align: top;
}

.matrix thead th[b-h669y8luyn] {
    position: sticky;
    top: 0;
    background: var(--background-secondary);
    color: var(--label-tertiary);
    font-weight: 600;
    text-align: center;
    min-width: 132px;
}

.matrix thead th.written[b-h669y8luyn] {
    color: var(--accent);
}

.matrix .corner[b-h669y8luyn],
.matrix .who[b-h669y8luyn] {
    position: sticky;
    inset-inline-start: 0;
    z-index: 1;
    min-width: 120px;
    background: var(--background-secondary);
    text-align: start;
}

.who-name[b-h669y8luyn] {
    display: block;
    font-weight: 600;
    font-size: var(--text-subhead);
    color: var(--label);
}

.who-role[b-h669y8luyn] {
    color: var(--label-tertiary);
    font-weight: 400;
}

.matrix td.pov[b-h669y8luyn] {
    box-shadow: inset 0 0 0 2px var(--accent-soft);
}

.event[b-h669y8luyn] {
    display: flex;
    align-items: flex-start;
    gap: 2px;
    margin-bottom: var(--space-1);
    padding: 2px var(--space-2);
    border-radius: 6px;
    line-height: 1.6;
    color: var(--label);
    cursor: help;
}

.grid-hint[b-h669y8luyn] {
    margin-top: var(--space-2);
    color: var(--label-tertiary);
    font-size: var(--text-footnote);
}

.outline[b-h669y8luyn] {
    display: grid;
    gap: var(--space-3);
    padding: 0;
    margin: 0;
    list-style: none;
}

.outline-item[b-h669y8luyn] {
    display: grid;
    gap: var(--space-2);
    padding: var(--space-4);
    border-radius: var(--radius-md);
    background: var(--background-secondary);
    box-shadow: var(--card-shadow);
}

.outline-head[b-h669y8luyn] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.outline-number[b-h669y8luyn] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--fill-secondary);
    font-size: var(--text-footnote);
    font-weight: 700;
}

.written .outline-number[b-h669y8luyn] {
    background: var(--accent);
    color: var(--on-accent);
}

.outline-item[b-h669y8luyn]  .written-mark {
    color: var(--success);
}

.outline-item p[b-h669y8luyn] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
}

.outline-meta[b-h669y8luyn] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    color: var(--label-tertiary);
    font-size: var(--text-footnote);
}

.outline-meta span[b-h669y8luyn] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.outline-item p.hook[b-h669y8luyn] {
    padding-inline-start: var(--space-3);
    border-inline-start: 2px solid var(--accent-soft);
    font-size: var(--text-footnote);
}

.two-blocks[b-h669y8luyn] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-5);
}

.plot-card[b-h669y8luyn] {
    display: grid;
    gap: var(--space-1);
    margin-bottom: var(--space-3);
    padding: var(--space-4);
    border-radius: var(--radius-md);
}

.plot-card p[b-h669y8luyn] {
    font-size: var(--text-subhead);
}

.plot-people[b-h669y8luyn] {
    color: var(--label-secondary);
    font-size: var(--text-footnote);
}

.timeline[b-h669y8luyn] {
    position: relative;
    display: grid;
    gap: var(--space-4);
    padding: 0;
    padding-inline-start: var(--space-5);
    margin: 0;
    list-style: none;
}

.timeline[b-h669y8luyn]::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 8px;
    inset-inline-start: 6px;
    width: 2px;
    background: var(--fill);
}

.timeline li[b-h669y8luyn] {
    position: relative;
    display: grid;
}

.timeline li[b-h669y8luyn]::before {
    content: "";
    position: absolute;
    top: 9px;
    inset-inline-start: calc(-1 * var(--space-5) + 2px);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--accent);
}

.timeline span[b-h669y8luyn] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
}
/* /Features/Novel/NovelPage.razor.rz.scp.css */
.back-link[b-c2tt0fvh5u] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    min-height: var(--tap-min);
    margin-bottom: var(--space-2);
    font-size: var(--text-callout);
}

.novel-header[b-c2tt0fvh5u] {
    margin-bottom: var(--space-5);
}

.header-meta[b-c2tt0fvh5u] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    color: var(--label-secondary);
    font-size: var(--text-footnote);
    margin-bottom: var(--space-2);
}

h1[b-c2tt0fvh5u] {
    font-size: var(--text-large-title);
}

.logline[b-c2tt0fvh5u] {
    max-width: var(--reading-max);
    margin-top: var(--space-2);
    color: var(--label-secondary);
    font-size: var(--text-callout);
}

.tabs[b-c2tt0fvh5u] {
    position: sticky;
    top: 76px;
    z-index: 20;
    margin: var(--space-5) 0 var(--space-4);
    padding: var(--space-1);
    border-radius: var(--radius-md);
}

.tab-body[b-c2tt0fvh5u] {
    animation: tab-in-b-c2tt0fvh5u 0.2s ease;
}

@keyframes tab-in-b-c2tt0fvh5u {
    from { opacity: 0; }
}

.danger-zone[b-c2tt0fvh5u] {
    display: flex;
    justify-content: center;
    margin-top: var(--space-7);
}

.sheet-text[b-c2tt0fvh5u] {
    color: var(--label-secondary);
    margin-bottom: var(--space-5);
}

.sheet-actions[b-c2tt0fvh5u] {
    display: grid;
    gap: var(--space-2);
}
/* /Features/Novel/StagePath.razor.rz.scp.css */
.stage-path[b-gqptu08rj5] {
    display: flex;
    gap: var(--space-1);
    padding: 0;
    margin: 0;
    list-style: none;
}

.station[b-gqptu08rj5] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
}

.dot[b-gqptu08rj5] {
    height: 4px;
    border-radius: var(--radius-full);
    background: var(--fill);
}

.station.done .dot[b-gqptu08rj5] {
    background: var(--accent);
}

.station.current .dot[b-gqptu08rj5] {
    background: linear-gradient(90deg, var(--accent), var(--accent-soft), var(--accent));
    background-size: 200% 100%;
    animation: flow-b-gqptu08rj5 1.6s linear infinite;
}

@keyframes flow-b-gqptu08rj5 {
    to { background-position: -200% 0; }
}

.name[b-gqptu08rj5] {
    font-size: var(--text-caption1);
    color: var(--label-tertiary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.station.current .name[b-gqptu08rj5] {
    color: var(--accent);
    font-weight: 600;
}

.station.done .name[b-gqptu08rj5] {
    color: var(--label-secondary);
}
/* /Features/Novel/StoryTab.razor.rz.scp.css */
.episode-list[b-6br6slk11r] {
    display: grid;
    gap: var(--space-3);
    padding: 0;
    margin: 0;
    list-style: none;
}

.episode[b-6br6slk11r] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    padding: var(--space-4);
    border-radius: var(--radius-md);
    background: var(--background-secondary);
    box-shadow: var(--card-shadow);
    color: var(--label);
    transition: transform 0.15s ease;
}

a.episode:hover[b-6br6slk11r] {
    transform: translateY(-1px);
}

.episode-number[b-6br6slk11r] {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-sm);
    background: var(--accent-soft);
    color: var(--accent);
    font-size: var(--text-title3);
    font-weight: 700;
}

.episode-text[b-6br6slk11r] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    flex: 1;
    min-width: 0;
}

.episode-title[b-6br6slk11r] {
    font-size: var(--text-headline);
    font-weight: 600;
}

.episode-summary[b-6br6slk11r] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
    line-height: 1.7;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.episode-meta[b-6br6slk11r] {
    color: var(--label-tertiary);
    font-size: var(--text-footnote);
}

.episode[b-6br6slk11r]  .episode-chevron {
    flex: none;
    align-self: center;
    color: var(--label-tertiary);
}

.pending .episode-title[b-6br6slk11r] {
    color: var(--accent);
}

.shimmer[b-6br6slk11r] {
    display: block;
    height: 12px;
    border-radius: var(--radius-full);
    background: linear-gradient(90deg, var(--fill-secondary), var(--fill), var(--fill-secondary));
    background-size: 200% 100%;
    animation: shimmer-b-6br6slk11r 1.4s linear infinite;
}

.shimmer.short[b-6br6slk11r] {
    width: 60%;
}

@keyframes shimmer-b-6br6slk11r {
    to { background-position: -200% 0; }
}
/* /Features/Novel/WorldTab.razor.rz.scp.css */
.block[b-h03zmhshrn] {
    margin-bottom: var(--space-6);
}

.block-title[b-h03zmhshrn] {
    font-size: var(--text-title3);
    margin-bottom: var(--space-3);
}

.prose[b-h03zmhshrn] {
    max-width: var(--reading-max);
    line-height: 2;
}

.value[b-h03zmhshrn] {
    color: var(--label-secondary);
    text-align: end;
}

.value.start[b-h03zmhshrn] {
    color: var(--label);
    text-align: start;
    flex: 1;
}

.rules[b-h03zmhshrn] {
    display: grid;
    gap: var(--space-2);
    padding-inline-start: var(--space-5);
    margin: 0;
}

.places[b-h03zmhshrn] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--space-3);
}

.place[b-h03zmhshrn] {
    display: grid;
    gap: var(--space-2);
    padding: var(--space-4);
    border-radius: var(--radius-md);
    background: var(--background-secondary);
    box-shadow: var(--card-shadow);
    font-size: var(--text-subhead);
}

.place-head[b-h03zmhshrn] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--accent);
}

.place-head strong[b-h03zmhshrn] {
    color: var(--label);
    font-size: var(--text-headline);
}

.kind[b-h03zmhshrn],
.where[b-h03zmhshrn] {
    color: var(--label-tertiary);
    font-size: var(--text-footnote);
}

.atmosphere[b-h03zmhshrn] {
    color: var(--label-secondary);
}

.here[b-h03zmhshrn] {
    justify-self: start;
    padding: 2px var(--space-2);
    border-radius: var(--radius-full);
    background: var(--accent-soft);
    color: var(--accent);
    font-size: var(--text-footnote);
}

.two-blocks[b-h03zmhshrn] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-4);
}
/* /Features/Reader/Backstage.razor.rz.scp.css */
.backstage[b-o648h1ih42] {
    display: grid;
    gap: var(--space-5);
}

.intro[b-o648h1ih42] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
}

.scene[b-o648h1ih42] {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    background: var(--background-secondary);
    box-shadow: var(--card-shadow);
}

.scene-head[b-o648h1ih42] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
}

.scene-index[b-o648h1ih42] {
    color: var(--accent);
    font-weight: 700;
}

.scene-where[b-o648h1ih42] {
    display: flex;
    gap: var(--space-3);
    color: var(--label-tertiary);
    font-size: var(--text-footnote);
}

.scene-where span[b-o648h1ih42] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.situation[b-o648h1ih42] {
    padding: var(--space-3);
    border-radius: var(--radius-sm);
    background: var(--fill-secondary);
    font-size: var(--text-subhead);
}

.turns[b-o648h1ih42] {
    display: grid;
    gap: var(--space-3);
    padding: 0;
    margin: 0;
    list-style: none;
}

.turn[b-o648h1ih42] {
    display: grid;
    gap: var(--space-1);
    padding-inline-start: var(--space-3);
    border-inline-start: 2px solid var(--accent-soft);
}

.turn-head[b-o648h1ih42] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.emotion[b-o648h1ih42] {
    padding: 0 var(--space-2);
    border-radius: var(--radius-full);
    background: var(--fill-secondary);
    color: var(--label-secondary);
    font-size: var(--text-caption1);
}

.thought[b-o648h1ih42],
.action[b-o648h1ih42] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
}

.tag[b-o648h1ih42] {
    display: inline-block;
    margin-inline-end: var(--space-2);
    padding: 0 var(--space-1);
    border-radius: 4px;
    background: var(--fill-secondary);
    color: var(--label-tertiary);
    font-size: var(--text-caption2);
}

.speech[b-o648h1ih42] {
    font-size: var(--text-callout);
}
/* /Features/Reader/EpisodePage.razor.rz.scp.css */
.reader-top[b-ifrac47435] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
}

.back-link[b-ifrac47435] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    min-height: var(--tap-min);
    font-size: var(--text-callout);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reader-tools[b-ifrac47435] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex: none;
}

.tool[b-ifrac47435] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    min-width: var(--tap-min);
    min-height: var(--tap-min);
    padding: 0 var(--space-2);
    border: 0;
    border-radius: var(--radius-full);
    background: transparent;
    color: var(--accent);
    font-size: var(--text-subhead);
    cursor: pointer;
}

.tool:hover:not(:disabled)[b-ifrac47435] {
    background: var(--fill-secondary);
}

.tool:disabled[b-ifrac47435] {
    color: var(--label-tertiary);
}

.tool.on[b-ifrac47435],
.tool.on:hover:not(:disabled)[b-ifrac47435] {
    background: var(--accent);
    color: var(--on-accent);
}

@media (max-width: 480px) {
    .tool span[b-ifrac47435] {
        display: none;
    }
}

/* Reading column: plain, wide margins, generous leading. No glass on content. */
.reader[b-ifrac47435] {
    max-width: var(--reading-max);
    margin: 0 auto;
}

.chapter-head[b-ifrac47435] {
    display: grid;
    gap: var(--space-1);
    margin-bottom: var(--space-6);
    text-align: center;
}

.chapter-number[b-ifrac47435] {
    color: var(--accent);
    font-size: var(--text-footnote);
    font-weight: 600;
}

h1[b-ifrac47435] {
    font-size: var(--text-title1);
}

.chapter-meta[b-ifrac47435] {
    color: var(--label-tertiary);
    font-size: var(--text-footnote);
}

.prose[b-ifrac47435] {
    font-size: var(--reader-size, 19px);
    line-height: 2.1;
    text-align: justify;
    text-justify: inter-word;
}

.prose p[b-ifrac47435] {
    margin-bottom: 1em;
}

.prose p + p:not(.dialogue)[b-ifrac47435] {
    text-indent: 1.5em;
}

.prose p.dialogue[b-ifrac47435] {
    padding-inline-start: var(--space-3);
    text-align: start;
}

.scene-break[b-ifrac47435] {
    margin: var(--space-6) 0;
    text-align: center;
    color: var(--label-tertiary);
    font-size: var(--text-title3);
}

.chapter-nav[b-ifrac47435] {
    position: fixed;
    z-index: 40;
    bottom: calc(var(--space-4) + env(safe-area-inset-bottom));
    inset-inline: var(--space-4);
    max-width: 560px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-2);
    border-radius: var(--radius-full);
}

.nav-position[b-ifrac47435] {
    color: var(--label-secondary);
    font-size: var(--text-footnote);
}
/* /Layout/AuthLayout.razor.rz.scp.css */
.auth-shell[b-9k5gz668mz] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-5);
    padding: var(--space-6) var(--space-4);
}

.auth-brand[b-9k5gz668mz] {
    text-align: center;
    max-width: 420px;
}

.auth-mark[b-9k5gz668mz] {
    display: inline-grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin-bottom: var(--space-3);
    border-radius: var(--radius-lg);
    background: var(--accent);
    color: var(--on-accent);
}

.auth-brand h1[b-9k5gz668mz] {
    font-size: var(--text-title1);
}

.auth-brand p[b-9k5gz668mz] {
    color: var(--label-secondary);
    font-size: var(--text-callout);
}

.auth-card[b-9k5gz668mz] {
    width: min(420px, 100%);
}
/* /Layout/MainLayout.razor.rz.scp.css */
.skip-link[b-s6hv7zt1n6] {
    position: absolute;
    z-index: 200;
    inset-inline-start: var(--space-4);
    top: var(--space-2);
}

.nav-bar[b-s6hv7zt1n6] {
    position: sticky;
    top: var(--space-2);
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    max-width: calc(var(--content-max) + var(--space-6));
    min-height: 56px;
    margin: var(--space-2) auto 0;
    margin-inline: max(var(--space-2), calc((100% - var(--content-max) - var(--space-6)) / 2));
    padding: 0 var(--space-3) 0 var(--space-2);
    border-radius: var(--radius-lg);
}

.brand[b-s6hv7zt1n6] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-height: var(--tap-min);
    padding-inline: var(--space-2);
    color: var(--label);
    font-size: var(--text-headline);
    font-weight: 700;
}

.brand :deep(.icon)[b-s6hv7zt1n6] {
    color: var(--accent);
}

.nav-actions[b-s6hv7zt1n6] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.user-name[b-s6hv7zt1n6] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
    max-width: 40vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.icon-btn[b-s6hv7zt1n6] {
    display: grid;
    place-items: center;
    width: var(--tap-min);
    height: var(--tap-min);
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--accent);
    cursor: pointer;
}

.icon-btn:hover[b-s6hv7zt1n6] {
    background: var(--fill-secondary);
}

.demo-banner[b-s6hv7zt1n6] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    max-width: var(--content-max);
    margin: var(--space-3) auto 0;
    margin-inline: max(var(--space-4), calc((100% - var(--content-max)) / 2));
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-md);
    background: var(--accent-soft);
    color: var(--label);
    font-size: var(--text-footnote);
    line-height: 1.7;
}

.demo-banner :deep(.icon)[b-s6hv7zt1n6] {
    flex: none;
    margin-top: 2px;
    color: var(--accent);
}

.content[b-s6hv7zt1n6] {
    max-width: var(--content-max);
    margin: 0 auto;
    padding: var(--space-5) var(--space-4) calc(var(--space-7) * 2);
}
/* /Shared/ChipPicker.razor.rz.scp.css */
.chip-picker[b-dmbcu6xd5d] {
    display: grid;
    gap: var(--space-3);
}

.chips[b-dmbcu6xd5d] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.chip[b-dmbcu6xd5d] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    min-height: 36px;
    padding: 0 var(--space-3);
    border: 1px solid transparent;
    border-radius: var(--radius-full);
    background: var(--fill-secondary);
    color: var(--label);
    font-size: var(--text-subhead);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.chip:hover[b-dmbcu6xd5d] {
    background: var(--fill);
}

.chip.selected[b-dmbcu6xd5d] {
    background: var(--accent);
    color: var(--on-accent);
}

.chip.auto:not(.selected)[b-dmbcu6xd5d] {
    border-color: var(--accent-soft);
    color: var(--accent);
    background: transparent;
}
/* /Shared/EmptyState.razor.rz.scp.css */
.empty-state[b-a5ou07np75] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-3);
    padding: var(--space-7) var(--space-4);
}

.empty-icon[b-a5ou07np75] {
    display: grid;
    place-items: center;
    width: 80px;
    height: 80px;
    border-radius: var(--radius-lg);
    background: var(--accent-soft);
    color: var(--accent);
}

.empty-title[b-a5ou07np75] {
    font-size: var(--text-title3);
}

.empty-message[b-a5ou07np75] {
    max-width: 420px;
    color: var(--label-secondary);
    font-size: var(--text-callout);
}

.empty-actions[b-a5ou07np75] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-2);
    margin-top: var(--space-2);
}
/* /Shared/ErrorBanner.razor.rz.scp.css */
.error-banner[b-rxz0ec2na5] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-md);
    background: rgba(255, 59, 48, 0.1);
    color: var(--danger);
    font-size: var(--text-subhead);
}

.error-banner.network[b-rxz0ec2na5] {
    background: rgba(255, 149, 0, 0.12);
    color: var(--warning);
}

.error-text[b-rxz0ec2na5] {
    flex: 1;
    color: var(--label);
}
/* /Shared/FormRow.razor.rz.scp.css */
.form-row[b-8vpzemf06x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    min-height: var(--tap-min);
    padding: var(--space-3) var(--space-4);
    position: relative;
}

/* Separator inset to line up with the text, not edge to edge. */
.form-row + .form-row[b-8vpzemf06x]::before {
    content: "";
    position: absolute;
    top: 0;
    inset-inline: var(--space-4) 0;
    height: 0.5px;
    background: var(--separator);
}

.form-row.stacked[b-8vpzemf06x] {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
}

.row-label[b-8vpzemf06x] {
    display: flex;
    flex-direction: column;
    font-size: var(--text-body);
}

.row-label small[b-8vpzemf06x] {
    color: var(--label-secondary);
    font-size: var(--text-footnote);
}

.row-content[b-8vpzemf06x] {
    display: flex;
    justify-content: flex-end;
    min-width: 0;
}

.stacked .row-content[b-8vpzemf06x] {
    display: block;
}
/* /Shared/InsetGroup.razor.rz.scp.css */
.inset-group[b-iz9sjhktpl] {
    margin-bottom: var(--space-5);
}

.group-header[b-iz9sjhktpl] {
    padding-inline: var(--space-4);
    margin-bottom: var(--space-2);
    font-size: var(--text-footnote);
    font-weight: 500;
    color: var(--label-secondary);
}

.group-card[b-iz9sjhktpl] {
    border-radius: var(--radius-md);
    background: var(--background-secondary);
    box-shadow: var(--card-shadow);
    overflow: hidden;
}

.group-footer[b-iz9sjhktpl] {
    padding-inline: var(--space-4);
    margin-top: var(--space-2);
    font-size: var(--text-footnote);
    color: var(--label-secondary);
    line-height: 1.7;
}
/* /Shared/LoadingState.razor.rz.scp.css */
.loading-state[b-2vln7dedu7] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    min-height: 40vh;
    color: var(--label-secondary);
    font-size: var(--text-callout);
}

.spinner[b-2vln7dedu7] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2.5px solid var(--fill);
    border-top-color: var(--accent);
    animation: spin-b-2vln7dedu7 0.8s linear infinite;
}

@keyframes spin-b-2vln7dedu7 {
    to { transform: rotate(360deg); }
}
/* /Shared/ProgressBar.razor.rz.scp.css */
.progress-track[b-phv3l0kfw7] {
    height: 6px;
    border-radius: var(--radius-full);
    background: var(--fill);
    overflow: hidden;
}

.progress-fill[b-phv3l0kfw7] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--accent);
    transition: inline-size 0.4s ease;
}
/* /Shared/SegmentedControl.razor.rz.scp.css */
.segmented[b-4uv69j8k3n] {
    display: flex;
    gap: 2px;
    padding: 2px;
    border-radius: var(--radius-sm);
    background: var(--fill-secondary);
}

.segment[b-4uv69j8k3n] {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    min-height: 36px;
    padding: 0 var(--space-3);
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--label);
    font-size: var(--text-subhead);
    font-weight: 500;
    cursor: pointer;
    min-width: 0;
    white-space: nowrap;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.segment span[b-4uv69j8k3n] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.segment.selected[b-4uv69j8k3n] {
    background: var(--background-elevated);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    font-weight: 600;
}

.compact .segment[b-4uv69j8k3n] {
    padding: 0 var(--space-2);
}

@media (max-width: 480px) {
    .segmented[b-4uv69j8k3n]  .icon {
        display: none;
    }

    .segment[b-4uv69j8k3n] {
        padding: 0 var(--space-1);
        font-size: var(--text-footnote);
    }
}
/* /Shared/Sheet.razor.rz.scp.css */
.sheet-backdrop[b-1qwv2cw7ip] {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(0, 0, 0, 0.32);
    animation: fade-in-b-1qwv2cw7ip 0.2s ease;
}

.sheet[b-1qwv2cw7ip] {
    position: fixed;
    z-index: 100;
    inset-inline: 0;
    bottom: 0;
    max-width: 560px;
    margin-inline: auto;
    padding: var(--space-3) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    animation: sheet-up-b-1qwv2cw7ip 0.35s cubic-bezier(0.2, 0.9, 0.3, 1.15);
}

.grabber[b-1qwv2cw7ip] {
    width: 36px;
    height: 5px;
    margin: 0 auto var(--space-3);
    border-radius: var(--radius-full);
    background: var(--label-tertiary);
}

.sheet-title[b-1qwv2cw7ip] {
    font-size: var(--text-title3);
    margin-bottom: var(--space-3);
}

@keyframes sheet-up-b-1qwv2cw7ip {
    from { transform: translateY(100%); }
}

@keyframes fade-in-b-1qwv2cw7ip {
    from { opacity: 0; }
}
/* /Shared/StatusChip.razor.rz.scp.css */
.status-chip[b-3usyjn9bb9] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 2px var(--space-2);
    border-radius: var(--radius-full);
    font-size: var(--text-caption1);
    font-weight: 600;
    white-space: nowrap;
    background: var(--fill-secondary);
    color: var(--label-secondary);
}

.status-chip.planning[b-3usyjn9bb9],
.status-chip.writing[b-3usyjn9bb9] {
    background: var(--accent-soft);
    color: var(--accent);
}

.status-chip.ready[b-3usyjn9bb9] {
    background: rgba(255, 149, 0, 0.14);
    color: var(--warning);
}

.status-chip.completed[b-3usyjn9bb9] {
    background: rgba(52, 199, 89, 0.14);
    color: var(--success);
}

.pulse[b-3usyjn9bb9] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    animation: pulse-b-3usyjn9bb9 1.2s ease-in-out infinite;
}

@keyframes pulse-b-3usyjn9bb9 {
    50% { opacity: 0.25; }
}
/* /Shared/Stepper.razor.rz.scp.css */
.stepper[b-hi886nllfn] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 2px;
    border-radius: var(--radius-sm);
    background: var(--fill-secondary);
}

.step-btn[b-hi886nllfn] {
    display: grid;
    place-items: center;
    width: var(--tap-min);
    height: 36px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--label);
    cursor: pointer;
}

.step-btn:hover:not(:disabled)[b-hi886nllfn] {
    background: var(--fill-secondary);
}

.step-btn:disabled[b-hi886nllfn] {
    color: var(--label-tertiary);
    cursor: default;
}

.step-value[b-hi886nllfn] {
    min-width: 56px;
    text-align: center;
    font-weight: 600;
    font-size: var(--text-callout);
}
