/* A/C optical layers from Glass Lab 61028b9, adapted to the site's paper.
   Only list cards use the Lab spring. Reader text stays outside any lens. */
.glass-card {
  position:relative; display:block; width:100%; min-width:0; min-height:74px;
  text-align:left; border:0; padding:0; border-radius:13px;
  background:transparent; color:var(--ink); box-shadow:none;
  transform-origin:center; z-index:0; transition:none;
}
.glass-card.is-active { z-index:2; }
.glass-skin,.glass-light,.glass-rim,.glass-glare {
  position:absolute; inset:0; border-radius:inherit; pointer-events:none;
}
.glass-skin { overflow:hidden; background:transparent; z-index:-1; }
.glass-light { z-index:0; }
.glass-rim {
  z-index:1; border:1px solid #ffffff5c;
  transition:box-shadow .32s cubic-bezier(.2,.8,.2,1),border-color .32s cubic-bezier(.2,.8,.2,1);
}
.glass-glare {
  background:radial-gradient(ellipse at 50% 50%,#fff 0,transparent 63%);
  width:180px; height:140px; inset:auto;
  left:calc(50% - 90px); top:calc(50% - 70px); opacity:0; border-radius:50%;
}
.glare-clip { position:absolute; inset:0; overflow:hidden; border-radius:inherit; pointer-events:none; }
.glass-content { position:relative; display:flex; align-items:center; gap:14px; padding:12px 16px; min-height:74px; }
.glass-card[data-variant="a"] { --frost-a:4px; }
.glass-card[data-variant="a"] .glass-skin {
  background:linear-gradient(128deg,#ffffffe0,#fffdf39c 48%,#eaf6ff82);
  -webkit-backdrop-filter:blur(var(--frost-a)) saturate(115%);
  backdrop-filter:blur(var(--frost-a)) saturate(115%);
}
.glass-card[data-variant="a"] .glass-rim {
  border-color:#ffffffb8;
  box-shadow:inset 0 1px 1px #fffffff5,inset 0 -1px 1px #718d9b1c,0 5px 18px #29495812;
}
.glass-card[data-variant="a"] .glass-light { background:linear-gradient(130deg,#ffffff2b,transparent 55%,#eff9ff0a); }
.glass-card[data-variant="a"].is-active .glass-rim {
  border-color:#fffffff2;
  box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #6e899c1c,0 9px 23px #29495823;
}
.glass-card[data-variant="c"] { --frost-c:.9px; }
.glass-card[data-variant="c"] .glass-skin {
  -webkit-backdrop-filter:blur(var(--frost-c)); backdrop-filter:blur(var(--frost-c));
}
.glass-card[data-variant="c"] .glass-light { background:linear-gradient(122deg,#ffffff70,#f9ffff45 52%,#edfaff60); }
.glass-card[data-variant="c"] .glass-rim {
  border-color:#ffffffb5;
  box-shadow:inset 0 1px 1px #ffffffd9,inset 1px 0 1px #ffffff4d,inset 0 -1px 1px #3a627638,0 4px 14px #223a491f;
}
.glass-card[data-variant="c"].is-active .glass-rim {
  border-color:#fffffff0;
  box-shadow:inset 0 1px 1px #fff,inset 1px 0 1px #ffffff80,inset 0 -1px 1px #3a627638,0 8px 21px #223a4929;
}
/* In non-Chromium engines, the Lab lens samples the known paper backdrop.
   This matches the world background and grain; it does not duplicate WebGL. */
.lens-scene {
  position:absolute; pointer-events:none; max-width:none;
  background:radial-gradient(ellipse at 48% 28%,#fff 0%,rgba(255,255,255,.35) 48%,transparent 80%),var(--paper);
}
.lens-scene::after { content:""; position:absolute; inset:0; background:url("./assets/paper-grain.png") repeat; opacity:.22; }
.glass-filter-defs { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.thought-list { padding:9px 13px 15px; }

/* A material for article/project readers. A translucent paper base steadies
   paragraph contrast. Native dialog/history/focus behavior is unchanged. */
.reader.glass-reader {
  --frost-a:4px;
  background:linear-gradient(128deg,#ffffffe0,#fffdf39c 48%,#eaf6ff82),rgba(254,253,251,.55);
  -webkit-backdrop-filter:blur(var(--frost-a)) saturate(115%);
  backdrop-filter:blur(var(--frost-a)) saturate(115%);
  border-color:#ffffffb8;
  box-shadow:inset 0 1px 1px #fffffff5,inset 0 -1px 1px #718d9b1c,0 20px 70px #2949581c;
  opacity:0; transform:translateY(4px) scale(.99);
  transition:opacity .18s ease,transform .18s cubic-bezier(.2,.8,.2,1),display .18s allow-discrete,overlay .18s allow-discrete;
}
.reader.glass-reader[open] { opacity:1; transform:none; }
.glass-reader .reader-top {
  background:linear-gradient(128deg,#fffffff5,#fffdf3ed 48%,#eaf6ffe6);
  border-bottom:1px solid #d9e5ec52;
}
.glass-reader .reader-body { background:rgba(254,253,251,.16); }
.reader.glass-reader::backdrop {
  background-color:transparent;
  transition:background-color .18s ease,display .18s allow-discrete,overlay .18s allow-discrete;
}
.reader.glass-reader[open]::backdrop { background-color:rgba(249,249,250,.68); }
@starting-style {
  .reader.glass-reader[open] { opacity:0; transform:translateY(6px) scale(.985); }
  .reader.glass-reader[open]::backdrop { background-color:transparent; }
}
@media(max-width:600px) {
  .glass-card,.glass-content { min-height:66px; }
  .glass-content { padding:10px 11px; gap:11px; }
  .thought-list { padding-right:10px; padding-left:10px; }
}
@media(prefers-reduced-motion:reduce) {
  .reader.glass-reader,.reader.glass-reader::backdrop,.glass-rim { transition:none !important; }
  .reader.glass-reader[open] { transform:none; }
  @starting-style { .reader.glass-reader[open] { opacity:1; transform:none; } }
}
@media(prefers-reduced-transparency:reduce) {
  .glass-skin { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; filter:none !important; background:#f0f4f6 !important; }
  .lens-scene { display:none; }
  .reader.glass-reader { background:var(--paper); -webkit-backdrop-filter:none; backdrop-filter:none; }
  .glass-reader .reader-top { background:var(--paper); }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .glass-card[data-variant="c"] .glass-light { background:#f0f7f2c7; }
}
