.shell{min-height:100vh;--page-inset: max(var(--page-gutter), calc((100% - var(--page-max)) / 2))}.header{position:fixed;top:0;left:0;right:0;z-index:34;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-start{display:flex;align-items:center;gap:20px;min-width:0}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand{display:flex;flex-direction:column;gap:0;line-height:1.15}.brand-cn{font-family:var(--font-serif);font-size:18px;letter-spacing:.18em}.brand-en{font-family:var(--font-en);font-size:10px;letter-spacing:.28em;color:var(--muted)}.header-btn{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);color:var(--text);background:transparent;cursor:pointer;flex-shrink:0}.menu-btn span,.menu-btn span:before,.menu-btn span:after{display:block;width:16px;height:1px;background:currentColor;position:relative;margin:0 auto}.menu-btn span:before,.menu-btn span:after{content:"";position:absolute;left:0}.menu-btn span:before{top:-5px}.menu-btn span:after{top:5px}.skin-mark{width:14px;height:14px;display:grid;grid-template-columns:1fr 1fr;gap:2px}.skin-mark i{display:block;background:var(--muted)}.skin-mark i:nth-child(2){background:var(--accent)}.skin-mark i:nth-child(3){background:var(--text)}.skin-mark i:nth-child(4){background:var(--line)}.locale-mark{font-family:var(--font-serif);font-size:14px;line-height:1;letter-spacing:.08em}.drawer{display:block;position:fixed;top:var(--header-h);right:0;bottom:0;left:0;z-index:29;background:var(--drawer-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:24px 28px 48px;overflow:auto;transform:translateY(-8px);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .2s ease,transform .2s ease}.drawer.is-open{opacity:1;transform:none;pointer-events:auto;visibility:visible}.drawer a{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--font-serif);font-size:20px}.drawer a span{font-family:var(--font-en);font-size:11px;letter-spacing:.18em;color:var(--muted)}.main{position:relative;z-index:2;padding-top:var(--header-h)}.skin-overlay{position:fixed;inset:0;z-index:32;display:grid;justify-items:end;align-items:start;padding:calc(var(--header-h) + 12px) 20px 24px}.skin-scrim{position:absolute;inset:0;background:var(--scrim);cursor:pointer}.skin-panel{position:relative;width:min(100%,360px);max-height:calc(100dvh - var(--header-h) - 36px);overflow:auto;padding:20px 20px 24px;border:1px solid var(--line);background:var(--drawer-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}.skin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.skin-panel-head h2{margin:0;font-family:var(--font-serif);font-size:18px;font-weight:600;letter-spacing:.12em}.skin-close{display:block;width:14px;height:14px;position:relative}.skin-close:before,.skin-close:after{content:"";position:absolute;left:0;top:6px;width:14px;height:1px;background:currentColor}.skin-close:before{transform:rotate(45deg)}.skin-close:after{transform:rotate(-45deg)}.skin-card-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.skin-card{display:grid;gap:12px;width:100%;padding:12px;border:1px solid var(--line);background:var(--surface);text-align:left;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}.skin-card.is-current{border-color:var(--accent)}.skin-swatches{display:grid;grid-template-columns:repeat(4,1fr);height:48px;overflow:hidden}.skin-swatches i{display:block}.skin-cover{width:100%;aspect-ratio:1;object-fit:cover}.skin-card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.skin-card-name{font-family:var(--font-serif);font-size:16px}.skin-card-flag{font-family:var(--font-en);font-size:10px;letter-spacing:.18em;color:var(--accent)}@media(max-width:860px){.skin-overlay{justify-items:stretch;padding-left:16px;padding-right:16px}.skin-panel{width:100%}}@media(max-width:390px){.header{padding:0 12px;gap:8px}.header-start{gap:12px}.brand-cn{font-size:16px;letter-spacing:.12em}}.stage{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.stage:before,.stage:after{content:none;position:absolute;pointer-events:none}.shell[data-theme=twin-sim] .stage:before,.shell[data-theme=digital-twin] .stage:before{content:"";inset:-24%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;opacity:.32;animation:stage-grid-drift 56s linear infinite;animation-play-state:var(--stage-play)}.shell[data-theme=digital-twin] .stage:after{content:"";inset:0;background:linear-gradient(color-mix(in srgb,var(--mist) 28%,transparent) 1px,transparent 1px) center / 100% 1px no-repeat,linear-gradient(90deg,color-mix(in srgb,var(--mist) 28%,transparent) 1px,transparent 1px) center / 1px 100% no-repeat;opacity:.7}.shell[data-theme=line-sim] .stage:before{content:"";inset:0;background-image:repeating-linear-gradient(180deg,transparent 0 46px,color-mix(in srgb,var(--accent) 10%,transparent) 46px 47px);opacity:.55}.shell[data-theme=line-sim] .stage:after{content:"";left:0;right:0;height:18%;top:-18%;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 22%,transparent) 42%,transparent);animation:stage-scan-y 11s linear infinite;animation-play-state:var(--stage-play)}.shell[data-theme=landscape-cds] .stage:before{content:"";inset:0;background-image:repeating-linear-gradient(90deg,transparent 0 39px,color-mix(in srgb,var(--accent) 16%,transparent) 39px 40px),repeating-linear-gradient(180deg,transparent 0 39px,color-mix(in srgb,var(--accent) 10%,transparent) 39px 40px);opacity:.22;animation:stage-blueprint-fade 9s ease-in-out infinite;animation-play-state:var(--stage-play)}.shell[data-theme=landscape-cds] .stage:after{content:"";inset:8% 12%;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);opacity:.35}.shell[data-theme=sketches] .stage:before{content:"";inset:0;opacity:.14;mix-blend-mode:multiply;background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.55'/%3E%3C/svg%3E")}@keyframes stage-grid-drift{to{transform:translate(-48px,-48px)}}@keyframes stage-scan-y{to{transform:translateY(130vh)}}@keyframes stage-blueprint-fade{0%,to{opacity:.16}50%{opacity:.32}}@keyframes stage-kenburns{0%,to{transform:scale(1) translate(0)}50%{transform:scale(1.03) translate(.6%,-.4%)}}@media(prefers-reduced-motion:reduce){.stage:before,.stage:after{animation:none}}.page{min-height:calc(100vh - var(--header-h));padding:48px var(--page-inset) 80px}.page-kicker{display:flex;gap:12px;align-items:center;font-family:var(--font-en);letter-spacing:.24em;color:var(--muted);font-size:12px;margin-bottom:12px}.page h1{font-family:var(--font-serif);font-size:clamp(32px,5vw,56px);margin:0 0 16px;font-weight:600}.page-lead{max-width:38em;color:var(--muted);margin-bottom:36px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{border:1px solid var(--line);background:var(--surface);padding:0 0 18px;min-height:180px;display:flex;flex-direction:column;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);overflow:hidden}.card-cover{aspect-ratio:16 / 10;background:var(--ink-block, var(--surface));overflow:hidden}.card-cover img{width:100%;height:100%;object-fit:cover;display:block}.card-body{padding:14px 18px 0;display:flex;flex-direction:column;justify-content:space-between;gap:8px;flex:1}.card small{font-family:var(--font-en);letter-spacing:.16em;color:var(--muted)}.card h2{font-family:var(--font-serif);font-size:22px;margin:8px 0;font-weight:600}.card p{margin:0;color:var(--muted);font-size:14px}.note{font-size:13px;color:var(--muted);margin-top:28px}.category-block{margin:48px 0 8px;padding-top:28px;border-top:1px solid var(--line)}.category-block>.page-kicker{margin-bottom:8px}.category-block>h2{font-family:var(--font-serif);font-size:clamp(24px,3vw,32px);margin:0 0 8px;font-weight:600}.category-block>p{max-width:38em;color:var(--muted);margin:0 0 20px}.card.is-soon{opacity:.72;cursor:default}.note-list{display:grid;gap:20px}.note-card{display:grid;gap:8px;padding:20px;border:1px solid var(--line);background:var(--surface);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}.note-card h2{font-family:var(--font-serif);font-size:24px;margin:0;font-weight:600}.note-card p{margin:0;color:var(--muted);font-size:14px}.note-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.note-previews-detail{margin-top:28px}.note-preview{display:grid;place-items:end start;min-height:88px;padding:10px;border:1px solid var(--line);background:linear-gradient(180deg,transparent 40%,var(--veil)),linear-gradient(135deg,var(--accent-soft),transparent 55%);font-size:12px}.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.about-card{padding:20px;border:1px solid var(--line);background:var(--surface);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}.about-card h2{font-family:var(--font-serif);font-size:22px;margin:0 0 8px;font-weight:600}.about-lead{color:var(--muted);margin:0 0 12px;font-size:14px}.about-card ul{margin:0;padding-left:18px;color:var(--muted);font-size:14px}.about-card li{margin:6px 0}.archive-btn{display:inline-flex;align-items:center;gap:12px;margin-bottom:8px;padding:12px 18px;border:1px solid var(--accent);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);font-size:14px}.archive-btn:hover{background:var(--accent-soft)}.filter-board{margin:0 0 32px;padding:20px 0 8px;border-top:1px solid var(--line)}.filter-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px 16px;align-items:start;margin-bottom:12px}.filter-row-label{padding-top:8px;color:var(--muted);font-size:13px;letter-spacing:.08em}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip,.filter-sort,.filter-clear{border:1px solid var(--line);background:transparent;color:inherit;padding:6px 12px;font-size:13px;cursor:pointer;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}.filter-chip.is-on,.filter-sort:hover,.filter-clear:hover{border-color:var(--accent);background:var(--accent-soft)}.filter-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:16px}.filter-count{color:var(--muted);font-size:13px}@media(max-width:860px){.filter-row{grid-template-columns:1fr;gap:8px}.filter-row-label{padding-top:0}}.back{display:inline-flex;margin-bottom:24px;color:var(--accent);font-size:14px}.play-stage{position:relative;margin-top:24px;min-height:48vh;border:1px solid var(--line);background:linear-gradient(180deg,var(--veil),transparent),var(--surface);display:grid;place-items:center;text-align:center;padding:32px;color:var(--muted);overflow:hidden}.play-stage-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}.play-stage>div{position:relative;z-index:1}.accent-bar{width:48px;height:3px;background:var(--game-accent, var(--accent));margin-bottom:16px}.archive-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.archive-tag{border:1px solid var(--line);padding:4px 10px;font-size:12px;color:var(--muted)}.archive-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px 24px;margin:0 0 28px;max-width:52em}.archive-meta div{display:grid;gap:4px}.archive-meta dt{font-family:var(--font-en);font-size:11px;letter-spacing:.16em;color:var(--muted)}.archive-meta dd{margin:0;font-size:14px}.archive-body{max-width:42em;margin:0 0 32px;line-height:1.8}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.media-frame{position:relative;margin:0;aspect-ratio:16 / 10;border:1px solid var(--line);overflow:hidden;display:grid;place-items:end start;padding:12px;background:linear-gradient(180deg,transparent 40%,var(--veil)),linear-gradient(135deg,var(--accent-soft),transparent 55%),var(--surface);color:var(--muted);font-size:13px}.media-frame.is-video{aspect-ratio:16 / 9}.media-frame img,.media-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shell[data-theme=landscape-photo] .media-frame img,.shell[data-theme=humanist-photo] .media-frame img,.shell[data-theme=portrait-photo] .media-frame img{animation:stage-kenburns 28s ease-in-out infinite;animation-play-state:var(--stage-play)}.shell[data-theme=landscape-photo] .media-frame:not(:has(img)):not(:has(video)),.shell[data-theme=humanist-photo] .media-frame:not(:has(img)):not(:has(video)),.shell[data-theme=portrait-photo] .media-frame:not(:has(img)):not(:has(video)){animation:stage-kenburns 28s ease-in-out infinite;animation-play-state:var(--stage-play)}.media-frame span{position:relative;z-index:1}.archive-disclaimer{margin-top:32px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}[data-theme=photo] .media-grid,[data-theme=landscape-photo] .media-grid,[data-theme=humanist-photo] .media-grid,[data-theme=portrait-photo] .media-grid,[data-theme=notes] .media-grid,[data-theme=sketches] .media-grid{grid-template-columns:1fr}[data-theme=portrait-photo] .media-frame{aspect-ratio:4 / 5}[data-theme=portrait-photo] .page{padding-top:56px}@media(max-width:860px){.page{padding:32px var(--page-inset) 64px}.card-grid,.note-previews,.about-grid,.media-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.shell[data-theme=landscape-photo] .media-frame img,.shell[data-theme=humanist-photo] .media-frame img,.shell[data-theme=portrait-photo] .media-frame img,.shell[data-theme=landscape-photo] .media-frame:not(:has(img)):not(:has(video)),.shell[data-theme=humanist-photo] .media-frame:not(:has(img)):not(:has(video)),.shell[data-theme=portrait-photo] .media-frame:not(:has(img)):not(:has(video)){animation:none}}.home-beian{grid-column:1 / -1;margin:28px 0 0;text-align:center;font-family:var(--font-en);font-size:12px;letter-spacing:.04em;line-height:1.5}.home-beian a{color:inherit;text-decoration:none}.home-beian a:hover,.home-beian a:focus-visible{text-decoration:underline}.develop-close .home-beian{color:#eef0f28c}.site-footer .home-beian{color:var(--muted)}.develop-home{margin-top:calc(var(--header-h) * -1);color:var(--text)}.develop-progress{display:none}@supports (animation-timeline: scroll()){.develop-progress{display:block;position:fixed;top:var(--header-h);left:0;z-index:28;width:100%;height:2px;pointer-events:none;background:var(--accent);transform-origin:left;animation:develop-scroll-progress linear;animation-timeline:scroll()}}@keyframes develop-scroll-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.develop-hero{position:relative;min-height:100dvh;overflow:hidden;background:var(--ink-block);color:var(--on-ink)}.develop-hero[data-tone=light]{background:var(--bg);color:var(--text)}.develop-hero-media,.develop-hero-well{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.develop-hero-well{background:radial-gradient(120% 80% at 70% 20%,var(--accent-soft),transparent 46%),var(--ink-block)}.develop-hero[data-tone=light] .develop-hero-well{background:radial-gradient(90% 70% at 80% 10%,var(--accent-soft),transparent 42%),var(--bg)}.develop-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgb(26 29 34 / .18) 0%,transparent 28%,rgb(26 29 34 / .72) 100%);pointer-events:none}.develop-hero[data-tone=light] .develop-hero-veil{background:linear-gradient(180deg,transparent 42%,rgb(232 234 237 / .88) 100%)}.develop-hero-band{position:absolute;left:var(--page-inset);right:var(--page-inset);bottom:10%;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:48px}.develop-hero-copy{max-width:28em;min-width:0}.develop-hero-shot{margin:0 0 16px;font-family:var(--font-en);font-size:11px;letter-spacing:.08em;color:#eef0f2b8}.develop-hero-name{margin:0;font-family:var(--font-sans);font-size:clamp(40px,6vw,72px);font-weight:700;line-height:1.1;letter-spacing:.04em}.develop-hero-en{margin:8px 0 14px;font-family:var(--font-display-en);font-size:14px;letter-spacing:.18em}.develop-hero-id{margin:0 0 28px;font-size:16px;color:#eef0f2e0}.develop-hero[data-tone=light] .develop-hero-id,.develop-hero[data-tone=light] .develop-hero-shot{color:var(--muted)}.develop-hero-note{max-width:22em;min-width:0;text-shadow:0 1px 12px rgb(26 29 34 / .45)}.develop-hero-lead{margin:0 0 16px;font-size:15px;line-height:1.7;color:#eef0f2e0}.develop-hero-quote{margin:0;font-size:16px;line-height:1.65;color:var(--on-ink)}.develop-hero[data-tone=light] .develop-hero-lead,.develop-hero[data-tone=light] .develop-hero-quote{color:var(--text);text-shadow:none}.develop-hero-cta{display:flex;flex-wrap:nowrap;gap:12px}.develop-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border:1px solid var(--accent);font-size:15px;letter-spacing:.12em;white-space:nowrap;border-radius:0}.develop-btn.is-solid{background:var(--accent);color:var(--on-ink);border-color:var(--accent)}.develop-btn.is-line{background:transparent;color:var(--on-ink);border-color:#eef0f28c}.develop-hero[data-tone=light] .develop-btn.is-line{color:var(--text);border-color:var(--text)}.develop-btn:active{transform:scale(.98)}.develop-slices{display:flex;min-height:52vh;margin-inline:var(--page-inset);border-top:1px solid var(--line)}.develop-slice{position:relative;flex:1.15 1 0;min-width:0;overflow:hidden;color:var(--on-ink);border-right:1px solid rgb(238 240 242 / .12);transition:flex-grow .45s cubic-bezier(.16,1,.3,1)}.develop-slice:nth-child(1){flex-grow:1.45}.develop-slice:nth-child(2){flex-grow:.85}.develop-slice:nth-child(3){flex-grow:1.6}.develop-slice:nth-child(4){flex-grow:1.05;border-right:0}.develop-slice img,.develop-slice-well{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.develop-slice img{opacity:0;transition:opacity .55s ease}.develop-slice img.is-on{opacity:1}.develop-slice-well{background:linear-gradient(160deg,var(--accent-soft),transparent 50%),var(--ink-block)}.develop-slice:nth-child(2) .develop-slice-well{background:repeating-linear-gradient(90deg,transparent 0 28px,rgb(238 240 242 / .08) 28px 29px),var(--ink-block)}.develop-slice:nth-child(4) .develop-slice-well{background:linear-gradient(180deg,#d8d6d0,#b7b1a6)}.develop-slice:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgb(26 29 34 / .72))}.develop-slice-copy{position:absolute;left:20px;bottom:20px;z-index:1;display:grid;gap:4px}.develop-slice-copy strong{font-size:clamp(22px,3vw,32px);font-weight:700}.develop-slice-copy em{font-family:var(--font-en);font-size:11px;font-style:normal;letter-spacing:.08em;color:#eef0f2b8}.develop-frames{display:grid;grid-template-columns:repeat(4,1fr);grid-template-areas:"a a b c" "a a d e";gap:12px;padding:28px var(--page-inset) 48px;min-height:78vh}.develop-frame{position:relative;min-height:220px;overflow:hidden;background:var(--surface);color:var(--text);border:1px solid var(--line)}.develop-frame:nth-child(1){grid-area:a}.develop-frame:nth-child(2){grid-area:b}.develop-frame:nth-child(3){grid-area:c}.develop-frame:nth-child(4){grid-area:d}.develop-frame:nth-child(5){grid-area:e}.develop-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.develop-frame-copy{position:absolute;left:16px;bottom:16px;z-index:1;display:grid;gap:4px}.develop-frame:has(img) .develop-frame-copy{color:var(--on-ink);text-shadow:0 1px 12px rgb(26 29 34 / .45)}.develop-frame-copy strong{font-size:18px;font-weight:700}.develop-frame-copy em{font-family:var(--font-en);font-size:11px;font-style:normal;letter-spacing:.08em;color:var(--muted)}.develop-frame:has(img) .develop-frame-copy em{color:#eef0f2b8}.develop-notes{padding:72px var(--page-inset) 80px;border-top:1px solid var(--line)}.develop-notes-link{display:grid;gap:12px;max-width:65ch}.develop-notes-link time{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.develop-notes-link h2{margin:0;font-size:clamp(28px,4vw,44px);font-weight:700;line-height:1.2}.develop-notes-link p{margin:0;color:var(--muted);font-size:17px}.develop-close{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:72px var(--page-inset) 64px;background:var(--ink-block);color:var(--on-ink)}.develop-close-brand{display:grid;margin:0 0 16px;line-height:1.15}.develop-close-brand span:first-child{font-size:28px;font-weight:700;letter-spacing:.12em}.develop-close-brand span:last-child{font-family:var(--font-en);font-size:12px;letter-spacing:.08em;color:#eef0f29e}.develop-close-lead{margin:0;max-width:28em;color:#eef0f2c7}.develop-close .contact-icon{border-color:#eef0f238;color:#eef0f2c7}.develop-close .contact-panel-card{background:var(--ink-block);color:var(--on-ink)}.develop-index-list{display:grid;gap:0;max-width:52em}.develop-index-row{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}.develop-index-row span{color:var(--muted);font-size:13px;white-space:nowrap}@media(prefers-reduced-motion:no-preference){.develop-hero-media{animation:develop-hero-zoom 28s ease-in-out infinite alternate;transform-origin:center}.develop-hero-name{animation:develop-name-rise .9s cubic-bezier(.16,1,.3,1) both}}@keyframes develop-hero-zoom{0%{transform:scale(1)}to{transform:scale(1.08)}}@keyframes develop-name-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(pointer:fine){.develop-slice:hover{flex-grow:2.2}}@media(max-width:860px){.develop-hero-band{bottom:8%;flex-direction:column;align-items:flex-start;gap:22px}.develop-hero-copy,.develop-hero-note{max-width:none}.develop-slices{display:grid;grid-template-columns:1fr 1fr;min-height:0}.develop-slice,.develop-slice:nth-child(1),.develop-slice:nth-child(2),.develop-slice:nth-child(3),.develop-slice:nth-child(4){flex:none;min-height:42vw;border-right:0;border-bottom:1px solid rgb(238 240 242 / .12)}.develop-frames{grid-template-columns:1fr;grid-template-areas:"a" "b" "c" "d" "e";min-height:0;padding-top:20px;padding-bottom:40px}.develop-close{grid-template-columns:1fr}}@media(max-width:390px){.develop-hero-name{font-size:32px}.develop-hero-lead,.develop-hero-quote{font-size:14px}.develop-hero-cta .develop-btn{padding:0 16px;font-size:14px}}@media(prefers-reduced-motion:reduce){.develop-hero-media,.develop-hero-name,.develop-frame,.develop-notes-link,.develop-progress{animation:none}.develop-slice,.develop-slice img{transition:none}}.hero{min-height:calc(100vh - var(--header-h));display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:48px;align-items:center;padding:48px var(--page-inset) 88px;position:relative}.portrait-wrap{position:relative;aspect-ratio:4 / 5;max-height:72vh;margin:0 auto;width:min(100%,460px)}.portrait-frame{position:relative;height:100%;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));background:var(--portrait-placeholder);border:1px solid var(--line);overflow:hidden}.portrait-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}.portrait-frame:has(.portrait-photo){background:var(--portrait-base)}.portrait-frame:has(.portrait-photo) .portrait-grid{opacity:.16}.portrait-grid{position:absolute;inset:18px;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px;opacity:.45}.portrait-spot{position:absolute;left:50%;top:42%;z-index:2;width:240px;height:240px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,var(--spot-color),transparent 68%);mix-blend-mode:screen;opacity:calc(1 * var(--motion-spot));transform:translate(-50%,-50%)}.portrait-caption{position:absolute;left:20px;bottom:20px;z-index:3;font-family:var(--font-en);font-size:11px;letter-spacing:.22em;color:var(--muted);text-shadow:var(--caption-shadow)}.corner{position:absolute;width:14px;height:14px;border:1px solid var(--accent);z-index:2}.corner-tl{top:-1px;left:-1px;border-right:0;border-bottom:0}.corner-tr{top:-1px;right:-1px;border-left:0;border-bottom:0}.corner-bl{bottom:-1px;left:-1px;border-right:0;border-top:0}.corner-br{bottom:-1px;right:-1px;border-left:0;border-top:0}.hero-copy{max-width:560px}.kicker{display:flex;gap:12px;align-items:center;font-family:var(--font-en);font-size:12px;letter-spacing:.28em;color:var(--muted);margin-bottom:18px}.kicker i{display:block;width:36px;height:1px;background:var(--accent);font-style:normal}.hero-name{font-family:var(--font-serif);font-size:clamp(42px,6vw,72px);font-weight:600;line-height:1.08;margin:0 0 8px}.hero-en{font-family:var(--font-en);letter-spacing:.32em;color:var(--muted);font-size:13px;margin-bottom:22px}.hero-id{color:var(--accent);font-size:14px;margin-bottom:20px}.hero-bio{margin:0 0 28px;color:var(--text);max-width:36em;display:grid;gap:.7em}.hero-bio span{display:block}.contacts{display:grid;gap:10px}.contact-row{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:baseline;font-size:14px}.contact-row span:first-child{font-family:var(--font-en);letter-spacing:.16em;color:var(--muted);font-size:11px}.contact-icons{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;padding:0;list-style:none}.contact-icon-item{position:relative}.contact-icon{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;text-decoration:none}a.contact-icon:hover,button.contact-icon:hover,.contact-icon-item:focus-within .contact-icon{color:var(--accent);border-color:var(--accent)}.contact-icon.is-empty{cursor:default;opacity:.45}.contact-icon-svg{width:18px;height:18px;display:block}.contact-panel{position:absolute;left:50%;z-index:24;transform:translate(calc(-50% + var(--panel-shift-x, 0px)));pointer-events:none}.contact-panel.is-below{top:100%;padding-top:8px}.contact-panel.is-above{bottom:100%;padding-bottom:8px}.contact-panel-card{width:max-content;padding:10px 12px;border:1px solid var(--line);background:var(--panel-bg);color:var(--text)}.contact-panel-kicker{font-family:var(--font-en);font-size:10px;letter-spacing:.18em;color:var(--muted);margin-bottom:4px}.contact-panel-value{font-size:13px;letter-spacing:.02em;white-space:nowrap}.contact-qr{display:block;width:180px;height:auto;margin-top:8px;object-fit:contain;background:#fff}.scroll-hint{position:absolute;left:50%;bottom:28px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);opacity:var(--motion-hint);pointer-events:none;transition:opacity .25s ease}.scroll-hint.is-gone{opacity:0}.scroll-hint b{font-family:var(--font-en);font-weight:500;font-size:11px;letter-spacing:.32em;line-height:1}.scroll-hint span{font-size:12px;line-height:1}.chevron{width:14px;height:10px;margin:-4px 0 4px;position:relative;animation:chevron-breathe calc(1.6s * var(--motion-hint)) ease-in-out infinite}.chevron:before{content:"";position:absolute;left:50%;top:1px;width:7px;height:7px;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:translate(-50%) rotate(45deg)}@media(prefers-reduced-motion:reduce){.chevron{animation:none}}@keyframes chevron-breathe{0%,to{opacity:.5;transform:translateY(-1px)}50%{opacity:1;transform:translateY(1px)}}.reveal.is-in{animation:rise-in calc(.7s * var(--motion-reveal)) ease both}@media(prefers-reduced-motion:reduce){.reveal.is-in{animation:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.work{min-height:100vh;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;padding:72px var(--page-inset);border-top:1px solid var(--line)}.work.is-flip{grid-template-columns:1.1fr .9fr}.work.is-flip .work-copy{order:2}.work-copy h2{font-family:var(--font-serif);font-size:clamp(32px,4vw,52px);margin:10px 0 16px;font-weight:600}.work-lead{color:var(--muted);max-width:32em;margin-bottom:28px}.frames{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.frame{position:relative;aspect-ratio:4 / 5;border:1px solid var(--line);overflow:hidden;background:var(--surface)}.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.frame:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 40%,var(--veil)),linear-gradient(135deg,var(--accent-soft),transparent 55%)}.frame strong{position:absolute;left:12px;bottom:12px;font-size:13px;z-index:2}.frame em{position:absolute;top:12px;right:12px;font-style:normal;font-family:var(--font-en);font-size:10px;letter-spacing:.16em;color:var(--muted);z-index:2}.archive-btn{display:inline-flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid var(--accent);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);font-size:14px;transition:background .2s ease,color .2s ease}.archive-btn:hover{background:var(--accent-soft);color:var(--signal)}.ticks{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:10px;opacity:var(--motion-ticks);pointer-events:none}.tick{width:18px;height:2px;background:var(--line);transition:background .2s ease,width .2s ease}.tick.is-on{width:28px;background:var(--accent)}.top-progress{display:none;position:fixed;top:var(--header-h);left:0;height:2px;background:var(--accent);z-index:28;transform-origin:left;opacity:var(--motion-ticks);pointer-events:none}.site-footer{padding:64px var(--page-inset) 48px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:24px}.site-footer h3{font-family:var(--font-serif);font-weight:500;margin:0 0 16px}@media(max-width:860px){.hero,.work,.site-footer{padding-left:var(--page-inset);padding-right:var(--page-inset)}.hero{grid-template-columns:1fr;min-height:calc(100dvh - var(--header-h));padding-top:24px;padding-bottom:88px}.portrait-wrap{max-height:34vh;width:min(100%,240px);aspect-ratio:4 / 5}.work,.work.is-flip{grid-template-columns:1fr;min-height:auto}.work .frames{order:-1}.frames{grid-template-columns:1fr}.frame{aspect-ratio:16 / 10}.ticks{display:none}.top-progress{display:block}.site-footer{grid-template-columns:1fr}.scroll-hint{position:fixed;bottom:4px;z-index:15;gap:8px}}@media(max-width:390px){.portrait-wrap{max-height:28vh;width:min(100%,200px)}.hero,.work,.site-footer{padding-left:var(--page-inset);padding-right:var(--page-inset)}.hero-name{font-size:32px}.hero-en{letter-spacing:.18em;font-size:11px}.work-copy h2{font-size:32px}.contact-row{grid-template-columns:48px minmax(0,1fr);gap:6px 10px}.contact-row strong{min-width:0;overflow-wrap:anywhere}}.resume{display:grid;min-height:calc(100dvh - var(--header-h));padding-inline:var(--page-inset);background:var(--bg)}.resume-aside{display:flex;flex-direction:column;background:var(--ink-block, var(--surface));color:var(--on-ink, var(--text))}.resume-portrait{position:relative;aspect-ratio:4 / 5;max-height:46vh;overflow:hidden;background:var(--portrait-base, var(--surface))}.resume-portrait img,.resume-portrait-well{width:100%;height:100%;object-fit:cover;display:block}.resume-portrait img{-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}.resume-portrait-well{background:var(--portrait-placeholder, var(--surface))}.resume-id{display:grid;gap:8px;padding:28px 32px 40px;margin-top:auto}.resume-deco{margin:0;font-family:var(--font-display-en);font-size:11px;letter-spacing:.22em;color:color-mix(in srgb,currentColor 52%,transparent)}.resume-name{margin:0;font-family:var(--font-serif);font-size:clamp(36px,5vw,56px);font-weight:600;line-height:1.1;letter-spacing:.06em}.resume-en{margin:0;font-family:var(--font-display-en);font-size:13px;letter-spacing:.16em;color:color-mix(in srgb,currentColor 62%,transparent)}.resume-role{margin:4px 0 12px;max-width:22em;color:color-mix(in srgb,currentColor 78%,transparent);font-size:14px;line-height:1.6}.resume-aside .contact-icons{margin-top:4px;gap:8px}.resume-aside .contact-icon{width:34px;height:34px}.resume-aside .contact-icon{color:inherit;border-color:color-mix(in srgb,currentColor 28%,transparent)}.resume-aside .contact-icon:hover,.resume-aside .contact-icon-item:focus-within .contact-icon{color:inherit;border-color:currentColor}.resume-main{padding:48px 56px 80px;background:var(--surface)}.resume-block{margin:0 0 40px}.resume-block h2{margin:0 0 16px;font-family:var(--font-serif);font-size:clamp(22px,2.4vw,28px);font-weight:600}.resume-summary{margin:0;max-width:38em;color:var(--muted);line-height:1.85}.resume-timeline,.resume-schools{margin:0;padding:0;list-style:none;display:grid;gap:22px}.resume-job,.resume-schools li{position:relative;padding-left:22px}.resume-job:before,.resume-schools li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;background:var(--accent)}.resume-job:not(.is-open):before{background:transparent;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--accent) 32%,transparent)}.resume-job-toggle{display:block;width:100%;padding:0;text-align:left;cursor:pointer}.resume-job-toggle:hover .resume-job-head strong{color:var(--accent)}.resume-job-chevron{display:inline-block;width:6px;height:6px;margin-left:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);vertical-align:.2em}@media(prefers-reduced-motion:no-preference){.resume-job-chevron{transition:transform .25s cubic-bezier(.16,1,.3,1)}}.resume-job.is-open .resume-job-chevron{transform:rotate(225deg);vertical-align:.05em}.resume-job-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px 24px;margin-bottom:6px}.resume-job:not(.is-open) .resume-job-head{margin-bottom:0}.resume-job-head strong{display:block;font-family:var(--font-serif);font-size:18px;font-weight:600}.resume-org{display:block;margin-top:2px;color:var(--muted);font-family:var(--font-sans);font-size:14px;line-height:1.75}.resume-org strong,.resume-job p strong,.resume-schools p strong,.resume-summary strong{font-family:inherit;font-size:inherit;font-weight:600;color:var(--text)}.resume-job-head time{flex-shrink:0;font-family:var(--font-en);font-size:12px;letter-spacing:.04em;color:var(--muted)}.resume-job p,.resume-schools p{margin:0;max-width:46em;color:var(--muted);font-size:14px;line-height:1.75;white-space:pre-line}.resume-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}.resume-inline,.resume-langs{margin:0;padding:0;list-style:none;color:var(--muted);font-size:14px;line-height:1.75}.resume-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.resume-tools li{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;padding:5px 10px;border:1px solid var(--line);color:var(--text)}.resume-foot{display:flex;flex-wrap:wrap;gap:12px 20px;margin:8px 0 0;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.resume-foot a{color:var(--accent)}.resume-foot a:hover{text-decoration:underline}[data-skin=strata] .resume-aside{background:var(--surface);color:var(--text)}[data-skin=strata] .resume-main{background:var(--bg)}[data-skin=develop] .resume-aside{background:var(--ink-block);color:var(--on-ink)}@media(min-width:861px){.resume{grid-template-columns:minmax(280px,1fr) minmax(0,2fr);align-items:start}.resume-aside{position:sticky;top:var(--header-h);height:calc(100dvh - var(--header-h));overflow:hidden}}@media(max-width:860px){.resume-portrait{max-height:38vh;aspect-ratio:5 / 4}.resume-id,.resume-main{padding:28px 0 48px}.resume-job-head{flex-direction:column;align-items:flex-start;gap:4px}.resume-extras{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){.resume-job,.resume-schools li{animation:resume-in .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 70ms)}}@media(prefers-reduced-motion:reduce){.resume-aside{position:static;height:auto}.resume-portrait img{-webkit-mask-image:none;mask-image:none}}@keyframes resume-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media print{.resume{display:block;background:#fff;color:#16181c}.resume-aside,.resume-main{position:static;height:auto;background:#fff;color:#16181c}}.skills{--skill-mastery: #3d7ab8;--skill-proficient: #3d8a62;--skill-working: #c4a24a;--skill-used: #d07a3a;--skill-aware: #c45c4a;min-height:calc(100dvh - var(--header-h));padding:48px var(--page-inset) 88px;background:var(--bg)}.skills-head{max-width:40em;margin-bottom:36px}.skills-head h1{margin:0 0 10px;font-family:var(--font-serif);font-size:clamp(36px,5vw,56px);font-weight:600;line-height:1.1}.skills-lead{margin:0 0 14px;color:var(--muted);font-size:16px}.skills-cross{color:var(--accent);font-size:14px}.skills-cross:hover{text-decoration:underline}.skills-list{display:grid;border-top:1px solid var(--line)}.skills-domain{border-bottom:1px solid var(--line)}.skills-domain h2{margin:0}.skills-domain button{display:flex;width:100%;align-items:center;gap:16px;padding:20px 0;text-align:left;cursor:pointer}.skills-domain.is-open button{padding-bottom:10px}.skills-domain-titles{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;gap:4px}.skills-domain-name{font-family:var(--font-serif);font-size:clamp(22px,3vw,32px);font-weight:600}.skills-domain-deco{font-family:var(--font-display-en);font-size:11px;letter-spacing:.18em;color:var(--muted)}.skills-domain-preview{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto;max-width:52%}.skills-body{padding:0 0 28px}.skills-meters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px;margin:0;padding:0;list-style:none}.skill-meter{position:relative;display:flex;align-items:flex-start;gap:14px}.skill-copy{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;gap:5px}.skill-name{font-size:14px;font-weight:600;line-height:1.2}.skill-hot.is-name{position:static;width:auto;max-width:100%}.skill-hot.is-name .skill-tip{left:0;transform:none}.skill-hot.is-name .skill-name{cursor:help}.skill-grade{font-family:var(--font-serif);font-size:12px;font-weight:500;line-height:1.2;color:var(--muted)}.skill-mark{display:grid;flex-shrink:0;place-items:center;width:48px;height:48px;border:1px solid var(--line);background:#f4f5f7;color:inherit;text-decoration:none}a.skill-mark:hover,a.skill-mark:focus-visible{border-color:var(--accent)}.skill-mark img{width:32px;height:32px;object-fit:contain}.skill-mark.is-compact{width:26px;height:26px}.skill-mark.is-compact img{width:16px;height:16px}.skill-bar{position:relative;width:168px;height:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--text) 8%,transparent);cursor:help}.skill-bar-fill{display:block;width:var(--skill-fill, 0%);height:100%;background:var(--skill-color, var(--muted))}.skill-hot{position:relative;display:block;width:168px;outline:none}.skill-hot:focus-visible .skill-bar,.skill-hot.is-name:focus-visible .skill-name,a.skill-mark:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.skill-tip{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:24;width:max-content;max-width:min(280px,70vw);transform:translate(-50%);opacity:0;pointer-events:none;visibility:hidden}.skill-tip-card{display:block;padding:10px 12px;border:1px solid var(--line);background:var(--panel-bg, var(--surface));color:var(--text);box-shadow:0 8px 24px color-mix(in srgb,var(--ink, #16181c) 18%,transparent)}.skill-tip-lines{display:flex;flex-direction:column;gap:4px}.skill-tip-line{margin:0;font-size:12px;line-height:1.65;color:var(--muted)}.skill-tip-line strong{color:var(--text);font-weight:650}.skill-hot:hover .skill-tip,.skill-hot:focus-within .skill-tip{opacity:1;visibility:visible}.skills-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:no-preference){.skills-domain:not(.is-open) .skills-body,.skills-domain.is-open .skills-body:not(.is-static){animation:skills-in .45s cubic-bezier(.16,1,.3,1) both}.skills-domain button{transition:padding .3s cubic-bezier(.16,1,.3,1)}.skill-bar-fill{transition:width .7s cubic-bezier(.16,1,.3,1)}.skill-tip{transition:opacity .18s ease}}@keyframes skills-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:860px){.skills{padding:32px var(--page-inset) 64px}.skills-domain-preview{max-width:46%}.skills-meters{grid-template-columns:1fr}}@media(max-width:520px){.skills-domain button{align-items:flex-start;flex-direction:column;gap:10px}.skills-domain-preview{max-width:100%;margin-left:0;width:100%;justify-content:flex-end}}.lrb{display:flex;flex-direction:column;margin-top:8px}.lrb-project{padding:10px 0 12px;border-top:1px solid var(--line)}.lrb-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px}.lrb-head h2{margin:0;font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.2}.lrb-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.lrb-tags li{padding:3px 8px;border:1px solid var(--line);border-radius:0;color:var(--muted);font-size:12px;line-height:1.3}.lrb-lead{margin:4px 0 0;max-width:68ch;color:var(--muted);font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.lrb-strip-wrap{--lrb-fit: 3;--lrb-chrome: 136px;--strip-h: clamp( 168px, calc((100dvh - var(--header-h)) / var(--lrb-fit) - var(--lrb-chrome)), 440px );position:relative;margin-top:8px}.lrb-strip{display:flex;align-items:flex-end;box-sizing:border-box;isolation:isolate;gap:0;height:calc(var(--strip-h) + 29px);padding:3px 3px 22px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.lrb-strip::-webkit-scrollbar{display:none}.lrb-strip-pad{flex:0 0 auto;height:1px;pointer-events:none}.lrb-strip-step{position:absolute;top:calc(var(--strip-h) / 2);z-index:12;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;transform:translateY(-50%);border:0;border-radius:50%;background:#16181c66;color:var(--on-ink);font-size:22px;line-height:1;cursor:pointer}.lrb-strip-step.is-prev{left:8px}.lrb-strip-step.is-next{right:8px}.lrb-strip-step-mark{display:block;line-height:1;transform:translateY(-.1em)}.lrb-strip-step:hover{background:#16181c9e}.lrb-strip-step:active{transform:translateY(-50%) scale(.96)}.lrb-strip-rail{position:relative;height:4px;margin-top:6px;background:color-mix(in srgb,var(--text) 12%,transparent)}.lrb-strip-rail-thumb{position:absolute;top:0;height:100%;background:color-mix(in srgb,var(--text) 42%,transparent)}.lrb-shot{position:relative;z-index:var(--rank-z, 0);flex:0 0 auto;height:var(--strip-h);margin-bottom:0;padding:0;border:0;border-radius:5px;background:#fff;box-shadow:0 0 0 3px #fff,0 6px 14px color-mix(in srgb,var(--ink-block) 22%,transparent);cursor:pointer;transform:scale(var(--rank-scale, .78));transform-origin:50% 100%}.lrb-shot.is-focus{transform:scale(1);box-shadow:0 0 0 3px #fff,0 8px 18px color-mix(in srgb,var(--ink-block) 28%,transparent)}.lrb-shot img{display:block;height:100%;width:auto;border-radius:5px;object-fit:cover;filter:saturate(var(--rank-sat, .48));transform:translateZ(0)}.lrb-shot.is-focus img{filter:saturate(1)}.lrb-shot-cap{position:absolute;left:8px;bottom:8px;color:var(--on-ink);font-size:11px;line-height:1.3;letter-spacing:.02em;text-shadow:0 1px 10px rgb(22 24 28 / .72);pointer-events:none}.lrb-strip.is-paging .lrb-shot,.lrb-strip.is-paging .lrb-shot img{transition:none}@media(pointer:fine){.lrb-shot{transition:transform .54s cubic-bezier(.16,1,.3,1),box-shadow .54s cubic-bezier(.16,1,.3,1)}.lrb-shot img{transition:filter .54s cubic-bezier(.16,1,.3,1)}.lrb-shot:active{transform:scale(calc(var(--rank-scale, 1) * .99))}.lrb-strip-rail-thumb{transition:left .54s cubic-bezier(.16,1,.3,1)}}html[data-lightbox=open] .header,html[data-lightbox=open] .drawer{visibility:hidden}.lrb-lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px 16px;overscroll-behavior:none}.lrb-lightbox-scrim{position:absolute;inset:0;border:0;background:color-mix(in srgb,var(--ink-block) 94%,transparent);cursor:pointer}.lrb-lightbox-stage{position:relative;z-index:1;display:flex;flex-direction:column;width:min(92vw,1120px);max-height:calc(100dvh - 32px);background:var(--bg)}.lrb-lightbox-picture{position:relative;width:fit-content;max-width:100%;margin-inline:auto}.lrb-lightbox-frame{position:relative;margin:0;overflow:hidden;background:var(--ink-block)}.lrb-lightbox-photo{display:block;max-width:100%;max-height:calc(100dvh - 220px);width:auto;height:auto;object-fit:contain;transform-origin:center center;-webkit-user-select:none;user-select:none;cursor:zoom-in;touch-action:none}.lrb-lightbox-frame.is-zoomed .lrb-lightbox-photo{cursor:grab}.lrb-lightbox-frame.is-panning .lrb-lightbox-photo{cursor:grabbing}.lrb-lightbox-photo.is-motion{transition:transform .22s cubic-bezier(.16,1,.3,1)}.lrb-lightbox-orb{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#16181c66;color:var(--on-ink);font-size:22px;line-height:1;cursor:pointer}.lrb-lightbox-orb.is-prev,.lrb-lightbox-orb.is-next{top:50%;transform:translateY(-50%)}.lrb-lightbox-orb.is-prev{left:8px}.lrb-lightbox-orb.is-next{right:8px}.lrb-lightbox-orb.is-close{top:8px;right:8px}.lrb-lightbox-orb-mark{display:block;line-height:1;transform:translateY(-.1em)}.lrb-lightbox-orb-x{display:block;width:14px;height:14px}.lrb-lightbox-orb:hover{background:#16181c9e}.lrb-lightbox-orb.is-prev:active,.lrb-lightbox-orb.is-next:active{transform:translateY(-50%) scale(.96)}.lrb-lightbox-orb.is-close:active{transform:scale(.96)}.lrb-lightbox-map{position:absolute;right:8px;bottom:8px;z-index:1;width:min(128px,28%);overflow:hidden;pointer-events:none;opacity:.72;background:#16181c6b;box-shadow:0 0 0 1px #ffffff47}.lrb-lightbox-map img{display:block;width:100%;height:auto}.lrb-lightbox-map-view{position:absolute;box-sizing:border-box;border:1px solid rgb(255 255 255 / .92);background:#ffffff2e;box-shadow:0 0 0 200px #0006}.lrb-lightbox-dock{flex:0 0 auto;padding:12px 14px 14px;border-top:1px solid var(--line);background:var(--bg)}.lrb-lightbox-shot{margin:0;color:var(--text);font-size:15px;font-weight:600;line-height:1.3}.lrb-lightbox-title{margin:10px 0 0;color:var(--text);font-size:13px;font-weight:600;line-height:1.4}.lrb-lightbox-lead{margin:4px 0 0;max-width:72ch;color:var(--muted);font-size:12px;line-height:1.55}@media(orientation:landscape){.lrb{margin-top:4px}.lrb-project{padding:8px 0 10px}.lrb-lead{font-size:13px}.lrb-strip-wrap{--lrb-fit: 2;--lrb-chrome: 112px}.lrb-strip-step{width:24px;height:24px;font-size:18px}}@media(max-width:860px){.lrb-lightbox{padding:12px 8px;align-items:end}.lrb-lightbox-stage{width:100%}.lrb-lightbox-photo{max-height:calc(100dvh - 240px)}}@media(prefers-reduced-motion:reduce){.lrb-lightbox-photo.is-motion,.lrb-shot,.lrb-shot img,.lrb-strip-rail-thumb{transition:none}.lrb-shot:active{transform:scale(var(--rank-scale, 1))}.lrb-strip-step:active,.lrb-lightbox-orb.is-prev:active,.lrb-lightbox-orb.is-next:active{transform:translateY(-50%)}.lrb-lightbox-orb.is-close:active{transform:none}}.develop-work-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.develop-work-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 28px;font-size:14px;letter-spacing:.08em;color:var(--muted)}.develop-work-back:before{content:"←"}.develop-work-back:active{transform:scale(.98)}.develop-work-textlink{display:inline-block;margin-top:20px;font-size:14px;letter-spacing:.08em;border-bottom:1px solid var(--text)}.develop-work-copy{position:absolute;left:22px;bottom:22px;z-index:1;display:grid;gap:6px;color:var(--on-ink);text-shadow:0 1px 16px rgb(26 29 34 / .4)}.develop-work-copy strong{font-size:clamp(22px,3.2vw,36px);font-weight:700;line-height:1.15}.develop-work-copy em{font-family:var(--font-en);font-size:11px;font-style:normal;letter-spacing:.08em;color:#eef0f2b8}.develop-work-copy span{font-size:13px;color:#eef0f2c7;max-width:28em}.develop-work-well{position:absolute;inset:0;background:linear-gradient(160deg,var(--accent-soft),transparent 48%),var(--ink-block)}.develop-work-well.is-kind-twin-sim{background:repeating-linear-gradient(90deg,transparent 0 36px,rgb(238 240 242 / .06) 36px 37px),linear-gradient(160deg,rgb(61 106 115 / .28),transparent 52%),var(--ink-block)}.develop-work-well.is-kind-game-dev{background:linear-gradient(180deg,rgb(196 92 62 / .22),transparent 58%),var(--ink-block)}.develop-work-well.is-kind-landscape-arch{background:linear-gradient(135deg,rgb(47 93 74 / .28),transparent 46%),var(--ink-block)}.develop-work-well.is-kind-photo{background:radial-gradient(80% 70% at 70% 20%,rgb(43 76 126 / .28),transparent 54%),var(--ink-block)}.develop-work-well.is-channel-digital-twin,.develop-work-well.is-channel-line-sim{background:repeating-linear-gradient(180deg,transparent 0 42px,rgb(238 240 242 / .05) 42px 43px),var(--ink-block)}.develop-work-well.is-channel-landscape-rendering,.develop-work-well.is-channel-landscape-cds{background:linear-gradient(160deg,rgb(47 93 74 / .22),transparent 50%),var(--ink-block)}.develop-work-well.is-channel-landscape-photo{background:radial-gradient(90% 80% at 80% 10%,rgb(43 76 126 / .24),transparent 50%),var(--ink-block)}.develop-work-well.is-channel-humanist-photo{background:linear-gradient(180deg,rgb(106 90 78 / .28),transparent 55%),var(--ink-block)}.develop-work-well.is-channel-portrait-photo{background:linear-gradient(135deg,rgb(122 101 88 / .3),transparent 48%),var(--ink-block)}.develop-work-well.is-channel-game-photo,.develop-work-well.is-game{background:linear-gradient(180deg,rgb(196 92 62 / .2),transparent 60%),var(--ink-block)}.develop-work-well.is-game.is-2{background:linear-gradient(135deg,rgb(196 92 62 / .32),transparent 46%),var(--ink-block)}.develop-work-well.is-game.is-3{background:radial-gradient(70% 80% at 20% 80%,rgb(196 92 62 / .26),transparent 52%),var(--ink-block)}.develop-work-gate{min-height:calc(100dvh - var(--header-h));margin-inline:var(--page-inset);display:grid;grid-template-columns:1.35fr .9fr 1.2fr;grid-template-rows:1.18fr .82fr;grid-template-areas:"twin twin game" "land photo photo";background:var(--ink-block);color:var(--on-ink)}.develop-work-gate-cell{position:relative;overflow:hidden;min-height:0;color:var(--on-ink);border-right:1px solid rgb(238 240 242 / .1);border-bottom:1px solid rgb(238 240 242 / .1)}.develop-work-gate-cell.is-1{grid-area:twin}.develop-work-gate-cell.is-2{grid-area:game;border-right:0}.develop-work-gate-cell.is-3{grid-area:land;border-bottom:0}.develop-work-gate-cell.is-4{grid-area:photo;border-right:0;border-bottom:0}.develop-work-gate-cell img,.develop-work-gate-cell .develop-work-well,.develop-kind-door img,.develop-kind-door .develop-work-well,.develop-channel-cell img,.develop-channel-cell .develop-work-well{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.develop-work-gate-cell:after,.develop-kind-door:after,.develop-channel-cell:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgb(26 29 34 / .78));pointer-events:none}.develop-work-gate-cell.is-soon,.develop-kind-door.is-soon,.develop-channel-cell.is-soon{cursor:default;opacity:.72}.develop-kind{min-height:calc(100dvh - var(--header-h));display:grid;grid-template-rows:auto 1fr}.develop-kind-head{padding:36px var(--page-inset) 28px}.develop-kind h1,.develop-channel h1{margin:0 0 12px;font-size:clamp(36px,5.5vw,64px);font-weight:700;line-height:1.1}.develop-kind-lead{margin:0;max-width:36em;font-size:17px;line-height:1.7;color:var(--muted)}.develop-kind-doors{display:flex;min-height:58vh;margin-inline:var(--page-inset);border-top:1px solid var(--line)}.develop-kind-door{position:relative;flex:1.05 1 0;min-width:0;overflow:hidden;color:var(--on-ink);border-right:1px solid rgb(238 240 242 / .1);transition:flex-grow .45s cubic-bezier(.16,1,.3,1)}.develop-kind-doors[data-count="1"] .develop-kind-door{flex:1 1 auto;min-height:64vh;border-right:0}.develop-kind-doors[data-count="2"] .develop-kind-door:first-child{flex-grow:1.5}.develop-kind-doors[data-count="3"] .develop-kind-door:nth-child(1){flex-grow:1.35}.develop-kind-doors[data-count="3"] .develop-kind-door:nth-child(2){flex-grow:.82}.develop-kind-doors[data-count="3"] .develop-kind-door:nth-child(3){flex-grow:1.08;border-right:0}.develop-kind-doors[data-count="4"] .develop-kind-door:nth-child(1){flex-grow:1.4}.develop-kind-doors[data-count="4"] .develop-kind-door:nth-child(4){border-right:0}.develop-channel{padding:0 0 72px;min-height:calc(100dvh - var(--header-h))}.develop-channel-grid,.develop-channel-empty,.develop-channel .lrb{padding-inline:var(--page-inset)}.develop-channel .lrb{margin-top:0}.develop-channel-empty{margin:48px 0 0;color:var(--muted)}.develop-channel-grid{display:grid;gap:10px;margin-top:36px;min-height:56vh}.develop-channel-grid[data-count="1"]{grid-template-columns:1fr;min-height:62vh}.develop-channel-grid[data-count="2"]{grid-template-columns:1.35fr 1fr}.develop-channel-grid[data-count="3"]{grid-template-columns:1.45fr 1fr;grid-template-rows:1fr 1fr;grid-template-areas:"a b" "a c";min-height:72vh}.develop-channel-grid[data-count="3"] .is-1{grid-area:a}.develop-channel-grid[data-count="3"] .is-2{grid-area:b}.develop-channel-grid[data-count="3"] .is-3{grid-area:c}.develop-channel-grid[data-count="4"],.develop-channel-grid[data-count="5"],.develop-channel-grid[data-count="6"]{grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:1.1fr .9fr}.develop-channel-grid[data-count="4"] .is-1,.develop-channel-grid[data-count="5"] .is-1,.develop-channel-grid[data-count="6"] .is-1{grid-column:1;grid-row:1 / span 2}.develop-channel-cell{position:relative;min-height:220px;overflow:hidden;background:var(--ink-block);color:var(--on-ink)}.develop-channel-grid[data-count="3"] .is-1,.develop-channel-grid[data-count="1"] .is-1{min-height:360px}@media(pointer:fine){.develop-work-gate-cell img,.develop-kind-door img,.develop-channel-cell img{transform:scale(1);transition:transform .7s cubic-bezier(.16,1,.3,1)}.develop-work-gate-cell:hover img,.develop-kind-door:hover img,.develop-channel-cell:hover img{transform:scale(1.06)}.develop-kind-doors[data-count="2"] .develop-kind-door:hover,.develop-kind-doors[data-count="3"] .develop-kind-door:hover,.develop-kind-doors[data-count="4"] .develop-kind-door:hover{flex-grow:2.15}}@media(max-width:860px){.develop-work-gate{margin-inline:0;grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"twin" "game" "land" "photo"}.develop-work-gate-cell,.develop-work-gate-cell.is-2,.develop-work-gate-cell.is-3,.develop-work-gate-cell.is-4{min-height:42vh;border-right:0}.develop-kind-doors{flex-direction:column;min-height:0}.develop-kind-door,.develop-kind-doors[data-count="1"] .develop-kind-door,.develop-kind-doors[data-count="2"] .develop-kind-door:first-child,.develop-kind-doors[data-count="3"] .develop-kind-door:nth-child(1),.develop-kind-doors[data-count="3"] .develop-kind-door:nth-child(2),.develop-kind-doors[data-count="3"] .develop-kind-door:nth-child(3){flex:none;min-height:38vh;border-right:0;border-bottom:1px solid rgb(238 240 242 / .1)}.develop-channel-grid,.develop-channel-grid[data-count="1"],.develop-channel-grid[data-count="2"],.develop-channel-grid[data-count="3"],.develop-channel-grid[data-count="4"],.develop-channel-grid[data-count="5"],.develop-channel-grid[data-count="6"]{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:none;min-height:0}.develop-channel-grid[data-count="3"] .is-1,.develop-channel-grid[data-count="3"] .is-2,.develop-channel-grid[data-count="3"] .is-3,.develop-channel-grid[data-count="4"] .is-1,.develop-channel-grid[data-count="5"] .is-1,.develop-channel-grid[data-count="6"] .is-1{grid-area:auto;grid-column:auto;grid-row:auto;min-height:42vw}}@media(max-width:390px){.develop-work-copy strong{font-size:22px}.develop-kind h1,.develop-channel h1{font-size:32px}}@media(prefers-reduced-motion:reduce){.develop-work-gate-cell img,.develop-kind-door img,.develop-channel-cell img,.develop-kind-door{transition:none}}:root,[data-skin=develop]{--bg: #e8eaed;--surface: #f4f5f7;--text: #16181c;--muted: #5a6169;--line: rgba(22, 24, 28, .12);--accent: #2b4c7e;--accent-soft: rgba(43, 76, 126, .1);--pine: #2f5d4a;--steel: #3d6a73;--oxide: #c45c3e;--ink-block: #1a1d22;--on-ink: #eef0f2;--gold: var(--accent);--mist: var(--steel);--signal: var(--oxide);--ink: var(--ink-block);--header-bg: var(--surface);--drawer-bg: var(--surface);--scrim: color-mix(in srgb, var(--ink-block) 42%, transparent);--veil: color-mix(in srgb, var(--ink-block) 16%, transparent);--panel-bg: var(--surface);--portrait-base: #d8dce2;--portrait-placeholder: linear-gradient(160deg, var(--accent-soft), transparent 42%), var(--surface);--spot-color: rgba(43, 76, 126, .16);--caption-shadow: none;--font-serif: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display-en: "Syne", "Outfit", sans-serif;--font-en: "Outfit", "Noto Sans SC", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--motion-grain: 0;--motion-spot: 0;--motion-stage: 0;--stage-play: paused}[data-skin=develop] [data-theme=home],[data-skin=develop] [data-theme=profile-resume],[data-skin=develop] [data-theme=profile-skills],[data-skin=develop] [data-theme=work-index],[data-skin=develop] [data-theme=about],[data-skin=develop] [data-theme=notes],[data-skin=develop] [data-theme=catalog],[data-skin=develop] [data-theme=photo],[data-skin=develop] [data-theme=landscape-photo]{--accent: #2b4c7e;--accent-soft: rgba(43, 76, 126, .1)}[data-skin=develop] [data-theme=twin-sim],[data-skin=develop] [data-theme=digital-twin],[data-skin=develop] [data-theme=line-sim]{--accent: var(--steel);--accent-soft: rgba(61, 106, 115, .12)}[data-skin=develop] [data-theme=landscape-arch],[data-skin=develop] [data-theme=landscape-rendering],[data-skin=develop] [data-theme=landscape-cds]{--accent: var(--pine);--accent-soft: rgba(47, 93, 74, .12)}[data-skin=develop] [data-theme=humanist-photo]{--accent: #6a5a4e;--accent-soft: rgba(106, 90, 78, .12)}[data-skin=develop] [data-theme=portrait-photo]{--accent: #7a6558;--accent-soft: rgba(122, 101, 88, .12)}[data-skin=develop] [data-theme=play],[data-skin=develop] [data-theme=game-dev],[data-skin=develop] [data-theme=game-design],[data-skin=develop] [data-theme=game-photo],[data-skin=develop] [data-theme=menu]{--accent: var(--oxide);--accent-soft: rgba(196, 92, 62, .12)}[data-skin=develop] [data-theme=sketches]{--accent: #6b5a4c;--accent-soft: rgba(107, 90, 76, .12)}[data-skin=develop] .header,[data-skin=develop] .drawer,[data-skin=develop] .skin-panel{backdrop-filter:none;-webkit-backdrop-filter:none}[data-skin=develop] .brand-en{letter-spacing:.08em}[data-skin=develop] .hero-en{font-family:var(--font-display-en)}[data-skin=develop] .grain{opacity:.03;animation:none;mix-blend-mode:multiply}[data-skin=develop] .stage{display:none}[data-skin=develop] .skin-panel,[data-skin=develop] .skin-card,[data-skin=develop] .card,[data-skin=develop] .note-card,[data-skin=develop] .about-card,[data-skin=develop] .archive-btn,[data-skin=develop] .filter-chip,[data-skin=develop] .filter-sort,[data-skin=develop] .filter-clear,[data-skin=develop] .portrait-frame{clip-path:none;border-radius:0}[data-skin=develop] .header.is-over-hero{background:transparent;border-bottom-color:transparent}[data-skin=develop] .header.is-over-hero.is-on-dark{color:var(--on-ink)}[data-skin=develop] .header.is-over-hero.is-on-dark .brand-en,[data-skin=develop] .header.is-over-hero.is-on-dark .header-btn{color:var(--on-ink);border-color:#eef0f247}[data-skin=develop] .header.is-over-hero.is-on-dark .skin-mark i{background:#eef0f28c}[data-skin=develop] .header.is-over-hero.is-on-dark .menu-btn span,[data-skin=develop] .header.is-over-hero.is-on-dark .menu-btn span:before,[data-skin=develop] .header.is-over-hero.is-on-dark .menu-btn span:after{background:var(--on-ink)}:root{--header-h: 64px;--motion-reveal: 1;--motion-hint: 1;--motion-ticks: 1;--page-max: 1200px;--page-gutter: 56px}@media(max-width:860px){:root{--page-gutter: 20px}}@media(max-width:390px){:root{--page-gutter: 16px}}[data-skin=strata] [data-theme=home]{--accent: var(--gold);--accent-soft: rgba(196, 165, 116, .16)}[data-skin=strata] [data-theme=twin-sim],[data-skin=strata] [data-theme=digital-twin]{--accent: var(--mist);--accent-soft: rgba(123, 163, 168, .16)}[data-skin=strata] [data-theme=line-sim],[data-skin=strata] [data-theme=plant-sim]{--accent: #c9925a;--accent-soft: rgba(201, 146, 90, .16)}[data-skin=strata] [data-theme=landscape-arch],[data-skin=strata] [data-theme=landscape-rendering],[data-skin=strata] [data-theme=photo],[data-skin=strata] [data-theme=landscape-photo]{--accent: var(--gold);--accent-soft: rgba(196, 165, 116, .16)}[data-skin=strata] [data-theme=humanist-photo]{--accent: #b89a82;--accent-soft: rgba(184, 154, 130, .18)}[data-skin=strata] [data-theme=landscape-cds]{--accent: #8bb8c1;--accent-soft: rgba(139, 184, 193, .16)}[data-skin=strata] [data-theme=portrait-photo]{--accent: #d4b49a;--accent-soft: rgba(212, 180, 154, .18)}[data-skin=strata] [data-theme=game-dev],[data-skin=strata] [data-theme=game-design],[data-skin=strata] [data-theme=game-photo],[data-skin=strata] [data-theme=menu],[data-skin=strata] [data-theme=play]{--accent: var(--signal);--accent-soft: rgba(224, 138, 76, .16)}[data-skin=strata] [data-theme=notes],[data-skin=strata] [data-theme=about],[data-skin=strata] [data-theme=profile-resume],[data-skin=strata] [data-theme=profile-skills]{--accent: var(--gold);--accent-soft: rgba(196, 165, 116, .12)}[data-skin=strata] [data-theme=sketches]{--accent: #b08968;--accent-soft: rgba(176, 137, 104, .18)}@media(prefers-reduced-motion:reduce){:root{--motion-grain: 0;--motion-spot: 0;--motion-reveal: 0;--motion-ticks: 1;--motion-stage: 0;--stage-play: paused}}[data-skin=strata]{--bg: #0b0d10;--surface: #14181c;--text: #e8e6e1;--muted: #8a8680;--line: rgba(232, 230, 225, .12);--gold: #c4a574;--mist: #7ba3a8;--signal: #e08a4c;--ink: #3a322c;--accent: var(--gold);--accent-soft: rgba(196, 165, 116, .16);--header-bg: color-mix(in srgb, var(--bg) 72%, transparent);--drawer-bg: color-mix(in srgb, var(--bg) 94%, transparent);--scrim: color-mix(in srgb, var(--bg) 56%, transparent);--veil: color-mix(in srgb, var(--bg) 72%, transparent);--panel-bg: #12161b;--portrait-base: #101318;--portrait-placeholder: linear-gradient(160deg, rgba(196, 165, 116, .16), transparent 42%), linear-gradient(20deg, #1a2228, #101318 55%, #1c1814);--spot-color: rgba(196, 165, 116, .28);--caption-shadow: 0 1px 8px rgba(8, 10, 12, .7);--motion-grain: 1;--motion-spot: 1;--motion-stage: 1;--stage-play: running;--font-serif: "Noto Serif SC", "Songti SC", "SimSun", serif;--font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display-en: "Outfit", "Noto Sans SC", sans-serif;--font-en: "Outfit", "Noto Sans SC", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}html{background:var(--bg);color:var(--text);scrollbar-gutter:stable}html.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:auto}html[data-lightbox=open],html[data-lightbox=open].lenis:not(.lenis-autoToggle).lenis-stopped{overflow:hidden}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.7;background:var(--bg);color:var(--text);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}img{max-width:100%;display:block}button{cursor:pointer;background:none;border:0;padding:0}::selection{background:var(--accent-soft);color:var(--text)}.grain{position:fixed;inset:0;z-index:40;pointer-events:none;opacity:calc(.055 * var(--motion-grain));background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");mix-blend-mode:overlay}@media(prefers-reduced-motion:reduce){.grain{animation:none}}@media(pointer:fine){.grain{animation:grain-shift calc(.8s * var(--motion-grain)) steps(2) infinite}}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(-1%,1%)}50%{transform:translate(1%,-1%)}to{transform:translate(0)}}
