/* Host geometry only. Native control anatomy and theme roles come from cantos-ui. */
body { margin: 0; }
.studio-shell { min-block-size: 100vh; }
.studio-shell *, .studio-shell *::before, .studio-shell *::after { box-sizing: border-box; }
.studio-shell .studio-main { max-inline-size: 94rem; margin-inline: auto; padding-block: var(--cantos-space-lg); container: studio / inline-size; }
.studio-shell .studio-header, .studio-shell .toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cantos-space-sm); }
.studio-shell .studio-header { justify-content: space-between; gap: var(--cantos-space-md); }
.studio-shell h1 { font: var(--cantos-type-title-weight) var(--cantos-type-title-size)/var(--cantos-type-title-line-height) var(--cantos-type-family-editorial); margin: 0; }
.studio-shell h2 { font-size: var(--cantos-type-title-size); line-height: var(--cantos-type-title-line-height); }
.studio-shell .toolbar { margin-block: var(--cantos-space-sm); }
.studio-shell .session-controls { align-items: end; }
.studio-shell .session-controls > .cui-field, .studio-shell .toolbar > input { flex: 1 1 18rem; }
.studio-shell :where(label):not(:where(.cui-choice-label)) { display: block; margin-block: var(--cantos-space-sm); }
.studio-shell textarea { inline-size: 100%; min-block-size: 23rem; resize: vertical; }
.studio-shell :where(a, summary, button, input, textarea, select):focus-visible { outline: var(--cantos-size-focus-width) solid var(--cantos-color-focus); outline-offset: var(--cantos-size-focus-offset); }
.studio-shell output { display: inline-block; margin-inline-start: var(--cantos-space-sm); font-variant-numeric: tabular-nums; }
.studio-shell .mode { color: var(--cantos-color-on-surface-variant); }
.studio-shell pre { background: var(--cantos-color-surface-container); padding: var(--cantos-space-md); white-space: pre-wrap; overflow-wrap: anywhere; max-block-size: 30rem; overflow: auto; }
.studio-shell .identity { overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) { .studio-shell * { scroll-behavior: auto; } }
.studio-shell .manuscript-import { margin-block: var(--cantos-space-lg); padding-block: var(--cantos-space-md); }
.studio-shell .help { color: var(--cantos-color-on-surface-variant); }
.studio-shell .import-metadata { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: var(--cantos-space-md); }
.studio-shell .import-metadata input { width: 100%; }
.studio-shell .import-reopen { margin-block-start: var(--cantos-space-lg); }
.studio-shell .source-identity { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(0, 3fr); gap: var(--cantos-space-sm) var(--cantos-space-md); }
.studio-shell .source-identity dt, .studio-shell .block-metadata dt { font-weight: 600; }
.studio-shell .source-identity dd, .studio-shell .block-metadata dd { margin: 0; overflow-wrap: anywhere; }
.studio-shell .import-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cantos-space-lg); }
.studio-shell .import-comparison > section { min-width: 0; }
.studio-shell .import-comparison h3 { margin-block-start: var(--cantos-space-md); }
.studio-shell .download-original { display: inline-block; min-height: var(--cantos-size-control); padding-block: var(--cantos-space-sm); color: var(--cantos-color-primary); overflow-wrap: anywhere; }
.studio-shell .status { overflow-wrap: anywhere; }
.studio-shell .import-warnings { padding-inline-start: var(--cantos-space-lg); }
.studio-shell .import-warnings p { margin-block-end: 0; }
.studio-shell .import-warnings small { overflow-wrap: anywhere; }
.studio-shell .import-blocks { padding-inline-start: var(--cantos-space-lg); }
.studio-shell .import-blocks > li { padding-block: var(--cantos-space-sm); }
.studio-shell .block-kind { font-weight: 600; margin-block: 0 var(--cantos-space-sm); }
.studio-shell .block-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.studio-shell .block-metadata { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--cantos-space-xs) var(--cantos-space-sm); color: var(--cantos-color-on-surface-variant); }
.studio-shell summary { cursor: pointer; min-block-size: var(--cantos-size-control); padding-block: var(--cantos-space-sm); overflow-wrap: anywhere; }
@container studio (max-width: 50rem) { .studio-shell .import-comparison { grid-template-columns: minmax(0, 1fr); } }
@container studio (max-width: 36rem) { .studio-shell .source-identity { grid-template-columns: minmax(0, 1fr); } .studio-shell .source-identity dd { margin-block-end: var(--cantos-space-sm); } .studio-shell .source-identity dt, .studio-shell .block-metadata dt { overflow-wrap: anywhere; } }
.studio-shell .adaptation-provider { padding: var(--cantos-space-md); background: var(--cantos-color-surface-container); }
.studio-shell .adaptation-target, .studio-shell .adaptation-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cantos-space-lg); }
.studio-shell .adaptation-target input { width: 100%; }
.studio-shell .adaptation-comparison > section { min-width: 0; }
.studio-shell .adaptation-confirm { display: flex; align-items: flex-start; gap: var(--cantos-space-sm); font-weight: 400; margin-block: var(--cantos-space-md); min-height: var(--cantos-size-control); cursor: pointer; }
.studio-shell .adaptation-confirm input[type="checkbox"] { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-block-start: .25rem; }
.studio-shell .adaptation-confirm span { min-width: 0; overflow-wrap: anywhere; }
.studio-shell .adaptation-reopen { margin-block-start: var(--cantos-space-lg); }
.studio-shell .adaptation-coverage { padding-inline-start: var(--cantos-space-lg); }
.studio-shell .adaptation-coverage li { padding-block: var(--cantos-space-sm); }
.studio-shell #adaptation-proposal-json { min-height: 35rem; }
@container studio (max-width: 50rem) { .studio-shell .adaptation-comparison { grid-template-columns: minmax(0, 1fr); } }
@container studio (max-width: 36rem) { .studio-shell .adaptation-target { grid-template-columns: minmax(0, 1fr); gap: 0; } }
/* Script authoring uses the established semantic roles; local geometry follows pane content. */

