/* Current Button contract, opt-in on the real PHP Button. No legacy migration.
   Source: flux/button/index.blade.php (primary/filled/outline, sm/md/lg). */
.octopus-button[data-octopus-button-current][data-variant="primary"] {
    font-weight:var(--type-label-weight);
    line-height:var(--type-body-leading);
    background:var(--color-action-primary);
}
.octopus-button[data-octopus-button-current][data-variant="primary"]:hover:not(:disabled):not([aria-disabled="true"]) { background:color-mix(in oklab,var(--color-action-primary),transparent 10%); }
.dark .octopus-button[data-octopus-button-current][data-variant="primary"] { border-width:0; }
.octopus-button[data-octopus-button-current][data-variant="outline"] {
    background:var(--color-white);
    color:var(--color-zinc-800);
    border:1px solid var(--color-zinc-200);
    border-bottom-color:color-mix(in srgb,var(--color-zinc-300) 80%,transparent);
    border-radius:var(--shape-radius-component);
    font-weight:var(--type-label-weight);
    line-height:var(--type-body-leading);
    box-shadow:none;
}
.octopus-button[data-octopus-button-current][data-variant="outline"]:hover:not(:disabled) { background:var(--color-zinc-50); }
.dark .octopus-button[data-octopus-button-current][data-variant="outline"] { background:var(--color-zinc-700); border-color:var(--color-zinc-600); color:var(--color-white); }
.dark .octopus-button[data-octopus-button-current][data-variant="outline"]:hover:not(:disabled) { background:color-mix(in oklab,var(--color-zinc-600) 75%,transparent); }
.octopus-button[data-octopus-button-current][data-variant="filled"] {
    border: 0;
    background: color-mix(in oklab, var(--color-zinc-800) 5%, transparent);
    color: var(--color-zinc-800);
    font-weight: var(--type-label-weight);
    line-height: var(--type-body-leading);
    white-space: nowrap;
    cursor: default;
    box-shadow: none;
}
.octopus-button[data-octopus-button-current][data-size="lg"] {
    font-size: var(--type-body-size);
    padding: calc(var(--space-component-xs) * 1.5) var(--space-component-sm);
}
.octopus-button[data-octopus-button-current][data-size="md"] {
    font-size: var(--type-body-secondary-size);
    padding: var(--space-component-xs) calc(var(--space-component-xs) * 1.5);
}
.octopus-button[data-octopus-button-current][data-size="sm"] {
    font-size: var(--type-caption-size);
    padding: calc(var(--space-component-xs) * .75) var(--space-component-xs);
    border-radius: var(--shape-radius-tag);
}
.octopus-button[data-octopus-button-current] .octopus-button__label { font-weight: inherit; }
/* Explicit editorial multiline contract; ordinary labels keep their compact shape. */
.octopus-button[data-octopus-button-current][data-octopus-multiline="text"] { height:auto; min-height:var(--octopus-button-height); white-space:pre-line; max-width:100%; }
.octopus-button[data-octopus-button-current][data-octopus-multiline="text"] .octopus-button__label { white-space:pre-line; overflow-wrap:anywhere; min-width:0; }
.octopus-button[data-octopus-button-current] .octopus-button__icon svg { width: 1.25rem; height: 1.25rem; }
.octopus-button[data-octopus-button-current][data-variant="filled"]:hover:not(:disabled) { background: color-mix(in oklab, var(--color-zinc-800) 10%, transparent); }
.dark .octopus-button[data-octopus-button-current][data-variant="filled"] { color: var(--color-white); background: color-mix(in oklab, var(--color-white) 10%, transparent); }
.dark .octopus-button[data-octopus-button-current][data-variant="filled"]:hover:not(:disabled) { background: color-mix(in oklab, var(--color-white) 20%, transparent); }
.octopus-button[data-octopus-button-current]:disabled { opacity: .75; pointer-events: none; }
