.intro-screen{z-index:150;isolation:isolate;color:var(--ink,#202124);touch-action:none;outline:none;position:fixed;inset:0;overflow:hidden}.intro-backdrop{background:var(--paper,#fff);position:absolute;inset:0}.intro-content{place-items:center;padding:30px;display:grid;position:absolute;inset:0}.intro-greeting{text-align:center;transform:translateY(-12px)}.intro-name{font-family:var(--serif,"Songti SC", "STSong", Georgia, serif);white-space:nowrap;margin:0;font-size:clamp(34px,4.6vw,64px);font-weight:500;line-height:1.45}.intro-signature{color:var(--accent,#526278);margin:14px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(25px,2.5vw,34px);font-style:italic;font-weight:400;line-height:1.4}.intro-canvas{z-index:1;opacity:0;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.intro-screen.is-drawing .intro-canvas{opacity:1}.intro-screen.is-drawing .intro-backdrop,.intro-screen.is-drawing .intro-greeting{opacity:0}.intro-skip{z-index:2;right:max(34px, env(safe-area-inset-right));bottom:max(28px, env(safe-area-inset-bottom));min-height:44px;color:var(--muted,#686d75);font-family:var(--sans,sans-serif);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:13px;padding:11px 14px;font-size:13px;line-height:1.5;transition:background-color .2s,color .2s;display:inline-flex;position:absolute}.intro-skip:hover{color:var(--ink,#202124);background:#20212408}.intro-skip:focus-visible{outline:2px solid var(--accent,#526278);outline-offset:4px}.intro-accessible{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.intro-content{padding:22px}.intro-greeting{transform:translateY(-8px)}.intro-skip{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.intro-screen{display:none}.intro-skip{transition:none}}.reader-page[data-page=home] .content-shell{width:100%}.reader-page[data-page=home] .page-content{flex-direction:column;display:flex}.home-page.home-page--focused{width:100%;max-width:860px;margin:auto;padding:44px 0 68px}.home-page--focused .hero{grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:40px;padding:0}.home-page--focused .hero-copy{min-width:0;display:block}.home-page--focused .welcome{margin:0 0 17px;font-size:14px;line-height:1.6}.home-page--focused .hero h1{letter-spacing:-1.5px;margin:0;font-size:clamp(36px,3.35vw,46px);line-height:1.25}.home-page--focused .english-name{letter-spacing:-1.5px;margin-left:12px}.home-page--focused .name-slash{margin-right:5px}.home-page--focused .hero-role{margin-top:12px;font-size:18px;line-height:1.65}.home-page--focused .hero-intro{margin-top:22px;font-size:14px;line-height:1.9}.home-page--focused .hero-intro p+p{margin-top:4px}.home-page--focused .hero-actions{gap:28px;margin-top:26px}.home-page--focused .primary-button{gap:20px;min-height:44px;padding:0 23px;font-size:13px}.home-page--focused .text-link{gap:13px;min-height:44px;padding:12px 0;font-size:13px}.home-page--focused .hero-portrait{aspect-ratio:4/5;border-radius:10px;align-self:center;width:100%;max-height:none;margin:0}@media (width>=761px) and (width<=1100px){.home-page--focused .hero{grid-template-columns:minmax(0,1fr) 160px;gap:28px}.home-page--focused .hero h1{font-size:clamp(30px,3.6vw,38px)}.home-page--focused .hero-role{font-size:16px}.home-page--focused .hero-intro{margin-top:18px}}@media (width<=760px){.home-page.home-page--focused{max-width:500px;padding:32px 0 48px}.home-page--focused .hero{grid-template-columns:minmax(0,1fr) 92px;align-items:start;gap:16px 18px}.home-page--focused .hero-copy{display:contents}.home-page--focused .welcome{grid-area:1/1;margin:0;padding:0;font-size:12px;line-height:1.7}.home-page--focused .hero h1{letter-spacing:-1px;white-space:normal;grid-area:2/1;font-size:32px;line-height:1.25}.home-page--focused .english-name{letter-spacing:-1px;margin:5px 0 0;font-size:29px;display:block}.home-page--focused .name-slash{font-size:.85em}.home-page--focused .hero-portrait{aspect-ratio:3/4;border-radius:8px;grid-area:1/2/span 2;align-self:start}.home-page--focused .hero-role{text-wrap:balance;grid-area:3/1/auto/-1;max-width:none;margin:4px 0 0;font-size:16px}.home-page--focused .hero-intro{grid-area:4/1/auto/-1;margin:0;font-size:14px}.home-page--focused .hero-actions{grid-area:5/1/auto/-1;gap:25px;margin-top:4px}}@media (width<=370px){.home-page--focused .hero{grid-template-columns:minmax(0,1fr) 80px;gap:15px}.home-page--focused .hero h1{font-size:28px}.home-page--focused .welcome{font-size:11px}.home-page--focused .english-name{font-size:27px}.home-page--focused .hero-actions{gap:22px}.home-page--focused .primary-button{gap:16px;padding-inline:20px}}.ai-course-detail{padding-top:24px}.course-heading{padding:20px 0 30px}.course-eyebrow{color:var(--muted);letter-spacing:.06em;gap:24px;font-size:12px;display:flex}.course-eyebrow span{color:var(--accent)}.course-heading h1{font:500 44px/1.3 var(--serif);flex-wrap:wrap;align-items:baseline;gap:12px 24px;margin:18px 0;display:flex}.course-heading h1 span{font-size:24px}.course-intro{max-width:800px;color:var(--muted);font-size:14px;line-height:1.95}.course-demo-launch{border:1px solid var(--line);background:#f8fafb;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:24px 36px;padding:30px;display:grid}.course-demo-label{color:var(--accent);margin-bottom:12px;font-size:12px}.course-demo-launch h2,.course-flow>h2,.course-design-notes>h2{font:500 24px/1.5 var(--serif)}.course-demo-launch h2{margin-bottom:12px}.course-demo-launch div>p:last-child{max-width:560px;color:var(--muted);font-size:13px;line-height:1.9}.course-demo-link{background:var(--ink);color:#fff;white-space:nowrap;border-radius:28px;justify-content:center;align-items:center;gap:16px;padding:15px 22px;font-size:14px;transition:background .2s;display:inline-flex}.course-demo-link:hover{background:#414c5c}.course-demo-note{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;padding-top:18px;font-size:11px;line-height:1.8}.course-flow{padding:32px 0}.course-flow ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:24px 0 0;padding:0;list-style:none;display:grid}.course-flow li>span{color:var(--accent);font:14px Georgia,serif}.course-flow h3{margin:12px 0 8px;font-size:15px;font-weight:500}.course-flow li p{color:var(--muted);font-size:12px;line-height:1.9}.course-design-notes{border-top:1px solid var(--line);padding-top:28px}.course-design-notes>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:26px 0 32px;display:grid}.course-design-notes section>span{color:var(--accent);font-size:11px}.course-design-notes h3{margin:13px 0 9px;font-size:15px;font-weight:500}.course-design-notes section p{color:var(--muted);font-size:13px;line-height:1.9}@media (width<=760px){.course-heading h1{flex-direction:column;gap:8px;font-size:36px}.course-heading h1 span{font-size:21px}.course-intro{font-size:13px}.course-demo-launch{grid-template-columns:1fr;gap:20px;padding:22px}.course-demo-launch h2,.course-flow>h2,.course-design-notes>h2{font-size:22px}.course-demo-link{justify-self:start}.course-flow ol{grid-template-columns:1fr;gap:20px}.course-flow li{align-items:baseline;gap:18px;display:flex}.course-flow h3{margin-top:0}.course-design-notes>div{grid-template-columns:1fr;gap:24px}}@media (width<=1100px){.case-outline-part{padding-inline:17px}.direction-summary{gap:18px}.direction-filters{gap:4px}.direction-filters a,.direction-filters button{padding-inline:21px}}@media (width<=760px){.inner-page{padding-top:34px}.inner-heading{margin-bottom:25px}.inner-heading h1{font-size:40px}.inner-heading>p{margin-top:14px;font-size:18px}.direction-filters{gap:5px;margin-right:-2px;padding-bottom:18px}.direction-filters a,.direction-filters button{min-height:42px;padding:9px 18px;font-size:13px}.direction-summary{flex-wrap:wrap;gap:13px;min-height:96px;padding-block:20px}.direction-summary>.direction-number{display:none}.direction-symbol{flex-basis:43px;width:43px;height:43px}.direction-symbol svg{width:22px;height:22px}.direction-name{font-size:23px}.direction-subtitle{font-size:13px}.direction-status{display:none}.direction-toggle{flex-basis:20px;margin-left:0}.case-outline{padding:19px 18px 21px}.case-outline-heading{font-size:16px}.case-outline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}.case-outline-part{padding:0 16px}.case-outline-part:first-child,.case-outline-part:nth-child(3){border-left:0;padding-left:0}.case-outline-part:nth-child(2n){padding-right:0}.case-outline-part h2{font-size:18px}.case-outline-part p{font-size:13px}.quiet-empty{padding:48px 6px 64px}.quiet-empty h2{font-size:26px}.inner-section-heading{flex-direction:column;gap:8px}.about-introduction{padding-bottom:30px}.about-introduction h2{font-size:17px}.about-introduction p{font-size:15px}.about-direction{grid-template-columns:22px 1fr 18px;gap:14px;padding-block:23px}.about-direction .direction-number{display:none}.about-direction h3{font-size:21px}.about-direction p{font-size:13px}.writing-social{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:24px;padding:21px 20px 15px}.writing-social p{font-size:19px}.writing-social span{font-size:12px}.social-profile{flex-direction:column;align-items:flex-start;gap:28px;margin-top:30px;padding:30px 0 36px}.social-profile h2{font-size:30px}.social-profile p{font-size:14px}}@media (prefers-reduced-motion:reduce){.direction-filters a,.direction-filters button,.direction-symbol,.about-direction>svg:last-child{transition:none}}.projects-page{padding-top:34px}.projects-page .inner-heading{margin-bottom:22px}.projects-page .inner-heading h1{font-size:42px}.projects-page .inner-heading>p{margin-top:12px;font-size:18px}.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:8px 0 36px;display:grid}.project-summary-card{border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:25px 28px 19px;transition:border-color .2s,background-color .2s;display:flex}.project-summary-card:hover{background:#fafbfc;border-color:#c6cdd6}.project-card-kicker{color:var(--muted);letter-spacing:.04em;justify-content:space-between;gap:16px;font-size:11px;display:flex}.project-card-kicker>span{color:var(--accent)}.project-summary-card h2{font:500 31px/1.3 var(--serif);margin:22px 0 6px}.project-card-subtitle{font:500 18px/1.5 var(--serif)}.project-card-description{color:var(--muted);margin-top:15px;font-size:13px;line-height:1.9}.project-card-tags{color:var(--muted);margin:23px 0 20px;font-size:11px;line-height:1.7;display:block}.project-card-link{border-top:1px solid var(--line);color:var(--accent);justify-content:space-between;align-items:center;margin-top:auto;padding-top:15px;font-size:12px;display:flex}.galerie-detail-page{padding-top:24px}.project-back-link{min-height:44px;color:var(--muted);align-items:center;font-size:13px;display:inline-flex}.project-back-link:hover{color:var(--ink)}.galerie-detail-page .galerie-project{padding-top:20px}.galerie-heading h1:focus{outline:none}@media (width<=900px){.project-card-grid{grid-template-columns:1fr}}@media (width<=760px){.project-summary-card{padding:22px 22px 18px}}.galerie-project{border-bottom:1px solid var(--line);padding:26px 0 38px}.galerie-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.galerie-eyebrow{color:var(--accent);letter-spacing:.08em;gap:18px;margin:0 0 14px;font-size:12px;display:flex}.galerie-eyebrow span{color:var(--muted);letter-spacing:.12em}.galerie-heading h1{font:500 44px/1.2 var(--serif);letter-spacing:-.035em;flex-wrap:wrap;align-items:baseline;gap:10px 18px;margin:0;display:flex}.galerie-heading h1 span{letter-spacing:-.02em;font-size:22px}.galerie-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:5px;display:flex}.galerie-actions .primary-button{gap:16px;min-height:44px;padding:12px 22px;font-size:13px}.galerie-admin-link{min-height:40px;color:var(--accent);align-items:center;gap:12px;font-size:13px;display:inline-flex}.galerie-admin-link:hover{text-underline-offset:5px;text-decoration:underline}.galerie-intro{max-width:760px;color:var(--muted);margin:18px 0 28px;font-size:14px;line-height:1.95}.galerie-preview{border:1px solid var(--line);background:var(--wash);border-radius:9px;overflow:hidden}.galerie-preview-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;display:flex}.galerie-preview-bar>span{color:var(--muted);font-size:11px}.galerie-view-tabs{gap:5px;display:flex}.galerie-view-tabs button{min-height:38px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:8px 18px;font-size:13px}.galerie-view-tabs button[aria-selected=true]{color:var(--ink);background:var(--paper)}.galerie-preview-image{background:#f5f4fa;display:block;position:relative;overflow:hidden}.galerie-preview-image img{aspect-ratio:1440/1100;object-fit:cover;object-position:top;width:100%;height:auto;display:block}.galerie-image-cta{background:var(--ink);color:var(--paper);border-radius:999px;align-items:center;gap:14px;padding:13px 20px;font-size:13px;transition:transform .2s;display:flex;position:absolute;bottom:24px;right:24px}.galerie-preview-image:hover .galerie-image-cta{transform:translateY(-3px)}.galerie-caption{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:0;padding:15px 20px;font-size:12px;line-height:1.7;display:flex}.galerie-caption span{white-space:nowrap;color:var(--accent);align-items:center;gap:8px;display:inline-flex}.galerie-guide{margin-top:34px}.galerie-guide-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.galerie-guide h3{font:500 24px/1.5 var(--serif);margin:0}.galerie-guide-heading>p{color:var(--muted);margin:0;font-size:12px}.galerie-guide ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:22px 0;padding:0;list-style:none;display:grid}.galerie-guide li{gap:13px;display:flex}.galerie-guide li>span{color:var(--accent);font:italic 18px/1.5 var(--serif)}.galerie-guide h4{margin:0 0 8px;font-size:14px;font-weight:500;line-height:1.6}.galerie-guide li p{color:var(--muted);margin:0;font-size:12px;line-height:1.9}.galerie-footnote{border-top:1px solid var(--line);color:var(--muted);margin-top:28px;padding-top:20px;font-size:11px;line-height:1.8}.galerie-footnote>span{color:var(--accent);font-size:12px}.galerie-footnote p{margin:8px 0 0}@media (width<=1050px){.galerie-heading{align-items:flex-start}.galerie-heading h1{flex-direction:column}}@media (width<=760px){.galerie-project{padding-top:26px}.galerie-heading{flex-direction:column;gap:20px}.galerie-heading h1{gap:8px;font-size:38px}.galerie-heading h1 span{font-size:21px}.galerie-actions{flex-direction:row;gap:20px}.galerie-intro{margin-block:18px 22px;font-size:13px}.galerie-preview-bar{gap:8px;padding:7px 10px}.galerie-preview-bar>span{font-size:10px}.galerie-view-tabs button{padding-inline:12px}.galerie-image-cta{padding:9px 13px;font-size:11px;bottom:12px;right:12px}.galerie-caption{padding:12px 14px;font-size:11px}.galerie-caption span{display:none}.galerie-guide-heading{flex-direction:column;gap:8px}.galerie-guide h3{font-size:22px}.galerie-guide ol{grid-template-columns:1fr;gap:20px}.galerie-guide h4{margin-bottom:4px}}@media (prefers-reduced-motion:reduce){.galerie-image-cta{transition:none}}html,body,#root{height:100%}body{overflow:hidden}.reading-app .workspace{flex-direction:column;height:100dvh;min-height:0;display:flex}.reading-app .topbar{flex-shrink:0}.page-stage{isolation:isolate;flex:1;min-height:0;position:relative;overflow:hidden}.reader-page{overscroll-behavior-y:none;background:var(--paper);scrollbar-width:thin;scrollbar-color:#cbd0d8 transparent;position:absolute;inset:0;overflow:hidden auto}.reader-page[hidden]{display:none!important}.reader-page.is-current{z-index:2}.reader-page.is-outgoing{z-index:1}.page-stage.is-moving .reader-page{will-change:transform, opacity}.reading-app .reader-page .content-shell{min-height:100%}.reading-app .reader-page .page-content{animation:none}.reading-app .reader-page .site-footer{padding-bottom:15px}.reading-progress{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:0 0 22px;font-size:11px;display:grid}.reading-progress a{align-items:center;gap:9px;width:fit-content;min-height:28px;transition:color .2s;display:inline-flex}.reading-progress a:hover{color:var(--accent)}.reading-progress .next-page{justify-self:end}.page-counter{font-variant-numeric:tabular-nums;color:var(--accent);font-family:Georgia,serif}.page-counter>span{color:#8c939e}.reading-tip{color:var(--muted);font-size:11px}.reading-announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.intro-replay{height:34px;color:var(--muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 8px;font-size:12px;display:inline-flex}.intro-replay:hover{background:var(--wash);color:var(--ink)}.reading-app .topbar-actions{gap:14px}@media (width<=1050px){.category-crumb{display:none}}@media (width<=760px){.reading-app .topbar-actions{gap:4px}.intro-replay{width:28px;padding:0}.intro-replay span{display:none}.reading-progress{padding-bottom:max(20px, env(safe-area-inset-bottom));gap:10px;font-size:10px}.reading-progress a{gap:6px;min-height:32px}.reading-tip{font-size:10px}}@media (prefers-reduced-motion:reduce){.reader-page{scroll-behavior:auto}}.inner-page{width:100%;color:var(--ink);padding:60px 0 20px}.inner-heading{margin-bottom:32px}.inner-heading h1{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(44px,4.2vw,56px);font-weight:600;line-height:1.25}.inner-heading h1:focus{outline:none}.inner-heading>p{color:var(--muted);font-family:var(--serif);margin:18px 0 0;font-size:clamp(19px,1.9vw,24px);line-height:1.65}.direction-filters{border-bottom:1px solid var(--line);scrollbar-width:thin;align-items:center;gap:12px;padding:0 0 22px;display:flex;overflow-x:auto}.direction-filters a,.direction-filters button{min-height:44px;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:10px 28px;font-size:15px;line-height:1.5;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.direction-filters a:hover,.direction-filters button:hover{background:var(--wash)}.direction-filters a[aria-current],.direction-filters button[aria-selected=true]{background:var(--ink);color:var(--paper)}.direction-case{border-bottom:1px solid var(--line)}.direction-summary{cursor:pointer;align-items:center;gap:24px;min-height:106px;padding:20px 0;list-style:none;display:flex}.direction-summary::-webkit-details-marker{display:none}.direction-summary::marker{content:""}.direction-number{color:var(--accent);font-family:var(--serif);font-variant-numeric:tabular-nums;flex:0 0 24px;font-size:15px}.direction-symbol{border:1px solid var(--line);background:color-mix(in srgb, var(--wash) 55%, transparent);border-radius:50%;flex:0 0 50px;place-items:center;width:50px;height:50px;transition:background-color .2s;display:grid}.direction-summary:hover .direction-symbol{background:var(--wash)}.direction-title{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.direction-name{font-family:var(--serif);letter-spacing:-.025em;font-size:26px;font-weight:500;line-height:1.35}.direction-subtitle{color:var(--muted);font-size:15px;line-height:1.55}.direction-status{color:var(--muted);white-space:nowrap;font-size:12px}.direction-toggle{color:var(--accent);flex:0 0 24px;place-items:center;margin-left:5px;display:grid}.case-outline{background:color-mix(in srgb, var(--wash) 57%, transparent);border-radius:8px;margin:0 0 22px;padding:22px 24px 24px}.case-outline-heading{border-bottom:1px solid var(--line);font-family:var(--serif);margin:0;padding-bottom:14px;font-size:17px;line-height:1.5}.case-outline-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:20px;display:grid}.case-outline-part{min-width:0;padding:0 26px}.case-outline-part:first-child{padding-left:7px}.case-outline-part:last-child{padding-right:5px}.case-outline-part+.case-outline-part{border-left:1px solid var(--line)}.case-section-number{color:var(--accent);font-family:var(--serif);font-size:13px}.case-outline-part h2{font-family:var(--serif);margin:10px 0 9px;font-size:19px;font-weight:500;line-height:1.4}.case-outline-part p{color:var(--muted);margin:0;font-size:14px;line-height:1.85}.writing-panel{outline-offset:4px}.writing-social{background:var(--wash);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin:0 0 30px;padding:22px 26px;display:flex}.writing-social p{font-family:var(--serif);margin:0 0 7px;font-size:20px;line-height:1.5}.writing-social span{color:var(--muted);font-size:13px;line-height:1.8}.social-read-link{min-height:44px;color:var(--accent);flex-shrink:0;align-items:center;gap:10px;font-size:13px;display:inline-flex}.social-read-link:hover{color:var(--ink);text-underline-offset:5px;text-decoration:underline}.quiet-empty{text-align:center;max-width:530px;margin:0 auto;padding:70px 24px 84px}.quiet-empty-icon{color:var(--accent);margin:0 auto 24px}.quiet-empty-label{letter-spacing:.12em;color:var(--accent);margin:0 0 14px;font-size:12px}.quiet-empty h2{font-family:var(--serif);margin:0 0 20px;font-size:28px;font-weight:500;line-height:1.5}.quiet-empty>p:not(.quiet-empty-label){color:var(--muted);font-size:15px;line-height:1.9}.quiet-empty-note{color:var(--muted);margin-top:28px;font-size:12px;line-height:1.8;display:block}.about-introduction{max-width:780px;padding:0 0 42px}.about-introduction h2{margin:0 0 20px;font-size:19px;font-weight:500;line-height:1.8}.about-introduction p{color:var(--muted);margin:8px 0;font-size:16px;line-height:1.95}.inner-section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:17px;display:flex}.inner-section-heading h2{font-family:var(--serif);margin:0;font-size:24px;font-weight:500}.inner-section-heading>span{color:var(--muted);font-size:12px}.about-direction{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:24px 24px 1fr 20px;align-items:center;gap:24px;padding:26px 0;text-decoration:none;display:grid}.about-direction>svg{color:var(--accent)}.about-direction h3{font-family:var(--serif);margin:0 0 7px;font-size:22px;font-weight:500}.about-direction p{color:var(--muted);margin:0;font-size:14px;line-height:1.8}.about-direction:hover h3{color:var(--accent)}.about-direction>svg:last-child{transition:transform .2s}.about-direction:hover>svg:last-child{transform:translate(2px,-2px)}.inner-closing-note{color:var(--muted);margin:32px 0 8px;font-size:13px;line-height:1.8}.social-profile{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;margin-top:38px;padding:44px 0 48px;display:flex}.social-profile-copy{min-width:0}.social-platform{color:#a54841;align-items:center;gap:8px;font-size:13px;line-height:1.5;display:inline-flex}.social-platform:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.social-profile h2{font-family:var(--serif);margin:18px 0;font-size:clamp(28px,3vw,38px);font-weight:500;line-height:1.4}.social-at{color:var(--accent);margin-right:5px;font-family:Georgia,serif;font-size:.8em}.social-profile p{color:var(--muted);margin:5px 0;font-size:15px;line-height:1.9}.social-profile .social-invitation{font-family:var(--serif);color:var(--ink);margin-top:12px;font-size:17px}.social-profile-action{white-space:nowrap;flex-shrink:0}.social-profile-action:hover svg{transform:translate(2px,-2px)}.contact-signature{color:var(--accent);font-family:var(--serif);align-items:baseline;gap:12px;padding-top:32px;display:flex}.contact-signature span:first-child{font-size:23px}.contact-signature span:last-child{font-size:18px;font-style:italic}@media (width<=1100px){.case-outline-part{padding-inline:17px}.direction-summary{gap:18px}.direction-filters{gap:4px}.direction-filters a,.direction-filters button{padding-inline:21px}}@media (width<=760px){.inner-page{padding-top:34px}.inner-heading{margin-bottom:25px}.inner-heading h1{font-size:40px}.inner-heading>p{margin-top:14px;font-size:18px}.direction-filters{gap:5px;margin-right:-2px;padding-bottom:18px}.direction-filters a,.direction-filters button{min-height:42px;padding:9px 18px;font-size:13px}.direction-summary{flex-wrap:wrap;gap:13px;min-height:96px;padding-block:20px}.direction-summary>.direction-number{display:none}.direction-symbol{flex-basis:43px;width:43px;height:43px}.direction-symbol svg{width:22px;height:22px}.direction-name{font-size:23px}.direction-subtitle{font-size:13px}.direction-status{display:none}.direction-toggle{flex-basis:20px;margin-left:0}.case-outline{padding:19px 18px 21px}.case-outline-heading{font-size:16px}.case-outline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}.case-outline-part{padding:0 16px}.case-outline-part:first-child,.case-outline-part:nth-child(3){border-left:0;padding-left:0}.case-outline-part:nth-child(2n){padding-right:0}.case-outline-part h2{font-size:18px}.case-outline-part p{font-size:13px}.quiet-empty{padding:48px 6px 64px}.quiet-empty h2{font-size:26px}.inner-section-heading{flex-direction:column;gap:8px}.about-introduction{padding-bottom:30px}.about-introduction h2{font-size:17px}.about-introduction p{font-size:15px}.about-direction{grid-template-columns:22px 1fr 18px;gap:14px;padding-block:23px}.about-direction .direction-number{display:none}.about-direction h3{font-size:21px}.about-direction p{font-size:13px}.writing-social{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:24px;padding:21px 20px 15px}.writing-social p{font-size:19px}.writing-social span{font-size:12px}.social-profile{flex-direction:column;align-items:flex-start;gap:28px;margin-top:30px;padding:30px 0 36px}.social-profile h2{font-size:30px}.social-profile p{font-size:14px}}@media (prefers-reduced-motion:reduce){.direction-filters a,.direction-filters button,.direction-symbol,.about-direction>svg:last-child{transition:none}}:root{--paper:#fff;--wash:#f3f4f6;--ink:#202124;--muted:#686d75;--accent:#526278;--line:#e5e7eb;--serif:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--sidebar:250px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button{border:0}img{max-width:100%;display:block}p,h1,h2,h3,figure{margin:0}svg{vertical-align:middle;flex-shrink:0}::selection{color:var(--ink);background:#dce6f4}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:5px}h1:focus,main:focus{outline:none}.skip-link{z-index:200;background:var(--ink);color:var(--paper);border-radius:8px;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}.workspace{min-height:100vh;margin-left:0;transition:margin-left .28s}.with-sidebar .workspace{margin-left:var(--sidebar)}.sidebar{z-index:50;width:var(--sidebar);border-right:1px solid var(--line);background:#f8f9fb;flex-direction:column;padding:24px 18px 20px;transition:transform .28s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.brand-row{justify-content:space-between;align-items:center;margin:0 10px 40px;display:flex}.brand{letter-spacing:-.6px;align-items:center;gap:16px;font-family:Georgia,serif;font-size:25px;display:flex}.monogram{border:1px solid var(--accent);width:43px;height:43px;color:var(--accent);border-radius:50%;place-items:center;font-size:25px;display:grid}.icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border-radius:8px;place-items:center;transition:background .2s,color .2s;display:inline-grid}.icon-button:hover{color:var(--ink);background:#eceef2}.sidebar-close{opacity:0;width:26px;height:30px;transition:opacity .2s}.sidebar-close svg{width:17px}.sidebar:hover .sidebar-close,.sidebar:focus-within .sidebar-close{opacity:1}.navigation{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;overflow-y:auto}.nav-caption{letter-spacing:1px;color:var(--accent);padding:0 15px 15px;font-size:12px}.nav-row{border-radius:10px;align-items:center;margin-bottom:6px;transition:background .2s;display:flex}.nav-row a{flex:1;align-items:center;gap:15px;min-width:0;padding:13px 15px;font-size:14px;line-height:22px;display:flex}.nav-row.active{background:#e9ecf1}.nav-row:hover{background:#f0f2f5}.nav-row.active:hover{background:#e9ecf1}.group-toggle{width:34px;height:42px;color:var(--muted);background:0 0;padding:0 12px 0 0}.group-toggle svg{transition:transform .25s}.group-toggle svg.is-closed{transform:rotate(-90deg)}.project-links{grid-template-rows:0fr;transition:grid-template-rows .25s,margin .25s;display:grid}.project-links>div{min-height:0;overflow:hidden}.project-links.expanded{grid-template-rows:1fr;margin-bottom:20px}.project-links a{color:var(--muted);padding:10px 12px 10px 49px;font-size:13px;line-height:22px;transition:color .2s;display:block}.project-links a:hover,.project-links a.selected{color:var(--ink)}.project-links a.selected{background:#e9ecf1;border-radius:8px;font-weight:600}.sidebar-person{border-top:1px solid var(--line);align-items:center;gap:13px;margin-top:25px;padding:20px 10px 0;display:flex}.sidebar-person img{object-fit:cover;border-radius:50%;width:44px;height:44px}.sidebar-person strong{margin-bottom:6px;font-size:14px;font-weight:500;display:block}.sidebar-person small{color:var(--muted);white-space:nowrap;font-size:11px}.topbar{z-index:20;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:76px;margin:0 32px;display:flex;position:sticky;top:0}.breadcrumb{white-space:nowrap;align-items:center;gap:16px;font-size:13px;display:flex}.breadcrumb>a{color:var(--muted)}.breadcrumb>a:hover{color:var(--ink)}.crumb-slash{color:#9ca3af}.menu-toggle{display:none}.menu-toggle.visible{display:inline-grid}.topbar-actions{align-items:center;gap:22px;display:flex}.contact-link{border-left:1px solid var(--line);align-items:center;gap:10px;padding-left:22px;font-size:13px;display:flex}.contact-link:hover{color:var(--accent)}.content-shell{flex-direction:column;max-width:1280px;min-height:calc(100vh - 76px);margin:auto;padding:0 64px;display:flex}.page-content{flex:1;animation:.48s cubic-bezier(.22,.7,.25,1) both page-in}.page-content.backward{animation-name:page-back}.home-page{padding-top:76px}.hero{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:48px;padding-bottom:65px;display:grid}.welcome{font-family:var(--serif);color:var(--muted);margin-bottom:19px;font-size:17px;line-height:1.6}.hero h1{font-family:var(--serif);letter-spacing:-2px;white-space:nowrap;font-size:clamp(45px,4.4vw,68px);font-weight:600;line-height:1.25}.english-name{color:var(--accent);letter-spacing:-3px;margin-left:16px;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.name-slash{margin-right:8px;font-size:.85em;font-style:normal;font-weight:300;display:inline-block;transform:skew(-8deg)}.hero-role{font-family:var(--serif);margin-top:15px;font-size:21px;line-height:1.65}.hero-intro{font-family:var(--serif);color:var(--muted);max-width:760px;margin-top:30px;font-size:17px;line-height:1.9}.hero-intro p+p{margin-top:1px}.hero-actions{align-items:center;gap:34px;margin-top:34px;display:flex}.primary-button{background:var(--ink);min-height:52px;color:var(--paper);letter-spacing:.3px;border-radius:100px;justify-content:center;align-items:center;gap:22px;padding:0 28px;font-size:14px;transition:background .2s,transform .2s;display:inline-flex}.primary-button:hover{background:#3f4b5c;transform:translateY(-2px)}.primary-button svg,.text-link svg{transition:transform .2s}.primary-button:hover svg,.text-link:hover svg{transform:translate(4px)}.text-link{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:15px;padding:15px 0;font-size:14px;display:inline-flex}.hero-portrait{aspect-ratio:4/5;background:#f1f3f5;border-radius:12px;align-self:stretch;width:100%;max-height:344px;overflow:hidden}.hero-portrait img{object-fit:cover;object-position:50% 45%;width:100%;height:100%}.directions{border-top:1px solid var(--line);padding:31px 0 44px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px;display:flex}.section-heading h2{font-family:var(--serif);letter-spacing:.5px;font-size:30px;font-weight:500;line-height:1.5}.section-note{font-family:var(--serif);color:var(--muted);white-space:nowrap;align-items:center;gap:15px;font-size:14px;display:flex}.section-note:before{content:"";background:var(--line);width:40px;height:1px}.direction-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.direction-link{border-right:1px solid var(--line);padding:0 30px;display:block}.direction-link:first-child{padding-left:0}.direction-link:last-child{border:0;padding-right:0}.direction-top{align-items:center;gap:26px;display:flex}.index-number{color:var(--accent);font-family:Georgia,serif;font-size:14px}.direction-icon{border:1px solid var(--line);background:#f4f5f7;border-radius:50%;place-items:center;width:48px;height:48px;transition:background .2s;display:grid}.direction-arrow{color:var(--accent);margin-left:auto;transition:transform .2s}.direction-link:hover .direction-arrow{transform:translate(3px,-3px)}.direction-link:hover .direction-icon{background:#e9edf3}.direction-text{margin-top:15px;padding-left:42px}.direction-text h3{font-family:var(--serif);white-space:nowrap;font-size:25px;font-weight:500;line-height:1.5}.direction-text p{font-family:var(--serif);color:var(--muted);margin-top:7px;font-size:15px;line-height:1.8}.site-footer{border-top:1px solid var(--line);font-family:var(--serif);color:var(--muted);justify-content:space-between;gap:20px;margin-top:6px;padding:23px 0 25px;font-size:12px;display:flex}.site-footer a:hover{color:var(--ink)}.nav-scrim{display:none}@keyframes page-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes page-back{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@media (width>=1281px){.topbar{height:88px}.content-shell{min-height:calc(100vh - 88px)}.home-page{padding-top:86px}:root{--sidebar:clamp(250px,18.6vw,280px)}.content-shell{padding:0 72px}.hero{grid-template-columns:minmax(0,1fr) clamp(250px,20.5vw,310px);gap:44px}.hero h1{font-size:clamp(58px,4.8vw,72px)}.hero-role{font-size:23px}.hero-intro{margin-top:30px;font-size:18px}.hero-portrait{max-height:390px}.welcome{font-size:18px}.nav-row a{font-size:15px}.project-links a{font-size:14px}.hero-actions{margin-top:34px}.primary-button{min-height:54px;padding:0 30px;font-size:15px}.section-heading h2{font-size:33px}.direction-text h3{font-size:27px}.direction-text p{font-size:16px}.direction-icon{width:52px;height:52px}.direction-text{padding-left:48px}.directions{padding-bottom:48px}}@media (width>=1600px){.content-shell{padding:0 70px}.home-page{padding-top:100px}.hero{gap:52px;padding-bottom:80px}.hero-portrait{max-height:none}.directions{padding-top:36px;padding-bottom:55px}}@media (width<=1280px){:root{--sidebar:228px}.content-shell{padding:0 44px}.brand-row{margin-bottom:35px}.hero{grid-template-columns:minmax(0,1fr) 210px;gap:35px}.hero h1{font-size:49px}.hero-role{font-size:18px}.hero-intro{font-size:15px}.hero-portrait{max-height:300px}.home-page{padding-top:65px}.section-heading h2{font-size:27px}.direction-link{padding:0 22px}.direction-top{gap:17px}.direction-text{padding-left:33px}.direction-text h3{font-size:22px}.direction-text p,.section-note{font-size:13px}.sidebar-person small{font-size:10px}}@media (width<=1050px) and (width>=761px){:root{--sidebar:210px}.content-shell{padding:0 32px}.topbar{margin:0 24px}.brand-row{margin-left:7px;margin-right:0}.sidebar{padding:22px 12px}.hero{grid-template-columns:minmax(0,1fr) 172px;gap:22px}.hero h1{font-size:39px}.english-name{margin-left:10px}.name-slash{margin-right:3px}.hero-role{font-size:16px}.hero-intro{margin-top:24px;font-size:14px;line-height:1.95}.welcome{font-size:15px}.hero-portrait{aspect-ratio:3/4;max-height:244px;margin-top:8px}.hero-actions{gap:24px}.primary-button{min-height:48px;padding:0 22px}.direction-top{gap:14px}.direction-text{padding-left:0}.direction-text h3{font-size:21px}.direction-link{padding:0 15px}.direction-icon{width:40px;height:40px}.direction-icon svg{width:21px}.section-note:before{display:none}.hero{padding-bottom:50px}.sidebar-person{gap:10px;padding-left:5px;padding-right:0}}@media (width<=760px){:root{--sidebar:270px}.workspace,.with-sidebar .workspace{margin-left:0}.sidebar{z-index:60;padding:24px 20px;box-shadow:12px 0 50px #20212414}.sidebar-close{opacity:1;width:30px;height:30px}.sidebar-close svg{width:20px}.brand-row{margin-bottom:34px}.nav-row a{padding:13px 15px;font-size:15px}.project-links a{font-size:14px}.sidebar-person small{font-size:11px}.nav-scrim{z-index:55;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#20212455;display:block;position:fixed;inset:0}.topbar{gap:10px;height:65px;margin:0 22px}.breadcrumb{gap:11px;font-size:12px}.breadcrumb>a,.crumb-slash{display:none}.topbar-actions{gap:8px}.contact-link{border:0;gap:6px;padding-left:8px;font-size:12px}.replay-button{width:30px}.content-shell{min-height:calc(100vh - 65px);padding:0 26px}.home-page{padding-top:38px}.hero{grid-template-columns:minmax(0,1fr) 105px;align-items:start;gap:17px;padding-bottom:38px}.hero-copy{display:contents}.welcome{grid-area:1/1;margin:0;padding-top:4px;font-size:12px;line-height:1.8}.hero h1{letter-spacing:-1px;white-space:normal;grid-area:2/1;margin-top:-10px;font-size:34px;line-height:1.23}.english-name{letter-spacing:-1px;margin:7px 0 0;font-size:31px;display:block}.name-slash{margin-right:6px;font-size:27px}.hero-portrait{aspect-ratio:3/4;border-radius:9px;grid-area:1/2/span 2;align-self:start;max-height:none;margin-top:0}.hero-role{grid-area:3/1/auto/-1;max-width:390px;margin:6px 0 0;font-size:17px;line-height:1.7}.hero-intro{grid-area:4/1/auto/-1;margin-top:0;font-size:15px;line-height:1.9}.hero-intro p+p{margin-top:6px}.hero-actions{grid-area:5/1/auto/-1;gap:28px;margin-top:5px}.primary-button{gap:22px;min-height:49px;padding:0 25px;font-size:13px}.text-link{padding:13px 0;font-size:13px}.directions{padding:25px 0 27px}.section-heading{align-items:flex-start;gap:12px;margin-bottom:17px}.section-heading h2{font-size:23px;line-height:1.4}.section-note{display:none}.direction-grid{grid-template-columns:1fr}.direction-link,.direction-link:first-child,.direction-link:last-child{border:0;border-bottom:1px solid var(--line);grid-template-columns:95px minmax(0,1fr);align-items:center;gap:15px;padding:20px 30px 20px 0;display:grid;position:relative}.direction-link:last-child{border-bottom:0;padding-bottom:6px}.direction-top{gap:20px}.direction-icon{width:43px;height:43px}.direction-icon svg{width:22px;height:22px}.direction-arrow{width:20px;position:absolute;top:34px;right:0}.direction-text{margin:0;padding:0}.direction-text h3{font-size:21px}.direction-text p{margin-top:4px;font-size:12px;line-height:1.8}.site-footer{padding:21px 0 25px;font-size:11px}.index-number{font-size:13px}}@media (width>=761px) and (width<=900px){.hero{grid-template-columns:minmax(0,1fr) 140px;gap:20px}.hero h1{font-size:34px}.hero-portrait{max-height:200px}.hero-role{font-size:15px}.direction-link{padding:0 10px}.direction-text h3{font-size:19px}.direction-text p{font-size:12px}.section-heading h2{font-size:25px}.section-note{font-size:11px}.hero-actions{gap:17px}.primary-button{gap:12px;padding:0 17px;font-size:12px}}@media (width<=370px){.content-shell{padding:0 21px}.hero{grid-template-columns:minmax(0,1fr) 85px;gap:16px}.hero h1{font-size:30px}.welcome{font-size:11px}.hero-portrait{aspect-ratio:3/4}.english-name{font-size:28px}.hero-role{font-size:16px}.direction-link,.direction-link:first-child,.direction-link:last-child{grid-template-columns:80px minmax(0,1fr);gap:12px}.direction-top{gap:13px}.direction-text h3{font-size:20px}.direction-text p{font-size:11px}.hero-actions{gap:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