.studio-shell .studio-header small { display: block; font-size: var(--cantos-type-metadata-size); font-weight: 400; color: var(--cantos-color-on-surface-variant); }
.studio-shell .studio-header .toolbar { margin: 0; }
.studio-shell .studio-header label { font-weight: 400; }
.studio-shell .workspace-nav { display: flex; flex-wrap: wrap; gap: var(--cantos-space-sm); padding-block: var(--cantos-space-md); margin-block-end: var(--cantos-space-md); }
.studio-shell .authoring-nav button[aria-pressed="true"] { background: var(--cantos-color-primary-container); color: var(--cantos-color-on-primary-container); text-decoration: underline; }
.studio-shell .revision-strip { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--cantos-space-sm); }
.studio-shell .authoring-workspace { display: grid; grid-template-columns: minmax(11rem, .75fr) minmax(0, 2.4fr) minmax(16rem, 1fr); gap: var(--cantos-space-lg); margin-block: var(--cantos-space-md); align-items: start; }
.studio-shell .authoring-nav, .studio-shell .authoring-canvas, .studio-shell .authoring-inspector { min-width: 0; }
.studio-shell .authoring-nav { background: var(--cantos-color-surface-container); padding: var(--cantos-space-sm); border-radius: var(--cantos-web-shape-reading); }
.studio-shell .authoring-nav button { display: block; width: 100%; text-align: start; overflow-wrap: anywhere; margin-block: var(--cantos-space-sm); }
.studio-shell .authoring-nav ul { list-style: none; margin: 0; padding-inline-start: var(--cantos-space-sm); }
.studio-shell .authoring-nav h3 { margin-block: var(--cantos-space-sm); }
.studio-shell .authoring-canvas > h3, .studio-shell .authoring-inspector > h3 { margin-block-start: 0; }
.studio-shell .authoring-inspector { padding: var(--cantos-space-md); background: var(--cantos-color-surface-container); border-radius: var(--cantos-web-shape-container); overflow-wrap: anywhere; }
.studio-shell .authoring-inspector pre { max-height: 18rem; font-size: var(--cantos-type-metadata-size); }
.studio-shell .authoring-inspector .source-identity { grid-template-columns: minmax(0, 1fr); gap: var(--cantos-space-sm); }
.studio-shell .authoring-inspector .source-identity dd { margin-block-end: var(--cantos-space-sm); }
.studio-shell .authoring-inspector button { max-width: 100%; overflow-wrap: anywhere; }
.studio-shell .authoring-row { padding-block: var(--cantos-space-md); }
.studio-shell .authoring-row textarea { min-height: 7rem; font-family: var(--cantos-type-family-editorial); line-height: var(--cantos-type-editor-line-height); }
.studio-shell .authoring-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--cantos-space-md); }
.studio-shell .authoring-fields label, .studio-shell .authoring-fields input, .studio-shell .authoring-fields select { width: 100%; }
.studio-shell .authoring-actions { display: flex; flex-wrap: wrap; gap: var(--cantos-space-sm); margin-block: var(--cantos-space-sm); }

