@font-face{font-family:Paperlogy;src:url(/fonts/Paperlogy-4Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Paperlogy;src:url(/fonts/Paperlogy-7Bold.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{color-scheme:light;--ink:#183749;--muted:#36596e;--edge:#ffffffb3;--panel:#ffffff25;--accent:#234a63;--button:#fff;--dialog:#edf6fc;--line:#416b822e;--solid:#e0f0fa;--hover-edge:#47728b45;--glass-shadow:#1c4b6b16}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:24px}body{margin:0;min-width:280px;background:#c1def1;color:var(--ink);font:15px/1.8 Paperlogy,system-ui,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}p{color:var(--muted);word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty;line-break:strict}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;min-width:44px;min-height:44px;border:1px solid var(--edge);border-radius:24px;background:var(--panel);padding:8px 16px}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}main:focus{outline:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:700;line-height:1.4;letter-spacing:-.045em;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}h2{font-size:26px}h3{font-size:18px}img,svg{max-width:100%}.sky{position:fixed;inset:0;z-index:0;overflow:hidden;background:linear-gradient(158deg,#93c8eb,#c9e6f7 48%,#eff8fd)}.sky i{position:absolute;width:410px;height:70px;border-radius:50%;background:#ffffff90;filter:blur(25px);top:23%;left:-8%;animation:drift 50s ease-in-out infinite alternate}.sky i:before,.sky i:after{content:"";position:absolute;background:inherit;border-radius:50%;width:180px;height:100px;left:80px;top:-45px}.sky i:after{left:180px;top:-25px}.sky i:nth-child(2){left:74%;top:74%;opacity:.65;animation-delay:-20s}.sky i:nth-child(3){left:67%;top:1%;scale:.7;opacity:.45}.shell{position:relative;z-index:2;max-width:1408px;margin:auto;padding:28px 48px 12px}.glass{border:1px solid var(--edge);background:linear-gradient(132deg,#ffffff4a,#ffffff19 38%,#ffffff0c 70%,#ffffff32);background-clip:padding-box;backdrop-filter:blur(16px) saturate(1.16);-webkit-backdrop-filter:blur(16px) saturate(1.16);box-shadow:inset 0 1px #ffffffd0,inset 1px 0 #ffffff4d,inset 0 -1px #ffffff42,0 14px 38px var(--glass-shadow),0 2px 6px #1c4b6b09}.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:12px 24px;border-radius:24px}nav{grid-column:2;display:flex;gap:4px;font-size:13px}nav a{min-height:44px;display:flex;align-items:center;padding:6px 16px;border:1px solid transparent;border-radius:16px;white-space:nowrap}nav a:hover,nav a[aria-current=page]{background:#ffffff2b;border-color:var(--edge)}nav a[aria-current=page]{font-weight:700}.theme-switch{width:48px;height:44px;min-width:48px;min-height:44px;padding:0;background:transparent;border:0;border-radius:12px;display:grid;place-items:center;justify-self:end}.theme-track{width:44px;height:24px;border-radius:20px;border:1px solid var(--line);background:#ffffff40;display:block;position:relative}.theme-thumb{position:absolute;left:2px;top:2px;width:18px;height:18px;display:grid;place-items:center;background:var(--ink);color:var(--button);border-radius:50%;font-size:12px;line-height:1;transition:transform .18s ease}.theme-switch[aria-checked=true] .theme-thumb{transform:translate(20px)}main{min-height:calc(100svh - 220px)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 16px;color:var(--muted)}.hero{display:grid;grid-template-columns:1.7fr 1fr;align-items:center;gap:72px;padding:76px 8px 64px}.hero h1{font-size:76px;line-height:1.15;letter-spacing:-.065em;margin:22px 0 28px}.hero h1>span{display:block;font-size:24px;letter-spacing:-.045em;margin-top:20px;line-height:1.6}.hero-tagline{font-size:19px;line-height:1.85;color:var(--ink);max-width:590px;word-break:keep-all;margin-bottom:18px}.intro-copy{font-size:14px;max-width:580px;line-height:1.95;word-break:keep-all;margin-bottom:26px}.hero-actions{display:flex;gap:10px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:48px;border-radius:24px;padding:12px 24px;font-size:13px}.primary{background:var(--accent);color:var(--button);border:1px solid var(--accent)}.secondary{border:1px solid var(--edge);background:var(--panel)}.hero-note{padding:28px 28px 20px;border-radius:24px;max-width:350px;justify-self:end}.note-rule{display:block;width:30px;height:2px;background:var(--ink);opacity:.5}.hero-note p{font-size:20px;font-weight:700;line-height:1.7;color:var(--ink);margin:20px 0 16px;letter-spacing:-.04em}.hero-note>span:not(.note-rule){font-size:12px;line-height:1.95;color:var(--muted);display:block;word-break:keep-all}.hero-note a{display:flex;justify-content:space-between;gap:16px;min-height:44px;font-size:11px;margin-top:14px;align-items:center;border-top:1px solid var(--line);padding-top:12px}.about-section{margin:0 8px}.section-label{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}.section-label h2{margin:0;font-size:22px}.section-label>span{font-size:10px;letter-spacing:.8px;color:var(--muted)}.strength-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.strength-card{padding:24px 22px 18px;border-radius:22px;min-width:0}.card-number{font-size:11px;color:var(--muted);opacity:.7}.strength-card h3{font-size:16px;margin:22px 0 12px;word-break:keep-all}.strength-card p{font-size:12px;line-height:1.9;margin:0;word-break:keep-all}.contact{margin:52px 0 12px;border-radius:26px;padding:36px;display:grid;grid-template-columns:1fr 1.1fr;gap:52px}.contact h2{font-size:29px;margin-bottom:12px}.contact>div>p:not(.eyebrow){font-size:12px;word-break:keep-all}.contact-links{display:grid;gap:4px}.contact-links a,.contact-links button{display:grid;grid-template-columns:65px 1fr auto;gap:12px;align-items:center;text-align:left;padding:13px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-height:52px}.contact-links a>span:first-child,.contact-links button>span:first-child{font-size:9px;letter-spacing:1px;opacity:.8}.contact-links strong{font-size:13px;font-weight:400;overflow-wrap:anywhere}.copy-label{font-size:10px}.contact-links p{font-size:11px;min-height:22px;margin:0}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin:60px 8px 36px}.page-heading h1{font-size:48px;margin:0;letter-spacing:-.06em}.page-heading>p{max-width:355px;font-size:13px;line-height:1.9;word-break:keep-all;margin:0 0 5px}.catalog-label{display:flex;justify-content:space-between;gap:16px;padding:0 8px 16px;font-size:11px;color:var(--muted)}.catalog-label b{font-size:12px;font-weight:700;margin-left:6px}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}.project-card{min-width:0;display:flex;flex-direction:column;padding:23px 21px 12px;border-radius:24px;scroll-margin:24px}.project-card:focus-within{border-color:var(--accent)}.card-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:23px}.project-icon{display:grid;place-items:center;flex-shrink:0;position:relative;width:64px;height:64px;padding:8px;border-radius:18px;background:#ffffff30;border:1px solid var(--edge);box-shadow:inset 0 1px #ffffff60}.project-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px #17394c17)}.project-icon svg{width:33px;height:33px}.icon-ufo{color:#4a527d;background:#d6ddf33d}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px;margin-bottom:9px}.card-meta>span:first-child{letter-spacing:.9px;text-transform:uppercase}.project-card h2{font-size:23px;line-height:1.4;margin:0 0 10px;letter-spacing:-.055em;overflow-wrap:anywhere}.card-summary{font-size:12px;line-height:1.9;word-break:keep-all;margin:0 0 16px;flex-grow:1}.stack{display:flex;list-style:none;flex-wrap:wrap;gap:6px;padding:0;margin:0}.stack li{font-size:10px;line-height:1.6;padding:4px 9px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#ffffff15;overflow-wrap:anywhere;max-width:100%}.card-stack{gap:5px;min-height:52px;align-content:start;margin-bottom:12px}.card-stack li{font-size:9px;padding:3px 7px}.card-action{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:10px 0;min-height:44px;font-size:11px}.card-action>span{font-size:16px}.card-index{display:grid;justify-items:end;gap:7px}.publication-label{font-size:9px;color:var(--muted);white-space:nowrap}.text-unit{white-space:nowrap}.career-step{display:block}.tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tech-card{border-radius:24px;padding:26px;min-width:0}.tech-card h3{font-size:19px;margin:25px 0 12px;word-break:keep-all;overflow-wrap:anywhere}.tech-card>p{font-size:12px;line-height:1.95;margin-bottom:0;word-break:keep-all}.tech-top{display:flex;align-items:start;justify-content:space-between;gap:16px}.tech-top .eyebrow{font-size:9px;letter-spacing:1.2px;margin:0}.tech-number{font-size:10px;color:var(--muted);opacity:.65}.expanding-label{margin-top:44px}.learning-status{display:inline-block;font-size:10px;border:1px solid var(--line);padding:3px 10px;border-radius:10px;color:var(--muted);background:#ffffff20}.learning-grid .tech-card h3{margin-top:18px}footer{display:flex;justify-content:space-between;gap:24px;padding:30px 8px 8px;font-size:10px;color:var(--muted)}footer button{border:0;background:transparent;padding:4px 0;font-size:10px}footer>span{align-self:center}.project-dialog{position:fixed;background:var(--dialog);color:var(--ink);border:1px solid var(--edge);border-radius:26px;padding:28px;width:min(660px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;overscroll-behavior:contain;box-shadow:0 25px 90px #102c4855}.project-dialog::backdrop{background:#102c4866;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.dialog-top .eyebrow{margin:0;font-size:9px;letter-spacing:1px}.dialog-close{border-radius:14px;background:transparent;font-size:11px;display:flex;align-items:center;gap:16px}.dialog-close>span{font-size:19px}.dialog-identity{display:flex;align-items:center;gap:18px;margin-bottom:24px}.dialog-identity h2{font-size:30px;line-height:1.35;margin:0 0 5px}.dialog-identity p{font-size:11px;margin:0}.dialog-identity .project-period{font-size:10px;margin-top:5px}.dialog-summary{font-size:15px;line-height:1.95;color:var(--ink);word-break:keep-all}.dialog-section{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.dialog-section h3{font-size:13px;margin:0 0 10px}.dialog-section p,.dialog-section ul:not(.stack){font-size:12px;line-height:1.95;color:var(--muted);word-break:keep-all;margin:0}.dialog-section ul:not(.stack){padding-left:18px}.dialog-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.dialog-links a{border:1px solid var(--line);border-radius:14px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:11px;padding:10px 16px}.skip{position:fixed;top:5px;left:5px;z-index:50;transform:translateY(-150%);background:var(--dialog);padding:10px}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.glass{position:relative;isolation:isolate}.glass-card:before,.glass-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .18s ease}.glass-card:before{z-index:-1;background:radial-gradient(ellipse 260px 180px at var(--light-x,50%) var(--light-y,50%),#ffffff38,transparent 72%)}.glass-card:after{z-index:1;padding:1px;background:radial-gradient(ellipse 170px 100px at var(--light-x,50%) var(--light-y,50%),#fff,#ffffffa6 28%,transparent 75%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor}.glass-card[data-lit=true]:before,.glass-card[data-lit=true]:after{opacity:1}.project-dialog{position:fixed;background:var(--dialog)}[data-theme=dark]{color-scheme:dark;--ink:#edf5fb;--muted:#bed0df;--panel:#ffffff0b;--edge:#d0e5ff40;--accent:#c7e2f4;--button:#163349;--dialog:#182e40;--line:#d3e7f02b;--solid:#203a50;--hover-edge:#d3e8f24d;--glass-shadow:#00000028}[data-theme=dark] body{background:#112a3d}[data-theme=dark] .sky{background:linear-gradient(158deg,#10243a,#21415a 64%,#34566d)}[data-theme=dark] .sky i{opacity:.12}[data-theme=dark] .glass{background:linear-gradient(132deg,#d9efff14,#d9efff05 45%,#d9efff03 72%,#d9efff0b);box-shadow:inset 0 1px #e4f3ff66,inset 1px 0 #e4f3ff16,inset 0 -1px #e4f3ff16,0 14px 38px var(--glass-shadow),0 2px 6px #00000014}[data-theme=dark] nav a:hover,[data-theme=dark] nav a[aria-current=page]{background:#ffffff0e}[data-theme=dark] .project-icon{background:#ffffff0b}[data-theme=dark] .icon-ufo{color:#c9d6ff}[data-theme=dark] .glass-card:before{background:radial-gradient(ellipse 250px 180px at var(--light-x,50%) var(--light-y,50%),#dcefff15,transparent 72%)}[data-theme=dark] .project-dialog{background:var(--dialog)}@keyframes drift{to{translate:35px 0}}@media(max-width:1100px){.shell{padding:24px 30px 12px}.hero{gap:32px;padding-top:64px}.hero h1{font-size:64px}.hero h1>span{font-size:21px}.hero-note{padding:24px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.strength-grid,.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact{gap:28px;padding:30px}.contact-links a,.contact-links button{grid-template-columns:50px 1fr auto;gap:8px}}@media(max-width:820px){.site-header{gap:12px;padding:10px 18px}nav a{padding:6px 12px}.hero{grid-template-columns:1.5fr 1fr;gap:24px}.hero h1{font-size:57px}.hero-tagline{font-size:17px}.hero h1>span{font-size:19px}.intro-copy{font-size:12px}.hero-note{padding:22px}.hero-note p{font-size:17px}.hero-note>span:not(.note-rule){font-size:11px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{padding:24px 24px 12px}.contact{grid-template-columns:1fr;gap:10px}.contact-links a,.contact-links button{grid-template-columns:65px 1fr auto}.learning-grid{grid-template-columns:1fr}.page-heading h1{font-size:42px}.page-heading>p{font-size:11px}.tech-card{padding:23px}}@media(max-width:600px){.shell{padding:16px 16px 8px}.site-header{grid-template-columns:minmax(0,1fr) auto;padding:8px 14px;gap:0 16px;border-radius:22px}.theme-switch{grid-column:2;grid-row:1}nav{grid-row:1;grid-column:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:0}nav a{justify-content:center;font-size:11px;padding:6px 0;min-height:44px;border-radius:12px}.hero{grid-template-columns:1fr;padding:46px 6px 36px;gap:32px}.hero h1{font-size:58px;margin:20px 0 22px}.hero h1>span{font-size:19px;line-height:1.6;margin-top:17px}.hero-tagline{font-size:17px;margin-bottom:14px}.intro-copy{font-size:12px;line-height:1.95;margin-bottom:24px}.hero-note{max-width:none;width:100%;padding:24px;justify-self:stretch}.hero-note p{font-size:20px;margin:18px 0 12px}.hero-note>span:not(.note-rule){font-size:12px}.hero-note a{font-size:11px}.hero .eyebrow{font-size:8px;letter-spacing:1.35px}.primary,.secondary{font-size:12px;padding:10px 22px}.section-label h2{font-size:20px}.section-label>span{font-size:8px;letter-spacing:.4px}.strength-grid{grid-template-columns:1fr;gap:12px}.strength-card{padding:22px}.strength-card h3{margin-top:15px}.about-section{margin:0 6px}.contact{margin-top:36px;padding:24px 20px;border-radius:24px}.contact h2{font-size:26px}.contact-links a,.contact-links button{grid-template-columns:1fr auto;gap:3px 8px;padding:12px 0}.contact-links a>span:first-child,.contact-links button>span:first-child{grid-column:1/-1}.contact-links strong{font-size:12px}.copy-label{font-size:9px}.page-heading{display:block;margin:40px 6px 28px}.page-heading .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:12px}.page-heading h1{font-size:38px}.page-heading>p{font-size:12px;margin:18px 0 0}.catalog-label{font-size:9px;padding:0 6px 16px}.project-grid{grid-template-columns:1fr;gap:14px}.project-card{padding:24px 24px 12px}.card-top{margin-bottom:19px}.project-card h2{font-size:25px}.card-summary{font-size:13px;margin-bottom:20px}.card-stack{min-height:0;margin-bottom:18px}.card-stack li,.card-meta{font-size:9px}.project-icon{width:64px;height:64px}.tech-grid{grid-template-columns:1fr;gap:14px}.tech-card{padding:24px}.tech-card h3{font-size:20px}.expanding-label{margin-top:34px}.project-dialog{padding:22px 20px;max-height:calc(100svh - 28px)}.dialog-identity{gap:14px}.dialog-identity h2{font-size:25px}.dialog-identity .project-icon{width:52px;height:52px;border-radius:14px;padding:6px}.dialog-top{gap:8px}.dialog-top .eyebrow{font-size:8px;letter-spacing:.7px}.dialog-close{padding:8px 12px;gap:12px}.dialog-summary{font-size:14px}.dialog-section p{font-size:12px}.dialog-links{gap:8px}.dialog-links a{font-size:10px;padding:10px 12px;gap:16px}footer{padding-top:24px;font-size:9px}footer button{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.glass-card:before,.glass-card:after{display:none}}@media(hover:none),(pointer:coarse){.glass-card:before,.glass-card:after{display:none}}@media(hover:hover)and (pointer:fine){:where(button,nav a,.primary,.secondary,.hero-note a,.dialog-links a,.contact-links a){transition:box-shadow .18s ease,background-color .18s ease,border-color .18s ease}:where(button,nav a,.primary,.secondary,.hero-note a,.dialog-links a,.contact-links a):hover{box-shadow:inset 0 0 0 1px var(--hover-edge)}.primary:hover{box-shadow:inset 0 0 0 1px #fff6}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){:is(.project-card,.tech-card,.strength-card,.hero-note,.contact){transition:transform .18s ease,box-shadow .18s ease}:is(.project-card,.tech-card,.strength-card,.hero-note,.contact):hover{transform:translateY(-3px);box-shadow:inset 0 1px #ffffff90,inset 1px 0 #ffffff26,0 20px 42px var(--glass-shadow),0 3px 9px #1c4b6b0d}}.dialog-identity>div{min-width:0}.project-icon img.app-icon{border-radius:11px}
