#root{min-height:100vh}::-webkit-scrollbar{width:3px;height:3px}html::-webkit-scrollbar{width:3px;height:3px}body::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-button{width:0!important;height:0!important;display:none!important}html::-webkit-scrollbar-button{width:0!important;height:0!important;display:none!important}body::-webkit-scrollbar-button{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-track{background:0 0!important}html::-webkit-scrollbar-track{background:0 0!important}body::-webkit-scrollbar-track{background:0 0!important}::-webkit-scrollbar-track-piece{background:0 0!important}html::-webkit-scrollbar-track-piece{background:0 0!important}body::-webkit-scrollbar-track-piece{background:0 0!important}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb,#544d44);border-radius:0!important}html::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb,#544d44);border-radius:0!important}body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb,#544d44);border-radius:0!important}::-webkit-scrollbar-thumb:hover{background:var(--accent)}html::-webkit-scrollbar-thumb:hover{background:var(--accent)}body::-webkit-scrollbar-thumb:hover{background:var(--accent)}::-webkit-scrollbar-corner{background:0 0!important}html::-webkit-scrollbar-corner{background:0 0!important}body::-webkit-scrollbar-corner{background:0 0!important}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb,#544d44) transparent}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--font-sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--font-mono:"JetBrains Mono", monospace;--bg:#070606;--bg-subtle:#0d0c0b;--card-bg:#121110;--card-hover:#1a1817;--card-border:#cebfab1a;--line:#cebfab12;--line-strong:#cebfab33;--ink:#f7f5f2;--ink-muted:#aca59c;--ink-dim:#7a7369;--accent:#b88252;--accent-hover:#cb9767;--accent-contrast:#070606;--accent-dim:#b882521f;--accent-glow:#b8825238;--leather:#b88252;--leather-subtle:#b8825217;--leather-border:#b8825247;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--scrollbar-thumb:#332f2a;--gh-cell-size:clamp(20px, 1.6vw, 24px);--gh-cell-gap:clamp(4px, .35vw, 5px)}html.theme-day,html.theme-day body{--bg:#f4f0e8;--bg-subtle:#eae4d8;--card-bg:#fff;--card-hover:#faf8f4;--card-border:#ded6c8;--line:#e4dcd0;--line-strong:#a49987;--ink:#161311;--ink-muted:#5e564d;--ink-dim:#857d72;--accent:#8e582e;--accent-hover:#71421e;--accent-contrast:#fff;--accent-dim:#8e582e1a;--accent-glow:#8e582e2e;--scrollbar-thumb:#c2b7a9;--leather:#8e582e;--leather-subtle:#8e582e14;--leather-border:#8e582e40}*{box-sizing:border-box}::selection{background:var(--accent);color:var(--accent-contrast)}html{background-color:var(--bg);color:var(--ink);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:var(--ink);font-family:var(--font-sans);background-color:#0000;min-width:320px;margin:0;transition:background-color .25s,color .25s;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.section-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:.72rem;font-weight:600;display:block}.section-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(1.75rem,5vw,2.75rem);font-weight:800;line-height:1.1}.section-title-wrap{flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.section-subtext{color:var(--ink-muted);max-width:620px;margin:6px 0 0;font-size:.9rem;line-height:1.55}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-magicui-theme-vt=active]::view-transition-group(root){animation-duration:var(--magicui-theme-toggle-vt-duration,.5s)}html[data-magicui-theme-vt=active][data-magicui-theme-direction=out]::view-transition-new(root){clip-path:var(--magicui-theme-vt-clip-from);z-index:9999}html[data-magicui-theme-vt=active][data-magicui-theme-direction=out]::view-transition-old(root){z-index:1}html[data-magicui-theme-vt=active][data-magicui-theme-direction=in]::view-transition-old(root){clip-path:var(--magicui-theme-vt-clip-from);z-index:9999}html[data-magicui-theme-vt=active][data-magicui-theme-direction=in]::view-transition-new(root){z-index:1}html[data-magicui-theme-vt=active] *,html[data-magicui-theme-vt=active] :before,html[data-magicui-theme-vt=active] :after{transition:none!important}@media (prefers-reduced-motion:reduce){::view-transition-group(root){animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}.site-header{border-bottom:1px solid var(--line);background-color:var(--bg);z-index:50;justify-content:space-between;align-items:center;height:80px;transition:background-color .25s,border-color .25s;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:16px;display:flex}.header-time-link{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.timezone-clock{font-family:var(--font-mono);color:var(--ink);letter-spacing:.05em;font-size:.78rem;font-weight:600;transition:color .15s}.header-time-link:hover .timezone-clock{color:var(--accent)}.header-right{align-items:center;gap:12px;display:flex}.theme-toggle-btn{border:1px solid var(--line);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.theme-toggle-btn:hover{border-color:var(--line-strong);background:var(--accent-dim);color:var(--accent)}.theme-toggle-icon{flex-shrink:0;transition:transform .2s}.theme-toggle-btn:hover .theme-toggle-icon{transform:rotate(12deg)}@media (width<=640px){.site-header{height:64px}}.architectural-hero{border-bottom:1px solid var(--line);padding:92px 0 76px}.hero-grid{grid-template-columns:1.25fr .75fr;align-items:center;gap:68px;display:grid}.hero-content{flex-direction:column;display:flex}.hero-title{font-family:var(--font-display);letter-spacing:-.035em;color:var(--accent);flex-direction:column;margin:0 0 28px;font-size:clamp(2.5rem,9.5vw,5.4rem);font-weight:800;line-height:.92;display:flex}.hero-title-line-mask{line-height:.96;display:block;overflow:hidden}.hero-title-line{will-change:transform;display:block}.hero-title-dot{color:var(--accent);opacity:.85}.hero-bio{color:var(--ink-muted);max-width:580px;margin:0 0 34px;font-size:1.06rem;line-height:1.7}.hero-achievement-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:560px;margin-top:24px;padding:16px 0}.hero-achievement-link{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;width:fit-content;padding:4px 0;font-size:.92rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.hero-achievement-icon{color:var(--ink);flex-shrink:0;transition:transform .2s,color .2s}.hero-achievement-text{color:var(--ink);transition:color .2s}.hero-achievement-arrow{color:var(--ink-dim);flex-shrink:0;transition:transform .2s,color .2s}.hero-achievement-link:hover .hero-achievement-text{color:var(--accent)}.hero-achievement-link:hover .hero-achievement-icon{color:var(--accent);transform:translateY(-1px)}.hero-achievement-link:hover .hero-achievement-arrow{color:var(--accent);transform:translate(2px,-2px)}.hero-portrait-stage{justify-content:flex-end;display:flex}.portrait-frame{aspect-ratio:4/5;background:var(--bg-subtle);border:1px solid var(--leather-border);border-radius:2px;width:100%;max-width:360px;transition:box-shadow .3s cubic-bezier(.16,1,.3,1),border-color .3s;position:relative;overflow:hidden;box-shadow:0 16px 36px #0006}.portrait-frame:hover{border-color:var(--accent);box-shadow:0 24px 52px #0000008c}html.theme-day .portrait-frame{box-shadow:0 12px 28px #9e6b381f}html.theme-day .portrait-frame:hover{border-color:var(--accent);box-shadow:0 20px 44px #9e6b3833}.portrait-corner{font-family:var(--font-mono);color:var(--accent);z-index:4;pointer-events:none;opacity:.85;font-size:.78rem;font-weight:700;line-height:1;position:absolute}.portrait-corner-tl{top:8px;left:8px}.portrait-corner-tr{top:8px;right:8px}.portrait-corner-bl{bottom:8px;left:8px}.portrait-corner-br{bottom:8px;right:8px}.portrait-img{object-fit:cover;object-position:center 20%;filter:grayscale(18%)contrast(104%);width:100%;height:100%;transition:filter .3s,transform .4s;display:block}.portrait-frame:hover .portrait-img{filter:grayscale(0%)contrast(102%);transform:scale(1.02)}@media (width<=1024px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero-portrait-stage{justify-content:flex-start}}@media (width<=768px){.architectural-hero{padding:56px 0 44px}.hero-grid{gap:36px}.hero-bio{margin-bottom:24px;font-size:.98rem}}@media (width<=540px){.architectural-hero{padding:42px 0 32px}.hero-title{margin-bottom:20px;font-size:clamp(2.2rem,11.5vw,3.2rem)}.hero-achievement-strip{margin-top:18px;padding:12px 0}.hero-achievement-link{gap:8px;width:100%;font-size:.82rem}.hero-achievement-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portrait-frame{max-width:280px}}.studio-connect-strip{border-bottom:1px solid var(--line);padding:28px 0}.connect-strip-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;display:flex}.strip-contact-group{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.strip-contact-link{font-family:var(--font-mono);color:var(--ink);align-items:center;gap:8px;font-size:.92rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.strip-contact-link:hover{color:var(--accent)}.strip-contact-link:hover .strip-icon,.strip-contact-link:hover .arrow-muted{color:var(--accent);transform:translate(1px,-1px)}.strip-icon{color:var(--ink-dim);flex-shrink:0;transition:color .15s}.strip-icon.icon-success{color:#10b981}.strip-item-divider{color:var(--line-strong);font-family:var(--font-mono);font-size:.9rem}.strip-links-block{align-items:center;gap:20px;display:flex}.strip-nav-link{font-family:var(--font-mono);color:var(--ink-muted);align-items:center;gap:7px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.strip-nav-link:hover{color:var(--accent)}.strip-nav-link:hover .arrow-muted{color:var(--accent);transform:translate(1px,-1px)}.strip-divider{color:var(--line-strong);font-family:var(--font-mono);font-size:.9rem}.arrow-muted{color:var(--ink-dim);transition:transform .15s,color .15s}@media (width<=900px){.strip-contact-group{gap:16px}}@media (width<=768px){.studio-connect-strip{padding:22px 0}.connect-strip-inner{flex-direction:column;align-items:flex-start;gap:16px}.strip-item-divider{display:none}.strip-contact-group{flex-direction:column;align-items:flex-start;gap:12px;width:100%}}@media (width<=540px){.studio-connect-strip{padding:18px 0}.strip-contact-link{word-break:break-all;font-size:.84rem}.strip-links-block{flex-wrap:wrap;gap:14px 18px;width:100%}.strip-divider{display:none}}.work-index-section{border-bottom:1px solid var(--line);padding:92px 0 80px;position:relative}.work-index-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:38px;display:flex}.work-index-title-group{flex-direction:column;display:flex}.project-index-list{flex-direction:column;display:flex;position:relative}.project-index-row{border-top:1px solid var(--line);cursor:pointer;background:0 0;border-left:2px solid #0000;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:24px 16px;transition:all .18s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.project-index-list .project-index-row:last-child{border-bottom:1px solid var(--line)}.project-index-row:hover,.project-index-row.row-active{background:var(--card-hover);border-left-color:var(--accent);padding-left:22px}html.theme-day .project-index-row:hover,html.theme-day .project-index-row.row-active{background:#9e6b380d}.row-col-title{flex-direction:column;gap:5px;display:flex}.row-title-wrap{align-items:center;gap:10px;display:flex}.row-index-num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.06em;opacity:.9;font-size:.72rem;font-weight:600}.row-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.25rem;font-weight:700;transition:color .15s}.row-description{color:var(--ink-muted);margin:0;font-size:.86rem;line-height:1.45}.row-col-actions{align-items:center;gap:8px;display:flex}.row-inspect-cue{font-family:var(--font-mono);color:var(--ink-dim);border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:5px;padding:6px 12px;font-size:.74rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.project-index-row:hover .row-inspect-cue,.project-index-row.row-active .row-inspect-cue{color:var(--accent);border-color:var(--leather-border);background:var(--accent-dim);transform:translate(2px)}.row-inspect-cue svg{transition:transform .2s}.project-index-row:hover .row-inspect-cue svg{transform:translate(2px,-2px)}.row-mobile-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--ink);padding:6px 12px;font-size:.7rem;display:none}.row-mobile-expanded{border-top:1px dashed var(--line);flex-direction:column;grid-column:1/-1;gap:14px;margin-top:14px;padding-top:14px;display:flex}.mobile-expanded-img-wrap{border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg-subtle);width:100%;overflow:hidden}.mobile-expanded-img{width:100%;height:auto;display:block}.mobile-expanded-body{flex-direction:column;gap:12px;display:flex}.mobile-expanded-detail{color:var(--ink-muted);margin:0;font-size:.85rem;line-height:1.5}.mobile-expanded-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.minimal-viewer{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);margin-top:48px;overflow:hidden;box-shadow:0 24px 64px -12px #000000bf,0 0 0 1px #ffffff08}html.theme-day .minimal-viewer{background:var(--card-bg);border-color:var(--card-border);box-shadow:0 20px 48px #2d23191f,0 2px 8px #2d23190a}.viewer-top-bar{background:var(--bg-subtle);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.viewer-title-group{align-items:center;gap:8px;display:flex}.viewer-status-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;display:inline-block}.viewer-bar-label{font-family:var(--font-mono);color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600}.viewer-bar-separator{color:var(--ink-dim);font-size:.72rem}.viewer-bar-index{font-family:var(--font-mono);color:var(--accent);letter-spacing:.05em;font-size:.7rem;font-weight:600}.viewer-controls-group{align-items:center;gap:8px;display:flex}.viewer-close{font-family:var(--font-mono);color:var(--ink-muted);border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px;font-size:.72rem;transition:all .15s;display:inline-flex}.viewer-close:hover{color:var(--ink);background:var(--card-hover);border-color:var(--line)}.viewer-body-stage{grid-template-columns:48px 1fr 48px;align-items:stretch;display:grid}.stage-nav-arrow{color:var(--ink-dim);background:0 0;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.stage-nav-arrow:hover{color:var(--accent);background:#b8825214}html.theme-day .stage-nav-arrow{color:var(--ink-muted)}html.theme-day .stage-nav-arrow:hover{color:var(--accent);background:#8e582e14}.viewer-grid{border-left:1px solid var(--line);border-right:1px solid var(--line);grid-template-columns:1.15fr 1fr;display:grid}.viewer-image-col{background:radial-gradient(circle,#b8825214 0%,#0c0b0a99 80%);justify-content:center;align-items:center;padding:36px 32px;display:flex;position:relative}html.theme-day .viewer-image-col{background:radial-gradient(circle,#8e582e0f 0%,#f4f0e8cc 80%)}.viewer-img-frame{background:var(--bg-subtle);border:1px solid var(--card-border);border-radius:var(--radius-md);width:100%;max-height:390px;transition:box-shadow .3s cubic-bezier(.16,1,.3,1),border-color .3s,transform .3s;position:relative;overflow:hidden;box-shadow:0 16px 40px -12px #0009,0 0 0 1px #ffffff0a}.viewer-img-frame:hover{border-color:var(--accent);box-shadow:0 24px 52px -10px #000000bf, 0 0 0 1px var(--leather-border)}html.theme-day .viewer-img-frame{box-shadow:0 12px 32px #2d23191a,0 0 0 1px #0000000a}html.theme-day .viewer-img-frame:hover{border-color:var(--accent);box-shadow:0 20px 44px #9e6b3833}.viewer-img{object-fit:cover;object-position:center top;width:100%;height:100%;max-height:390px;display:block}.viewer-copy-col{background:var(--card-bg);flex-direction:column;justify-content:space-between;gap:24px;padding:38px 40px;display:flex}.viewer-copy-header{flex-direction:column;display:flex}.viewer-meta-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.viewer-tag-pill{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--leather-subtle);border:1px solid var(--leather-border);border-radius:4px;align-items:center;padding:3px 9px;font-size:.68rem;font-weight:600;display:inline-flex}.viewer-main-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0 0 14px;font-size:clamp(1.85rem,2.5vw,2.35rem);font-weight:800;line-height:1.15}.viewer-detail-text{color:var(--ink-muted);margin:0;font-size:.94rem;line-height:1.72}.viewer-actions-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;display:flex}.viewer-stack-wrap{align-items:center;gap:8px;display:flex}.viewer-stack-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.viewer-stack-tag{font-family:var(--font-mono);color:var(--ink-dim);background:var(--bg-subtle);border:1px solid var(--card-border);letter-spacing:.02em;border-radius:4px;padding:4px 9px;font-size:.7rem;transition:all .15s}.viewer-stack-tag:hover{color:var(--ink);border-color:var(--line-strong)}html.theme-day .viewer-stack-tag{color:var(--ink-muted);background:#faf8f4;border-color:#e4dcd0}.viewer-links{align-items:center;gap:8px;display:flex}.viewer-btn{border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.02em;align-items:center;gap:6px;padding:7px 14px;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex}.viewer-btn-primary{background:var(--accent);color:var(--accent-contrast);border:1px solid var(--accent);box-shadow:0 4px 14px var(--accent-glow);font-weight:700}.viewer-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-contrast);transform:translateY(-1px)}.viewer-btn-secondary{border:1px solid var(--card-border);background:var(--bg-subtle);color:var(--ink)}.viewer-btn-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--card-hover);transform:translateY(-1px)}.viewer-progress-dots{background:var(--bg-subtle);border-top:1px solid var(--line);justify-content:center;align-items:center;gap:8px;padding:12px;display:flex}.progress-dot{background:var(--line-strong);cursor:pointer;border-radius:50%;width:6px;height:6px;transition:all .2s cubic-bezier(.16,1,.3,1)}.progress-dot:hover{background:var(--ink-dim)}.progress-dot.active{background:var(--accent);width:22px;box-shadow:0 0 10px var(--accent-glow);border-radius:3px}@media (width<=1024px){.viewer-grid{grid-template-columns:1fr}.project-index-row{grid-template-columns:1.6fr 1fr auto;gap:16px;padding:18px 12px}}@media (width<=768px){.work-index-section{padding:60px 0}.work-index-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.stage-nav-arrow{display:none}.viewer-body-stage{grid-template-columns:1fr}.project-index-row{grid-template-columns:1fr auto;align-items:flex-start;gap:16px;padding:18px 8px}.row-inspect-cue{display:none}.row-col-actions{flex-wrap:wrap;grid-column:1/-1;gap:6px}.row-mobile-toggle{background:var(--bg-subtle);border-color:var(--line-strong);color:var(--ink);align-items:center;display:inline-flex}.minimal-viewer{margin-top:28px}.viewer-image-col{padding:20px 16px}.viewer-copy-col{padding:24px 18px}}@media (width<=540px){.work-index-section{padding:48px 0}.project-index-row{padding:16px 4px}.project-index-row:hover,.project-index-row.row-active{padding-left:10px}.row-title{font-size:1.12rem}.row-description{font-size:.82rem;line-height:1.45}.row-mobile-toggle{padding:5px 12px;font-size:.68rem}.viewer-top-bar{padding:10px 14px}.viewer-main-title{margin-bottom:10px;font-size:1.4rem}.viewer-detail-text{font-size:.86rem;line-height:1.6}.viewer-actions-row{flex-direction:column;align-items:flex-start;gap:12px;padding-top:14px}.viewer-links{flex-wrap:wrap;width:100%}.viewer-btn,.mobile-expanded-actions .viewer-btn{flex:auto;justify-content:center}}.minimal-toolkit-section{border-bottom:1px solid var(--line);padding:92px 0}.toolkit-two-col{grid-template-columns:1.15fr .85fr;gap:64px;display:grid}.toolkit-col{flex-direction:column;display:flex}.toolkit-tools-col{border-right:1px solid var(--line);padding-right:64px}.spec-ledger{flex-direction:column;display:flex}.spec-group-row{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:24px 0;display:flex}.spec-group-row:last-child{border-bottom:1px solid var(--line)}.spec-group-header{align-items:baseline;gap:10px;display:flex}.spec-code{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;font-size:.74rem;font-weight:700}.spec-cat-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700}.spec-focus-desc{color:var(--ink-muted);margin:0 0 10px;font-size:.82rem;line-height:1.5}.spec-tools-flow{flex-wrap:wrap;align-items:center;gap:8px;line-height:1.7;display:flex}.spec-tool-item{color:var(--ink);cursor:default;align-items:center;gap:6px;font-size:.92rem;font-weight:600;transition:color .15s;display:inline-flex}.spec-tool-item:hover{color:var(--accent)}.spec-flow-sep{background-color:var(--accent);opacity:.75;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;width:4px;height:4px;display:inline-block}.chronological-ledger{flex-direction:column;gap:28px;display:flex}.ledger-year-section{flex-direction:column;display:flex}.ledger-year-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.ledger-year-tag{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;font-size:.74rem;font-weight:700}.ledger-year-rule{background:var(--line);flex:1;height:1px}.ledger-year-list{flex-direction:column;display:flex}.ledger-row{border:none;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;width:100%;font-family:inherit;font-size:inherit;color:inherit;background:0 0;align-items:center;gap:14px;padding:13px 10px;text-decoration:none;transition:all .16s;display:flex}.ledger-row:hover{background:var(--card-hover);padding-left:14px}html.theme-day .ledger-row:hover{background:#9e6b380f}.ledger-type-tag{font-family:var(--font-mono);letter-spacing:.08em;text-align:center;border-radius:2px;flex-shrink:0;min-width:44px;padding:2px 6px;font-size:.6rem;font-weight:700}.type-award{color:var(--accent);background:var(--accent-dim);border:1px solid var(--leather-border)}.type-cert{color:var(--ink-dim);border:1px solid var(--line-strong);background:0 0}html.theme-day .type-cert{color:var(--ink-muted);background:#16131108}.ledger-text-col{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.ledger-title{color:var(--ink);white-space:nowrap;font-size:.86rem;font-weight:600;transition:color .15s}.ledger-row:hover .ledger-title{color:var(--accent)}.ledger-sub-dash{color:var(--ink-dim);flex-shrink:0;font-size:.72rem}.ledger-issuer{font-family:var(--font-mono);color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.ledger-arrow{color:var(--ink-dim);flex-shrink:0;transition:transform .15s,color .15s}.ledger-row:hover .ledger-arrow{color:var(--accent);transform:translate(2px,-2px)}.cert-modal-overlay{z-index:99999;-webkit-backdrop-filter:blur(12px);box-sizing:border-box;background:#080706e0;justify-content:center;align-items:center;width:100dvw;height:100dvh;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}html.theme-day .cert-modal-overlay{-webkit-backdrop-filter:blur(10px);background:#261e1673}.cert-modal-container{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:860px;max-height:calc(100dvh - 48px);margin:auto;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px -12px #000000bf,0 0 0 1px #ffffff08}html.theme-day .cert-modal-container{background:var(--card-bg);border-color:var(--card-border);box-shadow:0 20px 48px #2d23191f,0 2px 8px #2d23190a}.cert-modal-header{background:var(--bg-subtle);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.cert-modal-header-left{align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.cert-modal-status-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;flex-shrink:0;display:inline-block}.cert-modal-bar-index{font-family:var(--font-mono);color:var(--accent);letter-spacing:.05em;flex-shrink:0;font-size:.72rem;font-weight:600}.cert-modal-bar-separator{color:var(--line-strong);flex-shrink:0;font-size:.75rem}.cert-modal-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:700;overflow:hidden}.cert-modal-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.cert-modal-close-btn{font-family:var(--font-mono);color:var(--ink-muted);border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px;font-size:.72rem;transition:all .15s;display:inline-flex}.cert-modal-close-btn:hover{color:var(--ink);background:var(--card-hover);border-color:var(--line)}.cert-modal-stage{background:radial-gradient(circle,#b8825214 0%,#0c0b0a99 80%);flex:auto;grid-template-columns:48px 1fr 48px;align-items:stretch;min-height:0;display:grid;position:relative;overflow:hidden}html.theme-day .cert-modal-stage{background:radial-gradient(circle,#8e582e0f 0%,#f4f0e8cc 80%)}.cert-modal-image-wrapper{border-left:1px solid var(--line);border-right:1px solid var(--line);justify-content:center;align-items:center;max-width:100%;max-height:100%;padding:28px 32px;display:flex;position:relative;overflow:hidden}.cert-modal-image{object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--card-border);width:auto;max-width:100%;height:auto;max-height:calc(85dvh - 200px);display:block;box-shadow:0 16px 40px -10px #000000a6,0 0 0 1px #ffffff0a}html.theme-day .cert-modal-image{border:1px solid var(--line);box-shadow:0 12px 32px #2d23191f,0 2px 6px #2d23190f}.cert-nav-arrow{color:var(--ink-dim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;height:100%;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.cert-nav-arrow:hover{color:var(--accent);background:#b8825214}html.theme-day .cert-nav-arrow{color:var(--ink-muted)}html.theme-day .cert-nav-arrow:hover{color:var(--accent);background:#8e582e14}.cert-modal-footer{background:var(--bg-subtle);border-top:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:14px 24px;display:flex}.cert-modal-institution{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.84rem;overflow:hidden}.cert-modal-nav-dots{flex-shrink:0;align-items:center;gap:8px;display:flex}.cert-dot-btn{background:var(--line-strong);cursor:pointer;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1)}.cert-dot-btn:hover{background:var(--ink-dim)}.cert-dot-btn.active{background:var(--accent);width:22px;box-shadow:0 0 10px var(--accent-glow);border-radius:3px}@media (width<=1024px){.toolkit-two-col{grid-template-columns:1fr;gap:32px}.toolkit-tools-col{border-right:none;border-bottom:1px solid var(--line);padding-bottom:36px;padding-right:0}}@media (width<=768px){.minimal-toolkit-section{padding:60px 0}}@media (width<=640px){.cert-modal-overlay{padding:10px}.cert-modal-header{padding:12px 14px}.cert-modal-stage{grid-template-columns:36px 1fr 36px;min-height:180px;max-height:50dvh;padding:0}.cert-modal-image-wrapper{padding:10px 4px}.cert-modal-image{max-height:46dvh}.cert-nav-arrow{width:100%;height:100%}.cert-modal-footer{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 14px}.cert-modal-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cert-modal-institution{white-space:normal}.cert-modal-nav-dots{justify-content:center;width:100%}.cert-modal-close-btn span{display:none}.ledger-text-col{white-space:normal;flex-direction:column;align-items:flex-start;gap:2px}.ledger-sub-dash{display:none}.ledger-title{white-space:normal;font-size:.84rem;line-height:1.35}.ledger-issuer{white-space:normal;font-size:.76rem}}@media (width<=540px){.minimal-toolkit-section{padding:48px 0}.spec-group-row{padding:18px 0}.spec-cat-title{font-size:1rem}.spec-focus-desc{font-size:.8rem}.spec-tool-item{font-size:.86rem}.ledger-row{gap:10px;padding:11px 4px}.ledger-row:hover{padding-left:8px}}.minimal-experience-section{border-bottom:1px solid var(--line);padding:84px 0}.minimal-experience-section .experience-header{margin-bottom:32px}.experience-ledger{flex-direction:column;display:flex}.experience-row{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;padding:24px 0;transition:all .18s;display:flex}.experience-row:last-child{border-bottom:1px solid var(--line)}.experience-info{flex-direction:column;gap:4px;display:flex}.experience-role{color:var(--ink);letter-spacing:-.015em;margin:0;font-size:1.15rem;font-weight:600;transition:color .15s}.experience-org{color:var(--ink-dim);font-size:.88rem}.experience-period{font-family:var(--font-mono);color:var(--ink-dim);white-space:nowrap;text-align:right;font-size:.82rem;transition:color .15s}.experience-row:hover .experience-role{color:var(--accent)}.experience-row:hover .experience-period{color:var(--ink)}@media (width<=768px){.minimal-experience-section{padding:60px 0}}@media (width<=640px){.minimal-experience-section{padding:48px 0}.experience-row{flex-direction:column;align-items:flex-start;gap:6px;padding:18px 0}.experience-role{font-size:1.02rem}.experience-org{font-size:.82rem}.experience-period{font-size:.76rem}}.github-activity-section{border-bottom:1px solid var(--line);padding:92px 0}.github-activity-header{margin-bottom:32px}.activity-title-col{flex-direction:column;display:flex}.github-heatmap-container{background:var(--card-bg);border:1px solid var(--line-strong);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 16px 40px #00000059}html.theme-day .github-heatmap-container{box-shadow:0 10px 30px #9e6b3814}.heatmap-top-bar{background:var(--bg-subtle);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.heatmap-user-meta{cursor:pointer;align-items:center;gap:8px;width:fit-content;text-decoration:none;display:inline-flex}.github-brand-icon{color:var(--ink-dim);transition:color .15s}.heatmap-username{font-family:var(--font-mono);color:var(--ink-muted);font-size:.78rem;font-weight:600;transition:color .15s}.heatmap-user-meta:hover .github-brand-icon,.heatmap-user-meta:hover .heatmap-username{color:var(--accent)}.heatmap-scroll-stage{background-color:var(--bg);align-items:center;width:100%;padding:24px 20px;display:flex;overflow-x:auto}.heatmap-board{flex-direction:column;gap:12px;width:max-content;margin:auto;display:flex}.heatmap-months-row{align-items:center;gap:12px;width:max-content;display:flex}.heatmap-month-spacer{flex-shrink:0;width:36px}.heatmap-months-track{grid-template-columns:repeat(53, var(--gh-cell-size));gap:var(--gh-cell-gap);width:max-content;display:grid}.heatmap-month-tag{font-family:var(--font-mono);color:var(--ink-dim);text-align:left;font-size:.8rem;font-weight:500}.heatmap-body-row{align-items:stretch;gap:12px;width:max-content;display:flex}.heatmap-weekdays-col{grid-template-rows:repeat(7, var(--gh-cell-size));gap:var(--gh-cell-gap);flex-shrink:0;width:36px;display:grid}.weekday-label{font-family:var(--font-mono);color:var(--ink-dim);height:var(--gh-cell-size);font-size:.78rem;line-height:var(--gh-cell-size);justify-content:flex-end;align-items:center;padding-right:8px;display:flex}@keyframes cellWaveIn{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}.heatmap-grid{grid-template-rows:repeat(7, var(--gh-cell-size));grid-auto-flow:column;grid-auto-columns:var(--gh-cell-size);gap:var(--gh-cell-gap);width:max-content;display:grid}.heatmap-grid:not(.revealed) .heatmap-cell{opacity:0;transform:scale(.35)}.heatmap-grid.revealed .heatmap-cell{animation:cellWaveIn .22s cubic-bezier(.16, 1, .3, 1) var(--cell-delay,0s) backwards}.heatmap-cell{width:var(--gh-cell-size);height:var(--gh-cell-size);cursor:pointer;will-change:transform, opacity;background:#1c1917;border-radius:4px;outline:none;transition:transform .14s cubic-bezier(.16,1,.3,1),outline .14s,box-shadow .14s;position:relative}@media (prefers-reduced-motion:reduce){.heatmap-grid:not(.revealed) .heatmap-cell{opacity:1;transform:none}.heatmap-grid.revealed .heatmap-cell{animation:none}}html.theme-day .heatmap-cell{background:#ebe5db}.heatmap-cell:hover,.heatmap-cell:focus-visible{outline:2px solid var(--accent);z-index:20;transform:scale(1.3)!important}.heatmap-cell.cell-today{outline:1.5px solid var(--accent);outline-offset:1px}.heatmap-cell.cell-future{opacity:.22;cursor:default;pointer-events:none}.heatmap-cell.level-0{background:#1c1917}html.theme-day .heatmap-cell.level-0{background:#ebe5db}.heatmap-cell.level-1{background:#3e2617}html.theme-day .heatmap-cell.level-1{background:#d8c3ad}.heatmap-cell.level-2{background:#6e3f1e}html.theme-day .heatmap-cell.level-2{background:#b88d66}.heatmap-cell.level-3{background:#b87333}html.theme-day .heatmap-cell.level-3{background:#8e582e}.heatmap-cell.level-4{background:#e59a58;box-shadow:0 0 8px #e59a5873}html.theme-day .heatmap-cell.level-4{background:#5f3414;box-shadow:0 0 6px #5f341459}.heatmap-bottom-bar{background:var(--bg-subtle);border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;font-size:.74rem;display:flex}.heatmap-total-label{color:var(--ink-muted)}.heatmap-bottom-right{align-items:center;gap:20px;display:flex}.heatmap-inspection-status strong{color:var(--accent)}.inspection-cue{color:var(--ink-dim);font-style:italic}.heatmap-legend{font-family:var(--font-mono);color:var(--ink-dim);align-items:center;gap:4px;font-size:.66rem;display:flex}.legend-cell{border-radius:3px;width:14px;height:14px}.legend-cell.level-0{background:#1c1917}.legend-cell.level-1{background:#3e2617}.legend-cell.level-2{background:#6e3f1e}.legend-cell.level-3{background:#b87333}.legend-cell.level-4{background:#e59a58}html.theme-day .legend-cell.level-0{background:#ebe5db}html.theme-day .legend-cell.level-1{background:#d8c3ad}html.theme-day .legend-cell.level-2{background:#b88d66}html.theme-day .legend-cell.level-3{background:#8e582e}html.theme-day .legend-cell.level-4{background:#5f3414}@media (width<=768px){.github-activity-section{padding:60px 0}.github-activity-header{margin-bottom:24px}.heatmap-scroll-stage{-webkit-overflow-scrolling:touch;justify-content:flex-start;padding:16px 12px}.heatmap-top-bar{padding:12px 16px}.heatmap-bottom-bar{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 16px}.heatmap-bottom-right{flex-wrap:wrap;justify-content:space-between;gap:10px;width:100%}}@media (width<=540px){.github-activity-section{padding:48px 0}.heatmap-inspection-status{font-size:.7rem}.heatmap-legend{font-size:.62rem}}.dossier-footer{font-family:var(--font-mono);color:var(--ink-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:64px 0 40px;font-size:.74rem;display:flex}.footer-left{align-items:center;gap:12px;display:flex}.footer-copyright{color:var(--ink-muted);margin:0}.footer-meta{color:var(--ink-dim)}.footer-right{align-items:center;gap:16px;display:flex}.back-to-top-btn{color:var(--ink-dim);align-items:center;gap:4px;transition:color .15s;display:inline-flex}.back-to-top-btn:hover{color:var(--accent)}@media (width<=768px){.dossier-footer{flex-direction:column;align-items:flex-start;gap:18px;padding:48px 0 36px}}@media (width<=540px){.dossier-footer{padding:36px 0 28px}.footer-left{flex-wrap:wrap;gap:6px}}.tilt-card-root{transform-style:preserve-3d;display:block;position:relative}.tilt-card-inner{transform-style:preserve-3d;will-change:transform;position:relative}.tilt-glare-overlay{pointer-events:none;border-radius:inherit;z-index:8;opacity:0;background:radial-gradient(circle 340px at var(--glare-x,50%) var(--glare-y,50%), #ffffff29 0%, #e59a5814 40%, transparent 70%);mix-blend-mode:overlay;transition:opacity .3s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}html.theme-day .tilt-glare-overlay{background:radial-gradient(circle 340px at var(--glare-x,50%) var(--glare-y,50%), #ffffff8c 0%, #9e6b3824 40%, transparent 70%);mix-blend-mode:soft-light}.tilt-card-root:hover .tilt-glare-overlay{opacity:1}.portrait-tilt-wrap{width:100%;max-width:360px}.viewer-tilt-wrap{width:100%;max-height:380px}.mobile-tilt-wrap{width:100%;max-height:220px}.dossier-app{background:0 0;min-height:100vh;position:relative}.dossier-container{max-width:1360px;margin:0 auto;padding:0 36px 120px}.view-fade-in{animation:.28s cubic-bezier(.16,1,.3,1) forwards fadeInView}@keyframes fadeInView{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.dossier-container{padding:0 24px 80px}}@media (width<=540px){.dossier-container{padding:0 16px 60px}}@media (width<=360px){.dossier-container{padding:0 12px 48px}}