.studio-shell .authoring-inspector li, .studio-shell .authoring-inspector code { overflow-wrap: anywhere; }
.studio-shell .validation-controls { margin-block: var(--cantos-space-md); }
.studio-shell .validation-controls p { margin-block: var(--cantos-space-sm); }
.studio-shell [hidden] { display: none !important; }
@container studio (max-width: 75rem) { .studio-shell .authoring-workspace { grid-template-columns: minmax(10rem, .7fr) minmax(0, 2fr); } .studio-shell .authoring-inspector { grid-column: 1 / -1; margin-block-start: var(--cantos-space-sm); } }
@container studio (max-width: 45rem) { .studio-shell .authoring-workspace { grid-template-columns: minmax(0, 1fr); gap: var(--cantos-space-md); } .studio-shell .authoring-nav button { min-height: var(--cantos-size-control); } .studio-shell .authoring-inspector { grid-column: auto; } .studio-shell .workspace-nav > .cui-button-field { flex: 1 1 10rem; } .studio-shell .workspace-nav .cui-filter-chip { width: 100%; } .studio-shell .authoring-fields { grid-template-columns: minmax(0, 1fr); } }

.studio-shell .authoring-field textarea { min-height: 7rem; font-family: var(--cantos-type-family-editorial); line-height: var(--cantos-type-editor-line-height); }
.studio-shell .authoring-advanced textarea { min-height: 24rem; font-family: ui-monospace, monospace; }
.studio-shell .authoring-error { padding-inline-start: var(--cantos-space-sm); }

.studio-shell .authoring-nav-kind { display: block; font-size: var(--cantos-type-metadata-size); opacity: .85; }
.studio-shell .authoring-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cantos-space-sm); }
.studio-shell .authoring-heading h2, .studio-shell .authoring-heading .toolbar { margin-block: 0; }
.studio-shell .authoring-canvas code { overflow-wrap: anywhere; }
.studio-shell .script-adaptation { margin-block: var(--cantos-space-md); padding-block: var(--cantos-space-sm); }
.studio-shell .session-panel { margin-block: var(--cantos-space-sm); }

/* Authoring controls stay compact while preserving native selection and touch targets. */
.studio-shell .authoring-field input, .studio-shell .authoring-field select { width: 100%; min-height: var(--cantos-size-control); }

.studio-shell .authoring-pronunciation { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; align-items: start; }
.studio-shell .authoring-pronunciation-field { min-width: 0; }
.studio-shell .authoring-pronunciation > button { align-self: end; justify-self: start; width: auto; }
.studio-shell .authoring-id { display: block; color: var(--cantos-color-on-surface-variant); font-size: var(--cantos-type-metadata-size); line-height: 1.5; }
.studio-shell .authoring-row-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--cantos-space-sm); }
.studio-shell .authoring-row-heading h4 { margin: 0; }
@container studio (max-width: 45rem) { .studio-shell .authoring-pronunciation { grid-template-columns: minmax(0, 1fr); } }

/* Long localized actions and immutable identifiers must reflow at browser zoom. */
.studio-shell button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.studio-shell .studio-header > *, .studio-shell .toolbar > *, .studio-shell .revision-strip > *, .studio-shell .authoring-heading > *, .studio-shell .authoring-row-heading > *, .studio-shell .authoring-actions > * { max-width: 100%; }
.studio-shell .authoring-remove-confirm { flex: 1 1 100%; overflow-wrap: anywhere; }
.studio-shell .identity output { max-width: calc(100% - var(--cantos-space-sm)); overflow-wrap: anywhere; vertical-align: top; }

