@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{color-scheme:light;--ink-rgb: 58, 54, 50;--paper-rgb: 255, 255, 255;--canvas-rgb: 243, 239, 235;--shadow-rgb: 58, 54, 50;--on-accent-rgb: 255, 255, 255;--connect-bg-rgb: 210, 205, 200;--on-media-rgb: 255, 255, 255;--bg-primary: #F3EFEB;--bg-secondary: #EAE5DF;--bg-card: rgba(var(--paper-rgb), .45);--bg-card-hover: rgba(var(--paper-rgb), .65);--bg-glass: rgba(var(--paper-rgb), .55);--bg-glass-heavy: rgba(var(--paper-rgb), .72);--connect-bg: rgb(var(--connect-bg-rgb));--connect-glow-warm-rgb: 241, 226, 227;--connect-glow-cool-rgb: 219, 230, 239;--surface-solid: #F8F6F3;--connect-card-paper: #F3EEE6;--connect-card-ink: #34302C;--connect-card-soft: #655F59;--connect-card-grain: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='180'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='.85'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20values='0%200%200%200%200.2%200%200%200%200%200.18%200%200%200%200%200.16%200%200%200%20.10%200'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url%28%23n%29'/%3E%3C/svg%3E");--connect-card-press: 0 1px 0 rgba(255, 255, 255, .55);--text-primary: #3A3632;--text-secondary: #7A746D;--text-muted: #89827C;--text-small: #706A64;--connect-muted: #655F59;--connect-page-muted: #5B5650;--connect-line: rgba(58, 54, 50, .08);--connect-nav-muted: #716B65;--connect-nav-accent: #997D6A;--text-faint: rgba(var(--ink-rgb), .52);--text-on-accent: rgb(var(--on-accent-rgb));--text-on-media: rgb(var(--on-media-rgb));--note-text: rgba(var(--ink-rgb), .78);--note-heading: rgba(var(--ink-rgb), .9);--note-strong: rgba(var(--ink-rgb), .88);--note-text-strong: rgba(var(--ink-rgb), .82);--note-code: rgba(var(--ink-rgb), .72);--note-em: rgba(var(--ink-rgb), .7);--note-quote: rgba(var(--ink-rgb), .65);--note-quote-bg: rgba(255, 253, 250, .5);--accent-rose: #C4A0A0;--accent-sage: #A0B5A0;--accent-blue: #9BAAB5;--accent-lavender: #ADA4BE;--accent-sand: #C8B8A0;--accent-clay: #BFA490;--accent-clay-strong: #7E6252;--border-light: rgba(58, 54, 50, .06);--border-glass: rgba(255, 255, 255, .5);--border-glass-subtle: rgba(255, 255, 255, .25);--border-accent: rgba(191, 164, 144, .5);--selection: rgba(196, 160, 160, .25);--link-underline: rgba(126, 98, 82, .3);--link-underline-hover: rgba(126, 98, 82, .8);--notice-bg: rgba(191, 164, 144, .08);--error-bg: rgba(126, 98, 82, .06);--scrim: rgba(58, 54, 50, .6);--logo-tile: #fff;--shadow-glass: 0 8px 32px rgba(var(--shadow-rgb), .06);--shadow-glass-hover: 0 16px 48px rgba(var(--shadow-rgb), .1);--shadow-elevated: 0 24px 64px rgba(var(--shadow-rgb), .12);--shadow-card: 0 1px 2px rgba(var(--shadow-rgb), .06), 0 18px 48px rgba(var(--shadow-rgb), .09);--blur-sm: blur(12px);--blur-md: blur(20px);--blur-lg: blur(40px);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 999px;--layout-page-x: clamp(24px, 5vw, 80px);--layout-shell: 1100px;--layout-shell-narrow: 720px;--note-font-size: clamp(17px, .85rem + .55vw, 21px);--note-measure: calc(var(--note-font-size) * 34);--note-toc-width: 160px;--note-toc-gap: 28px;--note-figure-overhang: clamp( 0px, calc((100vw - var(--note-measure)) / 2 - var(--layout-page-x) - 16px), 120px )}@media screen{:root[data-theme=dark]{color-scheme:dark;--ink-rgb: 232, 227, 221;--paper-rgb: 52, 47, 43;--canvas-rgb: 23, 20, 17;--shadow-rgb: 0, 0, 0;--on-accent-rgb: 23, 20, 17;--connect-bg-rgb: 12, 10, 8;--connect-glow-warm: rgba(191, 164, 144, .16);--connect-glow-cool: rgba(155, 170, 181, .12);--bg-primary: #171411;--bg-secondary: #100E0B;--surface-solid: #24201D;--connect-card-paper: #24211E;--connect-card-ink: #E8E3DD;--connect-card-soft: #A8A29C;--connect-card-grain: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='180'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='.85'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20values='0%200%200%200%200.92%200%200%200%200%200.89%200%200%200%200%200.86%200%200%200%20.06%200'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url%28%23n%29'/%3E%3C/svg%3E");--connect-card-press: 0 -1px 0 rgba(0, 0, 0, .45);--text-primary: #E8E3DD;--text-small: #C8C3BD;--text-secondary: #BFB9B3;--text-muted: #A39D97;--connect-muted: #9C9792;--text-faint: #9C9792;--connect-page-muted: var(--connect-muted);--connect-line: var(--border-light);--connect-nav-muted: var(--text-muted);--connect-nav-accent: var(--accent-clay);--note-text: #D5D0CA;--note-heading: #E8E3DD;--note-strong: #E8E3DD;--note-text-strong: #DDD8D2;--note-code: #C8C3BD;--note-em: #BFB9B3;--note-quote: #BFB9B3;--note-quote-bg: rgba(var(--paper-rgb), .5);--accent-clay-strong: #D4B8A1;--border-light: rgba(var(--ink-rgb), .09);--border-glass: rgba(var(--ink-rgb), .1);--border-glass-subtle: rgba(var(--ink-rgb), .07);--selection: rgba(196, 160, 160, .35);--link-underline: rgba(212, 184, 161, .35);--link-underline-hover: rgba(212, 184, 161, .8);--notice-bg: rgba(191, 164, 144, .1);--error-bg: rgba(212, 184, 161, .08);--shadow-glass: 0 8px 32px rgba(var(--shadow-rgb), .25);--shadow-card: 0 1px 2px rgba(var(--shadow-rgb), .4), 0 18px 48px rgba(var(--shadow-rgb), .35);--shadow-glass-hover: 0 16px 48px rgba(var(--shadow-rgb), .35);--shadow-elevated: 0 24px 64px rgba(var(--shadow-rgb), .45)}}@media(prefers-contrast:more){:root{--text-small: #5A544E;--text-secondary: #625C56;--text-muted: #69635D;--text-faint: #69635D;--connect-muted: #5A544E;--connect-card-soft: #5A544E;--connect-page-muted: var(--connect-muted);--connect-nav-muted: var(--connect-muted);--connect-nav-accent: #674F41;--note-em: rgba(var(--ink-rgb), .84);--note-quote: rgba(var(--ink-rgb), .82);--accent-clay: #6F5546;--accent-clay-strong: #6F5546;--on-accent-rgb: 58, 54, 50;--border-light: rgba(var(--ink-rgb), .18);--border-glass: rgba(var(--ink-rgb), .22);--border-glass-subtle: rgba(var(--ink-rgb), .16);--connect-line: var(--border-light)}}@media screen and (prefers-contrast:more){:root[data-theme=dark]{--text-small: #DDD8D2;--text-secondary: #D5D0CA;--text-muted: #C8C3BD;--text-faint: #C8C3BD;--connect-muted: #C8C3BD;--connect-card-soft: #C8C3BD;--note-em: #DDD8D2;--note-quote: #DDD8D2;--accent-clay: #D4B8A1;--accent-clay-strong: #E2CBB7;--on-accent-rgb: 23, 20, 17;--border-light: rgba(var(--ink-rgb), .22);--border-glass: rgba(var(--ink-rgb), .24);--border-glass-subtle: rgba(var(--ink-rgb), .18)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--selection)}a{text-decoration:none;color:inherit}.page-section{padding:140px var(--layout-page-x) 120px;position:relative;overflow:hidden}.section-shell{max-width:var(--layout-shell);margin:0 auto;position:relative;z-index:1}.section-shell-narrow{max-width:var(--layout-shell-narrow);margin:0 auto;position:relative;z-index:1}.notes-shell{max-width:920px}.notes-intro,.notes-list-shell{max-width:var(--layout-shell-narrow);margin-left:auto;margin-right:auto}.notes-view-nav{margin-bottom:var(--sp-notes-view-nav-mb)}.glass-surface-sm{background:var(--bg-card);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--border-glass-subtle);box-shadow:var(--shadow-glass)}.glass-surface-md{background:var(--bg-card);backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--border-glass);box-shadow:var(--shadow-glass)}.glass-surface-dashed{background:var(--bg-card);backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);border:1px dashed var(--border-glass)}.filter-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-bar{display:inline-flex;gap:var(--sp-filter-bar-gap);padding:var(--sp-filter-bar-pad);border-radius:var(--radius-full);white-space:nowrap}.filter-button{font-size:var(--fs-filter-button);font-weight:500;padding:var(--sp-filter-button-pad);border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-small);cursor:pointer;transition:all .3s;flex-shrink:0}.filter-button.compact{padding:var(--sp-filter-button-pad-2)}.filter-button.is-active{background:var(--text-primary);color:var(--bg-primary)}.filter-button:focus-visible,.note-category-card:focus-visible,.note-guide-secondary:focus-visible,.note-guide-all:focus-visible,.note-row:focus-visible,.note-guide-start:focus-visible,.connect-card-link:focus-visible,.connect-card-copy:focus-visible{outline:2px solid var(--accent-clay-strong);outline-offset:3px}.project-tech-chip{font-size:var(--fs-project-tech-chip);font-weight:500;padding:var(--sp-project-tech-chip-pad);border-radius:var(--radius-full);background:rgba(var(--paper-rgb),.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-glass-subtle);color:var(--text-secondary)}.project-link-chip{display:inline-flex;align-items:center;gap:var(--sp-project-link-chip-gap);font-size:var(--fs-project-link-chip);font-weight:500;text-decoration:none;padding:var(--sp-project-link-chip-pad);border-radius:var(--radius-full);border:1px solid var(--border-glass-subtle)}.card-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg)}.card-link:focus-visible{outline:none}.card-link:focus-visible:after{box-shadow:inset 0 0 0 2px var(--accent-clay-strong)}.project-link-chip{position:relative;z-index:1}.project-link-chip.primary{color:var(--text-primary);background:rgba(var(--paper-rgb),.3)}.project-link-chip.secondary{color:var(--text-secondary);background:rgba(var(--paper-rgb),.2)}.note-list{display:flex;flex-direction:column;gap:0}.note-item{padding:var(--sp-note-item-pad);border-top:1px solid var(--border-light);transition:opacity .3s}.note-item:hover{opacity:.8}.note-tag{font-size:var(--fs-note-tag-2);font-weight:500;padding:var(--sp-note-tag-pad-2);border-radius:var(--radius-full);background:var(--bg-card);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--border-glass-subtle);color:var(--text-small);text-transform:lowercase}.note-row{display:flex;align-items:baseline;gap:var(--sp-note-row-gap);padding:var(--sp-note-row-pad);text-decoration:none;color:inherit;border-bottom:1px solid transparent;transition:border-color .3s cubic-bezier(.22,1,.36,1)}.note-row:hover{border-bottom-color:var(--border-light)}.note-row-title{flex-shrink:0;font-size:var(--fs-note-row-title);font-weight:500;color:var(--text-primary);transition:color .3s cubic-bezier(.22,1,.36,1)}.note-row:hover .note-row-title{color:var(--accent-clay)}.note-row-subtitle{min-width:0;font-size:var(--fs-note-row-subtitle);line-height:1.5;color:var(--text-small);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-guide-start{display:inline-flex;align-items:center;gap:var(--sp-note-guide-start-gap);font-size:var(--fs-note-guide-start);font-weight:500;color:var(--accent-clay-strong);text-decoration:none;transition:gap .3s cubic-bezier(.22,1,.36,1)}.note-guide-start:hover{gap:var(--sp-note-guide-start-gap-2)}.note-group-count{font-size:var(--fs-note-group-count);color:var(--text-small);font-variant-numeric:tabular-nums}.note-series-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:var(--sp-note-series-card-gap);padding:var(--sp-note-series-card-pad);border:1px solid var(--border-glass);border-radius:var(--radius-md);background:rgba(var(--paper-rgb),.34);box-shadow:var(--shadow-glass)}.note-series-copy{align-self:center}.note-series-meta{margin-bottom:var(--sp-note-series-meta-mb);color:var(--accent-clay-strong);font-size:var(--fs-note-series-meta);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.note-series-blurb{max-width:430px;color:var(--text-secondary);font-size:var(--fs-note-series-blurb);line-height:1.75}.note-series-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-note-series-actions-gap);margin-top:var(--sp-note-series-actions-mt)}.note-guide-secondary,.note-guide-all{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--text-small);cursor:pointer;font:inherit;font-size:var(--fs-note-guide-secondary);font-weight:500}.note-guide-secondary:hover,.note-guide-all:hover{color:var(--text-primary)}.note-series-pillars{list-style:none;display:flex;flex-direction:column}.note-series-pillars li{display:grid;grid-template-columns:24px 1fr auto;align-items:baseline;gap:var(--sp-note-series-pillars-li-gap);padding:var(--sp-note-series-pillars-li-pad);border-bottom:1px solid var(--border-light)}.note-series-pillars li:last-child{border-bottom:0}.note-series-pillars span,.note-series-pillars small{color:var(--text-small);font-size:var(--fs-note-series-pillars-span);font-variant-numeric:tabular-nums}.note-series-pillars strong{font-size:var(--fs-note-series-pillars-strong);font-weight:500}.note-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-note-category-grid-gap)}.note-category-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:164px;padding:var(--sp-note-category-card-pad);text-align:left;border:1px solid var(--border-light);border-radius:var(--radius-md);background:rgba(var(--paper-rgb),.24);color:inherit;cursor:pointer;transition:transform .3s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s}.note-category-card:hover{transform:translateY(-2px);background:var(--bg-card-hover);box-shadow:var(--shadow-glass)}.note-category-card-topline{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-note-category-card-topline-gap)}.note-category-card-topline strong{font-size:var(--fs-note-category-card-topline-strong);font-weight:600}.note-category-card-count{display:block;margin-top:var(--sp-note-category-card-count-mt);color:var(--accent-clay-strong);font-size:var(--fs-note-category-card-count);font-weight:500}.note-category-card-description{display:block;margin-top:var(--sp-note-category-card-description-mt);color:var(--text-small);font-size:var(--fs-note-category-card-description);line-height:1.65}.note-latest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-note-latest-list-col-gap)}.note-latest-list .note-row{border-bottom-color:var(--border-light)}.note-guide-all{display:inline-flex;align-items:center;gap:var(--sp-note-guide-all-gap);margin-top:var(--sp-note-guide-all-mt);color:var(--accent-clay-strong)}.connect-social-links{display:flex;gap:var(--sp-connect-social-links-gap);margin-top:var(--sp-connect-social-links-mt);flex-wrap:wrap}.connect-social-link{display:inline-flex;align-items:center;gap:var(--sp-connect-social-link-gap);padding:var(--sp-connect-social-link-pad);font-size:var(--fs-connect-social-link);font-weight:500;background:var(--bg-card);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);color:var(--text-primary);border:1px solid var(--connect-line);border-radius:var(--radius-full);transition:all .35s cubic-bezier(.22,1,.36,1)}.connect-social-link:hover{background:var(--bg-card-hover);border-color:var(--border-glass);transform:translateY(-2px);box-shadow:var(--shadow-glass)}.connect-social-link.is-primary{background:var(--text-primary);color:var(--bg-primary);border-color:transparent;box-shadow:0 4px 16px rgba(var(--shadow-rgb),.2)}.connect-social-link.is-primary:hover{background:var(--text-primary);border-color:transparent;box-shadow:0 8px 24px rgba(var(--shadow-rgb),.25)}.connect-glow{position:absolute;pointer-events:none}.connect-glow-warm{top:13%;right:0;width:760px;height:420px;background:radial-gradient(ellipse closest-side,rgba(var(--connect-glow-warm-rgb),.95),rgba(var(--connect-glow-warm-rgb),.8) 34%,rgba(var(--connect-glow-warm-rgb),.46) 62%,rgba(var(--connect-glow-warm-rgb),.16) 84%,rgba(var(--connect-glow-warm-rgb),0));filter:blur(70px)}.connect-glow-cool{bottom:-14%;left:-18%;width:900px;height:520px;background:radial-gradient(ellipse closest-side,rgba(var(--connect-glow-cool-rgb),.42),rgba(var(--connect-glow-cool-rgb),.3),rgba(var(--connect-glow-cool-rgb),.15) 60%,rgba(var(--connect-glow-cool-rgb),.05) 82%,rgba(var(--connect-glow-cool-rgb),0));filter:blur(90px)}.connect-glow-warm[data-layout=tablet]{top:41%;right:auto;left:-130px;width:820px;height:400px}.connect-glow-cool[data-layout=tablet]{left:-380px;width:760px;height:440px}.connect-glow-warm[data-layout=phone]{top:45%;right:-36%;width:520px;height:320px;filter:blur(56px)}.connect-glow-cool[data-layout=phone]{bottom:-16%;left:-62%;width:520px;height:320px;filter:blur(60px)}@media screen{:root[data-theme=dark] .connect-glow-warm{top:10%;right:10%;bottom:auto;left:auto;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,var(--connect-glow-warm) 0%,transparent 60%);filter:blur(80px)}:root[data-theme=dark] .connect-glow-cool{top:auto;right:auto;bottom:15%;left:5%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--connect-glow-cool) 0%,transparent 60%);filter:blur(60px)}}.connect-layout{display:grid;grid-template-columns:minmax(0,1fr) 460px;column-gap:var(--sp-connect-card-gap);align-items:stretch}.connect-layout.is-stacked{grid-template-columns:minmax(0,1fr)}.connect-card-wrap{position:relative;display:flex;flex-direction:column}.connect-layout.is-stacked .connect-card-wrap{width:100%;max-width:460px;margin-top:var(--sp-connect-card-mt)}.connect-card-wrap.is-stretched{flex:1;justify-content:flex-end}.connect-card-wrap.is-stretched .connect-card-stack{flex:1;max-height:307px}.connect-card-stack{position:relative}.connect-card-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-sm);background:var(--accent-clay);box-shadow:0 10px 30px rgba(var(--shadow-rgb),.08);transform:translate(14px,-12px) rotate(3.5deg);transition:transform .6s cubic-bezier(.22,1,.36,1)}.connect-layout.is-stacked .connect-card-back{transform:translate(8px,-8px) rotate(2.5deg)}.connect-card{position:relative;display:flex;flex-direction:column;height:100%;padding:var(--sp-connect-card-pad);border-radius:var(--radius-sm);background:var(--connect-card-grain),var(--connect-card-paper);color:var(--connect-card-ink);box-shadow:var(--shadow-card);transition:transform .6s cubic-bezier(.22,1,.36,1)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.connect-card-stack:hover .connect-card-back{transform:translate(20px,-18px) rotate(5.5deg)}.connect-card-stack:hover .connect-card{transform:translateY(-2px)}}.connect-layout.is-stacked .connect-card{aspect-ratio:85 / 55}.connect-card{font-family:Georgia,Times New Roman,Songti SC,"Noto Serif SC",serif}.connect-card-corners{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;font-size:var(--fs-connect-card-label);line-height:1.65;letter-spacing:.03em;color:var(--connect-card-soft)}.connect-card-corners>:last-child{text-align:right}.connect-card-offset:before{content:"·";margin:0 .5em}.connect-card-clock{white-space:nowrap}.connect-card-centre{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;text-align:center}.connect-card-mark{display:block;margin-bottom:14px}.connect-card-name{margin-right:-.18em;font-size:var(--fs-connect-card-name);font-weight:400;letter-spacing:.18em;text-transform:uppercase;text-shadow:var(--connect-card-press)}.connect-card-role{margin:9px -.32em 0 0;font-size:var(--fs-connect-card-role);letter-spacing:.32em;text-transform:uppercase;color:var(--connect-card-soft)}.connect-card[lang=zh-CN] .connect-card-role{margin-right:-.24em;font-size:calc(var(--fs-connect-card-role) + 2px);letter-spacing:.24em}.connect-card[lang=zh-CN] .connect-card-corners{font-size:calc(var(--fs-connect-card-label) + .5px);letter-spacing:.06em}.connect-card-foot{display:flex;justify-content:center;font-size:var(--fs-connect-card-value);letter-spacing:.005em}.connect-card-email{position:relative;display:inline-flex;align-items:center;min-width:0}.connect-card-link{color:inherit;text-decoration:none;overflow-wrap:anywhere}.connect-card-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(var(--ink-rgb),.28);text-underline-offset:3px}.connect-card-copy-group{position:absolute;top:50%;left:calc(100% + 14px);display:inline-flex;align-items:center;transform:translateY(-50%)}.connect-card-copy{display:inline-flex;align-items:center;padding:4px;margin:-4px;border:0;border-radius:6px;background:none;color:var(--connect-card-soft);cursor:pointer;transition:color .3s}.connect-card-copy:hover{color:var(--connect-card-ink)}.connect-card-copied{position:absolute;left:calc(100% + 12px);white-space:nowrap;font-size:var(--fs-connect-card-label);letter-spacing:.06em;color:var(--connect-card-soft)}.dimension-card{--dimension-caption: var(--text-faint);background:linear-gradient(180deg,#fffdfaf0,#f8f3edf5)}.dimension-base[data-dimension=photography]{background:linear-gradient(180deg,#eee4d8,#e0d2c2)}.dimension-base[data-dimension=literature]{background:linear-gradient(180deg,#f2ece5,#e8dfd4)}.dimension-base[data-dimension=ai]{background:linear-gradient(180deg,#f4efe8,#e9e0d6)}.dimension-base[data-dimension=fullstack]{background:linear-gradient(180deg,#efe7dc,#e2d7c8)}.dimension-base[data-dimension=strength]{background:linear-gradient(180deg,#ece2d6,#ddcfbd)}.dimension-base[data-dimension=hiking]{background:linear-gradient(180deg,#efe7db,#e0d4c4)}.dimension-fab{background:#1c1c1eeb;color:#fff;box-shadow:0 6px 16px #0000002e}.dimension-underlay{opacity:var(--underlay-opacity);mix-blend-mode:multiply}@media screen{:root[data-theme=dark] .dimension-card{--dimension-caption: var(--text-small);background:linear-gradient(180deg,#2c2724f0,#27231ff5)}:root[data-theme=dark] .dimension-base[data-dimension=photography]{background:linear-gradient(180deg,#28241f,#201a13)}:root[data-theme=dark] .dimension-base[data-dimension=literature]{background:linear-gradient(180deg,#292623,#221e19)}:root[data-theme=dark] .dimension-base[data-dimension=ai]{background:linear-gradient(180deg,#2a2724,#221e1a)}:root[data-theme=dark] .dimension-base[data-dimension=fullstack]{background:linear-gradient(180deg,#282520,#201c15)}:root[data-theme=dark] .dimension-base[data-dimension=strength]{background:linear-gradient(180deg,#28231e,#1f1911)}:root[data-theme=dark] .dimension-base[data-dimension=hiking]{background:linear-gradient(180deg,#292520,#201b14)}:root[data-theme=dark] .dimension-underlay{opacity:var(--underlay-opacity-dark);mix-blend-mode:screen}:root[data-theme=dark] .dimension-fab{background:#e8e3ddeb;color:#171411;box-shadow:0 6px 16px #00000059}}.experience-groups{display:flex;flex-direction:column;gap:var(--sp-experience-groups-gap)}.experience-group-label{display:flex;align-items:center;gap:var(--sp-experience-group-label-gap);margin-bottom:var(--sp-experience-group-label-mb);font-size:var(--fs-experience-group-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-small)}.experience-group-label:after{content:"";flex:1;height:1px;background:var(--border-light)}.experience-list{list-style:none;padding:var(--sp-experience-list-pad);border-radius:var(--radius-lg)}.experience-entry{border-bottom:1px solid var(--border-light)}.experience-entry:last-child{border-bottom:0}.experience-entry{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:var(--sp-experience-entry-col-gap);padding:var(--sp-experience-entry-pad)}.experience-logo{display:block;width:44px;height:44px;margin-top:var(--sp-experience-logo-mt);border-radius:12px;overflow:hidden;background:var(--logo-tile);border:1px solid var(--border-light)}.experience-logo img{display:block;width:100%;height:100%}@media screen{:root[data-theme=dark] .experience-logo{background-clip:padding-box}}.experience-entry-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--sp-experience-entry-head-gap)}.experience-entry-title{font-size:var(--fs-experience-entry-title);font-weight:600;letter-spacing:-.01em}.experience-entry-note{margin-left:var(--sp-experience-entry-note-ml);font-size:var(--fs-experience-entry-note);font-weight:500;letter-spacing:0;color:var(--text-small)}.experience-period{font-size:var(--fs-experience-period);font-weight:500;color:var(--text-small);font-variant-numeric:tabular-nums;white-space:nowrap}.experience-entry-meta{margin-top:var(--sp-experience-entry-meta-mt);font-size:var(--fs-experience-entry-meta);font-weight:500;color:var(--accent-clay-strong)}.experience-meta-part{display:inline-block;max-width:100%}.experience-meta-dot{margin:var(--sp-experience-meta-dot-margin);opacity:.6}.experience-entry-detail{grid-column:2}.experience-entry-summary{max-width:72ch;margin-top:var(--sp-experience-entry-summary-mt);font-size:var(--fs-experience-entry-summary);line-height:1.8;color:var(--text-secondary)}.experience-notes{display:flex;flex-wrap:wrap;gap:var(--sp-experience-notes-gap);margin-top:var(--sp-experience-notes-mt)}.experience-entry--compact{padding:var(--sp-experience-entry--compact-pad)}.experience-entry--compact .experience-entry-title{font-size:var(--fs-experience-entry--compact)}.experience-entry--compact .experience-entry-meta{font-size:var(--fs-experience-entry--compact-2);font-weight:400;color:var(--text-small)}.experience-logo-pair{position:relative;display:block;width:44px;height:44px;margin-top:var(--sp-experience-logo-pair-mt)}.experience-logo-pair .experience-logo:first-child{margin:0}.experience-logo-pair .experience-logo:last-child{position:absolute;right:-5px;bottom:-5px;width:22px;height:22px;margin:0;border-radius:7px;box-shadow:0 0 0 2px var(--surface-solid)}@media(max-width:767px){.experience-list{padding:var(--sp-experience-list-pad-m)}.experience-entry{grid-template-columns:36px minmax(0,1fr);column-gap:var(--sp-experience-entry-col-gap-m);padding:var(--sp-experience-entry-pad-m)}.experience-logo{width:36px;height:36px;border-radius:10px}.experience-logo-pair{width:36px;height:36px}.experience-logo-pair .experience-logo:last-child{width:18px;height:18px;border-radius:6px}.experience-entry-note{display:block;margin:var(--sp-experience-entry-note-margin-m)}.experience-entry-detail{grid-column:1 / -1}}.experience-languages{margin:var(--sp-experience-languages-margin);font-size:var(--fs-experience-languages);color:var(--text-small)}.experience-language-flag{margin-right:var(--sp-experience-language-flag-mr)}.experience-languages-label{margin-right:var(--sp-experience-languages-label-mr);font-weight:600;color:var(--text-primary)}.tech-tab-count{margin-left:var(--sp-tech-tab-count-ml);font-size:var(--fs-tech-tab-count);font-variant-numeric:tabular-nums;opacity:.6}.tech-stack-panel{padding:var(--sp-tech-stack-panel-pad);border-radius:var(--radius-lg)}.tech-section{display:grid;grid-template-columns:132px minmax(0,1fr);column-gap:var(--sp-tech-section-col-gap);padding:var(--sp-tech-section-pad);border-top:1px solid var(--border-light)}.tech-section:first-child{border-top:0}.tech-section-label{padding-top:var(--sp-tech-section-label-pt);font-size:var(--fs-tech-section-label);font-weight:600;color:var(--text-small)}.tech-pills{display:flex;flex-wrap:wrap;gap:var(--sp-tech-pills-gap)}.tech-pill{display:inline-flex;align-items:baseline;gap:var(--sp-tech-pill-gap);padding:var(--sp-tech-pill-pad);font:inherit;font-size:var(--fs-tech-pill);font-weight:500;color:var(--text-primary);background:rgba(var(--paper-rgb),.55);border:1px solid var(--border-light);border-radius:var(--radius-full);cursor:pointer;transition:background .3s cubic-bezier(.22,1,.36,1),color .3s,border-color .3s}.tech-pill:hover{border-color:var(--pill-color)}.tech-pill:focus-visible{outline:2px solid var(--accent-clay-strong);outline-offset:3px}.tech-pill-count{font-size:var(--fs-tech-pill-count);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-muted)}.tech-pill.is-open{color:var(--text-on-accent);background:var(--pill-color);border-color:var(--pill-color)}.tech-pill.is-open .tech-pill-count{color:rgba(var(--on-accent-rgb),.8)}.tech-usage{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-tech-usage-gap);margin-top:var(--sp-tech-usage-mt);padding:var(--sp-tech-usage-pad);font-size:var(--fs-tech-usage);background:rgba(var(--paper-rgb),.5);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.tech-usage-label{font-size:var(--fs-tech-usage-label);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-small)}.tech-usage-link{font-weight:500;color:var(--accent-clay-strong);text-decoration:underline;text-decoration-color:var(--link-underline);text-underline-offset:3px;transition:text-decoration-color .3s}.tech-usage-link:hover{text-decoration-color:currentColor}.project-card,.experience-entry{scroll-margin-top:96px}@keyframes evidence-ring{0%,45%{outline-color:var(--accent-clay)}to{outline-color:transparent}}.project-card:target,.experience-entry:target{outline:2px solid transparent;outline-offset:6px;animation:evidence-ring 2.2s ease-out}@media(max-width:767px){.tech-stack-panel{padding:var(--sp-tech-stack-panel-pad-m)}.tech-section{grid-template-columns:1fr;row-gap:var(--sp-tech-section-row-gap-m);padding:var(--sp-tech-section-pad-m)}.tech-section-label{padding-top:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.lens-more{display:flex;justify-content:center;padding:var(--sp-lens-more-pad)}.lens-more-button{display:inline-flex;align-items:center;gap:var(--sp-lens-more-gap);padding:var(--sp-lens-more-button-pad);border:none;border-radius:var(--radius-full);background:none;font:inherit;font-size:var(--fs-lens-more);font-weight:500;letter-spacing:.02em;color:var(--text-secondary);cursor:pointer}.lens-more-button:focus-visible{outline:2px solid var(--accent-clay-strong);outline-offset:3px}.lens-more-button:disabled{cursor:default}.lens-more-chevron{animation:bounce 2s infinite}.lens-more-spin{animation:lens-more-spin .9s linear infinite}@keyframes lens-more-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.lens-more-chevron,.lens-more-spin{animation:none}}.note-article{max-width:min(100%,var(--note-measure))}[data-body-locale=zh]{--note-measure: calc(var(--note-font-size) * 36)}.note-body[lang=zh]{line-height:1.9}.note-body[lang=zh] p{text-align:justify}.note-body[lang=zh]>p:first-of-type:first-letter{float:none;font-size:inherit;line-height:inherit;margin:0;font-weight:inherit}.note-fallback-notice{margin-bottom:var(--sp-note-fallback-notice-mb);padding:var(--sp-note-fallback-notice-pad);border-left:2px solid var(--accent-clay);border-radius:0 8px 8px 0;background:var(--notice-bg);font-size:var(--fs-note-fallback-notice);line-height:1.6;color:var(--text-secondary)}.note-body-error{margin-bottom:var(--sp-note-body-error-mb);padding:var(--sp-note-body-error-pad);border-left:2px solid var(--accent-clay-strong);border-radius:0 8px 8px 0;background:var(--error-bg);font-size:var(--fs-note-body-error);line-height:1.6;color:var(--text-secondary)}.note-body-error-action{padding:0;border:none;background:none;font:inherit;color:var(--accent-clay-strong);text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:opacity .3s}.note-body-error-action:hover{opacity:.7}.note-body{font-family:Georgia,Times New Roman,Songti SC,"Noto Serif SC",serif;font-size:var(--note-font-size);line-height:1.75;color:var(--note-text);letter-spacing:.005em}.note-body p{margin-bottom:var(--sp-note-body-p-mb);text-align:left}.note-body>p:first-of-type:first-letter{float:left;font-size:var(--fs-note-body-p);line-height:.82;margin-right:var(--sp-note-body-p-mr);margin-top:var(--sp-note-body-p-mt);font-weight:400;color:var(--note-heading);font-family:Georgia,Times New Roman,Songti SC,"Noto Serif SC",serif}.note-body h1,.note-body h2,.note-body h3{font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif;color:var(--note-heading);margin-top:var(--sp-note-body-h1-mt);margin-bottom:var(--sp-note-body-h1-mb);line-height:1.3;letter-spacing:-.02em;scroll-margin-top:88px}.note-body h2{font-size:var(--fs-note-body-h2);font-weight:600}.note-body h3{font-size:var(--fs-note-body-h3);font-weight:600}.note-body blockquote{margin:var(--sp-note-body-blockquote-margin);padding:var(--sp-note-body-blockquote-pad);border-left:2px solid var(--border-accent);background:var(--note-quote-bg);border-radius:0 8px 8px 0;font-style:italic;color:var(--note-quote)}.note-body blockquote p{margin-bottom:var(--sp-note-body-blockquote-p-mb)}.note-body blockquote p:last-child{margin-bottom:0}.note-body strong{font-weight:700;color:var(--note-strong)}.note-body em{font-style:italic;color:var(--note-em)}.note-body ul,.note-body ol{margin:var(--sp-note-body-ul-margin);padding-left:var(--sp-note-body-ul-pl)}.note-body li{margin-bottom:var(--sp-note-body-li-mb)}.note-body a{color:var(--accent-clay-strong);text-decoration:underline;text-decoration-color:var(--link-underline);text-underline-offset:3px;transition:text-decoration-color .3s}.note-body a:hover{text-decoration-color:var(--link-underline-hover)}.note-body hr{border:none;height:1px;background:var(--border-light);margin:var(--sp-note-body-hr-margin);max-width:120px}.note-body img{max-width:100%;border-radius:12px;margin:var(--sp-note-body-img-margin)}.note-figure{margin:2.8em calc(-1 * var(--note-figure-overhang));width:calc(100% + 2 * var(--note-figure-overhang))}.note-figure--narrow{margin:var(--sp-note-figure--narrow-margin);width:min(40%,300px)}.note-figure--column{margin:var(--sp-note-figure--column-margin);width:100%}.note-figure picture,.note-figure img{display:block;width:100%;height:auto}.note-figure img{border-radius:12px;margin:0}.note-figure figcaption{margin-top:var(--sp-note-figure-figcaption-mt);font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif;font-size:var(--fs-note-figure-figcaption);line-height:1.6;color:var(--text-muted);text-align:center}.note-figure svg{display:block;width:100%;height:auto;border-radius:12px;font:16px serif;letter-spacing:normal;word-spacing:normal}@media screen{:root[data-theme=dark]{--fig-text-faint: var(--text-muted);--fig-text-strong: #D5D0CA;--fig-rose-text: #D6ABAB;--fig-sage-text: #A4C0A4;--fig-blue-text: #A5BACD;--fig-sand-text: #CBB399}}.note-toc{display:none}@media(min-width:1440px){.note-toc{display:block;position:absolute;top:0;bottom:0;right:calc(100% + var(--note-figure-overhang) + var(--note-toc-gap));width:var(--note-toc-width)}.note-toc-inner{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow-y:auto}.note-article.has-toc{--note-figure-overhang: clamp( 0px, calc((100vw - var(--note-measure)) / 2 - var(--layout-page-x) - var(--note-toc-width) - var(--note-toc-gap) - 8px), 120px )}}.note-toc-label{font-size:var(--fs-note-toc-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--sp-note-toc-label-mb)}.note-toc-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-note-toc-list-gap);border-left:1px solid var(--border-light);padding-left:var(--sp-note-toc-list-pl)}.note-toc-list li[data-level="3"]{padding-left:var(--sp-note-toc-list-li-3-pl)}.note-toc-list a{font-size:var(--fs-note-toc-list-a);line-height:1.5;color:var(--text-muted);transition:color .3s cubic-bezier(.22,1,.36,1)}.note-toc-list a:hover{color:var(--text-primary)}.note-body code{font-family:SF Mono,Fira Code,monospace;font-size:var(--fs-note-body-code);padding:var(--sp-note-body-code-pad);border-radius:4px;background:rgba(var(--ink-rgb),.04);color:var(--note-code)}.note-body pre{margin:2.4em calc(-1 * var(--note-figure-overhang));width:calc(100% + 2 * var(--note-figure-overhang));padding:var(--sp-note-body-pre-pad);border-radius:12px;background:rgba(var(--ink-rgb),.03);border:1px solid var(--border-light);overflow-x:auto}.note-body pre code{padding:0;background:none;font-size:var(--fs-note-body-pre-code);line-height:1.65;color:var(--note-text-strong)}.note-body .note-math{margin:var(--sp-note-body-margin);overflow-x:auto;overflow-y:hidden;line-height:normal;text-align:center}.note-body .katex{line-height:normal}.note-body table{width:100%;margin:var(--sp-note-body-table-margin);border-collapse:collapse;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif;font-size:var(--fs-note-body-table);line-height:1.5}.note-body thead th{text-align:left;font-weight:600;color:var(--note-heading);padding:var(--sp-note-body-thead-th-pad);border-bottom:1px solid var(--border-accent)}.note-body tbody td{padding:var(--sp-note-body-tbody-td-pad);border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.note-body tbody tr:last-child td{border-bottom:none}.note-body tbody td:first-child{color:var(--note-text-strong)}.note-body th:first-child,.note-body td:first-child{padding-left:0}.note-body th:last-child,.note-body td:last-child{padding-right:0}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}@media(max-width:767px){:root{--layout-page-x: 20px;--layout-shell: 100%;--layout-shell-narrow: 100%}.note-figure--narrow{width:min(70%,260px)}.note-row{flex-direction:column;gap:var(--sp-note-row-gap-m);padding:var(--sp-note-row-pad-m)}.note-row-subtitle{white-space:normal}.notes-view-nav{margin-left:calc(var(--layout-page-x) * -1);margin-right:calc(var(--layout-page-x) * -1);padding:0 var(--layout-page-x) 6px}.note-series-card{grid-template-columns:1fr;gap:var(--sp-note-series-card-gap-m);padding:var(--sp-note-series-card-pad-m)}.note-category-grid,.note-latest-list{grid-template-columns:1fr}.note-category-card{min-height:0}}@media(min-width:768px)and (max-width:1024px){:root{--layout-page-x: clamp(20px, 4vw, 48px);--layout-shell: 980px;--layout-shell-narrow: 760px}}@media(min-width:1025px){:root{--layout-page-x: clamp(24px, 5vw, 80px)}}.note-pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-note-pager-gap);margin-top:var(--sp-note-pager-mt);padding-top:var(--sp-note-pager-pt);border-top:1px solid var(--border-light)}.note-pager-link{display:flex;flex-direction:column;gap:var(--sp-note-pager-link-gap);padding:var(--sp-note-pager-link-pad);border-radius:var(--radius-md);border:1px solid rgba(var(--ink-rgb),.07);background:rgba(var(--paper-rgb),.42);transition:border-color .3s cubic-bezier(.22,1,.36,1),background .3s cubic-bezier(.22,1,.36,1)}.note-pager-link:hover{border-color:rgba(var(--ink-rgb),.16);background:rgba(var(--paper-rgb),.72)}.note-pager-link.is-next{grid-column:2;align-items:flex-end;text-align:right}.note-pager-label{display:inline-flex;align-items:center;gap:var(--sp-note-pager-label-gap);font-size:var(--fs-note-pager-label);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.note-pager-title{font-size:var(--fs-note-pager-title);line-height:1.5;color:var(--text-primary)}@media(max-width:767px){.note-pager{grid-template-columns:1fr}.note-pager-link.is-next{grid-column:1;align-items:flex-start;text-align:left}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:var(--sp-visually-hidden-margin);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-brand{gap:var(--sp-nav-brand-gap)}.nav-links{gap:var(--sp-nav-links-gap)}.nav-home{gap:var(--sp-nav-mark-gap)}.nav-mark{flex:none;--mark-disc: #3A3632;--mark-head: transparent}.nav-mark-disc{fill:var(--mark-disc)}.nav-mark-head{fill:var(--mark-head)}@media screen{:root[data-theme=dark] .nav-mark{--mark-disc: #7E6252;--mark-head: #E8E3DD}}.theme-switch{display:inline-flex;align-items:center;gap:var(--sp-theme-switch-gap);padding:var(--sp-theme-switch-pad)}.theme-switch select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;border:0;opacity:0;cursor:pointer;font-size:var(--fs-theme-switch-select);-moz-appearance:none;appearance:none;-webkit-appearance:none}.theme-switch:has(select:focus-visible){outline:2px solid var(--theme-switch-focus);outline-offset:3px}@supports not selector(:has(*)){.theme-switch:focus-within{outline:2px solid var(--theme-switch-focus);outline-offset:3px}}@media(max-width:767px){.nav-brand{gap:var(--sp-nav-brand-gap-m)}.nav-links{gap:var(--sp-nav-links-gap-m)}.nav-home{gap:var(--sp-nav-mark-gap-m)}.theme-switch{padding:var(--sp-theme-switch-pad-m)}.theme-switch-name{display:none}}html.theme-transition,html.theme-transition body,html.theme-transition nav,html.theme-transition section,html.theme-transition .glass-surface-sm,html.theme-transition .glass-surface-md,html.theme-transition .project-card,html.theme-transition .note-series-card,html.theme-transition .note-category-card,html.theme-transition .dimension-card{transition:background-color .2s ease,color .2s ease,border-color .2s ease!important}@media(prefers-reduced-motion:reduce){html.theme-transition,html.theme-transition *{transition:none!important}}@media print{.theme-switch{display:none!important}}@media(forced-colors:active){.filter-button{border:1px solid ButtonText}.filter-button.is-active,.filter-button[aria-selected=true],.tech-pill.is-open{forced-color-adjust:none;background:Highlight!important;color:HighlightText!important;border-color:Highlight!important}.nav-indicator{forced-color-adjust:none;background:LinkText!important}.card-link:focus-visible:after{outline:2px solid Highlight;outline-offset:-2px}:focus-visible{outline-color:Highlight}}:root{--fs-nav-pill: 11px;--sp-nav-pad: 0 clamp(24px, 5vw, 80px);--fs-nav-brand: 17px;--sp-nav-locale-gap: 5px;--sp-nav-locale-pad: 4px 11px;--fs-nav-link: 13px;--sp-sh-gap: 8px;--sp-sh-mb: 16px;--fs-sh-label: 12px;--sp-error-section-pad: 140px 24px 80px;--fs-error-label: 12px;--sp-error-label-mb: 16px;--fs-error-heading: clamp(34px, 5vw, 52px);--sp-error-heading-mb: 14px;--fs-error-body: 16px;--sp-error-body-mb: 28px;--sp-error-actions-gap: 10px;--fs-error-reload: 14px;--sp-error-reload-pad: 12px 20px;--fs-error-home: 14px;--sp-error-home-pad: 12px 20px;--sp-notfound-section-pad: 140px 24px 80px;--fs-notfound-label: 12px;--sp-notfound-label-mb: 16px;--fs-notfound-heading: clamp(34px, 5vw, 52px);--sp-notfound-heading-mb: 14px;--fs-notfound-body: 16px;--sp-notfound-body-mb: 28px;--sp-notfound-route-pad: 2px 6px;--fs-notfound-home: 14px;--sp-notfound-home-pad: 12px 20px;--fs-home-chapter-para: clamp(18px, 2vw, 24px);--sp-home-chapter-pad: 0 clamp(24px, 4vw, 60px);--fs-home-chapter-theme: 10px;--sp-home-chapter-theme-mb: 16px;--fs-home-chapter-dropcap: clamp(52px, 5.5vw, 76px);--sp-home-chapter-dropcap-mr: 12px;--sp-home-chapter-dropcap-mt: 6px;--sp-home-chapter-para-mt: 1.1em;--sp-home-hero-pad-m: 120px 20px 40px;--sp-home-hero-pad: 0 clamp(24px, 5vw, 80px);--sp-home-hero-shell-gap-m: 40px;--sp-home-hero-shell-gap: clamp(32px, 3vw, 56px);--fs-home-hero-label: 12px;--sp-home-hero-label-mb: 24px;--sp-home-hero-label-pad: 6px 14px;--fs-home-hero-title: clamp(48px, 6vw, 82px);--fs-home-hero-headline: clamp(17px, 1.8vw, 21px);--sp-home-hero-headline-mt: 24px;--fs-home-hero-sub: 15px;--sp-home-hero-sub-mt: 16px;--sp-home-hero-actions-gap: 12px;--sp-home-hero-actions-mt: 36px;--sp-home-cta-work-gap: 8px;--sp-home-cta-work-pad: 13px 26px;--fs-home-cta-work: 14px;--sp-home-cta-connect-gap: 8px;--sp-home-cta-connect-pad: 13px 26px;--fs-home-cta-connect: 14px;--sp-home-scroll-hint-gap: 8px;--fs-home-scroll-hint: 10px;--sp-home-manifesto-pad-m: 32px 20px;--sp-home-manifesto-pad: clamp(48px, 6vw, 80px) clamp(24px, 5vw, 80px);--fs-home-manifesto: clamp(36px, 5vw, 60px);--sp-home-strip-pad: 0 0 80px;--sp-home-strip-gap: 12px;--sp-home-strip-pr: clamp(24px, 5vw, 80px);--sp-home-strip-more-pad: 16px clamp(24px, 5vw, 80px) 0;--fs-home-strip-more: 13px;--sp-home-strip-more-gap: 6px;--sp-home-about-bar-pad: 24px clamp(24px, 5vw, 80px) 20px;--sp-home-about-sh-mb: 10px;--sp-home-about-meta-gap: 28px;--sp-home-about-location-gap: 6px;--fs-home-about-location: 14px;--sp-home-about-education-gap: 6px;--fs-home-about-education: 14px;--sp-home-about-empty-pad: 120px 0;--fs-home-about-empty: 15px;--sp-home-featured-pad: 100px clamp(24px, 5vw, 80px) 80px;--sp-home-featured-head-mb: 48px;--sp-home-featured-sh-mb: 12px;--fs-home-featured-title: 28px;--fs-home-featured-more: 13px;--sp-home-featured-more-gap: 6px;--sp-home-featured-grid-gap-m: 16px;--sp-home-featured-grid-gap: 24px;--sp-home-card-body-pad: 24px 28px 28px;--fs-home-card-tag: 10px;--fs-home-card-title: 18px;--sp-home-card-title-margin: 8px 0 10px;--fs-home-card-desc: 13px;--fs-home-card-insight: 13px;--sp-home-card-insight-mt: 12px;--sp-home-closing-pad: clamp(80px, 10vw, 140px) clamp(24px, 5vw, 80px);--fs-home-closing-prompt: clamp(24px, 3vw, 36px);--sp-home-closing-cta-gap: 8px;--sp-home-closing-cta-mt: 36px;--sp-home-closing-cta-pad: 14px 32px;--fs-home-closing-cta: 14px;--fs-dims-pilcrow: 156px;--sp-dims-card-content-pad: 26px 24px 26px;--fs-dims-card-title: 13px;--sp-dims-card-title-mb: 8px;--fs-dims-card-desc: 24px;--sp-dims-section-pad: 96px 0 92px;--sp-dims-shell-pad: 0 clamp(24px, 5vw, 80px);--sp-dims-head-mb: 34px;--sp-dims-sh-gap: 10px;--fs-dims-title: clamp(42px, 5vw, 72px);--fs-dims-subtitle: 18px;--sp-dims-subtitle-mt: 18px;--sp-dims-track-gap: 16px;--sp-dims-track-pad: 6px 0 16px;--sp-dims-arrows-gap: 10px;--sp-dims-arrows-mt: 14px;--sp-work-projects-pad: 140px clamp(24px, 5vw, 80px) 100px;--fs-work-projects-title: clamp(32px, 4vw, 48px);--sp-work-projects-title-mb: 12px;--fs-work-projects-intro: 15px;--sp-work-projects-intro-mb: 64px;--sp-work-grid-gap-m: 16px;--sp-work-grid-gap: 24px;--sp-work-card-body-pad: 24px 28px 28px;--fs-work-card-tag: 10px;--fs-work-card-title: 18px;--sp-work-card-title-margin: 8px 0 10px;--fs-work-card-desc: 13px;--fs-work-card-insight: 13px;--sp-work-card-insight-mt: 14px;--sp-work-card-footer-pt: 18px;--sp-work-card-tech-gap: 6px;--sp-work-card-links-gap: 10px;--sp-work-card-links-mt: 16px;--sp-work-exp-pad: 100px clamp(24px, 5vw, 80px) 120px;--fs-work-exp-title: clamp(28px, 3vw, 36px);--sp-work-exp-title-mb: 12px;--fs-work-exp-intro: 15px;--sp-work-exp-intro-mb: 48px;--sp-work-tech-pad: 100px clamp(24px, 5vw, 80px) 120px;--sp-work-tech-sh-mb: 20px;--fs-work-tech-title: 28px;--sp-work-tech-title-mb: 12px;--fs-work-tech-hint: 14px;--sp-work-tech-hint-mb: 40px;--sp-exp-empty-pad: 64px 24px;--fs-exp-empty: 14px;--sp-exp-empty-mt: 16px;--sp-tech-tabs-mb: 28px;--sp-lens-placeholder-gap: 12px;--fs-lens-placeholder-label: 11px;--sp-lens-caption-pad: 20px;--sp-lens-caption-box-pad: 10px 16px;--fs-lens-caption-category: 10px;--fs-lens-caption-alt: 13px;--sp-lens-caption-alt-mt: 2px;--sp-lens-label-gap: 8px;--sp-lens-label-mb: 16px;--fs-lens-label: 12px;--fs-lens-title: clamp(32px, 4vw, 48px);--sp-lens-title-mb: 12px;--fs-lens-intro: 15px;--sp-lens-intro-mb: 48px;--sp-lens-filter-mb: 48px;--sp-lens-masonry-gap-m: 10px;--sp-lens-masonry-item-mb-m: 10px;--sp-lens-masonry-gap: 16px;--sp-lens-masonry-item-mb: 16px;--sp-lens-more-pad: 40px 0 8px;--sp-lens-more-gap: 8px;--sp-lens-more-button-pad: 10px 18px;--fs-lens-more: 13px;--sp-connect-label-gap: 8px;--sp-connect-label-mb: 48px;--fs-connect-label: 12px;--fs-connect-title: clamp(36px, 5vw, 56px);--fs-connect-intro: 16px;--sp-connect-intro-mt: 24px;--sp-connect-footer-mt: 100px;--sp-connect-footer-pt: 32px;--fs-connect-footer-left: 12px;--fs-connect-footer-right: 12px;--sp-connect-card-gap: 64px;--sp-connect-card-mt: 56px;--sp-connect-card-pad: 20px 24px 22px;--fs-connect-card-name: 21.5px;--fs-connect-card-role: 9.5px;--fs-connect-card-label: 11px;--fs-connect-card-value: 12px;--sp-notes-label-gap: 8px;--sp-notes-label-mb: 16px;--fs-notes-label: 12px;--fs-notes-title: clamp(32px, 4vw, 44px);--sp-notes-title-mb: 12px;--fs-notes-intro: 15px;--sp-notes-intro-mb: 40px;--sp-notes-empty-pad: 80px 24px;--fs-notes-empty: 16px;--sp-notes-empty-mt: 20px;--sp-nidx-heading-gap: 10px;--sp-nidx-heading-mb: 20px;--fs-nidx-heading: 13px;--sp-nidx-featured-mb: 64px;--sp-nidx-featured-grid-gap: 16px;--sp-nidx-curriculum-mb: 64px;--sp-nidx-categories-mb: 64px;--sp-ncard-head-col-gap: 12px;--sp-ncard-head-row-gap-m: 8px;--sp-ncard-head-row-gap: 0px;--sp-ncard-head-mb: 12px;--fs-ncard-category-m: 10px;--fs-ncard-category: 11px;--fs-ncard-meta: 12px;--sp-ncard-meta-dot-margin: 0 6px;--sp-ncard-tags-gap: 6px;--fs-ncard-title-compact: 18px;--fs-ncard-title: 20px;--sp-ncard-title-mb: 8px;--fs-ncard-subtitle: 14px;--sp-ncard-subtitle-mb: 8px;--fs-ncard-excerpt: 14px;--sp-note-notfound-pad: 180px 24px 120px;--fs-note-notfound: 16px;--fs-note-notfound-back: 14px;--sp-note-notfound-back-mt: 16px;--sp-note-back-gap: 6px;--fs-note-back: 13px;--sp-note-back-mb: 40px;--sp-note-header-mb: 40px;--sp-note-meta-gap: 12px;--sp-note-meta-mb: 16px;--fs-note-category: 11px;--fs-note-date: 12px;--fs-note-date-sep: 12px;--fs-note-reading: 12px;--fs-note-title: clamp(32px, 4vw, 44px);--fs-note-subtitle: 17px;--sp-note-subtitle-mt: 16px;--sp-note-rule-mb: 40px;--fs-note-loading: 15px;--sp-note-tags-gap: 8px;--sp-note-tags-mt: 64px;--sp-note-tags-pt: 32px;--fs-note-tag: 11px;--sp-note-tag-pad: 4px 12px;--sp-notes-view-nav-mb: 48px;--sp-filter-bar-gap: 4px;--sp-filter-bar-pad: 4px;--fs-filter-button: 12px;--sp-filter-button-pad: 8px 18px;--sp-filter-button-pad-2: 8px 16px;--fs-project-tech-chip: 11px;--sp-project-tech-chip-pad: 4px 11px;--sp-project-link-chip-gap: 5px;--fs-project-link-chip: 12px;--sp-project-link-chip-pad: 5px 12px;--sp-note-item-pad: 36px 0;--fs-note-tag-2: 10px;--sp-note-tag-pad-2: 3px 10px;--sp-note-row-gap: 10px;--sp-note-row-pad: 7px 0;--fs-note-row-title: 14.5px;--fs-note-row-subtitle: 12.5px;--sp-note-guide-start-gap: 5px;--fs-note-guide-start: 13px;--sp-note-guide-start-gap-2: 9px;--fs-note-group-count: 12px;--sp-note-series-card-gap: 56px;--sp-note-series-card-pad: 34px 36px;--sp-note-series-meta-mb: 12px;--fs-note-series-meta: 12px;--fs-note-series-blurb: 15px;--sp-note-series-actions-gap: 18px;--sp-note-series-actions-mt: 24px;--fs-note-guide-secondary: 13px;--sp-note-series-pillars-li-gap: 9px;--sp-note-series-pillars-li-pad: 9px 0;--fs-note-series-pillars-span: 11px;--fs-note-series-pillars-strong: 13px;--sp-note-category-grid-gap: 14px;--sp-note-category-card-pad: 24px;--sp-note-category-card-topline-gap: 16px;--fs-note-category-card-topline-strong: 16px;--sp-note-category-card-count-mt: 7px;--fs-note-category-card-count: 12px;--sp-note-category-card-description-mt: 18px;--fs-note-category-card-description: 13px;--sp-note-latest-list-col-gap: 36px;--sp-note-guide-all-gap: 6px;--sp-note-guide-all-mt: 18px;--sp-connect-social-links-gap: 14px;--sp-connect-social-links-mt: 48px;--sp-connect-social-link-gap: 10px;--sp-connect-social-link-pad: 14px 24px;--fs-connect-social-link: 13px;--sp-experience-groups-gap: 48px;--sp-experience-group-label-gap: 12px;--sp-experience-group-label-mb: 18px;--fs-experience-group-label: 13px;--sp-experience-list-pad: 4px 32px;--sp-experience-entry-col-gap: 20px;--sp-experience-entry-pad: 28px 0;--sp-experience-logo-mt: 2px;--sp-experience-entry-head-gap: 4px 16px;--fs-experience-entry-title: 17px;--sp-experience-entry-note-ml: 10px;--fs-experience-entry-note: 12px;--fs-experience-period: 13px;--sp-experience-entry-meta-mt: 4px;--fs-experience-entry-meta: 14px;--sp-experience-meta-dot-margin: 0 .45em;--sp-experience-entry-summary-mt: 12px;--fs-experience-entry-summary: 14px;--sp-experience-notes-gap: 6px;--sp-experience-notes-mt: 12px;--sp-experience-entry--compact-pad: 20px 0;--fs-experience-entry--compact: 15px;--fs-experience-entry--compact-2: 13px;--sp-experience-logo-pair-mt: 2px;--sp-experience-list-pad-m: 2px 20px;--sp-experience-entry-col-gap-m: 14px;--sp-experience-entry-pad-m: 22px 0;--sp-experience-entry-note-margin-m: 2px 0 0;--sp-experience-languages-margin: 20px 4px 0;--fs-experience-languages: 13px;--sp-experience-language-flag-mr: .3em;--sp-experience-languages-label-mr: 12px;--sp-tech-tab-count-ml: 6px;--fs-tech-tab-count: 11px;--sp-tech-stack-panel-pad: 12px 40px;--sp-tech-section-col-gap: 28px;--sp-tech-section-pad: 22px 0;--sp-tech-section-label-pt: 6px;--fs-tech-section-label: 13px;--sp-tech-pills-gap: 8px;--sp-tech-pill-gap: 6px;--sp-tech-pill-pad: 6px 12px;--fs-tech-pill: 13px;--fs-tech-pill-count: 11px;--sp-tech-usage-gap: 6px 16px;--sp-tech-usage-mt: 14px;--sp-tech-usage-pad: 12px 16px;--fs-tech-usage: 13px;--fs-tech-usage-label: 11px;--sp-tech-stack-panel-pad-m: 4px 20px;--sp-tech-section-row-gap-m: 10px;--sp-tech-section-pad-m: 18px 0;--sp-note-fallback-notice-mb: 2em;--sp-note-fallback-notice-pad: 12px 16px;--fs-note-fallback-notice: 13px;--sp-note-body-error-mb: 2em;--sp-note-body-error-pad: 12px 16px;--fs-note-body-error: 14px;--sp-note-body-p-mb: 1.6em;--fs-note-body-p: 3.2em;--sp-note-body-p-mr: .06em;--sp-note-body-p-mt: .05em;--sp-note-body-h1-mt: 2.4em;--sp-note-body-h1-mb: .8em;--fs-note-body-h2: 1.5em;--fs-note-body-h3: 1.2em;--sp-note-body-blockquote-margin: 2em 0;--sp-note-body-blockquote-pad: 1.2em 1.6em;--sp-note-body-blockquote-p-mb: .6em;--sp-note-body-ul-margin: 1.4em 0;--sp-note-body-ul-pl: 1.6em;--sp-note-body-li-mb: .5em;--sp-note-body-hr-margin: 3em auto;--sp-note-body-img-margin: 2em 0;--sp-note-figure--narrow-margin: 2.8em auto;--sp-note-figure--column-margin: 2.8em auto;--sp-note-figure-figcaption-mt: .9em;--fs-note-figure-figcaption: .72em;--fs-note-toc-label: 11px;--sp-note-toc-label-mb: 14px;--sp-note-toc-list-gap: 10px;--sp-note-toc-list-pl: 14px;--sp-note-toc-list-li-3-pl: 12px;--fs-note-toc-list-a: 12.5px;--fs-note-body-code: .88em;--sp-note-body-code-pad: 2px 6px;--sp-note-body-pre-pad: 20px 24px;--fs-note-body-pre-code: .8em;--sp-note-body-margin: 2em 0;--sp-note-body-table-margin: 2.4em 0;--fs-note-body-table: .82em;--sp-note-body-thead-th-pad: 0 14px 10px;--sp-note-body-tbody-td-pad: 11px 14px;--sp-note-row-gap-m: 3px;--sp-note-row-pad-m: 9px 0;--sp-note-series-card-gap-m: 28px;--sp-note-series-card-pad-m: 28px 24px;--sp-note-pager-gap: 16px;--sp-note-pager-mt: 56px;--sp-note-pager-pt: 32px;--sp-note-pager-link-gap: 8px;--sp-note-pager-link-pad: 18px 20px;--sp-note-pager-label-gap: 5px;--fs-note-pager-label: 11px;--fs-note-pager-title: 14.5px;--sp-visually-hidden-margin: -1px;--sp-nav-brand-gap: 14px;--sp-nav-links-gap: 32px;--sp-nav-mark-gap: 8px;--sp-theme-switch-gap: 5px;--sp-theme-switch-pad: 4px 9px;--fs-theme-switch-select: 16px;--sp-nav-brand-gap-m: 8px;--sp-nav-links-gap-m: 14px;--sp-nav-mark-gap-m: 6px;--sp-theme-switch-pad-m: 4px 6px}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on{--m-tabbar-h: 56px;-webkit-tap-highlight-color:transparent}:root.m-on .m-hit{position:relative}:root.m-on .m-hit:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}:root.m-on :is(a[href],button,[role=button],.m-press):active{filter:brightness(.92)}}@media print{:root.m-on [data-m-ui]{display:none!important}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on .nav-links{display:none!important}:root.m-on .nav-brand{gap:16px}:root.m-on .nav-brand>a,:root.m-on .nav-brand>button{position:relative}:root.m-on .nav-brand>a:after,:root.m-on .nav-brand>button:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}:root.m-on .theme-switch{min-width:44px;justify-content:center}:root.m-on .theme-switch select{top:-13px;bottom:-13px;left:-1px;right:-1px;width:auto;height:auto}:root.m-on .m-tabbar-spacer{height:calc(var(--m-tabbar-h) + env(safe-area-inset-bottom,0px));overflow-anchor:none}:root.m-on .m-tabbar-spacer.is-connect{background:var(--connect-bg)}:root.m-on:has(.m-tabbar-spacer.is-connect) body{background:var(--connect-bg)}:root.m-on .m-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;height:calc(var(--m-tabbar-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:rgba(var(--canvas-rgb),.65);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--border-light)}:root.m-on .m-tabbar.is-connect{background:rgba(var(--connect-bg-rgb),.72)}:root.m-on .m-tabbar.is-connect .m-tab{color:var(--connect-nav-muted)}:root.m-on .m-tabbar.is-connect .m-tab.is-active{color:var(--text-primary)}:root.m-on .m-tabbar.is-connect .m-tab-indicator{background:var(--connect-nav-accent)}:root.m-on .m-tab{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);font-size:11px;font-weight:400;letter-spacing:.01em;line-height:1.2;transition:color .3s}:root.m-on .m-tab.is-active{color:var(--text-primary);font-weight:500}:root.m-on .m-tab-label{position:relative;white-space:nowrap}:root.m-on .m-tab-indicator{position:absolute;left:0;right:0;bottom:-4px;height:1.5px;background:var(--accent-clay);border-radius:1px;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}:root.m-on .m-tab.is-active .m-tab-indicator{transform:scaleX(1)}}@media screen and (max-width:767px){:root.m-on{--sp-nav-pad: 0 16px}:root.m-on .nav-brand{flex-shrink:0}:root.m-on .nav-links{gap:7px;margin-left:8px;min-width:0;overflow-x:auto;padding-top:6px;padding-bottom:6px;scrollbar-width:none}:root.m-on .nav-links::-webkit-scrollbar{display:none}:root.m-on .nav-links>a{flex-shrink:0;white-space:nowrap}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on .filter-bar{gap:8px}:root.m-on .filter-button{min-height:44px;min-width:44px}:root.m-on .tech-pill{min-height:44px;min-width:44px;align-items:center}:root.m-on .project-link-chip{min-height:44px;min-width:44px}:root.m-on .tech-usage-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px}:root.m-on .note-row{min-height:44px}:root.m-on .note-series-actions{row-gap:32px}:root.m-on .filter-button,:root.m-on .tech-pill,:root.m-on .note-guide-start,:root.m-on .note-guide-secondary,:root.m-on .note-guide-all{position:relative}:root.m-on .filter-button:after,:root.m-on .tech-pill:after,:root.m-on .project-link-chip:after,:root.m-on .note-guide-start:after,:root.m-on .note-guide-secondary:after,:root.m-on .note-guide-all:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on .m-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--scrim);touch-action:none}:root.m-on .m-sheet{position:fixed;left:0;right:0;bottom:0;z-index:210;display:flex;flex-direction:column;max-height:70vh;max-height:70dvh;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-elevated);outline:none}:root.m-on .m-sheet-grab{flex-shrink:0;padding-top:8px;touch-action:none}:root.m-on .m-sheet-handle{display:block;width:36px;height:4px;margin:0 auto 4px;border-radius:var(--radius-full);background:rgba(var(--ink-rgb),.16)}:root.m-on .m-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 20px}:root.m-on .m-sheet-title{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}:root.m-on .m-sheet-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:inherit;color:var(--text-primary);background:none;border:0;cursor:pointer}:root.m-on .m-sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}}@media screen and (max-width:767px){:root.m-on .note-body .m-table-scroll{margin:calc(2.4em * .82) 0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}:root.m-on .note-body .m-table-scroll>table{margin:0;border-collapse:separate;border-spacing:0}:root.m-on .note-body .m-table-scroll th:first-child,:root.m-on .note-body .m-table-scroll td:first-child{position:sticky;left:0;z-index:1;background:var(--bg-primary)}:root.m-on .note-body .m-table-scroll th:first-child:after,:root.m-on .note-body .m-table-scroll td:first-child:after{content:"";position:absolute;top:0;bottom:0;left:100%;width:12px;background:linear-gradient(to right,var(--bg-primary),transparent);pointer-events:none}}@media screen and (max-width:767px){:root.m-on .note-article>div:has(>span){flex-wrap:wrap}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on{--fs-note-loading: 16px;--fs-note-fallback-notice: 16px;--fs-note-body-error: 16px}:root.m-on .note-article>a:first-of-type,:root.m-on .note-body-error-action{position:relative}:root.m-on .note-article>a:first-of-type:after,:root.m-on .note-body-error-action:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on .m-toc-button{position:fixed;right:16px;bottom:calc(var(--m-tabbar-h) + env(safe-area-inset-bottom,0px) + 12px);z-index:100;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;font:inherit;font-size:13px;font-weight:500;color:var(--text-primary);background:var(--bg-glass-heavy);-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md);border:1px solid var(--border-glass);border-radius:var(--radius-full);box-shadow:var(--shadow-glass);cursor:pointer}:root.m-on .m-toc-list{list-style:none;padding-bottom:8px}:root.m-on .m-toc-list a{display:flex;align-items:center;min-height:44px;padding:10px 20px;font-size:14px;line-height:1.5;color:var(--text-secondary);border-bottom:1px solid var(--border-light);border-left:2px solid transparent}:root.m-on .m-toc-list li:not([data-level="1"]):not([data-level="2"]) a{padding-left:36px}:root.m-on .m-toc-list a[aria-current=location]{color:var(--text-primary);font-weight:600;border-left-color:var(--accent-clay)}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on .note-body .note-figure:active>svg,:root.m-on .note-body .note-figure:active>picture{filter:brightness(.92)}:root.m-on .m-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;background:var(--bg-primary);outline:none}:root.m-on .m-viewer-close{position:absolute;top:8px;right:8px;z-index:1;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:inherit;color:var(--text-primary);background:var(--bg-glass-heavy);border:1px solid var(--border-light);border-radius:50%;cursor:pointer}:root.m-on .m-viewer-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;padding:56px 16px 16px}:root.m-on .m-viewer-content{width:100%;transform-origin:center center}:root.m-on .m-viewer-figure{margin:0;width:100%}:root.m-on .m-viewer-caption{padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px));font-size:12px;line-height:1.6;color:var(--text-muted);text-align:center}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on[data-m-nav=hidden] #root>nav:first-child{transform:translateY(-100%)}@media(prefers-reduced-motion:reduce){:root.m-on[data-m-nav] #root>nav:first-child{transition:none!important}}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on{--fs-home-hero-sub: 16px;--sp-home-hero-pad-m: 88px 20px calc(var(--m-tabbar-h) + env(safe-area-inset-bottom, 0px) + 58px);--sp-home-hero-shell-gap-m: 0px;--m-hero-k: 590px}:root.m-on:lang(en){--m-hero-k: 668px}:root.m-on .m-hero{min-height:100vh!important;min-height:100dvh!important;align-items:stretch!important}:root.m-on .m-hero-shell{display:flex!important;flex-direction:column;align-items:stretch!important}:root.m-on .m-hero-spacer-top{order:-2;flex:1 1 0}:root.m-on .m-hero-portrait{margin-bottom:40px}:root.m-on .m-hero-portrait-box{width:clamp(120px,calc(100vh - var(--m-hero-k)),240px)!important;width:clamp(120px,calc(100svh - var(--m-hero-k)),240px)!important}:root.m-on .m-hero-text{display:flex;flex-direction:column;flex:1 0 auto}:root.m-on .m-hero-label{align-self:flex-start}:root.m-on .m-hero-spacer{flex:1 1 0}:root.m-on .m-hero-title{white-space:normal!important}:root.m-on .m-hero-hint{bottom:calc(var(--m-tabbar-h) + env(safe-area-inset-bottom,0px) + 8px)!important}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse)and (max-height:700px){:root.m-on{--sp-home-hero-pad-m: 64px 20px calc(var(--m-tabbar-h) + env(safe-area-inset-bottom, 0px) + 16px);--sp-home-hero-actions-mt: 24px;--m-hero-k: 496px}:root.m-on:lang(en){--m-hero-k: 574px}:root.m-on .m-hero-portrait{margin-bottom:24px}:root.m-on .m-hero-portrait-box{width:clamp(96px,calc(100vh - var(--m-hero-k)),240px)!important;width:clamp(96px,calc(100svh - var(--m-hero-k)),240px)!important}:root.m-on .m-hero-hint{display:none!important}}@media screen and (max-width:767px){:root.m-on .m-grid-fit>*{min-width:0}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on{--fs-home-card-desc: 16px;--fs-home-card-insight: 16px;--fs-home-about-empty: 16px}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on{--fs-lens-intro: 16px}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on{--fs-work-projects-intro: 16px;--fs-work-card-desc: 16px;--fs-work-card-insight: 16px;--fs-work-exp-intro: 16px;--fs-work-tech-hint: 16px;--fs-exp-empty: 16px;--fs-experience-entry-summary: 16px}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on{--fs-notes-intro: 16px;--fs-ncard-subtitle: 16px;--fs-ncard-excerpt: 16px;--fs-note-series-blurb: 16px;--fs-note-category-card-description: 16px}:root.m-on .note-category-card:hover{transform:none}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on .connect-social-link:hover{transform:none;box-shadow:none}:root.m-on .connect-social-link:active{transition-duration:0s}:root.m-on #root>section>a[href="/notes"],:root.m-on #root>section>div>a[href="/"],:root.m-on #root>section>div>div:has(>button+a[href="/"])>button,:root.m-on #root>section>div>div:has(>button+a[href="/"])>a{position:relative}:root.m-on #root>section>a[href="/notes"]:after,:root.m-on #root>section>div>a[href="/"]:after,:root.m-on #root>section>div>div:has(>button+a[href="/"])>button:after,:root.m-on #root>section>div>div:has(>button+a[href="/"])>a:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}}@media screen and (max-width:767px)and (hover:none)and (pointer:coarse){:root.m-on{--fs-connect-card-label: 11.5px;--fs-connect-card-value: 13px;--sp-connect-card-pad: 18px 20px 16px;--sp-connect-card-mt: 40px;--sp-connect-footer-mt: 56px}:root.m-on .connect-card-link{display:inline-flex;align-items:center;min-height:44px;margin-block:-7px}:root.m-on .connect-card-copy{justify-content:center;min-width:48px;min-height:48px;margin:-13.5px}:root.m-on .connect-card-copied{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%);line-height:1.6;white-space:nowrap}:root.m-on .connect-card-copied:not(:empty){padding:2px 10px;border-radius:var(--radius-full);background:var(--connect-card-paper);box-shadow:var(--shadow-glass)}}
