body:has(.calculator-presentation-editor) {
    overflow-x: auto;
    overflow-y: hidden;
}

body:has(.calculator-presentation-editor) .container-fluid {
    min-width: 0;
    height: 100vh;
    overflow: hidden;
}

body:has(.calculator-presentation-editor) .container-fluid > footer {
    display: none;
}

.presentation-main {
    flex: 1;
    display: flex;
    min-width: var(--editor-page-min-width);
    min-height: 0;
    padding: 0;
    overflow: hidden;
}

.calculator-presentation-editor {
    --presentation-inspector-width: 320px;

    flex: 1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: var(--color-presentation-workspace);
}

.presentation-header__calculator {
    flex: 1 1 360px;
}

.presentation-header__name {
    width: min(500px, 36vw);
    min-width: 360px;
}

.presentation-header__actions {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-left: var(--space-3);
}

.presentation-header__actions a {
    display: inline-flex;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

.presentation-header__logic {
    border-color: var(--blue);
    color: var(--blue) !important;
}

.presentation-toolbar {
    min-height: var(--presentation-toolbar-height);
    display: flex;
    align-items: center;
    gap: var(--space-5);
    padding: var(--space-4) var(--space-7);
    border-bottom: var(--border-width) solid var(--line);
    background: var(--bg);
}

.presentation-segment {
    display: inline-flex;
    padding: var(--space-1);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
}

.presentation-segment[hidden] {
    display: none;
}

.presentation-segment button {
    min-height: var(--control-height-sm);
    padding: 0 var(--space-6);
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-weight: var(--font-weight-bold);
    cursor: pointer;
}

.presentation-segment button[aria-selected="true"] {
    background: var(--panel-strong);
    color: var(--blue);
    box-shadow: inset 0 0 0 2px var(--text);
}

.presentation-toolbar__status {
    margin-left: auto;
    color: var(--muted);
    font-size: var(--font-size-sm);
}

.presentation-toolbar__status.is-error {
    color: var(--color-danger);
}

.presentation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--presentation-inspector-width);
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.presentation-workspace,
.presentation-inspector {
    min-width: 0;
    min-height: 0;
    overflow: auto;
}

.presentation-workspace {
    padding: var(--space-11);
    background: var(--color-presentation-workspace);
}

.presentation-preview {
    width: min(100%, var(--presentation-page-width));
    min-height: 100%;
    margin: 0 auto;
    transition: width 0.18s ease;
}

.presentation-preview.is-mobile {
    width: min(100%, var(--presentation-phone-width));
}

.presentation-inspector {
    border-left: var(--border-width) solid var(--line);
    background: var(--bg);
}

.presentation-inspector__header {
    position: sticky;
    top: 0;
    z-index: 4;
    padding: var(--space-7);
    border-bottom: var(--border-width) solid var(--line);
    background: var(--bg);
}

.presentation-inspector__header h2 {
    margin: 0;
    font-size: var(--font-size-lg);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.presentation-inspector__header p {
    margin: var(--space-3) 0 0;
    padding: var(--space-4);
    border-radius: var(--radius-md);
    background: var(--panel-strong);
    color: var(--color-text-accent);
    font-size: var(--font-size-sm);
}

.presentation-inspector__body {
    display: grid;
    gap: var(--space-6);
    padding: var(--space-6);
}

.presentation-panel {
    padding: var(--space-7);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
}

.presentation-inspector-back {
    display: inline-flex;
    min-height: var(--control-height-sm);
    align-items: center;
    gap: var(--space-2);
    margin: 0 0 var(--space-4);
    padding: 0 var(--space-4);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-weight: var(--font-weight-bold);
}

.presentation-inspector-back span {
    font-size: var(--font-size-lg);
    line-height: 1;
}

.presentation-panel h3 {
    margin: 0 0 var(--space-5);
    font-size: var(--font-size-lg);
}

.presentation-panel__help {
    margin: calc(-1 * var(--space-2)) 0 var(--space-5);
    color: var(--muted);
    font-size: var(--font-size-xs);
}

.presentation-field {
    display: grid;
    gap: var(--space-2);
    margin-top: var(--space-5);
}

.presentation-field:first-child {
    margin-top: 0;
}

.presentation-field label,
.presentation-field > span {
    color: var(--muted);
    font-size: var(--font-size-sm);
}

.presentation-field input:not([type="checkbox"]),
.presentation-field textarea,
.presentation-field select,
.presentation-inline-form input {
    width: 100%;
    min-height: var(--control-height-md);
    padding: var(--space-3) var(--space-4);
    border: var(--border-width) solid var(--color-builder-line-strong);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    font: inherit;
}

.presentation-field textarea {
    min-height: 92px;
    resize: vertical;
}

.presentation-field input:focus,
.presentation-field textarea:focus,
.presentation-field select:focus,
.presentation-inline-form input:focus {
    border-color: var(--blue);
    outline: 3px solid var(--color-builder-focus-ring);
}

.presentation-inline-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.presentation-inline-form button,
.presentation-mini-button {
    min-height: var(--control-height-md);
    padding: 0 var(--space-4);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-weight: var(--font-weight-bold);
    cursor: pointer;
}

.presentation-order-list,
.presentation-source-list {
    display: grid;
    gap: var(--space-3);
}

.presentation-order-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--bg);
}

