    .wizard-dialog {
        max-width: 96vw;
        margin: 1rem auto;
    }
    .wizard-dialog .modal-content {
        min-height: 590px;
        max-height: 80vh;
        height: 80vh;
        display:flex;
        flex-direction:column;
        border-radius:12px;
        border:1px solid var(--wiz-border, #d8dee8);
        overflow:hidden;
        background:var(--wiz-surface, #ffffff);
    }
    [data-bs-theme="dark"] .wizard-dialog .modal-content {
        background:#1f242c;
        border-color:#3a4452;
        box-shadow:0 14px 36px rgba(0,0,0,.42);
    }
    .wizard-shell {
        --wiz-surface:#ffffff;
        --wiz-surface-sub:#f8f9fb;
        --wiz-surface-nest:#f3f5f8;
        --wiz-border:#d8dee8;
        --wiz-border-soft:#e9ecef;
        --wiz-text:#212529;
        --wiz-text-muted:#6c757d;
        --wiz-text-soft:#a3a6b1;
        --wiz-accent:#c2622a;
        --wiz-accent-soft:rgba(194,98,42,.08);
        --wiz-accent-border:rgba(194,98,42,.18);
        --wiz-shadow:0 1px 3px rgba(0,0,0,.06);
        display:flex;
        flex:1;
        min-height:0;
        flex-direction:column;
        background:var(--wiz-surface);
        color:var(--wiz-text);
        font-size:0.875rem;
    }
    .wizard-shell.theme-dark,
    [data-bs-theme="dark"] .wizard-shell {
        --wiz-surface:#1f242c;
        --wiz-surface-sub:#252b34;
        --wiz-surface-2:#2a313b;
        --wiz-surface-nest:#2b313b;
        --wiz-border:#3a4452;
        --wiz-border-soft:#313947;
        --wiz-text:#edf2f7;
        --wiz-text-muted:#c0cad6;
        --wiz-text-soft:#9ca8b8;
        --wiz-accent:#de7c3a;
        --wiz-accent-soft:rgba(222,124,58,.16);
        --wiz-accent-border:rgba(222,124,58,.28);
        --wiz-shadow:0 10px 24px rgba(0,0,0,.28);
    }
    .wizard-topbar {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:0.75rem;
        min-height:2.95rem;
        padding:0.64rem 0.9rem;
        border-bottom:2px solid var(--wiz-accent-border);
        background:var(--wiz-surface);
    }
    .wizard-topbar-main {
        display:flex;
        align-items:center;
        gap:0.75rem;
        min-width:0;
        flex:1 1 auto;
        flex-wrap:nowrap;
    }
    .wizard-topbar-title {
        font-size:1.125rem;
        font-weight:600;
        color:var(--wiz-accent);
        white-space:nowrap;
    }
    .wizard-topbar-chip {
        display:inline-flex;
        align-items:center;
        gap:0.35rem;
        min-height:1.7rem;
        padding:0 0.62rem;
        border-radius:0.55rem;
        border:1px solid var(--wiz-accent-border);
        background:var(--wiz-accent-soft);
        color:var(--wiz-accent);
        font-size:0.75rem;
        font-weight:700;
        white-space:nowrap;
    }
    .wizard-readonly-chip {
        border-color:rgba(245,194,122,.72);
        background:rgba(245,194,122,.18);
        color:#946200;
    }
    .wizard-topbar-context-title {
        color:var(--wiz-text-muted);
        font-size:0.84rem;
        line-height:1.2;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        max-width:15rem;
    }
    .wizard-topbar-export {
        min-height:1.85rem;
        padding:0.2rem 0.68rem;
        font-size:0.78rem;
        line-height:1.2;
        color:#5f6f81;
        border-color:var(--wiz-border);
        background:var(--wiz-surface);
    }
    .wizard-topbar-actions {
        display:flex;
        align-items:center;
        gap:0.4rem;
        margin-left:auto;
    }
    .wizard-topbar-actions .btn-close:not(.app-modal-close-btn) {
        font-size:1.05rem;
        padding:0.1rem;
    }
    .wizard-scroll-shell {
        display:flex;
        flex:1;
        min-height:0;
        flex-direction:column;
        gap:0.5rem;
        padding:0.56rem 0.78rem;
        background:var(--wiz-surface);
    }
    .wizard-readonly-banner {
        display:flex;
        align-items:center;
        gap:0.5rem;
        padding:0.55rem 0.75rem;
        border:1px solid rgba(245,194,122,.42);
        border-radius:0.72rem;
        background:rgba(245,194,122,.12);
        color:var(--wiz-text);
        font-size:0.84rem;
        font-weight:600;
    }
    .wizard-panel-scroll {
        flex:1;
        min-height:0;
        overflow-y:auto;
        background:var(--wiz-surface);
    }
    .wizard-stepper-card {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:0.65rem;
        flex-wrap:wrap;
        padding:0.64rem 0.78rem;
        border:1px solid var(--wiz-border);
        border-radius:0.82rem;
        background:var(--wiz-surface);
        box-shadow:var(--wiz-shadow);
    }
    .wizard-stepper-steps {
        display:flex;
        align-items:center;
        gap:0.4rem;
        flex-wrap:nowrap;
        flex:0 0 auto;
        min-width:0;
    }
    .wizard-step-btn {
        display:inline-flex;
        align-items:center;
        gap:0.375rem;
        min-height:1.875rem;
        padding:0 0.8125rem;
        border-radius:999px;
        border:1px solid var(--wiz-border);
        background:var(--wiz-surface-sub);
        color:var(--wiz-text-muted);
        font-size:0.75rem;
        font-weight:600;
    }
    .wizard-step-btn.active {
        background:var(--wiz-accent);
        border-color:var(--wiz-accent);
        color:#ffffff;
    }
    .wizard-step-btn.completed,
    .wizard-step-btn.completed-soft {
        background:rgba(25,135,84,.08);
        border-color:rgba(25,135,84,.18);
        color:#157347;
    }
    .wizard-step-btn.warning {
        background:#fff8ec;
        border-color:#f5c27a;
        color:#7a4d00;
    }
    .wizard-step-num {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:1.125rem;
        height:1.125rem;
        border-radius:999px;
        background:rgba(0,0,0,.1);
        font-size:0.6875rem;
    }
    .wizard-step-btn.active .wizard-step-num {
        background:rgba(255,255,255,.25);
    }
    .wizard-stepper-context {
        display:flex;
        align-items:center;
        gap:0.45rem;
        flex-wrap:nowrap;
        flex:1 0 32rem;
        justify-content:flex-end;
        min-width:0;
    }
    .wizard-stepper-card.is-stacked .wizard-stepper-context {
        justify-content:flex-start;
    }
    .wizard-top-context-edit-fields {
        display:flex;
        align-items:center;
        gap:0.6rem;
        flex-wrap:nowrap;
        flex:0 1 auto;
        min-width:0;
    }
    .wizard-top-context-edit-field {
        display:flex;
        align-items:center;
        gap:0.45rem;
        min-width:0;
    }
    .wizard-top-context-edit-field-title {
        flex:0 1 22rem;
    }
    .wizard-top-context-edit-label {
        color:var(--wiz-text-muted);
        font-size:0.72rem;
        font-weight:700;
        letter-spacing:0.04em;
        text-transform:uppercase;
        white-space:nowrap;
    }
    .wizard-top-context-edit-input {
        min-height:2rem;
        background:var(--wiz-surface);
        border-color:var(--wiz-border);
        color:var(--wiz-text);
    }
    .wizard-top-context-edit-input-id {
        width:5.25rem;
        min-width:5.25rem;
        text-align:start;
    }
    .wizard-top-context-edit-input-title {
        width:min(56rem, 78vw);
        min-width:18rem;
    }
    .wizard-step-card {
        border:1px solid var(--wiz-border);
        border-radius:0.62rem;
        background:var(--wiz-surface);
        box-shadow:var(--wiz-shadow);
    }
    .wizard-top-validation-error {
        margin-top:0.45rem;
        padding:0.55rem 0.75rem;
        border:1px solid rgba(220,53,69,.3);
        border-radius:0.72rem;
        background:rgba(220,53,69,.08);
        color:#b02a37;
        font-size:0.84rem;
        font-weight:600;
    }
    .wizard-step-card-fill {
        display:flex;
        flex-direction:column;
        flex:1;
        min-height:0;
    }
    .wizard-step-card-header {
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:0.75rem;
        flex-wrap:wrap;
        padding:0.58rem 0.78rem;
        border-bottom:1px solid var(--wiz-border-soft);
        background:var(--wiz-surface-sub);
    }
    .wizard-step-card-title {
        font-size:0.92rem;
        font-weight:700;
        color:var(--wiz-text);
    }
    .wizard-step-card-subtitle {
        margin-top:0.1rem;
        font-size:0.78rem;
        color:var(--wiz-text-muted);
        line-height:1.35;
    }
    .wizard-step-card-header-meta {
        display:flex;
        align-items:center;
        gap:0.45rem;
        flex-wrap:wrap;
        margin-left:0;
        margin-inline-start:auto;
    }
    .wizard-step-card-body {
        padding:0.72rem 0.78rem 0.82rem;
        flex:1;
        min-height:0;
        display:flex;
        flex-direction:column;
    }
    .wizard-step-card-solution {
        display:block;
        flex:0 0 auto !important;
        min-height:0;
    }
    .wizard-step-card-body-solution {
        display:block !important;
        flex:0 0 auto !important;
        min-height:0;
        overflow:visible !important;
    }
    .wizard-start-stack {
        display:grid;
        gap:0.56rem;
    }
    .wizard-form-inline {
        display:grid;
        grid-template-columns:8rem minmax(0,1fr);
        gap:0.55rem;
        align-items:center;
    }
    .wizard-form-inline-label {
        margin:0;
        font-size:0.72rem;
        font-weight:700;
        color:var(--wiz-text-muted);
        text-transform:uppercase;
        letter-spacing:.04em;
    }
    .wizard-title-edit-row {
        display:flex;
        align-items:center;
        gap:1.3rem;
    }
    .wizard-title-edit-row > input {
        flex:1 1 auto;
        min-width:0;
    }
    .wizard-restore-title-btn {
        flex:0 0 auto;
        min-width:5.25rem;
    }
    .wizard-form-inline-control {
        min-width:0;
    }
    .wizard-form-inline-control-sm {
        max-width:16rem;
    }
    .wizard-start-option-grid {
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:0.56rem;
    }
    .wizard-start-option {
        display:grid;
        gap:0.25rem;
        padding:0.64rem 0.74rem;
        text-align:start;
        border:1px solid var(--wiz-border);
        border-radius:0.5rem;
        background:var(--wiz-surface-sub);
    }
    .wizard-start-option.active {
        background:#edf2ff;
        border-color:#3d8ef0;
    }
    .wizard-start-option-title {
        font-size:0.85rem;
        font-weight:700;
        color:var(--wiz-text);
    }
    .wizard-start-option-copy {
        font-size:0.79rem;
        color:var(--wiz-text-muted);
        line-height:1.28;
    }
    .wizard-start-panel {
        display:grid;
        gap:0.56rem;
        padding:0.68rem;
        border:1px solid var(--wiz-border);
        border-radius:0.5rem;
        background:var(--wiz-surface-sub);
    }
    .wizard-start-panel-plain {
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
    }
    .wizard-start-option-grid-spaced {
        margin-bottom:0.45rem;
    }
    .wizard-start-panel-plain .wizard-field-label {
        color:var(--wiz-text-muted);
    }
    .wizard-start-textarea {
        min-height:10.5rem;
        height:10.5rem;
        resize:vertical;
        font-size:0.8125rem;
        line-height:1.38;
    }
    .wizard-file-row {
        display:flex;
        align-items:center;
        gap:0.6rem;
        flex-wrap:wrap;
    }
    .wizard-file-name {
        flex:1;
        min-width:14rem;
        min-height:2rem;
        display:flex;
        align-items:center;
        padding:0.4rem 0.7rem;
        border:1px solid var(--wiz-border);
        border-radius:0.375rem;
        background:var(--wiz-surface);
        color:var(--wiz-text);
    }
    .wizard-file-name.is-empty {
        color:var(--wiz-text-muted);
    }
    .wizard-google-drive-row {
        display:flex;
        align-items:center;
        gap:0.6rem;
        flex-wrap:wrap;
    }
    .wizard-google-drive-input {
        flex:1 1 22rem;
        min-width:14rem;
    }
    .wizard-google-drive-file {
        margin-top:0.5rem;
        max-width:100%;
    }
    .wizard-file-size {
        margin-left:0.35rem;
        color:var(--wiz-text-muted);
        font-size:0.76rem;
    }
    .wizard-status-chip-row {
        display:flex;
        flex-wrap:wrap;
        gap:0.45rem;
    }
    .wizard-status-chip {
        display:inline-flex;
        align-items:center;
        min-height:1.45rem;
        padding:0 0.55rem;
        border-radius:999px;
        border:1px solid var(--wiz-border);
        background:var(--wiz-surface);
        color:var(--wiz-text-muted);
        font-size:0.74rem;
        font-weight:600;
    }
    .wizard-status-chip.ok {
        background:#f0fbf4;
        border-color:#86c99a;
        color:#157347;
    }
    .wizard-status-chip.warn {
        background:#fff8ec;
        border-color:#f5c27a;
        color:#7a4d00;
    }
    .wizard-inline-details {
        border:1px solid var(--wiz-border);
        border-radius:0.5rem;
        background:var(--wiz-surface-sub);
    }
    .wizard-inline-details > summary {
        cursor:pointer;
        padding:0.7rem 0.85rem;
        color:var(--wiz-text-muted);
        font-size:0.8rem;
        font-weight:600;
    }
    .wizard-inline-details-body {
        display:grid;
        gap:0.75rem;
        padding:0 0.85rem 0.85rem;
    }
    .wizard-code-block {
        margin:0;
        min-height:6rem;
        padding:0.8rem 0.9rem;
        border:1px solid var(--wiz-border);
        border-radius:0.5rem;
        background:var(--wiz-surface-sub);
        white-space:pre-wrap;
        font-family:"Fira Code",Consolas,monospace;
        font-size:0.77rem;
        line-height:1.55;
        color:var(--wiz-text);
    }
    .wizard-code-textarea {
        field-sizing:fixed;
        align-self:start;
        min-height:10.5rem;
        height:10.5rem !important;
        width:100%;
        resize:vertical;
        overflow-y:auto;
        white-space:pre-wrap;
    }
    .wizard-panel-actions {
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:0.6rem;
        flex-wrap:wrap;
    }
    .wizard-inline-note {
        color:var(--wiz-text-muted);
        font-size:0.8rem;
    }
    .wizard-footer {
        display:flex;
        align-items:center;
        gap:0.75rem;
        justify-content:space-between;
        padding:0.625rem 1.125rem 0.75rem;
        border-top:1px solid var(--wiz-border);
        background:var(--wiz-surface);
        box-shadow:0 -3px 12px rgba(0,0,0,.06);
    }
    [data-bs-theme="dark"] .wizard-footer {
        background:#1f242c;
        border-top-color:#3a4452;
        box-shadow:0 -6px 18px rgba(0,0,0,.34);
    }
    .wizard-footer-start,
    .wizard-footer-end {
        display:flex;
        align-items:center;
        gap:0.5rem;
    }
    .wizard-footer-end {
        margin-inline-start:auto;
    }
    .wizard-footer .btn {
        font-size:0.8125rem;
        line-height:1.3;
        padding:0.42rem 0.9rem;
    }
    .wizard-footer .btn-primary,
    .wizard-footer .btn-secondary {
        min-width:6.75rem;
    }
    .wizard-stepper .wizard-steps {
        display:flex;
        gap:0.35rem;
        flex-wrap:wrap;
        justify-content:center;
    }
    .wizard-stepper .wizard-step {
        padding:0.35rem 0.85rem;
        border-radius:0.35rem;
        font-size:0.85rem;
        border:1px solid #3a3b3d;
        background:#1d1e20;
        color:#d7d9dc;
        min-width:90px;
        text-align:center;
        position:relative;
        cursor:pointer;
    }
    .wizard-stepper .wizard-step.active {
        background:#1266ff;
        border-color:#1266ff;
        color:#fff;
        box-shadow:0 0 0 1px rgba(18,102,255,0.5);
    }
    .wizard-stepper .wizard-step.completed {
        background:#1e7c4f;
        border-color:#1e7c4f;
        color:#fff;
    }
    .wizard-stepper .wizard-step.completed-soft {
        background:#4ea66f;
        border-color:#4ea66f;
        color:#fff;
    }
    .wizard-stepper .wizard-step.warning {
        background:#b88700;
        border-color:#b88700;
        color:#fff;
    }
    .wizard-stepper .wizard-step:disabled {
        opacity:0.65;
        cursor:not-allowed;
    }
    .wizard-stepper .wizard-step::after {
        content:'';
        position:absolute;
        right:-0.4rem;
        top:50%;
        transform:translateY(-50%) rotate(45deg);
        width:0.6rem;
        height:0.6rem;
        border:1px solid #3a3b3d;
        background:#1d1e20;
    }
    .wizard-stepper .wizard-step.active::after {
        border-color:#1266ff;
        background:#1266ff;
    }
    .wizard-stepper .wizard-step.completed::after {
        border-color:#1e7c4f;
        background:#1e7c4f;
    }
    .wizard-stepper .wizard-step.completed-soft::after {
        border-color:#4ea66f;
        background:#4ea66f;
    }
    .wizard-stepper .wizard-step.warning::after {
        border-color:#b88700;
        background:#b88700;
    }
    .wizard-stepper.is-rtl .wizard-step::after {
        right:auto;
        left:-0.4rem;
        transform:translateY(-50%) rotate(45deg);
    }
    .wizard-stepper .wizard-step:last-child::after {
        display:none;
    }
    .wizard-header {
        display:flex;
        align-items:center;
        gap:0.75rem;
        flex-wrap:wrap;
        padding-bottom:0.75rem;
        border-bottom:1px solid #32343a;
    }
    .wizard-header .modal-title {
        flex-shrink:0;
        white-space:nowrap;
    }
    .wizard-top-context {
        display:flex;
        align-items:center;
        gap:0.4rem;
        flex-wrap:wrap;
        min-width:0;
    }
    .wizard-top-context-chip {
        display:inline-flex;
        align-items:center;
        max-width:220px;
        padding:0.22rem 0.6rem;
        border-radius:999px;
        background:#f3f5f8;
        border:1px solid #d5dae0;
        color:#344054;
        font-size:0.78rem;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .wizard-top-context-title {
        max-width:300px;
    }
    .wizard-header .wizard-stepper {
        margin:0;
        flex:1;
        min-width:320px;
    }
    .wizard-body {
        background:#1f2024;
        border:1px solid #32343a;
        border-radius:0.45rem;
        padding:1rem;
        color:#e1e3ea;
        min-height:210px;
        font-size:0.9rem;
        height:100%;
        max-height:100%;
        overflow-x:hidden;
        overflow-y:auto;
        display:flex;
        flex-direction:column;
        flex:1;
        min-height:0;
    }
    .wizard-split {
        --split-left: 50%;
        --split-min-left: 280px;
        --split-min-right: 280px;
        display:flex;
        align-items:stretch;
        gap:0.65rem;
        min-height:0;
        height:100%;
    }
    .wizard-split-pane {
        display:flex;
        flex-direction:column;
        min-height:0;
        min-width:0;
    }
    .wizard-split-pane-left {
        flex:0 0 var(--split-left);
        min-width:var(--split-min-left);
    }
    .wizard-split-pane-right {
        flex:1 1 auto;
        min-width:var(--split-min-right);
    }
    .wizard-splitter {
        flex:0 0 10px;
        border:1px solid var(--wiz-border);
        border-radius:99px;
        background:var(--wiz-surface-sub);
        cursor:col-resize;
        position:relative;
        touch-action:none;
    }
    .wizard-splitter::before {
        content:'';
        position:absolute;
        top:50%;
        left:50%;
        width:2px;
        height:36px;
        background:var(--wiz-border);
        transform:translate(-50%, -50%);
        border-radius:2px;
    }
    .wizard-splitter:hover {
        background:var(--wiz-surface-nest);
        border-color:#3562c9;
    }
    .wizard-body strong {
        display:block;
        text-transform:uppercase;
        font-size:0.75rem;
        letter-spacing:0.05em;
        color:var(--wiz-text-soft);
    }
    .wizard-review-layout {
        height:100%;
        overflow:auto;
    }
    .wizard-review-card {
        background:var(--wiz-surface-sub);
        border:1px solid var(--wiz-border);
        border-radius:0.5rem;
        padding:0.65rem 0.75rem;
        box-shadow:var(--wiz-shadow);
    }
    .wizard-review-header {
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:0.75rem;
    }
    .wizard-review-subtitle {
        font-size:0.78rem;
        color:var(--wiz-text-muted);
        margin-top:0.1rem;
    }
    .wizard-review-item {
        background:var(--wiz-surface-nest);
        border:1px solid var(--wiz-border);
        border-radius:0.375rem;
        padding:0;
        overflow:hidden;
    }
    .wizard-review-summary {
        margin-top:0.2rem;
    }
    .wizard-review-item-header {
        display:flex;
        align-items:center;
        justify-content:space-between;
        font-weight:600;
        gap:0.5rem;
        padding:0.42rem 0.58rem;
        border-bottom:1px solid var(--wiz-border-soft);
        background:rgba(0,0,0,.02);
        font-size:0.82rem;
    }
    .wizard-review-item-meta {
        font-size:0.75rem;
        color:#a3a6b1;
        margin-top:0.25rem;
    }
    .wizard-review-item-body {
        font-size:0.775rem;
        color:var(--wiz-text);
        margin-top:0;
        padding:0.46rem 0.58rem 0.56rem;
        word-break:break-word;
        line-height:1.4;
    }
    .wizard-review-help-text {
        font-size:0.72rem;
        color:var(--wiz-text-muted);
        margin-top:0.28rem;
        line-height:1.35;
    }
    .wizard-final-review-grid {
        display:grid;
        gap:0.5rem;
    }
    .wizard-review-top-grid {
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:0.5rem;
    }
    .wizard-review-layout-final {
        padding-right:0.125rem;
    }
    .wizard-review-item-header-actions {
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:0.45rem;
        flex-wrap:wrap;
    }
    .wizard-review-summary-grid {
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:0.5rem;
        margin-top:0.18rem;
    }
    .wizard-review-summary-item {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:0.625rem;
        min-height:2.65rem;
        padding:0.38rem 0.52rem;
        border:1px solid var(--wiz-border);
        border-radius:0.375rem;
        background:var(--wiz-surface-sub);
    }
    .wizard-review-summary-item > span:first-child {
        font-size:0.76rem;
        font-weight:600;
        line-height:1.25;
    }
    .wizard-review-summary-actions {
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:0.45rem;
        flex-wrap:wrap;
    }
    .wizard-review-count-badge {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:1.9rem;
        padding:0.22rem 0.72rem;
        border-radius:0.45rem;
        font-size:0.8rem;
        font-weight:500;
        border:1px solid var(--wiz-border);
        background:var(--wiz-surface-sub);
        color:var(--wiz-text-muted);
    }
    .wizard-review-count-badge.warn {
        color:#9a6200;
        background:#fff7e8;
        border-color:#f3c278;
    }
    .wizard-review-count-badge.ok {
        color:#157347;
        background:#eefaf2;
        border-color:#9dd4ae;
    }
    .wizard-review-test-status {
        border:1px solid var(--wiz-border);
        border-radius:0.5rem;
        padding:0.6rem 0.82rem;
        margin-bottom:0.58rem;
        font-size:0.78rem;
        line-height:1.35;
    }
    .wizard-review-test-status.warn {
        color:#9a6200;
        background:#fff7e8;
        border-color:#f3c278;
    }
    .wizard-review-test-status.ok {
        color:#23754f;
        background:#eef8f1;
        border-color:#7ed09a;
    }
    .wizard-review-test-status.error {
        color:#9a3f3f;
        background:#fff3f3;
        border-color:#e4a6a6;
    }
    .wizard-review-test-actions {
        display:flex;
        align-items:center;
        gap:0.42rem;
        flex-wrap:wrap;
    }
    .wizard-review-full-width {
        grid-column:1 / -1;
    }
    .wizard-review-detail-body {
        background:var(--wiz-surface-sub);
        margin-top:0.2rem;
    }
    .wizard-review-explanation {
        border:1px solid var(--wiz-border);
        border-radius:0.5rem;
        padding:0.72rem 0.88rem;
        font-size:0.76rem;
        line-height:1.4;
        background:var(--wiz-surface);
    }
    .wizard-review-item-header .wizard-status-chip,
    .wizard-review-summary-actions .badge,
    .wizard-review-count-badge {
        font-weight:500;
    }
    .wizard-review-item-header .wizard-status-chip {
        min-height:1.7rem;
        padding:0 0.58rem;
        border-radius:0.45rem;
        font-size:0.76rem;
    }
    .wizard-review-item-body ul {
        margin:0;
        padding-left:1.05rem;
    }
    .wizard-review-item-body li + li {
        margin-top:0.16rem;
    }
    .wizard-review-summary-actions .badge {
        font-size:0.74rem;
        padding:0.32rem 0.5rem;
    }
    .wizard-review-explanation.info {
        background:#f4f8ff;
        border-color:#bfd4f6;
        color:#36557e;
    }
    .wizard-review-explanation.warn {
        background:#fff7e8;
        border-color:#f3c278;
        color:#9a6200;
    }
    .wizard-review-explanation.error {
        background:#fff3f3;
        border-color:#e4a6a6;
        color:#9a3f3f;
    }
    .wizard-tests-alert {
        font-size:0.875rem;
        line-height:1.45;
    }
    .wizard-tests-ai-error-alert {
        direction:ltr;
        text-align:start;
        font-family:var(--bs-body-font-family);
    }
    .wizard-tests-ai-error-alert.is-rtl {
        direction:rtl;
        text-align:right;
    }
    .wizard-tests-ai-error-message {
        white-space:pre-wrap;
        word-break:break-word;
        unicode-bidi:plaintext;
        letter-spacing:normal;
        font-family:inherit;
    }
    .wizard-tests-ai-error-actions {
        display:flex;
        align-items:center;
        gap:0.5rem;
        flex-wrap:wrap;
    }
    .wizard-tests-ai-error-alert.is-rtl .wizard-tests-ai-error-actions {
        justify-content:flex-start;
    }
    .wizard-tests-ai-error-copy-status {
        unicode-bidi:plaintext;
    }
    .wizard-section-header {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:0.75rem;
        flex-wrap:wrap;
    }
    .wizard-section-title {
        font-size:0.9rem;
        font-weight:700;
        color:var(--wiz-text);
    }
    .wizard-section-meta {
        display:flex;
        align-items:center;
        gap:0.45rem;
        flex-wrap:wrap;
        margin-left:auto;
    }
    .wizard-column-title {
        font-size:0.84375rem;
        font-weight:600;
        margin-bottom:0.3rem;
        color:var(--wiz-text);
    }
    .wizard-field-label {
        font-size:0.6875rem;
        font-weight:700;
        letter-spacing:0.05em;
        text-transform:uppercase;
        color:var(--wiz-text-muted);
        margin-bottom:0.15rem;
    }
    .wizard-column {
        display:flex;
        flex-direction:column;
        gap:0.35rem;
        height:100%;
        min-height:0;
        flex:1;
    }
    .wizard-column-body {
        flex:1;
        min-height:0;
        max-height:none;
        overflow:hidden;
        height:100%;
        display:flex;
        flex-direction:column;
        min-height:0;
        max-height:100%;
    }
    .wizard-column-body textarea {
        height:100%;
        max-height:100%;
        overflow-y:scroll;
        resize:none;
        min-height:0;
        box-sizing:border-box;
    }
    .wizard-source-rawtext-area {
        direction:rtl !important;
        text-align:right !important;
        unicode-bidi:plaintext;
    }
    .question-ai-toolbar {
        gap:0.35rem;
        align-items:center;
    }
    .question-ai-summary-chip {
        display:inline-flex;
        align-items:center;
        gap:0.25rem;
        height:1.22rem;
        padding:0 0.38rem;
        border-radius:999px;
        border:1px solid #c7d0dd;
        background:#f1f4f8;
        color:#566377;
        font-size:0.61rem;
        font-weight:700;
    }
    .question-ai-summary-chip::before {
        content:"\2022";
        color:#8a96a8;
        font-size:0.64rem;
        line-height:1;
    }
    .question-ai-dialog-backdrop {
        position:fixed;
        inset:0;
        background:rgba(0,0,0,0.45);
        z-index:1050;
    }
    .question-ai-dialog {
        position:fixed;
        top:50%;
        left:50%;
        transform:translate(-50%, -50%);
        width:min(42.5rem, calc(100vw - 2.5rem));
        max-height:min(80vh, 44rem);
        display:grid;
        grid-template-rows:auto 1fr auto;
        gap:0.7rem;
        padding:0.85rem;
        border:1px solid var(--wiz-border);
        border-radius:1rem;
        background:var(--wiz-surface);
        box-shadow:0 1.5rem 4rem rgba(0,0,0,0.4);
        z-index:1060;
    }
    .question-ai-dialog-head {
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:0.75rem;
    }
    .question-ai-dialog-title {
        font-size:1.3rem;
        font-weight:700;
        color:var(--wiz-text);
    }
    .question-ai-dialog-close {
        border-color:color-mix(in srgb, var(--wiz-border) 82%, transparent);
        background-color:var(--wiz-surface-2);
    }
    .question-ai-dialog-grid {
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:0.6rem 0.7rem;
        overflow:auto;
        padding-right:0.1rem;
    }
    .question-ai-dialog-option {
        display:flex;
        align-items:flex-start;
        gap:0.6rem;
        min-height:4.15rem;
        padding:0.68rem 0.8rem;
        border:1px solid var(--wiz-border);
        border-radius:0.85rem;
        background:var(--wiz-surface-sub);
        cursor:pointer;
    }
    .question-ai-dialog-option:hover {
        border-color:#5b5f6a;
    }
    .question-ai-dialog-option input {
        margin-top:0.15rem;
    }
    .question-ai-dialog-option-text {
        display:grid;
        gap:0.15rem;
    }
    .question-ai-dialog-option-title {
        font-size:0.84rem;
        font-weight:700;
        color:var(--wiz-text);
    }
    .question-ai-dialog-option-copy {
        font-size:0.72rem;
        line-height:1.28;
        color:var(--wiz-text-muted);
    }
    .question-ai-dialog-action-card {
        min-height:4.15rem;
        text-align:left;
        display:grid;
        gap:0.15rem;
        justify-items:start;
        align-content:start;
        white-space:normal;
        border-color:var(--wiz-border) !important;
        background:var(--wiz-surface-sub) !important;
        color:var(--wiz-text) !important;
        border-radius:0.85rem;
        padding:0.68rem 0.8rem;
    }
    .question-ai-dialog-action-card:hover {
        border-color:#5b5f6a !important;
        background:var(--wiz-surface-sub) !important;
        color:var(--wiz-text) !important;
    }
    .question-ai-dialog-action-title {
        font-size:0.82rem;
        font-weight:700;
    }
    .question-ai-dialog-action-copy {
        font-size:0.7rem;
        line-height:1.26;
        color:var(--wiz-text-muted);
    }
    .question-ai-dialog-foot {
        display:flex;
        justify-content:flex-end;
        gap:0.5rem;
        margin-top:0.05rem;
    }
    .question-ai-mode {
        border-color:var(--wiz-border);
        color:var(--wiz-text-muted);
        background:var(--wiz-surface);
        font-size:0.75rem;
        padding:0.28rem 0.6rem;
    }
    .question-ai-mode:hover {
        border-color:#5b5f6a;
        background:var(--wiz-surface-sub);
        color:var(--wiz-text);
    }
    .question-ai-mode.active {
        background:#0b5fff;
        color:#fff;
        border-color:#0b5fff;
    }
    .question-ai-mode:disabled {
        opacity:1;
        background:var(--wiz-surface-sub);
        color:var(--wiz-text-soft);
        border-color:var(--wiz-border);
        cursor:not-allowed;
    }
    .question-ai-mode.active:disabled {
        background:#3b4763;
        color:#cfd7ea;
        border-color:#4a5a7d;
    }
    @media (max-width: 900px) {
        .question-ai-dialog {
            width:min(34rem, calc(100vw - 1rem));
        }
        .question-ai-dialog-grid {
            grid-template-columns:1fr;
        }
    }
    .wizard-body .badge {
        font-size:0.6875rem;
    }
    .wizard-body .form-control {
        background:#161719;
        border-color:#2f3033;
        color:#fff;
    }
    .wizard-preview {
        border:1px solid var(--wiz-border);
        border-radius:0.375rem;
        padding:0;
        min-height:220px;
        max-height:100%;
        background:var(--wiz-surface-sub);
    }
    .wizard-preview-content {
        padding:0.75rem 0.8125rem;
        font-size:0.8125rem;
        line-height:1.55;
        background:linear-gradient(180deg,#fcfdff 0%,#f8fafc 100%);
    }
    /* Keep Markdown preview typography independent from wizard metadata styles */
    .wizard-preview-content .markdown-body strong {
        display:inline;
        text-transform:none;
        font-size:inherit;
        letter-spacing:normal;
        color:inherit;
    }
    .wizard-preview-content .markdown-body h1,
    .wizard-preview-content .markdown-body h2,
    .wizard-preview-content .markdown-body h3,
    .wizard-preview-content .markdown-body h4 {
        text-transform:none;
        letter-spacing:normal;
    }
    .wizard-preview-content .markdown-body h1 { font-size:0.95rem; }
    .wizard-preview-content .markdown-body h2 { font-size:0.9rem; }
    .wizard-preview-content .markdown-body h3 { font-size:0.85rem; }
    .wizard-preview-content .markdown-body h4 { font-size:0.8rem; }
    .wizard-source-details {
        border: 1px solid #32343a;
        border-radius: 0.35rem;
        padding: 0.45rem 0.55rem 0.55rem;
        background: #1b1c20;
    }
    .wizard-source-details > summary {
        cursor: pointer;
        user-select: none;
    }
    .wizard-source-details[open] > summary {
        margin-bottom: 0.35rem;
    }
    .wizard-fileanalysis-panels {
        --split-left: 60%;
        --split-min-left: 500px;
        --split-min-right: 240px;
        height:auto;
    }
    .wizard-fileanalysis-panels.is-single .wizard-split-pane-left {
        flex:1 1 auto;
        min-width:0;
    }
    .wizard-fileanalysis-panels.is-single .wizard-splitter,
    .wizard-fileanalysis-panels.is-single .wizard-split-pane-right {
        display:none;
    }
    .wizard-fileanalysis-panels .wizard-split-pane-right {
        flex:0 1 40%;
        min-width:240px;
        max-width:420px;
    }
    .wizard-question-layout {
        --question-compact-pane-height: 250px;
        display:grid;
        grid-template-rows:minmax(0, 1fr) auto;
        row-gap:0.55rem;
        align-items:stretch;
        flex:1;
        height:100%;
        min-height:0;
        overflow:hidden;
    }
    .wizard-question-panels {
        flex:1 1 auto;
        min-height:0;
        overflow:hidden;
        height:100%;
        max-height:100%;
    }
    .wizard-question-panels > .wizard-split-pane {
        height:100%;
        min-height:0;
    }
    .wizard-question-panels > .wizard-split-pane .wizard-column {
        height:100%;
        min-height:0;
    }
    .wizard-question-panels > .wizard-splitter {
        align-self:flex-end;
        margin-top:1.45rem;
        height:calc(100% - 1.45rem);
    }
    .wizard-question-toolbar {
        flex:0 0 auto;
        padding-top:0.05rem;
        padding-bottom:0.2rem;
    }
    .wizard-question-layout.compact {
        grid-template-rows:auto auto;
        align-content:start;
        overflow-y:auto;
    }
    .wizard-question-layout.compact .wizard-question-panels {
        display:grid;
        grid-template-columns:1fr;
        grid-template-rows:var(--question-compact-pane-height) var(--question-compact-pane-height);
        gap:0.5rem;
        flex:0 0 auto;
        height:calc((var(--question-compact-pane-height) * 2) + 0.5rem);
        max-height:none;
        overflow:hidden;
    }
    .wizard-question-layout.compact .wizard-question-panels > .wizard-split-pane {
        width:100%;
        min-width:0;
        height:var(--question-compact-pane-height);
    }
    .wizard-question-layout.compact .wizard-question-panels > .wizard-split-pane-right {
        margin-top:0;
    }
    .wizard-question-layout.compact .wizard-question-panels > .wizard-splitter {
        display:none;
    }
    .wizard-question-layout.compact .wizard-question-panels .wizard-column,
    .wizard-question-layout.compact .wizard-question-panels .wizard-column-body,
    .wizard-question-layout.compact .wizard-question-panels .wizard-preview {
        height:100%;
        min-height:0;
        max-height:100%;
        overflow:hidden;
    }
    .wizard-question-layout.compact .wizard-question-panels > .wizard-split-pane .wizard-column-body > textarea,
    .wizard-question-layout.compact .wizard-question-panels > .wizard-split-pane .wizard-preview-content {
        height:100%;
        max-height:100%;
        overflow-y:auto;
    }
    .wizard-solution-layout {
        display:flex;
        flex-direction:column;
        gap:0.55rem;
        align-content:stretch;
        align-items:stretch;
        flex:0 0 auto;
        min-height:auto;
        overflow-x:hidden;
        overflow-y:visible;
    }
    .wizard-solution-panels {
        min-height:0;
        overflow:visible;
        height:auto;
        align-items:stretch;
        gap:0.35rem;
    }
    .wizard-solution-panels > .wizard-split-pane-left {
        flex:1 1 auto;
        min-width:0;
    }
    .wizard-solution-panels > .wizard-split-pane {
        height:auto;
    }
    .wizard-solution-panels > .wizard-splitter {
        align-self:stretch;
        margin-top:1.5rem;
        min-height:12.4rem;
        height:auto;
    }
    .wizard-solution-analysis-pane {
        max-width:360px;
        min-width:340px;
        flex:0 0 340px;
        margin-left:auto;
    }
    .wizard-solution-toolbar {
        flex:0 0 auto;
        padding-top:0;
    }
    .wizard-solution-layout > .wizard-column {
        flex:0 0 auto;
        min-height:0;
    }
    .wizard-solution-layout .wizard-column-body {
        flex:0 0 auto;
        height:auto;
        max-height:none;
    }
    .wizard-solution-code-column {
        height:auto !important;
        min-height:0 !important;
    }
    .wizard-solution-code-body {
        flex:0 0 auto !important;
        height:auto !important;
        max-height:none !important;
        overflow:visible !important;
    }
    .wizard-solution-panels > .wizard-split-pane > .wizard-column > .wizard-column-body {
        flex:0 0 auto;
        height:auto;
        max-height:none;
    }
    .wizard-template-layout {
        display:flex;
        flex-direction:column;
        flex:1;
        min-height:0;
        gap:0.35rem;
    }
    .wizard-template-actions {
        display:flex;
        flex-wrap:wrap;
        gap:0.5rem;
    }
    .wizard-template-actions .btn {
        font-size:0.75rem;
        line-height:1.3;
    }
    .wizard-inline-collapsible {
        border:1px solid var(--wiz-border-soft);
        border-radius:0.375rem;
        padding:0.5rem 0.68rem 0.68rem;
        background:transparent;
    }
    .wizard-inline-collapsible > summary {
        cursor:pointer;
        font-size:0.78125rem;
        font-weight:600;
        color:var(--wiz-text);
    }
    .wizard-template-collapsible {
        border-color:var(--wiz-border);
        background:var(--wiz-surface-sub);
        overflow:visible;
    }
    .wizard-template-collapsible > summary {
        list-style:none;
        cursor:pointer;
        margin:-0.5rem -0.68rem 0;
        padding:0.44rem 0.72rem 0.46rem;
        font-size:0.8125rem;
        font-weight:600;
        color:var(--wiz-text-muted);
    }
    .wizard-template-collapsible > summary::marker,
    .wizard-template-collapsible > summary::-webkit-details-marker {
        display:none;
    }
    .wizard-template-collapsible > summary::before {
        content:"\25B6";
        display:inline-block;
        margin-inline-end:0.42rem;
        font-size:0.56rem;
        color:var(--wiz-text-soft);
        transform-origin:center;
        transition:transform .15s ease;
    }
    .wizard-template-collapsible[open] > summary::before {
        transform:rotate(90deg);
    }
    .wizard-template-collapsible > .wizard-template-layout {
        margin-top:0;
        gap:0.25rem;
    }
    .wizard-template-column {
        height:auto !important;
        min-height:0 !important;
    }
    .wizard-template-column > .wizard-column-body {
        flex:0 0 auto;
        height:auto;
        max-height:none;
        overflow:visible;
    }
    .wizard-template-collapsible[open] {
        padding-bottom:0.5rem;
    }
    #wizard-solution-editor.task-monaco-editor {
        min-height:10.25rem !important;
        height:12.25rem !important;
        border-color:var(--wiz-border);
    }
    #wizard-template-editor.task-monaco-editor {
        min-height:7.8rem !important;
        height:9.425rem !important;
        border-color:var(--wiz-border);
    }
    .wizard-analysis-label {
        width:100%;
        text-align:start;
        margin-bottom:0.15rem;
    }
    .wizard-analysis-panel {
        border:1px solid var(--wiz-border);
        border-radius:0.375rem;
        background:var(--wiz-surface-sub);
        height:12.25rem;
        display:flex;
        flex-direction:column;
        min-height:0;
        max-height:12.25rem;
        padding:0.66rem 0.74rem;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
    }
    .wizard-analysis-header-actions {
        display:flex;
        align-items:center;
        gap:0.35rem;
        flex-wrap:wrap;
    }
    .wizard-analysis-header-actions .btn.btn-sm,
    .wizard-solution-toolbar .btn.btn-sm {
        font-size:0.75rem;
        line-height:1.2;
        min-height:1.68rem;
        padding:0.2rem 0.56rem;
    }
    .wizard-tests-layout {
        display:flex;
        flex:1;
        min-height:0;
        overflow:hidden;
    }
    .wizard-tests-panels {
        flex:1;
        min-height:0;
        height:100%;
        max-height:none;
        display:flex;
        align-items:stretch;
        gap:0;
    }
    .wizard-tests-panels > .wizard-split-pane {
        min-width:0;
        height:100%;
    }
    .wizard-tests-panels > .wizard-split-pane-left,
    .wizard-tests-panels > .wizard-split-pane-right {
        min-width:0;
    }
    .wizard-tests-panels > .wizard-splitter {
        align-self:stretch;
        margin-top:0;
        margin-bottom:0.18rem;
        margin-inline:0.45rem;
        min-height:12rem;
        height:auto;
        pointer-events:auto;
        z-index:2;
    }
    .wizard-tests-panels > .wizard-split-pane > .wizard-column {
        border:1px solid var(--wiz-border);
        border-radius:0.5rem;
        background:var(--wiz-surface-sub);
        padding:0;
        box-shadow:var(--wiz-shadow);
        overflow:hidden;
    }
    .wizard-tests-pane {
        display:flex;
        flex-direction:column;
        min-height:0;
        height:100%;
    }
    .wizard-tests-pane-head {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:0.5rem;
        min-height:3rem;
        border-bottom:1px solid var(--wiz-border-soft);
        padding:0.38rem 0.72rem 0.36rem;
        background:rgba(255,255,255,0.28);
    }
    .wizard-tests-pane-head-code {
        padding-top:0.38rem;
        padding-bottom:0.36rem;
    }
    .wizard-tests-pane-title {
        margin:0;
        font-size:0.82rem;
        font-weight:700;
        color:var(--wiz-text);
    }
    .wizard-tests-pane-actions {
        display:flex;
        align-items:center;
        gap:0.55rem;
        flex-wrap:wrap;
        justify-content:flex-end;
    }
    .wizard-tests-pane-head-code .wizard-tests-pane-actions {
        flex:1 1 auto;
        min-width:0;
    }
    .wizard-run-on-students-action {
        margin-inline-end:auto;
    }
    .wizard-tests-pane-actions .btn.btn-sm {
        min-height:1.72rem;
        padding:0.18rem 0.68rem;
        font-size:0.74rem;
    }
    .wizard-tests-pane-body {
        display:flex;
        flex-direction:column;
        flex:1;
        min-height:0;
        gap:0.2rem;
        padding:0.5rem 0.58rem 0.58rem;
    }
    .wizard-review-panels {
        min-height:0;
        height:auto;
    }
    .wizard-tests-list {
        border:1px solid var(--wiz-border);
        border-radius:0.375rem;
        padding:0.18rem;
        min-height:0;
        flex:1;
        display:flex;
        flex-direction:column;
        gap:1px;
        overflow-y:auto;
        background:var(--wiz-surface);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
        direction:ltr;
        text-align:left;
    }
    .wizard-tests-empty {
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:3rem;
        padding:0.92rem 1rem;
        text-align:start;
        justify-content:flex-start;
        font-size:0.875rem;
        color:#1f4e95;
        border:1px solid #8ab0ff;
        background:#eef4ff;
    }
    .wizard-tests-item {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:0.28rem;
        padding:0.24rem 0.36rem;
        border:1px solid var(--wiz-border-soft);
        border-radius:0.5rem;
        background:var(--wiz-surface-sub);
        box-shadow:0 1px 2px rgba(23,43,77,.05);
        direction:ltr;
        text-align:left;
    }
    .wizard-tests-item-main {
        display:flex;
        align-items:center;
        flex:1;
        min-width:0;
    }
    .wizard-tests-item-row {
        display:flex;
        align-items:center;
        gap:0.28rem;
        width:100%;
        min-width:0;
    }
    .wizard-tests-item-heading {
        display:flex;
        align-items:center;
        gap:0.32rem;
        min-width:0;
        width:100%;
    }
    .wizard-tests-item-copy {
        min-width:0;
        flex:1;
        display:flex;
        align-items:flex-start;
    }
    .wizard-tests-item-title-row {
        display:inline-grid;
        grid-template-columns:minmax(0, auto) auto;
        align-items:start;
        justify-content:start;
        column-gap:0.28rem;
        row-gap:0.14rem;
        min-width:0;
        width:fit-content;
        max-width:100%;
    }
    .wizard-tests-item-title-row > .form-control {
        grid-column:1 / -1;
        width:100%;
    }
    .wizard-tests-uc-badge {
        flex:0 0 auto;
        min-width:3.2rem;
        height:1.32rem;
        padding:0 0.46rem;
        border:1px solid #c7d8ef;
        border-radius:999px;
        background:#f4f8ff;
        color:#234e93;
        font-size:0.66rem;
        font-weight:700;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        line-height:1;
        text-align:center;
        white-space:nowrap;
    }
    .wizard-tests-item-text {
        display:block;
        color:var(--wiz-text);
        font-size:0.76rem;
        line-height:1.2;
        word-break:break-word;
        min-width:0;
        width:100%;
    }
    .wizard-tests-state-chip {
        flex:0 0 auto;
        height:1.32rem;
        padding:0 0.42rem;
        border:1px solid;
        border-radius:0.55rem;
        font-size:0.66rem;
        font-weight:600;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        line-height:1;
        white-space:nowrap;
        align-self:center;
    }
    .wizard-tests-state-chip.ready {
        border-color:#7bc99c;
        background:#eefbf2;
        color:#167a44;
    }
    .wizard-tests-state-chip.needs-update {
        border-color:#f5b55a;
        background:#fff8ea;
        color:#9a5a00;
    }
    .wizard-tests-item-actions {
        display:flex;
        align-items:center;
        gap:0.18rem;
        flex-wrap:wrap;
    }
    .wizard-tests-item-actions .btn.btn-sm {
        min-width:30px;
        min-height:30px;
        width:30px;
        height:30px;
        padding:0;
        font-size:0.74rem;
    }
    .wizard-tests-icon-button span[aria-hidden="true"] {
        display:inline-flex;
        width:0.82rem;
        height:0.82rem;
        align-items:center;
        justify-content:center;
        line-height:1;
    }
    .wizard-tests-edit-button span[aria-hidden="true"] {
        width:0.72rem;
        height:0.72rem;
    }
    .wizard-tests-actions {
        margin-top:auto;
        padding-top:0.55rem;
        display:flex;
        flex-wrap:wrap;
        gap:0.45rem;
        justify-content:space-between;
        align-items:center;
    }
    .wizard-tests-code-editor {
        min-height:14rem;
        flex:1;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
        font-family:"Cascadia Code", "Consolas", monospace;
        font-size:0.74rem;
        line-height:1.42;
        resize:none !important;
    }
    .wizard-analysis-content {
        flex:1;
        overflow-y:scroll;
        padding:0.54rem 0.64rem;
        white-space:pre-wrap;
        color:var(--wiz-text);
        font-size:0.8125rem;
        line-height:1.45;
        background:var(--wiz-surface);
        border:1px solid var(--wiz-border);
        border-radius:0.375rem;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.38);
    }
    .wizard-analysis-editor {
        width:100%;
        height:100%;
        min-height:190px;
        resize:vertical;
        text-align:left;
        font-size:0.78125rem;
    }
    .wizard-analysis-content.is-rtl {
        text-align:right;
    }
    .wizard-analysis-editor.is-rtl {
        direction:rtl;
        text-align:right;
        unicode-bidi:plaintext;
    }
    .wizard-analysis-actions {
        border-top:1px solid var(--wiz-border-soft);
        padding:0.5rem 0 0;
        display:flex;
        justify-content:flex-end;
        flex-wrap:wrap;
        gap:0.45rem;
    }
    .wizard-divider {
        border-color:#2f3033;
        opacity:1;
        margin:0.25rem 0 0.75rem;
    }
    body.wizard-resize-active,
    body.wizard-resize-active * {
        cursor:col-resize !important;
        user-select:none !important;
    }
    @media (max-width: 767.98px) {
        .wizard-split:not(.wizard-question-panels) {
            display:block;
            gap:0;
            height:auto;
        }
        .wizard-split:not(.wizard-question-panels) .wizard-split-pane-left,
        .wizard-split:not(.wizard-question-panels) .wizard-split-pane-right {
            min-width:0;
            width:100%;
        }
        .wizard-split:not(.wizard-question-panels) .wizard-split-pane-right {
            margin-top:0.75rem;
        }
        .wizard-split:not(.wizard-question-panels) .wizard-splitter {
            display:none;
        }
    }
    .wizard-body {
        background:var(--wiz-surface);
        border:0;
        border-radius:0;
        padding:0;
        color:var(--wiz-text);
    }
    .wizard-top-context-chip {
        min-height:1.55rem;
        padding:0 0.6rem;
        border:1px solid var(--wiz-accent-border);
        border-radius:0.45rem;
        background:var(--wiz-accent-soft);
        color:var(--wiz-accent);
        font-size:0.72rem;
        font-weight:600;
    }
    .wizard-top-context-title {
        max-width:18rem;
        color:#495057;
    }
    .wizard-body .form-control,
    .wizard-body .form-select {
        background:var(--wiz-surface);
        border-color:var(--wiz-border);
        color:var(--wiz-text);
        font-size:0.8125rem;
        line-height:1.45;
    }
    .wizard-body .form-control::placeholder {
        color:var(--wiz-text-muted);
    }
    .wizard-body .btn-outline-secondary {
        border-color:var(--wiz-border);
        color:var(--wiz-text-muted);
        background:var(--wiz-surface);
    }
    .wizard-body .btn.btn-sm {
        font-size:0.75rem;
        line-height:1.25;
    }
    .wizard-body .btn-outline-secondary:hover {
        background:var(--wiz-surface-sub);
        color:var(--wiz-text);
    }
    .wizard-shell.theme-dark .wizard-start-option.active,
    [data-bs-theme="dark"] .wizard-shell .wizard-start-option.active {
        background:rgba(61,142,240,.16);
        border-color:#5aa2ff;
    }
    .wizard-shell.theme-dark .wizard-analysis-panel,
    .wizard-shell.theme-dark .wizard-analysis-content,
    [data-bs-theme="dark"] .wizard-shell .wizard-analysis-panel,
    [data-bs-theme="dark"] .wizard-shell .wizard-analysis-content {
        box-shadow:none;
    }
    .wizard-shell.theme-dark .wizard-review-item-header,
    [data-bs-theme="dark"] .wizard-shell .wizard-review-item-header {
        background:rgba(255,255,255,.03);
    }
    .wizard-shell.theme-dark .wizard-review-count-badge,
    [data-bs-theme="dark"] .wizard-shell .wizard-review-count-badge {
        background:rgba(255,255,255,.04);
        color:#d7dae4;
        border-color:rgba(255,255,255,.12);
    }
    .wizard-shell.theme-dark .wizard-review-count-badge.warn,
    .wizard-shell.theme-dark .wizard-review-test-status.warn,
    .wizard-shell.theme-dark .wizard-review-explanation.warn,
    [data-bs-theme="dark"] .wizard-shell .wizard-review-count-badge.warn,
    [data-bs-theme="dark"] .wizard-shell .wizard-review-test-status.warn,
    [data-bs-theme="dark"] .wizard-shell .wizard-review-explanation.warn {
        background:rgba(255,184,77,0.12);
        border-color:rgba(255,184,77,0.36);
        color:#ffd18a;
    }
    .wizard-shell.theme-dark .wizard-review-count-badge.ok,
    .wizard-shell.theme-dark .wizard-review-test-status.ok,
    [data-bs-theme="dark"] .wizard-shell .wizard-review-count-badge.ok,
    [data-bs-theme="dark"] .wizard-shell .wizard-review-test-status.ok {
        background:rgba(63,193,117,0.12);
        border-color:rgba(63,193,117,0.34);
        color:#95deb1;
    }
    .wizard-shell.theme-dark .wizard-review-test-status.error,
    .wizard-shell.theme-dark .wizard-review-explanation.error,
    [data-bs-theme="dark"] .wizard-shell .wizard-review-test-status.error,
    [data-bs-theme="dark"] .wizard-shell .wizard-review-explanation.error {
        background:rgba(223,106,106,0.12);
        border-color:rgba(223,106,106,0.34);
        color:#ffb0b0;
    }
    .wizard-shell.theme-dark .wizard-review-explanation.info,
    [data-bs-theme="dark"] .wizard-shell .wizard-review-explanation.info {
        background:rgba(99,162,255,0.12);
        border-color:rgba(99,162,255,0.28);
        color:#bdd5ff;
    }
    .wizard-shell.theme-dark .wizard-body .btn-primary,
    [data-bs-theme="dark"] .wizard-shell .wizard-body .btn-primary {
        background:var(--wiz-accent);
        border-color:var(--wiz-accent);
    }
    .wizard-shell.theme-dark .question-ai-summary-chip,
    [data-bs-theme="dark"] .wizard-shell .question-ai-summary-chip {
        border-color:var(--wiz-border);
        background:var(--wiz-surface-2);
        color:var(--wiz-text-muted);
    }
    .wizard-shell.theme-dark .question-ai-summary-chip::before,
    [data-bs-theme="dark"] .wizard-shell .question-ai-summary-chip::before {
        color:var(--wiz-text-soft);
    }
    .wizard-shell.theme-dark .wizard-preview,
    [data-bs-theme="dark"] .wizard-shell .wizard-preview {
        background:var(--wiz-surface);
        border-color:var(--wiz-border-soft);
    }
    .wizard-shell.theme-dark .wizard-preview-content,
    [data-bs-theme="dark"] .wizard-shell .wizard-preview-content {
        background:linear-gradient(180deg, #1f242c 0%, #232a33 100%);
        color:var(--wiz-text);
    }
    .wizard-shell.theme-dark .wizard-preview-content .markdown-body,
    [data-bs-theme="dark"] .wizard-shell .wizard-preview-content .markdown-body {
        color:var(--wiz-text);
    }
    .wizard-shell.theme-dark .wizard-tests-pane-head,
    [data-bs-theme="dark"] .wizard-shell .wizard-tests-pane-head {
        background:rgba(255,255,255,0.08);
        border-bottom-color:var(--wiz-border);
    }
    .wizard-shell.theme-dark .wizard-tests-list,
    [data-bs-theme="dark"] .wizard-shell .wizard-tests-list {
        background:var(--wiz-surface);
        border-color:var(--wiz-border);
        box-shadow:none;
    }
    .wizard-shell.theme-dark .wizard-tests-item,
    [data-bs-theme="dark"] .wizard-shell .wizard-tests-item {
        background:var(--wiz-surface-sub);
        border-color:var(--wiz-border);
        box-shadow:none;
    }
    .wizard-shell.theme-dark .wizard-tests-uc-badge,
    [data-bs-theme="dark"] .wizard-shell .wizard-tests-uc-badge {
        background:rgba(99,162,255,0.12);
        border-color:rgba(99,162,255,0.38);
        color:#bdd5ff;
    }
    .wizard-shell.theme-dark .wizard-tests-state-chip.ready,
    [data-bs-theme="dark"] .wizard-shell .wizard-tests-state-chip.ready {
        background:rgba(63,193,117,0.14);
        border-color:rgba(63,193,117,0.42);
        color:#9ae5b9;
    }
    .wizard-shell.theme-dark .wizard-tests-state-chip.needs-update,
    [data-bs-theme="dark"] .wizard-shell .wizard-tests-state-chip.needs-update {
        background:rgba(255,184,77,0.12);
        border-color:rgba(255,184,77,0.36);
        color:#ffd18a;
    }
    .wizard-shell.theme-dark .wizard-readonly-chip,
    [data-bs-theme="dark"] .wizard-shell .wizard-readonly-chip {
        border-color:rgba(255,184,77,0.4);
        background:rgba(255,184,77,0.13);
        color:#ffd18a;
    }
    .wizard-shell.theme-dark .wizard-readonly-banner,
    [data-bs-theme="dark"] .wizard-shell .wizard-readonly-banner {
        border-color:rgba(255,184,77,0.34);
        background:rgba(255,184,77,0.1);
        color:#ffe0a8;
    }
    .wizard-shell.theme-dark .btn-close:not(.app-modal-close-btn),
    [data-bs-theme="dark"] .wizard-shell .btn-close:not(.app-modal-close-btn) {
        filter:invert(1) grayscale(100%) brightness(200%);
    }
    @media (max-width: 900px) {
        .wizard-stepper-card {
            flex-wrap:wrap;
        }
        .wizard-stepper-context,
        .wizard-top-context-edit-fields {
            flex-wrap:wrap;
        }
        .wizard-form-inline,
        .wizard-start-option-grid {
            grid-template-columns:1fr;
        }
        .wizard-review-top-grid,
        .wizard-review-summary-grid {
            grid-template-columns:1fr;
        }
        .wizard-topbar {
            align-items:flex-start;
        }
        .wizard-topbar-main {
            flex-wrap:wrap;
        }
        .wizard-topbar-actions {
            width:100%;
            justify-content:flex-end;
            margin-left:0;
        }
        .wizard-form-inline-control-sm,
        .wizard-file-name {
            max-width:none;
            min-width:0;
        }
    }
    @media (max-width: 640px) {
        .wizard-stepper-steps {
            flex-wrap:wrap;
        }
    }
