/* Personal site / editorial layout. Screen rules intentionally
   leave the résumé's existing one-page print layout intact. */
@media screen {
:root{--paper:#f1f0ed;--ink:#111113;--muted:#70706d;--line:#cfceca;--accent:#2563eb;--scrim:241,240,237;--bg:var(--paper);--bg-body:var(--paper);--bg-page:var(--paper);--bg-card:var(--paper);--bg-header:#e9e8e4;--surface-card:var(--paper);--text-main:var(--ink);--text-primary:var(--ink);--text-sub:var(--muted);--text-secondary:var(--muted);--border:var(--line);--primary:var(--ink);--shadow:none;--glass-surface:var(--paper);--glass-border:var(--line);--accent-blue:var(--ink);--timeline-accent:var(--ink);--tl-accent:var(--ink);color-scheme:light}
html[data-theme=dark]{--paper:#111214;--ink:#f1f0ed;--muted:#a4a4ab;--line:#34363a;--accent:#82a8ff;--scrim:17,18,20;--bg-header:#1c1d20;color-scheme:dark}
html,html[data-theme=dark],body{background:var(--paper)!important;color:var(--ink)!important;display:block!important;margin:0!important;padding:0!important;min-height:100%;width:100%;overflow-x:clip}
html{scroll-padding-top:64px!important;scroll-behavior:smooth!important}body{padding-top:48px!important;font-family:Arial,Helvetica,sans-serif!important;line-height:1.65}*{box-sizing:border-box}body *{font-family:inherit}a{color:inherit}button{font:inherit;color:inherit}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--muted)}img{max-width:100%}a:focus-visible,button:focus-visible,[role=button]:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}body::before,body::after{display:none!important}.ac-nav{height:48px;position:fixed;inset:0 0 auto;z-index:1000;display:flex;align-items:center;border-bottom:1px solid var(--line);background:var(--paper);padding:0;box-shadow:none;line-height:1}.ac-brand{height:48px;display:flex;align-items:center;padding:0 23px;border-right:1px solid var(--line);font-size:24px;font-weight:900;letter-spacing:-2px;text-decoration:none}.ac-brand span{color:var(--accent)}.ac-nav-links{display:flex;align-items:center;gap:20px;padding:0 20px}.ac-nav-links a{padding:6px 8px;text-decoration:none;text-transform:uppercase;color:var(--muted);font:10px 'SFMono-Regular',Consolas,monospace;letter-spacing:1.8px}.ac-nav-links a[aria-current]{background:var(--ink);color:var(--paper)}.ac-nav-actions{height:100%;display:flex;align-items:stretch;margin-left:auto}.ac-nav-actions button{border:0;border-left:1px solid var(--line);background:none;height:100%;min-width:48px;cursor:pointer;padding:0 16px;font-size:17px}.ac-nav-actions .ac-language{font:9px monospace;letter-spacing:1px}.ac-theme i{display:none}.ac-contact-link{display:flex;align-items:center;background:var(--ink);color:var(--paper);text-decoration:none;padding:0 26px;font:700 10px monospace;letter-spacing:1.5px;text-transform:uppercase}.ac-nav-actions .ac-menu-toggle{display:none}.ac-nav [hidden]{display:none!important}.ac-section-label,.ac-eyebrow,.eyebrow,.ac-strip,.ac-simple-footer,.ac-section-mark,.timeline-date,.date,.now-label,.now-updated,.skill-tag,.footer-contact,.footer-copyright,.button,.btn,.tb-btn,.card-toggle-btn{font-family:'SFMono-Regular',Consolas,monospace!important}.ac-eyebrow,.eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}.ac-section{position:relative;max-width:1280px!important;width:calc(100% - 112px)!important;margin:0 auto!important;padding:0 0 60px!important;border:1px solid var(--line);border-top:0;border-radius:0;background:var(--paper)!important}.ac-section-label{position:sticky;top:48px;z-index:50;display:flex;justify-content:space-between;align-items:center;min-height:47px;padding:12px 40px;background:var(--paper);border-block:1px solid var(--line);font-size:10px;letter-spacing:1.7px;color:var(--muted);text-transform:uppercase}.ac-section-label b{font-weight:400;color:var(--muted);margin-right:10px}.ac-section-mark{font-size:22px;color:var(--muted)}.ac-section>h2{font-size:clamp(38px,4.5vw,65px)!important;font-weight:600!important;line-height:1.06!important;letter-spacing:-2.5px!important;padding:64px 40px 35px!important;margin:0!important;text-align:left!important;color:var(--ink)!important;display:block!important;border:0!important}.ac-section>h2:before,.ac-section>h2:after{display:none!important}.ac-section>h2 .now-updated{display:block;font-size:10px;letter-spacing:1px;margin-top:20px;color:var(--muted)}.ac-section>.card,.ac-section>.timeline,.ac-section>.skills-container{margin:0 40px 24px!important}.card,.simple-card,.no-glass-box,.game-card,.music-card,.photo-card,.projects-table,.paper{border-radius:0!important;box-shadow:none!important;background:var(--paper)!important;border-color:var(--line)!important;backdrop-filter:none!important}.card:hover,.simple-card:hover,.game-card:hover,.music-card:hover{box-shadow:none!important;transform:none!important}.card{padding:32px!important;border:1px solid var(--line)!important;color:var(--ink)}.card h3{font-size:24px!important;line-height:1.3;font-weight:600;letter-spacing:-.6px;color:var(--ink)}.card p,.card li{font-size:15px;line-height:1.8;color:var(--muted)}.card strong{color:var(--ink)}.card:before,.card:after{display:none!important}.btn,.tb-btn,.button,.link-group a,.cp-links a{border-radius:0!important;box-shadow:none!important;border:1px solid var(--line)!important;background:var(--paper)!important;color:var(--ink)!important;text-transform:uppercase;font-size:10px!important;letter-spacing:1.2px!important;padding:14px 20px!important;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn:hover,.button:hover,.tb-btn:hover,.link-group a:hover{background:var(--ink)!important;color:var(--paper)!important;transform:none!important}.btn:not(.btn-outline),.button.primary,.tb-btn.primary,.cp-links .cp-store{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}.now-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;margin:0 40px!important;border:1px solid var(--line)}.now-grid .card{margin:0!important;border:0!important;padding:35px!important;min-height:205px}.now-grid .card:nth-child(odd){border-right:1px solid var(--line)!important}.now-grid .card:nth-child(-n+2){border-bottom:1px solid var(--line)!important}.now-label{font-size:10px!important;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:24px!important;color:var(--muted)!important}.now-label i{display:none}.now-main{font-size:25px!important;line-height:1.25!important;font-weight:600!important;letter-spacing:-.6px}.now-sub{margin-top:18px!important;color:var(--muted)!important;font-size:15px!important;line-height:1.7}.edu-card{position:relative;padding:45px!important;min-height:330px;overflow:hidden}.edu-logo{float:right!important;width:115px!important;margin:0 0 20px 30px!important;position:static!important}.edu-logo img{width:100%!important;object-fit:contain}.edu-card .date{color:var(--muted);font-size:10px;margin-bottom:24px;display:block}.ac-photo-break{position:relative;height:510px;overflow:hidden;background:#12141b}.ac-photo-break>img{width:100%;height:100%;object-fit:cover;filter:brightness(.68)}.ac-photo-break>div{position:absolute;top:65px;left:max(7vw,calc((100vw - 1200px)/2));color:#fff}.ac-photo-break .ac-eyebrow{color:#ccc}.ac-photo-break p{font-size:clamp(45px,5.5vw,80px);line-height:1.02;letter-spacing:-3px;margin:35px 0}.ac-photo-break em{color:#ddd}.ac-photo-break a{font:10px monospace;color:#fff;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #999;padding-bottom:10px}
.timeline{display:block!important;padding:0!important;border:0!important}.timeline:before,.timeline:after,.timeline-dot,.timeline-content:after{display:none!important}.timeline-item,.timeline-item:nth-child(even),.timeline-item:nth-child(odd){width:100%!important;display:block!important;margin:0!important;padding:0!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important}.timeline-content{width:100%!important;margin:0!important;padding:0!important;text-align:left!important}.timeline-content .card{padding:35px 32px 35px 205px!important;position:relative;border-bottom:0!important}.timeline-item:last-child .card{border-bottom:1px solid var(--line)!important}.timeline-date{position:absolute!important;top:40px!important;left:32px!important;width:145px!important;text-align:left!important;color:var(--muted)!important;font-size:10px!important;letter-spacing:1px;line-height:1.8!important}.timeline-content .coe-logo,.timeline-content .spic-logo{position:static!important;float:right;max-width:100px!important;height:45px!important;margin-left:25px!important;opacity:.8}.timeline-content .coe-logo img,.timeline-content .spic-logo img{width:100%!important;height:100%!important;object-fit:contain}.timeline-content h3{margin:0 0 7px!important}.timeline-content .date{font-size:11px!important;color:var(--muted)}.card-toggle-btn{position:static!important;display:inline-flex!important;align-items:center;padding:10px 0!important;background:none!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;color:var(--muted)!important;font-size:10px!important;letter-spacing:1px;margin-top:20px}.card-collapsible-body{transition:max-height .45s ease,opacity .35s ease!important}.card-collapsible-body ul{padding-left:20px}.card-collapsible-body li+li{margin-top:12px}.cp-feature{background:var(--paper)!important;gap:45px!important;padding:40px!important}.cp-feature .cp-label,.cp-tags span{background:none!important;color:var(--muted)!important;border-radius:0!important;border:1px solid var(--line)!important;font:10px monospace;letter-spacing:1px}.cp-live iframe{border-radius:0!important;box-shadow:none!important;border:1px solid var(--line)!important}.skill-tag{border-radius:0!important;background:none!important;border:1px solid var(--line)!important;box-shadow:none!important;color:var(--ink)!important;font-size:11px!important;padding:9px 12px!important;letter-spacing:0}.skill-tag:hover{transform:none!important}.skill-icon{width:18px;height:18px}.note-link{color:var(--ink)!important}.guestbook-hint,.guestbook-note{margin-inline:40px;color:var(--muted)}#giscus-container{margin:20px 40px}footer.watermark-footer{border-top:1px solid var(--line)!important;min-height:390px!important;overflow:hidden;padding:90px 45px 35px!important;position:relative;background:var(--paper)!important;margin:0!important;max-width:none!important;width:100%!important;color:var(--ink)!important}footer.watermark-footer:before{content:'LET’S CONNECT';font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(65px,10vw,150px)!important;line-height:1;font-weight:700!important;letter-spacing:-.055em!important;color:var(--line)!important;top:55px!important;left:40px!important;transform:none!important;opacity:.55!important;white-space:nowrap}footer.watermark-footer:after{display:none!important}.footer-contact{position:relative!important;z-index:1;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;padding:80px 0 10px!important;display:flex;justify-content:center;gap:25px;max-width:none!important;width:100%!important}.footer-contact p{font-size:12px!important;color:var(--ink)!important;line-height:1.8!important}.footer-socials a{color:var(--ink)!important}.footer-copyright{color:var(--muted)!important;font-size:9px!important;letter-spacing:1px}.ac-simple-footer{margin:90px 0 0;padding:25px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:10px;letter-spacing:1px;color:var(--muted)}.ac-simple-footer a{text-decoration:none}.ac-simple-footer a:first-child{color:var(--ink);font-weight:bold}.copy-toast{border-radius:0!important}.ac-strip{display:flex;justify-content:space-around;gap:25px;padding:17px 30px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.7px;white-space:nowrap;overflow:hidden}.ac-strip span:before{content:'▪';margin-right:20px;color:var(--accent)}
/* The real home page uses the same observed spiral geometry as the standalone demo. */
body[data-page=index] .ac-hero{min-height:calc(100svh - 48px)!important;height:auto!important;display:grid!important;place-items:center!important;position:relative!important;padding:0!important;margin:0!important;border:0!important;width:100%!important;max-width:none!important;overflow:hidden;background:var(--paper)!important;isolation:isolate}.universe{position:absolute;inset:0;z-index:0;overflow:hidden;touch-action:pan-y}#tracks,#cards{position:absolute;inset:0;width:100%;height:100%}.orbit-card{position:absolute;top:0;left:0;width:1px;height:1px;border-radius:10px;overflow:hidden;will-change:transform;box-shadow:inset 0 0 0 1px #8884;background:var(--line);transform-origin:center}.orbit-card img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.ac-hero .intro{pointer-events:none;position:relative;z-index:40;text-align:center;width:min(100%,740px);padding:55px 24px;isolation:isolate}.ac-hero .scrim{position:absolute;inset:-60px -120px;z-index:-1;background:radial-gradient(closest-side,rgba(var(--scrim),.93),rgba(var(--scrim),.72) 45%,transparent);pointer-events:none}.ac-hero h1{font-size:clamp(42px,7.5vw,100px)!important;font-weight:900!important;letter-spacing:-.065em!important;line-height:1!important;white-space:nowrap;margin:20px 0 35px!important;color:var(--ink)!important;text-shadow:none!important;position:relative;isolation:isolate}.ac-hero h1:before{content:'';position:absolute;inset:-35% -6%;z-index:-1;backdrop-filter:blur(12px);mask-image:radial-gradient(closest-side,black 45%,transparent)}.ac-hero h2{font-size:34px!important;font-weight:600!important;letter-spacing:-1px!important;margin:0 0 18px!important;line-height:1.15!important;border:0!important}.ac-hero h2:after{display:none!important}.ac-hero .bio{font-size:18px!important;line-height:1.6!important;max-width:465px;margin:0 auto!important;color:var(--muted)!important}.ac-hero .eyebrow{margin:0!important;font-size:10px!important;color:var(--muted)!important;letter-spacing:1.8px!important}.ctas{display:flex;justify-content:center;gap:12px;margin-top:28px;pointer-events:auto}.proof{font:9px monospace!important;margin:25px 0 0!important;color:var(--muted)!important;text-transform:uppercase;letter-spacing:1.4px;line-height:1.8!important}.proof span{margin:0 10px}.corner-note,.scroll-note{position:absolute;bottom:25px;z-index:45;font:9px monospace!important;letter-spacing:1.4px;color:var(--muted)!important;text-transform:uppercase}.corner-note{left:30px;display:flex;align-items:center;gap:9px}.scroll-note{right:40px;text-decoration:none}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.ac-hero .fun-fact{pointer-events:auto;display:inline-flex!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;font:10px monospace!important;letter-spacing:0!important;color:var(--muted)!important;margin:16px 0 0!important;padding:0!important}.ac-portrait{width:25px!important;height:25px!important;object-fit:cover;border-radius:50%;display:inline-block!important;vertical-align:middle;margin:0 0 0 10px;pointer-events:auto;cursor:pointer}.ac-hero .mobile-break{display:none}
/* Secondary pages: large editorial openers and the same ruled content grid. */
body[data-page=about] .header{max-width:1280px!important;width:calc(100% - 112px)!important;margin:0 auto!important;padding:85px 40px 60px!important;text-align:left!important;border-inline:1px solid var(--line)}.header-title-row{justify-content:space-between!important}.header h1,.ac-page-heading h1{font-size:clamp(65px,8vw,112px)!important;font-weight:600!important;line-height:.98!important;letter-spacing:-.06em!important;text-align:left!important;color:var(--ink)!important;margin:0!important}.header>p,.ac-page-heading>p:last-child{font-size:18px!important;line-height:1.6;color:var(--muted)!important;max-width:650px;margin:30px 0 0!important}#biography{padding:45px 40px!important;border-top:1px solid var(--line)}.about-intro-layout{gap:50px!important;align-items:start!important}.about-selfie{width:240px!important;max-height:320px!important;object-fit:cover;aspect-ratio:3/4;border-radius:0!important;border:0!important;box-shadow:none!important}.about-intro-layout p{font-size:17px!important;line-height:1.85!important;color:var(--muted)!important;margin:0 0 24px!important}.showcase-container{padding:40px!important;border-top:1px solid var(--line)!important}.showcase-header{font-size:54px!important;text-align:left!important;letter-spacing:-2px;font-weight:600!important;color:var(--ink)!important}.toggle-wrapper{border:1px solid var(--line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;margin:30px 0!important;padding:0!important}.toggle-glider{border-radius:0!important;background:var(--ink)!important}.toggle-btn{font:11px monospace!important;letter-spacing:1px;color:var(--muted)!important}.toggle-btn.active{color:var(--paper)!important}.grid-panel{gap:0!important}.games-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.game-card,.music-card{border:1px solid var(--line)!important;padding:25px!important;margin:0!important}.game-card .card-img-box{width:100%!important;aspect-ratio:16/10!important;height:auto!important;border-radius:0!important;margin-bottom:24px!important}.card-img-box img{width:100%!important;height:100%!important;object-fit:cover}.card-title,.music-title{font-size:23px!important;font-weight:600;letter-spacing:-.5px}.music-cover-wrapper,.music-cover{border-radius:0!important}.music-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.photo-section{padding:50px 40px!important;border-top:1px solid var(--line)!important}.photo-title{font-size:54px!important;letter-spacing:-2px!important;color:var(--ink)!important}.photo-grid{gap:20px!important}.photo-card,.photo-item,.photo-card img,.photo-item img{border-radius:0!important;box-shadow:none!important}.photo-caption{color:var(--muted)!important}.lightbox{z-index:2000!important}
body[data-page=projects] .container,body[data-page=study] .container,body[data-page=resume] .container{max-width:1280px!important;width:calc(100% - 112px)!important;margin:auto!important;border-inline:1px solid var(--line);padding:0!important}.breadcrumb{font:10px monospace!important;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)!important;padding:22px 40px!important;margin:0!important;border-bottom:1px solid var(--line)}.breadcrumb a{color:var(--muted)!important}.ac-page-heading{padding:60px 40px 70px}.ac-page-heading .ac-eyebrow{margin:0 0 30px}.projects-table.ac-section{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important}.projects-table th{background:var(--paper)!important;font:10px monospace!important;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)!important;border-bottom:1px solid var(--line)!important;padding:18px 30px!important;text-align:left}.projects-table td{border-bottom:1px solid var(--line)!important;padding:35px 30px!important;color:var(--muted)!important;font-size:15px;line-height:1.8;word-break:normal;overflow-wrap:anywhere}.projects-table td:first-child{font-size:24px!important;font-weight:600!important;letter-spacing:-.7px;color:var(--ink)!important;width:28%!important}.projects-table tr:hover{background:var(--bg-header)!important}.projects-table .link-group a{font-size:9px!important;padding:11px 13px!important}.topbar{padding:0 20px 0 0!important;margin:0!important;border-bottom:1px solid var(--line);gap:15px;flex-wrap:wrap}.topbar .breadcrumb{border:0}.topbar .actions{gap:7px!important}.topbar .actions>#lang-toggle,.topbar .actions>#theme-toggle{display:none}.paper{padding:55px 40px!important;border:0!important;border-radius:0!important;max-width:none!important}.r-head{text-align:left!important;border-bottom:1px solid var(--line)!important;padding-bottom:45px!important;margin-bottom:0!important}.r-head h1{font-size:clamp(50px,7vw,90px)!important;line-height:1!important;letter-spacing:-.055em!important;margin:24px 0!important;color:var(--ink)!important}.r-contact{justify-content:flex-start!important;font-size:12px!important;color:var(--muted)!important;gap:10px}.ac-resume-section{padding:40px 0!important;margin:0!important;border-bottom:1px solid var(--line)}.ac-resume-section h2{border:0!important;padding:0!important;font-size:38px!important;letter-spacing:-1px!important;margin-bottom:25px!important;color:var(--ink)!important}.ac-resume-section h2:before{display:none!important}.r-title{font-size:18px!important;color:var(--ink)!important}.r-date{font:10px monospace!important;color:var(--muted)!important}.r-item{margin-bottom:30px!important}.r-item li,.r-org,.r-sub{font-size:14px!important;line-height:1.8!important;color:var(--muted)!important}.r-item strong{color:var(--ink)!important}.ac-reveal{transition:opacity .6s ease,translate .6s ease!important}.ac-reveal.is-visible{opacity:1!important;translate:0 0!important}.ac-reveal:not(.is-visible){opacity:.25;translate:0 18px}.animate-on-scroll{transform:none!important}.animate-on-scroll.visible{opacity:1!important}.ac-skip{position:fixed;left:15px;top:-80px;z-index:2000;background:var(--ink);color:var(--paper);padding:12px 20px}.ac-skip:focus{top:55px}
@media(max-width:1050px){.ac-nav-links{gap:8px;padding:0 12px}.ac-contact-link{padding:0 16px}.ac-section,body[data-page=about] .header,body[data-page=projects] .container,body[data-page=study] .container,body[data-page=resume] .container{width:calc(100% - 64px)!important}.ac-photo-break{height:420px}.ac-nav-links a{font-size:9px;letter-spacing:1px}}
@media(max-width:700px){.ac-nav-links{display:none}.ac-nav.is-open .ac-nav-links{display:flex;position:absolute;top:48px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;align-items:stretch;gap:12px;border-bottom:1px solid var(--line)}.ac-nav.is-open .ac-nav-links a{font-size:13px;padding:10px}.ac-nav-actions .ac-menu-toggle{display:block}.ac-nav-actions button{min-width:43px;padding:0 10px}.ac-nav-actions .ac-language{font-size:8px}.ac-contact-link{display:none}.ac-brand{padding:0 17px}.ac-section,body[data-page=about] .header,body[data-page=projects] .container,body[data-page=study] .container,body[data-page=resume] .container{width:calc(100% - 30px)!important}.ac-section{padding-bottom:32px!important}.ac-section-label{padding:12px 20px;font-size:8px;letter-spacing:1px;min-height:43px}.ac-section>h2{font-size:40px!important;letter-spacing:-1.5px!important;padding:42px 20px 28px!important}.ac-section>.card,.ac-section>.timeline{margin:0 20px 15px!important}.card{padding:24px!important}.now-grid{grid-template-columns:1fr!important;margin:0 20px!important}.now-grid .card{border:0!important;border-bottom:1px solid var(--line)!important;padding:26px!important;min-height:180px}.now-grid .card:nth-child(odd){border-right:0!important}.now-grid .card:last-child{border-bottom:0!important}.now-main{font-size:23px!important}.now-sub{font-size:14px!important}.edu-logo{width:64px!important;margin-left:15px!important}.card h3{font-size:21px!important}.edu-card{padding:26px!important}.timeline-content .card{padding:26px!important}.timeline-date{position:static!important;width:auto!important;margin:0 0 15px!important;font-size:9px!important}.timeline-content .coe-logo,.timeline-content .spic-logo{width:70px!important;max-height:30px!important;float:none!important;margin:10px 0!important}.cp-feature{display:flex!important;flex-direction:column!important;padding:24px!important;gap:25px!important}.cp-feature>div{width:100%}.cp-live iframe{height:480px!important}.ac-photo-break{height:370px}.ac-photo-break>div{left:24px;top:45px}.ac-photo-break p{font-size:48px;letter-spacing:-2px}.ac-strip{justify-content:flex-start;font-size:8px;padding:15px 20px}.corner-note{left:20px;font-size:7px!important;bottom:20px}.scroll-note{right:23px;font-size:7px!important;bottom:20px}.ac-hero .intro{padding:40px 22px}.ac-hero h1{font-size:clamp(37px,9.5vw,65px)!important;margin:20px 0 28px!important}.ac-hero h2{font-size:26px!important;max-width:340px;margin:0 auto 20px!important}.ac-hero .bio{font-size:15px!important;max-width:310px;line-height:1.65!important}.ac-hero .eyebrow{font-size:8px!important;letter-spacing:1px!important}.ac-hero .scrim{inset:-60px -40px;background:radial-gradient(ellipse at center,rgba(var(--scrim),.97),rgba(var(--scrim),.90) 45%,rgba(var(--scrim),.5) 65%,transparent 78%)}.ctas{gap:8px;margin-top:24px}.button{padding:15px 16px!important;font-size:9px!important}.proof{font-size:8px!important;max-width:280px;margin:22px auto 0!important}.proof span{margin:0 4px}.ac-hero .fun-fact{font-size:8px!important;max-width:280px;text-align:left;line-height:1.5}.ac-portrait{display:none!important}.ac-simple-footer{padding:25px 22px;flex-wrap:wrap;font-size:8px}.ac-simple-footer>span{display:none}.footer-contact{flex-direction:column;gap:12px;padding:50px 0 10px!important}.footer-contact p+p{border-left:0!important;border-top:1px solid var(--line)!important;padding:14px 0 0!important;margin:0!important}footer.watermark-footer{min-height:320px!important;padding:60px 25px 25px!important}footer.watermark-footer:before{font-size:15vw!important;left:20px!important;top:35px!important}.header h1,.ac-page-heading h1{font-size:64px!important}.header-title-row{align-items:center!important}body[data-page=about] .header{padding:55px 22px 40px!important}.header>p,.ac-page-heading>p:last-child{font-size:16px!important}.about-intro-layout{flex-direction:column!important;gap:25px!important}.about-intro-layout>div{min-width:0!important;width:100%}.about-selfie{width:100%!important;max-height:380px!important;object-position:50% 38%}.about-intro-layout p{font-size:15px!important}.showcase-container,#biography,.photo-section{padding:30px 22px!important}.showcase-header,.photo-title{font-size:39px!important}.games-grid{grid-template-columns:1fr!important}.music-grid{grid-template-columns:1fr!important}.photo-grid{grid-template-columns:1fr!important}.game-card,.music-card{padding:22px!important}.ac-page-heading{padding:40px 22px 50px}.breadcrumb{padding:20px 22px!important;font-size:9px!important}.projects-table th{display:none!important}.projects-table table,.projects-table tbody,.projects-table tr,.projects-table td{display:block!important;width:100%!important}.projects-table tr{padding:28px 22px!important;border-bottom:1px solid var(--line)}.projects-table td{padding:0!important;border:0!important;margin:0 0 15px!important}.projects-table td:first-child{width:100%!important;font-size:25px!important}.topbar{padding:12px 20px!important}.topbar .breadcrumb{padding:0!important}.topbar .actions{display:flex;flex-wrap:wrap}.paper{padding:30px 22px!important}.r-head h1{font-size:53px!important}.r-contact{flex-wrap:wrap;font-size:10px!important;overflow-wrap:anywhere}.r-contact .sep{display:none}.ac-resume-section h2{font-size:33px!important}.r-row{flex-wrap:wrap;gap:5px!important}.r-title{font-size:17px!important}.r-item li{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.ac-reveal{opacity:1!important;translate:none!important}.orbit-card{will-change:auto}}
}
@media print{.ac-nav,.ac-simple-footer,.ac-skip,.ac-eyebrow{display:none!important}}
@media screen{
.ac-nav #theme-btn,.ac-nav #theme-toggle,.ac-nav #lang-toggle{border:0!important;border-left:1px solid var(--line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;transform:none!important;color:var(--ink)!important;height:48px!important;margin:0!important;min-width:48px!important;padding:0 14px!important}
body[data-page="404"] .box{max-width:1280px;width:calc(100% - 112px);border:1px solid var(--line);border-top:0;border-radius:0;box-shadow:none;background:none;padding:70px 40px;margin:auto;min-height:calc(100svh - 160px);text-align:left}
body[data-page="404"] .code{font-size:clamp(140px,22vw,300px);font-weight:700;line-height:1;letter-spacing:-.08em;color:var(--line);margin-bottom:35px}body[data-page="404"] h1{font-size:clamp(40px,5vw,70px);letter-spacing:-.04em;line-height:1.1;margin-bottom:25px}body[data-page="404"] .box>p{color:var(--muted);margin-bottom:30px}
@media(max-width:700px){body[data-page="404"] .box{width:calc(100% - 30px);padding:55px 22px}.ac-nav #theme-btn,.ac-nav #theme-toggle,.ac-nav #lang-toggle{min-width:43px!important;padding:0 10px!important}}
}
/* Retire the inline legacy nav selector shared by Home and About. */
@media screen{
html body nav.ac-nav{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;transform:none!important;z-index:1000!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;height:48px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:var(--paper)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;transition:none!important}
.ac-section>h2 .now-updated{background:none!important;border:0!important;border-radius:0!important;padding:0!important;font-weight:400!important;width:auto!important}
.timeline .timeline-item:nth-child(odd) .timeline-content .card,.timeline .timeline-item:nth-child(even) .timeline-content .card{border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important}
.timeline .timeline-content .card :is(h3,.date,.timeline-date){padding-right:0!important}.timeline .timeline-content .card .timeline-date{padding:0!important;font-weight:400!important}.timeline-date:after{display:none!important}
.photo-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;scroll-snap-type:none!important;gap:24px!important}.photo-card{margin:0!important;min-width:0!important;flex:none!important;overflow:hidden}.photo-card img{height:320px!important}.photo-card:last-child:nth-child(odd){grid-column:1/-1}.photo-card:last-child:nth-child(odd) img{height:420px!important}.photo-card:hover{transform:none!important}.site-stats{border-radius:0!important;border:0!important;box-shadow:none!important;background:none!important;color:var(--muted)!important;font:9px monospace!important}.site-stats b{color:var(--ink)!important}
@media(max-width:700px){.photo-grid{grid-template-columns:1fr!important}.photo-card img,.photo-card:last-child img{height:260px!important}.photo-card:last-child{grid-column:auto}.ac-nav-actions .ac-menu-toggle{display:block!important}.ac-nav.is-open .ac-nav-links{display:flex!important}.timeline .timeline-content .card .timeline-date{position:static!important}}
}
@media screen{
.cp-launcher,.term-launcher,.term-window,.cp-kbd,.cp-toast{border-radius:0!important;box-shadow:none!important}.cp-launcher,.term-launcher{background:var(--paper)!important;border:1px solid var(--line)!important;color:var(--ink)!important;backdrop-filter:none!important}
@media(prefers-reduced-motion:reduce){.animate-on-scroll{opacity:1!important;transform:none!important}}
}
@media screen{
.ac-photo-open{display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in}.ac-lightbox{width:min(1100px,calc(100vw - 60px));max-height:92svh;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);padding:35px;margin:auto;overflow:auto}.ac-lightbox::backdrop{background:#08090bd9}.ac-lightbox>img{display:block;max-height:68svh;max-width:100%;object-fit:contain;margin:auto}.ac-lightbox>p{font-size:13px;line-height:1.8;color:var(--muted);margin:20px 0 0}.ac-lightbox-close{position:absolute;right:5px;top:0;font-size:28px;cursor:pointer;border:0;background:var(--paper);color:var(--ink);width:32px}.ac-lightbox-controls{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font:10px monospace;color:var(--muted)}.ac-lightbox-controls button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:8px 20px;cursor:pointer}@media(max-width:700px){.ac-lightbox{width:calc(100vw - 24px);padding:30px 16px 16px}}
}
@media screen{
/* Content stays readable even before an intersection animation has run. */
.animate-on-scroll{opacity:1!important;transform:none!important}
.btn-home{border-radius:0!important;box-shadow:none!important;border:1px solid var(--line)!important;background:var(--ink)!important;color:var(--paper)!important;margin:35px auto!important;font:10px monospace!important;letter-spacing:1px!important;padding:15px 22px!important;display:table!important}
}
@media screen{
.ac-hero h2{display:block!important;text-align:center!important}.music-cover-wrapper{width:100%!important;height:300px!important;aspect-ratio:16/10!important;overflow:hidden}.music-cover{width:100%!important;height:100%!important;object-fit:cover!important}
@media(max-width:700px){.ac-hero h2 em{display:block;margin-top:4px}.music-cover-wrapper{height:240px!important}}
}
/* Shared alignment and scroll instrument geometry. */
@media screen{
:root{--ac-grid:1280px;--ac-gutter:40px;--ruler-rail:60px}
html body{padding-right:var(--ruler-rail)!important}
.ac-section,body[data-page=about] .header,body[data-page=projects] .container,body[data-page=study] .container,body[data-page=resume] .container{max-width:var(--ac-grid)!important;width:calc(100% - 80px)!important}
html body footer.watermark-footer::before{content:'BAOWEN LIU'!important;left:50%!important;right:auto!important;top:52px!important;transform:translateX(-50%)!important;text-align:center!important;font-size:clamp(65px,11vw,155px)!important;width:100%!important;letter-spacing:-.055em!important}
.footer-contact{justify-content:center!important;text-align:center!important}.footer-socials,.footer-copyright,.site-stats{text-align:center!important;margin-inline:auto!important}.guestbook-hint{margin-inline:40px!important}.ac-section-label,.ac-page-heading,.breadcrumb{padding-inline:var(--ac-gutter)!important}
.ac-simple-footer{position:relative;flex-wrap:wrap;padding:35px var(--ac-gutter)!important;text-align:center}.ac-simple-footer:before{content:'BAOWEN LIU';display:block;width:100%;font:700 clamp(50px,7vw,100px)/1 Arial;letter-spacing:-.055em;color:var(--line);text-align:center;margin-bottom:30px}
.ac-instrument{position:fixed;right:0;top:0;bottom:0;width:60px;z-index:85;overflow:hidden;cursor:crosshair;touch-action:none;outline-offset:-3px}.ac-instrument-frost{position:absolute;inset:0;background:color-mix(in srgb,var(--paper) 55%,transparent);backdrop-filter:blur(9px);mask-image:linear-gradient(to left,black 40%,transparent)}
.ac-instrument-tick{position:absolute;inset:0 0 auto;height:0;pointer-events:none}.ac-instrument-tick i{position:absolute;right:0;top:0;height:1px;background:var(--ink);transform-origin:right center}.ac-instrument-tick>span{position:absolute;right:24px;top:-5px;font:9px/1 monospace!important;letter-spacing:.08em;color:var(--ink);padding:0!important;background:none!important}
.ac-instrument-needle{position:absolute;top:0;right:0;width:100%;height:1px;background:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 50%,transparent);pointer-events:none}.ac-instrument-readout{position:absolute;right:2px;top:4px;display:flex;align-items:center;font:9px/1 monospace!important;color:var(--accent);letter-spacing:.08em}.ac-digit-window{display:inline-block;overflow:hidden;height:1em;width:.65em}.ac-digit-column{display:block;transition:transform .35s cubic-bezier(.16,1,.3,1)!important}.ac-digit-column>span{display:block;height:1em;line-height:1em}
.ac-instrument-bracket{position:absolute;top:0;right:0;width:100%;border-block:1px solid color-mix(in srgb,var(--ink) 50%,transparent);background:color-mix(in srgb,var(--ink) 10%,transparent);pointer-events:none}.ac-instrument-ghost{position:absolute;right:0;width:60px;height:3px;background:var(--ink);pointer-events:none}
.ac-heading-flight{position:fixed;inset:0;pointer-events:none;z-index:86;overflow:hidden}.ac-flight-letter{position:absolute;left:0;top:0;white-space:pre;font:600 34px/1 Arial,Helvetica,sans-serif!important;will-change:transform;color:var(--ink);text-shadow:0 0 4px var(--paper),0 0 10px var(--paper);pointer-events:none}.ac-flight-hit{position:absolute;display:block;pointer-events:auto;text-decoration:none;background:none;font:600 12px/1.3 Arial;text-transform:uppercase;color:var(--muted);border:0;cursor:pointer;white-space:nowrap}.ac-flight-hit:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.ac-flight-hit[data-current]{color:var(--ink)!important}
@media(max-width:900px){.ac-instrument{width:24px}.ac-instrument-tick>span{right:12px;font-size:7px!important}.ac-instrument-tick i{max-width:12px}.ac-instrument-frost{mask-image:none}.ac-instrument-ghost{width:24px}.ac-flight-hit{display:none}.ac-section,body[data-page=about] .header,body[data-page=projects] .container,body[data-page=study] .container,body[data-page=resume] .container{width:calc(100% - 30px)!important}}
@media(max-width:700px){:root{--ac-gutter:22px}html body footer.watermark-footer::before{font-size:14vw!important;top:35px!important}.ac-simple-footer:before{font-size:12vw}.ac-section-label,.ac-page-heading,.breadcrumb{padding-inline:22px!important}}
@media(prefers-reduced-motion:reduce){.ac-digit-column{transition:none!important}.ac-flight-letter{will-change:auto}}
}
@media print{.ac-instrument,.ac-heading-flight{display:none!important}}
@media screen{.now-updated::before,.now-updated::after{display:none!important}.ac-instrument-needle .ac-instrument-readout{font-variant-numeric:tabular-nums}.ac-simple-footer>a:first-child{margin-inline:auto}.ac-simple-footer>span,.ac-simple-footer>a:last-child{margin-inline:auto}}
@media screen{
/* Keep the two equal tab tracks and their moving fill inside the same inset. */
#hobbies .toggle-wrapper{display:flex!important;position:relative!important;gap:0!important;padding:4px!important;width:fit-content!important;isolation:isolate;box-sizing:border-box!important}
#hobbies .toggle-btn{flex:0 0 120px!important;width:120px!important;height:36px!important;margin:0!important;padding:0!important;border:0!important;display:grid!important;place-items:center;line-height:1!important;box-sizing:border-box!important}
#hobbies .toggle-glider{top:4px!important;left:4px!important;width:120px!important;height:36px!important;margin:0!important;pointer-events:none}
}
@media screen{
/* Reserve the lazy guestbook's final layout so its arrival cannot shift the footer flight. */
#giscus-container{min-height:400px}
}
@media screen and (max-width:700px){#giscus-container{min-height:600px}}

/* One frame and one inset for every editorial page. Card interiors form a
   second grid; nested sections must not apply the page inset a second time. */
@media screen {
  :root { --ac-frame-gap:40px; --ac-card-inset:32px; --ac-column-gap:24px; }
  html { scrollbar-gutter:stable; }
  .ac-section,
  .ac-photo-break,
  body[data-page=about] .header,
  body[data-page=projects] .container,
  body[data-page=study] .container,
  body[data-page=resume] .container,
  body[data-page="404"] .box {
    width:calc(100% - 2 * var(--ac-frame-gap))!important;
    max-width:var(--ac-grid)!important;
    margin-inline:auto!important;
  }
  .projects-table.ac-section { width:100%!important; max-width:none!important; }
  .ac-section>h2 { padding-inline:var(--ac-gutter)!important; }
  .ac-section>.card,.ac-section>.timeline,.ac-section>.skills-container,
  .ac-section>.grid { margin-inline:var(--ac-gutter)!important; }
  .ac-section>.grid { gap:var(--ac-column-gap)!important; }
  .now-grid { margin-inline:var(--ac-gutter)!important; }
  .card,.now-grid .card,.edu-card,.cp-feature,
  .game-card,.music-card { padding:var(--ac-card-inset)!important; }
  .card h3,.card p { margin-top:0; }
  #leetcode .card>.btn { align-self:flex-start!important; min-width:0!important; max-width:100%; }
  .timeline-content .card { padding:var(--ac-card-inset) var(--ac-card-inset) var(--ac-card-inset) 205px!important; }
  .timeline-date { left:var(--ac-card-inset)!important; top:calc(var(--ac-card-inset) + 5px)!important; }
  .guestbook-hint,.guestbook-intro { margin-inline:var(--ac-gutter)!important; text-align:left!important; }
  .guestbook-card #giscus-container { margin:0!important; }
  .guestbook-card .guestbook-note { margin-inline:0!important; padding-inline:0!important; align-items:flex-start; }
  .guestbook-note>i { flex:none; line-height:1.6; }
  .edu-card { display:grid; grid-template-columns:minmax(0,1fr) 115px; gap:32px; align-items:start; }
  .edu-card .edu-copy { grid-column:1; grid-row:1; min-width:0; }
  .edu-card .edu-logo {
    grid-column:2; grid-row:1; float:none!important; position:static!important;
    transform:none!important; margin:0!important; width:115px!important;
    align-self:start; justify-self:end;
  }
  .edu-card .edu-logo img { display:block; width:100%!important; height:auto; }
  body[data-page=about] .header,#biography,.showcase-container,.photo-section,
  .paper,body[data-page="404"] .box { padding-inline:var(--ac-gutter)!important; }
  .photo-section>h2 { padding:0!important; margin:0 0 20px!important; }
  .photo-sub { margin-inline:0!important; text-align:left!important; }
  .music-info { padding:24px 0 0!important; text-align:left; }
  .music-title { margin-top:0!important; }
  .photo-caption { padding:18px var(--ac-card-inset)!important; text-align:left; }
  .projects-table th,.projects-table td { padding-inline:var(--ac-gutter)!important; }
  .projects-table .link-group { justify-content:flex-start!important; text-align:left!important; }
  .topbar { padding-right:var(--ac-gutter)!important; }
  .r-row { align-items:baseline!important; }
  .ac-photo-break>div {
    left:calc(var(--ac-gutter) + 1px)!important;
    right:calc(var(--ac-gutter) + 1px);
  }
  .corner-note { left:var(--ac-gutter)!important; }
  .scroll-note { right:var(--ac-gutter)!important; }
  .ac-hero .ac-fact-row { display:flex; justify-content:center; align-items:center; gap:10px; margin-top:16px; }
  .ac-hero .ac-fact-row .fun-fact { margin:0!important; align-items:center; gap:7px; text-align:left; }
  .ac-hero .ac-fact-row .ac-portrait { flex:none; margin:0!important; }

  /* Equal icon boxes align controls; small glyph-specific corrections account
     for the visible weight of font icons rather than moving their hit targets. */
  .ac-nav-actions button { display:grid; place-items:center; line-height:1!important; }
  .ac-brand { flex:none; justify-content:center; width:80px; padding:0!important; }
  .ac-brand img { display:block; width:46px; height:46px; object-fit:contain; mix-blend-mode:multiply; }
  html[data-theme=dark] .ac-brand img { filter:invert(1); mix-blend-mode:screen; }
  .card .card-toggle-btn {
    padding:12px 16px!important; min-height:44px; gap:14px!important;
    line-height:1.4!important; white-space:nowrap; box-shadow:none!important;
  }
  .card-toggle-arrow { flex:none; }
  /* Content actions share a size within each page; navigation and icon-only
     controls retain their separate layout. Narrow screens use the card inset
     as the limiting width, so every action still fits its smallest container. */
  body { --ac-action-width:160px; --ac-action-height:48px; }
  body[data-page=index] {
    --ac-action-width:min(260px,calc((100vw - var(--ruler-rail) - 2 * var(--ac-frame-gap) - 2 * var(--ac-gutter) - var(--ac-column-gap) - 22px) / 2 - 2 * var(--ac-card-inset)));
  }
  body[data-page=index] :is(.button,.btn,.card-toggle-btn,.cp-links a),
  body[data-page=about] :is(.btn,.btn-home),
  body[data-page=projects] .link-group a,
  body[data-page=study] .link-group a,
  body[data-page=resume] .tb-btn:not(#lang-toggle):not(#theme-toggle),
  body[data-page="404"] :is(.btn,.button) {
    box-sizing:border-box!important; width:var(--ac-action-width)!important;
    min-width:0!important; height:var(--ac-action-height)!important;
    min-height:var(--ac-action-height)!important; margin-inline:0!important;
    padding:8px 16px!important; display:inline-flex!important;
    align-items:center!important; justify-content:center!important;
    text-align:center!important; line-height:1.4!important;
    white-space:normal!important; flex:none;
  }
  .ac-nav-actions .ac-theme-glyph { display:block; font:17px/1 Arial,Helvetica,sans-serif!important; transform:translateY(-.5px); }
  .ac-section-mark { display:grid; place-items:center; width:22px; height:22px; line-height:1; }
  .btn>i,.tb-btn>i,.skill-tag>i {
    display:inline-flex; align-items:center; justify-content:center;
    flex:none; width:1.25em; height:1.25em; line-height:1; vertical-align:middle;
  }
  .skill-tag { display:inline-flex!important; align-items:center!important; gap:8px!important; }
  .skill-tag .skill-icon { display:block; flex:none; margin:0!important; object-fit:contain; }
  .cp-feature h3 { align-items:center; }
  .cp-feature h3>img { flex:none; object-fit:contain; margin:0; }
  .footer-contact { gap:0!important; }
  .footer-contact p { margin:0!important; padding:0 24px!important; }
  .footer-contact p+p { margin-left:0!important; padding-left:24px!important; border-color:var(--line)!important; }
  /* The watermark occupies a real row, so contact details cannot overlap it
     at any font size or breakpoint. Override legacy dark-theme glass rules. */
  html body footer.watermark-footer {
    display:flex!important; flex-direction:column; align-items:stretch!important;
    justify-content:flex-start!important; gap:0!important;
    padding:52px var(--ac-gutter) 35px!important;
  }
  html body footer.watermark-footer::before {
    position:static!important; display:block; flex:none; z-index:auto;
    left:auto!important; right:auto!important; top:auto!important;
    transform:none!important; margin:0 0 36px; line-height:1!important;
  }
  html body footer.watermark-footer .footer-contact {
    padding:0!important; margin:0 auto 16px!important; background:none!important;
    border:0!important; border-radius:0!important; box-shadow:none!important;
    backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
  }
  .footer-socials { display:flex; justify-content:center; align-items:center; gap:12px; }
  .footer-socials a { display:grid; place-items:center; width:36px; height:36px; margin:0!important; line-height:1; text-decoration:none!important; }
  .footer-socials i { display:block; line-height:1; }
  .footer-socials .fa-linkedin { transform:translateY(-.5px); }
  .footer-socials .fa-weixin { transform:translateY(-1px); }
  .ac-simple-footer {
    display:grid; grid-template-columns:1fr 2fr 1fr; align-items:center; gap:24px;
    padding-inline:calc((100% - min(var(--ac-grid), 100% - 2 * var(--ac-frame-gap))) / 2 + var(--ac-gutter) + 1px)!important;
  }
  .ac-simple-footer:before { grid-column:1/-1; margin:0 0 6px; }
  .ac-simple-footer>a:first-child { justify-self:start; margin:0!important; }
  .ac-simple-footer>span { justify-self:center; margin:0!important; }
  .ac-simple-footer>a:last-child { justify-self:end; margin:0!important; }
  @media(max-width:900px) { :root { --ac-frame-gap:15px; } }
  @media(max-width:700px) {
    :root { --ac-card-inset:22px; --ac-column-gap:20px; }
    .ac-brand { width:67px; }
    body[data-page=index] {
      --ac-action-width:min(260px,calc(100vw - var(--ruler-rail) - 2 * var(--ac-frame-gap) - 2 * var(--ac-gutter) - 2 * var(--ac-card-inset) - 20px));
    }
    .ctas,.cp-links { flex-wrap:wrap; }
    .ac-section>.grid { grid-template-columns:minmax(0,1fr)!important; }
    .timeline-content .card { padding:var(--ac-card-inset)!important; }
    .timeline-date { position:static!important; }
    .edu-card { grid-template-columns:minmax(0,1fr); gap:20px; }
    .edu-card .edu-logo { grid-column:1; grid-row:1; width:80px!important; justify-self:center; }
    .edu-card .edu-copy { grid-column:1; grid-row:2; }
    .ac-photo-break p { font-size:clamp(25px,7vw,48px); letter-spacing:-.04em; overflow-wrap:break-word; }
    .topbar { padding-inline:var(--ac-gutter)!important; }
    .projects-table td { padding:0!important; }
    .projects-table tr { padding-inline:var(--ac-gutter)!important; }
    .footer-contact p { padding:0!important; }
    .footer-contact p+p { padding:12px 0 0!important; }
    html body footer.watermark-footer { padding:35px var(--ac-frame-gap) 25px!important; }
    html body footer.watermark-footer::before { margin-bottom:28px; }
    .ac-simple-footer { grid-template-columns:1fr 1fr; gap:20px; }
    .ac-simple-footer>span { display:none; }
  }
}

/* Full-width rules separate the numbered homepage chapters. */
.ac-section-label::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: calc(100vw - var(--ruler-rail) - 16px);
  height: 1px;
  transform: translateX(-50%);
  background: var(--line);
  pointer-events: none;
}

/* Keep the small homepage captions legible in both themes. */
.ac-hero .proof,
.ac-hero .fun-fact {
  color: var(--ink) !important;
}
.ac-hero .fun-fact .fun-fact-next {
  opacity: 1;
}