.presentation-order-row__main {
    min-width: 0;
    border: 0;
    background: transparent;
    color: var(--text);
    text-align: left;
    overflow-wrap: anywhere;
}

.presentation-order-row__actions {
    display: inline-flex;
    gap: var(--space-1);
}

.presentation-order-row__actions button,
.presentation-drag-handle {
    width: 32px;
    height: 32px;
    padding: 0;
    border: var(--border-width) solid var(--line);
    border-radius: var(--space-2);
    background: var(--surface);
    color: var(--muted);
    cursor: pointer;
}

.presentation-order-row__actions button:disabled {
    opacity: 0.35;
    cursor: default;
}

.composition-overview,
.calculator-page,
.catalog-shell {
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.composition-overview {
    margin-bottom: var(--space-7);
    padding: var(--space-7);
}

.composition-overview__head,
.composition-overview__body,
.catalog-section-head,
.calculator-catalog-card__eyebrow,
.calculator-catalog-card__footer,
.presentation-modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-5);
}

.composition-overview h3,
.composition-overview p {
    margin: 0;
}

.composition-overview p {
    margin-top: var(--space-2);
    color: var(--muted);
    font-size: var(--font-size-sm);
}

.composition-overview__body {
    margin-top: var(--space-5);
}

.composition-stat {
    flex: 1;
    min-height: 68px;
    display: flex;
    align-items: center;
    gap: var(--space-5);
    padding: var(--space-4) var(--space-6);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--bg);
    color: var(--text);
    text-align: left;
}

.composition-stat strong {
    color: var(--blue);
    font-size: 30px;
}

.composition-actions,
.calculator-actions,
.add-block-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
}

.composition-actions button,
.calculator-actions button,
.add-block-strip button {
    min-height: var(--control-height-sm);
    padding: 0 var(--space-5);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    font-weight: var(--font-weight-bold);
}

.presentation-preview.is-mobile .composition-overview__body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.presentation-preview.is-mobile .composition-stat {
    min-width: 0;
}

.presentation-preview.is-mobile .composition-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.presentation-preview.is-mobile .composition-actions button {
    width: 100%;
    min-width: 0;
}

.calculator-page {
    overflow: hidden;
}

.calculator-hero {
    padding: var(--space-12) var(--space-12) var(--space-10);
    border-bottom: var(--border-width) solid var(--line);
    background: var(--color-header);
}

.calculator-hero__kicker,
.calculator-catalog-card__eyebrow {
    color: var(--muted);
    font-size: 11px;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.calculator-hero h1 {
    margin: var(--space-4) 0;
    font-size: 32px;
}

.calculator-hero p {
    margin: 0;
    color: var(--muted);
}

.calculator-hero__areas,
.calculator-catalog-card__areas {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-5);
}

.calculator-hero__areas span,
.calculator-catalog-card__areas span {
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-round);
    background: var(--color-presentation-chip);
    font-size: 11px;
}

.calculator-content {
    display: grid;
    gap: var(--space-7);
    padding: var(--space-9);
}

.calculator-section {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
    overflow: hidden;
}

.calculator-section__handle,
.calculator-item__handle {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: var(--space-6);
    border-right: var(--border-width) solid var(--line);
    background: var(--bg);
}

.calculator-section__body {
    min-width: 0;
    padding: var(--space-7);
}

.calculator-section__body h2,
.calculator-section__body h3 {
    margin: 0 0 var(--space-5);
}

.calculator-field-grid,
.calculator-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
}

