/*
  EDGE JOURNAL / KULTURURBANA PHOTO ARCHIVE
  Visual system derived from the existing .BLOG OS reader:
  navy #080d14/#111e2e, optical blue #4a9dff, thin chrome borders,
  mono metadata, system-panel spacing. No secondary visual theme.
*/
body.kultura-os-is-open { overflow: hidden !important; }
body.edge-os-enabled.article-page .ef-document-gallery.is-kultura-collection { display: block !important; }
body.edge-os-enabled.article-page .ef-document-gallery.is-kultura-collection .ef-document-thumbnails { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.edge-os-enabled.article-page .is-kultura-collection .ef-document-thumbnail { border-radius: 4px; }
body.edge-os-enabled.article-page .kultura-gallery-teaser { margin: 10px 0 0; color: #89a6c5; font: 500 11px/1.5 var(--ef-doc-mono, monospace); }
body.edge-os-enabled.article-page .kultura-gallery-launch { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-top: 14px; min-height: 42px; padding: 10px 12px; border: 1px solid #4a9dff; border-radius: 3px; color: #ebf6ff; background: rgba(74,157,255,.11); font: 750 11px/1.4 var(--ef-doc-mono, monospace); letter-spacing: .04em; cursor: pointer; text-align: left; }
body.edge-os-enabled.article-page .kultura-gallery-launch:hover, body.edge-os-enabled.article-page .kultura-gallery-launch:focus-visible { outline: 2px solid rgba(140,196,255,.33); outline-offset: 2px; background: rgba(74,157,255,.18); }
body.edge-os-enabled.article-page .kultura-gallery-inline-meta { display: grid; gap: 4px; margin: 14px 0 0; padding: 11px; border: 1px solid rgba(145,177,215,.19); background: #0a121c; color: #9fbad5; font: 500 10px/1.5 var(--ef-doc-mono, monospace); }
body.edge-os-enabled.article-page .kultura-gallery-inline-meta strong { color: #f2f7fe; font-size: 11px; }
.kultura-os-overlay[hidden] { display: none !important; }
.kultura-os-overlay { --kg-line: rgba(140,190,238,.20); --kg-ink: #e4f0fc; --kg-muted: #91abc8; --kg-blue: #82bfff; position: fixed !important; z-index: 10020 !important; inset: 0 !important; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(1,5,10,.85); backdrop-filter: blur(9px); color: var(--kg-ink); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.kultura-os-window { width: min(1530px, 100%); height: min(940px, calc(100dvh - 40px)); display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; border: 1px solid rgba(131,182,230,.48); border-radius: 8px; background: #0a111a; box-shadow: 0 28px 100px rgba(0,0,0,.64), inset 0 1px 0 rgba(179,217,255,.09); }
.kultura-os-window.is-maximized { width: 100%; height: 100%; border-radius: 3px; }
.kultura-os-titlebar { flex: 0 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 46px; padding: 7px 12px 7px 16px; background: linear-gradient(90deg,#1a3046,#112033 62%,#122439); border-bottom: 1px solid var(--kg-line); }
.kultura-os-title { display: flex; align-items: center; gap: 9px; min-width: 0; font: 750 11px/1.35 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .035em; }
.kultura-os-title span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kultura-os-title .kultura-os-live { width: 7px; height: 7px; flex: none; border-radius: 50%; background: #74ca9a; box-shadow: 0 0 0 4px rgba(116,202,154,.1); }
.kultura-os-actions { display: flex; gap: 6px; flex: none; }
.kultura-os-actions button, .kultura-os-nav button, .kultura-os-browse-more { display: inline-grid; place-items: center; min-width: 35px; min-height: 31px; padding: 5px 9px; border: 1px solid var(--kg-line); border-radius: 3px; background: rgba(127,180,231,.08); color: #dcecff; cursor: pointer; }
.kultura-os-actions button:hover, .kultura-os-nav button:hover, .kultura-os-browse-more:hover { background: rgba(127,180,231,.19); border-color: rgba(127,180,231,.6); }
.kultura-os-actions .kultura-os-close:hover { background: #812d42; border-color: #c65b70; }
.kultura-os-toolbar { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 8px 15px; border-bottom: 1px solid var(--kg-line); background: #0c1725; }
.kultura-os-breadcrumbs { min-width: 0; color: #8babca; font: 650 10px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .025em; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.kultura-os-breadcrumbs b { color: #e5f3ff; font-weight: 750; }
.kultura-os-count { flex: none; color: #86cbff; font: 700 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.kultura-os-columns { flex: 1 1 auto; display: grid; grid-template-columns: minmax(240px,285px) minmax(0,1fr) minmax(225px,260px); min-height: 0; min-width: 0; }
.kultura-os-browser { display: flex; flex-direction: column; min-width: 0; min-height: 0; border-right: 1px solid var(--kg-line); background: #0b1624; }
.kultura-os-browser-head { display: grid; gap: 9px; padding: 14px; border-bottom: 1px solid var(--kg-line); }
.kultura-os-browser-head label { color: #95b9db; font: 700 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; }
.kultura-os-filter { width: 100%; min-width: 0; min-height: 35px; border: 1px solid rgba(147,188,227,.29); border-radius: 3px; color: #eff8ff; background: #09101a; padding: 7px 10px; font: 500 12px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; }
.kultura-os-filter::placeholder { color: #6585a4; }
.kultura-os-filter:focus-visible { outline: 2px solid var(--kg-blue); outline-offset: 1px; }
.kultura-os-grid-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 11px; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #3a5573 transparent; }
.kultura-os-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.kultura-os-tile { position: relative; display: block; padding: 0; min-width: 0; border: 1px solid rgba(147,188,227,.23); border-radius: 3px; overflow: hidden; background: #080f19; cursor: pointer; color: #dcefff; text-align: left; }
.kultura-os-tile[aria-pressed='true'] { border-color: #8acaff; box-shadow: 0 0 0 1px #4a9dff; }
.kultura-os-tile:focus-visible { outline: 2px solid #8acaff; outline-offset: 2px; }
.kultura-os-tile img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #050910; }
.kultura-os-tile span { display: block; padding: 5px 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 650 10px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.kultura-os-browse-more { display: flex; width: 100%; margin-top: 12px; justify-content: center; color: #9ccafa; font: 700 10px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.kultura-os-browse-more[hidden] { display: none; }
.kultura-os-viewer { display: flex; flex-direction: column; align-items: stretch; min-width: 0; min-height: 0; background: radial-gradient(ellipse at 50% 43%,#15273b,#070c13 68%); }
.kultura-os-stage { position: relative; flex: 1 1 auto; display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 0; padding: 12px 30px; }
.kultura-os-stage img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; box-shadow: 0 10px 35px rgba(0,0,0,.4); }
.kultura-os-nav { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex: none; min-height: 59px; padding: 10px 15px; border-top: 1px solid var(--kg-line); background: #0c1725; }
.kultura-os-nav span { color: #c4dbf1; font: 650 11px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; text-align: center; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.kultura-os-details { min-width: 0; min-height: 0; overflow: auto; border-left: 1px solid var(--kg-line); background: #0d1724; padding: 17px 16px; scrollbar-width: thin; }
.kultura-os-details h3 { margin: 0 0 15px; padding: 0 0 12px; border-bottom: 1px solid var(--kg-line); font: 750 11px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; color: #b4d7f5; letter-spacing: .04em; }
.kultura-os-details dl { margin: 0; display: grid; gap: 12px; }
.kultura-os-details dt { color: #7291af; font: 650 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; margin: 0 0 3px; }
.kultura-os-details dd { margin: 0; color: #edf5fe; font: 550 12px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.kultura-os-details footer { margin-top: 18px; padding-top: 13px; border-top: 1px solid var(--kg-line); color: #8ea8c4; font: 500 10px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace; }
.kultura-os-details a { color: #98cdff; }
.kultura-os-status { display: flex; flex: none; gap: 12px; align-items: center; justify-content: space-between; min-height: 31px; padding: 6px 13px; border-top: 1px solid var(--kg-line); background: #102033; color: #95b0cc; font: 600 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.kultura-os-status strong { color: #bedfff; }
@media (max-width: 1100px) { .kultura-os-columns { grid-template-columns: minmax(175px,210px) minmax(0,1fr); } .kultura-os-details { grid-column: 1/-1; display: flex; gap: 20px; padding: 10px 16px; max-height: 160px; border-left: 0; border-top: 1px solid var(--kg-line); } .kultura-os-details h3 { display: none; } .kultura-os-details dl { display: flex; flex-wrap: wrap; gap: 10px 20px; } .kultura-os-details dl div { min-width: 105px; } .kultura-os-details footer { flex: 1 0 200px; border: 0; padding: 0; margin: 0; } }
@media (max-width: 740px) { .kultura-os-overlay { padding: 5px; } .kultura-os-window { height: calc(100dvh - 10px); border-radius: 4px; } .kultura-os-titlebar { padding: 7px 9px; } .kultura-os-title { font-size: 9px; } .kultura-os-toolbar { padding: 6px 10px; min-height: 43px; } .kultura-os-breadcrumbs { font-size: 9px; } .kultura-os-columns { display: flex; flex-direction: column; min-height: 0; } .kultura-os-viewer { order: 1; flex: 1 1 auto; min-height: 155px; } .kultura-os-stage { padding: 6px 12px; } .kultura-os-nav { min-height: 45px; padding: 6px 8px; } .kultura-os-browser { order: 2; flex: 0 0 178px; min-height: 0; border-right: 0; border-top: 1px solid var(--kg-line); } .kultura-os-browser-head { display: flex; align-items: center; gap: 9px; padding: 7px 9px; } .kultura-os-browser-head label { font-size: 9px; white-space: nowrap; } .kultura-os-filter { min-height: 30px; } .kultura-os-grid-scroll { padding: 7px; } .kultura-os-grid { display: flex; gap: 7px; } .kultura-os-tile { flex: 0 0 100px; } .kultura-os-tile img { aspect-ratio: 4/3; } .kultura-os-browse-more { width: 120px; min-width: 120px; margin-top: 0; } .kultura-os-details { order: 3; flex: 0 0 auto; max-height: 116px; padding: 9px; } .kultura-os-details dl { gap: 6px 14px; } .kultura-os-details dl div { min-width: auto; } .kultura-os-details dt { font-size: 9px; } .kultura-os-details dd { font-size: 10px; } .kultura-os-details footer { display: none; } .kultura-os-status { font-size: 9px; min-height: 26px; } }
@media (prefers-reduced-motion: reduce) { .kultura-os-window * { scroll-behavior: auto !important; transition: none !important; } }
