/* Content adaptation only: the upstream layout, animation classes and engines remain. */
#egg{opacity:0;visibility:hidden;transition:transform .5s var(--ease),opacity .3s,visibility .3s}#egg.show{opacity:1;visibility:visible}#progress{width:100%}.experience-summary .svc-tags{display:flex}
:root{--ink:#0d1916;--ink-2:#14241f;--ink-3:#1c3028;--bone:#eeeade;--ash:#a6b3a7;--faint:#798e80;--line:rgba(230,238,217,.12);--line-2:rgba(230,238,217,.23);--accent:#c2d9af;--font-display:"Bricolage Grotesque","Arial Black","Segoe UI","Microsoft YaHei",sans-serif;--font-body:"Inter","Segoe UI","Microsoft YaHei",sans-serif;--font-mono:"JetBrains Mono","Cascadia Mono",Consolas,"Microsoft YaHei",monospace}
html.light{--ink:#f1eee5;--ink-2:#e7e8dc;--ink-3:#dcdfcf;--bone:#183e32;--ash:#52695b;--faint:#6a7b6d;--line:rgba(26,61,45,.14);--line-2:rgba(26,61,45,.24);--accent:#2f664c}
html[data-palette=midnight]{--ink:#101925;--ink-2:#172334;--ink-3:#202e43;--bone:#e9edf0;--ash:#a5b2c2;--faint:#8092ab;--line:rgba(225,235,248,.12);--line-2:rgba(225,235,248,.24);--accent:#b6cce3}
html[data-palette=midnight].light{--ink:#edf0f2;--ink-2:#e1e7ed;--ink-3:#d6dfe7;--bone:#213348;--ash:#586b7e;--faint:#708297;--line:rgba(33,51,72,.14);--line-2:rgba(33,51,72,.24);--accent:#365d87}
html[data-palette=mono]{--ink:#0c0c0d;--ink-2:#141416;--ink-3:#1b1b1e;--bone:#ece8e1;--ash:#a5a39d;--faint:#848179;--line:rgba(236,232,225,.1);--line-2:rgba(236,232,225,.18);--accent:#ece8e1}
html[data-palette=mono].light{--ink:#efeae1;--ink-2:#e7e1d6;--ink-3:#ded7ca;--bone:#17140f;--ash:#6b6760;--faint:#79756d;--line:rgba(23,20,15,.13);--line-2:rgba(23,20,15,.22);--accent:#17140f}
.palette-wrap{display:flex;align-items:center;gap:.35rem}.palette-wrap label{font:11px var(--font-mono);color:var(--ash)}#palette-select{font:12px var(--font-body);color:var(--bone);background:var(--ink-2);border:1px solid var(--line-2);border-radius:30px;min-height:44px;max-width:104px;padding:0 10px}.nav-theme,#nav-burger,.nav-cta{min-width:44px;min-height:44px}.nav-link{min-height:44px;display:inline-flex;align-items:center}.hero-sub{font-size:1rem;line-height:1.85;max-width:55ch}.hero-sub p+p{margin-top:.7rem}.hero-sub .hero-chinese-name{font-weight:500;color:var(--bone);font-size:1.3rem;margin-bottom:.5rem;display:block}.hero-name{font-family:var(--font-display)}.about-hello{font-size:clamp(2rem,3.1vw,3rem);line-height:1.4;letter-spacing:-.04em}.about-subtitle{font-size:1.1rem;font-weight:500;margin:2rem 0 1.3rem;color:var(--bone)}.about-body{line-height:1.95;max-width:none}.about-portrait .corner{color:#fff}.about-portrait .corner .mono{color:#f5f4ec}.t-place{color:var(--ash);font-family:var(--font-body);line-height:1.85}.t-year{font-size:.7rem}.timeline-source{font-size:.7rem;color:var(--ash);line-height:1.8;margin-top:1rem}.portrait-dark{object-position:50% 40%}.portrait-light{object-position:50% 40%}.section-intro{color:var(--ash);max-width:64ch;line-height:1.9;margin:-1.5rem 0 2.5rem}.experience-title{font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.5;margin-bottom:1.4rem;font-weight:500}.svc-row{display:block;padding:0}.experience-summary{display:grid;grid-template-columns:55px 1.3fr 1fr;gap:1.5rem;align-items:center;list-style:none;padding:2.3rem 0;cursor:pointer}.experience-summary::-webkit-details-marker{display:none}.experience-summary::marker{content:""}.experience-summary .svc-name{font-size:clamp(1.7rem,3vw,3rem)}.experience-summary .svc-tags{align-items:center}.experience-summary .svc-tag{border-radius:2px;font-family:var(--font-body);font-size:.85rem;line-height:1.7}.experience-summary .svc-tags::after{content:"+";font-size:1.5rem;margin-left:.5rem;font-family:var(--font-body);color:var(--bone)}details[open]>.experience-summary .svc-tags::after{content:"−"}.experience-copy{margin-left:calc(55px + 1.5rem);max-width:760px;padding:0 0 2rem;color:var(--ash);font-size:1rem;line-height:1.95}.experience-copy p+p{margin-top:1rem}.experience-copy{animation:detail-reveal .3s var(--ease)}@keyframes detail-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.panel-title{font-family:var(--font-body);font-size:clamp(2.5rem,4.6vw,4.4rem);line-height:1.22;letter-spacing:-.06em}.panel-headline{font-size:1.1rem;font-weight:500;line-height:1.8;margin:1.5rem 0;color:var(--bone)}.panel-desc{font-size:1rem;line-height:1.95}.panel-num{line-height:1.8}.panel-tag{line-height:1.7}.concept-caption{font-size:.72rem;line-height:1.8;color:var(--ash);text-align:center;max-width:330px;margin:14px auto 0;padding:0 8px}.ph-stage{flex-direction:column}.ph-dots{max-width:100%;gap:2px}.ph-dots .pdot{position:relative;min-width:44px;width:44px;min-height:44px;height:44px;background:transparent!important;border:0!important;transform:none!important}.ph-dots .pdot::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;top:19px;left:19px;background:var(--faint);transition:transform .3s,background .3s}.ph-dots .pdot.on::after{background:var(--bone);transform:scale(1.6)}.ph-shot{object-fit:cover}.panel-links button{border:0;cursor:pointer}.panel-links .btn-ghost{border:1px solid var(--line-2);background:transparent}.mini-name{font-size:1.65rem;line-height:1.4}.mini-desc{font-size:.95rem;line-height:1.9}.mini-head{font-size:1.3rem}.life-section{padding:clamp(4rem,10vw,8rem) 0;border-top:1px solid var(--line)}.life-section .sec-head{flex-wrap:wrap}.life-section .sec-title{font-size:clamp(1.8rem,4vw,3rem);line-height:1.4;max-width:780px}.life-photo{aspect-ratio:4/3;width:100%;object-fit:cover;border-radius:4px;margin:0 0 1.5rem}.life-section .mini:nth-child(1) .life-photo{object-position:50% 35%}.life-section .mini:nth-child(2) .life-photo{object-position:50% 42%}.life-section .mini:nth-child(3) .life-photo{object-position:50% 38%}.life-section .mini{display:flex;flex-direction:column}.life-section .mini-desc{flex:1}.album-button{align-self:flex-start;background:transparent;border:0;padding:.9rem 0 0;color:var(--bone);font-size:.85rem;min-height:44px;cursor:pointer}.life-interests{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;margin-top:3rem}.life-interest{border-top:1px solid var(--line);padding-top:1.5rem}.life-interest h3{font-size:1.1rem;font-weight:500;margin-bottom:1rem}.life-interest p{font-size:.95rem;color:var(--ash);line-height:1.95}.contact-head{font-size:clamp(2.4rem,7vw,6.3rem);line-height:1.4;max-width:1050px}.contact-sub{line-height:1.95}.form-note{font-size:.8rem;color:var(--ash);line-height:1.8;margin-bottom:1.5rem}.f-input,.f-textarea{color:var(--bone);font:1rem var(--font-body);min-height:48px}.f-input:invalid:focus{border-color:var(--accent)}.form-note strong{font-weight:500;color:var(--bone)}#draft-output{font:1rem/1.9 var(--font-body);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--ink-2);padding:1.5rem;margin-top:1.5rem;max-height:330px;overflow:auto;text-align:left}.draft-actions{display:flex;gap:10px;margin-top:1.5rem;flex-wrap:wrap}.draft-actions button{border:1px solid var(--line-2);cursor:pointer}.draft-actions .btn-ghost{background:transparent}.social{min-height:44px}.foot-statement{line-height:1.6}.foot-word{font-family:var(--font-display)}.foot-bottom{flex-wrap:wrap;gap:.8rem}.source-note{color:var(--ash);text-decoration:underline;text-underline-offset:3px}
#project-notes{padding:3rem 0 5rem}#project-notes>div>h2{font-size:1.1rem;color:var(--ash);margin-bottom:1rem}.project-note{border-top:1px solid var(--line);padding:1.1rem 0}.project-note>summary{min-height:44px;line-height:44px;cursor:pointer}.project-detail-content{font-size:1rem;line-height:1.95}.project-detail-content h2{font-size:2rem;line-height:1.5;margin:0 0 1rem}.project-detail-content h3{font-size:1.1rem;margin:1.7rem 0 .75rem;font-weight:500;color:var(--bone)}.project-detail-content p{color:var(--ash);margin-bottom:.85rem}.project-detail-content .project-state{color:var(--accent);font-size:.85rem}.project-detail-content .project-visual-caption{border:1px solid var(--line-2);padding:1rem;margin-top:1.7rem}.lp-enhanced #project-notes{display:none}.lp-dialog{position:fixed;width:min(850px,calc(100% - 48px));max-height:calc(100% - 48px);margin:auto;padding:0;border:1px solid var(--line-2);border-radius:10px;background:var(--ink);color:var(--bone);overscroll-behavior:contain;box-shadow:0 20px 150px #0008}.lp-dialog[open]{animation:detail-reveal .32s var(--ease)}.lp-dialog::backdrop{background:#07140fd9;backdrop-filter:blur(12px)}.dialog-toolbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:var(--ink);border-bottom:1px solid var(--line);padding:12px 24px;z-index:4}.dialog-toolbar>span{font:12px var(--font-mono);color:var(--ash)}[data-close-dialog]{background:transparent;border:1px solid var(--line-2);border-radius:30px;min-height:44px;padding:0 18px;color:var(--bone);font-size:.85rem}.lp-dialog-content{padding:2rem 3rem 3rem}.album-image{display:block;max-width:100%;height:65vh;object-fit:contain;background:var(--ink-2);width:100%}.album-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.5rem}.album-footer p{font-size:.85rem;color:var(--ash);line-height:1.8}.album-controls{display:flex;gap:8px}.album-controls button{background:none;border:1px solid var(--line-2);color:var(--bone);width:44px;height:44px;border-radius:50%;font-size:20px}.gallery-progress{font-size:.75rem;color:var(--ash)}html:not(.lp-enhanced) .project-open,html:not(.lp-enhanced) [data-album],html:not(.lp-enhanced) #contact-form,html:not(.lp-enhanced) .palette-wrap{display:none}.form-fallback{color:var(--ash);line-height:1.9}
@media(max-width:960px){.experience-summary{grid-template-columns:42px 1fr;gap:1rem}.experience-summary .svc-tags{grid-column:2}.experience-copy{margin-left:58px}.life-interests{grid-template-columns:1fr 1fr}.panel-grid{gap:2.5rem}.panel-title{font-size:2.7rem}}
@media(max-width:640px){.palette-wrap label{display:none}#palette-select{max-width:75px;padding:0 7px;font-size:11px}.nav-actions{gap:6px}.nav-logo{font-size:.9rem}.nav-cta{display:none}.hero-sub{font-size:.94rem;max-width:none}.hero-sub .hero-chinese-name{font-size:1.05rem}.hero-name .hero-line span{font-size:clamp(3.9rem,15.5vw,6.1rem)}.about-hello{font-size:1.95rem}.about-body{font-size:1rem}.section-intro{margin-top:0}.sec-title{line-height:1.25}.experience-summary{padding:1.5rem 0;gap:.75rem}.experience-summary .svc-name{font-size:1.65rem}.experience-summary .svc-tags{justify-content:flex-start}.experience-summary .svc-tag{font-size:.8rem}.experience-copy{margin-left:0;font-size:1rem}.panel-title{font-size:2.45rem;letter-spacing:-.04em}.panel-headline{font-size:1rem}.panel-desc{font-size:1rem}.panel-num{font-size:.72rem}.panel-tags{gap:.45rem}.concept-caption{font-size:.65rem}.mini-desc,.life-interest p{font-size:1rem}.life-interests{grid-template-columns:1fr;gap:1.6rem}.contact-head{font-size:2.5rem}.contact-sub{font-size:1rem}.contact-grid{gap:2.5rem}.lp-dialog{width:100%;max-width:100%;height:100%;max-height:100%;border:0;border-radius:0}.lp-dialog-content{padding:1.6rem 1.3rem 2rem}.dialog-toolbar{padding:10px 18px}.project-detail-content h2{font-size:1.7rem}.album-dialog{height:auto;max-height:100%;margin:auto}.album-image{height:60vh}.album-footer{gap:1rem}.foot-col{overflow-wrap:anywhere}.t-row{grid-template-columns:90px 1fr}}
@media(prefers-reduced-motion:reduce){.lp-dialog[open],.experience-copy{animation:none}.hero-inner{filter:none!important;opacity:1!important;transform:none!important}}

/* Integration details for personal content slots. */
.experience-indicator{display:none}.life-photo{overflow:hidden}.life-photo img{width:100%;height:100%;object-fit:cover}.life-section .mini:nth-child(1) .life-photo img{object-position:50% 35%}.life-section .mini:nth-child(2) .life-photo img{object-position:50% 42%}.life-section .mini:nth-child(3) .life-photo img{object-position:50% 38%}.life-title{font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.5;margin-bottom:2.5rem;font-weight:500}.life-album{background:transparent;color:var(--bone);border:1px solid var(--line-2);margin-top:1.5rem;align-self:flex-start}.draft-note{font-size:.85rem;color:var(--ash);line-height:1.8;margin-bottom:1.5rem}#draft-download{background:var(--bone);color:var(--ink)}#draft-edit{background:transparent;color:var(--bone)}.project-detail-status{color:var(--accent)!important}.project-detail-caption{border:1px solid var(--line-2);padding:1rem;margin-top:1.5rem}.dialog-open dialog,.dialog-open dialog *{cursor:auto!important}.dialog-open button{cursor:pointer!important}