.calculator-field-grid--single {
    grid-template-columns: minmax(0, 1fr);
}

.calculator-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    min-width: 0;
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--bg);
    overflow: hidden;
}

.calculator-item.is-full {
    grid-column: 1 / -1;
}

.calculator-item__body {
    min-width: 0;
    padding: var(--space-5);
}

.calculator-item__body label,
.calculator-result__title {
    display: block;
    margin-bottom: var(--space-3);
    font-weight: var(--font-weight-bold);
}

.calculator-item__body input,
.calculator-item__body select {
    width: 100%;
    min-height: var(--control-height-md);
    padding: 0 var(--space-4);
    border: var(--border-width) solid var(--color-builder-line-strong);
    border-radius: var(--radius-sm);
    background: var(--surface);
}

.calculator-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-5);
    margin-top: var(--space-3);
    color: var(--muted);
    font-size: var(--font-size-xs);
}

.calculator-result__value {
    font-size: 28px;
    font-weight: var(--font-weight-bold);
}

.calculator-result-card[data-effective-result-style="table"],
.calculator-result-card[data-effective-result-style="checklist"],
.calculator-result-card[data-effective-result-style="scale"] {
    grid-column: 1 / -1;
}

.calculator-result__detail:empty {
    display: none;
}

.calculator-result__detail {
    min-width: 0;
    overflow-x: auto;
}

.calculator-result-category {
    display: inline-flex;
    margin-top: var(--space-2);
    padding: var(--space-3) var(--space-5);
    border-radius: var(--radius-round);
    background: var(--color-presentation-result-category-soft);
    color: var(--color-presentation-result-category);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
}

.calculator-result-total {
    margin: var(--space-2) 0 var(--space-5);
    font-size: 30px;
    font-weight: var(--font-weight-bold);
}

.calculator-result-total.is-good,
.calculator-check-mark.is-good {
    color: var(--color-presentation-result-good);
}

.calculator-result-total.is-bad,
.calculator-check-mark.is-bad {
    color: var(--color-presentation-result-bad);
}

.calculator-result-description {
    margin: calc(-1 * var(--space-3)) 0 var(--space-4);
    color: var(--muted);
    font-size: var(--font-size-sm);
}

.calculator-score-table {
    width: 100%;
    border-collapse: collapse;
}

.calculator-score-table th,
.calculator-score-table td {
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width) solid var(--line);
    text-align: left;
}

.calculator-score-table th:last-child,
.calculator-score-table td:last-child {
    text-align: right;
}

.calculator-check-group {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4) 0;
    border-top: var(--border-width) solid var(--line);
}

.calculator-check-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
}

.calculator-check-mark {
    flex: 0 0 auto;
    font-weight: var(--font-weight-bold);
}

.calculator-result-scale {
    margin-top: var(--space-5);
}

.calculator-result-scale__track {
    display: flex;
    height: var(--space-4);
    overflow: hidden;
    border-radius: var(--radius-round);
}

.calculator-result-scale__track span {
    flex: 1;
    border-right: 2px solid var(--surface);
    background: var(--color-presentation-scale-muted);
}

.calculator-result-scale__track span.is-active {
    background: var(--color-blue);
}

.calculator-result-scale__labels {
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
    margin-top: var(--space-2);
    color: var(--muted);
    font-size: var(--font-size-xs);
}

.calculator-actions,
.add-block-strip {
    margin-top: var(--space-6);
}

.fixed-disclaimer {
    padding: var(--space-6);
    border: var(--border-width) solid var(--color-builder-score-border);
    border-radius: var(--radius-md);
    background: var(--color-presentation-warning-soft);
}

.catalog-shell {
    min-height: 100%;
    padding: var(--space-9);
    background: var(--color-presentation-workspace);
}

.catalog-hero {
    padding: var(--space-10);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
}

.catalog-hero h1 {
    margin: 0;
    font-size: 32px;
}

.catalog-section-head {
    margin: var(--space-9) 0 var(--space-5);
}

.catalog-section-head h2 {
    margin: 0;
}

.catalog-grid,
.my-calculators-grid {
    display: grid;
    grid-template-columns: repeat(
        auto-fill,
        minmax(
            min(100%, var(--presentation-card-min-width)),
            var(--presentation-card-max-width)
        )
    );
    justify-content: start;
    gap: var(--space-7);
}

