.fcbw-app {
    --fcbw-ink: #14213d;
    --fcbw-ink-soft: #52627a;
    --fcbw-canvas: #f6faff;
    --fcbw-surface: #ffffff;
    --fcbw-surface-blue: #edf5ff;
    --fcbw-border: #c7d2e3;
    --fcbw-code-bg: #101828;
    --fcbw-code-fg: #f8fafc;
    --fcbw-sapphire: #2457e6;
    --fcbw-turquoise: #00afa8;
    --fcbw-purple: #6d3ce7;
    --fcbw-lime: #76b82a;
    --fcbw-gold: #c58a00;
    --fcbw-safe: #177a42;
    --fcbw-caution: #f0b429;
    --fcbw-destructive: #b42318;
    --fcbw-restricted: #343a46;
    --fcbw-radius-lg: 22px;
    --fcbw-radius-md: 16px;
    --fcbw-radius-sm: 12px;

    width: 100%;
    max-width: 1180px;
    margin: 1.5rem auto;
    color: var(--fcbw-ink);
    background: var(--fcbw-canvas);
    border: 1px solid var(--fcbw-border);
    border-radius: var(--fcbw-radius-lg);
    box-shadow: 0 12px 34px rgba(20, 33, 61, 0.09);
    overflow: hidden;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
}

.fcbw-app,
.fcbw-app * {
    box-sizing: border-box;
}

.fcbw-app button,
.fcbw-app select,
.fcbw-app input,
.fcbw-app textarea {
    font: inherit;
}

.fcbw-app button,
.fcbw-app select {
    min-height: 44px;
}

.fcbw-app button:focus-visible,
.fcbw-app select:focus-visible,
.fcbw-app a:focus-visible,
.fcbw-app [tabindex]:focus-visible {
    outline: 3px solid var(--fcbw-ink);
    outline-offset: 3px;
}

.fcbw-shell__header {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem;
    color: #ffffff;
    background: linear-gradient(135deg, var(--fcbw-sapphire), var(--fcbw-purple));
}

.fcbw-brand__eyebrow {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.fcbw-brand__title,
.fcbw-launch h3,
.fcbw-foundation-panel h3 {
    margin: 0;
    line-height: 1.15;
}

.fcbw-brand__title {
    color: inherit;
    font-size: clamp(1.65rem, 6vw, 2.45rem);
}

.fcbw-brand__descriptor {
    margin: 0.45rem 0 0;
    max-width: 44rem;
    color: #ffffff;
    font-size: 0.98rem;
}

.fcbw-edition {
    display: grid;
    gap: 0.35rem;
    align-self: stretch;
}

.fcbw-edition label {
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 800;
}

.fcbw-edition select {
    width: 100%;
    padding: 0.65rem 2.25rem 0.65rem 0.8rem;
    color: var(--fcbw-ink);
    background: #ffffff;
    border: 2px solid rgba(255, 255, 255, 0.75);
    border-radius: var(--fcbw-radius-sm);
}

.fcbw-unofficial {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: var(--fcbw-ink-soft);
    background: var(--fcbw-surface);
    border-bottom: 1px solid var(--fcbw-border);
    font-size: 0.875rem;
}

.fcbw-foundation-note {
    display: grid;
    gap: 0.2rem;
    margin: 1rem;
    padding: 0.9rem 1rem;
    color: var(--fcbw-ink);
    background: #fff8df;
    border: 1px solid #d7a521;
    border-radius: var(--fcbw-radius-md);
}

.fcbw-launch {
    padding: 1rem;
}

.fcbw-launch__intro {
    margin-bottom: 1rem;
}

.fcbw-launch__intro h3 {
    font-size: clamp(1.35rem, 5vw, 1.8rem);
}

.fcbw-launch__intro p {
    margin: 0.45rem 0 0;
    color: var(--fcbw-ink-soft);
}

.fcbw-action-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.85rem;
}

.fcbw-action-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
    width: 100%;
    padding: 1rem;
    color: var(--fcbw-ink);
    text-align: left;
    background: var(--fcbw-surface);
    border: 2px solid var(--fcbw-border);
    border-radius: var(--fcbw-radius-md);
    box-shadow: 0 6px 18px rgba(20, 33, 61, 0.06);
    cursor: pointer;
    transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.fcbw-action-card:hover {
    transform: translateY(-1px);
    border-color: var(--fcbw-sapphire);
    box-shadow: 0 8px 24px rgba(20, 33, 61, 0.10);
}

.fcbw-action-card__icon {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    color: #ffffff;
    background: var(--fcbw-sapphire);
    border-radius: 14px;
    font-size: 1.35rem;
    font-weight: 900;
}

.fcbw-action-card--spark .fcbw-action-card__icon {
    color: var(--fcbw-ink);
    background: var(--fcbw-gold);
}

.fcbw-action-card--build .fcbw-action-card__icon {
    background: var(--fcbw-sapphire);
}

.fcbw-action-card--debug .fcbw-action-card__icon {
    color: var(--fcbw-ink);
    background: var(--fcbw-turquoise);
}

.fcbw-action-card--learn .fcbw-action-card__icon {
    background: var(--fcbw-purple);
}

.fcbw-action-card__body {
    min-width: 0;
}

.fcbw-action-card__body strong,
.fcbw-action-card__body span {
    display: block;
}

.fcbw-action-card__body strong {
    font-size: 1.05rem;
}

.fcbw-action-card__body span {
    margin-top: 0.15rem;
    color: var(--fcbw-ink-soft);
}

.fcbw-secondary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin: 1rem 0;
}

.fcbw-text-action {
    padding: 0.65rem 0.85rem;
    color: var(--fcbw-sapphire);
    background: var(--fcbw-surface);
    border: 1px solid var(--fcbw-border);
    border-radius: var(--fcbw-radius-sm);
    font-weight: 800;
    cursor: pointer;
}

.fcbw-foundation-panel {
    padding: 1rem;
    background: var(--fcbw-surface-blue);
    border: 1px solid #a9c6f4;
    border-radius: var(--fcbw-radius-md);
}

.fcbw-foundation-panel h3 {
    margin-top: 0.55rem;
    font-size: 1.15rem;
}

.fcbw-foundation-panel p {
    margin: 0.5rem 0 0;
}

.fcbw-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.04em;
}

.fcbw-badge--verified {
    color: #ffffff;
    background: var(--fcbw-safe);
}

.fcbw-data-state {
    color: var(--fcbw-ink-soft);
    font-size: 0.9rem;
}

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

