:root{--color-bg:#faf8f5;--color-bg-alt:#f3efe9;--color-surface:#fff;--color-text:#2c2c2c;--color-text-muted:#7a7a7a;--color-text-light:#a3a3a3;--color-accent:#8b6f47;--color-accent-light:#b8956a;--color-accent-subtle:#8b6f4714;--color-border:#0000000f;--color-border-warm:#8b6f4726;--font-serif:"Playfair Display",Georgia,"Times New Roman",serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--max-width:900px;--max-width-wide:1100px;--section-padding:140px;--section-padding-mobile:80px;--transition:0.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#faf8f5;background-color:var(--color-bg);color:#2c2c2c;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);line-height:1.7}html{font-size:16px;scroll-behavior:smooth}.container{max-width:900px;max-width:var(--max-width)}.container,.container-wide{margin:0 auto;padding:0 24px}.container-wide{max-width:1100px;max-width:var(--max-width-wide)}.section-title{text-wrap:balance;color:#2c2c2c;color:var(--color-text);font-family:Playfair Display,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:2.8rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem;text-align:center}.section-subtitle{text-wrap:pretty;color:#7a7a7a;color:var(--color-text-muted);font-size:1.05rem;font-weight:400;line-height:1.7;margin-bottom:0;margin-left:auto;margin-right:auto;max-width:560px}.btn,.section-subtitle{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);text-align:center}.btn{align-items:center;border:none;border-radius:100px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;letter-spacing:.01em;padding:14px 32px;text-decoration:none;transition-duration:.3s;transition-property:background-color,color,border-color,transform,box-shadow;transition-timing-function:ease}.btn:active{scale:.96}.btn-primary{background:#2c2c2c;background:var(--color-text);color:#faf8f5;color:var(--color-bg)}.btn-primary:hover{background:#8b6f47;background:var(--color-accent);transform:translateY(-1px)}.btn-secondary{background:#0000;border:1.5px solid #0000000f;border:1.5px solid var(--color-border);color:#2c2c2c;color:var(--color-text)}.btn-secondary:hover{border-color:#8b6f47;border-color:var(--color-accent);color:#8b6f47;color:var(--color-accent);transform:translateY(-1px)}@media (max-width:768px){:root{--section-padding:80px}.section-title{font-size:2rem}.section-subtitle{font-size:.95rem}.container{padding:0 20px}}@media (max-width:480px){.section-title{font-size:1.75rem}}.header{left:0;padding:28px 40px;position:fixed;right:0;top:0;transition-duration:.4s;transition-property:padding,background-color,-webkit-backdrop-filter;transition-property:padding,background-color,backdrop-filter;transition-property:padding,background-color,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:ease;z-index:1000}.header-scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#faf8f5eb;padding:16px 40px}.nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--max-width-wide)}.nav-brand{color:var(--color-text);display:inline-flex;flex-shrink:0;font-family:var(--font-serif);font-size:1.25rem;font-weight:700;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}.brand-char{display:inline-block;overflow:hidden;transition:max-width .5s cubic-bezier(.4,0,.2,1),opacity .4s ease}.brand-char,.brand-keep{max-width:1em;opacity:1}.header-scrolled .brand-collapse{max-width:0;opacity:0}.nav-desktop{align-items:center;display:flex;gap:8px}.nav-link{border-radius:6px;color:var(--color-text-muted);font-family:var(--font-sans);font-size:.82rem;font-weight:500;padding:6px 12px;text-decoration:none;transition:color var(--transition),background var(--transition);white-space:nowrap}.nav-link:hover{background:var(--color-accent-subtle);color:var(--color-text)}.nav-right{flex-shrink:0;gap:16px}.nav-right,.nav-social{align-items:center;display:flex}.nav-social{border-radius:8px;color:var(--color-text-muted);margin:-10px;padding:10px;transition-duration:.3s;transition-property:color;transition-timing-function:ease}.nav-social:hover{color:var(--color-accent)}.nav-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:6px;padding:6px;z-index:1001}.bar{background:var(--color-text);height:1.5px;transform-origin:center;transition-duration:.3s;transition-property:transform;transition-timing-function:ease;width:24px}.nav-toggle-open .bar:first-child{transform:rotate(45deg) translate(2.5px,2.5px)}.nav-toggle-open .bar:last-child{transform:rotate(-45deg) translate(2.5px,-2.5px)}.nav-overlay{align-items:center;background:var(--color-bg);display:flex;inset:0;justify-content:center;opacity:0;position:fixed;transition:opacity .4s ease,visibility .4s ease;visibility:hidden;z-index:9999}.nav-overlay-open{opacity:1;visibility:visible}.nav-overlay-close{background:none;border:none;color:var(--color-text);cursor:pointer;padding:10px;position:absolute;right:40px;top:28px;transition-duration:.3s;transition-property:color;transition-timing-function:ease;z-index:1}.nav-overlay-close:hover{color:var(--color-accent)}.nav-overlay-content{align-items:center;display:flex;flex-direction:column;gap:12px}.nav-overlay-link{color:var(--color-text);font-family:var(--font-serif);font-size:2.5rem;font-weight:500;opacity:.7;padding:8px 0;text-decoration:none;transition-duration:.3s;transition-property:opacity,color;transition-timing-function:ease}.nav-overlay-link:hover{color:var(--color-accent);opacity:1}@media (max-width:900px){.nav-desktop{display:none}.nav-toggle{display:flex}}@media (max-width:768px){.header{padding:20px}.header-scrolled{padding:14px 20px}.nav-overlay-close{right:20px;top:20px}.nav-overlay-link{font-size:1.8rem}}@media (max-width:480px){.nav-overlay-link{font-size:1.5rem}}.hero{align-items:center;background:var(--color-bg);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.hero-decoration{inset:0;pointer-events:none;position:absolute}.hero-line{height:100%;position:absolute;width:100%}.hero-content{max-width:680px;padding:0 24px;position:relative;text-align:center;z-index:1}.hero-greeting{animation:heroStaggerIn .6s ease-out forwards;animation-delay:0ms;color:var(--color-text-muted);display:block;filter:blur(4px);font-family:var(--font-sans);font-size:.85rem;font-weight:500;letter-spacing:.2em;margin-bottom:20px;opacity:0;text-transform:uppercase;transform:translateY(12px)}.hero-name{animation:heroStaggerIn .6s ease-out forwards;animation-delay:.1s;color:var(--color-text);font-size:4.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:20px}.hero-name,.hero-tagline{text-wrap:balance;filter:blur(4px);font-family:var(--font-serif);opacity:0;transform:translateY(12px)}.hero-tagline{animation:heroStaggerIn .6s ease-out forwards;animation-delay:.2s;color:var(--color-accent);font-size:1.3rem;font-weight:400;line-height:1.5;margin-bottom:40px}.hero-description{text-wrap:pretty;animation:heroStaggerIn .6s ease-out forwards;animation-delay:.3s;color:var(--color-text-muted);filter:blur(4px);font-family:var(--font-sans);font-size:1.05rem;line-height:1.8;margin:0 auto 24px;max-width:520px;opacity:0;transform:translateY(12px)}.hero-description-secondary{animation-delay:.4s;color:var(--color-text-light);font-size:.95rem;margin:0 auto 60px;max-width:580px}.hero-scroll{animation:heroStaggerIn .6s ease-out forwards;animation-delay:.5s;cursor:pointer;display:inline-block;opacity:0;transition-duration:.3s;transition-property:transform;transition-timing-function:ease}.hero-scroll:hover{transform:translateY(4px)}.hero-scroll-arrow{animation:scrollBounce 2s ease-in-out infinite;color:var(--color-text-light);display:block;font-size:1.5rem}@keyframes heroStaggerIn{to{filter:blur(0);opacity:1;transform:translateY(0)}}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@media (max-width:768px){.hero-name{font-size:3rem}.hero-tagline{font-size:1.1rem}.hero-description{font-size:.95rem;margin-bottom:20px}.hero-description-secondary{font-size:.9rem;margin-bottom:40px}}@media (max-width:480px){.hero-name{font-size:2.4rem}.hero-tagline{font-size:1rem}.hero-greeting{font-size:.75rem}}.about{background:var(--color-bg);padding:var(--section-padding) 0}.about-body{margin-top:60px}.about-image-wrap{display:flex;justify-content:center;margin-bottom:48px}.about-photo{border-radius:50%;box-shadow:0 0 0 1px #0000000f,0 8px 30px #0000000f;height:200px;object-fit:cover;object-position:center;outline:1px solid #00000014;outline-offset:-1px;width:200px}.about-text{margin:0 auto 60px;max-width:640px}.about-text p{text-wrap:pretty;color:var(--color-text-muted);font-size:1.05rem;line-height:1.8;margin-bottom:24px}.about-text p:last-child{margin-bottom:0}.about-stats{align-items:flex-start;border-top:1px solid var(--color-border);display:flex;gap:48px;justify-content:center;padding-top:48px}.stat{flex:1 1;max-width:220px;text-align:center}.stat-number{font-feature-settings:"tnum";color:var(--color-text);display:block;font-family:var(--font-serif);font-size:2.2rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.stat-label{text-wrap:balance;color:var(--color-text-light);font-size:.8rem;font-weight:500;letter-spacing:.1em;line-height:1.4;text-transform:uppercase}@media (max-width:768px){.about-stats{gap:32px}.stat-number{font-size:1.8rem}.about-photo{height:160px;width:160px}}@media (max-width:480px){.about-stats{align-items:center;flex-direction:column;gap:24px}.stat{max-width:280px}.stat-number{font-size:1.6rem}}.experience{background:var(--color-bg-alt);padding:var(--section-padding) 0}.experience-header{margin-bottom:64px;text-align:center}.experience-list{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:var(--max-width)}.experience-card{background:var(--color-surface);border:none;border-radius:14px;box-shadow:0 0 0 1px #0000000f,0 1px 2px -1px #0000000f,0 2px 4px 0 #0000000a;overflow:hidden;transition-duration:.15s;transition-property:box-shadow;transition-timing-function:ease-out}.experience-card:hover{box-shadow:0 0 0 1px #00000014,0 1px 2px -1px #00000014,0 4px 16px 0 #0000000f}.experience-card-open{box-shadow:0 0 0 1px #8b6f4726,0 1px 2px -1px #0000000f,0 2px 4px 0 #0000000a}.experience-card-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:inherit;gap:20px;justify-content:space-between;padding:24px 32px;text-align:left;transition-duration:.15s;transition-property:background-color;transition-timing-function:ease-out;width:100%}.experience-card-header:hover{background:var(--color-accent-subtle)}.experience-card-header:active{scale:.96}.experience-card-left{align-items:center;display:flex;gap:20px;min-width:0}.company-logo{background:var(--color-bg-alt);border-radius:8px;flex-shrink:0;height:44px;object-fit:contain;padding:4px;width:44px}.experience-card-info{min-width:0}.company-name{color:var(--color-text);font-family:var(--font-serif);font-size:1.15rem;font-weight:600;line-height:1.3;margin-bottom:2px}.position-title{color:var(--color-accent);font-size:.88rem;font-weight:500;line-height:1.4;margin:0}.experience-card-right{align-items:center;display:flex;flex-shrink:0;gap:16px}.experience-location{color:var(--color-text-light);font-size:.82rem;font-weight:400;white-space:nowrap}.experience-duration{color:var(--color-text-muted);font-size:.82rem;font-weight:500;white-space:nowrap}.experience-card-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}.experience-card-body-open{grid-template-rows:1fr}.experience-card-body-inner{overflow:hidden;padding:0 32px;transition:padding .4s cubic-bezier(.4,0,.2,1)}.experience-card-body-open .experience-card-body-inner{border-top:1px solid var(--color-border);padding:24px 32px 28px}.project-item{margin-bottom:20px}.project-item:last-child{margin-bottom:0}.project-title{color:var(--color-text);font-size:.92rem;font-weight:600;margin-bottom:10px}.project-achievements{list-style:none;margin:0;padding:0}.achievement-item{color:var(--color-text-muted);font-size:.88rem;line-height:1.7;margin-bottom:7px;padding-left:16px;position:relative}.achievement-item:last-child{margin-bottom:0}.achievement-item:before{background:var(--color-accent-light);border-radius:50%;content:"";height:4px;left:0;position:absolute;top:10px;width:4px}@media (max-width:768px){.experience-card-header{align-items:flex-start;flex-direction:column;gap:12px;padding:20px 24px}.experience-card-right{gap:10px}.experience-card-body-inner,.experience-card-body-open .experience-card-body-inner{padding-left:24px;padding-right:24px}.company-name{font-size:1.05rem}.company-logo{height:36px;width:36px}.expand-icon{margin-left:auto}}.education{background:var(--color-bg);padding:var(--section-padding) 0}.education-header{margin-bottom:64px;text-align:center}.additional-list,.education-list{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:var(--max-width)}.edu-card{background:var(--color-surface);border:none;border-radius:14px;box-shadow:0 0 0 1px #0000000f,0 1px 2px -1px #0000000f,0 2px 4px 0 #0000000a;overflow:hidden;transition-duration:.15s;transition-property:box-shadow;transition-timing-function:ease-out}.edu-card:hover{box-shadow:0 0 0 1px #00000014,0 1px 2px -1px #00000014,0 4px 16px 0 #0000000f}.edu-card-open{box-shadow:0 0 0 1px #8b6f4726,0 1px 2px -1px #0000000f,0 2px 4px 0 #0000000a}.edu-card-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:inherit;gap:16px;justify-content:space-between;padding:24px 32px;text-align:left;transition-duration:.15s;transition-property:background-color;transition-timing-function:ease-out;width:100%}.edu-card-header:hover{background:var(--color-accent-subtle)}.edu-card-header:active{scale:.96}.expand-icon{align-items:center;color:var(--color-text-light);display:flex;flex-shrink:0;justify-content:center;transition:transform .35s cubic-bezier(.4,0,.2,1),color var(--transition)}.expand-icon-open{color:var(--color-accent);transform:rotate(180deg)}.edu-card-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}.edu-card-body-open{grid-template-rows:1fr}.edu-card-body-inner{overflow:hidden;padding:0 32px;transition:padding .4s cubic-bezier(.4,0,.2,1)}.edu-card-body-open .edu-card-body-inner{border-top:1px solid var(--color-border);padding:24px 32px 28px}.edu-header-content{flex:1 1;justify-content:space-between}.edu-header-content,.edu-header-left{align-items:center;display:flex;gap:20px;min-width:0}.institution-logo{background:var(--color-bg-alt);border-radius:8px;flex-shrink:0;height:44px;object-fit:contain;padding:4px;width:44px}.edu-header-info{min-width:0}.institution-name{color:var(--color-text);font-family:var(--font-serif);font-size:1.15rem;font-weight:600;line-height:1.3;margin-bottom:2px}.degree-title{color:var(--color-accent);font-size:.88rem;font-weight:500;line-height:1.4;margin:0}.edu-header-right{align-items:center;display:flex;flex-shrink:0;gap:12px}.education-location{color:var(--color-text-light);font-size:.82rem;white-space:nowrap}.education-duration{color:var(--color-text-muted);font-size:.82rem;font-weight:500;white-space:nowrap}.education-gpa{background:var(--color-accent-subtle);border-radius:100px;color:var(--color-accent);font-size:.78rem;font-weight:600;padding:3px 10px;white-space:nowrap}.education-section{margin-bottom:24px}.education-section:last-child{margin-bottom:0}.section-label{align-items:center;color:var(--color-text);display:flex;font-family:var(--font-sans);font-size:.8rem;font-weight:600;letter-spacing:.1em;margin-bottom:12px;text-transform:uppercase}.section-label:before{background:var(--color-accent);border-radius:2px;content:"";height:14px;margin-right:10px;width:3px}.honors-list,.research-list{list-style:none;margin:0;padding:0}.honor-item,.research-item{color:var(--color-text-muted);font-size:.88rem;line-height:1.7;margin-bottom:7px;padding-left:16px;position:relative}.honor-item:last-child,.research-item:last-child{margin-bottom:0}.honor-item:before,.research-item:before{background:var(--color-accent-light);border-radius:50%;content:"";height:4px;left:0;position:absolute;top:10px;width:4px}.activities-grid,.coursework-grid{display:flex;flex-wrap:wrap;gap:8px}.activity-item,.course-item{background:var(--color-accent-subtle);border-radius:100px;color:var(--color-text-muted);font-size:.82rem;padding:6px 14px;transition:color var(--transition)}.activity-item:hover,.course-item:hover{background:#8b6f471f;color:var(--color-accent)}.dissertation-text{color:var(--color-text-muted);font-size:.9rem;font-style:italic;line-height:1.6;margin:0}.thesis-link{align-items:center;background:var(--color-accent-subtle);border-radius:10px;display:inline-flex;gap:8px;padding:10px 16px;text-decoration:none;transition:background var(--transition)}.thesis-link:hover{background:#8b6f471f}.thesis-text{color:var(--color-accent);font-size:.9rem;font-style:italic;font-weight:500}.external-link-icon{color:var(--color-accent-light);flex-shrink:0}.additional-experience{margin-top:80px}.subsection-title{text-wrap:balance;color:var(--color-text);font-family:var(--font-serif);font-size:1.8rem;font-weight:700;letter-spacing:-.01em;margin-bottom:40px;text-align:center}.additional-header-content{flex:1 1;justify-content:space-between}.additional-header-content,.additional-header-left{align-items:center;display:flex;gap:16px;min-width:0}.additional-logo{background:var(--color-bg-alt);border-radius:6px;flex-shrink:0;height:32px;object-fit:contain;padding:2px;width:32px}.additional-header-info{min-width:0}.additional-title{color:var(--color-text);font-size:.95rem;font-weight:600;line-height:1.3;margin-bottom:1px}.additional-organization-text{color:var(--color-accent);font-size:.82rem;font-weight:500;margin:0}.additional-duration{color:var(--color-text-light);flex-shrink:0;font-size:.78rem;white-space:nowrap}.additional-description{text-wrap:pretty;color:var(--color-text-muted);font-size:.88rem;line-height:1.7;margin:0}.additional-link{color:var(--color-accent);display:inline-block;font-size:.82rem;font-weight:500;margin-top:12px;text-decoration:none;transition:color var(--transition)}.additional-link:hover{color:var(--color-text)}.certifications{margin-top:64px}.certifications-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin:0 auto;max-width:var(--max-width)}.certification-item{background:var(--color-surface);border:none;border-radius:12px;box-shadow:0 0 0 1px #0000000f,0 1px 2px -1px #0000000f,0 2px 4px 0 #0000000a;color:var(--color-text);padding:18px 22px;transition-duration:.15s;transition-property:box-shadow;transition-timing-function:ease-out}.certification-item:hover{box-shadow:0 0 0 1px #00000014,0 1px 2px -1px #00000014,0 4px 16px 0 #0000000f}.certification-content{align-items:center;display:flex;gap:14px}.certification-logo{background:var(--color-bg-alt);border-radius:6px;flex-shrink:0;height:32px;object-fit:contain;padding:3px;width:32px}.certification-text{color:var(--color-text-muted);font-size:.88rem;line-height:1.5}@media (max-width:768px){.edu-card-header{align-items:flex-start;flex-direction:column;gap:10px;padding:20px 24px}.additional-header-content,.edu-header-content{align-items:flex-start;flex-direction:column;gap:8px}.edu-header-right{gap:8px}.edu-card-body-inner,.edu-card-body-open .edu-card-body-inner{padding-left:24px;padding-right:24px}.institution-name{font-size:1.05rem}.institution-logo{height:36px;width:36px}.expand-icon{position:absolute;right:24px;top:24px}.edu-card-header{position:relative}.activities-grid,.coursework-grid{gap:6px}.certifications-grid{grid-template-columns:1fr}}.contact{background:var(--color-bg-alt);padding:var(--section-padding) 0}.contact-body{margin-top:56px}.contact-links{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:520px}.contact-card{align-items:center;background:var(--color-surface);border:none;border-radius:12px;box-shadow:0 0 0 1px #0000000f,0 1px 2px -1px #0000000f,0 2px 4px 0 #0000000a;cursor:pointer;display:flex;gap:20px;padding:24px 28px;text-decoration:none;transition-duration:.15s;transition-property:box-shadow;transition-timing-function:ease-out}.contact-card-static{cursor:default}.contact-card:hover{box-shadow:0 0 0 1px #8b6f4726,0 1px 2px -1px #00000014,0 4px 16px 0 #0000000f}.contact-card-static:hover{box-shadow:0 0 0 1px #0000000f,0 1px 2px -1px #0000000f,0 2px 4px 0 #0000000a}.contact-card-icon{align-items:center;background:var(--color-accent-subtle);border-radius:10px;color:var(--color-accent);display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.contact-card-label{color:var(--color-text-light);display:block;font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-bottom:2px;text-transform:uppercase}.contact-card-value{color:var(--color-text);display:block;font-size:.95rem;font-weight:500}@media (max-width:768px){.contact-card{gap:16px;padding:20px}.contact-card-value{font-size:.9rem}}.footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding:64px 0 0}.footer-top{display:flex;gap:48px;justify-content:space-between;padding-bottom:48px}.footer-brand{flex-shrink:0}.footer-name{color:var(--color-text);display:block;font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:6px;text-decoration:none}.footer-tagline{color:var(--color-text-muted);font-size:.85rem;margin:0}.footer-columns{display:flex;gap:64px}.footer-col{display:flex;flex-direction:column;gap:8px}.footer-col-title{color:var(--color-text);font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.footer-link{color:var(--color-text-muted);font-size:.88rem;text-decoration:none;transition:color var(--transition)}.footer-link:hover{color:var(--color-accent)}.footer-bottom{border-top:1px solid var(--color-border);padding:24px 0;text-align:center}.footer-copyright{color:var(--color-text-light);font-size:.78rem}@media (max-width:768px){.footer-top{flex-direction:column;gap:36px}.footer-columns{gap:36px}}@media (max-width:480px){.footer-columns{flex-direction:column;gap:28px}}.research-page{background:var(--color-bg);min-height:100vh;padding-top:100px}.research{padding:40px 0 var(--section-padding)}.research-header{margin-bottom:64px;padding:0 24px;text-align:center}.page-title{-webkit-text-fill-color:unset;background:none;-webkit-background-clip:unset;background-clip:initial}.research-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));margin:0 auto;max-width:var(--max-width-wide);padding:0 24px}.research-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 1px 3px #0000000a;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--transition)}.research-card:before{display:none}.research-card:hover{box-shadow:0 4px 20px #0000000f;transform:none}.research-card-forthcoming{cursor:default}.research-card-forthcoming:hover .research-thumbnail img{transform:none}.research-card-forthcoming .thumbnail-overlay{display:none}.forthcoming-label{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-light);font-size:.75rem;font-weight:600;letter-spacing:.12em;padding:4px 10px;text-transform:uppercase}.research-thumbnail{background:var(--color-bg-alt);height:220px;overflow:hidden;position:relative;width:100%}.research-thumbnail img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.research-card:hover .research-thumbnail img{transform:scale(1.03)}.thumbnail-overlay{align-items:center;background:#2c2c2cb3;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s ease}.thumbnail-overlay svg{color:#fff}.research-card:hover .thumbnail-overlay{opacity:1}.research-content{display:flex;flex:1 1;flex-direction:column;padding:28px}.research-meta{align-items:center;display:flex;gap:12px;margin-bottom:14px}.research-year{background:var(--color-accent-subtle);border-radius:100px;color:var(--color-accent);font-size:.78rem;font-weight:600;letter-spacing:.03em;padding:4px 12px}.research-venue-container{align-items:center;display:flex;gap:6px}.university-logo{height:20px;object-fit:contain;opacity:.7;width:auto}.research-venue{color:var(--color-text-light);font-size:.8rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.research-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text);display:-webkit-box;font-family:var(--font-serif);font-size:1.15rem;font-weight:600;line-height:1.4;margin:0 0 10px;overflow:hidden}.research-authors{color:var(--color-accent);font-size:.85rem;font-weight:500;margin:0 0 10px}.research-abstract{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text-muted);display:-webkit-box;flex:1 1;font-size:.9rem;line-height:1.7;margin-bottom:20px;overflow:hidden}.research-footer{border-top:1px solid var(--color-border);justify-content:flex-end;padding-top:14px}.read-more,.research-footer{align-items:center;display:flex}.read-more{color:var(--color-accent);font-size:.85rem;font-weight:500;gap:6px;opacity:0;transition:opacity var(--transition)}.research-card:hover .read-more{opacity:1;transform:none}.modal-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0009;display:flex;inset:0;justify-content:center;opacity:0;position:fixed;transition:all .3s ease;visibility:hidden;z-index:10000}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:var(--color-surface);border-radius:16px;box-shadow:0 25px 60px #00000026;display:flex;flex-direction:column;height:88vh;max-height:850px;max-width:1000px;position:relative;transform:scale(.95);transition:transform .3s ease;width:90%}.modal-overlay.active .modal-content{transform:scale(1)}.modal-header{align-items:flex-start;background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:16px 16px 0 0;display:flex;gap:20px;justify-content:space-between;padding:20px 28px}.modal-title-section{flex:1 1}.modal-title{color:var(--color-text);font-family:var(--font-serif);font-size:1.3rem;font-weight:600;line-height:1.3;margin:0 0 4px}.modal-authors{font-size:.85rem;font-weight:400;margin:0}.modal-authors,.modal-close{color:var(--color-text-muted)}.modal-close{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:36px;justify-content:center;padding:4px;transition:color var(--transition);width:36px}.modal-close:hover{background:none;color:var(--color-text);transform:none}.modal-body{border-radius:0 0 16px 16px;flex:1 1;overflow:hidden;padding:0}.pdf-viewer{background:#fff;border:none;height:100%;width:100%}@media (max-width:768px){.research-page{padding-top:70px}.page-title{font-size:2rem}.research-grid{gap:16px;grid-template-columns:1fr;padding:0 20px}.research-thumbnail{height:180px}.research-content{padding:20px}.modal-content{border-radius:12px;height:92vh;width:95%}.modal-header{border-radius:12px 12px 0 0;flex-direction:column;gap:10px;padding:16px 20px}.modal-close{align-self:flex-end}}.writing-page{background:var(--color-bg);min-height:100vh;padding-top:100px}.writing{padding:40px 0 var(--section-padding)}.writing-header{margin-bottom:64px;padding:0 24px;text-align:center}.page-title{color:var(--color-text);font-family:var(--font-serif);font-size:2.8rem;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}.page-subtitle{color:var(--color-text-muted);font-size:1.05rem;line-height:1.7;margin:0 auto;max-width:560px}.writing-empty{border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);color:var(--color-text-light);font-style:italic;margin:0 auto;max-width:560px;padding:80px 24px;text-align:center}.writing-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));margin:0 auto;max-width:var(--max-width-wide);padding:0 24px}.writing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 1px 3px #0000000a;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:box-shadow var(--transition),transform var(--transition)}.writing-card:hover{box-shadow:0 8px 28px #00000014;transform:translateY(-2px)}.writing-card-thumb{background:var(--color-bg-alt);height:200px;overflow:hidden;width:100%}.writing-card-thumb img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.writing-card:hover .writing-card-thumb img{transform:scale(1.04)}.writing-card-thumb-fallback{background:linear-gradient(135deg,var(--color-accent-subtle) 0,var(--color-bg-alt) 100%);height:100%;width:100%}.writing-card-body{display:flex;flex:1 1;flex-direction:column;padding:24px 28px 28px}.writing-card-meta{align-items:center;color:var(--color-text-light);display:flex;font-size:.75rem;gap:8px;letter-spacing:.1em;margin-bottom:12px;text-transform:uppercase}.writing-card-dot{opacity:.6}.writing-card-title{color:var(--color-text);font-family:var(--font-serif);font-size:1.35rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0 0 12px}.writing-card-summary,.writing-card-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.writing-card-summary{color:var(--color-text-muted);flex:1 1;font-size:.95rem;line-height:1.6;margin:0 0 16px}.writing-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.writing-tag{background:var(--color-accent-subtle);border-radius:999px;color:var(--color-accent);font-size:.72rem;letter-spacing:.08em;padding:4px 10px;text-transform:uppercase}@media (max-width:768px){.writing-grid{gap:20px;grid-template-columns:1fr}.page-title{font-size:2.2rem}.writing-card-thumb{height:180px}}.post-page{background:var(--color-bg);min-height:100vh;padding-top:100px}.post-progress{background:var(--color-accent);height:3px;left:0;pointer-events:none;position:fixed;right:0;top:0;transform-origin:left;transition:transform .1s ease-out;z-index:100}.post{margin:0 auto;max-width:720px;padding:40px 24px var(--section-padding)}.post-back{margin-bottom:32px}.post-back-link{color:var(--color-text-light);font-size:.85rem;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color var(--transition)}.post-back-link:hover{color:var(--color-accent)}.post-header{margin-bottom:48px}.post-meta{align-items:center;color:var(--color-text-light);display:flex;flex-wrap:wrap;font-size:.78rem;gap:8px;letter-spacing:.1em;margin-bottom:24px;text-transform:uppercase}.post-meta-dot{opacity:.6}.post-title{text-wrap:balance;color:var(--color-text);font-size:2.6rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0 0 18px}.post-subtitle,.post-title{font-family:var(--font-serif)}.post-subtitle{text-wrap:pretty;color:var(--color-text-muted);font-size:1.25rem;font-style:italic;font-weight:400;line-height:1.5;margin:0 0 32px}.post-byline{border-top:1px solid var(--color-border);color:var(--color-text-light);font-size:.85rem;padding-top:16px}.post-hero{background:var(--color-bg-alt);border-radius:0;margin:0 -24px 48px;overflow:hidden}.post-hero img{display:block;height:auto;max-height:480px;object-fit:cover;width:100%}.post-body{color:var(--color-text);font-size:1.075rem;line-height:1.8}.post-body p{text-wrap:pretty;margin:0 0 1.4em}.post-body p:first-of-type:first-letter{color:var(--color-accent);float:left;font-family:var(--font-serif);font-size:3.4em;font-weight:700;line-height:.9;margin:6px 12px 0 -2px}.post-body h2{font-size:1.75rem;font-weight:700;letter-spacing:-.01em;line-height:1.25;margin:2.4em 0 .6em}.post-body h2,.post-body h3{color:var(--color-text);font-family:var(--font-serif)}.post-body h3{font-size:1.35rem;font-weight:600;line-height:1.3;margin:2em 0 .6em}.post-body a{color:var(--color-accent);text-decoration:underline;-webkit-text-decoration-color:#8b6f4759;text-decoration-color:#8b6f4759;text-underline-offset:3px;transition:-webkit-text-decoration-color var(--transition);transition:text-decoration-color var(--transition);transition:text-decoration-color var(--transition),-webkit-text-decoration-color var(--transition)}.post-body a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.post-body strong{color:var(--color-text);font-weight:600}.post-body em{font-style:italic}.post-body blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-muted);font-size:1.1rem;font-style:italic;margin:1.8em 0;padding:0 0 0 24px}.post-body ol,.post-body ul{color:var(--color-text-muted);margin:0 0 1.4em;padding-left:1.4em}.post-body li{line-height:1.7;margin-bottom:.6em}.post-body li::marker{color:var(--color-text-light)}.post-body img{border-radius:8px;height:auto;margin:1.6em 0;max-width:100%}.post-body code{border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);padding:2px 6px}.post-body code,.post-body pre{background:var(--color-bg-alt);font-size:.9em}.post-body pre{border-radius:8px;line-height:1.6;margin:1.6em 0;overflow-x:auto;padding:18px 20px}.post-body pre code{background:#0000;padding:0}.post-body hr{border:none;margin:2.4em 0}.post-body hr,.post-nav{border-top:1px solid var(--color-border)}.post-nav{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-top:64px;padding-top:32px}.post-nav-prev{text-align:left}.post-nav-next{text-align:right}.post-nav-link{color:inherit;display:inline-flex;flex-direction:column;gap:6px;text-decoration:none;transition:color var(--transition)}.post-nav-link:hover{color:var(--color-accent)}.post-nav-label{color:var(--color-text-light);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.post-nav-title{color:var(--color-text);font-family:var(--font-serif);font-size:1rem;font-weight:500;line-height:1.4}.post-nav-link:hover .post-nav-title{color:var(--color-accent)}@media (max-width:768px){.post{padding:32px 20px var(--section-padding)}.post-title{font-size:2rem}.post-subtitle{font-size:1.1rem}.post-body{font-size:1.02rem}.post-body h2{font-size:1.5rem}.post-hero{margin:0 -20px 36px}.post-nav{gap:16px;grid-template-columns:1fr}.post-nav-next{text-align:left}}.off-clock-page{background:var(--color-bg);min-height:100vh;padding-top:100px}.off-clock-hero{padding:48px 0 72px}.off-clock-kicker,.off-clock-section-label{color:var(--color-accent);display:block;font-size:.76rem;font-weight:600;letter-spacing:.14em;line-height:1.4;margin-bottom:12px;text-transform:uppercase}.off-clock-kicker{text-align:center}.off-clock-section{padding:72px 0}.off-clock-mind{padding-top:0}.off-clock-panel,.recent-note{background:linear-gradient(135deg,#ffffffeb,#ffffffc2),var(--color-surface);border-radius:28px;box-shadow:inset 0 1px 0 #ffffffd9,0 24px 70px #5d462a14;padding:44px}.off-clock-panel-featured{overflow:hidden;position:relative}.off-clock-panel-featured:after{background:var(--color-accent-subtle);border-radius:50%;bottom:-120px;content:"";height:260px;position:absolute;right:-80px;width:260px}.off-clock-panel p,.recent-note p{text-wrap:pretty;color:var(--color-text);font-family:var(--font-serif);font-size:1.4rem;letter-spacing:-.01em;line-height:1.75;margin:0;position:relative;z-index:1}.off-clock-panel h2{text-wrap:balance;color:var(--color-text);font-family:var(--font-serif);font-size:2rem;letter-spacing:-.02em;line-height:1.25;margin:0 0 24px}.off-clock-section-header{margin:0 auto 36px;max-width:720px;text-align:center}.off-clock-section-header h2{text-wrap:balance;color:var(--color-text);font-family:var(--font-serif);font-size:2.2rem;letter-spacing:-.02em;line-height:1.25;margin:0}.moments-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}.moment-card{background:var(--color-surface);border-radius:22px;box-shadow:inset 0 1px 0 #fffc,0 14px 40px rgba(0,0,0,.045);overflow:hidden}.moment-card-image{grid-gap:4px;background:radial-gradient(circle at 20% 20%,#b8956a42,#0000 34%),linear-gradient(135deg,var(--color-accent-subtle),var(--color-bg-alt));display:grid;gap:4px;grid-template-columns:1fr;min-height:150px;outline:1px solid #0000000d;outline-offset:-1px;overflow:hidden}.moment-card-image img{height:100%;min-height:150px;object-fit:cover;width:100%}.moment-card-image-collage{grid-template-columns:repeat(2,minmax(0,1fr))}.moment-card-image-collage img:first-child{grid-row:span 2}.moment-card-image-collage img{min-height:73px}.moment-card-body{padding:24px}.moment-card h3{text-wrap:balance;color:var(--color-text);font-family:var(--font-serif);font-size:1.2rem;letter-spacing:-.01em;line-height:1.3;margin:0 0 10px}.moment-card p{text-wrap:pretty;color:var(--color-text-muted);font-size:.95rem;line-height:1.7;margin:0}.off-clock-reading{background:var(--color-bg-alt)}.rendered-bookshelf{background:linear-gradient(180deg,#ffffffb8,#ffffff6b),#d3aa7b;border-radius:28px;box-shadow:inset 0 1px 0 #ffffffd9,0 28px 80px #5d462a29;isolation:isolate;margin:0 auto;max-width:980px;overflow:hidden;padding:28px 28px 34px;position:relative;transition-duration:.36s;transition-property:background-color,box-shadow,filter;transition-timing-function:cubic-bezier(.2,0,0,1)}.rendered-bookshelf:after,.rendered-bookshelf:before{content:"";inset:0;pointer-events:none;position:absolute;transition-duration:.4s;transition-property:opacity;transition-timing-function:cubic-bezier(.2,0,0,1)}.rendered-bookshelf:before{background:radial-gradient(circle at 86% 12%,#ffc7686b,#0000 36%),radial-gradient(circle at 50% 118%,#4c2b1833,#0000 46%);z-index:0}.rendered-bookshelf:after{background:radial-gradient(circle at 86% 8%,#0000 0 28%,#29191014 58%,#21140e42 100%),linear-gradient(180deg,#ffeecb1f,#28180f29);border-radius:inherit;mix-blend-mode:multiply;z-index:3}.bookshelf-lamp-on{background:linear-gradient(180deg,#fff8e6d1,#e5c69b94),#d0a36f;box-shadow:inset 0 1px 0 #ffffffe0,0 24px 70px #6e49262e,0 0 80px #ffca742e}.bookshelf-lamp-on:before{opacity:1}.bookshelf-lamp-on:after{opacity:.54}.bookshelf-lamp-off{background:linear-gradient(180deg,#b9a48b80,#775b4494),#98704e;box-shadow:inset 0 1px 0 #ffffff47,0 32px 90px #27191142,0 0 0 1px #37231614;filter:saturate(.82)}.bookshelf-lamp-off:before{opacity:0}.bookshelf-lamp-off:after{opacity:.86}.lamp-blend{mix-blend-mode:screen}.shelf-objects-bottom{bottom:20px;min-width:178px;pointer-events:none;position:absolute;right:18px;width:min(240px,28vw);z-index:4}.shelf-objects-svg{color:inherit;display:block;overflow:visible;width:100%}.plant-scene{cursor:default;pointer-events:auto}.plant-wiggle{transition-duration:.68s;transition-property:transform;transition-timing-function:cubic-bezier(.25,1,.5,1)}.lamp-toggle{cursor:pointer;outline:none;pointer-events:auto}.lamp-toggle:focus-visible{filter:drop-shadow(0 0 10px rgba(255,244,211,.72))}.bookshelf-lamp-off .lamp-blend{opacity:0}.bookshelf-lamp-off .shelf-objects-svg{filter:brightness(.78) saturate(.78)}.shelf-row{padding:0 0 30px;position:relative;z-index:1}.shelf-row-with-objects .shelf-books{padding-right:min(250px,30vw)}.shelf-row+.shelf-row{margin-top:30px}.shelf-row:after{background:linear-gradient(180deg,#ffffff2e,#0000),#8f6548;border-radius:0 0 12px 12px;bottom:0;box-shadow:0 12px 24px #412a1a2e;content:"";height:24px;left:-14px;position:absolute;right:-14px}.shelf-row-heading{align-items:baseline;display:flex;gap:20px;justify-content:space-between;margin-bottom:18px;padding:0 4px}.shelf-row-heading h3{color:#4a3326;font-family:var(--font-serif);font-size:1.25rem;letter-spacing:-.01em;line-height:1.3;margin:0}.shelf-row-heading span{color:#4a3326ad;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.shelf-books{align-items:flex-end;display:flex;gap:16px;min-height:230px;overflow-x:auto;padding:4px 2px 18px;scrollbar-color:#4a332652 #0000}.book-cover-button{background:linear-gradient(90deg,#0003,#0000 12%,#0000 88%,#ffffff2e),var(--book-color);border:0;border-radius:7px 12px 12px 7px;box-shadow:8px 10px 20px #37231438,inset 1px 0 0 #ffffff61,inset -8px 0 0 #00000014;color:#fff;cursor:pointer;display:flex;filter:brightness(1);filter:brightness(var(--book-light,1));flex:0 0 122px;flex-direction:column;font-family:var(--font-sans);justify-content:space-between;min-height:198px;padding:18px 14px 16px;position:relative;text-align:left;transition-duration:.28s;transition-property:box-shadow,transform,filter;transition-timing-function:ease}.book-cover-button-image{background:var(--color-surface);box-shadow:8px 10px 20px #37231438,inset -8px 0 0 #0000000f;justify-content:center;overflow:hidden;padding:0}.book-cover-button:nth-child(2n){min-height:214px}.book-cover-button:nth-child(3n){flex-basis:132px;min-height:184px}.book-cover-button:nth-child(4n){flex-basis:116px;min-height:224px}.book-cover-button:before{background:#ffffff47;bottom:14px;content:"";left:10px;position:absolute;top:14px;width:1px}.book-cover-button-image:before{content:none}.book-cover-button:focus-visible,.book-cover-button:hover{box-shadow:10px 16px 28px #37231447,inset 1px 0 0 #ffffff61,inset -8px 0 0 #00000014;transform:translateY(-8px)}.book-cover-button-image:focus-visible,.book-cover-button-image:hover{box-shadow:10px 16px 28px #37231447,inset -8px 0 0 #0000000f}.book-cover-button:active{transform:translateY(-4px) scale(.96)}.book-cover-button:focus-visible{box-shadow:0 0 0 6px #4a33269e,10px 16px 28px #37231447,inset 1px 0 0 #ffffff61,inset -8px 0 0 #00000014;outline:3px solid #ffffffe0;outline-offset:4px}.book-cover-image{height:100%;min-height:inherit;object-fit:cover;object-position:center;outline:1px solid #ffffff47;outline-offset:-1px;width:100%}.book-cover-button-image .book-cover-author,.book-cover-button-image .book-cover-title,.book-cover-button-image .book-cover-type{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.book-cover-type{align-self:flex-start;background:#ffffff2e;border-radius:999px;color:#ffffffe6;font-size:.62rem;font-weight:700;letter-spacing:.12em;padding:4px 7px;text-transform:uppercase}.book-cover-title{text-wrap:balance;display:block;font-family:var(--font-serif);font-size:1.02rem;font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:18px 0 auto}.book-cover-author{color:#ffffffc7;display:block;font-size:.68rem;font-weight:600;line-height:1.25;margin-top:18px}.book-detail-overlay{align-items:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#2c2c2c57;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10000}.book-detail-card{grid-gap:30px;background:var(--color-surface);border-radius:28px;box-shadow:0 30px 90px #0003;display:grid;gap:30px;grid-template-columns:minmax(160px,220px) minmax(0,1fr);max-height:min(680px,calc(100vh - 48px));overflow:auto;padding:30px;position:relative;width:min(720px,100%)}.book-detail-close{background:var(--color-accent-subtle);border:0;border-radius:50%;color:var(--color-text);cursor:pointer;display:grid;font-size:1.65rem;height:42px;line-height:1;place-items:center;position:absolute;right:16px;top:14px;transition-duration:.25s;transition-property:background-color,color,transform;transition-timing-function:ease;width:42px}.book-detail-close:hover{background:var(--color-accent);color:var(--color-bg);transform:rotate(4deg)}.book-detail-close:active{transform:scale(.96)}.book-detail-cover{background:linear-gradient(90deg,#0003,#0000 14%,#0000 88%,#fff3),var(--book-color);border-radius:10px 18px 18px 10px;box-shadow:12px 18px 34px #0000002e,inset -12px 0 0 #00000014;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;padding:28px 22px 24px}.book-detail-cover-image{background:var(--color-surface);display:block;overflow:hidden;padding:0}.book-detail-cover-image img{display:block;height:100%;min-height:300px;object-fit:cover;object-position:center;width:100%}.book-detail-cover span{align-self:flex-start;background:#ffffff2e;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.12em;padding:5px 9px;text-transform:uppercase}.book-detail-cover strong{font-family:var(--font-serif);font-size:1.7rem;letter-spacing:-.03em;line-height:1.08}.book-detail-content{align-self:center;padding-right:20px}.book-detail-kicker{color:var(--color-accent);display:block;font-size:.74rem;font-weight:700;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.book-detail-content h2{text-wrap:balance;color:var(--color-text);font-family:var(--font-serif);font-size:2.1rem;letter-spacing:-.03em;line-height:1.15;margin:0 0 10px}.book-detail-author{color:var(--color-text-muted);font-size:1rem;margin:0 0 16px}.book-detail-status{background:var(--color-accent-subtle);border-radius:999px;color:var(--color-accent);display:inline-flex;font-size:.76rem;font-weight:700;letter-spacing:.08em;margin:0 0 22px;padding:7px 12px;text-transform:uppercase}.book-detail-copy{text-wrap:pretty;color:var(--color-text-muted);font-size:1rem;line-height:1.75;margin:0}.radar-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.radar-tag{align-items:center;animation:radarFloat 4.8s ease-in-out infinite;animation-delay:var(--radar-delay);background:radial-gradient(circle at 18px 50%,#ffffffad,#0000 28px),var(--color-accent-subtle);border-radius:999px;box-shadow:inset 0 1px 0 #ffffffb8,0 10px 26px #5d462a0f;color:var(--color-accent);display:inline-flex;font-size:.88rem;font-weight:500;gap:8px;min-height:40px;overflow:hidden;padding:9px 16px 9px 11px;position:relative}.radar-tag:after{animation:radarPulse 3.6s ease-out infinite;animation-delay:var(--radar-delay);border:1px solid #8b6f4729;border-radius:inherit;content:"";inset:7px;opacity:0;position:absolute;transform:scale(.9)}.radar-emoji{animation:emojiBob 2.8s ease-in-out infinite;animation-delay:var(--radar-delay);background:#ffffffa3;border-radius:50%;display:inline-grid;filter:saturate(1.05);font-size:1rem;height:28px;line-height:1;place-items:center;width:28px}.off-clock-recent{padding-top:40px}.recent-note{isolation:isolate;min-height:360px;overflow:hidden;position:relative}.recent-note:after{background:linear-gradient(90deg,#ffffffb8,#ffffff75 54%,#ffffff29),linear-gradient(180deg,#ffffff14,#ffffff42);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}.recent-note .off-clock-section-label{position:relative;z-index:1}.recent-note p{max-width:760px}.recent-travel-map{border-radius:inherit;height:auto;inset:-18px -22px;opacity:1;overflow:hidden;pointer-events:none;position:absolute;width:auto;z-index:0}.europe-map{filter:drop-shadow(0 18px 34px rgba(93,70,42,.08));height:100%;overflow:hidden;width:100%}.europe-map-country{fill:#8b6f474d;stroke:#8b6f4794;stroke-linecap:round;stroke-linejoin:round;stroke-width:.75;vector-effect:non-scaling-stroke}.flight-route-line{fill:none;stroke:#8b6f47d1;stroke-dasharray:4 5;stroke-linecap:round;stroke-width:1.5}.map-marker{text-anchor:middle;color:var(--color-accent)}.map-marker circle,.map-marker path{vector-effect:non-scaling-stroke}.map-marker-home{color:#c74d3f}.map-marker-home path{fill:currentColor;filter:drop-shadow(0 8px 12px rgba(114,37,28,.22))}.map-marker-home circle{fill:#ffffffeb}.map-marker-city circle{fill:var(--color-accent);stroke:#ffffffe6;stroke-width:3;filter:drop-shadow(0 7px 12px rgba(93,70,42,.18))}.map-marker text{fill:currentColor;stroke:#ffffffdb;stroke-linejoin:round;stroke-width:5px;font-family:var(--font-sans);font-size:10px;font-weight:800;letter-spacing:.11em;paint-order:stroke;text-transform:uppercase}.map-plane{fill:var(--color-text);stroke:#ffffffad;stroke-width:2px;text-anchor:middle;dominant-baseline:central;filter:drop-shadow(0 6px 10px rgba(93,70,42,.2));font-size:1.45rem;paint-order:stroke}.map-plane-static{display:none}@media (max-width:900px){.moments-grid{margin:0 auto;max-width:640px}.book-detail-card,.moments-grid{grid-template-columns:1fr}.book-detail-cover{min-height:240px}}@media (max-width:768px){.off-clock-hero{padding:32px 0 48px}.off-clock-section{padding:52px 0}.off-clock-panel,.recent-note{border-radius:22px;padding:30px}.recent-note{min-height:390px}.recent-note p{width:100%}.recent-travel-map{inset:-10px -34px;opacity:.9}.off-clock-panel p,.recent-note p{font-size:1.16rem}.off-clock-panel h2,.off-clock-section-header h2{font-size:1.75rem}.rendered-bookshelf{border-radius:22px;padding:24px 20px 28px}.shelf-books{gap:12px}.shelf-row-with-objects .shelf-books{padding-right:0}.shelf-objects-bottom{bottom:auto;margin:-12px 4px 0 auto;position:relative;right:auto;width:210px}.book-cover-button{flex-basis:112px;min-height:184px}.book-detail-card{gap:22px;padding:24px}.book-detail-content h2{font-size:1.7rem}}@media (max-width:480px){.off-clock-panel,.recent-note,.rendered-bookshelf{padding:24px}.recent-note{min-height:460px;padding:22px}.recent-note:after{background:linear-gradient(180deg,#ffffff29,#ffffff7a 42%,#ffffffa8),linear-gradient(90deg,#ffffffa3,#ffffff47)}.recent-travel-map{height:280px;inset:-4px -84px auto -72px;opacity:.92}.moment-card-body{padding:22px}.off-clock-panel p,.recent-note p{font-size:1.05rem}.recent-note p{font-size:.98rem;line-height:1.68}.shelf-row-heading{align-items:flex-start;flex-direction:column;gap:4px}.book-detail-overlay{padding:14px}.book-detail-card{border-radius:22px}}@keyframes radarFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes radarPulse{0%{opacity:0;transform:scale(.88)}35%{opacity:1}to{opacity:0;transform:scale(1.2)}}@keyframes emojiBob{0%,to{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(3deg) translateY(-2px)}}@media (prefers-reduced-motion:reduce){.book-detail-overlay{backdrop-filter:none;-webkit-backdrop-filter:none;background:#2c2c2cb8}.radar-emoji,.radar-tag,.radar-tag:after{animation:none}.map-plane-animated{display:none}.map-plane-static{display:block}.book-cover-button,.book-detail-close,.plant-wiggle,.radar-tag,.rendered-bookshelf,.rendered-bookshelf:after,.rendered-bookshelf:before{transition:none}.book-cover-button:active,.book-cover-button:focus-visible,.book-cover-button:hover,.book-detail-close:active,.book-detail-close:hover{transform:none}}.App{background-color:var(--color-bg);display:flex;flex-direction:column;min-height:100vh}section{padding:var(--section-padding) 0}@media (max-width:768px){section{padding:var(--section-padding-mobile) 0}}
/*# sourceMappingURL=main.2f334897.css.map*/