.calculator-catalog-card {
    position: relative;
    min-height: 275px;
    display: flex;
    flex-direction: column;
    padding: var(--space-9);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.calculator-catalog-card__menu {
    position: absolute;
    top: var(--space-5);
    right: var(--space-5);
    z-index: 2;
}

.calculator-catalog-card__select {
    position: absolute;
    top: var(--space-5);
    left: 50%;
    z-index: 3;
    transform: translateX(-50%);
}

.calculator-catalog-card__select input {
    width: 13px;
    height: 13px;
    margin: 0;
    accent-color: var(--blue);
}

.calculator-catalog-card__menu summary {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font-size: 22px;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    list-style: none;
}

.calculator-catalog-card__menu summary::-webkit-details-marker {
    display: none;
}

.calculator-catalog-card__menu-panel {
    position: absolute;
    top: calc(100% + var(--space-2));
    right: 0;
    min-width: 132px;
    padding: var(--space-2);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.calculator-catalog-card__menu-panel form {
    margin: 0;
}

.calculator-catalog-card__menu button {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-danger);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.calculator-catalog-card__menu .calculator-catalog-card__menu-edit {
    color: var(--text);
}

.calculator-catalog-card__menu button:hover,
.calculator-catalog-card__menu button:focus-visible {
    background: var(--color-presentation-chip);
}

.calculator-catalog-card--draft {
    border: 3px solid var(--blue);
}

.calculator-catalog-card__status {
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-round);
    background: var(--color-presentation-chip);
}

.calculator-catalog-card__eyebrow {
    padding-right: calc(32px + var(--space-5));
}

.calculator-catalog-card h2,
.calculator-catalog-card h3 {
    margin: var(--space-6) 0 var(--space-3);
    font-size: var(--font-size-2xl);
}

.calculator-catalog-card > p {
    margin: 0;
    color: var(--muted);
}

.calculator-catalog-card__footer {
    align-items: flex-end;
    margin-top: auto;
    padding-top: var(--space-8);
    font-size: var(--font-size-xs);
}

.calculator-catalog-card__meta {
    min-width: 0;
    overflow-wrap: anywhere;
}

.calculator-catalog-card__footer-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: var(--space-3);
}

.calculator-catalog-card__versions {
    position: relative;
}

.calculator-catalog-card__versions summary {
    color: var(--muted);
    cursor: pointer;
    font-weight: var(--font-weight-bold);
    list-style: none;
    white-space: nowrap;
}

.calculator-catalog-card__versions summary::-webkit-details-marker {
    display: none;
}

.calculator-catalog-card__versions-panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + var(--space-2));
    z-index: 4;
    display: grid;
    min-width: 178px;
    max-height: 220px;
    padding: var(--space-2);
    overflow: auto;
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.calculator-catalog-card__versions-panel a {
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-sm);
    color: var(--text);
    white-space: nowrap;
}

.calculator-catalog-card__versions-panel a:hover,
.calculator-catalog-card__versions-panel a:focus-visible,
.calculator-catalog-card__versions-panel a[aria-current="page"] {
    background: var(--color-presentation-chip);
}

.calculator-catalog-card__versions-panel small {
    color: var(--muted);
}

.calculator-catalog-card__open {
    white-space: nowrap;
}

.calculator-runtime-main {
    flex: 1;
    padding: 0;
    background: var(--color-presentation-workspace);
}

.calculator-runtime {
    min-height: 100%;
}

.calculator-runtime__workspace {
    width: min(calc(100% - 2 * var(--space-9)), var(--presentation-page-width));
    margin: 0 auto;
    padding: var(--space-9) 0 var(--space-14);
}

.calculator-page--runtime {
    min-height: 100%;
}

.calculator-section--runtime,
.calculator-item--runtime {
    grid-template-columns: minmax(0, 1fr);
}

.runtime-header__calculator {
    display: grid;
    flex: 1 1 auto;
    min-width: 280px;
    max-width: 560px;
    gap: var(--space-1);
}

.runtime-header__title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.runtime-header__version {
    color: var(--muted);
    font-size: var(--font-size-xs);
}

.runtime-header__actions {
    display: flex;
    align-items: center;
}

.runtime-header__actions a {
    display: inline-flex;
    align-items: center;
    color: var(--text);
    text-decoration: none;
}

.runtime-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1190;
    background: var(--color-builder-overlay);
    animation: runtime-backdrop-enter var(--motion-fast) ease-out;
}