/* Closed disclosure contents must not contribute native control intrinsic sizes. */
.studio-shell details:not([open]) > :not(summary) { display: none; }
.studio-shell, .studio-shell main { width: 100%; min-width: 0; }

/* Casting keeps native controls and exact identities on the existing Lavender Stage roles. */
.studio-shell .production-inputs { min-width: 0; max-width: 100%; padding-block: var(--cantos-space-md); }
.studio-shell .production-reference { background: var(--cantos-color-surface-container); padding: var(--cantos-space-md); overflow-wrap: anywhere; }
.studio-shell .production-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr); gap: var(--cantos-space-lg); align-items: start; margin-block: var(--cantos-space-lg); }
.studio-shell .production-settings, .studio-shell .production-inspector { min-width: 0; }
.studio-shell .production-inspector { padding: var(--cantos-space-md); background: var(--cantos-color-surface-container); border-radius: var(--cantos-web-shape-container); overflow-wrap: anywhere; }
.studio-shell .production-inputs fieldset { min-width: 0; min-inline-size: 0; width: 100%; max-width: 100%; padding: var(--cantos-space-md); margin: 0 0 var(--cantos-space-md); border: 0; background: var(--cantos-color-surface-container); border-radius: var(--cantos-web-shape-container); }
.studio-shell .production-inputs legend { font-weight: 600; max-width: 100%; overflow-wrap: anywhere; }
.studio-shell .production-inputs legend code { display: block; font-weight: 400; font-size: var(--cantos-type-metadata-size); color: var(--cantos-color-on-surface-variant); }
.studio-shell .production-fields { display: grid; min-width: 0; max-width: 100%; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: var(--cantos-space-sm) var(--cantos-space-md); }
.studio-shell .production-field { min-width: 0; max-width: 100%; margin-block: var(--cantos-space-sm); }
.studio-shell .production-field input, .studio-shell .production-field select { width: 100%; min-height: var(--cantos-size-control); }

.studio-shell .production-pronunciation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: var(--cantos-space-sm); align-items: end; }
.studio-shell .production-pronunciation button { margin-block-end: var(--cantos-space-sm); }
.studio-shell .production-snapshot { padding-block: var(--cantos-space-md); }
.studio-shell .production-findings li, .studio-shell .production-rights-list li { padding-block: var(--cantos-space-sm); overflow-wrap: anywhere; }
.studio-shell .production-findings small, .studio-shell .production-rights-list small { display: block; color: var(--cantos-color-on-surface-variant); }
.studio-shell .production-cost dd, .studio-shell .production-snapshot dd { font-variant-numeric: tabular-nums; }
.studio-shell .production-inspector .source-identity { grid-template-columns: minmax(0, 1fr); }
.studio-shell .production-inputs pre { font-size: var(--cantos-type-metadata-size); }
@container studio (max-width: 60rem) { .studio-shell .production-layout { grid-template-columns: minmax(0, 1fr); } .studio-shell .production-inspector { margin-block-start: var(--cantos-space-sm); } }
@container studio (max-width: 36rem) { .studio-shell .production-fields, .studio-shell .production-pronunciation { grid-template-columns: minmax(0, 1fr); } .studio-shell .production-inputs fieldset { padding: var(--cantos-space-sm); } }

/* Component wrappers participate in the app toolbar without changing their anatomy. */
.studio-shell .toolbar > .cui-button-field { max-inline-size: 100%; }
.studio-shell .session-panel { background: var(--cantos-color-surface-container); padding: var(--cantos-space-inset); border-radius: var(--cantos-web-shape-container); }
.studio-shell .authoring-field, .studio-shell .production-field { min-inline-size: 0; }
@container studio (max-width: 36rem) {
  .studio-shell .toolbar > .cui-button-field, .studio-shell .toolbar > .cui-button { inline-size: 100%; }
  .studio-shell .toolbar > .cui-button-field > .cui-button { inline-size: 100%; }
}

.studio-shell .production-unsupported { display: block; margin-block-start: calc(var(--cantos-space-sm) / 2); padding: var(--cantos-space-sm); background: var(--cantos-color-warning-container); color: var(--cantos-color-warning); border-radius: var(--cantos-web-shape-reading); font-weight: 400; overflow-wrap: anywhere; }