.fcbw-app--error {
    padding: 1rem;
    background: #ffffff;
    border: 2px solid var(--fcbw-destructive, #b42318);
}

.fcbw-block-editor-placeholder {
    padding: 1rem;
    border: 2px solid #2457e6;
    border-radius: 16px;
    background: #f6faff;
}

@media (min-width: 768px) {
    .fcbw-shell__header {
        grid-template-columns: minmax(0, 1fr) minmax(11rem, 15rem);
        display: grid;
        align-items: end;
        padding: 1.5rem 1.75rem;
    }

    .fcbw-edition {
        justify-self: end;
        width: 100%;
    }

    .fcbw-launch {
        padding: 1.5rem 1.75rem 1.75rem;
    }

    .fcbw-foundation-note {
        margin: 1.25rem 1.75rem 0;
    }

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

@media (prefers-reduced-motion: reduce) {
    .fcbw-app *,
    .fcbw-app *::before,
    .fcbw-app *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .fcbw-action-card:hover {
        transform: none;
    }
}

@media (forced-colors: active) {
    .fcbw-app,
    .fcbw-action-card,
    .fcbw-foundation-panel,
    .fcbw-foundation-note,
    .fcbw-text-action {
        border: 2px solid CanvasText;
        box-shadow: none;
    }

    .fcbw-shell__header,
    .fcbw-action-card__icon,
    .fcbw-badge {
        forced-color-adjust: auto;
    }

    .fcbw-app button:focus-visible,
    .fcbw-app select:focus-visible,
    .fcbw-app a:focus-visible,
    .fcbw-app [tabindex]:focus-visible {
        outline: 3px solid Highlight;
    }
}

/* Stage 8 — Quick Spark + Idea Library */
.fcbw-main {
    padding: 1rem;
}

.fcbw-view[hidden],
.fcbw-idea-card[hidden],
.fcbw-empty[hidden],
.fcbw-stage-card[hidden] {
    display: none !important;
}

.fcbw-view h3,
.fcbw-view h4,
.fcbw-stage-card h3 {
    margin-top: 0;
    color: var(--fcbw-ink);
}

.fcbw-view h3:focus {
    outline: none;
}

.fcbw-view__header {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.fcbw-view__header h3 {
    margin: 0.15rem 0 0;
    font-size: clamp(1.35rem, 5vw, 1.8rem);
}

.fcbw-brand__eyebrow--dark {
    color: var(--fcbw-purple);
}

.fcbw-back,
.fcbw-primary,
.fcbw-secondary {
    min-height: 44px;
    padding: 0.7rem 0.95rem;
    border-radius: var(--fcbw-radius-sm);
    font-weight: 800;
    cursor: pointer;
}

.fcbw-back,
.fcbw-secondary {
    align-self: flex-start;
    color: var(--fcbw-sapphire);
    background: var(--fcbw-surface);
    border: 1px solid var(--fcbw-border);
}

.fcbw-primary {
    color: #ffffff;
    background: var(--fcbw-sapphire);
    border: 2px solid var(--fcbw-sapphire);
}

.fcbw-primary:disabled {
    color: var(--fcbw-ink-soft);
    background: #e8edf5;
    border-color: #b7c2d2;
    cursor: not-allowed;
}

.fcbw-repair,
.fcbw-stage-card,
.fcbw-empty {
    display: grid;
    gap: 0.35rem;
    margin: 1rem;
    padding: 1rem;
    border-radius: var(--fcbw-radius-md);
}

.fcbw-repair {
    background: #fff3f1;
    border: 2px solid var(--fcbw-destructive);
}

.fcbw-stage-card {
    margin: 1rem 0 0;
    background: var(--fcbw-surface-blue);
    border: 1px solid #a9c6f4;
}

.fcbw-stage-card p,
.fcbw-empty p {
    margin: 0;
}

.fcbw-empty {
    margin: 1rem 0 0;
    background: #fff8df;
    border: 1px solid #d7a521;
}

.fcbw-empty h4 {
    margin: 0;
}

.fcbw-filters,
.fcbw-idea-detail,
.fcbw-command-card details {
    border: 1px solid var(--fcbw-border);
    border-radius: var(--fcbw-radius-sm);
    background: var(--fcbw-surface);
}

.fcbw-filters {
    margin-bottom: 1rem;
}

.fcbw-filters > summary,
.fcbw-idea-detail > summary,
.fcbw-command-card details > summary {
    min-height: 44px;
    padding: 0.7rem 0.85rem;
    font-weight: 850;
    cursor: pointer;
}

.fcbw-filter-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.8rem;
    padding: 0 0.85rem 0.85rem;
}

.fcbw-filter-grid label,
.fcbw-search {
    display: grid;
    gap: 0.35rem;
    color: var(--fcbw-ink);
    font-weight: 750;
}

.fcbw-filter-grid select,
.fcbw-search input {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 0.65rem 0.75rem;
    color: var(--fcbw-ink);
    background: #ffffff;
    border: 1px solid var(--fcbw-border);
    border-radius: var(--fcbw-radius-sm);
}

.fcbw-filters > .fcbw-secondary {
    margin: 0 0.85rem 0.85rem;
}

.fcbw-search {
    margin-bottom: 1rem;
}

.fcbw-result-count,
.fcbw-meta,
.fcbw-evidence-note {
    color: var(--fcbw-ink-soft);
    font-size: 0.92rem;
}

.fcbw-library-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.fcbw-idea-card {
    min-width: 0;
    padding: 1rem;
    background: var(--fcbw-surface);
    border: 2px solid var(--fcbw-border);
    border-radius: var(--fcbw-radius-md);
    box-shadow: 0 6px 18px rgba(20, 33, 61, 0.06);
}

.fcbw-idea-card--spark-result {
    border-color: #98b4ef;
}

.fcbw-idea-card h4 {
    margin: 0.65rem 0 0.35rem;
    font-size: 1.2rem;
}

.fcbw-idea-card__summary {
    margin: 0;
}

.fcbw-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.fcbw-badge--difficulty,
.fcbw-badge--edition,
.fcbw-badge--info {
    color: var(--fcbw-ink);
    background: #e7efff;
    border: 1px solid #adc1eb;
}

.fcbw-badge--safe {
    color: #ffffff;
    background: var(--fcbw-safe);
}

.fcbw-badge--caution {
    color: var(--fcbw-ink);
    background: var(--fcbw-caution);
}

.fcbw-badge--destructive {
    color: #ffffff;
    background: var(--fcbw-destructive);
}

.fcbw-badge--restricted {
    color: #ffffff;
    background: var(--fcbw-restricted);
}

.fcbw-idea-detail {
    margin-top: 0.9rem;
}

.fcbw-idea-detail > :not(summary) {
    margin-left: 0.75rem;
    margin-right: 0.75rem;
}

.fcbw-idea-detail ul {
    padding-left: 1.25rem;
}

.fcbw-command-card {
    display: grid;
    gap: 0.7rem;
    margin: 0.2rem 0 0.85rem;
    padding: 0.8rem;
    background: #f8fbff;
    border: 1px solid #c4d5ee;
    border-radius: var(--fcbw-radius-sm);
}

.fcbw-code-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0.85rem;
    color: var(--fcbw-code-fg);
    background: var(--fcbw-code-bg);
    border-radius: var(--fcbw-radius-sm);
    -webkit-overflow-scrolling: touch;
}

.fcbw-code-wrap code {
    display: block;
    width: max-content;
    min-width: 100%;
    color: inherit;
    background: transparent;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    font-size: clamp(0.86rem, 3.5vw, 1rem);
    line-height: 1.6;
    white-space: pre;
}

.fcbw-copy {
    justify-self: stretch;
}

.fcbw-copy-status {
    min-height: 1.4em;
    color: var(--fcbw-ink-soft);
    font-size: 0.9rem;
}

.fcbw-token-list {
    display: grid;
    gap: 0.6rem;
    padding: 0 0.75rem 0.75rem;
}

.fcbw-token {
    display: grid;
    gap: 0.15rem;
    padding: 0.65rem;
    background: var(--fcbw-surface-blue);
    border: 1px solid #bed0ef;
    border-radius: 10px;
}

.fcbw-token code {
    word-break: break-word;
}

.fcbw-safety-note,
.fcbw-destructive-review {
    padding: 0.75rem;
    background: #fff8df;
    border: 1px solid #d7a521;
    border-radius: var(--fcbw-radius-sm);
}

.fcbw-destructive-review {
    background: #fff3f1;
    border-color: var(--fcbw-destructive);
}

.fcbw-destructive-review p {
    margin: 0.4rem 0;
}

.fcbw-spark-actions {
    margin-bottom: 1rem;
}

@media (min-width: 640px) {
    .fcbw-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .fcbw-main {
        padding: 1.5rem 1.75rem 1.75rem;
    }

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

    .fcbw-view__header {
        flex-direction: row;
        align-items: flex-start;
    }
}

@media (min-width: 1050px) {
    .fcbw-library-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 430px), (max-height: 560px) {
    .fcbw-shell__header {
        padding: 1rem;
    }

    .fcbw-main {
        padding: 0.85rem;
    }

    .fcbw-idea-card,
    .fcbw-command-card {
        padding: 0.8rem;
    }
}

@media (forced-colors: active) {
    .fcbw-idea-card,
    .fcbw-command-card,
    .fcbw-filters,
    .fcbw-idea-detail,
    .fcbw-token,
    .fcbw-stage-card,
    .fcbw-empty,
    .fcbw-repair,
    .fcbw-safety-note,
    .fcbw-destructive-review,
    .fcbw-code-wrap {
        border: 2px solid CanvasText;
        box-shadow: none;
    }

    .fcbw-code-wrap,
    .fcbw-badge--safe,
    .fcbw-badge--caution,
    .fcbw-badge--destructive,
    .fcbw-badge--restricted,
    .fcbw-badge--difficulty,
    .fcbw-badge--edition,
    .fcbw-badge--verified {
        forced-color-adjust: auto;
    }
}

.fcbw-view h3[tabindex="-1"]:focus,
.fcbw-view h3[tabindex="-1"]:focus-visible {
    outline: none !important;
}

.fcbw-stage-card > .fcbw-badge {
    justify-self: start;
}

/* Stage 9 — Guided Command Builder */
.fcbw-builder-layout {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.fcbw-builder-form-panel,
.fcbw-builder-preview,
.fcbw-builder-empty {
    min-width: 0;
    padding: 1rem;
    background: var(--fcbw-surface);
    border: 1px solid var(--fcbw-border);
    border-radius: var(--fcbw-radius);
}

.fcbw-builder-form-panel {
    display: grid;
    gap: 0.85rem;
}

.fcbw-builder-form-panel > select,
.fcbw-builder-field input,
.fcbw-builder-field select {
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    padding: 0.7rem 0.8rem;
    color: var(--fcbw-ink);
    background: #ffffff;
    border: 2px solid var(--fcbw-border);
    border-radius: 12px;
    font: inherit;
}

.fcbw-builder-field input[aria-invalid="true"],
.fcbw-builder-field select[aria-invalid="true"] {
    border-color: var(--fcbw-destructive);
}

.fcbw-builder-field {
    display: grid;
    gap: 0.45rem;
    padding: 0.9rem;
    background: var(--fcbw-surface-blue);
    border: 1px solid #bed0ef;
    border-radius: var(--fcbw-radius-sm);
}

.fcbw-builder-field__label {
    font-weight: 800;
}

.fcbw-builder-field__meaning,
.fcbw-builder-summary,
.fcbw-validation-note,
.fcbw-field-error {
    margin: 0;
}

.fcbw-field-error {
    min-height: 1.35em;
    color: #912018;
    font-weight: 700;
    font-size: 0.92rem;
}

.fcbw-field-help {
    margin-top: 0.15rem;
}

.fcbw-builder-preview {
    display: grid;
    gap: 0.75rem;
}

.fcbw-builder-preview h4 {
    margin: 0;
}

.fcbw-code-wrap--builder {
    margin-top: 0.15rem;
}

.fcbw-scope-preview,
.fcbw-builder-safety {
    display: grid;
    gap: 0.25rem;
    padding: 0.75rem;
    border: 1px solid #a8c8df;
    border-radius: var(--fcbw-radius-sm);
    background: #eefaff;
}

.fcbw-builder-safety {
    background: #fff8df;
    border-color: #d7a521;
}

.fcbw-builder-safety p {
    margin: 0;
}

.fcbw-builder-empty {
    text-align: left;
}

.fcbw-open-builder {
    justify-self: stretch;
}

@media (min-width: 900px) {
    .fcbw-builder-layout {
        grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    }

    .fcbw-builder-preview {
        position: sticky;
        top: 1rem;
    }
}

@media (max-width: 899px), (max-height: 650px) {
    .fcbw-builder-preview {
        position: static;
    }
}

@media (max-width: 430px) {
    .fcbw-builder-form-panel,
    .fcbw-builder-preview,
    .fcbw-builder-empty,
    .fcbw-builder-field {
        padding: 0.8rem;
    }

    .fcbw-builder-preview .fcbw-primary,
    .fcbw-open-builder {
        width: 100%;
    }
}

@media (forced-colors: active) {
    .fcbw-builder-form-panel,
    .fcbw-builder-preview,
    .fcbw-builder-empty,
    .fcbw-builder-field,
    .fcbw-scope-preview,
    .fcbw-builder-safety {
        border: 2px solid CanvasText;
        box-shadow: none;
    }
}

/* HTML hidden must win over component display rules. */
.fcbw-app [hidden] {
    display: none !important;
}


/* Stage 10 — Command Block Setup + Selector / Coordinate Labs */
.fcbw-lab-stack { display:grid; gap:1rem; }
.fcbw-lab-panel, .fcbw-lab-empty { display:grid; gap:.75rem; min-width:0; padding:1rem; background:var(--fcbw-surface); border:1px solid var(--fcbw-border); border-radius:var(--fcbw-radius); }
.fcbw-lab-panel > label { display:grid; gap:.35rem; font-weight:750; }
.fcbw-lab-panel select, .fcbw-lab-panel input { width:100%; max-width:100%; min-height:46px; padding:.65rem .75rem; color:var(--fcbw-ink); background:#fff; border:2px solid var(--fcbw-border); border-radius:12px; font:inherit; }
.fcbw-lab-grid { display:grid; gap:.75rem; }
.fcbw-lab-grid > label { display:grid; gap:.35rem; font-weight:750; }
.fcbw-lab-result { display:grid; gap:.45rem; min-width:0; padding:.8rem; background:var(--fcbw-surface-blue); border:1px solid #bed0ef; border-radius:var(--fcbw-radius-sm); }
.fcbw-lab-result p, .fcbw-lab-feedback { margin:0; }
.fcbw-lab-feedback { min-height:1.5em; font-weight:750; color:var(--fcbw-ink); }
.fcbw-coordinate-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; }
.fcbw-coordinate-row label { display:grid; gap:.3rem; font-weight:750; min-width:0; }
.fcbw-lab-result code { overflow-wrap:anywhere; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace; }
@media (min-width:760px){ .fcbw-lab-grid--setup{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:430px){ .fcbw-lab-panel,.fcbw-lab-empty{padding:.8rem;} .fcbw-coordinate-row{gap:.4rem;} .fcbw-coordinate-row input{padding:.6rem .45rem;} }
@media (forced-colors:active){ .fcbw-lab-panel,.fcbw-lab-empty,.fcbw-lab-result{border:2px solid CanvasText;box-shadow:none;} }

/* Stage 11 — Chain Planner */
.fcbw-chain {
    display: grid;
    gap: 1rem;
}

.fcbw-chain-toolbar,
.fcbw-chain-summary,
.fcbw-chain-step {
    min-width: 0;
}

.fcbw-chain-toolbar__row,
.fcbw-chain-output-actions,
.fcbw-chain-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: end;
}

.fcbw-chain-toolbar__row > label {
    flex: 1 1 14rem;
}

.fcbw-chain-summary {
    padding: 1rem;
    border: 1px solid var(--fcbw-border);
    border-radius: 18px;
    background: var(--fcbw-surface-blue);
}

.fcbw-chain-steps {
    display: grid;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.fcbw-chain-step {
    display: grid;
    gap: .8rem;
    margin: 0;
    padding: 1rem;
    min-width: 0;
    border: 1px solid var(--fcbw-border);
    border-radius: 20px;
    background: var(--fcbw-surface);
    box-shadow: 0 8px 22px rgba(20, 33, 61, .07);
}

.fcbw-chain-step:focus {
    outline: 3px solid var(--fcbw-sapphire);
    outline-offset: 3px;
}

.fcbw-chain-step__head {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: space-between;
    align-items: start;
}

.fcbw-chain-step__head h4 {
    margin: .15rem 0 0;
}

.fcbw-chain-dependency {
    margin: 0;
    padding: .65rem .8rem;
    border-inline-start: 4px solid var(--fcbw-turquoise);
    background: var(--fcbw-surface-blue);
    border-radius: 10px;
}

.fcbw-chain-step__status {
    margin: 0;
    font-weight: 650;
}

.fcbw-chain-setup-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .75rem;
    margin-block: .8rem;
}

.fcbw-chain-stop-plan textarea {
    width: 100%;
    min-height: 5rem;
    resize: vertical;
}

.fcbw-chain-actions .fcbw-secondary,
.fcbw-chain-output-actions .fcbw-secondary,
.fcbw-chain-output-actions .fcbw-primary {
    flex: 1 1 8.5rem;
}

@media (min-width: 760px) {
    .fcbw-chain-setup-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .fcbw-chain-actions .fcbw-secondary,
    .fcbw-chain-output-actions .fcbw-secondary,
    .fcbw-chain-output-actions .fcbw-primary {
        flex: 0 1 auto;
    }
}

@media print {
    html.fcbw-printing body * {
        visibility: hidden !important;
    }
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"],
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"] * {
        visibility: visible !important;
    }
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"] {
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        max-width: none;
        box-shadow: none;
        border: 0;
        background: #fff;
    }
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"] .fcbw-view:not([data-fcbw-view="chain-planner"]),
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"] .fcbw-chain-toolbar,
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"] .fcbw-chain-actions,
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"] .fcbw-chain-output-actions,
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"] .fcbw-back,
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"] details > summary {
        display: none !important;
    }
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"] details > * {
        display: block !important;
    }
    html.fcbw-printing .fcbw-app[data-fcbw-printing="true"] .fcbw-chain-step {
        break-inside: avoid;
        box-shadow: none;
    }
}
.fcbw-chain-step__setup,
.fcbw-chain-step__expected {
    margin: 0;
    color: var(--fcbw-ink-soft);
}
.fcbw-chain-step__expected {
    padding: .65rem .8rem;
    border-radius: 10px;
    background: #fff;
    border: 1px dashed var(--fcbw-border);
}

