@font-face{font-family:"Instrument Serif";src:url(./instrument-serif-400-DnYpCC2O.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(./instrument-serif-400-italic-DKMiL14s.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Archivo;src:url(./archivo-var-E0tuGl4L.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(./jetbrains-mono-400-V6pRDFza.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(./jetbrains-mono-500-BWZEU5yA.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--paper: #f1ebdd;--paper-2: #e9e0cd;--paper-3: #d8ccb2;--card: #f7f2e7;--ink: #141210;--ink-2: #3a342b;--ink-3: #6d6456;--rule: rgba(20, 18, 16, .16);--rule-strong: rgba(20, 18, 16, .45);--seal: #b8341f;--seal-soft: rgba(184, 52, 31, .1);--shadow: 0 34px 60px -34px rgba(20, 18, 16, .45);--font-display: "Instrument Serif", "Songti SC", "SimSun", "Noto Serif CJK SC", serif;--font-cjk: "Songti SC", "SimSun", "Noto Serif CJK SC", "STSong", serif;--font-ui: "Archivo", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Consolas", ui-monospace, monospace;--gutter: clamp(18px, 4.2vw, 64px);--ease: cubic-bezier(.16, 1, .3, 1)}[data-theme=night]{--paper: #0d0c0b;--paper-2: #161412;--paper-3: #241f1a;--card: #131110;--ink: #f0e8d8;--ink-2: #cfc4ae;--ink-3: #8b8173;--rule: rgba(240, 232, 216, .16);--rule-strong: rgba(240, 232, 216, .42);--seal: #e2543a;--seal-soft: rgba(226, 84, 58, .14);--shadow: 0 34px 70px -30px rgba(0, 0, 0, .9)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--paper)}html.is-locked{overflow:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .6s var(--ease),color .6s var(--ease)}::selection{background:var(--seal);color:var(--paper)}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--seal);outline-offset:3px}h1,h2,h3,h4,p,dl,dd{margin:0}.wrap{width:100%;max-width:1560px;margin-inline:auto;padding-inline:var(--gutter)}.mono{font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:12px;z-index:200;padding:10px 16px;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:11px;text-decoration:none;transition:top .2s}.skip:focus{top:12px}kbd{font-family:var(--font-mono);font-size:9px;border:1px solid currentColor;border-radius:2px;padding:1px 4px;opacity:.65}.btn-ghost{appearance:none;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--rule);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s}.btn-ghost:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-ghost:disabled{opacity:.35;cursor:default}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--seal);animation:live 2s ease-in-out infinite}.grain{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.42;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.34'/></svg>");background-size:180px 180px}[data-theme=night] .grain{mix-blend-mode:screen;opacity:.2}.has-cursor,.has-cursor *{cursor:none!important}.cursor{position:fixed;inset:0;z-index:90;pointer-events:none;transition:opacity .3s}.cursor-dot{position:absolute;top:0;left:0;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--seal)}.cursor-ring{position:absolute;top:0;left:0;display:grid;place-items:center;width:32px;height:32px;margin:-16px 0 0 -16px;border:1px solid var(--ink);border-radius:50%;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),background .3s,border-color .3s,opacity .3s}.cursor-label{font-size:9px;letter-spacing:0;color:var(--paper);opacity:0;transition:opacity .2s}.cursor--link .cursor-ring{width:58px;height:58px;margin:-29px 0 0 -29px;background:var(--seal);border-color:var(--seal)}.cursor--link .cursor-label{opacity:1}.cursor--drag .cursor-ring{width:76px;height:76px;margin:-38px 0 0 -38px;border-style:dashed}.cursor--drag .cursor-label{opacity:1;color:var(--ink)}.cursor--hidden{opacity:0}.intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden}.intro-paper{position:absolute;inset:0;background:var(--paper);border-bottom:1px solid var(--rule);transition:transform .95s cubic-bezier(.76,0,.24,1)}.intro-grain{position:absolute;inset:0;opacity:.4;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='m'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23m)' opacity='0.3'/></svg>")}.intro-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;transition:transform .8s var(--ease),opacity .6s}.intro-vline{display:block;width:1px;height:84px;background:var(--seal);transform-origin:top;animation:introLine .9s var(--ease) both}.intro-title{font-family:var(--font-cjk);font-size:clamp(48px,11vw,132px);letter-spacing:.32em;padding-left:.32em;line-height:1;clip-path:inset(0 100% 0 0);animation:introTitle 1.1s var(--ease) .1s both}.intro-sub{font-size:9px;letter-spacing:.3em;opacity:0;animation:fadeIn .8s var(--ease) .6s both}.intro-count{position:absolute;right:var(--gutter);bottom:calc(var(--gutter) - 4px);z-index:2;font-size:11px;letter-spacing:.24em;color:var(--seal)}.intro-hint{position:absolute;left:var(--gutter);bottom:calc(var(--gutter) - 4px);z-index:2;font-size:9px;letter-spacing:.4em}.intro-progress{position:absolute;left:0;right:0;bottom:0;z-index:3;height:2px;background:var(--seal);transform-origin:left center;transition:transform .12s linear}.intro.is-leaving .intro-paper{transform:translateY(-101%)}.intro.is-leaving .intro-inner{transform:translateY(-48px);opacity:0}.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18px;height:56px;padding-inline:var(--gutter);border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(10px)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.brand-seal{display:grid;place-items:center;width:24px;height:24px;background:var(--seal);color:#f7f2e7;font-family:var(--font-cjk);font-size:13px;line-height:1}.brand-name{font-family:var(--font-cjk);font-size:16px;letter-spacing:.14em}.brand-en{font-size:8px;letter-spacing:.24em;opacity:.7}.topbar-mid{display:flex;align-items:center;gap:10px;font-size:9px}.topbar-mid .dim{opacity:.55}.topbar-mid .bar{width:26px;height:1px;background:var(--rule-strong)}.topbar-right{display:flex;align-items:center;gap:8px}.rail{position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:40;transition:opacity .5s var(--ease),transform .5s var(--ease)}.rail.is-faded{opacity:0;transform:translateY(-50%) translate(-8px);pointer-events:none}.rail ul{display:flex;flex-direction:column;gap:20px;margin:0;padding:0;list-style:none}.rail a{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink-3);text-decoration:none;transition:color .3s}.rail-no{font-size:8px;letter-spacing:.1em}.rail-label{writing-mode:vertical-rl;font-family:var(--font-cjk);font-size:11px;letter-spacing:.28em}.rail a:hover,.rail a.is-active{color:var(--seal)}.rail-line{display:none}.ruler{position:fixed;right:22px;top:22vh;bottom:22vh;z-index:40;width:30px;transition:opacity .5s var(--ease)}.ruler.is-faded{opacity:0;pointer-events:none}.ruler-track{position:absolute;top:0;bottom:0;right:10px;width:1px;background:var(--rule)}.ruler-fill{position:absolute;inset:0;background:var(--seal);transform-origin:top;transition:transform .16s linear}.ruler-tick{position:absolute;right:0;display:flex;align-items:center;gap:6px;transform:translateY(-50%)}.ruler-tick i{width:7px;height:1px;background:var(--rule-strong)}.ruler-tick em{font-style:normal;font-size:8px;color:var(--ink-3)}.ruler-num{position:absolute;right:2px;bottom:-28px;font-size:9px;color:var(--seal)}.hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:100svh;min-height:660px;padding-top:56px;overflow:hidden}.hero-meta{display:flex;align-items:center;gap:16px;padding-top:18px;padding-bottom:12px;border-bottom:1px solid var(--rule)}.hero-meta-rule{flex:1;height:1px;background:var(--rule)}.hero-stage{position:relative;flex:1;display:flex;align-items:flex-start;padding-block:clamp(14px,2.6vh,32px) clamp(22px,4vh,52px)}.hero-left{position:relative;z-index:3;max-width:34rem;padding-top:clamp(4px,2vh,26px)}.hero-stain{position:absolute;right:2%;top:50%;width:min(46vw,620px);height:min(46vw,620px);transform:translateY(-52%);background:radial-gradient(circle at 48% 46%,rgba(20,18,16,.1) 0%,rgba(20,18,16,.05) 38%,transparent 68%);filter:blur(12px);pointer-events:none;animation:stainDrift 18s ease-in-out infinite alternate}[data-theme=night] .hero-stain{background:radial-gradient(circle at 48% 46%,rgba(240,232,216,.1) 0%,rgba(240,232,216,.04) 40%,transparent 70%)}.hero-note{position:absolute;left:45%;top:12%;z-index:2;writing-mode:vertical-rl;font-family:var(--font-cjk);font-size:12px;line-height:1.9;letter-spacing:.3em;color:var(--ink-3);opacity:.85;max-height:min(48vh,400px)}.hero-role{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:18px}.role-cn{font-family:var(--font-cjk);font-size:clamp(15px,1.4vw,19px);letter-spacing:.12em}.role-slash{color:var(--seal)}.role-en{font-size:9px;letter-spacing:.2em}.hero-statement{font-family:var(--font-cjk);font-size:clamp(19px,min(2.75vw,4.5vh),38px);line-height:1.62;letter-spacing:.01em;color:var(--ink);max-width:15em}.hero-statement-2{color:var(--ink-2);font-size:.86em}.hero-loc{margin-top:18px;font-size:9px;letter-spacing:.22em}.hero-latin{position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;z-index:1;display:flex;flex-direction:column;font-family:var(--font-display);line-height:.78;letter-spacing:-.015em;pointer-events:none;mix-blend-mode:multiply}[data-theme=night] .hero-latin{mix-blend-mode:screen}.hero-latin-a{font-size:clamp(40px,min(9.2vw,14.2vh),140px);opacity:.92}.hero-latin-b{align-self:flex-end;margin-right:-.4vw;font-size:clamp(40px,min(9.2vw,14.2vh),140px);color:transparent;-webkit-text-stroke:1px var(--ink);opacity:.5}.hero-name{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;font-family:var(--font-cjk);font-weight:400;font-size:clamp(60px,min(10.5vw,20vh),166px);line-height:.94;letter-spacing:.02em;margin:0}.hero-char{display:block;opacity:0;transform:translateY(46%) rotate(1.5deg);transition:opacity 1s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i) * .11s + .12s)}.hero.is-ready .hero-char{opacity:1;transform:none}.hero-seal{position:absolute;left:-.36em;bottom:.04em;z-index:4;display:grid;place-items:center;width:clamp(46px,3.8vw,60px);height:clamp(46px,3.8vw,60px);background:var(--seal);color:#f7f2e7;font-family:var(--font-cjk);font-size:clamp(22px,1.8vw,28px);line-height:1;transform:rotate(-7deg) scale(0);box-shadow:0 6px 18px -8px #b8341fa6;transition:transform .75s cubic-bezier(.34,1.56,.64,1) .9s}.hero.is-ready .hero-seal{transform:rotate(-7deg) scale(1)}.hero-seal:after{content:"";position:absolute;inset:4px;border:1px solid rgba(247,242,231,.55)}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.6fr);border-top:1px solid var(--rule)}.stat{display:flex;flex-direction:column;gap:2px;padding:16px 18px 18px 0;border-right:1px solid var(--rule)}.stat--wide{padding-left:18px;border-right:0;justify-content:center;gap:6px}.stat-value{font-family:var(--font-display);font-size:clamp(26px,2.4vw,38px);line-height:1}.stat-label{font-family:var(--font-cjk);font-size:12px;letter-spacing:.1em}.stat-note{font-size:8px;letter-spacing:.16em}.hero-foot{display:flex;align-items:center;gap:24px;padding:12px var(--gutter);border-top:1px solid var(--rule)}.ticker{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.ticker-inner{display:flex;width:max-content;animation:marquee 46s linear infinite}.ticker-run{display:flex;gap:26px;padding-right:26px}.ticker-item{font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.ticker-item i{margin-left:26px;font-style:normal;color:var(--seal)}.scroll-hint{display:inline-flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap}.scroll-hint .mono{font-size:9px;letter-spacing:.3em;color:var(--ink)}.scroll-arrow{display:inline-block;color:var(--seal);animation:bob 2.4s ease-in-out infinite}.section{position:relative;scroll-margin-top:74px;padding-block:clamp(72px,11vh,140px);border-top:1px solid var(--rule)}.sec-head{display:flex;flex-direction:column;gap:16px;margin-bottom:clamp(32px,5vh,64px)}.sec-top{display:flex;align-items:center;gap:14px}.sec-no{color:var(--seal);font-size:10px}.sec-rule{flex:1;height:1px;background:var(--rule)}.sec-en{font-size:9px;letter-spacing:.24em}.sec-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.sec-head .sec-title{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease) .08s}.sec-head.is-in .sec-title{clip-path:inset(0 0 0 0)}.sec-title{font-family:var(--font-cjk);font-weight:400;font-size:clamp(44px,7vw,104px);line-height:.95;letter-spacing:.06em}.sec-note{font-size:9px;letter-spacing:.2em;color:var(--ink-3);white-space:nowrap}.about-grid{display:grid;grid-template-columns:56px minmax(0,1.15fr) minmax(260px,.85fr);gap:clamp(24px,4vw,64px);align-items:start}.about-side{display:flex;flex-direction:column;align-items:center;gap:12px;height:100%;min-height:240px}.about-side-label{writing-mode:vertical-rl;font-family:var(--font-cjk);font-size:12px;letter-spacing:.5em;color:var(--ink-3)}.about-side-line{flex:1;width:1px;min-height:80px;background:var(--rule)}.about-side-note{writing-mode:vertical-rl;font-size:8px;letter-spacing:.3em}.about-body{max-width:36em}.about-p{font-family:var(--font-display);font-size:clamp(17px,1.5vw,22px);line-height:1.95;color:var(--ink-2);margin-bottom:1.15em;text-align:justify}.about-p:first-of-type:first-letter{float:left;margin:.06em .12em 0 0;font-family:var(--font-cjk);font-size:3.1em;line-height:.86;color:var(--seal)}.about-sign{display:flex;align-items:center;gap:14px;margin-top:26px}.about-sign-line{width:56px;height:1px;background:var(--rule-strong)}.about-sign .mono{font-size:9px;letter-spacing:.2em}.dossier{border-top:1px solid var(--rule-strong)}.dossier-row{display:grid;grid-template-columns:62px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--rule);align-items:baseline}.dossier dt{font-size:10px;letter-spacing:.14em;color:var(--seal)}.dossier dd{font-family:var(--font-cjk);font-size:14px;line-height:1.5;color:var(--ink-2)}.works{padding-bottom:0}.works-bar{display:flex;align-items:center;gap:16px;padding-block:13px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.works-hint{font-size:9px;letter-spacing:.18em}.works-track{position:relative;flex:1;height:1px;background:var(--rule)}.works-fill{position:absolute;inset:0;background:var(--seal);transform-origin:left;transition:transform .1s linear}.works-count{font-size:9px;color:var(--seal)}.works-viewport{width:100%;max-width:1560px;margin-inline:auto;padding-inline:var(--gutter)}.works-strip{display:flex;gap:clamp(12px,1.4vw,22px);overflow-x:auto;overflow-y:clip;padding-block:clamp(22px,3.4vh,44px) clamp(44px,7vh,88px);scrollbar-width:none;cursor:grab}.works-strip::-webkit-scrollbar{display:none}.works-strip.is-dragging{cursor:grabbing;scroll-snap-type:none}.sheet{position:relative;flex:0 0 clamp(300px,34vw,545px);display:flex;flex-direction:column;gap:13px;padding:clamp(18px,1.8vw,26px);background:var(--card);border:1px solid var(--rule-strong);transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .4s var(--ease)}.sheet:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.sheet-top{display:flex;align-items:baseline;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--rule)}.sheet-num{font-size:10px;color:var(--seal);letter-spacing:.1em}.sheet-numeral{font-family:var(--font-cjk);font-size:14px;color:var(--ink-3)}.sheet-period{margin-left:auto;font-size:8px;letter-spacing:.12em}.sheet-title h3{font-family:var(--font-cjk);font-weight:500;font-size:clamp(24px,2.1vw,32px);line-height:1.25;letter-spacing:.02em}.sheet-latin{margin-top:6px;font-size:8px;letter-spacing:.22em;color:var(--ink-3)}.motif{display:grid;place-items:center;height:clamp(112px,13vh,158px);border-block:1px solid var(--rule);padding-block:8px;color:var(--ink);overflow:hidden}.motif svg{width:100%;height:100%;stroke-linecap:round;stroke-linejoin:round}.sheet-category{font-size:8px;letter-spacing:.2em;color:var(--seal)}.sheet-points{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;font-size:12.5px;line-height:1.75;color:var(--ink-2)}.sheet-points li{position:relative;padding-left:13px}.sheet-points li:before{content:"";position:absolute;left:0;top:.72em;width:5px;height:1px;background:var(--seal)}.sheet-foot{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--rule)}.sheet-stack{display:flex;flex-wrap:wrap;gap:5px}.sheet-stack span{font-family:var(--font-mono);font-size:8px;letter-spacing:.08em;padding:3px 6px;border:1px solid var(--rule);color:var(--ink-3)}.sheet-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.sheet-links a{font-size:11px;text-decoration:none;border-bottom:1px solid var(--seal);padding-bottom:1px;transition:color .3s}.sheet-links a:hover{color:var(--seal)}.sheet-stars{margin-left:auto;font-size:9px;color:var(--ink-3)}.sheet-status{position:absolute;top:0;right:0;display:flex;align-items:center;gap:6px;transform:translateY(-50%);padding:0 8px;background:var(--paper);font-size:8px;letter-spacing:.14em;color:var(--ink-3);white-space:nowrap}.sheet-status i{width:4px;height:4px;border-radius:50%;background:var(--seal)}.sheet--end{flex-basis:clamp(190px,20vw,260px);justify-content:center;align-items:center;gap:16px;border-style:dashed;background:transparent;color:var(--ink-3);text-align:center}.sheet--end .sheet-end-text{font-family:var(--font-cjk);font-size:clamp(48px,6vw,84px);color:var(--seal);opacity:.75}.sheet--end .mono{font-size:8px;letter-spacing:.2em}.sheet-watermark{position:absolute;right:8px;bottom:0;font-family:var(--font-cjk);font-size:clamp(90px,9vw,140px);line-height:.9;color:var(--ink);opacity:.05;pointer-events:none;user-select:none}.mk-fill{fill:var(--ink);stroke:none;opacity:.8}.mk-accent{stroke:var(--seal);fill:var(--seal)}.mk-blink{fill:var(--seal);stroke:none;animation:blink 1.5s steps(2,end) infinite}.mk-dash{animation:dashMove 14s linear infinite}.mk-rise{animation:rise 3s ease-in-out infinite}.mk-rise-2{animation-delay:.6s;opacity:.6}.mk-bar{animation:barPulse 1.3s ease-in-out infinite alternate}.mk-progress{stroke:var(--seal);stroke-width:2.5;stroke-dasharray:124;stroke-dashoffset:124;animation:fillBar 3.4s ease-in-out infinite}.mk-pulse{animation:sonar 2.6s ease-out infinite}.mk-pulse-2{animation-delay:.7s}.mk-spin{animation:spin 26s linear infinite;transform-origin:120px 68px}.stack-intro p{font-family:var(--font-display);font-size:clamp(17px,1.5vw,22px);line-height:1.9;color:var(--ink-2);max-width:44em}.case{display:flex;flex-direction:column;margin-top:clamp(26px,4vh,52px)}.case-row{display:grid;grid-template-columns:72px 1fr;gap:clamp(10px,2vw,26px);align-items:start;padding-block:12px;border-top:1px solid var(--rule)}.case-key{display:flex;align-items:center;gap:10px;padding-top:10px}.case-key .mono{font-size:9px;letter-spacing:.22em;color:var(--seal)}.case-key-line{flex:1;height:1px;background:var(--rule)}.case-cells{display:flex;flex-wrap:wrap;gap:7px}.cell{position:relative;appearance:none;padding:9px 14px;border:1px solid var(--rule-strong);background:transparent;color:var(--ink);font-family:var(--font-cjk);font-size:clamp(13px,1.15vw,17px);letter-spacing:.03em;cursor:pointer;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .3s}.cell:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:0 12px 18px -16px #141210cc}.cell.is-picked{background:var(--seal);border-color:var(--seal);color:#f7f2e7}.composer{display:flex;flex-direction:column;gap:12px;margin-top:clamp(22px,3.6vh,40px);padding:16px 18px 18px;border:1px solid var(--rule-strong);background:var(--card);min-height:118px}.composer-head{display:flex;align-items:center;gap:14px}.composer-count{margin-left:auto;font-size:8px;color:var(--ink-3)}.composer-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:46px;padding-top:12px;border-top:1px dashed var(--rule)}.composer-token{font-family:var(--font-cjk);font-size:clamp(16px,1.4vw,21px);color:var(--ink);border-bottom:2px solid var(--seal);padding-bottom:2px;animation:stamp .4s var(--ease) both}.composer-empty{font-size:10px;letter-spacing:.08em}.time-grid{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:start}.time-side{display:flex;flex-direction:column;gap:12px}.time-side-text{writing-mode:vertical-rl;font-family:var(--font-cjk);font-size:12px;letter-spacing:.4em;color:var(--ink-3)}.time-side-tag{font-size:8px;letter-spacing:.14em;line-height:1.8}.tl{list-style:none;margin:0;padding:0 0 0 clamp(16px,2vw,28px);border-left:1px solid var(--rule)}.tl-item{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:clamp(12px,2vw,26px);padding-block:clamp(16px,2.4vh,28px);border-bottom:1px solid var(--rule)}.tl-item:before{content:"";position:absolute;left:calc(-1*clamp(16px,2vw,28px) - 3px);top:clamp(24px,3.2vh,38px);width:5px;height:5px;border:1px solid var(--ink);border-radius:50%;background:var(--paper)}.tl-item--now:before{background:var(--seal);border-color:var(--seal)}.tl-when{display:flex;flex-direction:column;gap:4px}.tl-year{font-family:var(--font-display);font-size:clamp(30px,2.9vw,46px);line-height:1}.tl-month{font-size:9px;color:var(--seal);letter-spacing:.2em}.tl-tag{display:inline-flex;align-items:center;gap:7px;font-size:8px;letter-spacing:.2em;color:var(--ink-3)}.tl-body h4{margin:6px 0 7px;font-family:var(--font-cjk);font-weight:500;font-size:clamp(16px,1.4vw,20px);letter-spacing:.02em}.tl-body p{font-size:13px;line-height:1.85;color:var(--ink-2);max-width:46em}.tl-item--now .tl-body h4{color:var(--seal)}.contact-lead{font-family:var(--font-cjk);font-size:clamp(20px,2.4vw,32px);line-height:1.75;max-width:24em;margin-bottom:clamp(24px,4vh,42px)}.contact-mail{display:inline-block;font-family:var(--font-display);font-size:clamp(26px,5.6vw,82px);line-height:1.12;letter-spacing:-.01em;text-decoration:none;border-bottom:2px solid var(--seal);padding-bottom:4px;transition:color .35s var(--ease),letter-spacing .5s var(--ease)}.contact-mail:hover{color:var(--seal);letter-spacing:.01em}.contact-rows{margin-top:clamp(28px,4.6vh,54px);border-top:1px solid var(--rule-strong)}.contact-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;width:100%;padding:15px 0;border:0;border-bottom:1px solid var(--rule);background:none;text-align:left;text-decoration:none;cursor:pointer;transition:padding-left .35s var(--ease),color .3s}.contact-row:hover{padding-left:10px;color:var(--seal)}.contact-k{font-size:8px;letter-spacing:.2em;color:var(--ink-3)}.contact-v{font-family:var(--font-cjk);font-size:clamp(14px,1.35vw,18px);overflow-wrap:anywhere}.contact-hint{font-size:8px;letter-spacing:.16em;color:var(--ink-3);white-space:nowrap}.contact-note{margin-top:22px;font-size:9px;letter-spacing:.1em;line-height:2}.colophon{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px 24px;margin-top:clamp(38px,6vh,68px);padding-top:22px;border-top:1px solid var(--rule)}.colophon dt{font-size:8px;letter-spacing:.2em;color:var(--seal)}.colophon dd{margin-top:6px;font-size:11.5px;line-height:1.8;color:var(--ink-2)}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding:22px var(--gutter) 28px;border-top:1px solid var(--rule)}.footer .mono{font-size:8px;letter-spacing:.2em}.footer-top{text-decoration:none;color:var(--ink)}.footer-top:hover{color:var(--seal)}.idx{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:clamp(12px,3vw,40px)}.idx-backdrop{position:absolute;inset:0;border:0;background:#1412108c;backdrop-filter:blur(6px);cursor:pointer}[data-theme=night] .idx-backdrop{background:#000000b3}.idx-panel{position:relative;width:min(1080px,100%);max-height:88svh;overflow:auto;padding:clamp(18px,2.6vw,34px);background:var(--paper);border:1px solid var(--ink);animation:panelIn .5s var(--ease) both}.idx-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--rule-strong)}.idx-close{appearance:none;border:0;background:none;cursor:pointer;font-size:9px;letter-spacing:.16em}.idx-cols{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(16px,3vw,40px);margin-top:18px}.idx-col{display:flex;flex-direction:column}.idx-col--works{border-left:1px solid var(--rule);padding-left:clamp(12px,2.6vw,32px)}.idx-item,.idx-work{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule);text-decoration:none;transition:color .25s,padding-left .3s var(--ease)}.idx-item:hover,.idx-work:hover{color:var(--seal);padding-left:6px}.idx-no{font-size:8px;color:var(--seal)}.idx-cn{font-family:var(--font-cjk);font-size:clamp(16px,1.6vw,22px);letter-spacing:.04em}.idx-en{font-size:8px;letter-spacing:.16em;color:var(--ink-3)}.idx-foot{margin-top:20px;padding-top:14px;border-top:1px solid var(--rule);font-size:8px;letter-spacing:.16em}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .95s var(--ease),transform .95s var(--ease);transition-delay:var(--d, 0ms)}[data-reveal].is-in{opacity:1;transform:none}@keyframes stainDrift{0%{transform:translateY(-52%) scale(1)}to{transform:translateY(-48%) scale(1.08)}}@keyframes introLine{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes introTitle{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes marquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes live{0%,to{opacity:1;box-shadow:0 0 0 0 var(--seal-soft)}50%{opacity:.55;box-shadow:0 0 0 4px var(--seal-soft)}}@keyframes blink{50%{opacity:.15}}@keyframes dashMove{to{stroke-dashoffset:-120}}@keyframes rise{0%{opacity:0;transform:translateY(4px)}40%{opacity:.8}to{opacity:0;transform:translateY(-8px)}}@keyframes barPulse{0%{transform:scaleY(.55)}to{transform:scaleY(1)}}@keyframes fillBar{0%{stroke-dashoffset:124}55%{stroke-dashoffset:18}to{stroke-dashoffset:124}}@keyframes sonar{0%{opacity:.7;transform:scale(.9)}70%{opacity:0;transform:scale(1.06)}to{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes stamp{0%{opacity:0;transform:scale(1.3) rotate(-2deg)}to{opacity:1;transform:none}}@keyframes panelIn{0%{opacity:0;transform:translateY(18px) scale(.99)}to{opacity:1;transform:none}}@media(max-width:1240px){.rail,.ruler{display:none}}@media(max-width:1024px){.topbar-mid{display:none}.about-grid{grid-template-columns:minmax(0,1fr);gap:30px}.about-side{flex-direction:row;align-items:center;height:auto;min-height:0}.about-side-label{writing-mode:horizontal-tb;letter-spacing:.3em}.about-side-line{width:auto;height:1px;min-height:0;flex:1}.about-side-note{writing-mode:horizontal-tb}.dossier{max-width:520px}.time-grid{grid-template-columns:minmax(0,1fr)}.time-side{flex-direction:row;align-items:center;gap:16px}.time-side-text{writing-mode:horizontal-tb;letter-spacing:.3em}.hero-name{font-size:clamp(72px,15vw,150px)}.hero-latin-a,.hero-latin-b{font-size:clamp(44px,12vw,120px)}.hero-seal{right:18%}}@media(max-width:760px){.hero{height:auto;min-height:auto;padding-top:56px;padding-bottom:4px}.hero-stage{flex-direction:column;align-items:stretch;padding-block:12px 6px}.hero-left{order:1;max-width:none;padding-top:0}.hero-statement{font-size:clamp(19px,5.2vw,26px);max-width:none}.hero-latin{order:2;position:static;margin-top:clamp(18px,4.5vh,38px);flex-direction:column}.hero-latin-a,.hero-latin-b{font-size:clamp(40px,14.5vw,64px)}.hero-latin-b{margin-right:0;margin-left:8vw;align-self:flex-start}.hero-name{order:3;position:static;transform:none;flex-direction:row;justify-content:flex-end;align-items:flex-end;gap:.03em;margin:8px 0 12px;font-size:clamp(44px,13.6vw,62px);line-height:1;letter-spacing:.02em}.hero-seal{position:relative;inset:auto;width:34px;height:34px;margin-left:16px;font-size:17px;transform:rotate(-7deg) translateY(-4px)}.hero-note{display:none}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:12px 10px 14px 0}.stat--wide{grid-column:1 / -1;padding:10px 0 12px;border-top:1px solid var(--rule)}.stat-value{font-size:26px}.hero-foot{gap:16px;padding-block:10px}.scroll-hint .mono{font-size:8px}.hero-stain{right:-30%;top:38%;width:100vw;height:100vw}.sec-title-row{flex-direction:column;align-items:flex-start;gap:8px}.works-viewport{max-width:none;padding-inline:0}.works-strip{padding-inline:var(--gutter)}.sheet{flex-basis:80vw}.case-row{grid-template-columns:minmax(0,1fr);gap:8px}.case-key{padding-top:4px}.case-key-line{display:none}.tl-item{grid-template-columns:72px minmax(0,1fr)}.contact-row{grid-template-columns:54px minmax(0,1fr);gap:10px}.contact-hint{display:none}.contact-mail{font-size:clamp(24px,7.8vw,42px)}.idx-cols{grid-template-columns:minmax(0,1fr)}.idx-col--works{border-left:0;padding-left:0;border-top:1px solid var(--rule);margin-top:8px;padding-top:8px}.idx-work:nth-child(n+5){display:none}.about-p{text-align:left}}@media(max-width:420px){.hero-name{font-size:17vw}.hero-loc{font-size:8px;letter-spacing:.14em}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}.sec-head .sec-title{clip-path:none}.hero-char{opacity:1;transform:none}.hero-seal{transform:rotate(-7deg) scale(1)}}@media(max-height:820px){.hero-note{display:none}}@media(max-width:1240px){.hero-note{display:none}}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(22px,3.6vh,38px)}.act{display:inline-flex;flex-direction:column;gap:5px;padding:14px 24px;border:1px solid var(--rule-strong);background:transparent;color:var(--ink);text-decoration:none;text-align:left;cursor:pointer;transition:transform .35s var(--ease),background .3s,color .3s,border-color .3s}.act:hover{transform:translateY(-3px);border-color:var(--ink)}.act-cn{font-family:var(--font-cjk);font-size:16px;letter-spacing:.1em}.act-en{font-size:8px;letter-spacing:.2em;color:var(--ink-3)}.act--primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.act--primary .act-en{color:inherit;opacity:.6}.act--primary:hover{background:var(--seal);border-color:var(--seal)}.act--small{flex-direction:row;align-items:center;padding:9px 14px;font-size:10px;letter-spacing:.14em;font-family:var(--font-mono)}.qr-block{display:grid;grid-template-columns:repeat(2,minmax(0,272px));gap:clamp(16px,3vw,40px);align-items:start;margin-top:clamp(28px,4.4vh,52px);padding-top:clamp(20px,3vh,30px);border-top:1px solid var(--rule)}.qr-card{display:flex;gap:14px;align-items:center;margin:0}.qr-card img{width:clamp(88px,7.2vw,116px);height:auto;aspect-ratio:1;padding:4px;border:1px solid var(--rule-strong);background:#fff}.qr-card figcaption{display:flex;flex-direction:column;gap:4px;min-width:0}.qr-k{font-size:8px;letter-spacing:.2em;color:var(--seal)}.qr-name{font-family:var(--font-cjk);font-size:16px;font-weight:500;letter-spacing:.04em}.qr-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;width:100%;margin-top:2px;padding:0 0 2px;border:0;border-bottom:1px dashed var(--rule-strong);background:none;color:var(--ink-2);text-align:left;cursor:pointer;transition:color .25s,border-color .25s}.qr-copy:hover{color:var(--seal);border-bottom-color:var(--seal)}.qr-copy-k{font-size:8px;letter-spacing:.1em}.qr-copy-v{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em}.qr-copy-state{margin-left:auto;font-size:8px;letter-spacing:0;color:var(--seal)}.resume{position:fixed;inset:0;z-index:85;display:grid;place-items:center;padding:clamp(10px,2.4vw,36px)}.resume-backdrop{position:absolute;inset:0;border:0;background:#1412108c;backdrop-filter:blur(6px);cursor:pointer}[data-theme=night] .resume-backdrop{background:#000000b8}.resume-sheet{position:relative;width:min(940px,100%);max-height:92svh;overflow:auto;padding:clamp(18px,2.6vw,40px);background:var(--paper);border:1px solid var(--ink);animation:panelIn .5s var(--ease) both}.resume-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(14px,2vw,28px);align-items:start;padding-bottom:18px;border-bottom:1px solid var(--rule-strong)}.resume-id h2{font-family:var(--font-cjk);font-size:clamp(28px,3.4vw,42px);line-height:1;letter-spacing:.08em}.resume-role{margin-top:10px;font-family:var(--font-cjk);font-size:clamp(13px,1.3vw,16px);color:var(--ink-2)}.resume-meta{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:8px;font-size:9px;letter-spacing:.08em;text-transform:none;overflow-wrap:anywhere}.resume-meta span{white-space:nowrap}.resume-avatar{width:clamp(76px,9vw,132px);height:auto;aspect-ratio:1;object-fit:cover;border:1px solid var(--rule-strong);background:var(--card)}.resume-tools{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.resume-sec{padding-block:clamp(16px,2.4vh,26px);border-bottom:1px solid var(--rule)}.resume-sec h3{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;font-family:var(--font-cjk);font-size:clamp(15px,1.5vw,18px);font-weight:500;letter-spacing:.12em}.resume-sec h3 .mono{font-size:8px;color:var(--seal)}.resume-skills{display:flex;flex-direction:column;gap:9px;margin:0}.resume-skills>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:14px;align-items:baseline}.resume-skills dt{font-size:9px;letter-spacing:.14em;color:var(--seal)}.resume-skills dd{margin:0;font-size:13px;line-height:1.85;color:var(--ink-2)}.resume-projects{display:flex;flex-direction:column;gap:18px}.resume-proj header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.resume-proj h4{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;font-family:var(--font-cjk);font-size:15px;font-weight:600;letter-spacing:.03em}.resume-cat{font-size:8px;font-weight:400;letter-spacing:.14em;color:var(--ink-3)}.resume-period{font-size:8px;white-space:nowrap}.resume-stack{margin-top:5px;font-size:8px;letter-spacing:.1em;color:var(--ink-3)}.resume-proj ul{display:flex;flex-direction:column;gap:6px;margin:9px 0 0;padding:0;list-style:none}.resume-proj li{position:relative;padding-left:13px;font-size:12.5px;line-height:1.8;color:var(--ink-2)}.resume-proj li:before{content:"";position:absolute;left:0;top:.72em;width:5px;height:1px;background:var(--seal)}.resume-links{display:flex;gap:14px;margin-top:8px;font-size:8px;text-transform:none}.resume-links a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--seal)}.resume-edu p{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13.5px;line-height:1.9}.resume-edu strong{font-family:var(--font-cjk);font-weight:600}.resume-edu-line{display:block!important;color:var(--ink-2);font-size:12.5px!important}.resume-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;font-size:8px;letter-spacing:.12em}.resume-foot a{text-decoration:none;border-bottom:1px solid var(--seal)}.works-strip,.works-strip *{-webkit-user-select:none;user-select:none}@media(max-width:860px){.qr-block{grid-template-columns:minmax(0,1fr);gap:18px}.resume-head{grid-template-columns:minmax(0,1fr) auto}.resume-tools{grid-column:1 / -1;flex-direction:row;justify-content:flex-start;align-items:center}.resume-avatar{width:84px}}@media(max-width:560px){.act{flex:1 1 auto;padding:12px 16px}.qr-card img{width:92px}.resume-skills>div{grid-template-columns:minmax(0,1fr);gap:2px}.resume-proj header{flex-direction:column;gap:2px}}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0}.resume-sheet,.idx-panel{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}.resume-sheet::-webkit-scrollbar,.idx-panel::-webkit-scrollbar{width:6px}.resume-sheet::-webkit-scrollbar-track,.idx-panel::-webkit-scrollbar-track{background:transparent}.resume-sheet::-webkit-scrollbar-thumb,.idx-panel::-webkit-scrollbar-thumb{background:var(--rule-strong)}.resume-sheet::-webkit-scrollbar-thumb:hover,.idx-panel::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}
