/* Shared geometry and reading defaults. The illustrated logo is unchanged.
   Creator-authored HTML/CSS remains inside its existing isolated iframe. */
:root {
  --sans: var(--cy-body-font);
  /* Legacy display rules still refer to this name; it now selects sans-serif. */
  --serif: var(--cy-display-font);
  font-family: var(--cy-body-font);
}

/* Explicitly scoped: do not flatten checkboxes, switches, range tracks,
   circular action icons, or creator-authored profile styles. */
body :is(.member-header-actions, .cy-workshop-actions, .cy-library-tools,
  .workshop-folder-rail, .workshop-project-actions, .cy-inspector-actions,
  .character-nav, .character-import-tools, .cy-editor-toolbar,
  .conversation-controls, .chat-generation-panel, .persona-picker,
  .opening-picker, .conversation-tracker-actions, .studio-nav)
  :is(button, select, input:not([type=range]):not([type=checkbox]):not([type=radio]), a) {
  border-radius: var(--cy-radius-sm);
}
body .character-workshop button:not(.primary-button):not([data-character-panel-button]),
body .character-form-panel :is(input:not([type=radio]):not([type=checkbox]):not([type=range]), textarea, select),
body .edit-panel :is(input:not([type=radio]):not([type=checkbox]):not([type=range]), textarea, select),
body .character-save-actions .primary-button,
body :is(.primary-button, .character-new-conversation, .provider-funds>summary,
  .character-room-compose textarea, .character-room-compose button),
body dialog :is(button, select, textarea, input:not([type=radio]):not([type=checkbox]):not([type=range])) {
  border-radius: var(--cy-radius-sm);
}

body :is(.cy-story-card, .cy-genres a, .workshop-project-card,
  .character-preview, .conversation-library-list>a, .conversation-library-draft,
  .public-story-list>a, .character-room-log .character-chat-bubble) {
  border-radius: var(--cy-radius);
  border-width: var(--cy-border-width);
  box-shadow: var(--cy-shadow-card);
}
body :is(.workshop-folder-rail, .workshop-projects, .cy-workshop-inspector,
  .character-rail, .character-form-panel, .character-chat-sidebar,
  .character-live-chat, .character-room-hero, .character-definition,
  .cy-empty, .cy-workshop-banner, .provider-funds-panel) {
  border-radius: var(--cy-radius-lg);
  border-width: var(--cy-border-width);
  box-shadow: var(--cy-shadow-panel);
}
/* Clip only painted corners, not whole form panels or their focus rings. */
body .character-live-chat>header {
  border-radius: calc(var(--cy-radius-lg) - var(--cy-border-width))
    calc(var(--cy-radius-lg) - var(--cy-border-width)) 0 0;
}
body .character-live-chat>.character-room-compose {
  border-radius: 0 0 calc(var(--cy-radius-lg) - var(--cy-border-width))
    calc(var(--cy-radius-lg) - var(--cy-border-width));
}
body .cy-workshop-inspector img { border-radius: var(--cy-radius); }
body :is(.workshop-context-menu, .character-form-panel .surface-note,
  .character-form-panel .choice, .character-form-panel fieldset,
  .character-import-tools, .chat-background-choices label,
  .chat-background-upload>label, .character-image-field, .character-image-drop) {
  border-radius: var(--cy-radius);
}
body dialog:not(.site-nav-drawer) {
  border-radius: var(--cy-radius-modal);
  border-width: var(--cy-border-width);
  box-shadow: var(--cy-shadow-modal);
  overflow: auto;
}
body dialog:not(.site-nav-drawer)>:first-child {
  border-start-start-radius: calc(var(--cy-radius-modal) - var(--cy-border-width));
  border-start-end-radius: calc(var(--cy-radius-modal) - var(--cy-border-width));
}
/* The full-height drawer keeps its existing non-animated opening behavior. */
body .site-nav-drawer, body .site-nav-drawer-panel {
  border-radius: var(--cy-radius-modal) 0 0 var(--cy-radius-modal);
}
body :is(.cy-tags span, .character-preview-tags span, .character-room-meta span,
  .workshop-project-art>b, .save-state, .cy-search) {
  border-radius: var(--cy-radius-pill);
}

/* Reuse the 4px spacing scale without shrinking established touch targets. */
.cy-library-tools, .cy-view-toggle, .cy-inspector-actions { gap: var(--cy-space-2); }
.cy-tags { gap: var(--cy-space-2); }
.workshop-library-layout, .workshop-project-grid { gap: var(--cy-space-3); }
.character-room, .character-workshop, .character-chat-room { gap: var(--cy-space-4); }
.cy-story-shelf { gap: var(--cy-space-4); }
.cy-card-copy, .workshop-project-card>div, .cy-workshop-inspector { padding: var(--cy-space-4); }
.character-form-panel { padding: var(--cy-space-6); }
.cy-inspector-actions { margin-top: var(--cy-space-6); }
.workshop-dialog>form { padding: var(--cy-space-6); }

/* Display personality comes from hierarchy, not a different reading alphabet. */
body :is(.cy-home-hero h1, .cy-page-heading h1, .workshop-library-hero h1,
  .character-room-copy h1, .cy-workshop-inspector h2, .character-preview-body h2,
  .character-rail h1, .cy-workshop-banner h2, .cy-home-section h2) {
  font-family: var(--cy-display-font);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.025em;
}
body :is(.cy-card-copy h3, .workshop-project-card h3) {
  font-family: var(--cy-display-font);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.015em;
}
.cy-home-hero em { font-style: normal; }

/* Comfortable reading at 100%, still honoring the existing text-size slider.
   Code remains monospace; authored emphasis and Markdown structure survive. */
.character-room-log .character-chat-bubble .story-markdown {
  font-family: var(--cy-body-font);
  font-size: calc(1rem * var(--chat-text-scale, 1));
  line-height: 1.75;
  letter-spacing: normal;
  text-align: start;
  overflow-wrap: anywhere;
  max-inline-size: 70ch;
}
.character-room-log .character-chat-bubble .story-markdown :is(p, li, blockquote) {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.character-room-log .character-chat-bubble .story-markdown p+p {
  margin-block-start: .85em;
}
.character-room-log .character-chat-bubble .story-markdown :is(pre, code) {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}
.character-room-compose textarea { font-family: var(--cy-body-font); font-size: 1rem; }
@media (max-width: 760px) {
  .character-form-panel { padding: var(--cy-space-4); }
  .character-room, .character-workshop, .character-chat-room { gap: var(--cy-space-3); }
}

/* Account surfaces follow the same rounded geometry as the creative workspace. */
.settings-card {
  min-width: 0;
  border-radius: 12px;
  background: linear-gradient(145deg, #191626, #100f1d);
}
.settings-icon, .settings-notice, .connection-action, .connection-state,
.delete-confirmation form, .delete-confirmation input, .danger-button {
  border-radius: 8px;
}
.settings-copy, .settings-footnote { color: var(--muted); }
.settings-card-heading, .connection-row { border-color: var(--line); }

.conversation-save-panel select { width: 100%; min-width: 0; border-radius: 8px; padding: .6rem; color: var(--paper); background: #100f1d; border: 1px solid var(--line); }
.conversation-shared-link { display: grid; gap: .4rem; }
.conversation-shared-link small { color: var(--muted); }