/* App-local content workspace: tonal containment, no decorative section borders. */
.studio-shell .live-section, .studio-shell .live-status { margin-block: var(--cantos-space-section); padding: var(--cantos-space-md); background: var(--cantos-color-surface-container); border-radius: var(--cantos-web-shape-container); }
.studio-shell .live-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: var(--cantos-space-md); }
.studio-shell .live-field { min-width: 0; }
.studio-shell .live-field input, .studio-shell .live-field select { width: 100%; }
.studio-shell .live-field textarea { min-height: 7rem; }
.studio-shell .live-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--cantos-space-sm); }
.studio-shell .live-list small { display: block; color: inherit; }
.studio-shell #workspace-content pre { max-height: 24rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }

/* Work delegation (ADR 0028): Low-Medium intensity. The one-time secret is the only warning surface. */
.studio-shell .delegation-panel > p { max-inline-size: 70ch; }
.studio-shell .delegation-panel .live-status, .studio-shell .delegation-grant { background: var(--cantos-color-surface); }
.studio-shell .delegation-panel .live-status { margin-block: var(--cantos-space-md); }
.studio-shell .delegation-panel h4 { margin-block: var(--cantos-space-lg) var(--cantos-space-sm); }
.studio-shell .delegation-panel [tabindex="-1"]:focus-visible { outline: var(--cantos-size-focus-width) solid var(--cantos-color-focus); outline-offset: var(--cantos-size-focus-offset); }
.studio-shell .delegation-problems { margin: 0; padding-inline-start: var(--cantos-space-lg); }
.studio-shell .delegation-problems:empty { display: none; }
.studio-shell :is(.delegation-reveal, .delegation-unrecoverable) { margin-block: var(--cantos-space-md); }
.studio-shell .delegation-notice { min-inline-size: 0; padding: var(--cantos-space-inset); border-radius: var(--cantos-web-shape-reading); background: var(--cantos-color-warning-container); color: var(--cantos-color-warning); overflow-wrap: anywhere; }
.studio-shell .delegation-state { display: inline-flex; align-items: center; padding: var(--cantos-space-xs) var(--cantos-space-sm); border-radius: var(--cantos-web-shape-reading); font-size: var(--cantos-type-metadata-size); }
.studio-shell .delegation-state[data-tone="success"] { background: var(--cantos-color-success-container); color: var(--cantos-color-success); }
.studio-shell .delegation-state[data-tone="warning"] { background: var(--cantos-color-warning-container); color: var(--cantos-color-warning); }
.studio-shell .delegation-state[data-tone="neutral"] { background: var(--cantos-color-surface-container); color: var(--cantos-color-on-surface-variant); }
.studio-shell :is(.delegation-reveal, .delegation-unrecoverable) h4 { margin-block-start: 0; }
/* Overrides the editor-sized `.studio-shell textarea` minimum; three rows fit a 320px token. */
.studio-shell .delegation-token { min-height: 0; inline-size: 100%; resize: none; font-family: ui-monospace, monospace; word-break: break-all; overflow-wrap: anywhere; color: var(--cantos-color-on-surface); background: var(--cantos-color-surface); }
.studio-shell .delegation-actions { display: grid; gap: var(--cantos-space-xs); min-inline-size: 0; margin: var(--cantos-space-md) 0; padding: 0; border: 0; }
.studio-shell .delegation-inputs { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.studio-shell .delegation-actions legend { padding: 0; }
.studio-shell .delegation-grants { display: grid; gap: var(--cantos-space-sm); margin: 0; padding: 0; list-style: none; }
.studio-shell .delegation-grant { min-inline-size: 0; padding: var(--cantos-space-md); border-radius: var(--cantos-web-shape-reading); }
.studio-shell .delegation-grant-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cantos-space-sm); }
.studio-shell .delegation-grant-heading h5 { margin: 0; font-size: var(--cantos-type-title-size); overflow-wrap: anywhere; }
.studio-shell .delegation-grant-actions { display: flex; flex-wrap: wrap; gap: var(--cantos-space-xs) var(--cantos-space-md); margin: var(--cantos-space-sm) 0; padding: 0; list-style: none; }
.studio-shell .delegation-grant code { font-size: var(--cantos-type-metadata-size); overflow-wrap: anywhere; }
.studio-shell .delegation-grant-times { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--cantos-space-xs) var(--cantos-space-md); margin: 0 0 var(--cantos-space-sm); }
.studio-shell .delegation-grant-times dt { font-size: var(--cantos-type-metadata-size); color: var(--cantos-color-on-surface-variant); }
.studio-shell .delegation-grant-times dd { margin: 0; overflow-wrap: anywhere; }

