:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#f5f5f7;background:#101114;--ink: #f5f5f7;--muted: #abaeb8;--subtle: #999ba5;--accent: #9cb7ff;--line: #ffffff19;--surface: #191a20;--page: clamp(20px, 5vw, 72px);--max: 1160px;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0}p,h1,h2,h3,figure{margin:0}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit;font:inherit;border:0;background:none;cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:#334d88;color:#fff}.skip-link{position:fixed;z-index:100;top:8px;left:12px;padding:12px;background:#24252c;border-radius:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.artwork{position:relative;overflow:hidden;width:100%;background:#171821}.artwork img{display:block;width:100%;height:auto}.section-description{color:var(--muted);font-size:16px;margin-top:12px;line-height:1.7}.module-list a{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;min-height:61px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}.module-list a:hover{color:var(--accent)}.module-list small{color:var(--muted);font-size:12px;white-space:nowrap}.module-list a>span:last-child{color:var(--accent);font-size:21px}.about-intro{line-height:1.8;font-size:17px}.experience-list{list-style:none;padding:0;margin:21px 0}.experience-list li{border-top:1px solid var(--line);padding:17px 0}.experience-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.experience-heading h3{font-size:16px;font-weight:600}.experience-heading span{color:var(--muted);font-size:12px;white-space:nowrap}.experience-role{color:#d1d4de;font-size:14px;line-height:1.6;margin-top:6px}.experience-detail,.resume-source-note{color:var(--muted);font-size:14px;line-height:1.75;margin-top:6px}.resume-source-note{font-size:12px}.optional-demo{border-block:1px solid var(--line)}.optional-demo summary{cursor:pointer;display:flex;list-style:none;justify-content:space-between;align-items:center;min-height:58px;color:#d7d8df;font-size:15px}.optional-demo summary::-webkit-details-marker{display:none}.optional-demo summary span{font-size:22px;color:var(--accent)}.optional-demo[open] summary span{rotate:45deg}.optional-demo .story-section{border-bottom:0}.contact-section{padding-block:clamp(49px,7vw,85px) 28px}.contact-details{display:flex;gap:35px 60px;flex-wrap:wrap;margin-top:20px}.contact-details>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.contact-details>div>span{flex-basis:100%;color:var(--muted);font-size:13px}.contact-details a{line-height:1.6;font-size:clamp(18px,2vw,23px)}.contact-details button{min-height:44px;color:var(--accent);font-size:13px}.copy-status{min-height:20px;margin-top:9px;color:var(--muted);font-size:13px}.site-footer{border-top:1px solid var(--line);min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.site-footer>div{display:flex;gap:20px}.site-footer a{display:inline-flex;align-items:center;min-height:44px}.site-footer a:hover{color:var(--accent)}.reader-loading{display:grid;align-content:center;justify-items:center;gap:16px;min-height:60vh;padding:24px}.reader-loading a,.reader-loading button{color:var(--accent);min-height:44px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}@font-face{font-family:Portfolio Song;src:url(/fonts/portfolio-song.woff2) format("woff2");font-style:normal;font-weight:650 750;font-display:swap}:root{--a-serif: "Portfolio Song", "Songti SC", "Noto Serif CJK SC", "STSong", SimSun, Georgia, serif;--a-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}.auteur{--ink: #f4efe6;--muted: #aaa69e;--subtle: #9a978f;--accent: #ffcf8a;--red: #ff5147;--line: #f4efe624;--a-gutter: clamp(24px, 6.8vw, 114px);background:#08080a;color:var(--ink);overflow:clip}.a-frame{width:calc(100% - (clamp(24px,5vw,80px)*2));margin-inline:auto}.a-content{width:min(1230px,calc(100% - var(--a-gutter) * 2));margin-inline:auto}.a-header{position:relative;z-index:3;background:#0b0b0d;border-bottom:1px solid var(--line)}.a-header .a-frame{height:clamp(62px,6.9vw,86px);display:flex;align-items:center;justify-content:space-between;gap:20px}.a-logo{display:inline-flex;align-items:baseline;font:900 31px/.9 Georgia,serif;letter-spacing:-.1em;padding-block:13px}.a-logo span{color:var(--red)}.a-header nav{display:flex;gap:clamp(16px,2.6vw,36px);align-items:center}.a-header nav a,.a-text-link{display:inline-flex;min-height:44px;gap:8px;align-items:center;color:#c8c3ba;font-size:12px;letter-spacing:.12em}.a-header nav a{white-space:nowrap}.a-header nav a:hover,.a-text-link:hover{color:var(--ink)}.a-header nav span,.a-text-link span{color:var(--red)}.auteur .skip-link{color:var(--ink);background:#33251b}.a-hero{position:relative;isolation:isolate;display:grid;grid-template-rows:minmax(180px,1fr) auto;min-height:max(590px,calc(100svh - clamp(62px,6.9vw,86px)));background:radial-gradient(ellipse at 53% 27%,#211810,#110e0c 44%,#08080a 78%);overflow:hidden;border-bottom:1px solid var(--line)}.a-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,#08080a 0%,#08080a7a 28%,transparent 63%)}.a-field{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 80%,transparent);mask-image:linear-gradient(#000 80%,transparent)}.a-field:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.13;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E") repeat;mix-blend-mode:soft-light}.auteur-particles,.a-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.auteur-particles{opacity:0;pointer-events:none;transition:opacity .65s ease;touch-action:pan-y;cursor:grab}.auteur-particles:active{cursor:grabbing}.auteur-particles[data-ready=true]{opacity:1;pointer-events:auto}.a-poster{display:grid;place-items:center;pointer-events:none;font:italic 900 clamp(63px,min(17vw,26vh),240px)/.8 Georgia,serif;letter-spacing:-.075em;color:#e7ad6678;text-shadow:0 0 45px #ff9d3824;-webkit-text-stroke:1px #f4bd8861;transition:opacity .55s ease}.a-field:has([data-ready=true]) .a-poster{opacity:0}.a-hero-content{position:relative;z-index:2;pointer-events:none;padding:12px 0 clamp(34px,5.5vh,68px)}.a-hero-content a{pointer-events:auto}.a-kicker{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:#dbccb8;font:650 12px/1.5 var(--a-mono);letter-spacing:.2em}.a-kicker i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 14px #ff4c41af}.a-kicker span{color:var(--accent)}.a-hero h1{font:750 clamp(61px,8vw,116px)/1.04 var(--a-serif);letter-spacing:-.055em;margin-left:-.04em;text-shadow:0 3px 27px #160c07d9,0 0 55px #0d0806b8}.auteur em{color:var(--accent);font-style:normal}.a-hero-description{color:#d8d3c9;font-size:clamp(15px,1.45vw,20px);line-height:1.72;margin-top:25px;text-shadow:0 2px 13px #100b08}.a-hero-actions{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 28px}.a-drag-note{display:none;color:#b7ab99;font:12px/1.5 var(--a-mono);letter-spacing:.07em}.a-drag-note b{color:var(--accent);font-weight:650}.a-hero:has([data-ready=true]) .a-drag-note{display:inline}.a-motion-toggle{display:none;min-height:44px;padding-inline:0;color:var(--muted);font-size:12px;pointer-events:auto}.a-hero:has([data-ready=true]) .a-motion-toggle,.a-hero-actions[data-paused=true] .a-motion-toggle{display:inline-flex;align-items:center}.a-motion-toggle:hover{color:var(--accent)}.a-section{padding-block:clamp(65px,8.6vw,125px);border-bottom:1px solid var(--line);scroll-margin-top:0}.a-section:focus{outline:none}.a-section-heading{display:flex;align-items:baseline;gap:17px}.a-section-heading>span,.a-module-index{color:var(--red);font:700 13px/1.5 var(--a-mono);letter-spacing:.09em}.a-section h2{font:750 clamp(38px,5.5vw,74px)/1.12 var(--a-serif);letter-spacing:-.055em}.a-section h3{font-family:var(--a-serif)}.a-split{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(32px,6vw,90px)}.a-heading-with-link{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:5px 18px}.a-section [data-reveal].in-view{animation:auteur-reveal .7s cubic-bezier(.2,.64,.26,1) both}@keyframes auteur-reveal{0%{opacity:.52;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.a-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin:clamp(28px,5vh,54px) 0 0;padding:0;list-style:none}.a-features li{display:flex;min-width:0}.a-features a{display:flex;flex:1;flex-direction:column;gap:12px;min-height:266px;padding:clamp(22px,2.55vw,36px);border:1px solid var(--line);border-radius:4px;background:linear-gradient(175deg,#111114,#0a0a0c);transition:border-color .22s ease,background-color .22s ease}.a-features a:hover,.a-features a:focus-visible{border-color:#f4efe669;background:#121215}.a-card-group{color:var(--red);font:700 12px/1.35 var(--a-mono);letter-spacing:.12em}.a-features h3{font-size:clamp(22px,2vw,29px);font-weight:700;line-height:1.35;letter-spacing:-.02em}.a-features p{color:var(--muted);line-height:1.75;font-size:15px}.a-features small{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#a7a29a;margin-top:auto;padding-top:20px;font-size:12px}.a-features small span:last-child{color:var(--accent);font-size:17px}#method .a-features a{min-height:220px}.a-work-heading{margin-bottom:36px}.a-work-heading>p{margin-top:23px;color:#d8d3c9;font:650 clamp(23px,2.65vw,36px)/1.42 var(--a-serif);letter-spacing:-.04em}.a-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.a-case{--case-hue: #c580a3;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:end;min-height:370px;min-width:0;overflow:hidden;border:1px solid #d7c3aa34;border-left:3px solid var(--case-hue);border-radius:5px;background:#1b1515;transition:border-color .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.22,.61,.36,1)}.a-case-03{--case-hue: #e5b165;background:#1e1711}.a-case-04{--case-hue: #a394df;grid-column:1 / -1;min-height:410px;background:#191521}.a-case:hover,.a-case:focus-visible{border-color:var(--case-hue);box-shadow:0 11px 30px color-mix(in srgb,var(--case-hue) 20%,transparent);transform:translateY(-4px)}.a-case-art{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:-1}.a-case-art .artwork{transition:transform .55s cubic-bezier(.2,.65,.23,1)}.a-case:hover .artwork{transform:scale(1.035)}.a-case-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#120f10 2%,#120f10f3 27%,#130f1175 51%,transparent 79%)}.a-case-04 .a-case-art{left:18%}.a-case-04 .a-case-art:after{background:linear-gradient(90deg,#191521 0%,#191521ad 30%,transparent 65%),linear-gradient(0deg,#140e1bed,transparent 71%)}.a-case-copy{position:relative;padding:30px clamp(25px,3.2vw,42px)}.a-case-index{color:#e3d2c1;font:650 12px/1.6 var(--a-mono);letter-spacing:.12em}.a-case-index span,.a-case-arrow{color:var(--case-hue)}.a-case-copy h3{font:750 clamp(29px,3.7vw,54px)/1.17 var(--a-serif);letter-spacing:-.05em;margin:8px 32px 8px 0}.a-case-copy>p:last-of-type{color:#cdc1b5;font-size:15px;line-height:1.75;padding-right:24px}.a-case-arrow{position:absolute;bottom:33px;right:28px;font-size:23px}.auteur .optional-demo{margin-top:24px}.auteur .optional-demo summary,.auteur .experience-role{color:#dbcfbf}.auteur .module-list a{grid-template-columns:26px 1fr auto 18px}.auteur .about-content .experience-list{margin-block:22px}.auteur .contact-details a{color:var(--ink)}.auteur .site-footer{border:0}.auteur .site-footer>div{flex-wrap:wrap}.a-split .a-text-link{margin-top:12px}@media(max-width:850px){.a-case{min-height:310px}.a-case-04{min-height:350px}.a-split{grid-template-columns:1fr}.a-features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.auteur{--a-gutter: clamp(20px, 6vw, 35px)}.a-header nav{gap:14px}.a-header nav a{font-size:11px;letter-spacing:.02em}.a-header nav span{display:none}.a-logo{font-size:27px}.a-hero{min-height:max(492px,calc(100svh - 62px))}.a-poster{font-size:clamp(63px,20vw,120px)}.a-hero:after{background:linear-gradient(0deg,#08080a 0%,#08080aeb 22%,#08080a52 54%,transparent 73%)}.a-hero h1{font-size:clamp(37px,12.1vw,74px)}.a-hero h1 em{white-space:nowrap}.a-kicker{margin-bottom:15px}.a-desktop-break{display:none}.a-hero-description{margin-top:18px;max-width:23em}.a-hero-actions{margin-top:13px;gap:2px 17px}.a-hero-content{padding-bottom:clamp(36px,6vh,53px)}.a-drag-note{font-size:10px}.a-features,.a-cases{grid-template-columns:1fr;gap:12px}.a-features a,#method .a-features a{min-height:0}.a-features small{padding-top:10px}.a-case,.a-case-04{min-height:274px}.a-case-04 .a-case-art{left:0}.a-case-04 .a-case-art:after{background:linear-gradient(0deg,#140e1b 6%,#140e1bd9 30%,#140e1b22 75%)}.a-case-copy{padding:23px 19px}.a-case-arrow{bottom:25px;right:17px}.auteur .site-footer{align-items:baseline;padding-block:15px}.auteur .site-footer>div{gap:0 12px;justify-content:end}}@media(max-width:355px){.a-drag-note{display:none!important}.a-header .a-frame{gap:8px}.a-header nav{gap:9px}}@media(prefers-reduced-motion:reduce){.a-section [data-reveal].in-view{animation:none}.a-case:hover,.a-case:focus-visible,.a-case:hover .artwork{transform:none}.a-hero .a-motion-toggle{display:none!important}}
