body.archive-app{
  min-height:100vh;
  overflow-x:hidden;
  overflow-y:auto;
  background:
    radial-gradient(circle at top, rgba(188,121,66,.18), transparent 38%),
    linear-gradient(180deg, #130d0b 0%, #0c0908 52%, #0b1110 100%);
}
body.archive-app.viewport-app .page-shell{
  height:auto;
  min-height:100vh;
  display:block;
  overflow:visible;
  max-width:1440px;
  margin:0 auto;
  padding:14px;
}
body.archive-app.viewport-app .archive-main{overflow:visible}
.archive-main{display:grid;gap:16px;padding:16px 0 24px}
.archive-hero{
  display:grid;
  gap:18px;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  padding:22px;
  align-items:stretch;
}
.archive-copy{display:grid;gap:12px;align-content:start}
.archive-copy h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.04}
.archive-copy .lede{max-width:62ch}
.archive-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.archive-stat{padding:14px;border:1px solid rgba(184,141,68,.22);background:rgba(10,12,14,.58);border-radius:14px}
.archive-stat strong{display:block;font-size:1.45rem;color:var(--accent);margin-bottom:4px}
.archive-panel{padding:16px;display:grid;gap:12px;align-content:start}
.archive-panel h3,.archive-section-head h2{margin:0}
.archive-feature-list{display:grid;gap:10px}
.archive-feature-item{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(184,141,68,.18);border-radius:12px;background:rgba(0,0,0,.22)}
.archive-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:14px 16px}
.archive-search{flex:1 1 280px;display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(184,141,68,.22);border-radius:999px;background:rgba(8,10,11,.7)}
.archive-search input{width:100%;background:transparent;border:0;color:var(--text);font:inherit;outline:none}
.archive-filter-group{display:flex;flex-wrap:wrap;gap:10px}
.archive-filter-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(184,141,68,.22);background:rgba(8,10,11,.72);color:var(--muted);cursor:pointer;transition:.18s ease}
.archive-filter-chip:hover,.archive-filter-chip:focus-visible,.archive-filter-chip.is-active{border-color:rgba(220,164,73,.72);color:var(--text);box-shadow:0 0 0 1px rgba(220,164,73,.18) inset}
.archive-sections{display:grid;gap:18px}
.archive-section{padding:16px;display:grid;gap:14px}
.archive-section-head{display:flex;justify-content:space-between;align-items:end;gap:14px}
.archive-section-head p{margin:0}
.archive-count{font-size:.92rem;color:var(--muted)}
.archive-carousel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.carousel-btn,.lightbox-icon-btn,.download-btn,.lightbox-close{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:46px;height:46px;border-radius:999px;border:1px solid rgba(220,164,73,.28);
  background:linear-gradient(180deg,rgba(22,18,15,.96),rgba(10,9,8,.92));
  color:var(--text);cursor:pointer;transition:.18s ease;box-shadow:0 16px 32px rgba(0,0,0,.24);
}
.download-btn{width:auto;padding:0 16px;font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}
.carousel-btn:hover,.lightbox-icon-btn:hover,.download-btn:hover,.lightbox-close:hover,
.carousel-btn:focus-visible,.lightbox-icon-btn:focus-visible,.download-btn:focus-visible,.lightbox-close:focus-visible{transform:translateY(-1px);border-color:rgba(220,164,73,.68)}
.lightbox-icon-btn.is-active{border-color:rgba(220,164,73,.88);box-shadow:0 0 0 1px rgba(220,164,73,.28) inset,0 16px 32px rgba(0,0,0,.24)}
.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,22%);gap:14px;overflow:auto;padding:4px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:none}
.carousel-track::-webkit-scrollbar{display:none}
.archive-card{
  display:grid;gap:10px;padding:10px;border-radius:18px;border:1px solid rgba(184,141,68,.24);
  background:linear-gradient(180deg,rgba(23,19,16,.95),rgba(8,9,11,.96));
  scroll-snap-align:start;cursor:pointer;transition:.18s ease;position:relative;overflow:hidden;
}
.archive-card:hover,.archive-card:focus-visible{transform:translateY(-2px);border-color:rgba(220,164,73,.74);box-shadow:0 18px 40px rgba(0,0,0,.28)}
.archive-card img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:14px;border:1px solid rgba(184,141,68,.18);background:#111}
.archive-card-copy{display:grid;gap:5px}
.archive-card h3{margin:0;font-size:1rem}
.archive-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}
.archive-card .open-icon{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:rgba(9,10,12,.78);border:1px solid rgba(184,141,68,.22);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.empty-state{padding:28px;border:1px dashed rgba(184,141,68,.22);border-radius:18px;background:rgba(0,0,0,.18);color:var(--muted);text-align:center}
.lightbox{position:fixed;inset:0;background:rgba(5,5,7,.84);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:18px;z-index:1200}
.lightbox.open{display:flex}
.lightbox-shell{
  width:min(1480px,100%);
  height:min(calc(100dvh - 36px), 960px);
  max-height:calc(100dvh - 36px);
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  gap:18px;
  padding:18px;
  position:relative;
  overflow:hidden;
}
.lightbox-stage{
  min-height:0;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  background:rgba(0,0,0,.18);
  border-radius:18px;
  position:relative;
  overflow:hidden;
}
.lightbox-stage img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:16px;
  border:1px solid rgba(184,141,68,.18);
  box-shadow:0 18px 42px rgba(0,0,0,.38)
}
.lightbox-stage-tools{position:absolute;top:14px;right:14px;display:flex;gap:10px;z-index:3}
.lightbox-lens{
  position:absolute;
  width:210px;
  height:210px;
  border-radius:18px;
  border:1px solid rgba(220,164,73,.72);
  box-shadow:0 14px 36px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.08);
  background-color:rgba(10,10,12,.95);
  background-repeat:no-repeat;
  pointer-events:none;
  opacity:0;
  transition:opacity .15s ease;
  z-index:4;
}
.lightbox-stage.is-zoom-active{cursor:none}
.lightbox-stage.is-zoom-active .lightbox-lens{opacity:1}
.lightbox-stage.is-zoom-ready{cursor:crosshair}
.lightbox-side{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:14px;min-height:0;overflow:hidden}
.lightbox-top{display:flex;justify-content:space-between;align-items:start;gap:10px}
.lightbox-copy{display:grid;gap:8px}
.lightbox-copy h2{margin:0;font-size:clamp(1.55rem,2vw,2rem)}
.lightbox-copy p{margin:0}
.lightbox-actions{display:flex;gap:10px;flex-wrap:wrap}
.lightbox-meta{display:grid;gap:10px;padding:14px;border-radius:18px;background:rgba(0,0,0,.24);border:1px solid rgba(184,141,68,.18)}
.lightbox-strip{display:grid;gap:10px;min-height:0;overflow:hidden}
.lightbox-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px;overflow:auto;padding-right:4px}
.lightbox-thumbs button{padding:0;border:0;background:transparent;cursor:pointer}
.lightbox-thumbs img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:12px;border:1px solid rgba(184,141,68,.14);opacity:.78;transition:.18s ease}
.lightbox-thumbs button.is-active img,.lightbox-thumbs button:hover img,.lightbox-thumbs button:focus-visible img{opacity:1;border-color:rgba(220,164,73,.74)}
.archive-footer{padding:18px 20px;text-align:center;color:var(--muted)}
@media (max-width:1080px){
  .archive-hero{grid-template-columns:1fr}
  .lightbox-shell{grid-template-columns:1fr;height:auto;max-height:calc(100dvh - 20px)}
  .lightbox-stage{max-height:52dvh;min-height:280px}
  .archive-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  body.archive-app.viewport-app .page-shell{padding:10px}
  .archive-hero{padding:16px}
  .archive-meta-grid{grid-template-columns:1fr}
  .archive-toolbar{padding:12px}
  .carousel-track{grid-auto-columns:minmax(200px,74%)}
  .lightbox{padding:10px}
  .lightbox-shell{padding:12px;gap:12px}
  .lightbox-stage{padding:10px;max-height:48dvh;min-height:220px}
  .lightbox-lens{display:none !important}
}
