.ask-about-me{--ask-background:#0b1118;--ask-surface:#101821;--ask-surface-alt:#142330;--ask-text:#e8edf1;--ask-muted:#9ca7b1;--ask-faint:#687b89;--ask-accent:#4ba6d8;--ask-accent-soft:#86c8eb;--ask-rule:#86c8eb38;z-index:2500;pointer-events:none;-webkit-text-size-adjust:100%;align-items:flex-end;gap:12px;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;display:flex;position:fixed;right:24px}.ask-about-me--bottom-right{flex-direction:column;bottom:24px}.ask-about-me--top-right{flex-direction:column-reverse;top:24px}.ask-about-me__launcher{border:1px solid #86c8eb80;border-left:4px solid var(--ask-accent);width:248px;min-height:64px;color:var(--ask-text);cursor:pointer;text-align:left;background:#101b25;border-radius:14px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:10px 15px 10px 12px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 44px #00050c80}.ask-about-me__launcher-wrap{isolation:isolate;pointer-events:auto;justify-content:flex-end;display:flex;position:relative}.ask-about-me__launcher-wrap--attention:before{z-index:-1;content:"";opacity:0;pointer-events:none;border:2px solid #86c8ebc7;border-radius:18px;animation:6s ease-out 1.2s infinite ask-about-me-launcher-highlight;position:absolute;inset:-6px;box-shadow:0 0 #4ba6d87a}.ask-about-me__launcher-wrap--attention .ask-about-me__launcher{animation:6s ease-in-out 1.2s infinite ask-about-me-surface-highlight}.ask-about-me__launcher-wrap--attention .ask-about-me__launcher:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(110deg,#0000 25%,#aee0f84d 48%,#0000 70%);animation:6s ease-in-out 1.2s infinite ask-about-me-sheen-highlight;position:absolute;inset:0;transform:translate(-115%)}.ask-about-me__launcher-wrap--attention .ask-about-me__launcher-icon{animation:6s ease-in-out 1.2s infinite ask-about-me-icon-highlight}.ask-about-me__launcher-icon{width:42px;height:42px;color:var(--ask-accent-soft);background:#0b2938;border:1px solid #86c8eb61;border-radius:9px;place-items:center;display:grid}.ask-about-me__launcher-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.ask-about-me__launcher-copy strong{color:var(--ask-text);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;line-height:1.2;overflow:hidden}.ask-about-me__launcher-copy small{color:#afbac3;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;line-height:1.3;overflow:hidden}.ask-about-me__launcher svg,.ask-about-me__composer button svg{width:22px;height:22px}.ask-about-me__launcher:hover{border-color:#86c8ebc2;border-left-color:var(--ask-accent-soft);background:var(--ask-surface-alt);box-shadow:0 20px 46px #00050c8f}.ask-about-me__launcher--open{background:var(--ask-surface-alt);border-color:#86c8eb80}.ask-about-me__nudge{border:1px solid #86c8eb6b;border-left:3px solid var(--ask-accent);background:var(--ask-surface);border-radius:14px;grid-template-columns:minmax(0,1fr) 44px;width:316px;animation:.2s both ask-about-me-nudge-enter;display:grid;position:absolute;bottom:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 20px 48px #00050c85}.ask-about-me--top-right .ask-about-me__nudge{top:calc(100% + 12px);bottom:auto}.ask-about-me__nudge-copy{min-width:0;color:var(--ask-text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex-direction:column;gap:5px;padding:16px 12px 16px 16px;display:flex}.ask-about-me__nudge-kicker{color:var(--ask-accent);letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700}.ask-about-me__nudge-copy strong{font-size:13.5px;font-weight:600;line-height:1.3}.ask-about-me__nudge-copy small{color:#afbac3;font-size:11px;line-height:1.4}.ask-about-me__nudge-action{color:var(--ask-accent-soft);letter-spacing:.08em;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9.5px;font-weight:700;display:inline-flex}.ask-about-me__nudge-dismiss{width:44px;min-height:44px;color:var(--ask-muted);cursor:pointer;background:0 0;border:0;align-self:start;padding:0;font-size:20px}.ask-about-me__nudge-copy:hover,.ask-about-me__nudge-dismiss:hover{background:var(--ask-surface-alt)}.ask-about-me__nudge-dismiss:hover{color:var(--ask-text)}.ask-about-me__launcher:focus-visible,.ask-about-me__nudge-copy:focus-visible,.ask-about-me__nudge-dismiss:focus-visible,.ask-about-me__close:focus-visible,.ask-about-me__composer textarea:focus-visible,.ask-about-me__composer button:focus-visible,.ask-about-me__message-actions button:focus-visible,.ask-about-me__copy:focus-visible,.ask-about-me__locale-action button:focus-visible,.ask-about-me__answer-links a:focus-visible,.ask-about-me__handoff:focus-visible,.ask-about-me__handoff-links a:focus-visible{outline-offset:3px;outline:3px solid #4ba6d861}.ask-about-me__panel{border:1px solid var(--ask-rule);background:var(--ask-background);width:560px;max-width:calc(100vw - 48px);height:720px;max-height:calc(100dvh - 108px);color:var(--ask-text);opacity:0;pointer-events:none;transform-origin:100% 100%;visibility:hidden;border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;transition:opacity .16s,transform .16s,visibility .16s;display:grid;overflow:hidden;transform:translateY(8px)scale(.97);box-shadow:0 20px 50px #00050c75}.ask-about-me--top-right .ask-about-me__panel{transform-origin:100% 0;transform:translateY(-8px)scale(.97)}.ask-about-me__panel--open{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)scale(1)}.ask-about-me__header{border-bottom:1px solid var(--ask-rule);background:var(--ask-surface);justify-content:space-between;align-items:flex-start;padding:18px 18px 15px;display:flex}.ask-about-me__header-actions{flex:none;align-items:center;gap:10px;display:flex}.ask-about-me__question-count{color:var(--ask-faint);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9.5px;font-weight:600;line-height:1.2}.ask-about-me__header h2,.ask-about-me__header p,.ask-about-me__message p,.ask-about-me__empty{margin:0}.ask-about-me__header h2{color:var(--ask-text);font-size:15px;font-weight:600;line-height:1.35}.ask-about-me__header p{color:var(--ask-muted);margin-top:2px;font-size:12px;line-height:1.4}.ask-about-me__close{width:40px;height:40px;color:var(--ask-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:21px;line-height:1}.ask-about-me__close:hover{background:var(--ask-surface-alt);color:var(--ask-text)}.ask-about-me__messages{overscroll-behavior:contain;background:var(--ask-background);scrollbar-color:var(--ask-faint) transparent;scrollbar-width:thin;flex-direction:column;gap:14px;min-height:0;padding:18px;display:flex;overflow-y:auto}.ask-about-me__messages::-webkit-scrollbar{width:6px}.ask-about-me__messages::-webkit-scrollbar-track{background:0 0}.ask-about-me__messages::-webkit-scrollbar-thumb{background:var(--ask-faint);border-radius:999px}.ask-about-me__empty{color:var(--ask-muted);text-align:center;margin:auto;font-size:13px}.ask-about-me__empty p{margin:0}.ask-about-me__suggestions{flex-direction:column;align-items:center;gap:7px;margin-top:14px;display:flex}.ask-about-me__suggestions button{border:1px solid var(--ask-rule);background:var(--ask-surface);color:#c4d7e4;font:inherit;cursor:pointer;border-radius:999px;padding:6px 10px;font-size:12px}.ask-about-me__suggestions button:hover{background:var(--ask-surface-alt);color:var(--ask-text);border-color:#86c8eb7a}.ask-about-me__suggestions button:focus-visible{outline-offset:2px;outline:3px solid #4ba6d861}.ask-about-me__message{flex-direction:column;gap:7px;max-width:88%;font-size:13px;line-height:1.5;display:flex}.ask-about-me__message--user{align-self:flex-end;align-items:flex-end}.ask-about-me__message--assistant{align-self:flex-start;align-items:flex-start}.ask-about-me__bubble{overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%;padding:10px 13px}.ask-about-me__message--user .ask-about-me__bubble{color:var(--ask-text);background:#173449;border:1px solid #86c8eb3d;border-radius:16px 16px 4px}.ask-about-me__message--assistant .ask-about-me__bubble{background:var(--ask-surface);color:#cbd8e1;border:1px solid #e0e8ee1a;border-radius:16px 16px 16px 4px;animation:.18s both ask-about-me-enter}.ask-about-me__trace{width:100%;color:var(--ask-accent-soft);background:#0b2330;border:1px solid #4ba6d847;border-radius:8px;padding:9px 10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.5}.ask-about-me__trace p{animation:.18s both ask-about-me-enter}.ask-about-me__trace p+p{margin-top:5px}.ask-about-me__trace span{color:var(--ask-accent)}.ask-about-me__trace svg,.ask-about-me__trace-details summary svg{width:12px;height:12px;color:var(--ask-accent);vertical-align:-2px;flex:0 0 12px}.ask-about-me__trace--scanning{animation:.18s both ask-about-me-enter}.ask-about-me__trace-details{background:#0b1c28;border:1px solid #4ba6d83d;border-radius:8px;width:100%;overflow:hidden}.ask-about-me__trace-details summary{color:var(--ask-accent-soft);cursor:pointer;align-items:center;gap:.45rem;padding:.55rem .65rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;list-style:none;display:flex}.ask-about-me__trace-details summary::-webkit-details-marker{display:none}.ask-about-me__trace-details summary small{color:var(--ask-muted);font:inherit;margin-left:auto}.ask-about-me__trace-details summary:after{color:var(--ask-accent);content:"+";font-size:14px;line-height:1}.ask-about-me__trace-details[open] summary:after{content:"-"}.ask-about-me__trace-details .ask-about-me__trace{background:#091923;border:0;border-top:1px solid #4ba6d833;border-radius:0}.ask-about-me__answer-actions{align-items:center;display:flex}.ask-about-me__copy{min-height:30px;color:var(--ask-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:.35rem;padding:.28rem .48rem;font-size:11px;line-height:1.2;display:inline-flex}.ask-about-me__copy:hover{background:var(--ask-surface-alt);color:var(--ask-text)}.ask-about-me__copy--success{color:var(--ask-accent-soft)}.ask-about-me__copy--error{color:#d9a8a8}.ask-about-me__copy svg{flex:0 0 13px;width:13px;height:13px}.ask-about-me__locale-action{display:flex}.ask-about-me__locale-action button{background:var(--ask-surface);min-height:36px;color:var(--ask-accent-soft);cursor:pointer;font:inherit;border:1px solid #86c8eb6b;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .72rem;font-size:12px;font-weight:700;display:inline-flex}.ask-about-me__locale-action button:hover:not(:disabled){background:var(--ask-surface-alt);color:var(--ask-text);border-color:#86c8ebb8}.ask-about-me__locale-action button:disabled{color:var(--ask-muted);cursor:default;border-color:#86c8eb2e}.ask-about-me__locale-action span{background:#4ba6d829;border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;line-height:1;display:grid}.ask-about-me__answer-links{flex-wrap:wrap;gap:.4rem;display:flex}.ask-about-me__answer-links a{background:var(--ask-surface);color:var(--ask-accent-soft);border:1px solid #86c8eb4d;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .58rem;font-size:11px;line-height:1.2;display:inline-flex}.ask-about-me__answer-links a:hover{background:var(--ask-surface-alt);color:var(--ask-text);border-color:#86c8eb94}.ask-about-me__answer-links a:focus-visible,.ask-about-me__trace-details summary:focus-visible{outline-offset:2px;outline:3px solid #4ba6d861}.ask-about-me__answer-links svg{flex:0 0 12px;width:12px;height:12px}.ask-about-me__message-actions{gap:4px;display:flex}.ask-about-me__message-actions button{color:var(--ask-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:2px 6px;font-size:11px;line-height:1.4}.ask-about-me__message-actions button:hover{background:var(--ask-surface-alt);color:var(--ask-text)}.ask-about-me__message-actions button:disabled{color:var(--ask-faint);cursor:not-allowed;opacity:.55;background:0 0}.ask-about-me__composer{border-top:1px solid var(--ask-rule);background:var(--ask-surface);grid-template-columns:minmax(0,1fr) 42px;align-items:end;gap:8px;padding:14px;display:grid}.ask-about-me__composer textarea{box-sizing:border-box;min-width:0;min-height:42px;max-height:calc(5.8em + 22px);color:var(--ask-text);font:inherit;overflow-wrap:anywhere;resize:none;background:#0d1721;border:1px solid #86c8eb4d;border-radius:18px;padding:10px 14px;font-size:13px;line-height:1.45}.ask-about-me__composer textarea::placeholder{color:var(--ask-muted)}.ask-about-me__composer button{background:var(--ask-accent);color:#07121f;cursor:pointer;border:0;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid}.ask-about-me__composer button:disabled{opacity:.3;cursor:not-allowed}.ask-about-me__handoff{border-top:1px solid var(--ask-rule);background:var(--ask-surface);padding:15px 18px 17px}.ask-about-me__handoff-kicker{color:var(--ask-accent);letter-spacing:.1em;margin-bottom:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700;display:block}.ask-about-me__handoff h3,.ask-about-me__handoff p{margin:0}.ask-about-me__handoff h3{color:var(--ask-text);font-size:14px;font-weight:600;line-height:1.35}.ask-about-me__handoff p{color:var(--ask-muted);margin-top:3px;font-size:11.5px;line-height:1.4}.ask-about-me__handoff-links{flex-wrap:wrap;gap:.4rem;margin-top:10px;display:flex}.ask-about-me__handoff-links a{min-height:32px;color:var(--ask-accent-soft);background:#0d1721;border:1px solid #86c8eb4d;border-radius:999px;align-items:center;gap:.32rem;padding:.38rem .58rem;font-size:11px;line-height:1.2;display:inline-flex}.ask-about-me__handoff-links a:hover{background:var(--ask-surface-alt);color:var(--ask-text);border-color:#86c8eb94}.ask-about-me__handoff-links svg{flex:0 0 12px;width:12px;height:12px}.ask-about-me__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes ask-about-me-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ask-about-me-nudge-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.ask-about-me--bottom-right,.ask-about-me--top-right{right:12px}.ask-about-me--bottom-right{bottom:calc(max(.65rem, env(safe-area-inset-bottom)) + 3.75rem)}.ask-about-me__launcher{grid-template-columns:36px minmax(0,1fr);gap:8px;width:208px;min-height:56px;padding-block:7px}.ask-about-me__launcher-icon{width:36px;height:36px}.ask-about-me__launcher-copy strong{font-size:12.5px}.ask-about-me__nudge{width:min(316px,100vw - 24px)}.ask-about-me__panel{width:min(480px,100vw - 24px);height:min(640px, 100dvh - 9rem - env(safe-area-inset-bottom));max-width:none;max-height:calc(100dvh - 9rem - env(safe-area-inset-bottom))}}@media (width<=480px){.ask-about-me__launcher{width:190px;min-height:54px}.ask-about-me__launcher-copy small{font-size:9.5px}.ask-about-me__panel{width:calc(100vw - 24px)}.ask-about-me__header{padding-inline:14px}.ask-about-me__header-actions{gap:6px}.ask-about-me__question-count{letter-spacing:.03em;font-size:8.5px}.ask-about-me__messages,.ask-about-me__handoff{padding-inline:14px}.ask-about-me__handoff-links{flex-wrap:nowrap;gap:3px}.ask-about-me__handoff-links a{white-space:nowrap;gap:3px;min-width:0;padding-inline:5px;font-size:9px}.ask-about-me__handoff-links svg{flex-basis:10px;width:10px;height:10px}}@keyframes ask-about-me-launcher-highlight{0%,4%,32%,to{opacity:0;transform:scale(.96);box-shadow:0 0 #4ba6d87a}9%{opacity:1}28%{opacity:0;transform:scale(1.1);box-shadow:0 0 0 15px #4ba6d800}}@keyframes ask-about-me-surface-highlight{0%,4%,32%,to{border-color:#86c8eb80;box-shadow:0 18px 44px #00050c80}12%{border-color:#aee0f8f5;box-shadow:0 0 0 4px #4ba6d829,0 18px 48px #00050c9e}}@keyframes ask-about-me-sheen-highlight{0%,5%{opacity:0;transform:translate(-115%)}8%{opacity:1}24%{opacity:0;transform:translate(115%)}25%,to{opacity:0;transform:translate(115%)}}@keyframes ask-about-me-icon-highlight{0%,4%,32%,to{color:var(--ask-accent-soft);background:#0b2938}12%{color:#e8f7ff;background:#1a526c}}@media (width<=600px),(pointer:coarse) and (orientation:landscape) and (height<=600px){.ask-about-me--bottom-right,.ask-about-me--top-right{top:auto;right:max(.75rem, env(safe-area-inset-right));bottom:calc(max(.5rem, env(safe-area-inset-bottom)) + 3.75rem);flex-direction:column}.ask-about-me__launcher{border-left-width:1px;border-radius:50%;grid-template-columns:1fr;gap:0;width:3rem;height:3rem;min-height:3rem;padding:0}.ask-about-me__launcher-wrap--attention:before{border-radius:50%}.ask-about-me__launcher-icon{border-radius:inherit;border:0;width:100%;height:100%}.ask-about-me__launcher-copy{display:none}.ask-about-me__nudge,.ask-about-me--top-right .ask-about-me__nudge{width:min(16rem, 100vw - 1.5rem - env(safe-area-inset-left) - env(safe-area-inset-right));border-radius:12px;grid-template-columns:minmax(0,1fr) 38px;top:auto;bottom:calc(100% + .5rem);right:0}.ask-about-me__nudge-copy{gap:3px;padding:12px 8px 12px 13px}.ask-about-me__nudge-kicker,.ask-about-me__nudge-action{display:none}.ask-about-me__nudge-copy strong{font-size:13px}.ask-about-me__nudge-copy small{font-size:10.5px}.ask-about-me__nudge-dismiss{width:38px;min-height:38px}.ask-about-me__panel{top:calc(var(--ask-vv-top,0px) + max(.5rem, env(safe-area-inset-top)));right:max(.5rem, env(safe-area-inset-right));bottom:auto;left:max(.5rem, env(safe-area-inset-left));width:auto;height:calc(100vh - max(.5rem, env(safe-area-inset-top)) - max(.5rem, env(safe-area-inset-bottom)) - 1rem);height:calc(var(--ask-vv-height,100dvh) - max(.5rem, env(safe-area-inset-top)) - max(.5rem, env(safe-area-inset-bottom)) - 1rem);transform-origin:bottom;overscroll-behavior:none;contain:layout paint;border-radius:.875rem;max-width:none;max-height:none;position:fixed}.ask-about-me--bottom-right .ask-about-me__panel,.ask-about-me--top-right .ask-about-me__panel{transition:opacity .12s,visibility .12s;transform:none}.ask-about-me--top-right .ask-about-me__panel--open{transform:translateY(0)scale(1)}.ask-about-me--open .ask-about-me__launcher-wrap{visibility:hidden;pointer-events:none}.ask-about-me__header,.ask-about-me__messages{padding:.75rem}.ask-about-me__messages{overscroll-behavior-y:contain;scrollbar-width:none;touch-action:pan-y;-webkit-overflow-scrolling:touch}.ask-about-me__messages::-webkit-scrollbar{display:none}.ask-about-me__composer{grid-template-columns:minmax(0,1fr) 44px;padding:.625rem}.ask-about-me__close,.ask-about-me__composer button{width:44px;height:44px}.ask-about-me__composer textarea{min-height:44px;max-height:min(6rem,24dvh);caret-color:var(--ask-accent-soft);font-size:16px;line-height:1.35}.ask-about-me__composer textarea,.ask-about-me__composer button,.ask-about-me__close,.ask-about-me__message-actions button,.ask-about-me__copy,.ask-about-me__answer-links a,.ask-about-me__suggestions button{touch-action:manipulation}.ask-about-me__message-actions button,.ask-about-me__copy,.ask-about-me__answer-links a,.ask-about-me__suggestions button{min-height:44px}.ask-about-me__launcher:focus-visible,.ask-about-me__close:focus-visible,.ask-about-me__composer textarea:focus-visible,.ask-about-me__composer button:focus-visible,.ask-about-me__message-actions button:focus-visible,.ask-about-me__copy:focus-visible,.ask-about-me__answer-links a:focus-visible{outline-color:var(--ask-accent-soft)}.ask-about-me[data-keyboard-open=true] .ask-about-me__header{padding-block:.6rem}.ask-about-me[data-keyboard-open=true] .ask-about-me__messages{gap:.65rem;padding-block:.625rem}.ask-about-me[data-keyboard-open=true] .ask-about-me__composer{padding-block:.5rem}}@media (width<=460px){.ask-about-me__message{max-width:94%}}@media (prefers-reduced-motion:reduce){.ask-about-me__panel,.ask-about-me__message--assistant .ask-about-me__bubble,.ask-about-me__nudge,.ask-about-me__launcher-wrap--attention:before,.ask-about-me__launcher-wrap--attention .ask-about-me__launcher,.ask-about-me__launcher-wrap--attention .ask-about-me__launcher:after,.ask-about-me__launcher-wrap--attention .ask-about-me__launcher-icon,.ask-about-me__trace p,.ask-about-me__trace--scanning{transition-duration:.01ms;animation:none}}@media (forced-colors:active){.ask-about-me__launcher,.ask-about-me__nudge,.ask-about-me__panel{border:1px solid buttontext}}:root{--background:#0b1118;--surface:#101821;--surface-alt:#141e28;--text:#e8edf1;--muted:#9ca7b1;--faint:#68747e;--accent:#4ba6d8;--rule:#e0e8ee24;--sidebar-width:clamp(19rem, 30vw, 24rem);--page-scroll:0}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth}body{background:var(--background);min-width:320px;color:var(--text);margin:0;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.65;overflow-x:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}.inline-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px;vertical-align:-.1em;flex:none;width:.95em;height:.95em;display:inline-block}button{color:inherit}::selection{background:#4ba6d859}.app,.portfolio-shell{min-height:100dvh;position:relative}.skip-link{z-index:3000;background:var(--text);color:var(--background);padding:.7rem 1rem;font-size:.82rem;font-weight:700;position:fixed;top:0;left:0;transform:translateY(-110%)}.skip-link:focus{transform:translateY(0)}.ambient-background{z-index:-2;pointer-events:none;background-color:var(--background);position:fixed;inset:0}.ambient-grid{opacity:.22;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.social-icons{z-index:1000;border-bottom:1px solid var(--rule);background:#0b1118f5;justify-content:space-between;align-items:center;height:3.5rem;padding:0 clamp(1.2rem,4vw,3rem);display:flex;position:fixed;inset:0 0 auto}.reading-progress{pointer-events:none;height:2px;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.reading-progress i{width:100%;height:100%;transform:scaleX(var(--page-scroll));transform-origin:0;background:linear-gradient(90deg,#327fa9,#73c7ed);transition:transform 70ms linear;display:block;box-shadow:0 0 .65rem #4ba6d899}.site-mark{color:var(--text);letter-spacing:.16em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.social-links-row{align-items:center;gap:clamp(.9rem,2.2vw,1.8rem);display:flex}.social-icons a{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.42rem;font-size:.75rem;transition:color .15s;display:inline-flex;position:relative}.social-link-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.25px;flex:none;width:.82rem;height:.82rem}.social-icons a:first-child .social-link-icon,.social-icons a:nth-child(2) .social-link-icon{fill:currentColor;stroke:none}.social-icons a:after{background:var(--accent);content:"";transform-origin:0;height:1px;transition:transform .15s;position:absolute;bottom:-.35rem;left:0;right:0;transform:scaleX(0)}.social-icons a:hover,.social-icons a:focus-visible{color:var(--text)}.social-icons a:hover:after,.social-icons a:focus-visible:after{transform:scaleX(1)}.language-switcher{appearance:none;width:4.85rem;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;align-content:center;justify-items:center;gap:.08rem;padding:0;line-height:1;display:grid}.language-switcher__coin{width:1.85rem;height:1.85rem;color:var(--text);perspective:12rem;border-radius:50%;position:relative}.language-switcher__coin-inner{border:1px solid var(--rule);border-radius:inherit;background:var(--surface);transform-style:preserve-3d;transition:transform .2s,border-color .15s,background .15s,color .15s;position:absolute;inset:0;transform:rotateY(0)}.language-switcher.is-japanese .language-switcher__coin-inner{transform:rotateY(180deg)}.language-switcher:hover .language-switcher__coin-inner,.language-switcher:focus-visible .language-switcher__coin-inner{border-color:var(--accent);background:var(--surface-alt);color:var(--accent)}.language-switcher:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.language-switcher__face{backface-visibility:hidden;place-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem;font-weight:700;transition:opacity 80ms linear 60ms;display:grid;position:absolute;inset:0}.language-switcher__face--en{opacity:1;transform:rotateY(0)}.language-switcher__face--ja{opacity:0;transform:rotateY(180deg)}.language-switcher.is-japanese .language-switcher__face--en{opacity:0}.language-switcher.is-japanese .language-switcher__face--ja{opacity:1}.language-switcher__rail{width:100%;min-height:.9rem;color:inherit;letter-spacing:.05em;grid-template-columns:auto minmax(.7rem,1fr) auto;align-items:center;gap:.24rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.48rem;display:grid}.language-switcher__label{opacity:.58;white-space:nowrap;transition:color .15s,opacity .15s}.language-switcher__label.is-active{color:var(--text);opacity:1}.language-switcher__track{background:var(--rule);height:1px;display:block;position:relative}.language-switcher__track i{background:var(--accent);border-radius:50%;width:.22rem;height:.22rem;transition:left .18s,transform .18s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.language-switcher.is-japanese .language-switcher__track i{left:100%;transform:translate(-100%,-50%)}.sidebar{z-index:5;width:var(--sidebar-width);overscroll-behavior:none;border-right:1px solid var(--rule);scrollbar-width:none;background:linear-gradient(90deg,#07121fc7,#07121f94);flex-direction:column;justify-content:flex-start;height:calc(100dvh - 3.5rem);padding:clamp(1.6rem,4.5vh,3.25rem) clamp(1.65rem,2.8vw,2.5rem) 1.5rem;display:flex;position:fixed;inset:3.5rem auto 0 0;overflow:clip}.sidebar::-webkit-scrollbar{display:none}.profile{width:100%;max-width:22rem}.profile-identity,.profile-conversion{min-width:0}.profile-eyebrow,.section-kicker{color:var(--accent);letter-spacing:.17em;text-transform:uppercase;margin:0 0 1rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;font-weight:600}.profile h1{letter-spacing:-.045em;margin:0;font-size:clamp(2.3rem,4vw,3.25rem);font-weight:620;line-height:1.04}.profile-role{color:var(--muted);margin:.65rem 0 .9rem;font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:450}.profile-role span{color:var(--text)}.profile-summary{color:#bdcbd6;margin:0;font-size:.9rem;line-height:1.58}.profile-actions{gap:0;margin-top:1rem;display:flex}.profile-actions a{border:1px solid var(--accent);background:var(--accent);color:#0b1118;letter-spacing:.04em;justify-content:center;align-items:center;min-height:2.75rem;padding:.65rem 1rem;font-size:.78rem;font-weight:700;transition:background-color .15s,color .15s;display:inline-flex}.profile-actions a.secondary{color:var(--text);background:0 0}.profile-actions a:hover{background:var(--text);border-color:var(--text);color:var(--background)}.profile-proof{background:linear-gradient(105deg,#0b2536a8,#081a296b);border:1px solid #86c8eb33;border-radius:.75rem;margin-top:1rem;padding:.85rem 1rem .75rem}.profile-availability{width:100%;color:var(--text);align-items:center;gap:.55rem;padding:0 0 .72rem;transition:color .16s;display:flex}.profile-availability:after{color:#71e5a0;content:"↗";margin-left:auto;font-size:.72rem;line-height:1;transition:transform .16s}.profile-availability:hover,.profile-availability:focus-visible{color:#c9f2ff}.profile-availability:hover:after,.profile-availability:focus-visible:after{transform:translate(.12rem,-.12rem)}.profile-availability__status{background:#71e5a0;border-radius:50%;flex:none;width:.45rem;height:.45rem;animation:2.8s ease-out infinite availability-pulse;box-shadow:0 0 0 .25rem #71e5a01a}.profile-availability>span:last-child{flex:1;justify-content:space-between;align-items:baseline;gap:.45rem;min-width:0;display:flex}.profile-availability strong,.profile-availability small{display:block}.profile-availability strong{letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;font-size:.66rem;font-weight:680}.profile-availability small{color:#8fa8b7;text-align:right;font-size:.58rem}.profile-metrics{border-top:1px solid #86c8eb29;border-bottom:1px solid #86c8eb29;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:.7rem 0;display:grid}.profile-metrics>div{border-right:1px solid #86c8eb1f;min-width:0;padding:0 .7rem}.profile-metrics>div:first-child{padding-left:0}.profile-metrics>div:last-child{border-right:0;padding-right:0}.profile-metrics dt{color:#bdeaff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:700}.profile-metrics dd{color:#7894a5;margin:.1rem 0 0;font-size:.54rem;line-height:1.35}.profile-references{color:#91a9b7;justify-content:space-between;gap:.75rem;margin:0;padding:.65rem 0 0;font-size:.57rem;line-height:1.35;display:flex}.profile-references span{color:#73c7ed;letter-spacing:.08em;text-transform:uppercase;flex:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.navigation{border-top:1px solid #86c8eb24;flex-direction:column;align-items:flex-start;width:100%;margin-top:clamp(1.1rem,3vh,1.8rem);padding-top:.9rem;display:flex}.navigation-status{color:#6e8798;letter-spacing:.08em;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;width:100%;margin-bottom:.7rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.58rem;display:grid}.navigation-status span:first-child{color:#86c8eb}.navigation-status i{background:#86c8eb57;height:1px}.nav-item{color:#91a8b9;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.9rem;width:100%;min-height:2.4rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;transition:color .15s;display:flex}.nav-line{transform-origin:0;background:currentColor;width:3rem;height:1px;transition:transform .18s,background-color .15s;transform:scaleX(.58)}.nav-item:hover,.nav-item.active{color:var(--text);background:linear-gradient(90deg,#4ba6d814,#0000 80%)}.nav-item:hover .nav-line,.nav-item.active .nav-line{background:var(--accent);transform:scaleX(1)}.content{z-index:1;width:calc(100% - var(--sidebar-width));min-height:100dvh;margin-left:var(--sidebar-width);padding:0 clamp(2.5rem,6vw,6.5rem);position:relative}.content>section{align-items:flex-start;min-height:100dvh;padding:clamp(7.5rem,16vh,10rem) 0 5rem;scroll-margin-top:3.5rem;display:flex;position:relative}.content>#about{flex-direction:column;gap:clamp(2.5rem,7vw,5rem);padding-bottom:clamp(6rem,12vh,9rem)}.content>section:not(#about){--reading-surface:#04101c5c;background:var(--reading-surface);box-shadow:0 0 0 100vmax var(--reading-surface);clip-path:inset(0 -100vmax)}.content>#experience{--reading-surface:#04121f6b;padding-top:clamp(5rem,10vh,6.5rem);padding-bottom:4rem}.content>#projects{--reading-surface:#04101c52}.content>#activity{--reading-surface:#04111d5c;min-height:auto;padding:clamp(2.75rem,5vh,3.5rem) 0}.content>#techs{--reading-surface:#04101c57}.content>#profile-guides{--reading-surface:#04121f7a;min-height:auto;padding-block:clamp(4.5rem,9vh,7rem)}.section-content{width:100%;max-width:62rem;position:relative}.motion-ready [data-reveal]{opacity:0;transition:opacity .52s,transform .62s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--reveal-order,0) * 65ms);transform:translateY(1rem)}.motion-ready [data-reveal=fade]{transform:none}.motion-ready [data-reveal][data-revealed=true],.motion-ready [data-reveal]:focus-within{opacity:1;transform:none}.section-content>h2,.tech-copy h2,.experience-intro h2,.projects-intro h2,.github-heading-row h2,.impact-heading h2,.profile-guides-intro h2{color:var(--text);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:650}.highlight{color:#86c8eb;font-weight:550}.section-image-fixed{z-index:0;pointer-events:none;position:fixed;inset:3.5rem 0 0;overflow:hidden}.section-image-fixed:after{content:"";background:linear-gradient(90deg,#07121f70,#07121f42 52%,#07121f52);position:absolute;inset:0}.section-image-fixed img{-o-object-fit:cover;object-fit:cover;opacity:.92;filter:brightness(.92)saturate(.76)contrast(1.04);width:100%;height:100%}.about-section{z-index:1;border-left:1px solid var(--accent);background:#07121fc2;max-width:64rem;padding:clamp(1.5rem,3vw,2.4rem)}.about-section>h2{margin-bottom:2rem}.about-content p{color:#c2ced7;margin:0 0 1.25rem;font-size:clamp(.98rem,1.4vw,1.08rem);line-height:1.78}.about-content p:last-child{margin-bottom:0}.impact-section{z-index:1;background:linear-gradient(#4ba6d80a 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#4ba6d80a 1px,#0000 1px) 0 0/32px 32px,#051422c2;border:1px solid #86c8eb45;border-radius:1rem;width:100%;max-width:64rem;position:relative;overflow:hidden;box-shadow:0 1.5rem 4rem #00050c47}.impact-heading{background:#061828ad;border-bottom:1px solid #86c8eb33;grid-template-columns:minmax(13rem,.78fr) minmax(18rem,1.22fr);align-items:end;gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.4rem,3vw,2rem);display:grid}.impact-heading .section-kicker{margin-bottom:.55rem}.impact-heading p:last-child{color:#b9cbd7;max-width:34rem;margin:0;font-size:.9rem;line-height:1.65}.impact-section{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.impact-heading{border:1px solid #86c8eb45;border-radius:1rem 1rem 0 0}.impact-runway{position:relative}.impact-dossier{background:linear-gradient(#4ba6d80a 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#4ba6d80a 1px,#0000 1px) 0 0/32px 32px,#04111de0;border:1px solid #86c8eb45;border-top:0;border-radius:0 0 1rem 1rem;position:relative;overflow:hidden;box-shadow:0 1.5rem 4rem #00050c47}.impact-dossier-toolbar,.impact-crosshair,.impact-compile-rail{display:none}.profile-guides-section{max-width:64rem}.profile-guides-intro{grid-template-columns:minmax(12rem,.75fr) minmax(18rem,1.25fr);align-items:start;gap:.75rem clamp(2rem,6vw,5rem);margin-bottom:2rem;display:grid}.profile-guides-intro .section-kicker{grid-column:1/-1;margin-bottom:.2rem}.profile-guides-intro>p:last-child{color:#aebfcb;margin:0;font-size:.92rem}.profile-guides-grid{border-top:1px solid #86c8eb3d;border-left:1px solid #86c8eb3d;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-guides-grid a{min-height:12rem;color:var(--text);background:#091c2c9e;border-bottom:1px solid #86c8eb3d;border-right:1px solid #86c8eb3d;grid-template-rows:auto auto 1fr;gap:.65rem;padding:clamp(1.25rem,3vw,2rem);text-decoration:none;transition:background-color .18s,border-color .18s;display:grid;position:relative}.profile-guides-grid a:hover,.profile-guides-grid a:focus-visible{background:#123045c7;border-color:#86c8ebb8}.profile-guides-grid a>span{color:var(--accent);letter-spacing:.14em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem}.profile-guides-grid strong{font-size:clamp(1.05rem,2vw,1.35rem);font-weight:600}.profile-guides-grid small{color:#aebfcb;max-width:34rem;font-size:.8rem;line-height:1.55}.profile-guides-grid i{color:var(--accent);font-style:normal;position:absolute;bottom:1rem;right:1.25rem}.impact-mobile-toolbar-copy{display:none}.impact-layer-stack{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.impact-layer{background:#061929db;border-right:1px solid #86c8eb2e;min-width:0}.impact-layer:last-child{border-right:0}.impact-layer article{grid-template-rows:auto 1fr auto;min-height:17rem;display:grid}.impact-layer article>header,.impact-layer article>footer{color:#6791a8;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .85rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.55rem;display:flex}.impact-layer article>header{border-bottom:1px solid #86c8eb24}.impact-layer article>header span:last-child{color:#86c8eb}.impact-layer article>footer{border-top:1px solid #86c8eb24}.impact-layer-body{align-content:start;gap:.9rem;padding:1.15rem;display:grid}.impact-layer-number{color:#4f7d97;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem}.impact-layer strong{color:#eef9fd;letter-spacing:-.045em;font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:590;line-height:1;display:block}.impact-layer h3{color:#c7d9e4;margin:.55rem 0 0;font-size:.78rem;font-weight:600;line-height:1.4}.impact-layer dl,.impact-layer dt,.impact-layer dd{margin:0}.impact-layer dl{border-top:1px solid #86c8eb24;gap:.55rem;padding-top:.85rem;display:grid}.impact-layer dl>div{gap:.2rem;display:grid}.impact-layer dt{color:#5f8ca5;letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.55rem}.impact-layer dd{color:#9eb4c2;font-size:.68rem;line-height:1.45}.impact-section--dossier .impact-heading{border-radius:1rem;margin-bottom:1.25rem}.impact-section--dossier .impact-runway{height:315vh;min-height:150rem}.impact-section--dossier .impact-dossier{isolation:isolate;background:linear-gradient(#4ba6d80b 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#4ba6d80b 1px,#0000 1px) 0 0/32px 32px,radial-gradient(circle at 50% 45%,#1a5d8426,#0000 48%),#030e19f5;border-top:1px solid #86c8eb52;border-radius:1rem;height:min(42rem,100vh - 5.75rem);min-height:34rem;position:sticky;top:4.5rem;overflow:hidden;box-shadow:0 2rem 6rem #00050c75,inset 0 1px #ddf5ff0d}.impact-section--dossier .impact-dossier-toolbar{z-index:20;color:#64879b;letter-spacing:.08em;text-transform:uppercase;background:#051523eb;border-bottom:1px solid #86c8eb33;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;min-height:3.35rem;padding:.7rem 1.15rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.6rem;display:grid;position:relative}.impact-section--dossier .impact-dossier-toolbar span{align-items:center;gap:.55rem;display:inline-flex}.impact-section--dossier .impact-dossier-toolbar span:nth-child(2){color:#b5d8e9}.impact-section--dossier .impact-dossier-toolbar span:last-child{color:#7ca5bb;justify-self:end}.impact-section--dossier .impact-dossier-toolbar i{background:#73c7ed;border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 0 .24rem #4ba6d81f,0 0 .9rem #4ba6d88c}.impact-section--dossier .impact-dossier-canvas{height:calc(100% - 3.35rem);position:relative;overflow:hidden}.impact-section--dossier .impact-crosshair{z-index:0;pointer-events:none;opacity:.26;display:block;position:absolute}.impact-section--dossier .impact-crosshair--horizontal{background:linear-gradient(90deg,#0000,#4ba6d8 15%,#4ba6d833 50%,#4ba6d8 85%,#0000);height:1px;top:50%;left:3%;right:3%}.impact-section--dossier .impact-crosshair--vertical{background:linear-gradient(#0000,#4ba6d8 15%,#4ba6d833 50%,#4ba6d8 85%,#0000);width:1px;top:5%;bottom:5%;left:50%}.impact-section--dossier .impact-layer-stack{margin:0;display:block;position:absolute;inset:0}.impact-section--dossier .impact-layer{--layer-x:0vw;--layer-y:0vh;--layer-rotate:0deg;--layer-scale:1;--layer-opacity:0;z-index:calc(var(--layer-index) + 2);opacity:var(--layer-opacity);transform:translate3d(var(--layer-x), var(--layer-y), 0) rotate(var(--layer-rotate)) scale(var(--layer-scale));transform-origin:50% 100%;will-change:transform, opacity;background:#071a2a;border:1px solid #86c8eb57;border-radius:.9rem;position:absolute;inset:clamp(4.4rem,9vh,6rem) clamp(4.2rem,8vw,6.5rem) clamp(3.5rem,7vh,4.5rem) clamp(2rem,4vw,3.5rem);overflow:hidden;box-shadow:0 1.5rem 3.5rem #00040c75,inset 0 1px #ddf5ff0a}.impact-section--dossier .impact-layer article{background:linear-gradient(120deg,#1e597d1c,#0000 48%),#071a2a;height:100%;min-height:0}.impact-section--dossier .impact-layer.is-active{border-color:#a4e3ffb8;box-shadow:0 1.8rem 4rem #00040c8a,0 0 1.7rem #4ba6d81a,inset 0 1px #ddf5ff14}.impact-section--dossier .impact-layer.is-active:before{z-index:3;pointer-events:none;content:"";background:linear-gradient(90deg,#0000,#a4e3ff,#0000);height:1px;animation:.85s ease-out both impact-dossier-scan;position:absolute;inset:0 0 auto;box-shadow:0 0 1rem #73c7edb8}.impact-section--dossier .impact-layer-body{grid-template-columns:3rem minmax(12rem,.85fr) minmax(15rem,1.15fr);align-items:center;gap:clamp(1.25rem,4vw,3.5rem);padding:clamp(1.4rem,4vw,3rem);display:grid}.impact-section--dossier .impact-layer-number{border-right:1px solid #86c8eb2e;align-self:stretch;padding-top:.15rem;font-size:.72rem}.impact-section--dossier .impact-layer strong{font-size:clamp(3rem,7vw,5.6rem)}.impact-section--dossier .impact-layer h3{max-width:21rem;font-size:clamp(1rem,1.8vw,1.3rem)}.impact-section--dossier .impact-layer dl{border-top:0;gap:1rem;padding-top:0}.impact-section--dossier .impact-layer dl>div{border-bottom:1px solid #86c8eb24;grid-template-columns:5rem minmax(0,1fr);gap:1rem;padding-bottom:.75rem}.impact-section--dossier .impact-layer dd{color:#bed0da;font-size:.82rem}.impact-section--dossier .impact-compile-rail{z-index:15;color:#496d82;flex-direction:column;justify-content:space-between;align-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.55rem;display:flex;position:absolute;top:4.8rem;bottom:3.8rem;right:1.35rem}.impact-section--dossier .impact-compile-track{z-index:-1;background:#86c8eb33;width:1px;position:absolute;top:0;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.impact-section--dossier .impact-compile-track i{width:100%;height:100%;transform:scaleY(var(--dossier-progress,0));transform-origin:top;background:#73c7ed;display:block;box-shadow:0 0 .6rem #4ba6d8b8}.impact-section--dossier .impact-compile-rail>span:not(.impact-compile-track){background:#071522;border:1px solid #315469;border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;display:grid}.impact-section--dossier .impact-compile-rail>span.is-active{color:#d9f3ff;border-color:#73c7ed;box-shadow:0 0 0 .22rem #4ba6d81a}@keyframes impact-dossier-scan{0%{opacity:0;transform:translateY(0)}25%{opacity:1}to{opacity:0;transform:translateY(16rem)}}.experience-section{max-width:none}.experience-intro{border-bottom:1px solid #86c8eb38;grid-template-columns:minmax(15rem,.78fr) minmax(0,1.22fr);gap:clamp(2rem,5vw,4.5rem);margin-bottom:2.25rem;padding:0 0 1.65rem;display:grid}.experience-intro h2{margin-bottom:.7rem}.experience-intro p{color:#c7d4dd;max-width:37rem;margin:0;font-size:clamp(.92rem,1.2vw,1rem);line-height:1.65}.experience-overview{grid-template-columns:.55fr .95fr 1.4fr;align-self:end;margin:0;display:grid}.experience-overview>div{border-left:1px solid #86c8eb38;min-width:0;padding:.2rem clamp(.75rem,1.5vw,1.25rem)}.experience-overview dt{color:#6f94aa;letter-spacing:.12em;margin-bottom:.35rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:650}.experience-overview dd{overflow-wrap:anywhere;color:#dbe9f1;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(.72rem,1vw,.82rem);line-height:1.45}.experience-list{border-top:1px solid #86c8eb40;display:grid}.experience-item{content-visibility:auto;contain-intrinsic-size:430px;background:linear-gradient(90deg,#051827c7,#0518278a 62%,#05182761);border-bottom:1px solid #86c8eb40;padding:clamp(1.5rem,3vw,2.25rem) clamp(1.25rem,3vw,2.2rem);display:grid;position:relative;box-shadow:inset 3px 0 #4ba6d87a}.experience-item--current{box-shadow:inset 3px 0 #73c7ed}.experience-item-header{border-bottom:1px solid #86c8eb29;justify-content:space-between;align-items:center;gap:1rem 2rem;padding-bottom:1rem;display:flex}.experience-entry-id{color:#76a2ba;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.8rem;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.71rem;font-weight:600;display:flex}.experience-entry-id span:first-child{color:#73c7ed}.experience-date{color:#c4d7e4;letter-spacing:.07em;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem .6rem;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:600;display:flex}.experience-external-icon{width:.9rem;height:.9rem;color:var(--accent);vertical-align:-.12em;flex:none;display:inline-block}.experience-current{color:#9cdbf6;text-transform:uppercase;border:1px solid #73c7ed61;padding:.22rem .42rem;font-size:.58rem;line-height:1}.experience-lead{padding-top:clamp(1.3rem,2.2vw,1.8rem)}.experience-lead h3{color:#f7fbfd;letter-spacing:-.025em;flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;max-width:58rem;margin:0 0 .7rem;font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:620;line-height:1.3;display:flex}.experience-at{color:#7f95a4;font-size:.82em;font-weight:430}.experience-company,.experience-lead h3 a{color:#86c8eb}.experience-lead h3 a{align-items:center;gap:.35rem;display:inline-flex}.experience-lead h3 a:hover,.experience-lead h3 a:focus-visible{text-underline-offset:.25em;text-decoration:underline}.experience-summary{color:#d7e2e9;max-width:64rem;margin:0;font-size:clamp(.96rem,1.3vw,1.05rem);line-height:1.7}.experience-outcomes{margin-top:clamp(1.5rem,2.6vw,2rem)}.experience-outcomes-label{color:#75a8c3;letter-spacing:.13em;margin-bottom:.55rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:650;display:block}.experience-details{counter-reset:experience-outcome;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.75rem;margin:0;padding:0;list-style:none;display:grid}.experience-details li{color:#c7d6e0;counter-increment:experience-outcome;border-top:1px solid #86c8eb29;grid-template-columns:1.45rem minmax(0,1fr);align-items:start;gap:.65rem;min-width:0;padding:.85rem 0;font-size:.91rem;line-height:1.62;display:grid}.experience-details li:before{color:#579ec4;content:counter(experience-outcome, decimal-leading-zero);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.61rem;line-height:2.35}.experience-tags,.project-tags{flex-wrap:wrap;gap:.45rem .8rem;margin-top:1rem;margin-bottom:0;padding:0;list-style:none;display:flex}.experience-tags li,.project-tags li{color:#829aa9;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.71rem}.experience-tags li:not(:last-child):after{color:var(--accent);content:"/";margin-left:.8rem}.project-tags{gap:.42rem}.project-tags li,.project-modal-tags span{background:#0a23366b;border:1px solid #86c8eb33;border-radius:999px;padding:.3rem .48rem;line-height:1.2}.projects-section{max-width:none}.projects-intro{border-bottom:1px solid #86c8eb38;grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr);align-items:end;gap:clamp(2rem,5vw,4.5rem);margin-bottom:2rem;padding-bottom:1.5rem;display:grid}.projects-intro .section-kicker{margin-bottom:.65rem}.projects-intro-summary{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;display:grid}.projects-intro-summary>p:first-child{color:#c7d4dd;max-width:38rem;margin:0;font-size:clamp(.92rem,1.2vw,1rem);line-height:1.65}.projects-count{color:#7894a5;letter-spacing:.09em;text-transform:uppercase;border-left:1px solid #86c8eb38;gap:.15rem;min-width:6.75rem;margin:0;padding-left:1rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;line-height:1.4;display:grid}.projects-count strong{color:#dbe9f1;font-size:1.05rem;font-weight:650}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-card{background:linear-gradient(145deg,#071929e6,#05121fbd);border:1px solid #86c8eb33;border-radius:.9rem;flex-direction:column;min-width:0;transition:border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff06,0 1.25rem 2.75rem #00060d29}.project-card:hover,.project-card:focus-within{border-color:#86c8eb6b;box-shadow:inset 0 1px #ffffff0a,0 1.4rem 3rem #00060d42}.project-card--featured{grid-column:1/-1;grid-template-columns:minmax(0,1.18fr) minmax(18rem,.82fr);display:grid}.project-image-container{aspect-ratio:16/9;background:var(--surface);border-bottom:1px solid #86c8eb29;min-width:0;display:block;position:relative;overflow:hidden}.project-card--featured .project-image-container{aspect-ratio:auto;border-bottom:0;border-right:1px solid #86c8eb29;height:100%;min-height:25rem}.project-image{-o-object-fit:cover;object-fit:cover;filter:saturate(.78);width:100%;height:100%;transition:filter .18s,transform .18s}.project-overlay{color:var(--text);letter-spacing:.06em;opacity:0;text-transform:uppercase;background:#0b1118e6;border-top:1px solid #ffffff24;justify-content:space-between;align-items:center;padding:.65rem .8rem;font-size:.72rem;transition:opacity .16s,transform .16s;display:flex;position:absolute;inset:auto 0 0;transform:translateY(100%)}.project-image-container:hover .project-image,.project-image-container:focus-visible .project-image{filter:saturate();transform:scale(1.015)}.project-image-container:hover .project-overlay,.project-image-container:focus-visible .project-overlay{opacity:1;transform:translateY(0)}.project-card__body{flex-direction:column;flex:1;min-width:0;padding:clamp(1.15rem,2.2vw,1.55rem);display:flex}.project-card--featured .project-card__body{padding:clamp(1.5rem,3vw,2.25rem)}.project-card__meta{color:#7399ae;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.15rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:650;display:flex}.project-card__meta span:first-child{color:#73c7ed}.project-card h3{color:#f7fbfd;letter-spacing:-.018em;margin:0 0 .7rem;font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:620;line-height:1.3}.project-card__description{overflow-wrap:anywhere;color:#c7d6e0;flex:1;margin:0;font-size:.91rem;line-height:1.68}.project-card--featured h3{font-size:clamp(1.45rem,2.6vw,2rem)}.project-card--featured .project-card__description{font-size:clamp(.95rem,1.25vw,1.04rem)}.project-card-actions{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.65rem;margin-top:1.2rem;padding-top:.8rem;display:flex}.project-quick-view,.project-link{min-height:2.75rem;color:var(--text);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#071c2d8c;border:1px solid #86c8eb38;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .75rem;font-size:.72rem;transition:background-color .15s,color .15s;display:inline-flex}.project-quick-view{color:#86c8eb;background:#2061842e;border-color:#73c7ed61}.project-quick-view:hover,.project-quick-view:focus-visible,.project-link:hover,.project-link:focus-visible{color:#86c8eb}.project-hover-progress{z-index:2;pointer-events:none;opacity:0;height:2px;transition:opacity .15s;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.project-hover-progress:after{content:"";transform-origin:0;background:linear-gradient(90deg,#3b91c1,#a4e3ff);position:absolute;inset:0;transform:scaleX(0);box-shadow:0 0 .75rem #73c7edb3}@media (hover:hover) and (pointer:fine){.project-card.is-hover-arming .project-hover-progress{opacity:1}.project-card.is-hover-arming .project-hover-progress:after{animation:5s linear forwards project-hover-progress}}@keyframes project-hover-progress{to{transform:scaleX(1)}}.project-status{background:var(--background);color:var(--accent);padding:.3rem .5rem;font-size:.65rem;position:absolute;bottom:.75rem;right:.75rem}.project-modal-backdrop{z-index:2600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#01070fe0;place-items:center;padding:clamp(1rem,3vw,2.5rem);display:grid;position:fixed;inset:0;overflow-y:auto}.project-modal{background:linear-gradient(145deg,#122d44fa,#051220fc 58%),#071522;border:1px solid #86c8eb6b;border-radius:1.2rem;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.35fr) minmax(19rem,.65fr);width:min(74rem,100%);height:min(46rem,100dvh - 3rem);max-height:calc(100dvh - 3rem);animation:.18s ease-out both project-modal-enter;display:grid;position:relative;overflow:hidden;box-shadow:0 2rem 6rem #00040cb8,inset 0 1px #d0efff14}.project-modal-close{z-index:3;color:#dff5ff;cursor:pointer;background:#030e19e0;border:1px solid #a4e3ff73;border-radius:50%;place-items:center;width:2.65rem;height:2.65rem;padding:0;font-size:1.55rem;line-height:1;transition:background-color .15s,border-color .15s,transform .15s;display:grid;position:absolute;top:.9rem;right:.9rem}.project-modal-close:hover{background:#12344d;border-color:#a4e3ff;transform:rotate(4deg)}.project-modal-media{background-color:#030d18;background-image:linear-gradient(#3682b014 1px,#0000 1px),linear-gradient(90deg,#3682b014 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-right:1px solid #86c8eb38;place-items:center;min-width:0;min-height:0;padding:clamp(.75rem,1.6vw,1.25rem);display:grid;overflow:hidden}.project-modal-media img{-o-object-fit:contain;object-fit:contain;border:1px solid #86c8eb33;border-radius:.7rem;width:100%;max-height:100%;display:block;box-shadow:0 1.5rem 3.5rem #00040c6b}@keyframes project-modal-enter{0%{opacity:0;transform:translateY(.75rem)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.project-modal-content{overscroll-behavior:contain;scrollbar-color:#315c78 transparent;scrollbar-gutter:stable;scrollbar-width:thin;touch-action:pan-y;min-width:0;height:100%;min-height:0;padding:clamp(2.25rem,4vw,4rem) clamp(1.4rem,3vw,2.75rem) clamp(1.5rem,3vw,2.75rem);overflow-y:auto}.project-modal-content::-webkit-scrollbar{width:.55rem}.project-modal-content::-webkit-scrollbar-track{background:#030e1980}.project-modal-content::-webkit-scrollbar-thumb{background:#315c78 padding-box padding-box;border:2px solid #0000;border-radius:999px}.project-modal-content::-webkit-scrollbar-thumb:hover{background:#4ba6d8 padding-box padding-box}.project-modal-content:focus-visible{outline-offset:-3px}.project-modal-kicker{color:#73c7ed;letter-spacing:.15em;text-transform:uppercase;margin:0 0 .65rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;font-weight:650}.project-modal-content h2{color:#f2f9fc;letter-spacing:-.045em;margin:0;font-size:clamp(1.8rem,3.7vw,3.2rem);font-weight:580;line-height:1.05}.project-modal-description{color:#c4d5e0;margin:1.2rem 0 0;font-size:clamp(.92rem,1.35vw,1.02rem);line-height:1.75}.project-modal-details{background:#081c2db8;border:1px solid #86c8eb38;border-radius:.75rem;margin-top:1.75rem;padding:1.15rem}.project-modal-details h3{color:#e6f6fd;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:650}.project-modal-specs{gap:.7rem;margin:1rem 0 0;display:grid}.project-modal-specs>div{border-bottom:1px solid #86c8eb1f;grid-template-columns:minmax(5.6rem,.34fr) minmax(0,1fr);gap:.8rem;padding-bottom:.7rem;display:grid}.project-modal-specs dt{color:#73c7ed;letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.67rem}.project-modal-specs dd{color:#b8cad5;margin:0;font-size:.78rem;line-height:1.55}.project-modal-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.project-modal-tags span{color:#bce9fb;background:#143f5b8a;padding:.38rem .58rem}.project-modal-link{color:#dff5ff;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #86c8eb40;border-bottom:1px solid #86c8eb40;justify-content:space-between;align-items:center;gap:2rem;width:100%;margin-top:1.5rem;padding:.8rem 0;font-size:.74rem;font-weight:650;transition:color .15s,padding-inline .15s;display:inline-flex}.project-modal-link:hover{color:#73c7ed;padding-inline:.35rem}.project-modal-unavailable{color:#8fa6b6;margin:1.5rem 0 0;font-size:.78rem}.github-section{max-width:66rem}.github-heading-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;padding-bottom:1.4rem;display:flex}.github-heading-row p{color:var(--muted);margin:.7rem 0 0;font-size:.92rem}.github-heading-row>a{color:var(--text);flex:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.github-heading-row>a:hover{color:#86c8eb}.contribution-panel{border:1px solid var(--rule);background:#071522d1;min-height:14rem;padding:clamp(1.2rem,3vw,2rem)}.github-status{color:var(--muted);margin:0;font-size:.88rem}.contribution-summary{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}.contribution-summary>div{align-items:baseline;gap:.45rem;display:flex}.contribution-summary strong{color:var(--text);letter-spacing:-.04em;font-size:clamp(1.4rem,3vw,2rem);font-weight:560}.contribution-summary span{color:var(--muted);font-size:.78rem}.github-trail-console dt{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.6rem}.live-indicator{text-transform:uppercase;align-items:center;gap:.45rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-flex}.live-indicator i{background:#55b6e7;border-radius:50%;width:.45rem;height:.45rem}.snake-heatmap{border-bottom:1px solid var(--rule);padding:1rem 0}.github-trail-instructions{color:var(--muted);justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 .8rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;display:flex}.github-trail-instructions span:before{color:var(--accent);content:">";margin-right:.45rem}.github-trail-instructions small{color:var(--faint);font-size:.6rem}.contribution-scroll{-ms-overflow-style:none;scrollbar-width:none;padding:.35rem 0 .75rem;overflow-x:auto}.contribution-scroll::-webkit-scrollbar{width:0;height:0;display:none}.contribution-calendar{--contribution-cell-size:.68rem;--contribution-gap:.2rem;gap:.38rem;width:max-content;display:grid}.contribution-months{grid-template-columns:repeat(var(--week-columns), var(--contribution-cell-size));-moz-column-gap:var(--contribution-gap);column-gap:var(--contribution-gap);height:.75rem;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.58rem;line-height:1;display:grid}.contribution-months span{grid-column:var(--month-column)/span 4;letter-spacing:.02em;white-space:nowrap;grid-row:1;min-width:0;overflow:hidden}.contribution-grid{grid-template-rows:repeat(7, var(--contribution-cell-size));grid-auto-columns:var(--contribution-cell-size);gap:var(--contribution-gap);grid-auto-flow:column;width:max-content;display:grid;position:relative}.contribution-cell{width:var(--contribution-cell-size);height:var(--contribution-cell-size);cursor:crosshair;border:0;border-radius:2px;padding:0;transition:outline-color .1s,transform .1s}.contribution-cell:hover,.contribution-cell:focus-visible{z-index:5;outline:1px solid var(--text);outline-offset:2px;transform:scale(1.35)}.contribution-cell.is-selected{z-index:4;outline:1px solid var(--accent);outline-offset:2px}.level-0{background:#1a222b}.level-1{background:#153b58}.level-2{background:#1e628e}.level-3{background:#2f8fc2}.level-4{background:#73c7ed}.contribution-snake{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.contribution-snake__trail{fill:none;filter:drop-shadow(0 0 .2rem var(--accent));stroke:var(--accent);stroke-dasharray:1;stroke-dashoffset:1px;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke;animation:github-snake-trace var(--snake-duration) linear forwards}.contribution-snake__start,.contribution-snake__end{fill:var(--surface);stroke:var(--accent);stroke-width:1px;vector-effect:non-scaling-stroke}.contribution-snake__head{fill:var(--text);filter:drop-shadow(0 0 .28rem var(--accent))}@keyframes github-snake-trace{to{stroke-dashoffset:0}}.github-trail-console{align-items:center;gap:1rem;min-height:4rem;padding-top:.85rem;display:flex}.github-trail-console>div:first-child{gap:.1rem;min-width:0;display:grid}.github-trail-console>div:first-child>span{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.58rem}.github-trail-console>div:first-child>strong{color:var(--text);font-size:.8rem;font-weight:600}.github-trail-console>div:first-child>small{color:var(--muted);font-size:.66rem}.github-trail-console dl{gap:1rem;margin:.45rem 0 0;display:flex}.github-trail-console dl div{align-items:baseline;gap:.35rem;display:flex}.github-trail-console dd{color:var(--text);margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem}.github-trail-console>button{border:1px solid var(--rule);background:var(--surface);color:var(--muted);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;flex:none;padding:.45rem .7rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem}.github-trail-console>button:hover,.github-trail-console>button:focus-visible{border-color:var(--accent);color:var(--text)}.contribution-legend{color:var(--faint);justify-content:flex-end;align-items:center;gap:.3rem;margin:0 0 0 auto;font-size:.68rem;display:flex}.contribution-legend i{border-radius:1px;width:.6rem;height:.6rem;display:block}.tech-stack-layout,.tech-showcase{width:100%;min-width:0}.tech-showcase{max-width:none}.tech-copy{border-bottom:1px solid var(--rule);grid-template-columns:minmax(13rem,.72fr) minmax(20rem,1.28fr);gap:clamp(2rem,5vw,5rem);margin-bottom:2rem;padding-bottom:1.5rem;display:grid}.tech-copy .section-kicker{margin-bottom:.55rem}.tech-copy p:last-child{color:#b6c7d3;max-width:39rem;margin:0;font-size:.92rem;line-height:1.7}.tech-map{background:#04111dc7;border:1px solid #60b5e052;border-radius:1rem;width:100%;min-width:0;position:relative;overflow:hidden;box-shadow:0 1.5rem 4rem #00050c4d,inset 0 1px #dcf4ff09;container-type:inline-size}.tech-map:before,.tech-map:after{z-index:4;pointer-events:none;content:"";width:2rem;height:2rem;position:absolute}.tech-map:before{border-top:1px solid #86c8eb8c;border-left:1px solid #86c8eb8c;top:.55rem;left:.55rem}.tech-map:after{border-bottom:1px solid #86c8eb8c;border-right:1px solid #86c8eb8c;bottom:.55rem;right:.55rem}.tech-map-toolbar{z-index:6;background:#051422e0;border-bottom:1px solid #60b5e02e;justify-content:space-between;align-items:center;gap:1.25rem;min-height:3.9rem;padding:.7rem 1rem .7rem 1.25rem;display:flex;position:relative}.tech-map-status{grid-template-columns:auto auto;align-items:center;gap:0 .55rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.tech-map-status>span{background:#73c7ed;border-radius:50%;grid-row:1/span 2;width:.46rem;height:.46rem;box-shadow:0 0 0 .28rem #4ba6d81f,0 0 1rem #4ba6d880}.tech-map-status strong{color:#d9f2fd;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:650}.tech-map-status small{color:#718da2;letter-spacing:.04em;font-size:.6rem}.tech-map-canvas{isolation:isolate;background:linear-gradient(#4ba6d80b 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#4ba6d80b 1px,#0000 1px) 0 0/32px 32px,radial-gradient(#26709d2b,#04111d0a 52%,#020b146b);min-height:clamp(27rem,46vw,33rem);position:relative;overflow:hidden}.tech-map-canvas:before{z-index:-1;pointer-events:none;content:"";background:linear-gradient(90deg,#4ba6d814,#0000 18% 82%,#4ba6d814);position:absolute;inset:0}.tech-map-traces{z-index:0;pointer-events:none;width:94%;height:92%;position:absolute;inset:4% 3%;overflow:visible}.tech-map-rings,.tech-map-spiral{fill:none;stroke:#4ba6d8;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;transition:opacity .28s,transform .68s cubic-bezier(.22,1,.36,1)}.tech-map-rings{opacity:.58;stroke-width:.16px}.tech-map-rings ellipse{stroke-dasharray:1.5 2.2}.tech-map-rings ellipse:nth-child(2){stroke-dasharray:4 1.5;opacity:.72}.tech-map-rings ellipse:nth-child(3){stroke-dasharray:.7 2.7;opacity:.54}.tech-map-rings ellipse:nth-child(4){stroke-dasharray:5 2;opacity:.42}.tech-map-spiral{opacity:0;stroke-width:.18px;stroke-dasharray:.8 1.45;stroke-dashoffset:18px}.tech-map--fragment .tech-map-rings{opacity:.12;transform:rotate(7deg)scale(1.09)}.tech-map--fragment .tech-map-spiral{opacity:.16;transform:scale(.96)}.tech-map--spiral .tech-map-rings{opacity:0;transform:rotate(18deg)scale(.58)}.tech-map--spiral .tech-map-spiral{opacity:.78;stroke-dashoffset:0;animation:14s linear infinite tech-signal-flow}@keyframes tech-signal-flow{to{stroke-dashoffset:-24px}}.tech-map-axis{z-index:0;pointer-events:none;opacity:.25;position:absolute}.tech-map-axis--horizontal{background:linear-gradient(90deg,#0000,#73c7ed99 15%,#73c7ed2e 50%,#73c7ed99 85%,#0000);height:1px;top:50%;left:3%;right:3%}.tech-map-axis--vertical{background:linear-gradient(#0000,#73c7ed80 17%,#73c7ed26 50%,#73c7ed80 83%,#0000);width:1px;top:5%;bottom:5%;left:50%}.tech-map-core{z-index:2;color:#dff5ff;letter-spacing:.08em;background:#0b2639;border:1px solid #b9e4f8a6;border-radius:50%;place-items:center;width:3.2rem;height:3.2rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.66rem;font-weight:700;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 .65rem #4ba6d812,0 0 2.5rem #4ba6d857}.tech-map-core i{border:1px solid #73c7ed29;border-radius:50%;position:absolute;inset:-1.05rem}.tech-node-list{z-index:3;margin:0;padding:0;list-style:none;position:absolute;inset:4% 3%}.tech-node-position{top:var(--orbit-y);left:var(--orbit-x);aspect-ratio:1;opacity:1;width:clamp(2.75rem,5.5cqw,3.5rem);transition:top .68s cubic-bezier(.22,1,.36,1),left .68s cubic-bezier(.22,1,.36,1),opacity .22s,transform .68s cubic-bezier(.22,1,.36,1);transition-delay:var(--node-delay);position:absolute;transform:translate(-50%,-50%)rotate(0)scale(1)}.tech-map--fragment .tech-node-position{top:var(--fragment-y);left:var(--fragment-x);opacity:.42;transform:translate(-50%, -50%) rotate(var(--fragment-rotation)) scale(.7);transition-duration:.24s;transition-delay:0s}.tech-map--spiral .tech-node-position{top:var(--spiral-y);left:var(--spiral-x)}.tech-node{color:#73bde3;cursor:pointer;background:#071a2af0;border:1px solid #86c8eb4d;border-radius:.8rem;place-items:center;width:100%;height:100%;padding:0;transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s,transform .16s;display:grid;box-shadow:0 .7rem 1.8rem #00040c52,inset 0 1px #dbf4ff0a}.tech-node-position:nth-child(3n+2) .tech-node{color:#9adcf8}.tech-node-position:nth-child(3n+3) .tech-node{color:#579fc8}.tech-node svg{fill:currentColor;width:clamp(1.3rem,2.7cqw,1.75rem);height:clamp(1.3rem,2.7cqw,1.75rem)}.tech-node:hover,.tech-node:focus-visible,.tech-node[aria-pressed=true]{color:#dff5ff;background:#12344d;border-color:#bce9fbd1;transform:translateY(-2px)scale(1.06);box-shadow:0 0 0 .32rem #4ba6d81f,0 0 1.7rem #4ba6d866,inset 0 1px #e0f7ff1f}.tech-map-coordinate{z-index:1;color:#86c8eb6b;letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.58rem;position:absolute}.tech-map-coordinate--top{top:1rem;right:1.2rem}.tech-map-coordinate--bottom{bottom:1rem;left:1.2rem}.tech-map-readout{z-index:6;background:#051422e6;border-top:1px solid #60b5e02e;grid-template-columns:2.5rem minmax(8rem,1fr) minmax(8rem,1fr);align-items:center;gap:1rem;min-height:5rem;padding:.8rem 1.25rem;display:grid;position:relative}.tech-map-readout-index{color:#73c7ed;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.tech-map-readout>div{min-width:0;display:grid}.tech-map-readout small{color:#668397;letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.58rem}.tech-map-readout strong{color:#dcebf3;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:570;overflow:hidden}.tech-handset-console{display:none}.contact-page{background:linear-gradient(#4ba6d809 1px, transparent 1px), linear-gradient(90deg, #4ba6d809 1px, transparent 1px), var(--background);background-size:40px 40px;min-height:100dvh;padding:0 clamp(1.25rem,5vw,5rem) 5rem}.contact-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;height:4.5rem;display:flex}.contact-header-actions{align-items:center;gap:.8rem;display:flex}html[lang=ja] body,html[lang=ja] button,html[lang=ja] input,html[lang=ja] textarea{font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,sans-serif}html[lang=ja] .section-kicker,html[lang=ja] .nav-item,html[lang=ja] .profile-eyebrow,html[lang=ja] .experience-entry-id,html[lang=ja] .experience-date,html[lang=ja] .impact-dossier-toolbar{letter-spacing:.06em}.back-link{color:var(--muted);cursor:pointer;letter-spacing:.07em;text-transform:uppercase;background:0 0;border:0;padding:0;font-size:.75rem}.back-link:hover{color:var(--text)}.contact-wordmark{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem}.contact-intro{grid-template-columns:minmax(18rem,.8fr) minmax(24rem,1.2fr);gap:clamp(3rem,8vw,8rem);max-width:78rem;margin:0 auto;padding:clamp(4rem,10vw,8rem) 0 clamp(4rem,8vw,6rem);display:grid}.contact-copy h1{letter-spacing:-.055em;max-width:35rem;margin:0;font-size:clamp(2.6rem,6vw,5.3rem);font-weight:560;line-height:.98}.contact-copy>p{max-width:33rem;color:var(--muted);margin:1.5rem 0 0;font-size:1rem}.contact-options{border-top:1px solid var(--rule)}.contact-options a{border-bottom:1px solid var(--rule);grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:6.1rem;padding:1rem 0;transition:color .15s,padding-left .15s;display:grid}.contact-options a:hover{color:#b9e4f8;padding-left:.65rem}.contact-option-number{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem}.contact-options strong,.contact-options small{display:block}.contact-options strong{font-size:1rem;font-weight:560}.contact-options small{color:var(--muted);margin-top:.2rem;font-size:.78rem}.calendar-section{border-top:1px solid var(--rule);max-width:78rem;margin:0 auto;padding-top:3rem;scroll-margin-top:2rem}.calendar-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem;display:flex}.calendar-heading p{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.67rem}.calendar-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:540}.calendar-heading>a,.calendar-provider-note a,.calendar-fallback a{color:#86c8eb;font-size:.76rem}.calendar-heading>a,.calendar-provider-note a{align-items:center;gap:.4rem;display:inline-flex}.calendar-heading>a{background:#4ba6d80f;border:1px solid #4ba6d847;border-radius:999px;padding:.55rem .75rem;transition:border-color .15s,background-color .15s,color .15s}.calendar-heading>a:hover,.calendar-provider-note a:hover,.calendar-fallback a:hover{color:#c7ebfb}.calendar-heading>a:hover{background:#4ba6d81f;border-color:#4ba6d885}.calendar-shell{background:#071522;border:1px solid #4ba6d84d;border-radius:1rem;overflow:hidden;box-shadow:0 1.75rem 5rem #00050c57,inset 0 1px #ffffff09}.calendar-shell-bar{color:#718da2;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(90deg,#0a1b2c,#0d2236);border-bottom:1px solid #4ba6d833;justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;padding:.7rem 1rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.64rem;display:flex}.calendar-provider{color:#acd7ec;align-items:center;gap:.5rem;display:inline-flex}.calendar-status-dot{background:#58b9e7;border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 0 .22rem #58b9e721}.calendar-frame{background:#f3f8fb;border:1px solid #7ab5d652;border-radius:.7rem;height:clamp(40rem,75vh,50rem);min-height:38rem;margin:.65rem;overflow:hidden}.calendar-frame iframe{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;filter:saturate(.82)hue-rotate(3deg)contrast(1.02);background:#fff;border:0;width:100%;height:100%;display:block}.calendar-provider-note{color:#7891a4;border-top:1px solid #4ba6d829;justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;padding:.75rem 1rem .85rem;font-size:.72rem;display:flex}.calendar-provider-note p{margin:0}.calendar-fallback{color:var(--faint);margin:.75rem 0 0;font-size:.72rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1100px){.social-icons{position:sticky;top:0}.portfolio-shell{padding-bottom:5rem}.sidebar{border-right:0;border-bottom:1px solid var(--rule);background:#07121fb8;width:100%;height:auto;min-height:0;padding:clamp(3rem,8vw,5rem) clamp(1.25rem,6vw,4rem) 2rem;position:relative;inset:auto;overflow:visible}.profile{max-width:46rem}.profile h1{font-size:clamp(2.8rem,10vw,5.5rem)}.profile-summary,.profile-proof{max-width:39rem}.navigation{bottom:max(.65rem, env(safe-area-inset-bottom));z-index:1000;border:1px solid var(--rule);background:#0b1118f7;flex-direction:row;justify-content:center;gap:0;width:min(100% - 1.25rem,43rem);margin:0;display:flex;position:fixed;left:50%;transform:translate(-50%)}.navigation-status{display:none}.nav-item{border-right:1px solid var(--rule);letter-spacing:.04em;text-align:center;flex:1;justify-content:center;min-width:0;min-height:3rem;padding:.35rem;font-size:clamp(.58rem,1.7vw,.67rem)}.nav-item:last-child{border-right:0}.nav-item.active{color:#b9e4f8;background:#12283a}.nav-line{display:none}.content{width:100%;margin-left:0;padding:0 clamp(1.25rem,6vw,4rem)}.content>section{min-height:auto;padding:clamp(4.5rem,10vw,7rem) 0 2rem;scroll-margin-top:3.5rem}.content>#about{gap:clamp(2.5rem,8vw,4rem);padding-bottom:clamp(5rem,10vw,7rem)}.content>#activity{padding:clamp(2.75rem,7vw,3.5rem) 0}.section-image-fixed{inset:3.5rem 0 0}.section-image-fixed:after{background:#07121f57}.section-image-fixed img{opacity:.9}}@media (width>=1101px) and (height<=800px){.sidebar{padding-top:1.25rem;padding-bottom:1rem}.profile-eyebrow{margin-bottom:.55rem}.profile h1{font-size:clamp(2.1rem,3.2vw,2.75rem)}.profile-role{margin-block:.42rem .6rem;font-size:1rem}.profile-summary{font-size:.82rem;line-height:1.48}.profile-actions{margin-top:.75rem}.profile-actions a{min-height:2.35rem;padding-block:.48rem}.profile-proof{margin-top:.65rem}.profile-metrics{margin-top:.48rem;padding-block:.42rem}.navigation{padding-top:.6rem}.navigation-status{margin-bottom:.35rem}.nav-item{min-height:2rem}}@media (width<=900px){.impact-layer-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.impact-layer:nth-child(2){border-right:0}.impact-layer:nth-child(-n+2){border-bottom:1px solid #86c8eb2e}.experience-intro{grid-template-columns:1fr;gap:1.35rem}.experience-overview{max-width:44rem}.project-card--featured{grid-template-columns:1fr}.project-card--featured .project-image-container{aspect-ratio:16/9;border-bottom:1px solid #86c8eb29;border-right:0;height:auto;min-height:0}.project-modal{overscroll-behavior:contain;display:block;overflow-y:auto}.project-modal-media{border-bottom:1px solid #86c8eb38;border-right:0;min-height:0;padding:.75rem}.project-modal-media img{max-height:43dvh}.project-modal-content{height:auto;overflow:visible}.tech-map-readout{grid-template-columns:2.5rem minmax(7rem,1fr) minmax(7rem,1fr)}}@media (width<=760px){.social-icons{height:3.25rem;padding-inline:1rem}.language-switcher{width:4.5rem}.social-links-row{gap:.75rem}.social-icons a{font-size:.64rem}.social-icons a:nth-child(4),.site-mark{display:none}.social-links-row{justify-content:space-between;width:100%}.profile-actions{width:100%}.profile-actions a{flex:1}.profile-guides-intro,.profile-guides-grid{grid-template-columns:1fr}.profile-guides-grid a{min-height:10rem}.about-section{padding:1.25rem 0 1.25rem 1.25rem}.impact-heading{grid-template-columns:1fr;gap:.75rem}.tech-copy{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.25rem}.experience-item{padding:1.35rem 1rem 1.5rem}.experience-item-header{flex-direction:column;align-items:flex-start;gap:.65rem}.experience-date{justify-content:flex-start}.experience-overview{grid-template-columns:.75fr 1.25fr}.experience-overview>div:nth-child(3){border-top:1px solid #86c8eb29;grid-column:1/-1;margin-top:.85rem;padding-top:.8rem}.experience-lead h3{font-size:clamp(1.18rem,5vw,1.45rem)}.experience-details{grid-template-columns:1fr}.experience-details li{padding-block:.75rem}.projects-intro{grid-template-columns:1fr;gap:1.15rem;margin-bottom:1.25rem}.projects-intro-summary{gap:1rem}.projects-grid{grid-template-columns:1fr}.project-card__body,.project-card--featured .project-card__body{padding:1.15rem}.project-card--featured h3{font-size:clamp(1.3rem,6vw,1.7rem)}.tech-map-toolbar{min-height:3.5rem;padding:.65rem .8rem .65rem 1rem}.tech-map-status small{display:none}.tech-map-canvas{min-height:0;padding:1rem}.tech-map-traces,.tech-map-axis,.tech-map-core,.tech-map-coordinate{display:none}.tech-node-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid;position:relative;inset:auto}.tech-node-position,.tech-map--fragment .tech-node-position,.tech-map--spiral .tech-node-position{opacity:1;width:100%;transition:none;position:relative;top:auto;left:auto;transform:none}.tech-node{border-radius:.65rem;min-height:3.25rem}.tech-node svg{width:1.45rem;height:1.45rem}.tech-map-readout{grid-template-columns:2rem minmax(0,1fr) minmax(0,1fr);gap:.65rem;padding-inline:1rem}.project-modal-backdrop{padding:.65rem}.project-modal{border-radius:.85rem;height:calc(100dvh - 1.3rem);max-height:calc(100dvh - 1.3rem)}.project-modal-close{width:2.4rem;height:2.4rem;top:.7rem;right:.7rem}.project-modal-content{padding:1.5rem 1.2rem 1.35rem}.github-heading-row,.calendar-heading{flex-direction:column;align-items:flex-start;gap:1rem}.contribution-summary{flex-direction:column;align-items:flex-start}.contribution-summary>div{flex-direction:column;align-items:flex-start;gap:0}.github-trail-instructions{flex-direction:column;align-items:flex-start;gap:.3rem}.github-trail-console{flex-wrap:wrap;align-items:flex-start}.github-trail-console>div:first-child{flex:16rem}.github-trail-console .contribution-legend{align-self:center}.contact-intro{grid-template-columns:1fr;gap:3rem;padding-block:4rem}.contact-copy h1{font-size:clamp(2.7rem,14vw,4.3rem)}.calendar-frame{height:46rem;min-height:42rem;margin:.45rem}.calendar-provider-note{flex-direction:column;align-items:flex-start;gap:.35rem;padding:.8rem}}@media (pointer:coarse){.contribution-calendar{--contribution-cell-size:1rem;--contribution-gap:.28rem}.contribution-cell{border-radius:3px}.project-overlay{display:none}}@media (width<=600px){html,body,#root{width:100%;min-width:0;max-width:100%;overflow-x:clip}body{overscroll-behavior-x:none}.app,.portfolio-shell,.content,.content>section,.section-content{min-width:0;max-width:100%}.app,.portfolio-shell{overflow-x:clip}.portfolio-shell{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.sidebar{min-width:0;max-width:100%;padding:3.5rem 1rem 1.75rem}.content{padding-inline:1rem}.content>section{padding-top:3.75rem}.experience-section>.section-kicker,.experience-intro,.projects-intro,.tech-copy{padding-inline:.5rem}.experience-intro{padding-bottom:1.85rem}.tech-copy{gap:.9rem;margin-bottom:1.6rem}.content>section:not(#about){box-shadow:none;clip-path:none}.navigation{right:max(.5rem, env(safe-area-inset-right));bottom:max(.5rem, env(safe-area-inset-bottom));left:max(.5rem, env(safe-area-inset-left));width:auto;max-width:none;transform:none}.nav-item{letter-spacing:.025em;min-height:3rem;padding-inline:.2rem}.motion-ready [data-reveal=fade]{transform:translateY(.55rem)}.experience-item,.experience-overview,.experience-lead,.experience-lead h3,.experience-lead h3 a,.experience-company,.github-section,.github-heading-row,.github-heading-row>div,.impact-section,.impact-dossier,.impact-layer,.impact-layer article,.impact-layer-body{min-width:0;max-width:100%}.experience-lead h3,.experience-lead h3 a,.experience-company,.github-heading-row,.github-heading-row>a,.impact-layer article{overflow-wrap:anywhere}.experience-lead h3,.impact-layer article>header,.impact-layer article>footer{flex-wrap:wrap}.github-heading-row>a{max-width:100%}.contribution-panel,.snake-heatmap,.contribution-scroll{min-width:0;max-width:100%}.contribution-panel,.snake-heatmap{overflow:hidden}.contribution-scroll{overscroll-behavior-inline:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;overflow:auto hidden}.impact-section--mobile-stack .impact-heading{border-radius:1rem;margin-bottom:1rem}.impact-section--mobile-stack .impact-runway{height:auto;min-height:0}.impact-section--mobile-stack .impact-dossier,.impact-section--mobile-stack .impact-dossier-canvas{height:auto;min-height:0;overflow:visible}.impact-section--mobile-stack .impact-dossier{box-shadow:none;background:0 0;border:0}.impact-section--mobile-stack .impact-dossier-toolbar{z-index:12;background:#051523f5;border:1px solid #86c8eb42;border-radius:.75rem;min-height:0;margin:0 .65rem .75rem;padding:0;display:block;position:sticky;top:3.75rem;box-shadow:0 .75rem 2rem #00050c52}.impact-section--mobile-stack .impact-mobile-toolbar-copy{color:#6f93a7;letter-spacing:.08em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem .75rem;min-width:0;padding:.7rem .8rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.56rem;display:grid}.impact-section--mobile-stack .impact-mobile-toolbar-copy span{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.impact-section--mobile-stack .impact-mobile-toolbar-copy span:nth-child(2){color:#c2e3f2;justify-self:end}.impact-section--mobile-stack .impact-mobile-toolbar-copy span:last-child{color:#54788d;grid-column:1/-1;font-size:.5rem}.impact-section--mobile-stack .impact-mobile-toolbar-copy i{background:#73c7ed;border-radius:50%;flex:none;width:.4rem;height:.4rem;box-shadow:0 0 0 .2rem #4ba6d81f}.impact-section--mobile-stack .impact-dossier-canvas{position:relative}.impact-section--mobile-stack .impact-crosshair{z-index:0;pointer-events:none;opacity:.13;display:block;position:absolute}.impact-section--mobile-stack .impact-crosshair--horizontal{background:linear-gradient(90deg,#0000,#4ba6d8 20% 80%,#0000);height:1px;top:.75rem;left:.65rem;right:.65rem}.impact-section--mobile-stack .impact-crosshair--vertical{background:linear-gradient(#0000,#4ba6d8 10% 90%,#0000);width:1px;top:0;bottom:0;left:1rem}.impact-section--mobile-stack .impact-layer-stack{z-index:1;margin:0;padding:.75rem .65rem clamp(4rem,14svh,6rem);display:block;position:relative}.impact-section--mobile-stack .impact-layer,.impact-section--mobile-stack .impact-layer:nth-child(2),.impact-section--mobile-stack .impact-layer:nth-child(-n+2),.impact-section--mobile-stack .impact-layer:last-child{top:calc(7rem + var(--mobile-stack-offset));z-index:calc(var(--layer-index) + 2);opacity:.78;transform-origin:50% 0;background:#071a2a;border:1px solid #86c8eb47;border-radius:.9rem;width:100%;margin:0 0 clamp(4.5rem,17svh,7rem);transition:opacity .26s,transform .32s cubic-bezier(.22,1,.36,1),border-color .26s,box-shadow .26s;position:sticky;overflow:hidden;transform:translateY(.75rem)scale(.975);box-shadow:0 1rem 2.5rem #00040c57}.impact-section--mobile-stack .impact-layer article{background:linear-gradient(120deg,#1e597d1c,#0000 48%),#071a2a;min-height:min(22rem,100svh - 10rem)}.impact-section--mobile-stack .impact-layer.is-mobile-active{opacity:1;border-color:#a4e3ffb8;transform:none;box-shadow:0 1.4rem 3rem #00040c80,0 0 1.4rem #4ba6d81a}.impact-section--mobile-stack .impact-layer.is-mobile-active:before{z-index:3;pointer-events:none;content:"";background:linear-gradient(90deg,#0000,#a4e3ff,#0000);height:1px;animation:.7s ease-out both impact-dossier-scan;position:absolute;inset:0 0 auto;box-shadow:0 0 1rem #73c7edb8}.impact-section--mobile-stack .impact-layer.is-mobile-compiled{opacity:.9;transform:translateY(-.2rem)scale(.985)}.impact-section--mobile-stack .impact-layer:last-child{margin-bottom:0}.impact-section--mobile-stack .impact-compile-rail{z-index:8;pointer-events:none;color:#496d82;flex-direction:column;justify-content:space-between;align-items:center;width:1.15rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:0;display:flex;position:absolute;top:1rem;bottom:5rem;right:.9rem}.impact-section--mobile-stack .impact-compile-track{z-index:-1;background:#86c8eb29;width:1px;position:absolute;top:0;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.impact-section--mobile-stack .impact-compile-track i{width:100%;height:100%;transform:scaleY(var(--mobile-stack-progress,0));transform-origin:top;background:#73c7ed;transition:transform .32s;display:block;box-shadow:0 0 .6rem #4ba6d8b8}.impact-section--mobile-stack .impact-compile-rail>span:not(.impact-compile-track){background:#071522;border:1px solid #315469;border-radius:50%;width:.55rem;height:.55rem;display:block}.impact-section--mobile-stack .impact-compile-rail>span.is-active{background:#4ba6d8;border-color:#73c7ed;box-shadow:0 0 0 .2rem #4ba6d81a}.tech-map--desktop{display:none}.tech-handset-console{opacity:0;background:linear-gradient(#4ba6d80b 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#4ba6d80b 1px,#0000 1px) 0 0/24px 24px,#04121fe6;border:1px solid #73c7ed57;border-radius:1rem;min-width:0;margin-bottom:3.75rem;transition:opacity .44s,transform .62s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden;transform:translateY(1rem);box-shadow:0 1.25rem 3rem #00050c57,inset 0 1px #dcf4ff0a}.tech-handset-console.is-entered{opacity:1;transform:none}.tech-handset-console:after{pointer-events:none;content:"";opacity:0;background:linear-gradient(90deg,#0000,#86c8ebd1,#0000);height:1px;position:absolute;top:0;left:0;right:0}.tech-handset-console.is-entered:after{animation:.76s ease-out .18s both tech-handset-scan}.tech-handset-console__header{background:#051422db;border-bottom:1px solid #73c7ed33;justify-content:space-between;align-items:flex-start;gap:.75rem;min-width:0;padding:1rem;display:flex}.tech-handset-console__header>div{min-width:0}.tech-handset-console__header span,.tech-handset-console__header>strong,.tech-handset-console__readout-index,.tech-handset-console__readout-copy small,.tech-handset-console__layer span,.tech-handset-console__node-copy small,.tech-handset-console__hint{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.tech-handset-console__header span{color:#5daed7;letter-spacing:.1em;font-size:.58rem;font-weight:700}.tech-handset-console__header h3{color:#e7f2f8;margin:.28rem 0 0;font-size:.95rem;font-weight:630;line-height:1.3}.tech-handset-console__header>strong{color:#7f9aad;letter-spacing:.08em;text-transform:uppercase;flex:none;padding-top:.15rem;font-size:.58rem;font-weight:600}.tech-handset-console__layers{border-bottom:1px solid #73c7ed33;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.tech-handset-console__layer{color:#8297a6;cursor:pointer;text-align:center;background:#04111db3;border:0;border-right:1px solid #73c7ed29;align-content:center;gap:.18rem;min-width:0;min-height:3.75rem;padding:.5rem .25rem;display:grid}.tech-handset-console__layer:last-child{border-right:0}.tech-handset-console__layer span{letter-spacing:.08em;font-size:.54rem}.tech-handset-console__layer strong{text-overflow:ellipsis;font-size:.7rem;font-weight:580;overflow:hidden}.tech-handset-console__layer.is-selected{color:#dff5ff;background:#102c40;box-shadow:inset 0 -2px #4ba6d8}.tech-handset-console__readout{background:#081f31db;border:1px solid #86c8eb47;border-radius:.85rem;grid-template-columns:auto 3.5rem minmax(0,1fr);align-items:center;gap:.75rem;min-width:0;margin:1rem;padding:.9rem;display:grid}.tech-handset-console__readout-index{color:#579fc8;align-self:start;font-size:.62rem}.tech-handset-console__readout-icon{color:#8fd5f4;background:#10334a;border:1px solid #b0e0f780;border-radius:.75rem;place-items:center;width:3.5rem;height:3.5rem;display:grid;box-shadow:0 0 1.5rem #4ba6d82e}.tech-handset-console__readout-icon svg{width:1.65rem;height:1.65rem}.tech-handset-console__readout-copy{gap:.15rem;min-width:0;display:grid}.tech-handset-console__readout-copy small{color:#579fc8;letter-spacing:.08em;text-transform:uppercase;font-size:.55rem}.tech-handset-console__readout-copy strong{color:#eff9fd;text-overflow:ellipsis;white-space:nowrap;font-size:1.12rem;font-weight:620;overflow:hidden}.tech-handset-console__readout-copy span{color:#9eb2bf;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.tech-handset-console__rail{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(10rem,76%);grid-auto-flow:column;gap:.7rem;max-width:100%;margin:0;padding:0 1rem .75rem;scroll-padding-inline:1rem;list-style:none;display:grid;overflow:auto hidden}.tech-handset-console__rail::-webkit-scrollbar{display:none}.tech-handset-console__rail li{scroll-snap-align:start;min-width:0}.tech-handset-console__node{color:#9eb1bd;cursor:pointer;text-align:left;background:#051726e6;border:1px solid #86c8eb38;border-radius:.75rem;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.7rem;width:100%;min-height:4.75rem;padding:.7rem;display:grid}.tech-handset-console__node.is-selected{color:#eef9fd;background:#113249;border-color:#b0e0f7b8;box-shadow:inset 3px 0 #4ba6d8}.tech-handset-console__node-icon{color:#76c4e9;background:#0d3046bd;border:1px solid #86c8eb38;border-radius:.65rem;place-items:center;width:2.75rem;height:2.75rem;display:grid}.tech-handset-console__node-icon svg{width:1.35rem;height:1.35rem}.tech-handset-console__node-copy{gap:.2rem;min-width:0;display:grid}.tech-handset-console__node-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:580;overflow:hidden}.tech-handset-console__node-copy small{color:#6f8da0;letter-spacing:.06em;text-transform:uppercase;font-size:.55rem}.tech-handset-console__hint{color:#718a9a;border-top:1px solid #73c7ed24;margin:0;padding:.65rem 1rem .85rem;font-size:.58rem;line-height:1.5}.tech-handset-console.is-entered .tech-handset-console__rail li{animation:.42s cubic-bezier(.22,1,.36,1) both tech-handset-node-in;animation-delay:calc(.18s + var(--handset-node-order) * 55ms)}}@keyframes tech-handset-scan{0%{opacity:0;transform:translateY(0)}25%{opacity:.85}to{opacity:0;transform:translateY(24rem)}}@keyframes tech-handset-node-in{0%{opacity:0;transform:translate(.75rem)}to{opacity:1;transform:none}}@keyframes availability-pulse{0%,65%,to{box-shadow:0 0 0 .2rem #71e5a017}78%{box-shadow:0 0 0 .38rem #71e5a029}}@media (width<=460px){.language-switcher{width:4.2rem}.language-switcher__rail{gap:.18rem;font-size:.45rem}.impact-layer-stack{grid-template-columns:1fr}.impact-layer,.impact-layer:nth-child(2){border-bottom:1px solid #86c8eb2e;border-right:0}.impact-layer:last-child{border-bottom:0}.social-icons a:nth-child(3){display:none}.nav-item{font-size:.56rem}.project-card__body,.contribution-panel,.tech-group{padding:1rem}.projects-intro-summary{grid-template-columns:1fr}.profile-references{flex-direction:column;align-items:flex-start}.projects-count{border-top:1px solid #86c8eb29;border-left:0;align-items:baseline;gap:.55rem;min-width:0;padding-top:.65rem;padding-left:0;display:flex}.project-card-actions{grid-template-columns:1fr;display:grid}.contact-options a{grid-template-columns:2rem minmax(0,1fr) auto}.calendar-shell-bar{padding-inline:.8rem}}@media (prefers-contrast:more),(forced-colors:active){.calendar-frame iframe{filter:none}}:focus-visible{outline-offset:3px;outline:2px solid #73c7ed}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.contribution-snake{display:block}.contribution-snake__trail{stroke-dashoffset:0;animation:none}.contribution-snake__head,.reading-progress{display:none}.language-switcher__face{backface-visibility:visible;transition:opacity .1s!important;transform:none!important}.language-switcher__coin-inner,.language-switcher.is-japanese .language-switcher__coin-inner{transition:none!important;transform:none!important}.motion-ready [data-reveal],.motion-ready [data-reveal=fade]{opacity:1;transition:none;transform:none}.impact-section--dossier .impact-layer.is-active:before,.tech-map-spiral{animation:none}.tech-map-rings,.tech-map-spiral,.tech-node-position,.tech-node{transition:none}.tech-handset-console{opacity:1;transition:none;transform:none}.tech-handset-console:after,.tech-handset-console__rail li{animation:none}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:SF Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.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}.fixed{position:fixed}.block{display:block}.hidden{display:none}.resize{resize:both}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}html{scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{min-height:100dvh}