.runtime-drawer-backdrop[hidden],
.runtime-drawer[hidden] {
    display: none;
}

.runtime-drawer {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1200;
    width: min(var(--runtime-drawer-width), calc(100vw - var(--space-9)));
    overflow: auto;
    border-right: var(--border-width) solid var(--line);
    background: var(--bg);
    box-shadow: 0 18px 55px var(--color-builder-panel-shadow);
    animation: runtime-drawer-enter var(--motion-fast) ease-out;
}

@keyframes runtime-drawer-enter {
    from {
        transform: translateX(-100%);
    }
}

@keyframes runtime-backdrop-enter {
    from {
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .runtime-drawer,
    .runtime-drawer-backdrop {
        animation: none;
    }
}

body.runtime-drawer-open {
    overflow: hidden;
}

.runtime-drawer__header {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-5);
    padding: var(--space-7);
    border-bottom: var(--border-width) solid var(--line);
    background: var(--bg);
}

.runtime-drawer__header h2 {
    margin: 0;
    font-size: var(--font-size-xl);
}

.runtime-drawer__header button {
    width: var(--control-height-sm);
    height: var(--control-height-sm);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font-size: var(--font-size-2xl);
}

.runtime-drawer__body {
    display: grid;
    gap: var(--space-6);
    padding: var(--space-6);
}

.runtime-composition-section {
    padding: var(--space-7);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
}

.runtime-composition-section h3 {
    margin: 0 0 var(--space-5);
    font-size: var(--font-size-lg);
}

.runtime-composition-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.runtime-composition-chips span {
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-round);
    background: var(--color-presentation-chip);
    font-size: var(--font-size-xs);
}

.runtime-composition-chips button {
    margin-left: var(--space-2);
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.runtime-composition-list {
    display: grid;
    gap: var(--space-3);
    margin: 0;
    padding-left: var(--space-9);
}

.runtime-composition-list li {
    padding-left: var(--space-1);
}

.runtime-composition-list li > span,
.runtime-composition-list li > strong {
    display: block;
}

.runtime-composition-list small,
.runtime-composition-empty {
    color: var(--muted);
    font-size: var(--font-size-xs);
}

.runtime-composition-empty {
    margin: 0;
}

.runtime-composition-status {
    position: sticky;
    top: calc(var(--control-height-lg) + 2 * var(--space-7));
    z-index: 1;
    margin: 0;
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-sm);
    background: var(--panel-strong);
    color: var(--muted);
    font-size: var(--font-size-sm);
}

.runtime-composition-status.is-error {
    background: var(--color-builder-danger-soft);
    color: var(--color-danger);
}

.runtime-composition-editor {
    display: grid;
    gap: var(--space-6);
}

.runtime-composition-detail {
    margin-top: var(--space-3);
    padding: var(--space-4);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--bg);
}

.runtime-composition-detail > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    cursor: pointer;
    font-weight: var(--font-weight-bold);
    list-style-position: inside;
}

.runtime-composition-detail > summary > span:first-child {
    min-width: 0;
    overflow-wrap: anywhere;
}

.runtime-composition-detail[open] > summary {
    margin-bottom: var(--space-4);
}