/* Stage 12 — Mission Trail */
.fcbw-mission-progress{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:16px;border:1px solid var(--fcbw-border);border-radius:18px;background:var(--fcbw-surface-blue);margin-bottom:16px}.fcbw-mission-progress p{margin:0;max-width:620px}.fcbw-mission-ladder{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.fcbw-mission-ladder span{font-size:12px;font-weight:800;letter-spacing:.04em;padding:6px 10px;border-radius:999px;border:1px solid var(--fcbw-border);background:var(--fcbw-surface)}
.fcbw-mission-grid{display:grid;grid-template-columns:1fr;gap:14px}.fcbw-mission-card{border:1px solid var(--fcbw-border);border-radius:18px;background:var(--fcbw-surface);padding:16px}.fcbw-mission-card h4{margin:.35rem 0}.fcbw-mission-card p{margin:.45rem 0}.fcbw-mission-card__status{color:var(--fcbw-ink-soft)}
.fcbw-mission-play{display:grid;gap:14px}.fcbw-mission-summary{font-size:1.05rem}.fcbw-mission-boundary{padding:12px 14px;border-radius:14px;border-left:4px solid var(--fcbw-gold);background:#fff8e5}.fcbw-mission-phase{border:1px solid var(--fcbw-border);border-radius:18px;background:var(--fcbw-surface);padding:16px}.fcbw-mission-phase>p:first-of-type{margin-top:.45rem}.fcbw-choice-list{display:grid;gap:8px;margin:12px 0}.fcbw-choice{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--fcbw-border);border-radius:14px;padding:11px 12px;background:var(--fcbw-canvas);cursor:pointer}.fcbw-choice:has(input:checked){border-color:var(--fcbw-sapphire);box-shadow:0 0 0 2px rgba(36,87,230,.16)}.fcbw-choice input{margin-top:.2em}.fcbw-test-report{display:grid;gap:8px;border:1px solid var(--fcbw-border);border-radius:14px;padding:12px}.fcbw-test-report label{display:flex;gap:8px;align-items:flex-start}.fcbw-codebox{max-width:100%;overflow-x:auto;background:var(--fcbw-code-bg);color:var(--fcbw-code-fg);border-radius:14px;padding:14px;margin:10px 0}.fcbw-codebox code,.fcbw-mission-command{white-space:pre-wrap;overflow-wrap:anywhere;color:inherit}.fcbw-mini-step{display:grid;gap:6px;border-left:3px solid var(--fcbw-turquoise);padding:10px 12px;margin:8px 0;background:var(--fcbw-canvas);border-radius:10px}.fcbw-mini-step code{overflow-wrap:anywhere}.fcbw-counter-model{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid var(--fcbw-border);border-radius:14px;background:var(--fcbw-surface-blue)}.fcbw-counter-model strong{font-size:1.4rem}.fcbw-guide{padding:12px 14px;border-radius:14px;background:var(--fcbw-surface-blue);border-left:4px solid var(--fcbw-purple);margin:12px 0}.fcbw-mission-complete{padding:18px;border:2px solid var(--fcbw-turquoise);border-radius:18px;background:var(--fcbw-surface-blue)}.fcbw-confidence{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.fcbw-parent-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:18px}
@media (min-width:768px){.fcbw-mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fcbw-parent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.fcbw-mission-progress{display:block}.fcbw-mission-progress p{margin-top:8px}.fcbw-confidence,.fcbw-action-row{align-items:stretch}.fcbw-confidence button{width:100%}.fcbw-mission-phase{padding:14px}.fcbw-mission-card{padding:14px}}
@media (forced-colors:active){.fcbw-choice:has(input:checked),.fcbw-mission-complete,.fcbw-mission-boundary,.fcbw-guide{border:2px solid ButtonText;box-shadow:none}.fcbw-codebox{border:1px solid CanvasText}}


/* Stage 13 — Debug Detective */
.fcbw-debug,.fcbw-debug-form,.fcbw-debug-findings{display:grid;gap:1rem}.fcbw-debug-step,.fcbw-debug-results,.fcbw-debug-finding,.fcbw-debug-summary{min-width:0;padding:1rem;border:1px solid var(--fcbw-border);border-radius:18px;background:var(--fcbw-surface)}
.fcbw-debug-step{display:grid;gap:.7rem}.fcbw-debug-step label{display:grid;gap:.35rem;font-weight:750}.fcbw-debug-step textarea,.fcbw-debug-step select,.fcbw-debug-step input{width:100%;max-width:100%;min-height:46px;padding:.65rem .75rem;color:var(--fcbw-ink);background:#fff;border:2px solid var(--fcbw-border);border-radius:12px;font:inherit}.fcbw-debug-step textarea{min-height:5rem;resize:vertical}.fcbw-step-label{font-size:.78rem;font-weight:850;letter-spacing:.07em;color:var(--fcbw-ink-soft)}
.fcbw-debug-setup{padding:.8rem;border-radius:14px;background:var(--fcbw-surface-blue);border:1px solid #bed0ef}.fcbw-debug-results{background:var(--fcbw-canvas)}.fcbw-debug-summary{background:var(--fcbw-surface-blue)}.fcbw-debug-summary p{margin:.35rem 0}.fcbw-debug-finding{display:grid;gap:.45rem;border-inline-start:5px solid var(--fcbw-turquoise)}.fcbw-debug-finding--check-first{border-inline-start-color:var(--fcbw-gold)}.fcbw-debug-finding--info{border-inline-start-color:var(--fcbw-sapphire)}.fcbw-debug-finding h4,.fcbw-debug-finding p{margin:0}.fcbw-debug-finding__category{font-size:.78rem;font-weight:850;letter-spacing:.04em;color:var(--fcbw-ink-soft)}.fcbw-debug-finding .fcbw-secondary{justify-self:start;margin-top:.35rem}
@media(max-width:430px){.fcbw-debug-step,.fcbw-debug-results,.fcbw-debug-finding,.fcbw-debug-summary{padding:.8rem}.fcbw-debug .fcbw-action-row>button{width:100%}}
@media(forced-colors:active){.fcbw-debug-step,.fcbw-debug-results,.fcbw-debug-finding,.fcbw-debug-summary,.fcbw-debug-setup{border:2px solid CanvasText;box-shadow:none}}


/* Stage 14 — Local Progress / Save / Export / Import */
.fcbw-storage{display:grid;gap:1rem}.fcbw-storage-card{display:grid;gap:.65rem;min-width:0;padding:1rem;border:1px solid var(--fcbw-border);border-radius:18px;background:var(--fcbw-surface)}.fcbw-storage-card h4,.fcbw-storage-card p{margin:0}.fcbw-storage-card__head{display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.fcbw-storage-list{display:grid;gap:.65rem}.fcbw-storage-item{display:grid;gap:.45rem;padding:.75rem;border:1px solid var(--fcbw-border);border-radius:14px;background:var(--fcbw-canvas)}.fcbw-storage-item h5,.fcbw-storage-item p{margin:0}.fcbw-storage-item__actions{display:flex;gap:.5rem;flex-wrap:wrap}.fcbw-file-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem .9rem;border:2px solid var(--fcbw-sapphire);border-radius:12px;font-weight:800;cursor:pointer}.fcbw-toggle{display:flex;gap:.6rem;align-items:flex-start;font-weight:750}.fcbw-toggle input{margin-top:.2rem}.fcbw-storage-card--danger{border-color:#d8a8a3}.fcbw-app.fcbw-reduce-motion *, .fcbw-app.fcbw-reduce-motion *::before, .fcbw-app.fcbw-reduce-motion *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media(max-width:430px){.fcbw-storage-card{padding:.8rem}.fcbw-storage-item__actions>button,.fcbw-storage .fcbw-action-row>button,.fcbw-storage .fcbw-file-button{width:100%}}
@media(forced-colors:active){.fcbw-storage-card,.fcbw-storage-item,.fcbw-file-button{border:2px solid CanvasText}}


/* Stage 15 — Accessibility / Mobile / Performance hardening */
.fcbw-app input:not([type="checkbox"]):not([type="radio"]),
.fcbw-app textarea,
.fcbw-app summary,
.fcbw-app .fcbw-file-button {
    min-height: 44px;
}
.fcbw-app input:focus-visible,
.fcbw-app textarea:focus-visible,
.fcbw-app summary:focus-visible,
.fcbw-app .fcbw-file-button:focus-visible {
    outline: 3px solid var(--fcbw-ink);
    outline-offset: 3px;
}
.fcbw-app summary {
    display: flex;
    align-items: center;
}
.fcbw-app .fcbw-choice,
.fcbw-app .fcbw-test-report label,
.fcbw-app .fcbw-toggle,
.fcbw-app label:has(> input[type="checkbox"]),
.fcbw-app label:has(> input[type="radio"]) {
    min-height: 44px;
}
.fcbw-app input,
.fcbw-app select,
.fcbw-app textarea,
.fcbw-app button,
.fcbw-app summary,
.fcbw-app code,
.fcbw-app pre {
    max-width: 100%;
}
.fcbw-app code,
.fcbw-app pre,
.fcbw-app .fcbw-command,
.fcbw-app .fcbw-command-preview {
    overflow-wrap: anywhere;
    word-break: break-word;
}
@media (max-width: 360px) {
    .fcbw-coordinate-row { grid-template-columns: 1fr; }
    .fcbw-chain-toolbar__row,
    .fcbw-chain-output-actions,
    .fcbw-chain-actions { align-items: stretch; }
    .fcbw-chain-actions > button,
    .fcbw-chain-output-actions > button { flex-basis: 100%; }
}
@media (max-height: 500px) and (orientation: landscape) {
    .fcbw-shell__header { padding-block: .75rem; gap: .6rem; }
    .fcbw-brand__descriptor { margin-top: .2rem; }
    .fcbw-app { margin-block: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .fcbw-action-card:hover { transform: none; }
}
@media (forced-colors: active) {
    .fcbw-app button:focus-visible,
    .fcbw-app select:focus-visible,
    .fcbw-app input:focus-visible,
    .fcbw-app textarea:focus-visible,
    .fcbw-app summary:focus-visible,
    .fcbw-app a:focus-visible,
    .fcbw-app [tabindex]:focus-visible,
    .fcbw-app .fcbw-file-button:focus-visible {
        outline: 3px solid Highlight;
        outline-offset: 3px;
    }
    .fcbw-badge,
    .fcbw-risk-badge,
    .fcbw-status-badge { border: 1px solid CanvasText; }
}

/* Stage 15 keyboard focus for visually-hidden file inputs and labelled checks. */
.fcbw-app .fcbw-file-button:has(+ input[type="file"]:focus),
.fcbw-app label:has(input[type="checkbox"]:focus),
.fcbw-app label:has(input[type="radio"]:focus) {
    outline: 3px solid var(--fcbw-ink);
    outline-offset: 3px;
}
@media (forced-colors: active) {
    .fcbw-app .fcbw-file-button:has(+ input[type="file"]:focus),
    .fcbw-app label:has(input[type="checkbox"]:focus),
    .fcbw-app label:has(input[type="radio"]:focus) {
        outline-color: Highlight;
    }
}

/* Stage 18.3 — Fantasticamos Final Micro-Polish Patch */
.fcbw-app[data-fcbw-visual-patch="18.3"] {
    --fcbw-warm: #fff7ea;
    --fcbw-mint: #eefbf7;
    --fcbw-lilac: #f7f1ff;
    --fcbw-pink: #fff0f6;
    --fcbw-cyan-soft: #eafcff;
    --fcbw-shadow-soft: 0 10px 30px rgba(28, 49, 101, 0.10);
    --fcbw-shadow-pop: 0 14px 34px rgba(66, 52, 151, 0.15);
    background:
        radial-gradient(circle at 8% 14%, rgba(0, 175, 168, 0.10), transparent 24%),
        radial-gradient(circle at 93% 10%, rgba(109, 60, 231, 0.10), transparent 25%),
        linear-gradient(180deg, #f7fbff 0%, #f8f6ff 42%, #fbfdff 100%);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-shell__header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 1.35rem;
    background:
        radial-gradient(circle at 87% 14%, rgba(255,255,255,.22) 0 2px, transparent 3px),
        radial-gradient(circle at 72% 72%, rgba(255,255,255,.16) 0 2px, transparent 3px),
        radial-gradient(circle at 24% 24%, rgba(255,255,255,.12) 0 2px, transparent 3px),
        linear-gradient(132deg, #214fe2 0%, #4b44f0 54%, #7938df 100%);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-shell__header::before,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-shell__header::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: -1;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-shell__header::before {
    width: 180px;
    height: 180px;
    right: -50px;
    top: -64px;
    border: 2px solid rgba(255,255,255,.13);
    border-radius: 38px;
    transform: rotate(18deg);
    box-shadow: inset 0 0 40px rgba(0, 231, 225, .12), 0 0 55px rgba(88, 239, 255, .08);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-shell__header::after {
    width: 90px;
    height: 90px;
    right: 26%;
    bottom: -48px;
    border: 2px solid rgba(255,255,255,.11);
    border-radius: 24px;
    transform: rotate(45deg);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-brand__eyebrow {
    color: #fff3a6;
    text-shadow: 0 1px 0 rgba(0,0,0,.08);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-brand__eyebrow--dark {
    color: var(--fcbw-purple) !important;
    text-shadow: none;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-brand__title {
    text-shadow: 0 3px 18px rgba(9, 27, 96, .26);
    letter-spacing: -0.02em;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-edition select {
    border-color: rgba(255,255,255,.88);
    box-shadow: 0 7px 20px rgba(29, 17, 91, .17);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-unofficial {
    background: linear-gradient(90deg, #ffffff, #f9fbff 55%, #fbf7ff);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-main {
    padding: clamp(.9rem, 3vw, 1.25rem);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-welcome-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
    padding: clamp(1rem, 3.5vw, 1.35rem);
    overflow: hidden;
    border: 1px solid #bfd0fb;
    border-radius: 24px;
    background:
        radial-gradient(circle at 84% 18%, rgba(109,60,231,.12), transparent 28%),
        radial-gradient(circle at 16% 100%, rgba(0,175,168,.12), transparent 30%),
        linear-gradient(135deg, #ffffff 0%, #f1f6ff 50%, #f8f1ff 100%);
    box-shadow: var(--fcbw-shadow-soft);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-welcome-panel::after {
    content: "✦   ◇   ✦";
    position: absolute;
    right: 1rem;
    top: .55rem;
    color: rgba(109,60,231,.22);
    font-size: 1.05rem;
    letter-spacing: .32em;
    pointer-events: none;
}

.fcbw-welcome-panel__copy {
    position: relative;
    z-index: 1;
}

.fcbw-welcome-panel__kicker,
.fcbw-section-coach__label,
.fcbw-character-guide__label {
    display: inline-block;
    color: var(--fcbw-purple);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.fcbw-welcome-panel__copy h3 {
    margin: .25rem 0 .45rem;
    font-size: clamp(1.4rem, 5.5vw, 2rem);
    line-height: 1.1;
}

.fcbw-welcome-panel__copy p {
    margin: 0;
    color: var(--fcbw-ink-soft);
}

.fcbw-welcome-panel__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .8rem;
}

.fcbw-welcome-panel__chips span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .36rem .62rem;
    border: 1px solid #c7d5f6;
    border-radius: 999px;
    background: rgba(255,255,255,.84);
    color: var(--fcbw-ink);
    font-size: .82rem;
    font-weight: 800;
}

.fcbw-welcome-guides {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    align-self: end;
}

.fcbw-welcome-guide {
    display: grid;
    grid-template-columns: 66px minmax(0,1fr);
    align-items: center;
    gap: .6rem;
    min-width: 0;
    margin: 0;
    padding: .55rem;
    border: 1px solid rgba(158,174,221,.72);
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 6px 18px rgba(47, 61, 111, .08);
}

.fcbw-welcome-guide img,
.fcbw-section-coach img,
.fcbw-storage-hero__art img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 22px;
}

.fcbw-welcome-guide--ariel img {
    border: 3px solid #9db9ff;
}

.fcbw-welcome-guide--fluff img {
    border: 3px solid #f4c8dc;
}

.fcbw-welcome-guide figcaption {
    min-width: 0;
}

.fcbw-welcome-guide figcaption strong,
.fcbw-welcome-guide figcaption span {
    display: block;
}

.fcbw-welcome-guide figcaption strong {
    color: var(--fcbw-ink);
    font-size: .92rem;
}

.fcbw-welcome-guide figcaption span {
    margin-top: .08rem;
    color: var(--fcbw-ink-soft);
    font-size: .76rem;
}

.fcbw-launch__intro--compact {
    margin: .35rem 0 .85rem;
    padding: 0 .1rem;
}

.fcbw-launch__intro--compact h3 {
    font-size: 1.25rem;
}

.fcbw-action-grid {
    gap: .9rem;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card {
    position: relative;
    overflow: hidden;
    min-height: 108px;
    padding: 1rem 1rem 1rem 1.05rem;
    border-width: 1px;
    border-color: #c8d3eb;
    box-shadow: 0 8px 22px rgba(22, 38, 78, .08);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--fcbw-sapphire);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card::after {
    content: "";
    position: absolute;
    width: 78px;
    height: 78px;
    right: -22px;
    top: -24px;
    border-radius: 26px;
    transform: rotate(18deg);
    background: rgba(36,87,230,.05);
    pointer-events: none;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--spark {
    background: linear-gradient(135deg, #fffdf4 0%, #fff8dc 100%);
}
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--spark::before { background: var(--fcbw-gold); }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--spark::after { background: rgba(197,138,0,.08); }

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--build {
    background: linear-gradient(135deg, #ffffff 0%, #eef4ff 100%);
}
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--build::before { background: var(--fcbw-sapphire); }

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--debug {
    background: linear-gradient(135deg, #ffffff 0%, #ebfffb 100%);
}
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--debug::before { background: var(--fcbw-turquoise); }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--debug::after { background: rgba(0,175,168,.08); }

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--learn {
    background: linear-gradient(135deg, #ffffff 0%, #f5efff 100%);
}
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--learn::before { background: var(--fcbw-purple); }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card--learn::after { background: rgba(109,60,231,.08); }

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--fcbw-shadow-pop);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card__icon {
    position: relative;
    z-index: 1;
    width: 3rem;
    height: 3rem;
    border-radius: 17px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 7px 16px rgba(42,58,111,.16);
}

.fcbw-action-card__note {
    display: inline-flex !important;
    width: fit-content;
    margin-top: .45rem !important;
    padding: .22rem .48rem;
    border-radius: 999px;
    background: rgba(255,255,255,.8);
    color: var(--fcbw-ink) !important;
    font-size: .74rem !important;
    font-weight: 850;
    letter-spacing: .01em;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-secondary-actions {
    gap: .55rem;
    padding: .72rem;
    border: 1px solid #d8def0;
    border-radius: 18px;
    background: rgba(255,255,255,.75);
    box-shadow: 0 7px 20px rgba(40,57,101,.05);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-text-action {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 44px;
    padding: .55rem .72rem;
    border-color: #cfd7eb;
    border-radius: 12px;
    background: linear-gradient(180deg, #fff, #f8faff);
    color: #2a4da8;
    box-shadow: 0 2px 8px rgba(33,53,100,.05);
}

.fcbw-text-action::before {
    display: inline-grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 6px;
    background: #edf3ff;
    color: var(--fcbw-purple);
    font-size: .8rem;
    font-weight: 900;
}
.fcbw-text-action[data-fcbw-nav="library"]::before { content: "▦"; }
.fcbw-text-action[data-fcbw-nav="setup-lab"]::before { content: "☷"; }
.fcbw-text-action[data-fcbw-nav="selector-lab"]::before { content: "◎"; }
.fcbw-text-action[data-fcbw-nav="coordinate-lab"]::before { content: "⌖"; }
.fcbw-text-action[data-fcbw-nav="chain-planner"]::before { content: "⤳"; }
.fcbw-text-action[data-fcbw-nav="my-workshop"]::before { content: "⌂"; }
.fcbw-text-action[data-fcbw-nav="parent-help"]::before { content: "♡"; }

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-stage-card {
    position: relative;
    overflow: hidden;
    padding: 1.05rem 1.1rem;
    border: 1px solid #b8d6d7;
    background:
        radial-gradient(circle at 90% 12%, rgba(118,184,42,.12), transparent 28%),
        linear-gradient(135deg, #f1fbff 0%, #effcf5 100%);
    box-shadow: 0 8px 20px rgba(28,80,92,.06);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-stage-card::after {
    content: "✦";
    position: absolute;
    right: 1rem;
    top: .8rem;
    color: rgba(23,122,66,.22);
    font-size: 1.6rem;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view__header {
    position: relative;
    overflow: hidden;
    padding: .95rem 1rem;
    border: 1px solid #d7dff1;
    border-radius: 20px;
    background:
        radial-gradient(circle at 94% 10%, rgba(109,60,231,.08), transparent 30%),
        linear-gradient(135deg, #ffffff 0%, #f5f8ff 100%);
    box-shadow: 0 7px 20px rgba(35,52,97,.06);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view__header::after {
    content: "◇";
    position: absolute;
    right: .95rem;
    bottom: .35rem;
    color: rgba(109,60,231,.14);
    font-size: 2rem;
    pointer-events: none;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-back,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-secondary {
    border-color: #cbd5ea;
    background: linear-gradient(180deg, #fff, #f7f9ff);
    box-shadow: 0 2px 8px rgba(31,47,89,.05);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-primary {
    background: linear-gradient(135deg, #2457e6, #5447ee 58%, #663fe8);
    border-color: #3156d4;
    box-shadow: 0 7px 18px rgba(44,73,189,.20);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-primary:not(:disabled):hover,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-secondary:hover,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-text-action:hover {
    transform: translateY(-1px);
}

.fcbw-section-coach {
    display: grid;
    grid-template-columns: 64px minmax(0,1fr);
    gap: .8rem;
    align-items: center;
    margin-bottom: 1rem;
    padding: .75rem .85rem;
    border: 1px solid #e4ccdd;
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 14%, rgba(244,173,210,.14), transparent 30%),
        linear-gradient(135deg, #fffafa, #fff4f8);
    box-shadow: 0 7px 18px rgba(82,49,72,.06);
}

.fcbw-section-coach img {
    width: 64px;
    border: 3px solid #f2c8dd;
    background: #fff;
}

.fcbw-section-coach p {
    margin: .2rem 0 0;
    color: var(--fcbw-ink-soft);
    font-size: .9rem;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-filters,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-idea-detail,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-command-card details {
    border-color: #d5ddef;
    background: rgba(255,255,255,.92);
    box-shadow: 0 4px 14px rgba(35,52,97,.04);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-idea-card {
    position: relative;
    overflow: hidden;
    border-color: #ccd7ef;
    border-radius: 20px;
    box-shadow: 0 9px 24px rgba(28,49,101,.08);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-idea-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--fcbw-gold), var(--fcbw-turquoise), var(--fcbw-purple));
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-idea-card--spark-result {
    border-color: #9fb9ef;
    background:
        radial-gradient(circle at 95% 4%, rgba(197,138,0,.08), transparent 28%),
        linear-gradient(180deg, #fff, #fbfcff);
    box-shadow: 0 12px 32px rgba(48,75,145,.12);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-idea-card h4 {
    font-size: 1.28rem;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-badge {
    border-radius: 999px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
}

.fcbw-character-guide {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: .9rem;
    align-items: center;
    margin: .25rem 0 0;
    padding: .75rem .9rem;
    border: 1px solid #cdd8f1;
    border-left: 4px solid var(--fcbw-purple);
    border-radius: 18px;
    background:
        radial-gradient(circle at 94% 10%, rgba(109,60,231,.10), transparent 32%),
        linear-gradient(135deg, #f9fbff, #f7f2ff);
    box-shadow: 0 7px 18px rgba(52,43,111,.07);
}

.fcbw-character-guide__portrait {
    display: block;
    width: 76px;
    height: 76px;
    border: 3px solid #a8bfff;
    border-radius: 24px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0 5px 14px rgba(36,53,104,.12);
}

.fcbw-character-guide[data-fcbw-guide-role="ariel"] .fcbw-character-guide__portrait {
    background-image: url("../images/fcbw/characters/ariel-guide.webp");
}

.fcbw-character-guide[data-fcbw-guide-role="alice"] {
    border-left-color: #e58bb6;
    background: linear-gradient(135deg, #fff9fc, #fff0f7);
}

.fcbw-character-guide[data-fcbw-guide-role="alice"] .fcbw-character-guide__portrait {
    border-color: #efb0cf;
    background-image: url("../images/fcbw/characters/alice-guide.webp");
}

.fcbw-character-guide[data-fcbw-guide-role="fluffernutter"] {
    border-left-color: var(--fcbw-turquoise);
    background: linear-gradient(135deg, #fbfffe, #effbf8);
}

.fcbw-character-guide[data-fcbw-guide-role="fluffernutter"] .fcbw-character-guide__portrait,
.fcbw-character-guide[data-fcbw-guide-role="fluff"] .fcbw-character-guide__portrait {
    border-color: #b9e8df;
    background-image: url("../images/fcbw/characters/fluff-guide.webp");
}

.fcbw-character-guide__copy p {
    margin: .18rem 0 0;
    color: var(--fcbw-ink);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mission-play {
    gap: 16px;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mission-summary {
    margin: .2rem 0 0;
    padding: .8rem .9rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #f6f9ff, #ffffff);
    border: 1px solid #dce3f3;
    font-size: 1.06rem;
    font-weight: 650;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mission-phase {
    position: relative;
    overflow: hidden;
    border-width: 1px;
    box-shadow: 0 7px 18px rgba(29,47,89,.05);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mission-phase::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--fcbw-sapphire);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mission-phase .fcbw-step-kicker {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .28rem .5rem;
    border-radius: 999px;
    background: #eef3ff;
    color: #2449a9;
}

.fcbw-mission-phase--hook { background: linear-gradient(135deg, #fffdf7, #fff8e8) !important; }
.fcbw-mission-phase--hook::before { background: var(--fcbw-gold) !important; }
.fcbw-mission-phase--hook .fcbw-step-kicker { background: #fff0bf !important; color: #765100 !important; }
.fcbw-mission-phase--hook .fcbw-step-kicker::before { content: "✦"; }

.fcbw-mission-phase--predict { background: linear-gradient(135deg, #fbfdff, #eef5ff) !important; }
.fcbw-mission-phase--predict::before { background: var(--fcbw-sapphire) !important; }
.fcbw-mission-phase--predict .fcbw-step-kicker::before { content: "?"; }

.fcbw-mission-phase--build { background: linear-gradient(135deg, #fdfbff, #f5efff) !important; }
.fcbw-mission-phase--build::before { background: var(--fcbw-purple) !important; }
.fcbw-mission-phase--build .fcbw-step-kicker { background: #eee4ff !important; color: #5631b5 !important; }
.fcbw-mission-phase--build .fcbw-step-kicker::before { content: "◇"; }

.fcbw-mission-phase--test { background: linear-gradient(135deg, #fafffe, #ecfbf7) !important; }
.fcbw-mission-phase--test::before { background: var(--fcbw-turquoise) !important; }
.fcbw-mission-phase--test .fcbw-step-kicker { background: #daf6f0 !important; color: #087b74 !important; }
.fcbw-mission-phase--test .fcbw-step-kicker::before { content: "✓"; }

.fcbw-mission-phase--explain { background: linear-gradient(135deg, #fefff9, #f3fae7) !important; }
.fcbw-mission-phase--explain::before { background: var(--fcbw-lime) !important; }
.fcbw-mission-phase--explain .fcbw-step-kicker { background: #e9f6d6 !important; color: #49781a !important; }
.fcbw-mission-phase--explain .fcbw-step-kicker::before { content: "◎"; }

.fcbw-mission-phase--remix { background: linear-gradient(135deg, #fffafe, #fff0f7) !important; }
.fcbw-mission-phase--remix::before { background: #df6ea9 !important; }
.fcbw-mission-phase--remix .fcbw-step-kicker { background: #ffe0f0 !important; color: #9a356b !important; }
.fcbw-mission-phase--remix .fcbw-step-kicker::before { content: "↻"; }

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-choice {
    min-height: 48px;
    border-color: #d6deef;
    background: linear-gradient(180deg, #fff, #f8faff);
    box-shadow: 0 2px 7px rgba(33,49,92,.04);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-choice:hover {
    border-color: #9db4ef;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-choice:has(input:checked) {
    border-color: var(--fcbw-sapphire);
    background: linear-gradient(135deg, #f4f7ff, #edf3ff);
    box-shadow: 0 0 0 3px rgba(36,87,230,.12);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mission-complete {
    position: relative;
    overflow: hidden;
    border-color: #79c7b8;
    background:
        radial-gradient(circle at 94% 6%, rgba(118,184,42,.15), transparent 30%),
        linear-gradient(135deg, #f2fff9, #f1f7ff);
    box-shadow: 0 10px 26px rgba(30,102,79,.10);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mission-complete::after {
    content: "✦  ✓  ✦";
    position: absolute;
    right: 1rem;
    top: .8rem;
    color: rgba(23,122,66,.22);
    font-weight: 900;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mission-card {
    position: relative;
    overflow: hidden;
    border-color: #d3dcef;
    background: linear-gradient(145deg, #fff, #f8faff);
    box-shadow: 0 7px 18px rgba(33,49,92,.06);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mission-card::after {
    content: "";
    position: absolute;
    width: 64px;
    height: 64px;
    right: -20px;
    bottom: -22px;
    border: 2px solid rgba(109,60,231,.07);
    border-radius: 20px;
    transform: rotate(22deg);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-storage {
    gap: .9rem;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-storage-card {
    position: relative;
    overflow: hidden;
    border-color: #d5ddeb;
    box-shadow: 0 7px 18px rgba(29,47,89,.05);
}

.fcbw-storage-card--hero {
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: center;
    background:
        radial-gradient(circle at 93% 10%, rgba(0,175,168,.12), transparent 30%),
        linear-gradient(135deg, #f8fffd, #f3f8ff) !important;
    border-color: #b9ddd6 !important;
}

.fcbw-storage-hero__art img {
    width: 82px;
    border: 3px solid #bfe8df;
    background: #fff;
}

.fcbw-storage-hero__copy {
    min-width: 0;
}

.fcbw-storage-hero__copy h4 {
    margin-top: .35rem !important;
}

.fcbw-storage-card--progress { border-left: 5px solid var(--fcbw-purple) !important; background: linear-gradient(135deg,#fff,#f8f3ff) !important; }
.fcbw-storage-card--ideas { border-left: 5px solid var(--fcbw-gold) !important; background: linear-gradient(135deg,#fff,#fffaf0) !important; }
.fcbw-storage-card--plans { border-left: 5px solid var(--fcbw-sapphire) !important; background: linear-gradient(135deg,#fff,#f3f7ff) !important; }
.fcbw-storage-card--prefs { border-left: 5px solid var(--fcbw-turquoise) !important; background: linear-gradient(135deg,#fff,#f2fcfa) !important; }
.fcbw-storage-card--backup { border-left: 5px solid #637493 !important; background: linear-gradient(135deg,#fff,#f7f9fc) !important; }

.fcbw-storage-card--progress h4::before,
.fcbw-storage-card--ideas h4::before,
.fcbw-storage-card--plans h4::before,
.fcbw-storage-card--prefs h4::before,
.fcbw-storage-card--backup h4::before {
    display: inline-grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    margin-right: .42rem;
    border-radius: 8px;
    vertical-align: -.22rem;
    background: #eef3ff;
    color: var(--fcbw-purple);
    font-size: .9rem;
}
.fcbw-storage-card--progress h4::before { content: "↗"; background:#eee5ff; }
.fcbw-storage-card--ideas h4::before { content: "✦"; background:#fff0c7; color:#805900; }
.fcbw-storage-card--plans h4::before { content: "⤳"; background:#e5edff; color:#2850b7; }
.fcbw-storage-card--prefs h4::before { content: "✓"; background:#dcf7f1; color:#087a73; }
.fcbw-storage-card--backup h4::before { content: "⇄"; background:#edf0f5; color:#52627a; }

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-storage-item {
    border-color: #d7deed;
    background: rgba(255,255,255,.82);
    box-shadow: 0 3px 9px rgba(31,47,88,.04);
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-storage-card--danger {
    border: 1px solid #e2b4b0 !important;
    border-left: 5px solid var(--fcbw-destructive) !important;
    background: linear-gradient(135deg, #fff, #fff5f4) !important;
}

.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-code-wrap,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-command-card,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-codebox {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 6px 16px rgba(16,24,40,.08);
}

@media (min-width: 760px) {
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-welcome-panel {
        grid-template-columns: minmax(0, 1.45fr) minmax(250px, .8fr);
        align-items: center;
    }

    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-shell__header {
        padding: 1.05rem;
    }

    .fcbw-welcome-panel__chips {
        gap: .35rem;
    }

    .fcbw-welcome-panel__chips span {
        font-size: .76rem;
    }

    .fcbw-welcome-guides {
        gap: .5rem;
    }

    .fcbw-welcome-guide {
        grid-template-columns: 54px minmax(0,1fr);
        gap: .45rem;
        padding: .45rem;
    }

    .fcbw-welcome-guide img {
        width: 54px;
    }

    .fcbw-welcome-guide figcaption strong {
        font-size: .84rem;
    }

    .fcbw-welcome-guide figcaption span {
        font-size: .69rem;
    }

    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card {
        min-height: 102px;
    }

    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-secondary-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-text-action {
        width: 100%;
        justify-content: flex-start;
        min-width: 0;
        padding: .52rem .58rem;
        font-size: .8rem;
    }

    .fcbw-character-guide {
        grid-template-columns: 62px minmax(0,1fr);
        padding: .68rem .75rem;
    }

    .fcbw-character-guide__portrait {
        width: 62px;
        height: 62px;
        border-radius: 20px;
    }

    .fcbw-storage-card--hero {
        grid-template-columns: 66px minmax(0,1fr);
    }

    .fcbw-storage-hero__art img {
        width: 66px;
    }
}

@media (max-width: 350px) {
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-secondary-actions {
        grid-template-columns: 1fr;
    }
    .fcbw-welcome-guides {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-primary,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-secondary,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-text-action {
        transition: none !important;
        transform: none !important;
    }
}

@media (forced-colors: active) {
    .fcbw-welcome-panel,
    .fcbw-welcome-guide,
    .fcbw-section-coach,
    .fcbw-character-guide,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-action-card,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-secondary-actions,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view__header,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mission-phase,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-storage-card,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-idea-card {
        background: Canvas !important;
        border: 2px solid CanvasText !important;
        box-shadow: none !important;
    }

    .fcbw-welcome-panel::after,
    .fcbw-shell__header::before,
    .fcbw-shell__header::after,
    .fcbw-action-card::after,
    .fcbw-stage-card::after,
    .fcbw-view__header::after,
    .fcbw-mission-card::after,
    .fcbw-mission-complete::after {
        display: none !important;
    }
}


/* Stage 18.3 — final Fantasticamos micro-polish */
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-unofficial {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    align-items: center;
    gap: .55rem;
    margin: 0;
    padding: .62rem clamp(.9rem, 3vw, 1.15rem);
    border-block: 0;
    border-bottom: 1px solid #d9e0ef;
    color: #5c6980;
    font-size: .78rem;
    line-height: 1.45;
}
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-unofficial::before {
    content: "UNOFFICIAL";
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: .2rem .45rem;
    border: 1px solid #d7c8f2;
    border-radius: 999px;
    background: #f7f2ff;
    color: #5a35ba;
    font-size: .63rem;
    font-weight: 900;
    letter-spacing: .08em;
}

/* Give each Workshop destination a gentle visual identity without changing IA. */
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view:not([data-fcbw-view="home"]) .fcbw-view__header {
    --fcbw-view-accent: var(--fcbw-purple);
    --fcbw-view-soft: rgba(109,60,231,.08);
    border-inline-start: 5px solid var(--fcbw-view-accent);
    background:
        radial-gradient(circle at 95% 8%, var(--fcbw-view-soft), transparent 28%),
        linear-gradient(135deg, #fff, #f8faff);
}
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="spark"] .fcbw-view__header,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="library"] .fcbw-view__header { --fcbw-view-accent: var(--fcbw-gold); --fcbw-view-soft: rgba(197,138,0,.10); }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="builder"] .fcbw-view__header,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="chain-planner"] .fcbw-view__header { --fcbw-view-accent: var(--fcbw-sapphire); --fcbw-view-soft: rgba(36,87,230,.09); }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="debug-detective"] .fcbw-view__header,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="selector-lab"] .fcbw-view__header { --fcbw-view-accent: var(--fcbw-turquoise); --fcbw-view-soft: rgba(0,175,168,.09); }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="mission-trail"] .fcbw-view__header,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="mission-detail"] .fcbw-view__header { --fcbw-view-accent: var(--fcbw-purple); --fcbw-view-soft: rgba(109,60,231,.10); }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="coordinate-lab"] .fcbw-view__header,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="setup-lab"] .fcbw-view__header { --fcbw-view-accent: #4a8f2d; --fcbw-view-soft: rgba(118,184,42,.10); }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view[data-fcbw-view="my-workshop"] .fcbw-view__header { --fcbw-view-accent: #58708f; --fcbw-view-soft: rgba(88,112,143,.09); }

/* Finish the idea detail drawers so Test/Remix no longer look like bare text rows. */
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer {
    margin: .7rem 0;
    overflow: hidden;
    border: 1px solid #d8e0f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(31,49,92,.04);
}
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer > summary {
    position: relative;
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 46px;
    padding: .7rem .8rem;
    color: var(--fcbw-ink);
    font-weight: 850;
    list-style-position: inside;
}
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer > summary::before {
    display: inline-grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    flex: 0 0 1.65rem;
    border-radius: 9px;
    background: #edf3ff;
    color: var(--fcbw-purple);
    font-size: .82rem;
    font-weight: 900;
}
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer--explain > summary::before { content: "?"; background:#eef3ff; color:var(--fcbw-sapphire); }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer--setup > summary::before { content: "⚙"; background:#effbf4; color:#347a24; }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer--test > summary::before { content: "✓"; background:#eafaf4; color:#177a42; }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer--remix > summary::before { content: "✦"; background:#fff7df; color:#9b6b00; }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer > :not(summary) { margin-inline: .85rem; }
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer ul { margin-top: .55rem; }

/* More tactile but still restrained action feedback. */
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-primary:not(:disabled) {
    background: linear-gradient(110deg, #275be6 0%, #6041ef 100%);
    box-shadow: 0 8px 18px rgba(57,66,190,.18);
}
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-primary:not(:disabled):active { transform: translateY(1px); box-shadow: 0 4px 10px rgba(57,66,190,.14); }

/* Subtle Fantasticamos logic-glow around contained code without reducing contrast. */
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-code-wrap,
.fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-codebox {
    box-shadow: 0 0 0 1px rgba(93,116,190,.16), 0 8px 18px rgba(24,35,64,.08);
}

@media (max-width: 420px) {
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-unofficial { grid-template-columns: 1fr; gap: .32rem; }
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-unofficial::before { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-primary:not(:disabled):active { transform: none; }
}

@media (forced-colors: active) {
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-unofficial,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-view__header,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer { border: 2px solid CanvasText; box-shadow: none; background: Canvas; color: CanvasText; }
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-unofficial::before,
    .fcbw-app[data-fcbw-visual-patch="18.3"] .fcbw-mini-drawer > summary::before { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
}

/* Stage 19 — final stable interior consistency polish */
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-unofficial__contact {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    margin-inline-start: .35rem;
    color: #4d35b7;
    font-weight: 800;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/* Guided Builder now shares the finished Fantasticamos drawer language. */
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-builder-guide {
    margin: 1rem 0 .35rem;
    background: linear-gradient(135deg, #eef4ff, #f7f2ff);
    border-left-color: var(--fcbw-sapphire);
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-builder-preview > .fcbw-mini-drawer {
    margin-block: .62rem;
}

/* Chain Planner: make the sequence visually read as a chain without requiring drag. */
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-flow-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    flex-wrap: wrap;
    margin: .2rem 0 .85rem;
    color: var(--fcbw-ink-soft);
    font-size: .73rem;
    font-weight: 900;
    letter-spacing: .04em;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-flow-hint span {
    padding: .32rem .58rem;
    border: 1px solid #cbd8f5;
    border-radius: 999px;
    background: #f4f7ff;
    color: #2a57c8;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-flow-hint b { color: var(--fcbw-turquoise); }
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-steps {
    gap: 1rem;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step {
    position: relative;
    overflow: visible;
    border: 1px solid #cbd8ef;
    border-top: 4px solid var(--fcbw-sapphire);
    border-radius: 20px;
    background: linear-gradient(180deg, #fff, #fbfcff);
    box-shadow: 0 10px 24px rgba(31,49,92,.07);
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step:not(:last-child)::after {
    content: "↓";
    position: absolute;
    left: 50%;
    bottom: -1.1rem;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 1.7rem;
    height: 1.7rem;
    transform: translateX(-50%);
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--fcbw-turquoise);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 4px 10px rgba(0,175,168,.2);
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step__head .fcbw-step-kicker {
    display: inline-flex;
    padding: .28rem .52rem;
    border-radius: 999px;
    background: #edf3ff;
    color: #2859c7;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-dependency {
    margin: .65rem 0;
    padding: .62rem .72rem;
    border-left: 4px solid var(--fcbw-turquoise);
    border-radius: 10px;
    background: #eef8fb;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step__setup {
    display: inline-flex;
    margin: .2rem 0 .55rem;
    padding: .28rem .5rem;
    border-radius: 999px;
    background: #f4f6fb;
    color: #465875;
    font-size: .82rem;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step__expected {
    padding: .62rem .72rem;
    border: 1px dashed #b8c8e4;
    border-radius: 10px;
    background: #fbfdff;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-actions {
    margin: .7rem 0;
    padding: .55rem;
    border: 1px solid #dce4f3;
    border-radius: 14px;
    background: #f7f9ff;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step > details {
    margin: .55rem 0;
    border: 1px solid #d9e2f1;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step > details > summary {
    min-height: 44px;
    padding: .65rem .75rem;
    font-weight: 800;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step > details > :not(summary) {
    margin-inline: .75rem;
}

/* Debug Detective: clue-board feel while preserving evidence-first text. */
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-guide {
    margin: 0 0 .4rem;
    background: linear-gradient(135deg, #eefcfa, #f4f7ff);
    border-left-color: var(--fcbw-turquoise);
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-clueboard {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .18rem .6rem;
    align-items: center;
    padding: .7rem .8rem;
    border: 1px solid #cde9e7;
    border-radius: 14px;
    background: linear-gradient(135deg, #eefbf9, #f5f8ff);
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-clueboard strong {
    color: #0f5e5a;
    font-size: 1rem;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-clueboard > span:last-child {
    grid-column: 2;
    color: var(--fcbw-ink-soft);
    font-size: .8rem;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding {
    position: relative;
    padding-left: 1rem;
    box-shadow: 0 6px 16px rgba(31,49,92,.045);
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding--check-first {
    border-color: #e4c261;
    border-inline-start-color: var(--fcbw-gold);
    background: linear-gradient(135deg, #fffdf7, #fff8e7);
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding__category {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding__category::before {
    display: inline-grid;
    place-items: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 8px;
    background: #eef3ff;
    color: var(--fcbw-sapphire);
    content: "?";
    font-weight: 900;
}
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding--cat-selector-scope .fcbw-debug-finding__category::before { content: "◎"; background:#e9fbf8; color:#087c76; }
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding--cat-coordinates .fcbw-debug-finding__category::before { content: "XYZ"; font-size:.55rem; background:#eff8e8; color:#487e28; }
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding--cat-permissions-cheats .fcbw-debug-finding__category::before { content: "✓"; background:#fff6dc; color:#8a6500; }
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding--cat-syntax-pattern .fcbw-debug-finding__category::before { content: "{}"; font-size:.62rem; }
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding--cat-command-block-setup .fcbw-debug-finding__category::before { content: "⚙"; background:#f4efff; color:#6d3ce7; }
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding--cat-edition-mismatch .fcbw-debug-finding__category::before,
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding--cat-unsupported-unverified .fcbw-debug-finding__category::before { content: "!"; background:#fff0ef; color:#9e2d24; }
.fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding--cat-needs-in-game-evidence .fcbw-debug-finding__category::before { content: "◌"; background:#eef3ff; color:#405b9c; }

/* Leave safe breathing room for the site's floating Ask Fluffernutter control on small screens. */
@media (max-width: 900px) {
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-main { padding-bottom: 5.5rem; }
}

@media (max-width: 520px) {
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-clueboard { grid-template-columns: 1fr; }
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-clueboard > span:last-child { grid-column: 1; }
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-flow-hint { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step:not(:last-child)::after { transition: none; }
}

@media (forced-colors: active) {
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-builder-guide,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-flow-hint span,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-dependency,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step__setup,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step__expected,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-actions,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step > details,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-guide,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-clueboard,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding {
        background: Canvas !important;
        color: CanvasText !important;
        border: 2px solid CanvasText !important;
        box-shadow: none !important;
    }
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-debug-finding__category::before,
    .fcbw-app[data-fcbw-build-stage="19"] .fcbw-chain-step:not(:last-child)::after {
        background: Canvas !important;
        color: CanvasText !important;
        border: 1px solid CanvasText !important;
    }
}

/* Stage 19.1 — final-release hotfix: protect command readability from theme code styles. */
.fcbw-app .fcbw-code-wrap code,
.fcbw-app .fcbw-codebox code,
.fcbw-app code.fcbw-mission-command,
.fcbw-app .fcbw-command-card code,
.fcbw-app .fcbw-builder-preview .fcbw-code-wrap code,
.fcbw-app .fcbw-chain-step code,
.fcbw-app .fcbw-mini-step code {
    color: var(--fcbw-code-fg) !important;
    -webkit-text-fill-color: var(--fcbw-code-fg) !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-shadow: none !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace !important;
}
.fcbw-app .fcbw-code-wrap code::before,
.fcbw-app .fcbw-code-wrap code::after,
.fcbw-app .fcbw-codebox code::before,
.fcbw-app .fcbw-codebox code::after,
.fcbw-app code.fcbw-mission-command::before,
.fcbw-app code.fcbw-mission-command::after {
    content: none !important;
}
@media (forced-colors: active) {
    .fcbw-app .fcbw-code-wrap code,
    .fcbw-app .fcbw-codebox code,
    .fcbw-app code.fcbw-mission-command {
        color: CanvasText !important;
        -webkit-text-fill-color: CanvasText !important;
        background: transparent !important;
    }
}