/* Studio-owned entry and writing-desk composition; shared controls retain their anatomy.
   Column widths and breakpoints are local reading geometry, not shared token overrides. */
.studio-shell .studio-header { margin-block-end: var(--cantos-space-xl); }
.studio-shell .studio-brand { inline-size: 10rem; max-inline-size: 100%; }
.studio-shell .studio-brand .cui-logo { inline-size: 100%; block-size: auto; }
.studio-shell .studio-logo-dark { display: none; }
.studio-shell[data-theme="dark"] .studio-logo-light { display: none; }
.studio-shell[data-theme="dark"] .studio-logo-dark { display: block; }
@media (prefers-color-scheme: dark) {
  .studio-shell[data-theme="system"] .studio-logo-light { display: none; }
  .studio-shell[data-theme="system"] .studio-logo-dark { display: block; }
}
.studio-shell .studio-account { max-inline-size: 24rem; }
.studio-shell .studio-account summary { cursor: pointer; padding: var(--cantos-space-sm); }
.studio-shell .studio-entry { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: var(--cantos-space-xl); max-inline-size: 72rem; min-block-size: 70vh; margin-inline: auto; padding-block: var(--cantos-space-xl); }
.studio-shell .entry-story { background: var(--cantos-color-surface-container); color: var(--cantos-color-on-surface); border-radius: var(--cantos-shape-auth-container); overflow: clip; }
.studio-shell .entry-artwork { display: grid; place-items: center; min-block-size: 18rem; background: var(--cantos-color-primary-container); color: var(--cantos-color-on-primary-container); padding: var(--cantos-space-xl); }
.studio-shell .entry-artwork .cui-logo { inline-size: 11rem; block-size: auto; }
.studio-shell .entry-story-copy { padding: var(--cantos-space-xl); }
.studio-shell .entry-story-copy h2 { max-inline-size: 16ch; margin-block: var(--cantos-space-sm); font-family: var(--cantos-type-family-editorial); font-weight: var(--cantos-type-title-weight); }
.studio-shell .entry-eyebrow, .studio-shell .dashboard-eyebrow { color: var(--cantos-color-on-surface-variant); font-size: var(--cantos-type-metadata-size); font-weight: 600; letter-spacing: .08em; }
.studio-shell .entry-form { min-inline-size: 0; padding: var(--cantos-space-lg); }
.studio-shell .entry-form h1 { margin-block: var(--cantos-space-md); }
.studio-shell .entry-form > .cui-button-field { inline-size: 100%; margin-block: var(--cantos-space-lg); }
.studio-shell .entry-form .cui-button[data-variant="auth-primary"] { inline-size: 100%; }
.studio-shell .entry-form .session-controls { display: grid; grid-template-columns: minmax(0, 1fr); }
.studio-shell .entry-recovery { display: flex; flex-wrap: wrap; gap: var(--cantos-space-sm); margin-block-start: var(--cantos-space-md); }
.studio-shell .studio-workbench { display: grid; grid-template-columns: 13.5rem minmax(0, 1fr); gap: var(--cantos-space-xl); align-items: start; }
.studio-shell .studio-workbench > .workspace-nav { flex-direction: column; align-items: stretch; background: var(--cantos-color-surface-container); border-radius: var(--cantos-web-shape-container); padding: var(--cantos-space-md); margin: 0; }
.studio-shell .studio-workbench > .workspace-nav .cui-filter-chip { inline-size: 100%; justify-content: start; white-space: normal; text-align: start; }
.studio-shell .studio-workbench-content { min-inline-size: 0; }
.studio-shell .studio-pane-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cantos-space-md); }
.studio-shell .studio-pane-heading h2 { margin-block: 0; }
.studio-shell .dashboard-heading { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: var(--cantos-space-lg); margin-block-end: var(--cantos-space-xl); }
.studio-shell .dashboard-heading h2 { font-family: var(--cantos-type-family-editorial); font-weight: var(--cantos-type-title-weight); margin-block: 0 var(--cantos-space-sm); }
.studio-shell .dashboard-lead { max-inline-size: 52ch; color: var(--cantos-color-on-surface-variant); }
.studio-shell .dashboard-actions, .studio-shell .dashboard-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cantos-space-sm); }
.studio-shell .dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--cantos-space-lg); }
.studio-shell .dashboard-resume { grid-column: 1 / -1; }
.studio-shell .dashboard-resume h3 { font-family: var(--cantos-type-family-editorial); font-size: var(--cantos-type-title-size); font-weight: var(--cantos-type-title-weight); margin-block: var(--cantos-space-md); }
.studio-shell .dashboard-work-list { list-style: none; margin: 0; padding: 0; }
.studio-shell .dashboard-work-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--cantos-space-md); padding-block: var(--cantos-space-md); }
.studio-shell .dashboard-work-meta { color: var(--cantos-color-on-surface-variant); font-size: var(--cantos-type-metadata-size); }
.studio-shell .studio-dashboard :where(h2, h3, p, code, button) { overflow-wrap: anywhere; }
.studio-shell .studio-dashboard .cui-button { max-inline-size: 100%; white-space: normal; }
@container studio (max-width: 64rem) {
  .studio-shell .studio-workbench { grid-template-columns: minmax(0, 1fr); gap: var(--cantos-space-md); }
  .studio-shell .studio-workbench > .workspace-nav { flex-direction: row; flex-wrap: wrap; }
  .studio-shell .studio-workbench > .workspace-nav > * { flex: 1 1 11rem; }
}
@container studio (max-width: 45rem) {
  .studio-shell .studio-entry { grid-template-columns: minmax(0, 1fr); min-block-size: auto; padding-block: var(--cantos-space-md); }
  .studio-shell .entry-story { display: none; }
  .studio-shell .entry-form { padding: var(--cantos-space-sm); }
  .studio-shell .dashboard-grid { grid-template-columns: minmax(0, 1fr); }
  .studio-shell .dashboard-resume { grid-column: auto; }
  .studio-shell .studio-header { align-items: start; margin-block-end: var(--cantos-space-lg); }
  .studio-shell .studio-header > .toolbar { flex: 1 1 100%; }
  .studio-shell .dashboard-actions > *, .studio-shell .dashboard-tools > * { flex: 1 1 12rem; }
}

