.story-search { padding: 0 24px; min-width: 0; }
.navigation-search > .story-search { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.navigation-search .story-search__results { max-height: none; overflow: visible; }
.story-search__bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 10px; }
.story-search__field { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 48px; margin: 0; border-radius: 10px; padding: 0 14px; }
.story-search__field input { flex: 1; width: 0; min-width: 0; min-height: 46px; margin: 0; padding: 10px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-weight: 400; }
.story-search__field > i { flex: none; color: var(--green); font-size: 1.125rem; }
.story-search__submit.button { border-color: var(--button-face); translate: none; }
.story-search__submit.button:is(:hover, :active) { border-color: var(--button-hover); box-shadow: none; translate: none; }
.story-search__submit.button:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.story-search__filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 8px; }
.story-search__filters button, .story-create__types button { border: 0; background: transparent; color: var(--green); font: inherit; font-size: var(--text-base); border-radius: 8px; padding: 9px 12px; cursor: pointer; min-height: 44px; }
.story-search__filters button { border: 1px solid var(--line); border-radius: var(--radius-pill); color: var(--muted); }
.story-search__filters button:hover { background: var(--sage); color: var(--green); }
.story-search__filters button[aria-pressed=true] { background: var(--sage); border-color: var(--green); color: var(--green); font-weight: 600; }
.story-search__results { max-height: min(55vh, 550px); overflow-y: auto; overscroll-behavior: contain; padding-bottom: 8px; }
.story-results-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 16px 0 8px; font-size: var(--text-card); }
.story-result-count { display: inline-flex; flex: none; align-items: center; justify-content: center; min-width: 2rem; min-height: 2rem; padding: .25rem .6rem; border-radius: var(--radius-pill); background: var(--sage); color: var(--green); font: 600 var(--text-base)/1 var(--font-ui); font-variant-numeric: tabular-nums; letter-spacing: normal; }
.story-result-list { display: grid; gap: 12px; }
.story-result { display: block; min-width: 0; color: var(--ink); border: 1px solid var(--line); border-radius: 12px; padding: 14px; text-decoration: none; background: var(--surface); box-shadow: 0 2px 6px color-mix(in srgb,var(--shadow-color) 3.1%,transparent); text-align: left; font: inherit; overflow-wrap: anywhere; cursor: pointer; }
.story-result:hover { background: var(--surface-soft); border-color: var(--green); }
.story-result:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }
.story-result h4 { font-size: var(--text-base); margin: 6px 0; }
.story-result p { margin: 4px 0; line-height: 1.5; color: var(--muted); }
.story-result small { color: var(--muted); }
.story-result-highlight { background: var(--peach); color: var(--ink); font-weight: 600; border-radius: 3px; padding: 0 .08em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.story-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 12px 0; font-size: var(--text-base); }
.story-feedback { font-size: var(--text-small); color: var(--muted); margin: 8px 0; }
.story-feedback:empty { display: none; }
.story-panel { position: fixed; inset: calc(var(--header-height) + 12px) 16px 16px auto; width: min(27rem, calc(100vw - 32px)); max-width: none; height: auto; max-height: calc(100dvh - var(--header-height) - 28px); margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); color: var(--ink); box-shadow: 0 12px 50px color-mix(in srgb,var(--shadow-color) 14.5%,transparent); z-index: 160; overflow: hidden; }
.story-panel[open] { display: flex; flex-direction: column; }
.story-panel::backdrop { background: var(--scrim); }
.story-panel__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 20px 12px; flex: none; border-bottom: 1px solid var(--line); }
.story-panel__heading > div { min-width: 0; }
.story-panel__heading .eyebrow { color: var(--muted); margin: 0 0 4px; overflow-wrap: anywhere; font-size: var(--text-small); }
.story-panel__heading h2 { margin: 0; overflow-wrap: anywhere; font-size: var(--text-card); }
.story-panel > .story-feedback { margin: 8px 20px; }
.story-panel__content { flex: 1; min-height: 0; padding: 20px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.story-panel__content h3 { margin: 8px 0 14px; font-size: var(--text-section); overflow-wrap: anywhere; }
.story-panel__content h4 { font-size: var(--text-base); margin: 18px 0 8px; }
.story-panel__content p, .story-panel__content blockquote { overflow-wrap: anywhere; line-height: 1.6; }
.story-panel__content form { margin: 0; }
.story-panel__content form > div { margin-bottom: 16px; }
.story-panel__content :is(input,textarea,select) { min-width: 0; max-width: 100%; }
.story-panel__content textarea { resize: vertical; min-height: 110px; }
.story-panel__content form label { font-size: var(--text-base); }
.story-panel__content .form-help { font-size: var(--text-small); }
.story-panel__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; }
.story-card__identity { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.story-card__identity h4 { margin: 0; }
.story-card__image { display: block; max-width: 100%; max-height: 250px; object-fit: contain; border-radius: 8px; margin: 14px 0; }
.story-card-links { margin-block: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.story-card-links > div:not(:first-child) { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; }
.story-card-links a { min-width: 0; overflow-wrap: anywhere; }
.story-card-links small { display: block; color: var(--muted); }
.story-card-links .header-tool[data-unlink-url] { color:var(--error); }
.story-card-links .header-tool[data-unlink-url]:is(:hover,:focus-visible) { color:var(--error-hover); background:var(--error-bg); }
.story-card-details { padding-block: 14px; border-top: 1px solid var(--line); }
.story-card-details summary { cursor: pointer; color: var(--green); min-height: 32px; }
.story-card-details[open] > div { margin-top: 14px; }
.story-occurrence { display: grid; gap: 6px; padding: 12px 0; color: var(--green); text-decoration: none; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.story-occurrence:hover strong { text-decoration: underline; }
.story-occurrence span { color: var(--muted); line-height: 1.5; }
.story-create__types { display: grid; gap: 6px; }
.story-create__types button { text-align: left; background: var(--sage); padding: 16px; }
.story-panel__pending { border-top: 1px solid var(--line); padding: 16px 20px; background: var(--warning-bg); color:var(--warning); flex: none; }
.story-panel__pending p { margin: 0 0 10px; }
.story-panel__pending button { margin-right: 8px; }
.card-terms-chips, .story-terms-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.story-term, .story-terms-list span { border: 0; border-radius: 7px; padding: 7px 10px; background: var(--sage); color: var(--green); font: inherit; font-size: var(--text-small); overflow-wrap: anywhere; }
.story-term { cursor: pointer; min-height: 36px; }
.card-terms [data-card-terms-target=editor] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.card-terms-chips { flex-basis: 100%; }
.card-terms [data-card-terms-target=entry] { width: auto; flex: 1; min-width: 150px; }
.card-terms [hidden], .story-panel [hidden], .story-selection[hidden] { display: none !important; }
.story-editor-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; padding: 10px 16px; font-size: var(--text-small); background: var(--paper); border-bottom: 1px solid var(--line); }
.story-editor-bar label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font: inherit; }
.story-editor-bar input[type=checkbox] { width: 18px; height: 18px; margin: 0; }
.story-editor-bar .story-editor-search { min-height: 40px; margin-left: auto; padding: 8px 12px; gap: 8px; border-color: var(--green); background: var(--sage); color: var(--green); font-size: var(--text-small); font-weight: 600; box-shadow: none; translate: none; }
.story-editor-bar .story-editor-search:is(:hover, :active) { background: var(--paper); color: var(--green); border-color: var(--green); box-shadow: none; translate: none; }
.story-editor-bar .story-feedback { flex-basis: 100%; margin: 0; }
.story-selection { position: fixed; bottom: max(28px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); max-width: calc(100vw - 32px); display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px; padding: 6px; z-index: 110; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); box-shadow: 0 8px 32px color-mix(in srgb,var(--shadow-color) 12.5%,transparent); }
.story-selection button { background: transparent; color: var(--green); border: 0; border-radius: 7px; font: inherit; font-size: var(--text-base); min-height: 44px; padding: 8px 12px; cursor: pointer; }
.story-selection button:hover { background: var(--sage); }
.story-marker-layer { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.story-marker { position: absolute; background: color-mix(in srgb, var(--atelier-color, var(--green)) 12%, transparent); border-bottom: 2px solid var(--atelier-color, var(--green)); border-radius: 3px; pointer-events: none; }
.story-marker--note { background: color-mix(in srgb, var(--info) 12%, transparent); border-bottom-color: var(--info); }
.manuscript-surface.ql-container { position: relative; }
.writing-focus .story-panel { top: 12px; max-height: calc(100dvh - 28px); }
@media (min-width: 1200px) {
    body.story-panel-open .page-content,
    body.story-panel-open .page-content:has(.document-workspace) { padding-inline-end: calc(27rem + var(--page-gutter)); }
    body.story-panel-open .document-tools-open .document-layout { grid-template-columns: minmax(0,var(--atelier-width,900px)); }
    body.story-panel-open .document-tools { display: none; }
}
@media (max-width: 1199px) {
    .story-panel { inset: max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); width: auto; max-height: calc(100dvh - 24px); }
    .story-panel__heading, .story-panel__content { padding: 16px; }
    .story-panel__content { scrollbar-gutter: auto; }
}
@media (max-width: 760px) {
    .story-search { padding-inline: 16px; }
    .story-selection { bottom: max(86px,calc(env(safe-area-inset-bottom) + 72px)); width: max-content; }
    .story-editor-bar { gap: 8px; }
}
@media (max-width: 520px) {
    .story-search__bar { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .story-search__submit.button { width: 100%; }
    .story-editor-bar .story-editor-search { width: 100%; min-height: 44px; }
}
@media print { .story-marker-layer, .story-editor-bar, .story-selection { display: none !important; } }