.presentation-field--inline {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.runtime-source-editor {
    margin-top: var(--space-5);
    padding: var(--space-4);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
}

.runtime-source-editor > .presentation-mini-button {
    margin-top: var(--space-4);
}

.runtime-calculation-error {
    margin: 0;
    padding: var(--space-5);
    border: var(--border-width) solid var(--color-builder-danger-border);
    border-radius: var(--radius-md);
    background: var(--color-builder-danger-soft);
    color: var(--color-danger);
}

.calculator-catalog-card__footer a {
    color: var(--blue);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
    white-space: nowrap;
}

.my-calculators-page {
    width: var(--shell);
    margin: 0 auto;
    padding: var(--space-12) 0 var(--space-14);
}

.my-calculators-page h1 {
    margin: 0 0 var(--space-9);
}

.my-calculators-page__toolbar {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin: calc(var(--space-9) * -1) 0 var(--space-7);
}

.my-calculators-page__select,
.my-calculators-page__actions summary {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: var(--space-3) var(--space-5);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-weight: var(--font-weight-bold);
    list-style: none;
}

.my-calculators-page__actions {
    position: relative;
}

.my-calculators-page__actions summary::-webkit-details-marker {
    display: none;
}

.my-calculators-page__actions form {
    position: absolute;
    top: calc(100% + var(--space-2));
    left: 0;
    z-index: 4;
    min-width: 132px;
    padding: var(--space-2);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.my-calculators-page__actions form button {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-danger);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.my-calculators-page__actions form button:hover,
.my-calculators-page__actions form button:focus-visible {
    background: var(--color-presentation-chip);
}

.my-calculators-page__actions.is-disabled summary {
    cursor: not-allowed;
    opacity: 0.6;
}

.presentation-empty {
    display: grid;
    place-items: center;
    min-height: 420px;
    padding: var(--space-12);
    border: var(--border-width) dashed var(--color-builder-line-strong);
    border-radius: var(--radius-lg);
    background: var(--surface);
    text-align: center;
}

.presentation-toast {
    position: fixed;
    right: var(--space-7);
    bottom: var(--space-7);
    z-index: 1100;
    max-width: 420px;
    padding: var(--space-5) var(--space-7);
    border-radius: var(--radius-md);
    background: var(--text);
    color: var(--surface);
    box-shadow: var(--shadow);
}

.presentation-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: var(--space-7);
    background: var(--color-builder-overlay);
}

.presentation-modal[hidden] {
    display: none;
}

.presentation-modal__box {
    width: var(--modal-width);
    max-height: calc(100vh - 2 * var(--space-7));
    padding: var(--space-9);
    overflow: auto;
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: 0 22px 70px var(--color-builder-modal-shadow);
}

.presentation-modal--wide .presentation-modal__box {
    width: min(1200px, 100%);
}

.presentation-modal__box h2 {
    margin: 0 0 var(--space-6);
}

.presentation-modal__head button {
    width: var(--control-height-md);
    height: var(--control-height-md);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
}

.presentation-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-4);
    margin-top: var(--space-8);
}

.presentation-modal__actions > button:not(.button) {
    min-height: var(--control-height-lg);
    padding: 0 var(--space-7);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
}

.presentation-publish-preview {
    max-height: min(560px, 58vh);
    overflow: auto;
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-lg);
}

.presentation-publish-validation {
    margin: var(--space-5) 0;
    padding: var(--space-4) var(--space-5);
    border: var(--border-width) solid var(--accent-line);
    border-radius: var(--radius-md);
    background: var(--accent-soft);
    color: var(--accent-dark);
    font-size: var(--font-size-sm);
}

.presentation-publish-validation.is-error {
    border-color: var(--color-builder-danger-border);
    background: var(--danger-soft);
    color: var(--color-danger);
}

.presentation-publish-validation ul {
    margin: var(--space-3) 0 0;
    padding-left: var(--space-8);
}

.presentation-modal__head h2 {
    margin-bottom: var(--space-2);
}

.presentation-modal__head p {
    margin: 0;
    color: var(--muted);
    font-size: var(--font-size-sm);
}

.presentation-clean-preview {
    padding: var(--space-5);
    background: var(--color-presentation-workspace);
}

.presentation-clean-preview .composition-overview,
.presentation-clean-preview .presentation-drag-handle,
.presentation-clean-preview .add-block-strip {
    display: none;
}

.presentation-clean-preview .calculator-section,
.presentation-clean-preview .calculator-item,
.calculator-presentation-editor[data-readonly="true"] .calculator-section,
.calculator-presentation-editor[data-readonly="true"] .calculator-item {
    grid-template-columns: minmax(0, 1fr);
}

.calculator-presentation-editor[data-readonly="true"] .presentation-drag-handle,
.calculator-presentation-editor[data-readonly="true"] .composition-actions {
    pointer-events: none;
    opacity: 0.6;
}

body.medicine-area-picker-open {
    overflow: hidden;
}

.medicine-area-picker-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: grid;
    place-items: center;
    padding: var(--space-8);
    background: var(--color-builder-overlay);
    backdrop-filter: blur(var(--space-1));
}

.medicine-area-picker-backdrop[hidden] {
    display: none;
}

.medicine-area-picker {
    display: flex;
    flex-direction: column;
    width: min(
        var(--medicine-area-picker-width),
        calc(100vw - 2 * var(--space-8))
    );
    max-height: var(--medicine-area-picker-max-height);
    overflow: hidden;
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: 0 24px 80px var(--color-builder-modal-shadow);
}

