/* Site adapter: keep upstream FlatPaper intact while honoring shared tokens. */
/* Keep the header's top margin inside the body so its background paints from y=0. */
html[data-lynn-theme] {
  --lynn-site-header-sticky-top: calc(var(--lynn-space-16,16px) + env(safe-area-inset-top));
}
html[data-lynn-theme] body { display:flow-root; }
/* Cover content moving through the sticky offset with the same fixed theme backdrop.
   This preserves gradient and image themes without reintroducing FlatPaper's color band. */
html[data-lynn-theme] body::before {
  content:"";
  display:block;
  position:fixed;
  inset:0 0 auto;
  z-index:19;
  height:var(--lynn-site-header-sticky-top);
  pointer-events:none;
  background-color:var(--lynn-color-surface-page);
  background-image:var(--lynn-background-image);
  background-size:var(--lynn-background-size);
  background-position:var(--lynn-background-position,center);
  background-repeat:var(--lynn-background-repeat,repeat);
  background-attachment:fixed;
}
.site-header .brand { min-width:0; }
.site-header .brand-text { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.site-header .mobile-appearance-link { display:none; }
@media(max-width:960px) {
  .site-header {
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:var(--lynn-space-8);
    padding:var(--lynn-space-12);
    min-height:var(--lynn-space-64);
    top:var(--lynn-site-header-sticky-top);
  }
  .site-header .header-tools { gap:var(--lynn-space-4); }
  .site-header [data-lynn-quick-appearance] { display:none; }
  .site-header .mobile-appearance-link { display:inline-grid; }
  .site-header .mobile-appearance-link svg {
    width:var(--lynn-space-18); height:var(--lynn-space-18);
    fill:none; stroke:currentColor; stroke-width:1.6;
    stroke-linecap:round; stroke-linejoin:round;
  }
  .site-header .icon-button {
    width:var(--lynn-space-44); height:var(--lynn-space-44); flex-shrink:0;
  }
  .site-header .brand {
    font-family:var(--lynn-font-family);
    font-size:calc(var(--lynn-font-size-body) + var(--lynn-space-2));
    line-height:1.5; font-weight:var(--lynn-font-weight-heading);
  }
  .lynn-appearance-page .site-header { grid-template-columns:minmax(0,1fr) auto; }
  .featured-carousel .carousel-arrow {
    align-self:end;
    margin:0 var(--lynn-space-12) var(--lynn-space-12);
    width:var(--lynn-space-44); height:var(--lynn-space-44);
    color:var(--lynn-color-text-secondary);
    background:var(--lynn-color-surface-card);
    border-color:var(--lynn-color-border-default);
    box-shadow:var(--lynn-shadow-panel);
  }
}
html[data-lynn-theme] :is(.side-card,.welcome-card,.featured-paper,.post-card,.archive-paper,.taxonomy-paper,.empty-paper) {
  border-radius: var(--lynn-radius-panel);
  box-shadow: var(--lynn-shadow-panel);
  color: var(--lynn-color-text-primary);
}
html[data-lynn-theme] .post-card .post-thumb-link .paper-thumb {
  border-radius: var(--lynn-radius-panel) var(--lynn-radius-panel) 0 0;
  overflow: hidden;
}
html[data-lynn-theme] .side-card::after,
html[data-lynn-theme] :is(.site-header,.welcome-card,.featured-paper,.post-card,.article-paper,.archive-paper,.taxonomy-paper,.empty-paper)::before {
  border-radius: var(--lynn-radius-panel);
  box-shadow: var(--lynn-shadow-panel);
  filter: none;
  background: var(--lynn-color-surface-card);
}
html[data-lynn-style=paper] .side-card::after,
html[data-lynn-style=paper] :is(.site-header,.welcome-card,.featured-paper,.post-card,.archive-paper,.taxonomy-paper,.empty-paper)::before { filter: url(#paper-edge); }
html[data-lynn-theme]:not([data-lynn-style=paper]) .site-header::after,
html[data-lynn-theme]:not([data-lynn-style=paper]) :is(.categories-card,.tags-card,.random-posts-card)::before { display: none; }
html[data-lynn-theme] :is(.brand-nav-menu::after,.site-nav-menu::before,.comments-section::before) {
  filter: none; border-radius: var(--lynn-radius-panel); box-shadow: var(--lynn-shadow-floating);
}
@supports(backdrop-filter:blur(1px)) {
  html[data-lynn-style=glass] .side-card::after,
  html[data-lynn-style=glass] :is(.site-header,.welcome-card,.featured-paper,.post-card,.article-paper,.archive-paper,.taxonomy-paper,.empty-paper)::before {
    background: color-mix(in srgb,var(--lynn-color-surface-card) 86%,transparent);
    backdrop-filter: blur(var(--lynn-material-blur));
  }
}
.lynn-appearance-page .paper-shell { display:block; max-width:calc(var(--lynn-editor-width) + var(--lynn-space-64)); }
.lynn-appearance-page :is(.paper-sidebar,.sidebar-toggle,.article-header,.article-tape-wrap > .tape) { display:none; }
html[data-lynn-theme] .lynn-appearance-page .article-paper { padding:var(--lynn-space-32); border:var(--lynn-border-width) solid var(--lynn-color-border-default); }
.lynn-appearance-page .article-content { padding:0; margin:0; }
.lynn-appearance-page .article-content::after { display:none; }
@media(max-width:680px) { html[data-lynn-theme] .lynn-appearance-page .article-paper { padding:var(--lynn-space-16); } }
