:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070707;--bg-soft:#0a0a0b;--panel:#0d0d0e;--line:#262626;--line-soft:#1b1b1c;--ink:#f3f3f1;--muted:#9b9ea2;--faint:#6b6d70;--font-cn:"HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;background:var(--bg)}body{background:linear-gradient(#ffffff06 1px, transparent 1px), linear-gradient(90deg, #ffffff06 1px, transparent 1px), var(--bg);min-width:320px;color:var(--ink);font-family:var(--font-cn);-webkit-font-smoothing:antialiased;background-size:72px 72px;margin:0;overflow-x:hidden}body::selection{color:#0a0a0a;background:#f2f2f0}::selection{color:#0a0a0a;background:#f2f2f0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img,svg,video{max-width:100%;display:block}h1,h2,h3,h4,p,ul,figure{margin:0}ul{padding:0;list-style:none}.shell{width:min(1700px,100%);margin-inline:auto;padding-inline:56px}.site-nav{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#06060661;border-bottom:1px solid #ffffff1f;transition:background .35s,border-color .35s;position:fixed;inset:0 0 auto}.site-nav.is-scrolled{background:#070707db;border-bottom-color:#ffffff26}.nav-shell{justify-content:space-between;align-items:center;gap:32px;min-height:78px;display:flex}.brand{align-items:center;gap:14px;display:inline-flex}.brand-avatar{object-fit:cover;border:1px solid #ffffffb3;border-radius:4px;width:46px;height:46px}.brand-copy{flex-direction:column;line-height:1.2;display:flex}.brand-copy strong{font-size:1.06rem;font-weight:700}.brand-copy small{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;margin-top:5px;font-size:.6rem}.nav-panel{align-items:center;gap:34px;display:flex}.nav-link{white-space:nowrap;color:#c8c9c7;align-items:center;gap:7px;padding:9px 0;font-size:.96rem;transition:color .25s;display:inline-flex;position:relative}.nav-link span{color:var(--faint);font-family:var(--font-mono);font-size:.62rem}.nav-link:after{content:"";background:var(--ink);transform-origin:100%;height:1px;transition:transform .3s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link.is-active{color:#fff}.nav-link:hover:after,.nav-link.is-active:after{transform-origin:0;transform:scaleX(1)}.nav-contact{white-space:nowrap;background:0 0;border:1px solid #ffffffd9;align-items:center;gap:10px;margin-left:8px;padding:11px 18px;font-size:.94rem;transition:color .25s,background .25s;display:inline-flex}.nav-contact:hover{background:var(--ink);color:#050505}@media (width<=1180px){.nav-shell{gap:18px}.nav-panel{gap:20px}.nav-link{gap:5px;font-size:.88rem}.nav-link span{font-size:.56rem}.nav-contact{margin-left:0;padding:9px 14px;font-size:.86rem}}.menu-toggle{cursor:pointer;background:#0a0a0ab3;border:1px solid #3c3c3c;justify-content:center;align-items:center;width:42px;height:42px;display:none}.hero{isolation:isolate;background:#050505;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-image,.hero-shade,.hero-gridline{position:absolute;inset:0}.hero-image{z-index:-3}.hero-image img,.hero-video{object-fit:cover;filter:saturate(1.1)contrast(1.04)brightness(.86);width:100%;height:100%}.hero-video{transform:scale(1.06)}.hero.is-entered .hero-video{animation:32s ease-in-out infinite alternate heroDrift}@keyframes heroDrift{0%{transform:scale(1.06)translate(0,0)}to{transform:scale(1.16)translate(-1.2%,-1.6%)}}.hero-shade{z-index:-2;background:linear-gradient(90deg,#040404e0 0%,#0404049e 40%,#0404043d 72%,#0404046b 100%),linear-gradient(#03030394 0%,#03030314 32%,#0303039e 100%)}.hero-gridline{z-index:-1;opacity:.32;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-size:100% 20vh,170px 100%;-webkit-mask-image:linear-gradient(90deg,#0000 2%,#000 38%,#0000 72%);mask-image:linear-gradient(90deg,#0000 2%,#000 38%,#0000 72%)}.hero-shell{grid-template-columns:minmax(0,1fr) 280px;align-items:end;gap:56px;min-height:100svh;padding-top:150px;padding-bottom:96px;display:grid}.hero-copy{padding-bottom:12px;position:relative}.hero-kicker{color:#d2d3d0;width:fit-content;font-family:var(--font-mono);text-transform:uppercase;align-items:center;gap:14px;font-size:.72rem;display:flex}.hero-kicker span{background:#fff;width:34px;height:1px}.hero h1{margin:34px 0 36px}.hero-hello,.hero-name,.hero-en{display:block}.hero-hello{color:#d4d4d2;font-family:var(--font-mono);text-transform:uppercase;margin-bottom:4px;font-size:.84rem;font-weight:400}.hero-name{color:#f7f7f4;font-size:10.5rem;font-weight:800;line-height:.98}.hero-name-second{margin-top:8px}.hero-en{font-family:var(--font-mono);color:#0000;-webkit-text-stroke:1px #f7f7f4ad;margin-top:8px;font-size:4.6rem;font-weight:600;line-height:1.05}.hero-intro{color:#d6d7d4;max-width:780px;font-size:1.65rem;font-weight:500;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:42px;display:flex}.button{justify-content:center;align-items:center;gap:14px;min-height:54px;padding:0 26px;font-size:1rem;transition:background .25s,color .25s,border-color .25s;display:inline-flex}.button-light{color:#080808;background:#f1f1ee;border:1px solid #f1f1ee}.button-light:hover{color:#fff;background:0 0}.button-ghost{color:#fff;background:#08080838;border:1px solid #ffffff7a}.button-ghost:hover{color:#080808;background:#fff;border-color:#fff}.hero-meta{border-top:1px solid #ffffff80;flex-direction:column;display:flex}.hero-meta div{border-bottom:1px solid #ffffff80;gap:7px;padding:21px 0;display:grid}.hero-meta span{color:#a5a7a4;font-family:var(--font-mono);font-size:.78rem}.hero-meta strong{color:#ededeb;font-family:var(--font-mono);text-transform:uppercase;font-size:.86rem;font-weight:500;line-height:1.45}.hero-meta strong span{display:block}.hero-copy>*{opacity:0}.hero.is-entered .hero-copy>*{animation:.9s cubic-bezier(.2,.72,.2,1) both riseUp}.hero-meta{opacity:0;transition:opacity .9s .55s,transform .9s cubic-bezier(.2,.72,.2,1) .55s;transform:translateY(18px)}.hero.is-entered .hero-meta{opacity:1;transform:translateY(0)}.hero-copy>:nth-child(2){animation-delay:.12s}.hero-copy>:nth-child(3){animation-delay:.2s}.hero-copy>:nth-child(4){animation-delay:.3s}.hero-copy>:nth-child(5){animation-delay:.4s}@keyframes riseUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.section{border-top:1px solid var(--line-soft);background:#090909f0;padding:150px 0;position:relative}.section+.section{border-top:1px solid #1d1d1e}.section-heading{grid-template-columns:150px minmax(0,1fr) minmax(320px,460px);align-items:end;gap:42px;margin-bottom:82px;display:grid}.heading-index{color:#0000;font-family:var(--font-mono);-webkit-text-stroke:1px #ffffff3d;align-self:center;font-size:8.6rem;font-weight:700;line-height:.86}.heading-title h2{font-size:4.5rem;font-weight:800;line-height:1.02}.eyebrow{color:#888b8d;font-family:var(--font-mono);text-transform:uppercase;margin-bottom:13px;font-size:.7rem}.heading-intro{color:#adafb0;text-align:right;justify-self:end;max-width:460px;font-size:1.02rem;line-height:1.9}.reveal{opacity:0;transition:opacity .75s,transform .75s cubic-bezier(.2,.72,.2,1);transform:translateY(30px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.about{background:#080809}.about-grid{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:76px;display:grid}.profile-visual{position:sticky;top:130px}.profile-frame{background:#0e0e0e;border:1px solid #3a3a3a;position:relative}.profile-caption{color:#8f9193;font-family:var(--font-mono);border-bottom:1px solid #343434;justify-content:space-between;align-items:center;padding:14px 16px;font-size:.62rem;display:flex}.profile-frame img{aspect-ratio:3/4;object-fit:cover;filter:saturate(1.04)contrast(1.02);width:100%;height:auto}.photo-rule{pointer-events:none;position:absolute}.photo-rule-one{background:#fff;width:58px;height:1px;top:54px;right:0}.photo-rule-two{background:#fff;width:1px;height:70px;bottom:25%;right:0}.profile-note{color:#d5d6d4;font-family:var(--font-mono);background:#0b0b0c;border:1px solid #343434;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:18px 20px;font-size:.9rem;display:flex}.profile-note svg{color:#d8d8d5}.about-copy{padding-top:2px}.about-kicker{color:#b6b8b8;font-family:var(--font-mono);border-bottom:1px solid #262626;align-items:center;gap:18px;padding-bottom:18px;font-size:.72rem;display:flex}.about-kicker span{padding-left:26px;position:relative}.about-kicker span:before{content:"";background:#d9d9d5;width:16px;height:1px;position:absolute;top:50%;left:0}.about-lead{max-width:860px;margin-top:38px;font-size:1.95rem;font-weight:650;line-height:1.55}.about-body{color:#a9abad;max-width:870px;margin-top:28px;font-size:1.06rem;line-height:2.05}.advantage-block,.education-block,.contact-block{margin-top:56px}.advantage-block h3,.education-block h3,.contact-block h3{color:#a1a3a5;font-family:var(--font-mono);text-transform:uppercase;margin-bottom:20px;font-size:.68rem;font-weight:500}.advantage-list{border-top:1px solid #252525}.advantage-item{border-bottom:1px solid #252525;gap:6px;padding:18px 0;display:grid}.advantage-item strong{color:#ededeb;font-size:.95rem;font-weight:600}.advantage-item p{color:#a1a3a5;font-size:.86rem;line-height:1.75}.education-list{border-top:1px solid #252525}.education-item{border-bottom:1px solid #252525;grid-template-columns:64px minmax(0,1fr) minmax(190px,260px);align-items:center;gap:22px;padding:26px 0;display:grid}.education-badge{width:56px;height:56px;font-family:var(--font-mono);border:1px solid #5b5c5e;place-items:center;font-size:1.1rem;display:grid}.education-main{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.education-main h4{font-size:1.32rem;font-weight:700}.education-major{color:#9b9d9e;margin-top:8px;font-size:1.04rem;display:block}.education-degree{color:#cbcbc8;font-family:var(--font-mono);border:1px solid #3a3a3b;flex:none;padding:7px 12px;font-size:1.05rem}.education-meta{text-align:right;gap:6px;display:grid}.education-meta span{font-family:var(--font-mono);font-size:.88rem}.education-meta small{color:#7c7e80;font-size:.96rem}.contact-mini-list{flex-wrap:wrap;gap:10px;display:flex}.contact-mini-list a,.contact-mini-list span{color:#d1d2d0;min-height:50px;font-family:var(--font-mono);background:#0b0b0c;border:1px solid #3d3d3d;align-items:center;gap:10px;padding:0 17px;font-size:.94rem;transition:background .25s,color .25s;display:inline-flex}.contact-mini-list a:hover{color:#080808;background:#efefed}.metric-strip{border-top:1px solid #2c2c2d;border-bottom:1px solid #2c2c2d;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:110px;display:grid}.metric-cell{border-left:1px solid #2c2c2d;min-height:220px;padding:32px 34px 34px;position:relative}.metric-cell:first-child{border-left:0}.metric-index{color:#5f6163;font-family:var(--font-mono);font-size:.62rem;position:absolute;top:22px;right:24px}.metric-cell strong{font-family:var(--font-mono);overflow-wrap:anywhere;margin:26px 0 18px;font-size:3.35rem;font-weight:600;line-height:.9;display:block}.metric-cell h4{font-size:1.05rem;font-weight:650}.metric-cell p{color:#858789;margin-top:7px;font-size:.9rem}.projects{background:#0a0a0b}.project-card-wrap{margin-bottom:28px}.project-card-wrap.compact{min-width:0}.project-card{background:#0c0c0d;border:1px solid #2a2a2b}.project-card-primary{grid-template-columns:minmax(0,1.18fr) minmax(450px,.82fr);display:grid}.project-card-compact{grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);min-height:100%;display:grid}.project-card-compact .project-art{border-right:1px solid #262627}.project-card .project-art{background:#060606;border-right:1px solid #29292a;grid-template-rows:auto 1fr auto;min-height:600px;display:grid;overflow:hidden}.project-card .project-art-image{background:#000;display:block;position:relative}.project-art-image img{width:100%;height:100%;position:absolute;inset:0}.project-art-photo{z-index:1;object-fit:contain;object-position:center}.project-card-compact .project-art{min-height:420px}.art-topline,.art-bottomline{z-index:3;color:#8f9193;font-family:var(--font-mono);border-color:#2b2b2c;justify-content:space-between;align-items:center;padding:13px 16px;font-size:.62rem;display:flex;position:relative}.art-topline{border-bottom:1px solid}.art-bottomline{border-top:1px solid}.project-art .art-scanline{z-index:2;pointer-events:none;background:linear-gradient(#0000 0%,#ffffff12 48%,#0000 100%);animation:8s linear infinite scanline;position:absolute;inset:0}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.art-corner{z-index:4;pointer-events:none;width:18px;height:18px;position:absolute}.art-corner-tl{border-top:1px solid #aaa;border-left:1px solid #aaa;top:12px;left:12px}.art-corner-br{border-bottom:1px solid #aaa;border-right:1px solid #aaa;bottom:12px;right:12px}.micro-wrap,.contest-wrap,.toolkit-wrap{background-color:#050505;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:relative;overflow:hidden}.micro-svg{width:100%;height:100%;min-height:470px}.micro-grid line{stroke:#ffffff0e;stroke-width:1px}.micro-field ellipse,.micro-field circle{fill:#ffffff06;stroke:#fff9;stroke-width:1.1px;vector-effect:non-scaling-stroke}.micro-field path{fill:none;stroke:#ffffff38;stroke-width:1px;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.micro-calls line{stroke:#ffffff38;stroke-width:1px;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.micro-calls text{fill:#77797a;font-family:var(--font-mono);font-size:12px}.contest-wrap{min-height:480px}.contest-wrap svg{width:100%;height:100%;min-height:480px}.contest-axis line,.contest-grid line{stroke:#ffffff24;stroke-width:1px;vector-effect:non-scaling-stroke}.contest-axis line{stroke:#ffffff9e}.contest-line path{fill:none;stroke:#eee;stroke-width:2px;vector-effect:non-scaling-stroke}.contest-points circle{fill:#f4f4f1;stroke:#070707;stroke-width:2px}.contest-labels text{fill:#898b8d;font-family:var(--font-mono);font-size:12px}.toolkit-wrap{grid-template-columns:repeat(3,minmax(0,1fr));min-height:480px;display:grid}.toolkit-column{border-right:1px solid #ffffff1f;flex-direction:column;justify-content:center;gap:34px;padding:48px 26px;display:flex;position:relative}.toolkit-column:last-child{border-right:0}.toolkit-kicker{color:#747678;font-family:var(--font-mono);font-size:.6rem;position:absolute;top:24px;left:26px}.sql-block{gap:11px;display:grid}.sql-block i{background:#ffffff59;height:8px;display:block}.sql-block i:first-child{width:88%}.sql-block i:nth-child(2){width:64%;margin-left:13%}.sql-block i:nth-child(3){width:76%}.sql-block i:nth-child(4){width:46%;margin-left:18%}.sql-block i:nth-child(5){width:70%}.chart-block{border-bottom:1px solid #fff6;align-items:flex-end;gap:7px;height:220px;padding-bottom:1px;display:flex}.chart-block span{background:#ffffffb8;flex:1;min-width:5px;transition:transform .3s}.chart-block span:nth-child(2n){background:#ffffff38}.toolkit-column:hover .chart-block span{transform:scaleX(1.08)}.dash-block{gap:16px;display:grid}.dash-row{background:#ffffff2e;height:8px;display:block;position:relative}.dash-row:after{content:"";width:var(--width,72%);background:#ececea;position:absolute;top:0;bottom:0;left:0}.dash-row:first-child:after{--width:92%}.dash-row:nth-child(2):after{--width:58%}.dash-row:nth-child(3):after{--width:78%}.project-body{background:#0d0d0e;flex-direction:column;min-width:0;padding:48px 52px;display:flex}.project-meta{color:#7e8082;font-family:var(--font-mono);border-bottom:1px solid #29292a;justify-content:space-between;align-items:center;padding-bottom:20px;font-size:.66rem;display:flex}.project-meta span:first-child{color:#c1c2c0}.project-title-row{justify-content:space-between;align-items:flex-start;gap:20px;margin-top:30px;display:flex}.project-title-row h3{max-width:560px;font-size:3.1rem;font-weight:800;line-height:1.13}.project-title-row svg{color:#989a9b;flex:none;margin-top:8px}.project-intro{color:#b1b3b4;margin-top:22px;font-size:1.02rem;line-height:1.9}.project-points{gap:13px;margin-top:28px;display:grid}.project-points li{color:#a7a9aa;padding-left:22px;font-size:.96rem;line-height:1.75;position:relative}.project-points li:before{content:"";background:#b9bab8;width:8px;height:1px;position:absolute;top:.74em;left:0}.project-footer{border-top:1px solid #29292a;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:auto;padding-top:30px;display:flex}.project-tags{flex-wrap:wrap;gap:7px;display:flex}.project-tags span{color:#c4c5c2;font-family:var(--font-mono);border:1px solid #3a3a3b;padding:7px 10px;font-size:.62rem}.project-role{text-align:right;flex:none;gap:5px;display:grid}.project-role small{color:#686a6c;font-family:var(--font-mono);font-size:.58rem}.project-role strong{font-size:.9rem}.project-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px;display:grid}.project-grid-secondary .project-card-wrap{margin-bottom:0}.project-card-compact .project-body{padding:36px 38px}.project-card-compact .project-title-row h3{font-size:2.15rem}.project-card-compact .project-points{margin-top:20px}.project-card-compact .project-points li{font-size:.9rem}.strengths{background:#09090a}.strength-grid{border-left:1px solid #2a2a2b;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.strength-card-wrap{min-width:0}.strength-card{background:#0b0b0c;border-bottom:1px solid #2a2a2b;border-right:1px solid #2a2a2b;flex-direction:column;min-height:470px;padding:38px 34px 34px;transition:color .3s,background .3s;display:flex}.strength-card:hover{color:#0a0a0a;background:#ececea}.strength-top{color:#d4d4d1;font-family:var(--font-mono);border-bottom:1px solid #ffffff38;justify-content:space-between;align-items:center;padding-bottom:22px;font-size:.64rem;display:flex}.strength-card:hover .strength-top{border-bottom-color:#00000040}.strength-top i{color:#686a6b;font-style:normal}.strength-card h3{margin-top:52px;font-size:1.9rem;font-weight:800}.strength-card>p{color:#9fa1a2;margin-top:18px;font-size:.95rem;line-height:1.85}.strength-card:hover>p{color:#4d4f50}.strength-tags{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:34px;display:flex}.strength-tags span{color:#c7c8c5;font-family:var(--font-mono);border:1px solid #3b3b3c;padding:6px 9px;font-size:.6rem}.strength-card:hover .strength-tags span{color:#111;border-color:#0006}.notes{background:#070708}.notes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.note-card-wrap{min-width:0}.note-card{background:#0b0b0c;border:1px solid #2a2a2b;flex-direction:column;height:100%;min-height:500px;padding:32px 30px 28px;transition:border-color .3s,background .3s,transform .3s;display:flex}.note-card:hover{background:#101011;border-color:#4c4c4d;transform:translateY(-4px)}.note-top{color:#d4d4d1;font-family:var(--font-mono);border-bottom:1px solid #252525;justify-content:space-between;align-items:center;gap:12px;padding-bottom:18px;font-size:.64rem;display:flex}.note-top i{color:#686a6b;font-style:normal}.note-card h3{color:#ededeb;margin-top:30px;font-size:1.55rem;font-weight:800}.note-summary{color:#9fa1a2;margin-top:14px;font-size:.92rem;line-height:1.85}.note-points{border-top:1px solid #252525;gap:13px;margin-top:26px;padding-top:24px;display:grid}.note-points li{color:#a7a9aa;grid-template-columns:22px minmax(0,1fr);gap:6px;font-size:.88rem;line-height:1.75;display:grid}.note-points li i{color:#686a6b;font-family:var(--font-mono);padding-top:4px;font-size:.64rem;font-style:normal}.note-card:hover .note-points li i{color:#9b9c9a}.note-links{border-top:1px solid #252525;flex-wrap:wrap;gap:10px 22px;margin-top:auto;padding-top:24px;display:flex}.note-links a{color:#d8d8d5;font-family:var(--font-mono);align-items:center;gap:6px;font-size:.7rem;transition:color .25s;display:inline-flex}.note-links a:hover{color:#fff;text-decoration:underline}.note-card{cursor:pointer}.note-card:focus-visible{outline-offset:3px;outline:2px solid #ededeb}.note-cta{color:#d8d8d5;font-family:var(--font-mono);border:1px solid #3b3b3c;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding:14px 16px;font-size:.72rem;transition:background .28s,border-color .28s,color .28s;display:flex}.note-card:hover .note-cta{color:#0a0a0a;background:#ededeb;border-color:#ededeb}.note-modal{z-index:200;justify-content:center;align-items:center;padding:40px 24px;display:flex;position:fixed;inset:0}.note-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#040404d6;border:0;padding:0;animation:.25s note-fade;position:absolute;inset:0}.note-modal-panel{background:#0b0b0c;border:1px solid #3a3a3b;flex-direction:column;width:min(1020px,100%);max-height:min(88vh,960px);animation:.32s cubic-bezier(.2,.72,.2,1) note-rise;display:flex;position:relative;box-shadow:0 40px 120px #0000009e}@keyframes note-fade{0%{opacity:0}to{opacity:1}}@keyframes note-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.note-modal-head{background:#0e0e0f;border-bottom:1px solid #2a2a2b;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:24px;padding:24px 32px 20px;display:flex}.note-modal-title span{color:#7d7f80;font-family:var(--font-mono);letter-spacing:.1em;font-size:.66rem}.note-modal-title h2{color:#f2f2f0;margin:8px 0 0;font-size:1.85rem;font-weight:800}.note-modal-tools{flex-shrink:0;align-items:center;gap:18px;display:flex}.note-modal-tools a{color:#b9bbbc;font-family:var(--font-mono);align-items:center;gap:6px;font-size:.7rem;display:inline-flex}.note-modal-tools a:hover{color:#fff;text-decoration:underline}.note-modal-close{color:#ededeb;cursor:pointer;background:0 0;border:1px solid #3b3b3c;place-items:center;width:40px;height:40px;padding:0;transition:background .25s,color .25s;display:grid}.note-modal-close:hover{color:#0a0a0a;background:#ededeb}.note-modal-body{scrollbar-width:thin;scrollbar-color:#3b3b3c transparent;padding:34px 40px 64px;overflow-y:auto}.note-modal-body::-webkit-scrollbar{width:8px}.note-modal-body::-webkit-scrollbar-thumb{background:#3b3b3c;border:2px solid #0b0b0c;border-radius:8px}.md{color:#c9cbcc;font-size:.95rem;line-height:1.9}.md>*+*{margin-top:18px}.md h2,.md h3,.md h4{color:#f2f2f0;font-weight:800;line-height:1.45}.md h2{margin-top:42px;font-size:1.55rem}.md h3{border-bottom:1px solid #262627;margin-top:46px;padding-bottom:12px;font-size:1.32rem}.md h4{color:#ededeb;border-left:2px solid #ededeb;margin-top:34px;padding-left:12px;font-size:1.05rem;font-weight:700}.md p{margin:0}.md a{color:#ededeb;text-underline-offset:3px;word-break:break-all;text-decoration:underline}.md a:hover{color:#fff}.md strong{color:#f4f4f2;font-weight:700}.md em{color:#9fa1a2}.md mark{color:#0a0a0a;background:#ededeb;padding:1px 5px}.md hr{border:0;border-top:1px solid #262627}.md ul,.md ol{padding-left:22px}.md ul{list-style:outside}.md ol{list-style:decimal}.md li+li{margin-top:8px}.md blockquote{color:#9b9ea2;border-left:2px solid #3b3b3c;padding-left:16px}.md code{color:#e8e8e5;font-family:var(--font-mono);word-break:break-word;background:#131314;border:1px solid #2e2e2f;padding:2px 6px;font-size:.85em}.md pre{background:#0f0f10;border:1px solid #2a2a2b;margin:0;padding:20px 22px;overflow-x:auto}.md pre code{color:#d6d8d4;white-space:pre;word-break:normal;background:0 0;border:0;padding:0;font-size:.84rem;line-height:1.75}.md-table-wrap{overflow-x:auto}.md table{border-collapse:collapse;width:100%;font-size:.86rem}.md th,.md td{text-align:left;vertical-align:top;border:1px solid #2a2a2b;padding:10px 12px}.md th{color:#ededeb;white-space:nowrap;background:#131314;font-weight:700}.md td{color:#b6b8b9}.md img{background:#fff;border:1px solid #2a2a2b;max-width:min(620px,100%);padding:6px}.contact{background:#050505;min-height:100svh;padding-top:130px;display:flex;position:relative;overflow:hidden}.contact-ghost{z-index:0;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.contact-ghost span{color:#0000;font-family:var(--font-mono);white-space:nowrap;-webkit-text-stroke:1px #ffffff0d;font-size:15.5rem;font-weight:800}.contact-shell{z-index:2;flex-direction:column;min-height:calc(100svh - 130px);padding-bottom:36px;display:flex;position:relative}.contact .section-heading{align-items:start;margin-bottom:72px}.contact-channel-list{border-top:1px solid #373738;border-bottom:1px solid #373738;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.contact-channel{background:#0a0a0a9e;border-left:1px solid #373738;flex-direction:column;justify-content:space-between;min-height:330px;padding:36px 38px;transition:background .3s,color .3s;display:flex}.contact-channel:first-child{border-left:0}.contact-channel:hover{color:#090909;background:#ececea}.contact-channel-button{width:100%;color:inherit;text-align:left;cursor:pointer;border-top:0;border-bottom:0;border-right:0}.channel-top{justify-content:space-between;align-items:center;display:flex}.channel-icon{border:1px solid #58595a;place-items:center;width:52px;height:52px;display:grid}.contact-channel:hover .channel-icon{border-color:#1a1a1a}.channel-arrow{color:#7d7f80;transition:transform .3s}.contact-channel:hover .channel-arrow{color:#111;transform:translate(3px,-3px)}.channel-copy{gap:12px;display:grid}.channel-copy small{color:#929496;font-family:var(--font-mono);text-transform:uppercase;font-size:.64rem}.contact-channel:hover .channel-copy small{color:#464748}.channel-copy strong{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:2rem;font-weight:600;line-height:1.25}.channel-copy>span{color:#77797a;font-size:.82rem}.contact-channel:hover .channel-copy>span{color:#393a3b}.site-footer{border-top:1px solid #222223;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:30px;margin-top:auto;padding-top:32px;display:grid}.site-footer div{flex-direction:column;display:flex}.site-footer strong{font-size:1rem}.site-footer span{color:#7b7d7e;font-family:var(--font-mono);margin-top:5px;font-size:.62rem}.site-footer p{color:#7b7d7e;text-align:center;font-size:.75rem}.site-footer a{color:#d2d3d0;justify-self:end;align-items:center;gap:9px;font-size:.85rem;display:inline-flex}@media (width<=1460px){.shell{padding-inline:44px}.hero-name{font-size:8.6rem}.hero-en{font-size:3.8rem}.project-card-primary{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr)}.project-card-primary .project-body{padding-inline:40px}.project-card-compact{grid-template-columns:1fr}.project-card-compact .project-art{border-bottom:1px solid #262627;border-right:0;min-height:330px}.project-card-compact .project-body{min-height:460px}}@media (width<=1200px){.section{padding:120px 0}.section-heading{grid-template-columns:96px 1fr;margin-bottom:64px}.heading-index{font-size:6.6rem}.heading-intro{text-align:left;grid-column:2;justify-self:start;max-width:680px}.hero-shell{grid-template-columns:minmax(0,1fr) 220px;gap:36px}.hero-meta div{padding:17px 0}.about-grid{grid-template-columns:320px minmax(0,1fr);gap:44px}.project-card-primary{grid-template-columns:1fr}.project-card-primary .project-art{border-bottom:1px solid #29292a;border-right:0;min-height:520px}.project-card-primary .project-body{min-height:560px}.strength-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strength-card{min-height:390px}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-grid .note-card-wrap:last-child{grid-column:1/-1}.note-card{min-height:430px}.note-modal-head{padding:22px 24px 18px}.note-modal-body{padding:28px 24px 56px}}@media (width<=1024px){.shell{padding-inline:32px}.hero-shell{align-self:center;padding-top:150px;padding-bottom:90px;display:block}.hero-name{font-size:6.8rem}.hero-en{font-size:3rem}.hero-meta{display:none}.about-grid{grid-template-columns:1fr}.profile-visual{max-width:440px;position:static}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-cell:nth-child(3){border-top:1px solid #2c2c2d;border-left:0}.metric-cell:nth-child(4){border-top:1px solid #2c2c2d}.project-grid-secondary{grid-template-columns:1fr}.project-grid-secondary .project-card-compact{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)}}@media (width<=820px){.nav-panel{background:#080808f5;border:1px solid #3a3a3b;flex-direction:column;align-items:stretch;gap:0;width:min(340px,100vw - 32px);padding:12px;display:none;position:fixed;top:90px;right:16px;box-shadow:0 20px 80px #0006}.nav-panel.is-open{display:flex}.nav-link{border-bottom:1px solid #222223;justify-content:space-between;padding:16px 10px}.nav-link:after{display:none}.nav-contact{justify-content:center;margin:14px 10px 6px}.menu-toggle{display:flex}.hero-name{font-size:5.5rem}.hero-en{font-size:2.5rem}.hero-intro{font-size:1.3rem}.section-heading{grid-template-columns:1fr;gap:18px}.heading-index{font-size:4.8rem}.heading-intro{grid-column:1}.about-lead{font-size:1.65rem}.education-item{grid-template-columns:1fr;gap:14px}.education-meta{text-align:left}.notes-grid{grid-template-columns:1fr}.notes-grid .note-card-wrap:last-child{grid-column:auto}.note-card{min-height:0}.note-modal{padding:0}.note-modal-panel{border:0;width:100%;height:100%;max-height:none}.note-modal-head{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 20px 16px}.note-modal-title h2{font-size:1.45rem}.note-modal-tools{justify-content:space-between;width:100%}.note-modal-body{padding:22px 20px 56px}.contact-channel-list{grid-template-columns:1fr}.contact-channel{border-bottom:1px solid #373738;border-left:0;min-height:240px}.contact-channel:last-child{border-bottom:0}.site-footer{text-align:left;grid-template-columns:1fr}.site-footer p{text-align:left}.site-footer a{justify-self:start}}@media (width<=640px){.shell{padding-inline:20px}.hero-shell{padding-top:130px}.hero-name{font-size:4.3rem}.hero-en{font-size:1.9rem}.hero-kicker{font-size:.6rem}.section{padding:90px 0}.heading-title h2{font-size:3rem}.project-card-primary .project-art{min-height:360px}.project-card-compact .project-art{min-height:280px}.project-card-primary .project-body{min-height:auto;padding:34px 26px}.project-title-row h3{font-size:2.2rem}.project-footer{flex-direction:column;align-items:flex-start}.project-role{text-align:left}.project-grid-secondary .project-card-compact,.metric-strip{grid-template-columns:1fr}.metric-cell,.metric-cell:nth-child(3),.metric-cell:nth-child(4){border-top:1px solid #2c2c2d;border-left:0}.metric-cell:first-child{border-top:0}.strength-grid{grid-template-columns:1fr}.strength-card{min-height:330px}.note-card{padding:26px 20px 24px}.note-card h3{font-size:1.35rem}.md{font-size:.9rem}.md h3{font-size:1.2rem}.contact{padding-top:90px}.contact-ghost span{font-size:6.8rem}.contact-shell{min-height:calc(100svh - 90px)}.contact .section-heading{margin-bottom:48px}.channel-copy strong{font-size:1.55rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.intro-gate{z-index:260;background:#04050a;justify-content:center;align-items:center;transition:opacity .85s .55s;display:flex;position:fixed;inset:0;overflow:hidden}.intro-gate.is-leaving{opacity:0;pointer-events:none}.intro-video{object-fit:cover;filter:saturate(1.08)contrast(1.05)brightness(.8);width:100%;height:100%;transition:transform 1.45s cubic-bezier(.65,0,.35,1),filter 1.45s;animation:26s ease-in-out infinite alternate introDrift;position:absolute;inset:0;transform:scale(1.06)}@keyframes introDrift{0%{transform:scale(1.06)translate(0,0)}to{transform:scale(1.16)translate(1.4%,-1.2%)}}.intro-gate.is-leaving .intro-video{filter:saturate(1.25)contrast(1.02)brightness(2.1)blur(14px);animation:none;transform:scale(1.72)translate(0,0)}.intro-veil{background:radial-gradient(at 50% 42%,#04060e00 0%,#03040a80 56%,#020308e0 100%),linear-gradient(#020308bd 0%,#02030842 34%,#02030852 66%,#020308db 100%);transition:opacity .8s;position:absolute;inset:0}.intro-gate.is-leaving .intro-veil{opacity:0}.intro-scan{pointer-events:none;opacity:.45;mix-blend-mode:overlay;background-image:repeating-linear-gradient(#ffffff0d 0 1px,#0000 1px 4px);animation:9s linear infinite scanDrift;position:absolute;inset:-20%}@keyframes scanDrift{0%{transform:translate(0,0)}to{transform:translateY(4%)}}.intro-bar{z-index:4;background:#000;height:0;transition:height .75s cubic-bezier(.7,0,.3,1);position:absolute;left:0;right:0}.intro-bar-top{top:0}.intro-bar-bottom{bottom:0}.intro-gate.is-leaving .intro-bar{height:13vh}.intro-content{z-index:3;text-align:center;color:#fff;max-width:920px;padding:0 24px;transition:opacity .5s,transform .95s cubic-bezier(.65,0,.35,1),filter .95s;position:relative}.intro-gate.is-leaving .intro-content{opacity:0;filter:blur(10px);transform:scale(1.12)}.intro-kicker{letter-spacing:.42em;text-transform:uppercase;color:#ffffffb8;justify-content:center;align-items:center;gap:14px;font-size:12px;animation:.9s cubic-bezier(.2,.72,.2,1) .25s both riseUp;display:flex}.intro-kicker span{background:#fff6;width:44px;height:1px}.intro-title{flex-direction:column;gap:10px;margin:26px 0 0;display:flex}.intro-title-line{letter-spacing:.34em;color:#ffffffd1;font-size:clamp(22px,3vw,38px);font-weight:300;animation:.9s cubic-bezier(.2,.72,.2,1) .42s both riseUp}.intro-title-main{letter-spacing:.14em;background:linear-gradient(#fff 22%,#ffffff85);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(54px,9vw,128px);font-weight:700;line-height:1.08;animation:1s cubic-bezier(.2,.72,.2,1) .58s both riseUp}.intro-tagline{color:#ffffffa8;max-width:560px;margin:24px auto 0;font-size:15px;line-height:1.95;animation:.9s cubic-bezier(.2,.72,.2,1) .78s both riseUp}.intro-enter{color:#fff;letter-spacing:.18em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f;border:1px solid #ffffff80;border-radius:999px;align-items:center;gap:12px;margin-top:42px;padding:16px 36px;font-size:15px;transition:background .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s;animation:.9s cubic-bezier(.2,.72,.2,1) .98s both riseUp,2.8s ease-in-out 2.2s infinite enterPulse;display:inline-flex}.intro-enter:hover{color:#0a0a0a;background:#fff;transform:translateY(-2px);box-shadow:0 18px 44px #ffffff2e}.intro-enter svg{transition:transform .3s}.intro-enter:hover svg{transform:translate(4px)}@keyframes enterPulse{0%,to{box-shadow:0 0 #ffffff38}50%{box-shadow:0 0 0 14px #fff0}}.intro-skip{z-index:5;color:#ffffff8c;letter-spacing:.3em;cursor:pointer;background:0 0;border:none;padding:8px 10px;font-size:12px;transition:color .3s;position:absolute;top:26px;right:30px}.intro-skip:hover{color:#fff}@media (width<=820px){.intro-kicker{letter-spacing:.28em}.intro-kicker span{width:26px}.intro-title-main{letter-spacing:.1em}.intro-enter{margin-top:34px;padding:14px 30px}.intro-skip{top:18px;right:18px}}.scroll-progress{z-index:240;pointer-events:none;mix-blend-mode:difference;height:2px;position:fixed;top:0;left:0;right:0}.scroll-progress span{transform-origin:0;background:#fff;height:100%;display:block;transform:scaleX(0)}.marquee-band{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);color:#fff9;background:#060607;padding:20px 0;overflow:hidden}.marquee-track{width:max-content;animation:34s linear infinite marquee;display:flex}.marquee-band:hover .marquee-track{animation-play-state:paused}.marquee-group,.marquee-group span{align-items:center;display:flex}.marquee-group i{letter-spacing:.34em;text-transform:uppercase;white-space:nowrap;padding:0 26px;font-size:14px;font-style:normal}.marquee-group em{opacity:.55;background:currentColor;border-radius:50%;width:5px;height:5px}@keyframes marquee{to{transform:translate(-50%)}}.section-heading h2 .mask{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.mask-line{transition:transform 1s cubic-bezier(.2,.7,.2,1) 60ms;display:block;transform:translateY(115%)}.reveal.is-visible .mask-line{transform:translateY(0)}.skill-field{background:radial-gradient(circle at 16% 18%,#7ea4ff2e,#0000 44%),radial-gradient(circle at 84% 78%,#ffb27a21,#0000 46%),radial-gradient(circle,#ffffff80 1px,#0000 1.5px) 0 0/128px 128px,radial-gradient(circle,#ffffff47 1px,#0000 1.5px) 64px 64px/128px 128px,radial-gradient(circle,#ffffffa6 1.4px,#0000 2px) 32px 96px/312px 312px,#06060a;border:1px solid #ffffff17;border-radius:10px;min-height:700px;position:relative;overflow:hidden}.field-coord{color:#ffffff4d;font-family:var(--font-mono);letter-spacing:.2em;font-size:.66rem;font-style:normal;position:absolute}.field-coord-1{top:22px;left:26px}.field-coord-2{top:22px;right:26px}.field-coord-3{bottom:22px;right:26px}.field-orb{background:radial-gradient(circle,#96baff3d,#96baff0f 45%,#0000 68%);border-radius:50%;width:380px;height:380px;animation:11s ease-in-out infinite orbPulse;position:absolute;bottom:-150px;left:-120px}.skill-node{animation:9s ease-in-out infinite nodeBob;position:absolute}.skill-node:hover,.skill-node:focus-within{z-index:6}.skill-node-1{width:30%;animation-duration:8.5s;top:5%;left:2%}.skill-node-2{width:28%;animation-duration:10.5s;animation-delay:-1.6s;top:16%;left:35.5%}.skill-node-3{width:31%;animation-duration:9.5s;animation-delay:-3.2s;top:3%;left:66%}.skill-node-4{width:28%;animation-duration:11s;animation-delay:-4.4s;top:50%;left:3.5%}.skill-node-5{width:30%;animation-duration:9s;animation-delay:-2.4s;top:58%;left:35%}.skill-node-6{width:29%;animation-duration:10s;animation-delay:-5.6s;top:47%;left:66.5%}.skill-card{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:linear-gradient(155deg,#14141bdb,#08080bcc);border:1px solid #ffffff26;border-radius:10px;flex-direction:column;height:100%;padding:24px 24px 22px;transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .5s,background .4s;display:flex;box-shadow:0 22px 54px #00000073}.skill-node:hover .skill-card,.skill-node:focus-within .skill-card{background:linear-gradient(155deg,#1b1c26f0,#0a0a0ee6);border-color:#ffffff6b;transform:scale(1.12);box-shadow:0 34px 84px #0000009e,0 0 54px #7ea4ff33}.skill-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.skill-no{color:#0000;font-family:var(--font-mono);-webkit-text-stroke:1px #ffffff52;font-size:2.5rem;font-weight:700;line-height:1;transition:color .4s,-webkit-text-stroke-color .4s}.skill-node:hover .skill-no,.skill-node:focus-within .skill-no{color:#fffffff0;-webkit-text-stroke-color:transparent}.skill-head i{color:#ffffff57;font-family:var(--font-mono);letter-spacing:.18em;font-size:.68rem;font-style:normal}.skill-card h3{margin-top:16px;font-size:1.24rem;font-weight:700}.skill-card .strength-tags{margin-top:18px;padding-top:0}.skill-card .strength-tags span{color:#c3c5c8;border-color:#ffffff2e;padding:5px 9px;font-size:.62rem}.skill-node:hover .strength-tags span,.skill-node:focus-within .strength-tags span{color:#edeff1;border-color:#ffffff5c}.skill-card>p{opacity:0;color:#a6a8ab;max-height:0;margin-top:0;font-size:.88rem;line-height:1.85;transition:max-height .55s cubic-bezier(.2,.7,.2,1),opacity .4s,margin-top .55s;overflow:hidden}.skill-node:hover .skill-card>p,.skill-node:focus-within .skill-card>p{opacity:1;max-height:220px;margin-top:16px}@keyframes nodeBob{0%,to{transform:translate(0,0)}50%{transform:translateY(-16px)}}@keyframes orbPulse{0%,to{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.09)}}.notes-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.note-tile-wrap-1{height:420px}.note-tile-wrap-2{grid-column:span 2;height:420px}.note-tile-wrap-3{grid-column:1/-1;height:420px}.note-tile-wrap-3 .note-cover{object-position:50% 65%}.note-tile{cursor:pointer;background:#0b0b0f;border:1px solid #ffffff1c;border-radius:10px;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .5s;display:block;position:relative;overflow:hidden}.note-tile:hover{border-color:#ffffff57;transform:translateY(-6px);box-shadow:0 30px 70px #0000008c}.note-tile:focus-visible{outline-offset:3px;outline:2px solid #fffc}.note-cover{object-fit:cover;filter:saturate(.9)brightness(.88);width:100%;height:100%;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s;position:absolute;inset:0}.note-tile:hover .note-cover{filter:saturate(1.05)brightness();transform:scale(1.06)}.note-pill{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f1f1ef;font-family:var(--font-mono);letter-spacing:.05em;background:#0606099e;border:1px solid #ffffff2e;border-radius:999px;align-items:center;padding:10px 18px;font-size:.9rem;display:inline-flex;position:absolute;top:18px;left:18px}.note-tile-foot{color:#c9cbcd;font-family:var(--font-mono);letter-spacing:.08em;opacity:0;background:linear-gradient(#0000,#040406e0 58%);justify-content:space-between;align-items:center;gap:16px;padding:20px;font-size:.72rem;transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.2,1);display:flex;position:absolute;inset:auto 0 0;transform:translateY(14px)}.note-tile:hover .note-tile-foot,.note-tile:focus-visible .note-tile-foot{opacity:1;transform:translateY(0)}.note-tile-cta{color:#fff;align-items:center;gap:6px;display:inline-flex}@media (width<=1024px){.skill-field{min-height:860px}.skill-node{animation:none}.skill-node-1{width:47%;top:1%;left:2%}.skill-node-2{width:47%;top:1%;left:51%}.skill-node-3{width:47%;top:33%;left:2%}.skill-node-4{width:47%;top:33%;left:51%}.skill-node-5{width:47%;top:65%;left:2%}.skill-node-6{width:47%;top:65%;left:51%}.skill-node:hover .skill-card,.skill-node:focus-within .skill-card{transform:scale(1.04)}.notes-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.note-tile-wrap-1{grid-column:1/-1;height:420px}.note-tile-wrap-1 .note-cover{object-position:50% 62%}.note-tile-wrap-2,.note-tile-wrap-3{grid-column:span 1;height:300px}}@media (width<=820px){.skill-field{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0;padding:20px;display:grid}.field-coord,.field-orb{display:none}.skill-node{width:auto;animation:none;position:static;top:auto;left:auto}.skill-node:hover .skill-card,.skill-node:focus-within .skill-card{transform:none}.skill-card>p{opacity:1;max-height:none;margin-top:14px}.notes-tiles{grid-template-columns:minmax(0,1fr);gap:14px}.note-tile-wrap-1,.note-tile-wrap-2,.note-tile-wrap-3{grid-column:auto;height:260px}.note-tile-wrap-1{height:300px}.note-tile-wrap-1 .note-cover{object-position:50% 62%}.note-tile-foot{opacity:1;transform:translateY(0)}}@media (width<=640px){.skill-field{grid-template-columns:minmax(0,1fr);padding:16px}.note-tile-wrap-1,.note-tile-wrap-2,.note-tile-wrap-3{height:220px}.note-tile-wrap-1{height:260px}}@media (prefers-reduced-motion:reduce){.skill-node,.field-orb{animation:none}.skill-card,.skill-card>p,.note-cover,.note-tile,.note-tile-foot{transition-duration:.01ms}}.comments-board{border:1px solid var(--line-soft);background:#ffffff06;border-radius:18px;padding:28px;position:relative}.comments-composer{gap:16px;display:flex}.comment-avatar{font-family:var(--font-mono);-webkit-user-select:none;user-select:none;border:1px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.composer-body{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.composer-nick{border:1px solid var(--line-soft);width:min(280px,100%);color:var(--ink);font-family:var(--font-mono);background:#ffffff0a;border-radius:10px;outline:none;padding:9px 14px;font-size:.82rem;transition:border-color .25s,background .25s}.composer-nick:focus,.composer-input:focus,.reply-composer textarea:focus{background:#ffffff0f;border-color:#ffffff59}.composer-input,.reply-composer textarea{resize:vertical;border:1px solid var(--line-soft);width:100%;min-height:84px;color:var(--ink);font-family:var(--font-cn);background:#ffffff0a;border-radius:12px;outline:none;padding:12px 14px;font-size:.95rem;line-height:1.7;transition:border-color .25s,background .25s}.reply-composer textarea{min-height:64px;font-size:.9rem}.composer-foot{justify-content:space-between;align-items:center;gap:14px;display:flex}.composer-count{font-family:var(--font-mono);color:var(--faint);letter-spacing:.08em;font-size:.72rem}.composer-submit{color:var(--ink);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:.8rem;transition:background .25s,transform .25s,border-color .25s;display:inline-flex}.composer-submit:hover:not(:disabled){background:#ffffff29;transform:translateY(-1px)}.composer-submit:disabled{opacity:.4;cursor:not-allowed}.comments-meta{border-top:1px dashed var(--line-soft);justify-content:space-between;align-items:center;gap:14px;margin:26px 0 18px;padding-top:22px;display:flex}.comments-count{font-family:var(--font-mono);color:var(--muted);letter-spacing:.08em;align-items:center;gap:8px;font-size:.8rem;display:inline-flex}.comments-admin{cursor:pointer;color:var(--faint);font-family:var(--font-mono);letter-spacing:.1em;background:0 0;border:none;align-items:center;gap:7px;padding:6px 4px;font-size:.72rem;transition:color .25s;display:inline-flex}.comments-admin:hover{color:var(--ink)}.comments-state{color:var(--faint);font-family:var(--font-mono);letter-spacing:.06em;padding:18px 4px;font-size:.82rem}.comments-state button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font-family:var(--font-mono);background:0 0;border-radius:8px;margin-left:12px;padding:4px 10px;font-size:.72rem}.comments-state-error{color:#fca5a5}.comments-list{flex-direction:column;gap:26px;margin:0;padding:0;list-style:none;display:flex}.comment-item{gap:14px;display:flex}.comment-main{flex:1;min-width:0}.comment-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.comment-nick{color:var(--ink);font-size:.95rem;font-weight:600}.comment-floor{font-family:var(--font-mono);color:var(--faint);letter-spacing:.1em;font-size:.7rem}.comment-time{font-family:var(--font-mono);color:var(--faint);letter-spacing:.06em;font-size:.7rem}.comment-content{color:#d6d7d5;white-space:pre-wrap;word-break:break-word;margin:8px 0 0;font-size:.95rem;line-height:1.8}.comment-actions{gap:14px;margin-top:10px;display:flex}.comment-actions button{cursor:pointer;color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;background:0 0;border:none;align-items:center;gap:6px;padding:4px 2px;font-size:.72rem;transition:color .2s;display:inline-flex}.comment-actions button:hover{color:var(--ink)}.comment-actions button.is-danger:hover{color:#f87171}.reply-composer{border-left:2px solid var(--line-soft);flex-direction:column;gap:10px;margin-top:14px;padding-left:14px;display:flex}.reply-composer-foot{justify-content:flex-end;gap:10px;display:flex}.reply-composer-foot button{color:var(--ink);cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;background:#ffffff12;border:1px solid #ffffff38;border-radius:999px;padding:7px 16px;font-size:.72rem;transition:background .2s}.reply-composer-foot button:hover:not(:disabled){background:#ffffff24}.reply-composer-foot button:disabled{opacity:.4;cursor:not-allowed}.reply-composer-foot button.is-ghost{color:var(--faint);background:0 0;border-color:#0000}.reply-composer-foot button.is-ghost:hover{color:var(--ink);background:0 0}.reply-list{border-left:2px solid var(--line-soft);flex-direction:column;gap:16px;margin:16px 0 0;padding:0 0 0 16px;list-style:none;display:flex}.reply-item{gap:10px;display:flex}.comments-toast{z-index:80;color:var(--ink);font-family:var(--font-mono);letter-spacing:.06em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0ceb;border:1px solid #fff3;border-radius:999px;padding:10px 22px;font-size:.78rem;animation:.3s toastIn;position:fixed;bottom:34px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (width<=820px){.comments-board{padding:20px}.comments-composer{gap:12px}}@media (width<=640px){.comments-composer{flex-direction:column}.reply-list{padding-left:10px}}@media (prefers-reduced-motion:reduce){.comments-toast{animation:none}}.site-footer-wrap{background:#050505;padding-bottom:36px}.site-footer-wrap .site-footer{border-top:1px solid var(--line-soft);margin-top:0}.comments-admin-form{align-items:center;gap:8px;display:inline-flex}.comments-admin-form input{border:1px solid var(--line-soft);width:150px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.04em;background:#ffffff0d;border-radius:8px;outline:none;padding:6px 10px;font-size:.75rem;transition:border-color .25s,background .25s}.comments-admin-form input:focus{background:#ffffff14;border-color:#ffffff59}.comments-admin-form input::placeholder{color:var(--faint)}.comments-admin-form button{color:var(--ink);cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;background:#ffffff12;border:1px solid #ffffff38;border-radius:999px;padding:6px 14px;font-size:.72rem;transition:background .25s,border-color .25s,color .25s}.comments-admin-form button:hover{background:#ffffff24;border-color:#fff6}.comments-admin-form button:disabled{opacity:.4;cursor:not-allowed}.comments-admin-form button.is-ghost{color:var(--faint);background:0 0;border-color:#0000}.comments-admin-form button.is-ghost:hover{color:var(--ink);background:0 0;border-color:#0000}.comment-actions button.is-danger.is-armed{color:#ff8a7a;background:#ff5a461f;border-color:#ff8a7a73}@media (width<=640px){.comments-admin-form{flex-wrap:wrap;justify-content:flex-end}.comments-admin-form input{width:120px}}.comment-like{color:var(--faint);cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.78rem;transition:color .25s,background .25s,border-color .25s,transform .15s;display:inline-flex;position:relative}.comment-like:hover{color:var(--ink);background:#ffffff0f}.comment-like:active{transform:scale(.92)}.comment-like.is-liked{color:#7fb3ff;background:#7fb3ff1f;border-color:#7fb3ff59}.comments-pager{border-top:1px dashed var(--line-soft);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:30px;padding-top:22px;display:grid}.comments-pager button{border:1px solid var(--line-soft);min-width:34px;height:34px;color:var(--muted);cursor:pointer;font-family:var(--font-mono);background:#ffffff0a;border-radius:10px;padding:0 10px;font-size:.8rem;transition:color .25s,background .25s,border-color .25s}.comments-pager button:hover:not(:disabled){color:var(--ink);background:#ffffff1a;border-color:#ffffff47}.comments-pager button:disabled{opacity:.35;cursor:not-allowed}.comments-pager button.is-current{color:#0b0b0c;background:var(--ink);border-color:var(--ink);font-weight:700}.comments-pager .pager-gap{color:var(--faint);font-family:var(--font-mono);padding:0 2px}@keyframes like-pop{0%{transform:scale(1)}35%{transform:scale(1.45)rotate(-10deg)}60%{transform:scale(.88)rotate(4deg)}to{transform:scale(1)}}.comment-like.is-burst svg{animation:.8s cubic-bezier(.34,1.56,.64,1) like-pop}@keyframes like-float{0%{opacity:0;transform:translateY(6px)scale(.7)}25%{opacity:1}to{opacity:0;transform:translateY(-18px)scale(1.08)}}.comment-like .like-plus{color:#7fb3ff;font-family:var(--font-mono);pointer-events:none;font-size:.7rem;font-weight:700;animation:1.5s ease-out forwards like-float;position:absolute;top:-6px;right:4px}.pager-size{justify-self:start;align-items:center;gap:6px;display:inline-flex}.pager-size-label{color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;margin-right:2px;font-size:.72rem}.pager-size button{border-radius:8px;min-width:30px;height:28px;padding:0 9px;font-size:.72rem}.pager-pages{align-items:center;gap:8px;display:inline-flex}.pager-spacer{display:block}@media (width<=640px){.comments-pager{grid-template-columns:1fr;justify-items:center;row-gap:12px}.pager-size{justify-self:center}.pager-spacer{display:none}}@media (prefers-reduced-motion:reduce){.comment-like.is-burst svg,.comment-like .like-plus{animation:none}.comment-like .like-plus{display:none}}