.medicine-area-picker__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-7);
    padding: var(--space-9) var(--space-11) var(--space-7);
    border-bottom: var(--border-width) solid var(--line);
}

.medicine-area-picker__header h2,
.medicine-area-picker__custom h3,
.medicine-area-picker__group-title {
    margin: 0;
}

.medicine-area-picker__header h2 {
    font-size: var(--font-size-3xl);
}

.medicine-area-picker__header p {
    margin: var(--space-1) 0 0;
    color: var(--muted);
    font-size: var(--font-size-sm);
}

.medicine-area-picker__close {
    flex: 0 0 auto;
    width: var(--control-height-lg);
    height: var(--control-height-lg);
    padding: 0;
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
    color: var(--text);
    font-size: var(--font-size-2xl);
    cursor: pointer;
}

.medicine-area-picker__search-wrap {
    padding: var(--space-8) var(--space-11) var(--space-5);
}

.medicine-area-picker__search,
.medicine-area-picker__custom input {
    width: 100%;
    min-width: 0;
    min-height: var(--control-height-lg);
    padding: 0 var(--space-6);
    border: var(--border-width) solid var(--color-builder-line-strong);
    border-radius: var(--radius-md);
    background: var(--surface);
    color: var(--text);
    font: inherit;
}

.medicine-area-picker__search:focus,
.medicine-area-picker__custom input:focus {
    border-color: var(--blue);
    outline: var(--space-1) solid var(--color-builder-focus-ring);
}

.medicine-area-picker__selected {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    padding: 0 var(--space-11) var(--space-5);
}

.medicine-area-picker__selected:empty {
    display: none;
}

.medicine-area-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    min-height: var(--space-12);
    max-width: 100%;
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-5);
    border: var(--border-width) solid var(--color-builder-blue-border-soft);
    border-radius: var(--radius-round);
    background: var(--surface);
    color: var(--color-text-strong);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
}

.medicine-area-chip > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.medicine-area-chip button {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: var(--space-9);
    height: var(--space-9);
    padding: 0;
    border: 0;
    border-radius: var(--radius-round);
    background: var(--color-presentation-chip);
    color: var(--muted);
    cursor: pointer;
}

.medicine-area-picker__tabs {
    display: flex;
    gap: var(--space-2);
    padding: 0 var(--space-11) var(--space-5);
}

.medicine-area-picker__tab,
.medicine-area-picker__custom button,
.presentation-area-picker-open {
    min-height: var(--control-height-sm);
    padding: 0 var(--space-6);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--muted);
    font-weight: var(--font-weight-bold);
    cursor: pointer;
}

.medicine-area-picker__tab.is-active {
    border-color: var(--color-builder-blue-border-soft);
    background: var(--panel-strong);
    color: var(--blue);
}

.medicine-area-picker__letters {
    display: flex;
    gap: var(--space-1);
    overflow-x: auto;
    padding: 0 var(--space-11) var(--space-5);
}

.medicine-area-picker__letters[hidden] {
    display: none;
}

.medicine-area-picker__letter {
    flex: 0 0 auto;
    width: var(--space-12);
    height: var(--space-12);
    padding: 0;
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--muted);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    cursor: pointer;
}

.medicine-area-picker__letter.is-active {
    border-color: var(--blue);
    background: var(--blue);
    color: var(--surface);
}

.medicine-area-picker__scroll {
    min-height: 0;
    overflow: auto;
    padding: 0 var(--space-11) var(--space-9);
}

.medicine-area-picker__group-title {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: var(--space-6) 0 var(--space-3);
    background: var(--surface);
    color: var(--muted);
    font-size: var(--font-size-xs);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.medicine-area-picker__option {
    display: grid;
    grid-template-columns: var(--space-10) minmax(0, 1fr) auto;
    gap: var(--space-4);
    align-items: center;
    min-height: calc(var(--control-height-lg) + var(--space-2));
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.medicine-area-picker__option:hover {
    background: var(--color-surface-soft);
}

.medicine-area-picker__option.is-selected {
    background: var(--panel-strong);
}

.medicine-area-picker__option input {
    accent-color: var(--blue);
}

.medicine-area-picker__option-copy strong,
.medicine-area-picker__option-copy small {
    display: block;
}

.medicine-area-picker__option-copy small {
    margin-top: var(--space-1);
    color: var(--muted);
    font-size: var(--font-size-xs);
}

.medicine-area-picker__kind {
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-round);
    background: var(--color-presentation-chip);
    color: var(--muted);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    white-space: nowrap;
}

.medicine-area-picker__empty {
    margin: var(--space-7) 0;
    color: var(--muted);
}

.medicine-area-picker__custom {
    margin-top: var(--space-6);
    padding: var(--space-6);
    border: var(--border-width) dashed var(--color-builder-line-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface-soft);
}

.medicine-area-picker__custom h3 {
    margin-bottom: var(--space-4);
    font-size: var(--font-size-md);
}

.medicine-area-picker__custom-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-3);
}

