/* Shared local content editor reader; scoped to avoid formal/legacy page changes. */
.content-reader-body { color:#392b20; min-width:0; }
.content-detail { min-width:0; }
.content-detail h2 { color:#603b25; margin:.3rem 0 1rem; font-size:clamp(1.6rem,4vw,2.4rem); text-wrap:balance; overflow-wrap:anywhere; }
.content-detail h3 { color:#603b25; font-size:1.15rem; margin:0 0 .6rem; }
.content-kicker { color:#7c5735; font-size:.78rem; letter-spacing:.12em; }
.content-summary { line-height:1.8; max-width:65ch; margin:0 0 1.5rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.content-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.25rem 0; }
.content-gallery--single { grid-template-columns:minmax(0,40rem); justify-content:center; }
.content-gallery--dish.content-gallery--single { grid-template-columns:minmax(0,24rem); }
.content-media { min-width:0; margin:0; }
.content-media img,.content-media video { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; background:#1d3029; border:1px solid #986e40; padding:4px; box-sizing:border-box; }
.content-media video { aspect-ratio:16/9; }
.content-media--video { grid-column:1/-1; }
.content-media figcaption { padding:.6rem .2rem; font-size:.85rem; line-height:1.6; color:#76563a; white-space:pre-wrap; overflow-wrap:anywhere; }
/* Storefront detail: one selected, uncropped view, then an honest thumbnail rail. */
.content-showcase { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(15rem,1fr); gap:clamp(1.4rem,3vw,2.5rem); align-items:start; }
.content-showcase--without-media { grid-template-columns:minmax(0,1fr); }
.content-showcase-gallery { min-width:0; --viewer-max-height:min(65dvh,36rem); }
.content-showcase-stage { display:flex; justify-content:center; align-items:flex-start; min-width:0; }
.content-showcase-frame { --media-ratio:1.777778; width:min(100%,calc(var(--viewer-max-height) * var(--media-ratio))); max-width:100%; margin:0; border:1px solid #9b7545; box-shadow:0 2px 9px #59381d26; background:transparent; }
.content-showcase-frame :is(img,video) { display:block; width:100%; height:auto; max-width:100%; margin:0; padding:0; border:0; aspect-ratio:auto; object-fit:contain; background:transparent; }
.content-showcase-frame video { aspect-ratio:var(--media-ratio); object-fit:cover; object-position:center top; }
.content-image-open { display:block; position:relative; width:100%; border:0; padding:0; background:transparent; color:#fff3d7; cursor:zoom-in; }
.content-image-hint { position:absolute; right:.55rem; bottom:.55rem; padding:.3rem .5rem; border:1px solid #dac59899; background:#37291dde; color:#fff3d7; font-size:.75rem; line-height:1.4; opacity:0; transition:opacity .18s; }
.content-image-open:is(:hover,:focus-visible) .content-image-hint { opacity:1; }
.content-media-thumbnails { display:flex; gap:.55rem; overflow-x:auto; padding:.65rem .1rem .5rem; scrollbar-width:thin; scrollbar-color:#9c7445 #e9d4aa; scroll-snap-type:x proximity; }
.content-media-thumbnail { position:relative; display:block; flex:0 0 clamp(5.6rem,10vw,8rem); aspect-ratio:16/9; padding:0; border:2px solid #bba077; border-radius:0; background:#4b3824; color:#fff2d6; cursor:pointer; overflow:hidden; scroll-snap-align:center; }
.content-media-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; opacity:.86; transition:opacity .18s; }
.content-media-thumbnail:is(:hover,[aria-pressed="true"]) img { opacity:1; }
.content-media-thumbnail[aria-pressed="true"] { border-color:#803c2d; box-shadow:0 0 0 1px #803c2d; }
.content-media-thumbnail-label { position:absolute; left:0; right:0; bottom:0; background:#302317ce; color:#fff2d6; font:inherit; font-size:.68rem; line-height:1.5; text-align:center; }
.content-media-play { position:absolute; inset:0; display:grid; place-items:center; color:#fff6dc; font-size:1.5rem; text-shadow:0 1px 5px #241608; padding-bottom:.4rem; }
.content-showcase-caption { color:#76563a; font-size:.86rem; line-height:1.65; margin:.25rem 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.content-gallery-status:empty { display:none; }
.content-showcase-info { min-width:0; padding:.15rem 0 1rem; }
.content-showcase-info :is(h1,h2) { color:#603b25; font-size:clamp(1.55rem,2.7vw,2.2rem); line-height:1.35; margin:0 0 1rem; text-wrap:balance; overflow-wrap:anywhere; }
.content-showcase-info .content-summary { font-size:.96rem; line-height:1.85; margin:0 0 1.25rem; }
.content-showcase-actions { display:grid; gap:.8rem; }
.content-showcase-actions .content-entry { display:flex; width:100%; box-sizing:border-box; justify-content:center; text-align:center; margin:0; min-height:3rem; white-space:normal; line-height:1.5; }
.content-showcase-actions .content-message { margin:0; }
.content-showcase-actions .content-message:empty { display:none; }
.content-showcase-gallery :is(button,a):focus-visible,.content-showcase-actions :is(button,a):focus-visible { outline:3px solid #9e492e; outline-offset:3px; }
.content-image-dialog { width:min(96vw,90rem); max-width:96vw; max-height:94dvh; box-sizing:border-box; padding:.7rem; border:2px solid #a8834e; background:#f0dfb9; color:#4d3521; box-shadow:0 1rem 4rem #1b130b99; }
.content-image-dialog::backdrop { background:#18110be6; }
.content-image-toolbar { display:flex; justify-content:flex-end; gap:.6rem; padding:0 0 .65rem; }
.content-image-control { min-height:44px; padding:.4rem .85rem; border:1px solid #967044; background:#753d2b; color:#fff0d2; font:inherit; cursor:pointer; }
.content-image-control:focus-visible { outline:3px solid #ae672b; outline-offset:3px; }
.content-image-viewport { max-height:calc(94dvh - 5rem); overflow:auto; text-align:center; }
.content-image-viewport img { display:block; width:auto; height:auto; max-width:100%; max-height:calc(94dvh - 5rem); margin:0 auto; object-fit:contain; }
.content-image-dialog--original .content-image-viewport { text-align:left; }
.content-image-dialog--original .content-image-viewport img { max-width:none; max-height:none; margin:0; }
@media(max-width:760px) {
  .content-showcase { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
  .content-showcase-gallery { --viewer-max-height:min(65dvh,30rem); }
  .content-showcase-info { padding:0; }
  .content-media-thumbnail { flex-basis:6.25rem; }
  .content-image-hint { opacity:1; }
}
@media(prefers-reduced-motion:reduce) { .content-image-hint,.content-media-thumbnail img { transition:none; } }
.content-media-error,.content-hidden-state { padding:1.5rem; border:1px dashed #b08c59; color:#755235; background:#ecd6ae; line-height:1.8; }
.content-date { color:#825a36; font-size:.9rem; margin:1rem 0; }
.content-text-block { border-top:1px solid #b6966266; padding-top:1.4rem; margin-top:1.5rem; }
.content-prose { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.9; margin:0; }
.content-entry { display:inline-flex; margin-top:1.5rem; max-width:100%; }
.content-access { border:1px solid #b18c51; background:#e5c99655; padding:1.25rem; margin:1.25rem 0; }
.content-access p { line-height:1.7; }
.content-request-form textarea { display:block; width:100%; box-sizing:border-box; border:1px solid #a27c4e; border-radius:0; padding:.8rem; background:#fff6de; color:#392b20; margin:.7rem 0; font:inherit; resize:vertical; min-height:5rem; }
.content-message { color:#8a3629; font-size:.9rem; overflow-wrap:anywhere; }
.content-library-section { margin-top:2.5rem; }
.content-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
.content-library-card { border:1px solid #9d7845; background:#203a30; min-width:0; box-shadow:inset 0 0 0 3px #322d22; }
.content-card-open { display:block; width:100%; padding:0; text-align:left; background:none; color:inherit; border:0; border-radius:0; cursor:pointer; font:inherit; }
.content-card-cover { aspect-ratio:4/3; background:#182b24; display:grid; place-items:center; overflow:hidden; color:#d7bb87; margin:5px 5px 0; }
.content-card-cover img { display:block; width:100%; height:100%; object-fit:contain; }
.content-card-symbol { font-family:'STKaiti','KaiTi',serif; font-size:1.8rem; color:#c8a56c; letter-spacing:.12em; }
.content-card-copy { padding:1.15rem 1.25rem; }
.content-card-copy h3 { color:#efdbb2; font-size:1.1rem; margin:0 0 .6rem; overflow-wrap:anywhere; }
.content-card-copy p { color:#d7c5a5; font-size:.9rem; line-height:1.75; margin:0; overflow-wrap:anywhere; }
.content-card-label { display:inline-block; color:#937044; font-size:.8rem; margin-top:.6rem; }
.content-library-card .content-card-label { color:#d5b888; }
.content-edit-link { display:inline-flex; min-height:44px; align-items:center; margin:0 1.25rem .6rem; color:#e8c991; text-decoration:underline; text-underline-offset:5px; }
.content-studio-entry { padding:1.5rem; border:1px solid #b18a50; background:linear-gradient(110deg,#18392c,#284533); margin-bottom:1.5rem; display:flex; gap:1.5rem; align-items:center; justify-content:space-between; }
.content-studio-entry h2 { color:#f1d7a0; margin:0 0 .4rem; }
.content-studio-entry p { color:#d6c5a1; margin:0; line-height:1.7; }
.content-studio-entry a { white-space:nowrap; flex-shrink:0; }
.content-approval-row { padding:1rem 0; border-bottom:1px solid #a9844e66; display:flex; gap:1.2rem; justify-content:space-between; align-items:center; }
.content-approval-row h3 { margin:0 0 .5rem; color:#603b25; font-size:1rem; overflow-wrap:anywhere; }
.content-approval-row p { margin:.3rem 0; line-height:1.7; overflow-wrap:anywhere; }
.content-approval-row>div:first-child { min-width:0; }
.content-approval-resource { color:#8a643d; font-size:.85rem; }
.content-approval-actions { display:flex; flex-wrap:wrap; gap:.5rem; flex-shrink:0; }
.content-library-feedback { padding:1rem; border:1px solid #b18a50; background:#f3dfb7; color:#723b2a; line-height:1.6; margin:1rem 0; }
.content-library-feedback[hidden],.content-library-section[hidden] { display:none; }
#content-reader { width:min(900px,calc(100vw - 2rem)); }
.content-reader-body :is(a,button,textarea):focus-visible,.content-library-section :is(a,button):focus-visible { outline:3px solid #b37b2d; outline-offset:4px; }
@media(max-width:900px){.content-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.content-studio-entry{align-items:flex-start;flex-direction:column;}.content-approval-row{align-items:flex-start;flex-direction:column;}}
@media(max-width:600px){.content-library-grid,.content-gallery{grid-template-columns:minmax(0,1fr);}.content-gallery--single,.content-gallery--dish.content-gallery--single{grid-template-columns:minmax(0,1fr);}.content-access{padding:1rem;}.content-studio-entry{padding:1.2rem;}}
/* New server feedback remains inside the approved cabin and parchment surfaces. */
.content-request-cover{display:block;width:min(100%,24rem);max-height:24rem;object-fit:contain;margin:1rem 0;}
[data-content-detail] .content-detail{padding:1rem;}
.content-card-open,.section-content-open{text-decoration:none;}
.tool-launch-link:is(button){font:inherit;text-align:left;cursor:pointer;width:100%;}
.tool-media-panel img{height:auto;max-height:36rem;object-fit:contain;}
.studio [data-generated-teaser] label{display:grid;gap:.4rem;margin:.8rem 0;}
.studio-media-thumb>span{color:#ead7b1;text-align:center;}
/* Screening works keep the existing parchment, with one uncropped portrait player. */
.content-detail--screening { max-width:60rem; margin:0 auto; }
.content-detail--screening .content-kicker { font-size:clamp(1.4rem,2.6vw,1.85rem); line-height:1.4; letter-spacing:.08em; font-weight:700; margin:0 0 .55rem; color:#684326; }
.content-detail--screening h1,.content-detail--screening h2 { color:#603b25; margin:.3rem 0 1rem; font-size:clamp(1.5rem,2.7vw,1.9rem); line-height:1.4; overflow-wrap:anywhere; }
.content-detail--screening .content-summary { max-width:58ch; }
.content-detail--screening .screening-player { width:min(100%,26rem,43.875dvh); margin:1.5rem auto; }
.content-detail--screening .screening-player :is(video,img) { width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; padding:4px; background:#211b18; }
.content-detail--screening .screening-player video { max-height:78dvh; }
.screening-card-kicker { display:block; margin:0 0 .35rem; color:#7c5735; font-size:1rem; line-height:1.5; letter-spacing:.08em; }
.content-card-copy .screening-card-kicker { color:#d5b888; }
