:root{font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif;color:#171717;background:#f2f2f0;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #f2f2f0;--surface: #ffffff;--surface-soft: #f7f7f5;--text: #171717;--muted: #73736f;--line: #e6e6e2;--shadow: 0 12px 34px rgba(28, 28, 24, .07)}:root[data-theme=dark]{color:#f3f3ef;background:#111210;--canvas: #111210;--surface: #1a1b18;--surface-soft: #20211e;--text: #f3f3ef;--muted: #aaa9a2;--line: #30312d;--shadow: 0 16px 42px rgba(0, 0, 0, .3)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased;background:var(--canvas);color:var(--text);transition:background-color .22s ease,color .22s ease}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #7c66ff;outline-offset:3px}.site-shell{min-height:100vh;padding:20px;display:grid;grid-template-columns:282px minmax(0,1fr);gap:26px;max-width:1480px;margin:0 auto}.identity-rail{position:sticky;top:20px;height:calc(100vh - 40px);min-height:800px;padding:22px 25px 24px;border-radius:30px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.rail-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.availability,.hero-kicker,.project-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:650}.availability>span,.hero-kicker>span,.project-status>span{width:8px;height:8px;border-radius:50%;background:#3fca78;box-shadow:0 0 0 4px #3fca7821}.rail-theme{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--surface-soft);display:grid;place-items:center;cursor:pointer}.profile-photo{display:block;width:100%;height:278px;object-fit:cover;object-position:center top;border-radius:24px;border:0;outline:0;box-shadow:none;clip-path:inset(5px round 22px);transform:scale(1.04);transform-origin:center;background:#d8d9d6}.profile-copy{padding-top:20px}.profile-copy h1{margin:0 0 8px;font-size:38px;line-height:1;letter-spacing:.08em}.profile-copy p{margin:0}.profile-role{font-size:16px;font-weight:720}.profile-focus{padding-top:7px;color:var(--muted);font-size:13px}.profile-study{padding-top:5px;color:var(--muted);font-size:12px;font-weight:600}.contact-list{margin:20px 0 0;display:grid;gap:11px;color:var(--muted);font-size:12px}.contact-list div{display:grid;grid-template-columns:22px 1fr;align-items:center}.contact-list dt,.contact-list dd{margin:0}.contact-list dt{height:20px;display:grid;place-items:center;color:var(--text)}.rail-divider{height:1px;background:var(--line);margin:20px 0 17px}.about-copy .eyebrow{font-size:13px;font-weight:750}.about-copy p{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.75}.resume-intro-link{width:fit-content;margin-top:12px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;gap:7px;background:var(--surface-soft);color:var(--text);font-size:11px;font-weight:700;font-family:inherit;text-decoration:none;cursor:pointer;transition:transform .18s ease,border-color .18s ease}.resume-intro-link:hover{border-color:#2ca168;transform:translateY(-2px)}.copy-email{margin-top:auto;min-height:46px;border:1px solid var(--line);border-radius:999px;background:var(--surface);display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font-size:13px;font-weight:700;box-shadow:0 7px 20px #1414120f}.rail-actions{display:grid;grid-template-columns:repeat(3,40px);justify-content:space-between;padding-top:18px}.rail-actions a,.rail-actions button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-soft);color:var(--text);text-decoration:none;cursor:pointer}.main-canvas{min-width:0;padding:4px 4px 30px 0}.top-nav{height:62px;display:flex;align-items:center;justify-content:space-between}.top-nav nav,.top-actions{display:flex;align-items:center;gap:12px}.top-nav nav{gap:27px}.top-nav nav a,.top-nav nav button{border:0;background:transparent;color:var(--muted);text-decoration:none;font-size:13px;font-weight:650;cursor:pointer}.top-nav nav button{color:var(--text)}.primary-button,.secondary-button{min-height:48px;padding:0 23px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:11px;text-decoration:none;font-size:13px;font-weight:750;cursor:pointer}.primary-button{color:#fff;border:1px solid #171717;background:#171717}:root[data-theme=dark] .primary-button{color:#171717;border-color:#f1f1ed;background:#f1f1ed}.secondary-button{color:var(--text);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.hero{margin-top:52px;min-height:245px;display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:28px;padding:8px 0 18px}.hero-copy{min-width:0}.hero-kicker{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:0 5px 20px #1212120a}.hero-copy h2{margin:15px 0 0;max-width:690px;font-size:clamp(43px,4vw,58px);line-height:1.1;letter-spacing:-.055em;font-weight:830;overflow-wrap:anywhere}.achievement-card{padding:10px 18px;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.achievement-row{min-height:67px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px}.achievement-row+.achievement-row{border-top:1px solid var(--line)}.achievement-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center}.achievement-icon.purple{color:#7255e9;background:#eeeaff}.achievement-icon.green{color:#24a869;background:#e6f7ee}.achievement-icon.orange{color:#df7a22;background:#fff0e2}.achievement-row strong,.achievement-row small{display:block}.achievement-row strong{font-size:13px}.achievement-row small{margin-top:4px;color:var(--muted);font-size:10px}.achievement-row b{font-size:21px;letter-spacing:-.04em}.archive{scroll-margin-top:18px;border:1px solid var(--line);border-radius:30px;background:var(--surface);padding:22px;box-shadow:var(--shadow)}.archive-heading,.archive-heading>div,.archive-controls{display:flex;align-items:center}.archive-heading{justify-content:space-between;margin-bottom:18px}.archive-heading>div:first-child{gap:12px}.archive-heading h2{margin:0;font-size:24px;letter-spacing:-.03em}.archive-heading>div:first-child>span{padding:5px 9px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:11px}.archive-controls{gap:9px}.archive-controls>span{margin-right:7px;color:var(--muted);font-size:12px}.archive-controls>span strong{color:var(--text)}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface-soft);display:grid;place-items:center;cursor:pointer}.icon-button.next{color:#fff;background:#171717;border-color:#171717}.project-stage{min-height:330px;border-radius:25px;overflow:hidden;display:grid;grid-template-columns:minmax(290px,.78fr) minmax(430px,1.7fr);background:#151515;color:#fff;transition:background-color .26s ease}.project-stage.tone-violet{background:#242145}.project-stage.tone-tea{background:#123c30}.project-stage.tone-blue{background:#18304e}.project-stage.tone-ink{background:#191817}.project-stage.tone-paper{background:#5d3e2e}.project-details{padding:28px 16px 28px 28px;display:flex;flex-direction:column}.project-meta{display:flex;justify-content:space-between;align-items:center;color:#ffffffb8;font-size:11px}.project-status{padding:7px 10px;border-radius:999px;color:#fff;background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-details h3{margin:26px 0 8px;font-size:clamp(27px,2.5vw,39px);line-height:1.14;letter-spacing:-.035em}.project-subtitle{margin:0;color:#ffffffc2;font-size:13px;line-height:1.6}.project-description{margin:17px 0 0;max-width:360px;color:#ffffffb8;font-size:12px;line-height:1.75}.view-project{width:max-content;min-height:46px;padding:0 19px;margin-top:auto;border:0;border-radius:999px;background:#fff;color:#171717;display:inline-flex;align-items:center;gap:18px;font-weight:750;cursor:pointer}.project-image-button{min-width:0;min-height:330px;padding:0;border:0;position:relative;overflow:hidden;background:#ecece9;cursor:pointer}.project-image-button img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s cubic-bezier(.2,.75,.2,1)}.project-image-button:hover img{transform:scale(1.025)}.project-image-button>span{position:absolute;right:16px;bottom:16px;padding:10px 13px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;background:#121212d6;color:#fff;font-size:11px;font-weight:700;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.project-progress{height:25px;padding:13px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.project-progress span{height:2px;background:var(--line);border-radius:999px}.project-progress span.active{background:#30a66c}.project-thumbnails{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.project-thumbnails button{min-width:0;height:133px;padding:0;border:2px solid transparent;border-radius:18px;overflow:hidden;position:relative;background:var(--surface-soft);cursor:pointer;transition:transform .18s ease,border-color .18s ease}.project-thumbnails button:hover{transform:translateY(-3px)}.project-thumbnails button.selected{border-color:#2ca168}.project-thumbnails img{width:100%;height:100%;display:block;object-fit:cover}.project-thumbnails button:after{content:"";position:absolute;inset:auto 0 0;height:56%;background:#0c0c0bad}.project-thumbnails button>.thumbnail-label{position:absolute;z-index:1;left:10px;right:8px;bottom:9px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:#fff;text-align:left;font-size:11px;line-height:1.25}.thumbnail-title{display:flex;align-items:center;gap:7px;width:100%}.thumbnail-label small{display:block;max-width:100%;overflow:hidden;color:#ffffffb8;font-size:8px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.project-thumbnails button b{color:#b9ffcf;font-size:9px}.archive-hint{margin:16px 0 0;display:flex;justify-content:center;align-items:center;gap:7px;color:var(--muted);font-size:11px}footer{padding:24px 6px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.footer-meta{display:flex;align-items:center;gap:16px}.footer-meta a{color:inherit;text-decoration:none}.footer-meta a:hover,.footer-meta a:focus-visible{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.pdf-overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:22px}.pdf-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0a0a09ad;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer}.pdf-viewer{position:relative;width:min(1180px,94vw);height:min(900px,92vh);border-radius:24px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;background:var(--surface);box-shadow:0 28px 90px #00000047}.pdf-viewer header{padding:15px 18px 15px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.pdf-viewer header>div:last-child{display:flex;align-items:center;gap:10px}.pdf-viewer header span{color:var(--muted);font-size:10px}.pdf-viewer header h2{margin:4px 0 0;font-size:18px}.pdf-viewer header a{min-height:40px;padding:0 15px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;background:#171717;color:#fff;text-decoration:none;font-size:12px;font-weight:700}.pdf-viewer iframe{width:100%;height:100%;border:0;background:#ecece8}@media(max-width:1120px){.site-shell{grid-template-columns:240px minmax(0,1fr);gap:18px}.identity-rail{padding-inline:20px}.profile-photo{height:235px}.hero{grid-template-columns:1fr 290px}.project-stage{grid-template-columns:minmax(250px,.85fr) minmax(340px,1.5fr)}}@media(max-width:860px){.site-shell{display:block;padding:12px}.hero{margin-top:0}.identity-rail{position:relative;top:0;height:auto;min-height:0;display:grid;grid-template-columns:108px 1fr auto;gap:14px;align-items:center;padding:14px;border-radius:22px}.rail-topline{position:absolute;top:12px;right:12px;margin:0}.availability,.contact-list,.rail-divider,.about-copy,.copy-email,.rail-actions{display:none}.profile-photo{width:108px;height:118px;border-radius:17px;clip-path:inset(3px round 15px);transform:scale(1.06)}.profile-copy{padding:0 38px 0 0}.profile-copy h1{font-size:29px}.main-canvas{padding:0}.top-nav{height:auto;padding:16px 2px}.top-nav nav{gap:16px}.top-actions .secondary-button{display:none}.hero{min-height:0;grid-template-columns:1fr;padding:18px 0 24px}.hero-copy h2{font-size:clamp(39px,10vw,58px)}.achievement-card{display:grid;grid-template-columns:repeat(3,1fr)}.achievement-row{grid-template-columns:35px 1fr;padding:8px}.achievement-row+.achievement-row{border-top:0;border-left:1px solid var(--line)}.achievement-row b{grid-column:2;font-size:17px}.project-stage{grid-template-columns:1fr}.project-details,.project-image-button{min-height:300px}.project-thumbnails{overflow-x:auto;grid-template-columns:repeat(5,155px);padding-bottom:7px;scrollbar-width:thin}}@media(max-width:560px){.identity-rail{grid-template-columns:82px 1fr}.profile-photo{width:82px;height:92px}.profile-copy h1{font-size:24px}.profile-role{font-size:13px}.profile-focus{font-size:11px}.profile-study{padding-top:3px;font-size:10px}.top-nav nav a:last-child,.top-actions{display:none}.hero-copy h2{font-size:39px;letter-spacing:-.06em}.achievement-card{grid-template-columns:1fr;padding-inline:14px}.achievement-row{grid-template-columns:38px 1fr auto}.achievement-row+.achievement-row{border-left:0;border-top:1px solid var(--line)}.achievement-row b{grid-column:auto}.archive{margin-inline:-2px;padding:14px;border-radius:24px}.archive-heading h2{font-size:21px}.archive-controls>span{display:none}.project-details{padding:22px}.project-details h3{font-size:30px}.project-image-button{min-height:215px}.archive-hint{line-height:1.5;text-align:center}footer{gap:18px}.footer-meta{flex-direction:column;align-items:flex-end;gap:5px;text-align:right}.pdf-overlay{padding:8px}.pdf-viewer{width:100%;height:96vh;border-radius:18px}.pdf-viewer header a{width:40px;padding:0;justify-content:center;font-size:0}}