.medicine-area-picker__custom button {
    color: var(--text);
}

.medicine-area-picker__status {
    margin: 0;
    padding: var(--space-4) var(--space-11);
    border-top: var(--border-width) solid var(--line);
    color: var(--color-danger);
    font-size: var(--font-size-sm);
}

.runtime-area-editor__list {
    display: grid;
    gap: var(--space-2);
}

.runtime-area-editor__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-3);
    align-items: center;
    padding: var(--space-3) var(--space-4);
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
}

.runtime-area-editor__row > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.runtime-area-editor__actions {
    display: flex;
    gap: var(--space-1);
}

.runtime-area-editor__actions button {
    width: var(--space-12);
    height: var(--space-12);
    padding: 0;
    border: var(--border-width) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    cursor: pointer;
}

.runtime-area-editor__actions button:disabled {
    cursor: default;
    opacity: 0.45;
}

.runtime-area-editor__add {
    margin-top: var(--space-4);
}

@media (max-width: 700px) {
    .medicine-area-picker-backdrop {
        padding: 0;
    }

    .medicine-area-picker {
        width: 100vw;
        height: 100vh;
        max-height: 100vh;
        border-radius: var(--radius-none);
    }

    .medicine-area-picker__header,
    .medicine-area-picker__search-wrap,
    .medicine-area-picker__selected,
    .medicine-area-picker__tabs,
    .medicine-area-picker__letters,
    .medicine-area-picker__scroll,
    .medicine-area-picker__status {
        padding-left: var(--space-7);
        padding-right: var(--space-7);
    }

    .medicine-area-picker__option {
        grid-template-columns: var(--space-10) minmax(0, 1fr);
    }

    .medicine-area-picker__kind {
        display: none;
    }
}

@media (max-width: 1280px) {
    .presentation-layout {
        grid-template-columns: minmax(0, 1fr) 360px;
    }

    body:has(.calculator-presentation-editor) .site-header__controls {
        flex-wrap: nowrap;
        justify-content: flex-end;
        white-space: nowrap;
    }

    .presentation-header__name {
        width: 360px;
    }

    .presentation-header__actions {
        gap: var(--space-1);
        margin-left: var(--space-1);
    }

    .presentation-header__actions .builder-header__action-button {
        padding-inline: var(--space-3);
        font-size: var(--font-size-sm);
    }
}

@media (max-width: 1040px) {
    body:has(.calculator-presentation-editor) {
        overflow: auto;
    }

    body:has(.calculator-presentation-editor) .container-fluid {
        height: auto;
        min-width: 0;
        min-height: 100vh;
        overflow: visible;
    }

    .presentation-main,
    .presentation-layout,
    .presentation-workspace,
    .presentation-inspector {
        overflow: visible;
    }

    .calculator-presentation-editor {
        display: block;
    }

    .presentation-layout {
        grid-template-columns: 1fr;
    }

    .presentation-inspector {
        border-top: var(--border-width) solid var(--line);
        border-left: 0;
    }

    .presentation-inspector__header {
        position: static;
    }
}

@media (max-width: 720px) {
    .presentation-toolbar {
        flex-wrap: wrap;
    }

    .presentation-toolbar__status {
        width: 100%;
        margin-left: 0;
    }

    .presentation-workspace {
        padding: var(--space-4);
    }

    .composition-overview__body,
    .catalog-section-head,
    .calculator-catalog-card__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .composition-overview__body {
        display: grid;
    }

    .calculator-field-grid,
    .calculator-result-grid {
        grid-template-columns: 1fr;
    }

    .calculator-hero,
    .calculator-content,
    .catalog-shell,
    .catalog-hero,
    .calculator-catalog-card {
        padding: var(--space-6);
    }

    .catalog-hero h1,
    .calculator-hero h1 {
        font-size: var(--font-size-3xl);
    }
}