/* Narrow navigation keeps all mounted workspaces reachable without a tall control rail. */
.studio-shell .workspace-nav-compact { display: none; }
.studio-shell .workspace-nav-wide { display: flex; flex-direction: column; gap: var(--cantos-space-sm); }
.studio-shell .entry-form h1, .studio-shell .entry-story-copy h2 { font: var(--cantos-type-auth-heading-weight) var(--cantos-type-auth-heading-size)/var(--cantos-type-auth-heading-line-height) var(--cantos-type-family-editorial); }
.studio-shell .dashboard-heading > div > h2 { font-size: var(--cantos-type-headline-size); font-weight: var(--cantos-type-headline-weight); line-height: var(--cantos-type-headline-line-height); }
.studio-shell [tabindex="-1"]:focus-visible { outline: var(--cantos-size-focus-width) solid var(--cantos-color-focus); outline-offset: var(--cantos-size-focus-offset); }
.studio-shell .dashboard-grid { align-items: start; }
.studio-shell .dashboard-works .dashboard-heading { margin-block-end: var(--cantos-space-md); align-items: center; }
.studio-shell .dashboard-tools { grid-column: 1 / -1; }
@container studio (max-width: 64rem) {
  .studio-shell .workspace-nav-wide { flex-direction: row; flex-wrap: wrap; }
  .studio-shell .workspace-nav-wide > * { flex: 1 1 11rem; }
}
@container studio (max-width: 45rem) {
  .studio-shell .workspace-nav-wide { display: none; }
  .studio-shell .workspace-nav-compact { display: block; min-inline-size: 0; inline-size: 100%; }
  .studio-shell .studio-workbench > .workspace-nav { padding: var(--cantos-space-sm); }
}
