/* Motion is an enhancement: native URLs and visible content work without it. */
.post-card-link { display:inline-block; }
.top-nav a,.category-nav a { isolation:isolate; }
.top-nav a.is-active { background:transparent; box-shadow:none; }
.category-nav a.is-active,html[data-theme=light] .category-nav a.is-active {
  background:transparent; border-color:transparent; box-shadow:none; clip-path:none;
}
.category-nav a.is-active:before { opacity:0; }
.liquid-lens {
  position:absolute; inset:0; z-index:-1; pointer-events:none; border-radius:999px;
  border:1px solid rgba(246,211,222,.26);
  background:linear-gradient(145deg,rgba(255,237,242,.17),rgba(228,126,150,.13) 52%,rgba(169,111,150,.1));
  box-shadow:inset 0 1px 0 rgba(255,244,249,.25),inset 0 -1px 1px rgba(6,12,22,.2),0 3px 11px rgba(8,12,22,.11);
  -webkit-backdrop-filter:blur(15px) saturate(165%); backdrop-filter:blur(15px) saturate(165%);
}
.liquid-lens:before { content:""; position:absolute; left:12%; right:12%; top:0; height:1px; background:linear-gradient(90deg,transparent,rgba(255,245,250,.6),transparent); }
.liquid-lens:after { content:""; position:absolute; inset:2px; border-radius:inherit; background:linear-gradient(130deg,rgba(255,244,250,.06),transparent 50% 80%,rgba(187,233,255,.04)); }
.liquid-lens-category { border-radius:calc(var(--radius-panel) - 12px); }
.liquid-lens-primary { border-radius:999px; }
.category-nav a:active,.top-nav a:active { scale:.985; }
html[data-theme=light] .liquid-lens {
  border-color:rgba(255,255,255,.75);
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(248,208,221,.3) 58%,rgba(220,218,246,.16));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 1px rgba(150,71,96,.08),0 3px 12px rgba(119,74,96,.06);
}
/* A continuous ambient light, with reflections below each surface's content. */
body { isolation:isolate; }
.site-pointer-glow { position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden; contain:strict; opacity:0; transition:opacity .22s ease; }
.site-pointer-glow.is-visible,.surface-pointer-glow.is-visible { opacity:1; }
.pointer-glow-orb { position:absolute; left:0; top:0; width:720px; height:720px; pointer-events:none; background:radial-gradient(circle,rgba(153,215,255,.10),rgba(131,194,240,.035) 38%,transparent 71%); }
.pointer-lit-surface { isolation:isolate; }
.surface-pointer-glow { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; contain:paint; border-radius:inherit; opacity:0; transition:opacity .18s ease; }
.surface-glow-orb { position:absolute; left:0; top:0; width:420px; height:420px; pointer-events:none; background:radial-gradient(circle,rgba(187,232,255,.14),rgba(217,230,255,.035) 40%,transparent 70%); }
html[data-theme=light] .pointer-glow-orb { background:radial-gradient(circle,rgba(255,255,255,.52),rgba(205,231,255,.18) 38%,transparent 71%); }
html[data-theme=light] .surface-glow-orb { background:radial-gradient(circle,rgba(255,255,255,.7),rgba(224,240,255,.18) 38%,transparent 70%); }
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce) {
  .site-pointer-glow,.surface-pointer-glow { display:none!important; transition:none; }
}
.reading-progress { position:absolute; bottom:0; left:23px; right:23px; height:2px; overflow:hidden; border-radius:99px; pointer-events:none; }
.reading-progress>span { display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--red),#ff8f9e 65%,var(--cyan)); transform:scaleX(0); transform-origin:left; }
.article-toc a { transition:color .16s ease; }
.article-toc a.is-current { color:var(--red); text-decoration-color:var(--red); }
.reading-toc-panel { padding:19px 18px 17px; }
.reading-toc-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.reading-toc-heading h2 { margin:0; font-size:13px; font-weight:650; }
.reading-toc-panel ol { list-style:none; margin:0; padding:0; max-height:310px; overflow-y:auto; scrollbar-width:thin; }
.reading-toc-panel li { margin:0; padding:0; }
.reading-toc-panel a { position:relative; display:block; padding:7px 0 7px 12px; border-left:2px solid var(--glass-edge); color:var(--muted); font-size:11px; line-height:1.8; transition:color .15s,border-color .15s,background .15s; }
.reading-toc-panel li.is-subheading a { padding-left:22px; font-size:10px; }
.reading-toc-panel a:hover { color:var(--cyan); }
.reading-toc-panel a.is-current { color:var(--red); border-left-color:var(--red); background:linear-gradient(90deg,rgba(229,88,115,.08),transparent); border-radius:0 8px 8px 0; }
.reading-toc-close { display:none; }
.reading-toc-toggle { display:none; }
.calendar-tooltip { position:fixed; z-index:170; max-width:min(260px,calc(100vw - 24px)); padding:9px 13px; border:1px solid var(--glass-edge); border-radius:12px; background:var(--surface); color:var(--text); box-shadow:var(--glass-shadow); font:12px/1.8 var(--sans); opacity:0; transform:translateY(4px); transition:opacity .14s ease,transform .14s ease; pointer-events:none; }
.calendar-tooltip.is-visible { opacity:1; transform:translateY(0); }
.calendar-day { transition:filter .16s,scale .16s; }
@media(hover:hover) and (pointer:fine) {
  .calendar-day:hover { scale:1.12; z-index:1; }
}
.search-dialog[data-motion-state=closing] { pointer-events:none; }
.search-dialog[open]::backdrop { animation:notes-backdrop-in .2s ease both; }
.search-dialog[data-motion-state=closing]::backdrop { animation:notes-backdrop-out .16s ease both; }
.copy-code.is-copied svg path { stroke-dasharray:24; stroke-dashoffset:0; animation:notes-check-in .2s ease both; }
.github-link>.icon:last-child { transition:translate .18s ease; }
.github-link:hover>.icon:last-child { translate:1px -1px; }
@keyframes notes-check-in { from {stroke-dashoffset:24;} to {stroke-dashoffset:0;} }
@keyframes notes-backdrop-in { from {opacity:0;} to {opacity:1;} }
@keyframes notes-backdrop-out { from {opacity:1;} to {opacity:0;} }
@keyframes notes-arrive { from {opacity:0;translate:0 12px;} to {opacity:1;translate:0 0;} }
@keyframes notes-content-out { from {opacity:1;translate:0 0;} to {opacity:0;translate:0 -6px;} }
@keyframes notes-content-in { from {opacity:0;translate:0 10px;} to {opacity:1;translate:0 0;} }
@keyframes notes-liquid-vertical {
  0%,100% { transform:scale(1,1); }
  30% { transform:scale(.93,1.26); }
  68% { transform:scale(1.035,.95); }
}
@keyframes notes-liquid-horizontal {
  0%,100% { transform:scale(1,1); }
  30% { transform:scale(1.19,.91); }
  68% { transform:scale(.965,1.035); }
}
@media(prefers-reduced-motion:no-preference) {
  .motion-enter .profile-card,.motion-enter .category-panel,.motion-enter .page-intro,.motion-enter .posts-layout>.post-card,.motion-enter .activity-inner>.glass-panel { animation:notes-arrive .38s cubic-bezier(.2,.75,.25,1) backwards; }
  .motion-enter .category-panel { animation-delay:55ms; }
  .motion-enter .posts-layout>.post-card:nth-child(2) { animation-delay:55ms; }
  .motion-enter .posts-layout>.post-card:nth-child(n+3) { animation-delay:110ms; }
  .motion-enter .activity-inner>.glass-panel { animation-delay:90ms; }
  .motion-enter .activity-inner>.glass-panel:nth-child(n+2) { animation-delay:145ms; }
}
@view-transition { navigation:none; }
/* A theme reveal uses one snapshot, keeping the changing colors in sync. */
html[data-motion-theme] body * { view-transition-name:none!important; }
html[data-motion-theme]::view-transition-group(root) { animation-duration:440ms; }
html[data-motion-theme]::view-transition-old(root),html[data-motion-theme]::view-transition-new(root) { animation:none; mix-blend-mode:normal; }
html[data-motion-theme]::view-transition-new(root) { z-index:1; }
@media(max-width:1199px) {
  .reading-toc-toggle { position:fixed; right:18px; bottom:18px; z-index:140; display:inline-flex; align-items:center; justify-content:center; min-width:64px; min-height:44px; padding:9px 15px; border:1px solid var(--glass-edge); border-radius:999px; background:var(--glass-nav); color:var(--text); box-shadow:var(--glass-shadow); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); font:13px/1.6 var(--sans); }
  body>.reading-toc-panel { transform-origin:bottom right; position:fixed; display:none; right:16px; bottom:75px; width:min(330px,calc(100vw - 32px)); z-index:145; background:var(--surface); padding:18px; max-height:65dvh; overflow:auto; }
  body.reading-toc-open>.reading-toc-panel { display:block; }
  .reading-toc-panel ol { max-height:46dvh; }
  .reading-toc-panel a { font-size:13px; min-height:40px; padding:9px 0 9px 13px; }
  .reading-toc-panel li.is-subheading a { font-size:12px; }
  .reading-toc-close { display:inline-flex; padding:0 6px; min-height:32px; min-width:32px; border:0; background:none; color:var(--muted); font:20px/1 var(--sans); }
}
@media(max-width:600px) {
  .reading-progress { left:18px; right:18px; }
  .motion-enter .profile-card,.motion-enter .category-panel { animation:none; }
}
@media(prefers-reduced-motion:reduce) {
  @view-transition { navigation:none; }
  html { scroll-behavior:auto; }
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),::view-transition-image-pair(*) { animation-duration:0s!important; }
  .calendar-day:hover { scale:none; }
  .github-link:hover>.icon:last-child { translate:none; }
  .search-dialog[open]::backdrop,.search-dialog[data-motion-state=closing]::backdrop { animation:none!important; }
}
@media print {
  .reading-progress,.reading-toc-panel,.reading-toc-toggle,.calendar-tooltip,.site-pointer-glow,.surface-pointer-glow { display:none!important; }
}

@media(max-width:959px) { .liquid-lens-category { border-radius:var(--radius-inset); } }
