body:has(.home-dashboard),body:has(.home-dashboard) .site-main,body:has(.home-dashboard) .site-footer{background-color:var(--site-background);background-image:var(--site-background-pattern);background-size:20px 20px}body:has(.home-dashboard) .site-main .page-frame{width:100%;max-width:none;padding:0}body:has(.home-dashboard) .site-footer{display:none}.home-dashboard:where(.astro-e42xl3bq){--ink: #263a32;--muted: #748078;--line: rgba(45, 70, 57, .15);--surface: #fbfaf6;--amber: #a96f3f;--blue: #718e8a;--teal: #397962;--coral: #a86c5b;width:min(calc(100% - 4rem),76rem);margin:0 auto;color:var(--ink);font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}.home-screen:where(.astro-e42xl3bq){position:relative;min-height:100svh;padding:clamp(2rem,4.5vh,3.25rem) 0;scroll-snap-align:start}.screen-heading:where(.astro-e42xl3bq),.projects-heading:where(.astro-e42xl3bq){display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1.35rem;border-bottom:1px solid var(--line)}.eyebrow:where(.astro-e42xl3bq),.panel-kicker:where(.astro-e42xl3bq),.panel-code:where(.astro-e42xl3bq),.project-meta:where(.astro-e42xl3bq),.project-index:where(.astro-e42xl3bq),.project-tags:where(.astro-e42xl3bq),.all-projects:where(.astro-e42xl3bq),.activity-heading:where(.astro-e42xl3bq)>p:where(.astro-e42xl3bq),.activity-footer:where(.astro-e42xl3bq){font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em;text-transform:uppercase}.eyebrow:where(.astro-e42xl3bq){display:flex;align-items:center;gap:.6rem;margin:0;color:var(--muted);font-size:.66rem}.signal-dot:where(.astro-e42xl3bq){display:inline-block;width:.42rem;height:.42rem;border-radius:50%;background:var(--teal);box-shadow:0 0 0 .22rem #3b907f24}.signal-dot:where(.astro-e42xl3bq){animation:pulse 1.8s ease-in-out infinite}.screen-heading:where(.astro-e42xl3bq) h2:where(.astro-e42xl3bq),.projects-heading:where(.astro-e42xl3bq) h2:where(.astro-e42xl3bq){max-width:38rem;margin:.75rem 0 0;color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:clamp(2.15rem,3.4vw,3.5rem);font-weight:500;letter-spacing:-.065em;line-height:1.02}.screen-heading:where(.astro-e42xl3bq) h2:where(.astro-e42xl3bq) em:where(.astro-e42xl3bq){color:var(--amber);font-style:normal}.screen-intro:where(.astro-e42xl3bq){max-width:40rem;margin:1rem 0 0;color:var(--muted);font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:clamp(.95rem,.9rem + .2vw,1.1rem);line-height:1.75}.screen-index:where(.astro-e42xl3bq){color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,serif;font-size:clamp(4rem,7vw,6rem);font-weight:400;letter-spacing:-.12em;line-height:.65;opacity:.08}.detail-layout:where(.astro-e42xl3bq){display:grid;grid-template-columns:minmax(0,1.08fr) minmax(21rem,.92fr);gap:clamp(1.5rem,3vw,2.75rem);align-items:center;margin-top:clamp(1.35rem,2.5vh,2rem)}.message-panel:where(.astro-e42xl3bq),.stats-panel:where(.astro-e42xl3bq){min-width:0}.stats-panel:where(.astro-e42xl3bq){display:flex;align-items:center}.stats-inner:where(.astro-e42xl3bq){width:100%}.message-panel:where(.astro-e42xl3bq){position:relative;display:flex;height:clamp(11.5rem,24svh,13.5rem);min-height:0;overflow:hidden;flex-direction:column;padding:.65rem;border:1px solid rgba(45,70,57,.16);border-radius:1rem;background-image:linear-gradient(90deg,#131f1938,#131f195c),url(/media/liuyan.jpg);background-position:center 48%;background-size:cover;box-shadow:0 .85rem 2.4rem #2d463917}.section-header:where(.astro-e42xl3bq){display:flex;align-items:start;justify-content:space-between;gap:1rem}.panel-kicker:where(.astro-e42xl3bq){color:var(--muted);font-size:.55rem}.section-header:where(.astro-e42xl3bq) h3:where(.astro-e42xl3bq){margin:.55rem 0 0;color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:clamp(1.4rem,1.1rem + .8vw,2rem);font-weight:500;letter-spacing:-.06em}.thought-field:where(.astro-e42xl3bq){position:relative;flex:1;min-height:0;overflow:hidden}.thought-stage:where(.astro-e42xl3bq){position:absolute;z-index:1;display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:.45rem;inset:0;min-width:0;overflow:hidden;padding-block:.75rem;pointer-events:none}.thought-lane:where(.astro-e42xl3bq){position:relative;min-width:0;overflow:visible}.thought-seeds:where(.astro-e42xl3bq){display:none}.thought-fallback:where(.astro-e42xl3bq){display:none}.thought-danmaku-pill{display:inline-flex;align-items:center;padding:.36rem .78rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#0c101294;color:#fffffff5;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(.8rem,.74rem + .18vw,.94rem);line-height:1.25;white-space:nowrap;box-shadow:0 .2rem .65rem #00000014;backdrop-filter:blur(3px)}.all-projects:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){transition:transform .2s ease}.all-projects:where(.astro-e42xl3bq):hover span:where(.astro-e42xl3bq){display:inline-block;transform:translate(3px,-3px)}.panel-code:where(.astro-e42xl3bq){padding:.35rem .5rem;border:1px solid var(--line);color:var(--amber);font-size:.5rem}.metric-strip:where(.astro-e42xl3bq){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.3vw,2.25rem);margin:0;padding-inline:clamp(.25rem,1vw,.8rem);align-items:start}.metric-item:where(.astro-e42xl3bq){display:flex;min-width:0;flex-direction:column;gap:.42rem;align-items:flex-start;text-align:left}.metric-item:where(.astro-e42xl3bq) dd:where(.astro-e42xl3bq){display:flex;order:-1;align-items:baseline;gap:.45rem;margin:0;color:#29434e;font-family:Iowan Old Style,Baskerville,Palatino Linotype,Times New Roman,serif;font-variant-numeric:tabular-nums;line-height:1}.metric-item:where(.astro-e42xl3bq) dd:where(.astro-e42xl3bq) strong:where(.astro-e42xl3bq){font-size:clamp(2.85rem,3.9vw,4.2rem);font-weight:400;letter-spacing:-.045em}.metric-item:where(.astro-e42xl3bq) dd:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){color:#8a949d;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(.65rem,.58rem + .18vw,.76rem);font-weight:500;letter-spacing:.04em}.metric-item:where(.astro-e42xl3bq) dt:where(.astro-e42xl3bq){color:#697681;font-size:clamp(.72rem,.67rem + .12vw,.8rem);font-weight:500;letter-spacing:.02em;white-space:nowrap}.metric-item:where(.astro-e42xl3bq) small:where(.astro-e42xl3bq){color:#8b958e;font-size:clamp(.62rem,.58rem + .1vw,.69rem);line-height:1.45;white-space:nowrap}.insight-strip:where(.astro-e42xl3bq){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.8vw,1.5rem);margin:clamp(1.2rem,2.4svh,1.6rem) clamp(.25rem,1vw,.8rem) 0;padding-top:.75rem;border-top:1px solid var(--line)}.insight-strip:where(.astro-e42xl3bq)>div:where(.astro-e42xl3bq){display:grid;min-width:0;gap:.24rem}.insight-strip:where(.astro-e42xl3bq) dt:where(.astro-e42xl3bq){color:#8b958e;font-size:.58rem;letter-spacing:.08em}.insight-strip:where(.astro-e42xl3bq) dd:where(.astro-e42xl3bq){overflow:hidden;margin:0;color:#53655c;font-size:.72rem;font-weight:500;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.activity-data-grid:where(.astro-e42xl3bq){display:grid;grid-template-columns:minmax(0,1.22fr) minmax(18rem,.78fr);gap:clamp(1rem,2vw,1.5rem);align-items:stretch;margin-top:clamp(.8rem,1.5vh,1.15rem)}.activity-panel:where(.astro-e42xl3bq),.timeline-panel:where(.astro-e42xl3bq){min-width:0;padding:1rem 1.1rem .85rem;border:1px solid var(--line);border-radius:.75rem;background:#fbfaf6d1;box-shadow:0 .45rem 1.4rem #2d46390b}.activity-heading:where(.astro-e42xl3bq){display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:.8rem}.activity-heading:where(.astro-e42xl3bq) h3:where(.astro-e42xl3bq){margin:.3rem 0 0;color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:1.18rem;font-weight:600;letter-spacing:-.035em}.activity-heading:where(.astro-e42xl3bq)>p:where(.astro-e42xl3bq){margin:0;color:var(--muted);font-size:.58rem;white-space:nowrap}.activity-heading:where(.astro-e42xl3bq)>p:where(.astro-e42xl3bq) strong:where(.astro-e42xl3bq){color:var(--ink);font-size:1.35em;font-weight:600}.activity-layout:where(.astro-e42xl3bq){display:grid;grid-template-columns:minmax(0,1fr) 4.2rem;gap:clamp(.65rem,1.4vw,1.15rem);align-items:stretch}.activity-views:where(.astro-e42xl3bq){min-width:0}.activity-year-view:where(.astro-e42xl3bq)[hidden]{display:none}.activity-scroll:where(.astro-e42xl3bq){overflow-x:auto;padding-bottom:.3rem;scrollbar-color:rgba(9,45,64,.18) transparent;scrollbar-width:thin}.activity-calendar:where(.astro-e42xl3bq){--activity-cell: clamp(.48rem, calc((100vw - 22rem) / 72), .68rem);--activity-gap: clamp(.12rem, .14vw, .17rem);width:max-content;min-width:100%}.activity-months:where(.astro-e42xl3bq){display:grid;grid-template-columns:repeat(53,var(--activity-cell));gap:var(--activity-gap);min-width:max-content;margin-left:1.75rem;color:var(--muted);font-size:.58rem;line-height:1}.activity-months:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){white-space:nowrap}.activity-body:where(.astro-e42xl3bq){display:grid;grid-template-columns:1.35rem auto;gap:.4rem;margin-top:.45rem}.activity-weekdays:where(.astro-e42xl3bq){display:grid;grid-template-rows:repeat(7,var(--activity-cell));gap:var(--activity-gap);color:var(--muted);font-size:.54rem;line-height:var(--activity-cell)}.activity-weekdays:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq):nth-child(1){grid-row:2}.activity-weekdays:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq):nth-child(2){grid-row:4}.activity-weekdays:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq):nth-child(3){grid-row:6}.activity-grid:where(.astro-e42xl3bq){display:grid;grid-template-rows:repeat(7,var(--activity-cell));grid-auto-columns:var(--activity-cell);grid-auto-flow:column;gap:var(--activity-gap);width:max-content}.activity-cell:where(.astro-e42xl3bq){display:block;border:1px solid rgba(27,31,36,.06);border-radius:2px;background:#ebedf0;transition:transform .16s ease,filter .16s ease}.activity-cell:where(.astro-e42xl3bq):hover{z-index:1;filter:saturate(1.08);transform:scale(1.35)}.activity-cell:where(.astro-e42xl3bq).is-placeholder{visibility:hidden}.activity-cell:where(.astro-e42xl3bq).level-1,.activity-key:where(.astro-e42xl3bq) i:where(.astro-e42xl3bq):nth-child(2){background:#9be9a8}.activity-cell:where(.astro-e42xl3bq).level-2,.activity-key:where(.astro-e42xl3bq) i:where(.astro-e42xl3bq):nth-child(3){background:#40c463}.activity-cell:where(.astro-e42xl3bq).level-3,.activity-key:where(.astro-e42xl3bq) i:where(.astro-e42xl3bq):nth-child(4){background:#30a14e}.activity-cell:where(.astro-e42xl3bq).level-4,.activity-key:where(.astro-e42xl3bq) i:where(.astro-e42xl3bq):nth-child(5){background:#216e39}.activity-footer:where(.astro-e42xl3bq){display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin-top:.45rem;color:var(--muted);font-size:.46rem}.activity-key:where(.astro-e42xl3bq){display:inline-flex;gap:.2rem}.activity-key:where(.astro-e42xl3bq) i:where(.astro-e42xl3bq){width:.55rem;height:.55rem;border:1px solid rgba(27,31,36,.06);border-radius:2px;background:#ebedf0}.activity-year-picker:where(.astro-e42xl3bq){display:flex;flex-direction:column;gap:.25rem;padding-left:.8rem;border-left:1px solid var(--line)}.activity-year-picker:where(.astro-e42xl3bq) button:where(.astro-e42xl3bq){min-height:2.15rem;padding:.45rem .55rem;border:0;border-radius:.35rem;background:transparent;color:var(--muted);font:500 .65rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.activity-year-picker:where(.astro-e42xl3bq) button:where(.astro-e42xl3bq):hover{background:#39796217;color:var(--ink)}.activity-year-picker:where(.astro-e42xl3bq) button:where(.astro-e42xl3bq)[aria-pressed=true]{background:var(--teal);color:#fff;box-shadow:0 .35rem 1rem #39796233}.activity-year-picker:where(.astro-e42xl3bq) button:where(.astro-e42xl3bq):focus-visible{outline:2px solid var(--teal);outline-offset:2px}.timeline-panel:where(.astro-e42xl3bq){display:flex;flex-direction:column}.timeline-heading:where(.astro-e42xl3bq){display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.timeline-heading:where(.astro-e42xl3bq) h3:where(.astro-e42xl3bq){margin:.3rem 0 0;color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:1.18rem;font-weight:600;letter-spacing:-.035em}.timeline-heading:where(.astro-e42xl3bq)>a:where(.astro-e42xl3bq){color:var(--teal);font-size:.64rem;text-decoration:none}.timeline-year-view:where(.astro-e42xl3bq){max-height:14rem;overflow-y:auto;padding-right:.25rem;scrollbar-color:rgba(9,45,64,.18) transparent;scrollbar-width:thin}.timeline-year-view:where(.astro-e42xl3bq)[hidden]{display:none}.timeline-month:where(.astro-e42xl3bq){display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.7rem;padding-top:.75rem}.timeline-month:where(.astro-e42xl3bq) h4:where(.astro-e42xl3bq){margin:0;color:var(--ink);font-size:.78rem;font-weight:650}.timeline-month:where(.astro-e42xl3bq) h4:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){display:block;margin-top:.2rem;color:var(--muted);font:400 .54rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.timeline-month:where(.astro-e42xl3bq) ol:where(.astro-e42xl3bq){position:relative;display:grid;gap:.55rem;margin:0;padding:0 0 .25rem .75rem;border-left:1px solid rgba(9,45,64,.15);list-style:none}.timeline-month:where(.astro-e42xl3bq) li:where(.astro-e42xl3bq){position:relative;min-width:0}.timeline-month:where(.astro-e42xl3bq) li:where(.astro-e42xl3bq)>i:where(.astro-e42xl3bq){position:absolute;top:.32rem;left:calc(-.75rem - 3px);width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px #3b907f1f}.timeline-month:where(.astro-e42xl3bq) li:where(.astro-e42xl3bq) a:where(.astro-e42xl3bq){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .6rem;color:var(--ink);text-decoration:none}.timeline-month:where(.astro-e42xl3bq) li:where(.astro-e42xl3bq) strong:where(.astro-e42xl3bq){min-width:0;overflow:hidden;font-size:.75rem;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.timeline-month:where(.astro-e42xl3bq) li:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){align-self:center;color:var(--muted);font-size:.54rem;white-space:nowrap}.timeline-month:where(.astro-e42xl3bq) li:where(.astro-e42xl3bq) a:where(.astro-e42xl3bq):hover strong:where(.astro-e42xl3bq){color:var(--teal)}.timeline-empty:where(.astro-e42xl3bq){margin:1rem 0;color:var(--muted);font-size:.68rem}.projects-screen:where(.astro-e42xl3bq){display:flex;min-height:100svh;flex-direction:column;justify-content:center;padding-block:clamp(2rem,4vh,3rem)}.projects-heading:where(.astro-e42xl3bq){align-items:center;gap:1rem;padding-bottom:1.25rem}.projects-heading:where(.astro-e42xl3bq) h2:where(.astro-e42xl3bq){font-family:inherit;font-size:1.5rem;font-weight:600;letter-spacing:0;line-height:1.4}.projects-heading:where(.astro-e42xl3bq) .eyebrow:where(.astro-e42xl3bq){letter-spacing:0}.all-projects:where(.astro-e42xl3bq){display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto;color:var(--muted);font-family:inherit;font-size:.8rem;letter-spacing:0;text-decoration:none}.home-project-grid:where(.astro-e42xl3bq){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.home-project-card:where(.astro-e42xl3bq){display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:.8rem;background:#fbfaf6e6;color:var(--ink);text-decoration:none;box-shadow:0 .25rem .9rem #2d46390b;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.home-project-card:where(.astro-e42xl3bq):hover{border-color:#39796261;box-shadow:0 .8rem 1.8rem #2d46391a;transform:translateY(-4px)}.home-project-card:where(.astro-e42xl3bq):focus-visible{outline:2px solid var(--teal);outline-offset:3px}.project-cover:where(.astro-e42xl3bq){position:relative;display:grid;height:7rem;flex-shrink:0;place-items:center;color:#f8f4e9;background:linear-gradient(135deg,#29483d,#496b5d);overflow:hidden}.project-cover:where(.astro-e42xl3bq):after{position:absolute;width:7.5rem;height:7.5rem;border:1px solid rgba(255,255,255,.18);border-radius:50%;content:"";transform:translate(42%,-38%)}.project-cover:where(.astro-e42xl3bq) strong:where(.astro-e42xl3bq){font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:2.2rem;font-weight:500;line-height:1;letter-spacing:-.06em}.project-index:where(.astro-e42xl3bq),.project-status:where(.astro-e42xl3bq){position:absolute;z-index:1;top:.75rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase}.project-index:where(.astro-e42xl3bq){left:.85rem}.project-status:where(.astro-e42xl3bq){right:.85rem;color:#ffffffc7}.project-tone-1:where(.astro-e42xl3bq) .project-cover:where(.astro-e42xl3bq){background:linear-gradient(135deg,#47635a,#71887a)}.project-tone-2:where(.astro-e42xl3bq) .project-cover:where(.astro-e42xl3bq){background:linear-gradient(135deg,#49676a,#77908a)}.project-tone-3:where(.astro-e42xl3bq) .project-cover:where(.astro-e42xl3bq){background:linear-gradient(135deg,#765d3f,#a1845d)}.project-tone-4:where(.astro-e42xl3bq) .project-cover:where(.astro-e42xl3bq){background:linear-gradient(135deg,#525f66,#77858a)}.project-tone-5:where(.astro-e42xl3bq) .project-cover:where(.astro-e42xl3bq){background:linear-gradient(135deg,#6d514b,#94736a)}.project-body:where(.astro-e42xl3bq){display:grid;align-content:start;gap:.42rem;padding:.9rem 1rem 1rem}.project-body:where(.astro-e42xl3bq) h3:where(.astro-e42xl3bq){display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:0;font-family:inherit;font-size:.94rem;font-weight:650;letter-spacing:0;line-height:1.45;overflow-wrap:anywhere}.project-body:where(.astro-e42xl3bq) h3:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){color:var(--teal);font-size:.75rem;opacity:0;transform:translate(-3px,3px);transition:opacity .2s ease,transform .2s ease}.home-project-card:where(.astro-e42xl3bq):hover .project-body:where(.astro-e42xl3bq) h3:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){opacity:1;transform:none}.project-body:where(.astro-e42xl3bq) p:where(.astro-e42xl3bq){display:-webkit-box;min-height:2.9em;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--muted);font-size:.78rem;line-height:1.5;overflow-wrap:anywhere}.project-tags:where(.astro-e42xl3bq){display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.18rem}.project-tags:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){padding:.16rem .38rem;border:1px solid rgba(57,121,98,.16);border-radius:999px;background:#3979620f;color:var(--teal);font:500 .5rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}.home-footer-screen:where(.astro-e42xl3bq){display:flex;min-height:100svh;flex-direction:column;justify-content:center;padding:clamp(2.5rem,5vh,4rem) 0 1.25rem}.footer-quote-card:where(.astro-e42xl3bq){position:relative;display:grid;width:min(100%,43rem);min-height:10.5rem;margin-inline:auto;place-items:center;overflow:hidden;border-radius:1rem;background-image:linear-gradient(#14221b7a,#14221b8f),url(/media/footer.jpg);background-position:center 58%;background-size:cover;box-shadow:0 1.2rem 3rem #2d463921}.footer-quote-card:where(.astro-e42xl3bq):before{position:absolute;inset:.7rem;border:1px solid rgba(255,255,255,.18);border-radius:.65rem;content:"";pointer-events:none}.footer-quote-card:where(.astro-e42xl3bq) p:where(.astro-e42xl3bq){position:relative;max-width:37rem;margin:0;padding:2rem;color:#fff;font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:clamp(1.3rem,1.5rem,2rem);font-weight:600;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.32)}.home-footer:where(.astro-e42xl3bq){margin-top:clamp(2rem,4vh,3.25rem);border-top:1px solid var(--line)}.home-footer-main:where(.astro-e42xl3bq){display:grid;grid-template-columns:minmax(16rem,1.2fr) minmax(10rem,.65fr) minmax(17rem,1fr);gap:clamp(2rem,5vw,5rem);padding:clamp(1.75rem,3.5vh,2.5rem) 0}.footer-brand-block:where(.astro-e42xl3bq){align-self:start}.footer-brand:where(.astro-e42xl3bq){display:inline-flex;align-items:center;gap:.8rem;color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,serif;font-size:1.35rem;font-weight:600;letter-spacing:-.04em;text-decoration:none}.footer-brand:where(.astro-e42xl3bq)>span:where(.astro-e42xl3bq){display:grid;width:2.2rem;height:2.2rem;place-items:center;border:1px solid var(--amber);color:var(--amber);font-size:1.35rem;font-style:italic}.footer-brand-block:where(.astro-e42xl3bq)>p:where(.astro-e42xl3bq){max-width:23rem;margin:1.15rem 0 0;color:var(--muted);font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:.9rem;line-height:1.8}.footer-link-group:where(.astro-e42xl3bq)>p:where(.astro-e42xl3bq){margin:0 0 .75rem;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.64rem;letter-spacing:.12em}.footer-link-group:where(.astro-e42xl3bq)>p:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){color:var(--muted)}.footer-link-group:where(.astro-e42xl3bq)>div:where(.astro-e42xl3bq){display:grid;grid-template-columns:1fr;gap:.2rem}.friend-link-group:where(.astro-e42xl3bq)>div:where(.astro-e42xl3bq){grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1.4rem}.footer-link-group:where(.astro-e42xl3bq) a:where(.astro-e42xl3bq){display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.42rem 0;border-bottom:1px solid rgba(45,70,57,.09);color:var(--muted);font-size:.8rem;text-decoration:none;transition:color .18s ease,border-color .18s ease}.footer-link-group:where(.astro-e42xl3bq) a:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){color:var(--amber);opacity:0;transform:translate(-3px,3px);transition:opacity .18s ease,transform .18s ease}.footer-link-group:where(.astro-e42xl3bq) a:where(.astro-e42xl3bq):hover{border-color:#c47a4b59;color:var(--ink)}.footer-link-group:where(.astro-e42xl3bq) a:where(.astro-e42xl3bq):hover span:where(.astro-e42xl3bq){opacity:1;transform:none}.home-footer-bottom:where(.astro-e42xl3bq){display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.58rem;letter-spacing:.1em}.home-footer-bottom:where(.astro-e42xl3bq) a:where(.astro-e42xl3bq){color:var(--ink);text-decoration:none}.home-footer-bottom:where(.astro-e42xl3bq) a:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){color:var(--amber)}@media(prefers-reduced-motion:reduce){.home-project-card:where(.astro-e42xl3bq){transition:none}}.sr-only:where(.astro-e42xl3bq){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse{50%{opacity:.45;transform:scale(.84)}}@media(prefers-reduced-motion:reduce){.signal-dot:where(.astro-e42xl3bq){animation:none}.thought-stage:where(.astro-e42xl3bq){display:none}.thought-fallback:where(.astro-e42xl3bq){position:relative;z-index:1;display:grid;gap:.55rem;padding:1rem}.thought-fallback:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){width:fit-content;max-width:100%;padding:.46rem .82rem;border-radius:999px;background:#0000008c;color:#fffffff5;font-size:.84rem}}@media(max-width:60rem){.detail-layout:where(.astro-e42xl3bq),.activity-data-grid:where(.astro-e42xl3bq){grid-template-columns:1fr}.message-panel:where(.astro-e42xl3bq){height:16rem}.stats-panel:where(.astro-e42xl3bq){display:grid;grid-template-columns:1fr}.timeline-year-view:where(.astro-e42xl3bq){max-height:18rem}}@media(max-width:60rem){.home-footer-main:where(.astro-e42xl3bq){grid-template-columns:1fr 1fr}.footer-brand-block:where(.astro-e42xl3bq){grid-column:1 / -1}}@media(max-width:42rem){.home-dashboard:where(.astro-e42xl3bq){width:min(calc(100% - 1.5rem),88rem)}.home-screen:where(.astro-e42xl3bq){min-height:auto;padding-block:4.5rem}.screen-heading:where(.astro-e42xl3bq),.projects-heading:where(.astro-e42xl3bq){align-items:start;flex-direction:column;gap:1rem}.screen-index:where(.astro-e42xl3bq){display:none}.message-panel:where(.astro-e42xl3bq){height:18rem;padding:.4rem}.activity-heading:where(.astro-e42xl3bq){align-items:start;flex-direction:column;gap:.55rem}.activity-layout:where(.astro-e42xl3bq){grid-template-columns:minmax(0,1fr) 3.7rem;gap:.65rem}.activity-year-picker:where(.astro-e42xl3bq){padding-left:.5rem}.activity-year-picker:where(.astro-e42xl3bq) button:where(.astro-e42xl3bq){padding-inline:.3rem}.home-project-grid:where(.astro-e42xl3bq){grid-template-columns:1fr}.home-footer-screen:where(.astro-e42xl3bq){min-height:100svh;padding-bottom:1.25rem}.footer-quote-card:where(.astro-e42xl3bq){min-height:14rem;border-radius:.75rem}.footer-quote-card:where(.astro-e42xl3bq):before{inset:.5rem}.home-footer-main:where(.astro-e42xl3bq){grid-template-columns:1fr;gap:2rem;padding-block:2.5rem}.footer-brand-block:where(.astro-e42xl3bq){grid-column:auto}.friend-link-group:where(.astro-e42xl3bq)>div:where(.astro-e42xl3bq){grid-template-columns:1fr}.home-footer-bottom:where(.astro-e42xl3bq){align-items:flex-start;flex-direction:column}}@media(max-width:30rem){.metric-strip:where(.astro-e42xl3bq){gap:.75rem;padding-inline:0}.metric-item:where(.astro-e42xl3bq){gap:.34rem}.metric-item:where(.astro-e42xl3bq) dd:where(.astro-e42xl3bq){gap:.25rem}.metric-item:where(.astro-e42xl3bq) dd:where(.astro-e42xl3bq) strong:where(.astro-e42xl3bq){font-size:2.35rem}.metric-item:where(.astro-e42xl3bq) dd:where(.astro-e42xl3bq) span:where(.astro-e42xl3bq){font-size:.56rem}.metric-item:where(.astro-e42xl3bq) dt:where(.astro-e42xl3bq){font-size:.66rem}.metric-item:where(.astro-e42xl3bq) small:where(.astro-e42xl3bq){font-size:.5rem;white-space:normal}.insight-strip:where(.astro-e42xl3bq){gap:.6rem;margin-inline:0}.insight-strip:where(.astro-e42xl3bq) dt:where(.astro-e42xl3bq){font-size:.46rem}.insight-strip:where(.astro-e42xl3bq) dd:where(.astro-e42xl3bq){font-size:.56rem}}body:has(.stone-banner) .site-header{position:absolute;inset:0 0 auto;border:0;background:transparent;backdrop-filter:none;color:#161a11}body:has(.stone-banner) .header-inner{width:calc(100% - 4rem);max-width:none;min-height:6rem}body:has(.stone-banner) .brand{color:#15190f}body:has(.stone-banner) .brand-mark{border:0;color:#15190f;font-size:2.3rem;font-weight:700}body:has(.stone-banner) .brand-copy{display:none}body:has(.stone-banner) .site-nav{flex:0 1 auto;align-self:center;margin-inline:auto;padding:.15rem 1.6rem;gap:clamp(1rem,2.5vw,2.5rem);border:1px solid #62584424;border-radius:3rem;background:#f9f1e740;backdrop-filter:blur(12px)}body:has(.stone-banner) .nav-link{min-height:44px;color:#34382c}body:has(.stone-banner) .nav-link:hover{color:#000}body:has(.stone-banner) .nav-link:after{display:none}body:has(.stone-banner) .header-status{padding:.75rem 1rem;border:1px solid #62584424;border-radius:3rem;color:#34382c;background:#f9f1e750}@media(max-width:800px){body:has(.stone-banner) .header-inner{width:calc(100% - 2.5rem);flex-wrap:wrap;gap:.4rem;padding-block:.7rem}body:has(.stone-banner) .header-status{display:flex;margin-left:auto}body:has(.stone-banner) .site-nav{order:3;flex-basis:100%;justify-content:space-between;margin:.5rem 0 0;padding:.1rem .8rem;gap:.65rem;overflow-x:auto}body:has(.stone-banner) .nav-link{flex-shrink:0;font-size:.68rem}}@media(prefers-reduced-motion:reduce){body:has(.stone-banner){scroll-behavior:auto}}.stone-banner:where(.astro-5ppexwm4){position:relative;isolation:isolate;width:100%;height:max(42rem,100svh);max-height:76rem;overflow:hidden;background:#f2eade;color:#14150f;touch-action:pan-y}.stone-scene:where(.astro-5ppexwm4){position:absolute;inset:0;width:100%;height:100%;--scene-fit: 1.3333}.stone-layer:where(.astro-5ppexwm4){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;will-change:transform}.stone-base:where(.astro-5ppexwm4){z-index:1}.stone-flower:where(.astro-5ppexwm4){z-index:2}.stone-banner:where(.astro-5ppexwm4)[data-no-motion] .stone-flower:where(.astro-5ppexwm4){display:none}h1:where(.astro-5ppexwm4){position:absolute;z-index:3;top:clamp(7.5rem,16vh,13rem);left:0;width:100%;margin:0;color:#080a07;font-family:Bodoni MT,Didot,Times New Roman,serif;font-size:clamp(5rem,12.7vw,15rem);font-weight:400;line-height:.92;letter-spacing:-.065em;text-align:center;white-space:nowrap;pointer-events:none}.stone-banner:where(.astro-5ppexwm4) :where(.astro-5ppexwm4):is(h1,.stone-caption){pointer-events:none}.stone-caption:where(.astro-5ppexwm4),.stone-explore:where(.astro-5ppexwm4),.stone-motion:where(.astro-5ppexwm4){position:absolute;z-index:4;font-family:Avenir Next,Microsoft YaHei,sans-serif}.stone-caption:where(.astro-5ppexwm4){left:clamp(1.5rem,4vw,5rem);bottom:3rem;padding:.9rem 1.2rem;border-left:1px solid #303a26;background:#f6efe1c9;backdrop-filter:blur(12px)}.stone-caption:where(.astro-5ppexwm4) p:where(.astro-5ppexwm4){margin:0 0 .5rem;font-size:.7rem;letter-spacing:.16em}.stone-caption:where(.astro-5ppexwm4) span:where(.astro-5ppexwm4){font-size:.78rem}.stone-explore:where(.astro-5ppexwm4){bottom:3rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1.3rem;min-height:44px;padding:.6rem 1.3rem;border:1px solid #f8f4e7b3;border-radius:2rem;background:#f8f4e7db;color:#202818;text-decoration:none;font-size:.8rem;backdrop-filter:blur(12px);transition:background .2s}.stone-explore:where(.astro-5ppexwm4):hover{background:#fffaf0}.stone-explore:where(.astro-5ppexwm4) span:where(.astro-5ppexwm4){font-size:1.2rem}.stone-motion:where(.astro-5ppexwm4){right:clamp(1.5rem,4vw,5rem);bottom:3rem;min-height:44px;padding:.6rem 1rem;border:1px solid #49503b66;border-radius:2rem;background:#f6efe1d9;color:#26301f;cursor:pointer;font-size:.7rem}.stone-motion:where(.astro-5ppexwm4)[hidden]{display:none}.stone-banner:where(.astro-5ppexwm4) :where(.astro-5ppexwm4):is(a,button):focus-visible{outline:2px solid #263d26;outline-offset:5px}.visually-hidden:where(.astro-5ppexwm4){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:700px){.stone-banner:where(.astro-5ppexwm4){height:max(40rem,100svh)}h1:where(.astro-5ppexwm4){top:9rem;font-size:12.8vw;letter-spacing:-.07em}.stone-caption:where(.astro-5ppexwm4){left:1.25rem;bottom:6rem;padding:.7rem .85rem}.stone-caption:where(.astro-5ppexwm4) p:where(.astro-5ppexwm4){font-size:.58rem}.stone-caption:where(.astro-5ppexwm4) span:where(.astro-5ppexwm4){font-size:.72rem}.stone-explore:where(.astro-5ppexwm4){left:1.25rem;bottom:1.5rem;transform:none}.stone-motion:where(.astro-5ppexwm4){right:1.25rem;bottom:1.5rem}}body:has(.stone-banner){scroll-behavior:smooth;scroll-snap-type:y mandatory}body:has(.stone-banner) :is(.stone-banner,[data-home-screen]){scroll-snap-align:start;scroll-snap-stop:always}@media(prefers-reduced-motion:reduce){body:has(.stone-banner){scroll-behavior:auto;scroll-snap-type:none}}
