@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:About Korean;src:local("Malgun Gothic"),local("Apple SD Gothic Neo"),local("Noto Sans CJK KR"),local("Noto Sans KR");ascent-override:90%;descent-override:22%;line-gap-override:0%}:root{--bg: #100f0f;--surface: #1c1b1a;--surface-2: #282726;--nav-bg: rgb(28 27 26 / 90%);--text: #f2f0e5;--text-soft: #cecdc3;--text-muted: #878580;--date-text: #b7b5ac;--border: rgb(87 86 83 / 48%);--border-strong: rgb(159 157 150 / 44%);--accent: #a7b9a0;--link-hover: #b8b8b8;--organization-link-hover: #b7b5ac;--focus-ring: rgb(167 185 160 / 65%);--selection: rgb(167 189 156 / 45%);--selection-text: var(--text);--highlight: #3a2d04;--copied-border: rgb(167 185 160 / 38%);--copied-bg: rgb(25 29 24 / 78%);--section-offset: 1.8rem;--hover-transition: .16s ease-in-out;--button-hover-edge: rgb(167 185 160 / 14%);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "IBM Plex Sans", "Segoe UI", Helvetica, Arial, sans-serif;color-scheme:dark;font-family:var(--font-sans);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--bg: #fffcf0;--surface: #f2f0e5;--surface-2: #e6e4d9;--nav-bg: rgb(255 252 240 / 93%);--text: #100f0f;--text-soft: #282726;--text-muted: #6f6e69;--date-text: #575653;--border: rgb(206 205 195 / 92%);--border-strong: rgb(183 181 172 / 92%);--accent: #566b52;--link-hover: #575757;--organization-link-hover: #6f6e69;--button-hover-edge: rgb(86 107 82 / 12%);--focus-ring: rgb(86 107 82 / 50%);--selection: rgb(167 189 156 / 32%);--highlight: #f6e2a0;--copied-border: rgb(86 107 82 / 28%);--copied-bg: rgb(237 241 233 / 92%);color-scheme:light}*,*:before,*:after{box-sizing:border-box}*::selection{background:var(--selection);color:var(--selection-text)}html,body{margin:0;min-width:320px;min-height:100%;overflow-x:clip}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text)}#root{overflow-x:clip}mark{background:var(--highlight);color:var(--text)}#root{min-height:100vh}.site-shell{width:min(44rem,100% - 2rem);margin:0 auto;padding:clamp(2.45rem,4.6vw,3.3rem) 0 4rem;position:relative}.floating-nav{--nav-item-height: 1.8rem;display:flex;align-items:center;justify-content:space-between;gap:.95rem;margin:0 0 .69rem;font-size:1.12rem;font-weight:400}.floating-nav .nav-home{position:relative;display:inline-flex;align-items:center;color:var(--text);text-decoration:none;min-height:var(--nav-item-height);font-size:inherit;font-weight:inherit;line-height:1;white-space:nowrap}.nav-home-label{position:relative;z-index:1;display:inline-block;white-space:pre}.name-hover-graphics{position:absolute;inset:0;pointer-events:none;-webkit-user-select:none;user-select:none}.name-hover-underline{position:absolute;inset-inline:0;bottom:1px;height:1px;background:var(--accent);transform:scaleX(0)}.name-hover-highlight{position:absolute;inset:2px -3px;border-radius:3px;background:color-mix(in srgb,var(--accent) 18%,transparent);transform:scaleX(0)}.name-hover-scan{position:absolute;top:2px;bottom:2px;left:-3px;width:1px;background:var(--accent);transform:scaleY(0)}.name-hover-corner{position:absolute;width:7px;height:7px;border:solid var(--accent);border-width:0;transform:scale(0)}.name-hover-corner.top-left{top:-3px;left:-6px;border-width:1px 0 0 1px;transform-origin:top left}.name-hover-corner.top-right{top:-3px;right:-6px;border-width:1px 1px 0 0;transform-origin:top right}.name-hover-corner.bottom-left{bottom:-3px;left:-6px;border-width:0 0 1px 1px;transform-origin:bottom left}.name-hover-corner.bottom-right{bottom:-3px;right:-6px;border-width:0 1px 1px 0;transform-origin:bottom right}.name-hover-letters{position:absolute;inset:0;z-index:2;display:flex;align-items:center;visibility:hidden;color:var(--text)}.name-hover-letter{display:inline-block;white-space:pre;transform-origin:center bottom}.nav-home[data-name-letter-mode=true] .nav-home-label{visibility:hidden}.nav-home[data-name-letter-mode=true] .name-hover-letters{visibility:visible}.name-hover-sheen{position:absolute;inset:0;z-index:2;display:flex;align-items:center;color:var(--accent);white-space:pre;clip-path:inset(0 100% 0 -30%)}.name-hover-greeting{position:absolute;top:50%;left:calc(100% + 8px);padding:.25rem .4rem;border:1px solid var(--accent);border-radius:99px;background:var(--bg);color:var(--accent);font-size:.6rem;line-height:1;transform:translate(-4px,-50%) scale(0);transform-origin:left center}.name-hover-confetti{position:absolute;top:50%;width:6px;height:9px;border-radius:1px;background:var(--accent);transform:scale(0)}.name-hover-confetti:nth-of-type(2n){background:light-dark(#8b5719,#e5bd78)}.name-hover-marker{position:absolute;inset:-8px -11px;width:calc(100% + 22px);height:calc(100% + 16px);overflow:visible;fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round}.name-hover-marker path{opacity:0;stroke-dasharray:100;stroke-dashoffset:100}.name-hover-pixels{position:absolute;inset:0 -3px;z-index:3;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(3,1fr)}.name-hover-pixel{background:var(--accent);transform:scale(0)}.floating-nav .nav-home:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.floating-nav nav{margin-left:auto;overflow-x:auto;scrollbar-width:none}.floating-nav nav::-webkit-scrollbar{display:none}.floating-nav ul{margin:0;padding:0;display:flex;align-items:center;list-style:none;gap:.95rem;white-space:nowrap}.floating-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--nav-item-height);padding:0;text-decoration:none;font-size:inherit;font-weight:inherit;color:var(--text-muted);line-height:1;transition:color var(--hover-transition)}.floating-nav a.is-active{color:var(--text)}.floating-nav .section-nav-item a:hover,.floating-nav .section-nav-item a:focus-visible{color:var(--link-hover)}.floating-nav a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mobile-menu-toggle{display:none}.mobile-menu-toggle svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-menu-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.theme-toggle{min-height:var(--nav-item-height);width:var(--nav-item-height);height:var(--nav-item-height);display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;background:transparent;color:var(--text-muted);font:inherit;line-height:1;padding:0;cursor:pointer;transition:color .16s ease}.theme-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;flex:0 0 1.05rem}.theme-toggle:hover{color:var(--text)}.theme-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.theme-toggle-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}main{position:relative;z-index:1}.section{scroll-margin-top:var(--section-offset);padding:2.5rem 0 2rem}.kicker{margin:0 0 .65rem;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--text-muted)}h1{margin:0;font-size:clamp(2.3rem,6vw,4.2rem);line-height:1.05}.intro h1,h2{margin:0 0 1.1rem;font-size:clamp(1.6rem,3.2vw,2.1rem);font-weight:500;line-height:1.1;letter-spacing:-.01em}.intro-body{max-width:43em}.intro-name{margin:0;color:var(--text);font-size:1.05rem;font-weight:500;line-height:1.5}h3{margin:0;font-size:1.05rem;line-height:1.2}.role{margin:.9rem 0 0;font-size:1.08rem;color:var(--text-muted)}.summary{margin:1rem 0 0;max-width:43em;color:var(--text-muted);font-size:1.02rem;line-height:1.7}.intro .summary{color:var(--text-soft);font-family:"Inter","About Korean",var(--font-sans);font-size:1.06rem;line-height:1.72;text-align:justify;text-justify:inter-word;text-wrap:pretty}.inline-note{position:relative;display:inline}.inline-note-trigger{display:inline;color:inherit;border:0;padding:0;background:transparent;font:inherit;line-height:inherit;white-space:inherit;overflow-wrap:anywhere;cursor:help;text-decoration:underline;text-decoration-color:var(--text-muted);text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:.16em;transition:color var(--hover-transition),text-decoration-color var(--hover-transition)}.inline-note.is-visible .inline-note-trigger,.inline-note-trigger:hover,.inline-note-trigger:focus-visible{color:var(--text);text-decoration-color:var(--text)}.intro .inline-note-trigger,.intro .inline-note.is-visible .inline-note-trigger{text-decoration-color:var(--accent)}.inline-note-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:3px}.inline-note-bubble{position:absolute;left:50%;bottom:calc(100% + .6rem);transform:translate(-50%) translateY(.2rem);width:max-content;max-width:min(18rem,calc(100vw - 2rem));padding:.55rem .7rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text-soft);font-size:.92rem;font-style:normal;font-weight:400;line-height:1.45;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;z-index:5;transition:opacity var(--hover-transition),transform var(--hover-transition),visibility var(--hover-transition)}.inline-note.is-visible .inline-note-bubble{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0)}.intro .inline-note-bubble{-webkit-user-select:none;user-select:none}.intro-contact-links{margin-top:1rem;display:inline-flex;align-items:center;gap:.5rem}.intro-contact-links a{position:relative;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:7px;background:var(--bg);color:var(--text-soft)}.intro-contact-links a>svg:not(.contact-border){width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.contact-border{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);fill:none;stroke:var(--accent);stroke-width:1;pointer-events:none;transform:rotate(var(--border-rotation, 0deg))}.contact-border rect{width:calc(100% - 1px);height:calc(100% - 1px);opacity:0;stroke-dasharray:100;stroke-dashoffset:100}.intro-contact-links a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.timeline-switcher{margin:0 0 1rem;display:flex;gap:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.timeline-switcher::-webkit-scrollbar{display:none}.timeline-switcher button{border:0;border-bottom:1px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-size:.95rem;padding:.2rem 0 .25rem;cursor:pointer;transition:border-color .16s ease,color .16s ease}.timeline-switcher button:hover{color:var(--text-soft)}.timeline-switcher button.is-active{color:var(--text);border-color:var(--text-muted)}.timeline-switcher button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.timeline-switcher-secondary{margin-bottom:1rem;font-size:.94rem}.tools-intro{margin-bottom:clamp(2.1rem,4vw,2.7rem)}.tools-intro h2{margin-bottom:.75rem}.tools-intro p{margin:.25rem 0 0;color:var(--text);font-size:.98rem;line-height:1.35}.tool-stack{display:grid;gap:1.6rem;border-top:1px solid var(--border);padding-top:1.1rem}.tool-group{position:relative;display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:clamp(1rem,3vw,2rem);background:transparent;padding:0}.tool-group:before{content:"";position:absolute;left:calc(5.9rem + clamp(1rem,3vw,2rem));top:.15rem;bottom:.15rem;width:1px;background:var(--border)}.tool-group-head{padding-top:.35rem}.tool-group-head h3{margin:0;padding:0;color:var(--text);font-size:.98rem;font-weight:600;line-height:1.2}.tool-list{display:grid;grid-template-columns:minmax(0,1fr);column-gap:1.2rem;row-gap:.75rem;min-width:0}.tool-item{display:grid;grid-template-columns:1.85rem minmax(0,1fr);align-items:center;gap:.65rem;min-height:2.35rem;padding:0;transition:color var(--hover-transition),opacity var(--hover-transition)}.tool-item:hover{opacity:.82}.tool-icon{width:1.85rem;height:1.85rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;color:var(--text-soft);background:var(--surface-2);overflow:hidden}.tool-icon img{width:1.15rem;height:1.15rem;display:block;object-fit:contain}.tool-copy{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:.45rem;min-width:0}.tool-name{margin:0;color:var(--text);font-size:.93rem;font-weight:600;line-height:1.2;white-space:nowrap}.tool-note{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.35;overflow-wrap:anywhere;min-width:0}.tool-note:before{content:"/";margin-right:.45rem;color:var(--border-strong)}.experience-list-shell{overflow:hidden;transition:height .18s ease}.contact-table-shell{margin-top:1.15rem;overflow-x:auto}.contact-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:.94rem}.thoughts-section .summary{margin-bottom:1rem}.thought-list{display:grid;gap:1.35rem;border-top:1px solid var(--border);padding-top:1.2rem}.thought-item{padding:0 0 1.35rem;border-bottom:1px solid var(--border)}.thought-heading{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.thought-summary{margin:.45rem 0 0;color:var(--text-muted);font-size:.95rem;line-height:1.55}.thought-status{color:var(--text-muted);font-size:.82rem;line-height:1;white-space:nowrap}.experience-list{display:grid;gap:.8rem}.experience-list article{border:1px solid var(--border);border-radius:14px;padding:1.1rem 1rem;background:transparent}.experience-list header{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.entry-head-main,.entry-head-main>div,.contact-label-cell,.contact-value-cell,.contact-action{min-width:0}.entry-head-main{display:flex;align-items:center;gap:.8rem}.entry-logo{width:64px;height:64px;flex:0 0 64px;position:relative;border-radius:10px;background:transparent;overflow:hidden}.entry-logo img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:calc(100% - .9rem);max-height:calc(100% - .9rem);width:auto;height:auto;object-position:center;object-fit:contain;border-radius:6px}.meta{margin:.4rem 0 0;color:var(--text-muted);font-size:.92rem;overflow-wrap:anywhere}.entry-title-link{color:inherit;text-decoration:none;transition:color var(--hover-transition)}.entry-title-link:hover,.entry-title-link:focus-visible{color:var(--organization-link-hover)}.entry-title-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.entry-link-icon{display:inline-block;width:.9em;height:.9em;margin-left:.3em;vertical-align:-.08em;color:var(--text-muted);transition:color var(--hover-transition)}.entry-link-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.entry-title-link:hover .entry-link-icon,.entry-title-link:focus-visible .entry-link-icon{color:var(--organization-link-hover)}.role-list{margin-top:.85rem;display:grid;gap:.7rem}.role-list.is-multi{border-left:1px solid var(--border-strong);padding-left:.9rem}.meta-role{margin:0;color:var(--text);font-size:.96rem;line-height:1.45;overflow-wrap:anywhere}.meta-date{margin:.32rem 0 0;color:var(--text-muted);font-size:.88rem;font-weight:500;letter-spacing:.015em;line-height:1.4}.contact-table th,.contact-table td{padding:.72rem 1rem .72rem 0;text-align:left;vertical-align:top;line-height:1.35;border-bottom:1px solid var(--border)}.contact-table th,.contact-table td{padding-top:.8rem;padding-bottom:.8rem}.contact-label-cell{width:9rem;color:var(--text);font-weight:500}.contact-value-cell{width:100%}.contact-main{display:inline-flex;align-items:center;gap:.55rem;font-weight:500;white-space:nowrap}.contact-icon{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.contact-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.contact-icon-github{transform:translate(2px)}.contact-action{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-decoration:none;text-align:left;cursor:pointer}.contact-action:hover .contact-value,.contact-action:hover .contact-status,.contact-action:focus-visible .contact-value,.contact-action:focus-visible .contact-status{color:var(--text)}.contact-action:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.contact-action.is-copied .contact-status{color:var(--accent)}.contact-value{color:var(--text-soft);font-size:.96rem;line-height:1.35;overflow-wrap:anywhere;word-break:break-word;transition:color var(--hover-transition)}.contact-status{color:var(--text-muted);font-size:.84rem;white-space:nowrap;transition:color var(--hover-transition)}.puzzle-section{position:relative}.puzzle-invite{position:relative;z-index:2;padding:1rem 0 0}.puzzle-invite h2{margin-bottom:1.1rem}.puzzle-invite-row{display:inline-flex;align-items:center;gap:.75rem;flex-wrap:wrap}.puzzle-invite-text{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.45}.puzzle-invite-prompt{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.puzzle-idle-spacer{height:clamp(13rem,38vh,22rem)}.puzzle-summary{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;margin:0 0 .65rem;color:var(--text-muted);font-size:.95rem;line-height:1.45}.puzzle-summary-text{min-width:0}.puzzle-toolbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-start;gap:1rem;margin-bottom:.25rem;pointer-events:none}.puzzle-invite+.puzzle-toolbar{margin-top:.65rem}.puzzle-game-content{margin-top:.65rem;animation:puzzle-game-fade-in .26s ease-out both}.puzzle-count{display:inline-block;margin:0;color:var(--text);font-size:.92rem;font-variant-numeric:tabular-nums;white-space:nowrap}.puzzle-count.is-failed{animation:puzzle-count-flash .65s ease-out,puzzle-count-shake .45s ease-in-out}@keyframes puzzle-count-flash{15%,65%{color:#e05252}}@keyframes puzzle-count-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px) rotate(-2deg)}40%,80%{transform:translate(3px) rotate(2deg)}}.puzzle-actions{display:flex;align-items:stretch;gap:.55rem}.puzzle-confirmation-actions{display:flex;align-items:center;gap:.4rem}.puzzle-button{min-height:2.1rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-soft);font:inherit;font-size:.9rem;line-height:1.2;white-space:nowrap;padding:.45rem .8rem;cursor:pointer;pointer-events:auto;box-shadow:inset 0 0 0 1px transparent;transition:border-color var(--hover-transition),box-shadow var(--hover-transition)}.puzzle-button:hover:not(:disabled),.puzzle-button:focus-visible:not(:disabled){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--button-hover-edge)}.puzzle-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.puzzle-button:disabled{color:var(--text-muted);cursor:default;opacity:.7}.puzzle-confirmation{width:100%;display:flex;align-items:center;gap:.6rem;height:100%;min-height:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:0 .35rem 0 .65rem;pointer-events:auto}.puzzle-confirmation-slot{flex:0 0 clamp(28rem,58vw,31rem);display:flex;align-items:stretch;align-self:stretch;min-height:0;opacity:0;transition:opacity .16s ease}.puzzle-confirmation-slot.is-active{opacity:1}.puzzle-confirmation-text{flex:1;margin:0;color:var(--text);font-size:.86rem;line-height:1;white-space:nowrap}.puzzle-confirmation .puzzle-button{height:1.55rem;min-height:1.55rem;padding:.32rem .55rem}.puzzle-board-shell{position:relative;overflow:visible;overscroll-behavior:contain}.puzzle-board{position:relative;z-index:0;width:100%;height:auto;display:block;margin-top:-6.5rem;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}.puzzle-hit-target{width:100%;height:100%;border-radius:50%;pointer-events:all;touch-action:none}.puzzle-visible-box{fill:var(--surface);stroke:var(--border);stroke-width:1}.puzzle-segment,.puzzle-preview{fill:none;stroke-linecap:round;stroke-linejoin:round}.puzzle-segment{stroke:var(--text-soft);stroke-width:4.5}.puzzle-segment.is-solution{stroke:var(--accent)}.puzzle-preview{stroke:var(--text-muted);stroke-width:3.5;stroke-dasharray:6 6}.puzzle-dot{fill:var(--text)}.puzzle-dot-shell{transform-box:fill-box;transform-origin:center}.puzzle-dot-shell.is-jelly{animation:puzzle-dot-jelly .24s cubic-bezier(.22,.7,.24,1)}.puzzle-carry-dot{fill:none;stroke:var(--accent);stroke-width:2.5}.puzzle-hidden-dot{fill:none;stroke:var(--text-muted);stroke-width:1.5;opacity:.65}@keyframes puzzle-dot-jelly{0%{transform:translate(0) translateY(0) scale(1)}24%{transform:translate(-.7px) translateY(.35px) scale(1.24,.78)}52%{transform:translate(.55px) translateY(-.25px) scale(.9,1.15)}74%{transform:translate(-.2px) translateY(.15px) scale(1.07,.95)}to{transform:translate(0) translateY(0) scale(1)}}@keyframes puzzle-game-fade-in{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}@media(min-width:740px){.site-shell{width:min(44rem,100% - 4rem)}.section{padding:3rem 0 2.2rem}.experience-list article{padding:1.3rem 1.25rem}}@media(max-width:640px){.site-shell{--mobile-gutter: max(clamp(1.25rem, 5vw, 1.75rem), env(safe-area-inset-left), env(safe-area-inset-right));width:calc(100% - 2 * var(--mobile-gutter));padding-top:1.25rem;padding-bottom:3rem;font-size:1.0625rem}.floating-nav{--nav-item-height: 2.75rem;display:grid;grid-template-columns:minmax(0,1fr) 2.75rem 2.75rem;align-items:center;gap:.125rem;position:relative;z-index:10;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--border)}.floating-nav .nav-home{grid-column:1;grid-row:1;justify-self:start;padding:0;border:0;background:transparent;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.floating-nav .theme-toggle-slot{grid-column:2;grid-row:1;display:flex}.floating-nav .theme-toggle{border:0;border-radius:6px}.floating-nav .theme-toggle-icon{width:1.25rem;height:1.25rem;flex-basis:1.25rem}.mobile-menu-toggle{grid-column:3;grid-row:1;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;min-height:2.75rem;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-soft);cursor:pointer}.mobile-menu-toggle[aria-expanded=true]{background:var(--surface);color:var(--text)}.mobile-menu-toggle svg{width:1.25rem;height:1.25rem}.floating-nav nav{display:none;position:absolute;top:calc(100% - .5rem);left:0;width:100%;margin:.25rem 0 0;padding:.5rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:visible;box-shadow:0 12px 30px #0000001f}.floating-nav nav.is-open{display:block;animation:mobile-menu-reveal .16s ease-out both}.floating-nav ul{display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem;min-width:0;white-space:normal}.floating-nav .nav-home,.floating-nav a{font-size:1.0625rem}.floating-nav .section-nav-item a{width:100%;justify-content:flex-start;padding:.625rem .75rem;border-radius:8px}.floating-nav .section-nav-item a.is-active{background:var(--surface-2);color:var(--text)}.section{padding:1.75rem 0}.section+.section{border-top:1px solid var(--border)}.intro h1,h2{font-size:1.6rem;line-height:1.2}h1{font-size:clamp(2rem,11vw,2.9rem)}.summary,.intro .summary{font-size:1.0625rem;line-height:1.6}.intro .summary{text-align:left}.intro-contact-links{flex-wrap:wrap;gap:.375rem}.intro-contact-links a{width:2.75rem;height:2.75rem;border:0;background:transparent}.intro-contact-links a:before{content:"";position:absolute;inset:6px;border:1px solid var(--border-strong);border-radius:6px;pointer-events:none}.intro-contact-links a>svg:not(.contact-border){width:1.125rem;height:1.125rem}.intro-contact-links .contact-border{inset:6px;width:calc(100% - 12px);height:calc(100% - 12px)}.inline-note-bubble{left:0;bottom:calc(100% + .55rem);translate:var(--note-shift, 0px) 0;transform:translateY(.2rem);max-width:min(15rem,calc(100vw - 2rem))}.inline-note.is-visible .inline-note-bubble{transform:translateY(0)}.floating-nav a,.theme-toggle,.mobile-menu-toggle,.timeline-switcher button,.inline-note-trigger,.intro-contact-links a,.contact-action,.puzzle-button{touch-action:manipulation}.tool-group{grid-template-columns:minmax(0,1fr);gap:.85rem;padding:0}.tool-group:before{display:none}.tool-group-head{padding-right:0;padding-top:0}.tool-list{grid-template-columns:minmax(0,1fr);row-gap:.7rem}.tool-group+.tool-group{border-top:1px solid var(--border);padding-top:1.25rem}.tool-item{padding:0;min-height:2.75rem}.tool-copy{display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem}.tool-name,.tool-group-head h3{font-size:1rem}.tool-note{font-size:.9375rem}.tool-note:before{content:"";margin-right:0}.experience-list article{min-width:0;padding:1rem .9rem;border-radius:12px}.experience-list-shell{overflow:visible}.experience-list{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}.experience-category-track{--experience-settle-duration: .34s;--experience-settle-easing: cubic-bezier(.22, .68, 0, 1);position:relative;overflow:hidden;touch-action:pan-y pinch-zoom;overscroll-behavior-x:none;transition:height var(--experience-settle-duration) var(--experience-settle-easing)}.experience-category-track[data-dragging=true]{transition:none;user-select:none;-webkit-user-select:none;cursor:grabbing}.experience-category-rail{display:flex;align-items:flex-start;transform:translateZ(0)}.experience-category-rail[data-animated=true]{transition:transform var(--experience-settle-duration) var(--experience-settle-easing)}.experience-category-rail[data-dragging=true],.experience-category-rail[data-dragging=true] .experience-category-surface,.experience-category-rail[data-animated=true],.experience-category-rail[data-animated=true] .experience-category-surface{will-change:transform}.experience-category-page{flex:0 0 100%;min-width:0;padding:.125rem}.experience-category-surface{position:relative;transform-origin:center top;backface-visibility:hidden}.experience-category-surface:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 20%,var(--bg));opacity:var(--experience-shade, 0)}.experience-category-rail[data-animated=true] .experience-category-surface{transition:transform var(--experience-settle-duration) var(--experience-settle-easing),opacity var(--experience-settle-duration) var(--experience-settle-easing)}.experience-category-rail[data-animated=true] .experience-category-surface:after{transition:opacity var(--experience-settle-duration) var(--experience-settle-easing)}.experience-list h3{font-size:1.125rem;line-height:1.3;overflow-wrap:anywhere}.experience-list .entry-link-icon{display:none}.experience-category-track:focus-visible,.experience-category-arrow:focus-visible,.experience-carousel-pagination button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.experience-category-heading{display:grid;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;gap:.5rem;min-height:3.25rem}.experience-category-current{margin:0;color:var(--text);font-size:1.0625rem;font-weight:500;line-height:1.35;text-align:center;text-wrap:balance}.experience-category-arrow{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-soft);cursor:pointer;touch-action:manipulation;transition:background .16s ease,color .16s ease,transform .16s ease}.experience-category-arrow svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.experience-category-arrow:disabled{opacity:.25;cursor:default}.experience-category-arrow:active:not(:disabled){color:var(--accent);transform:scale(.9)}.experience-carousel-navigation{display:flex;align-items:center;justify-content:center;margin:-.25rem 0 .25rem}.experience-carousel-pagination{display:flex;flex-shrink:0}.experience-carousel-pagination button{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:8px;background:transparent;cursor:pointer;touch-action:manipulation}.experience-carousel-pagination button span{width:5px;height:5px;border-radius:99px;background:var(--text-muted);opacity:.5;transition:width .22s ease,background .22s ease,opacity .22s ease}.experience-carousel-pagination button[aria-pressed=true] span{width:18px;background:var(--accent);opacity:1}.experience-carousel-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.experience-list header{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}.entry-head-main{align-items:center;gap:.85rem}.entry-logo{width:64px;height:64px;flex:0 0 64px}.entry-logo img{max-width:calc(100% - .25rem);max-height:calc(100% - .25rem)}.role-list{margin-top:.75rem;gap:.55rem}.role-list.is-multi{padding-left:.75rem}.meta-role{font-size:1rem}.meta,.meta-date{font-size:.9375rem}.contact-table-shell{overflow:visible;margin-top:.75rem}.contact-table,.contact-table tbody,.contact-row,.contact-label-cell,.contact-value-cell{display:block;width:100%}.contact-table th,.contact-table td{padding:0;border:0}.contact-table tbody{display:grid;gap:0}.contact-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.2rem 0}.contact-table .contact-label-cell{width:100%;padding-right:0}.contact-action{display:block;min-width:2.75rem;min-height:2.75rem;border-radius:6px}.contact-action:after{content:"";position:absolute;inset:0;border-radius:inherit}.contact-action:focus-visible{outline:none}.contact-action:focus-visible:after{outline:2px solid var(--focus-ring);outline-offset:3px}.contact-main{min-height:2.75rem;gap:.75rem;font-size:1rem;white-space:normal}.contact-value{display:none}.contact-status{position:static;display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:0;font-size:.9375rem;line-height:1.3}.contact-action.is-copied .contact-status{color:var(--accent)}a.contact-action .contact-status{font-size:0}a.contact-action .contact-status:before{content:"↗";font-size:1.2rem}.contact-action:active .contact-status{color:var(--accent)}.thought-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.thought-heading h3{font-size:1.125rem;line-height:1.4}.thought-summary,.puzzle-invite-text{font-size:1rem}.thought-status,.puzzle-count{font-size:.9375rem}.puzzle-toolbar{align-items:flex-start;flex-direction:column}.puzzle-invite{padding-top:0;padding-bottom:0}.puzzle-idle-spacer{height:2rem}.puzzle-actions,.puzzle-confirmation-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.puzzle-actions>.puzzle-button,.puzzle-confirmation-actions>.puzzle-button{flex:0 1 auto;min-width:0;white-space:normal}.puzzle-button,.puzzle-confirmation .puzzle-button{position:relative;isolation:isolate;min-height:2.75rem;height:auto;padding:.5rem .75rem;border:0;font-size:1rem;box-shadow:none}.puzzle-button:before{content:"";position:absolute;z-index:-1;inset:4px 0;border:1px solid var(--border);border-radius:6px;pointer-events:none}.puzzle-button:is(:hover,:focus-visible):not(:disabled){box-shadow:none}.puzzle-button:is(:hover,:focus-visible):not(:disabled):before{border-color:var(--accent)}.puzzle-button:active:not(:disabled):before{background:var(--surface-2)}.puzzle-confirmation{flex-wrap:wrap;gap:.75rem;height:auto;padding:.75rem}.puzzle-confirmation-slot{display:none;flex-basis:100%;max-width:100%}.puzzle-confirmation-slot.is-active{display:flex}.puzzle-confirmation-text{flex-basis:100%;line-height:1.5;white-space:normal;font-size:1rem}.puzzle-board{margin-top:0;width:min(100%,28rem);margin-inline:auto}}@keyframes mobile-menu-reveal{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}@media(max-width:420px){.floating-nav ul{gap:.6rem}.timeline-switcher button{font-size:.92rem}}@media(min-width:641px)and (max-width:1024px)and (pointer:coarse){.floating-nav{--nav-item-height: 2.75rem}.timeline-switcher button,.puzzle-button,.puzzle-confirmation .puzzle-button,.contact-action{min-height:2.75rem;height:auto}.intro-contact-links a{width:2.75rem;height:2.75rem}.site-shell{padding-inline:max(env(safe-area-inset-left),env(safe-area-inset-right))}}@media(prefers-reduced-motion:reduce){.floating-nav nav.is-open{animation:none}.experience-category-arrow,.experience-carousel-pagination button span{transition:none}.experience-category-arrow:active:not(:disabled){transform:none}.puzzle-count.is-failed{animation:puzzle-count-flash .65s ease-out}.floating-nav a,.floating-nav .nav-home,.theme-toggle,.inline-note-trigger,.inline-note-bubble,.intro-contact-links a,.contact-border rect,.entry-title-link,.entry-link-icon,.contact-action,.contact-value,.contact-status,.puzzle-button,.tool-item,.timeline-switcher button,.experience-list-shell{transition:none}.experience-category-track{transition:none}.experience-category-rail[data-animated=true],.experience-category-rail[data-animated=true] .experience-category-surface,.experience-category-rail[data-animated=true] .experience-category-surface:after{transition:none}.experience-category-surface{transform:none!important;opacity:1!important}.experience-category-surface:after{opacity:0}.puzzle-dot-shell.is-jelly,.puzzle-game-content{animation:none}}
