:root{color-scheme:light;--ink: #102030;--muted: #51647a;--subtle: #7e91a4;--paper: #eef4f8;--surface: rgba(255, 255, 255, .84);--surface-solid: #ffffff;--surface-soft: #eaf1f6;--line: rgba(16, 32, 48, .14);--line-soft: rgba(16, 32, 48, .08);--blue: #0e8bbf;--blue-soft: rgba(14, 139, 191, .13);--accent: #ff8a3d;--accent-soft: rgba(255, 138, 61, .16);--green: #1bbf8f;--green-soft: rgba(27, 191, 143, .16);--red: #ff6b6b;--yellow: #ffc24b;--shadow: 0 22px 70px rgba(16, 44, 70, .16);--shadow-soft: 0 12px 30px rgba(16, 44, 70, .09);--radius: 14px;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(900px circle at 12% -4%,rgba(14,139,191,.18),transparent 46%),radial-gradient(820px circle at 92% 4%,rgba(255,138,61,.16),transparent 44%),radial-gradient(700px circle at 70% 96%,rgba(27,191,143,.14),transparent 50%),linear-gradient(180deg,#eef5fa,#f6fbfd 46%,#e7f0f6);background-attachment:fixed;color:var(--ink);font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(14,139,191,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(14,139,191,.045) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 78%);-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 78%)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline:3px solid rgba(14,139,191,.34);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink);letter-spacing:0}h1{max-width:980px;font-size:clamp(42px,6vw,84px);font-weight:760;line-height:.98}h2{max-width:900px;font-size:clamp(30px,4.4vw,58px);font-weight:740;line-height:1.04}h3{font-size:19px;line-height:1.18}.app-shell{min-height:100vh}.mac-desktop{display:grid;grid-template-rows:auto 1fr auto}.route-shell{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:24px 0 106px;animation:routeEnter .42s var(--ease) both}.route-loader{width:min(1180px,calc(100% - 32px));margin:96px auto;color:var(--muted);font-weight:700}.topbar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:18px;min-height:42px;padding:0 max(14px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line-soft);background:#f6f7f9bd;color:var(--ink);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px)}.brand-mark{display:inline-flex;align-items:center;gap:9px;min-width:0;color:var(--ink);font-size:13px;font-weight:700}.brand-mark span{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;font-size:11px}.brand-mark strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mac-menu-title,.mac-menu-status{display:flex;align-items:center;min-width:0;gap:16px;color:#424245;font-size:13px}.mac-menu-title strong{color:var(--ink)}.mac-menu-status{justify-content:end;gap:8px;white-space:nowrap}.topbar-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 15px;border:1px solid transparent;border-radius:999px;cursor:pointer;font-weight:650;white-space:nowrap;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s var(--ease)}.topbar-cta,.button.primary{background:linear-gradient(120deg,var(--blue),#0aa6b0);color:#fff;box-shadow:0 8px 20px #0e8bbf47}.button.accent{background:linear-gradient(120deg,var(--accent),#ff6f59);color:#fff;box-shadow:0 8px 20px #ff8a3d4d}.button.secondary{border-color:#0e8bbf66;background:#ffffff6b;color:#086b91}.topbar-cta:hover,.button:hover{transform:translateY(-1px)}.icon-button{display:inline-grid;width:40px;height:40px;place-items:center;border:1px solid var(--line-soft);border-radius:999px;background:#ffffffc7;color:var(--ink);cursor:pointer}.mac-window{overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:saturate(180%) blur(28px);backdrop-filter:saturate(180%) blur(28px)}.mac-window-titlebar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;min-height:42px;padding:0 14px;border-bottom:1px solid var(--line-soft);background:#f5f5f7bd}.window-controls{display:flex;align-items:center;gap:8px}.window-controls span{width:12px;height:12px;border-radius:50%}.window-controls span:nth-child(1){background:var(--red)}.window-controls span:nth-child(2){background:var(--yellow)}.window-controls span:nth-child(3){background:var(--green)}.mac-window-title{justify-self:center;color:var(--muted);font-size:13px;font-weight:650}.mac-window-body{padding:clamp(18px,3vw,34px)}.mac-dock{position:fixed;right:50%;bottom:16px;z-index:45;display:flex;max-width:calc(100% - 24px);gap:8px;overflow-x:auto;padding:9px;border:1px solid rgba(255,255,255,.66);border-radius:var(--radius);background:#ffffff94;box-shadow:0 16px 44px #00000029;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);transform:translate(50%);scrollbar-width:none}.mac-dock::-webkit-scrollbar{display:none}.dock-item{position:relative;display:grid;width:54px;height:54px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.54);border-radius:var(--radius);background:linear-gradient(145deg,#ffffffe0,#e5e9eed1);color:var(--ink);transition:transform .18s var(--ease),background .18s ease,color .18s ease}.dock-item:hover,.dock-item.active{color:var(--blue);transform:translateY(-5px)}.dock-item.active:after{content:"";position:absolute;bottom:-6px;width:5px;height:5px;border-radius:50%;background:var(--blue)}.dock-item span{position:absolute;bottom:62px;max-width:120px;padding:5px 8px;border:1px solid var(--line-soft);border-radius:6px;background:#1d1d1fdb;color:#fff;font-size:12px;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease}.dock-item:hover span{opacity:1;transform:translateY(0)}.section{scroll-margin-top:82px;padding:clamp(54px,7vw,92px) 0 0}.compact-section{padding-top:18px}.section-heading,.page-hero{display:grid;gap:14px;justify-items:center;margin-bottom:26px;text-align:center}.page-hero{padding:clamp(28px,5vw,56px) 0 12px}.page-hero h1{font-size:clamp(36px,5.4vw,72px)}.page-hero p,.section-intro,.hero-copy p,.contact-section p,.feature-strip p{max-width:780px;color:var(--muted);font-size:clamp(16px,1.7vw,20px);line-height:1.55}.eyebrow{display:inline-flex;width:fit-content;align-items:center;justify-content:center;gap:7px;padding:6px 13px;border-radius:999px;border:1px solid var(--blue-soft);background:linear-gradient(120deg,var(--blue-soft),var(--accent-soft));color:#086b91;font-size:13px;font-weight:750;letter-spacing:.01em;text-transform:none}.eyebrow svg{color:var(--accent)}.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(28px,5vw,60px);align-items:center;padding-top:clamp(28px,5vw,58px)}.hero-copy,.hero-panel{display:grid;gap:18px}.hero-title{max-width:760px;color:var(--ink);font-size:clamp(21px,2.4vw,31px);font-weight:650;line-height:1.18}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero-metrics span,.metric-grid span,.gallery-stats span,.signal-card,.card,.signature,.focus-card,.publication-card,.timeline-item,.award-card,.repo-board article,.about-panel,.dashboard-widget,.gallery-empty{border:1px solid var(--line-soft);border-radius:var(--radius);background:#ffffffad;box-shadow:var(--shadow-soft)}.hero-metrics span,.signal-card{display:grid;gap:5px;align-content:center;min-height:76px;padding:14px;color:var(--muted);font-size:13px;font-weight:650}.hero-metrics strong,.metric-grid strong,.signal-card strong{color:var(--ink)}.portrait-frame{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-soft);box-shadow:var(--shadow-soft);aspect-ratio:4 / 5}.portrait-frame img,.about-panel img,.feature-strip img{width:100%;height:100%;object-fit:cover}.signature{display:grid;min-height:104px;place-items:center;padding:16px}.signature img{width:min(260px,100%)}.focus-grid,.publication-grid,.award-grid,.repo-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.skill-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.focus-card,.publication-card,.award-card,.repo-board article{display:grid;gap:12px;align-content:start;padding:18px}.focus-card .stat{color:#0e8bbf3d;font-size:36px;font-weight:780}.publication-card span,.focus-card span,.timeline-item span,.award-card span{color:var(--muted);font-size:13px;font-weight:700}.publication-card p,.project-detail p,.focus-card p,.repo-board p,.timeline-item li,.award-card p,.about-panel p{color:var(--muted);line-height:1.58}.publication-card a,.feature-strip a,.dashboard-source-link{display:inline-flex;width:fit-content;align-items:center;gap:6px;color:#086b91;font-weight:700}.project-detail{display:grid;gap:4px}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.tag-list li{border:1px solid var(--line-soft);border-radius:999px;padding:6px 9px;background:#ffffffad;color:#515154;font-size:12px;font-weight:650}.feature-strip,.contact-section{display:grid;grid-template-columns:minmax(260px,.85fr) 1fr;gap:0;overflow:hidden;border-radius:var(--radius);background:linear-gradient(135deg,#0c2a3a,#103b4d 55%,#0d4a52);color:#fff}.feature-strip img{min-height:300px}.feature-strip>div,.contact-section{align-content:center;padding:clamp(22px,4vw,40px)}.feature-strip p,.contact-section p{color:#d2d2d7}.contact-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.about-panel{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:center;padding:18px}.about-panel img{max-height:420px;border-radius:var(--radius)}.timeline{display:grid;gap:15px}.timeline-item{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:18px}.timeline-item img,.award-card img{width:58px;height:58px;border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;object-fit:contain}.timeline-item div{display:grid;gap:7px;min-width:0}.timeline-item .place{color:#086b91;font-weight:700}.timeline-item ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.timeline-item li{display:grid;grid-template-columns:auto 1fr;gap:6px}.timeline-item li svg{margin-top:4px;color:var(--blue)}.award-card{grid-template-columns:auto 1fr}.award-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:var(--radius);background:var(--blue-soft);color:var(--blue)}.live-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.live-preview-grid article,.live-preview-action{display:grid;gap:9px;min-height:160px;align-content:start;border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px;background:#ffffffad;box-shadow:var(--shadow-soft)}.live-preview-grid svg{color:var(--blue)}.live-preview-grid p{color:var(--muted);line-height:1.5}.live-preview-action{align-content:center;justify-items:start;background:linear-gradient(135deg,var(--blue),#0d4a52);color:#fff;font-weight:750}.focus-card span{display:inline-flex;align-items:center;gap:7px}.focus-card span svg{color:var(--blue)}.resume-callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;overflow:hidden;border-radius:var(--radius);padding:clamp(22px,4vw,38px);background:radial-gradient(600px circle at 100% 0%,rgba(255,138,61,.22),transparent 55%),linear-gradient(135deg,#0c2a3a,#0e5566);color:#fff}.resume-callout-copy{display:grid;gap:10px;max-width:540px}.resume-callout-copy h2{color:#fff}.resume-callout-copy p{color:#ffffffd1;line-height:1.55}.resume-callout .eyebrow{background:#ffffff29;border-color:#ffffff3d;color:#fff}.resume-callout-actions{display:flex;flex-wrap:wrap;gap:10px}.resume-callout .button.secondary{border-color:#ffffff80;background:#ffffff1a;color:#fff}.dashboard-status{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;color:var(--muted);font-size:13px;font-weight:650}.dashboard-status span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-soft);border-radius:999px;padding:7px 10px;background:#ffffffb3}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-widget{display:grid;gap:16px;min-width:0;padding:18px}.dashboard-widget-wide{grid-column:span 2}.widget-header{display:grid;gap:6px}.widget-header span{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:13px;font-weight:750}.widget-muted{color:var(--muted);line-height:1.55}.metric-grid,.current-weather{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-grid span,.current-weather span{display:grid;gap:3px;min-height:72px;align-content:center;padding:12px;color:var(--muted);font-size:13px;font-weight:650}.metric-grid strong,.current-weather strong{color:var(--ink);font-size:23px}.dashboard-split{display:grid;grid-template-columns:minmax(220px,.55fr) 1fr;gap:16px}.donut-wrap{display:grid;gap:12px;justify-items:center}.donut-chart{position:relative;display:grid;width:156px;height:156px;place-items:center;border-radius:50%}.donut-chart:after{content:"";position:absolute;width:96px;height:96px;border-radius:50%;background:var(--surface-solid)}.donut-chart span{position:relative;z-index:1;color:var(--ink);font-size:28px;font-weight:760}.chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;color:var(--muted);font-size:12px;font-weight:650}.chart-legend span{display:inline-flex;align-items:center;gap:5px}.chart-legend i{width:9px;height:9px;border-radius:50%}.activity-list{display:grid;gap:10px}.activity-list a{position:relative;display:grid;gap:8px;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius);padding:11px;background:#ffffff9e}.activity-list span{display:flex;justify-content:space-between;gap:12px}.activity-list small{color:var(--muted)}.activity-list i{display:block;height:7px;border-radius:999px;background:var(--blue)}.line-chart{width:100%;height:128px;overflow:visible}.line-chart polyline{fill:none;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.precip-bars{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:5px;height:82px;align-items:end}.precip-bars span{display:grid;height:100%;align-items:end;border-radius:999px;background:#0e8bbf1a}.precip-bars i{display:block;min-height:4px;border-radius:999px;background:var(--blue)}.map-frame{overflow:hidden;min-height:270px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-soft)}.map-frame iframe{display:block;width:100%;height:310px;border:0}.research-summary{display:grid;gap:2px;align-content:center;min-height:86px;border-radius:var(--radius);padding:14px;background:var(--blue-soft);color:#086b91}.research-summary strong{font-size:34px}.research-list{display:grid;gap:9px}.research-list a{display:grid;gap:5px;border-bottom:1px solid var(--line-soft);padding-bottom:9px}.research-list span{color:var(--ink);font-weight:650}.research-list small,.research-list strong{color:var(--muted);font-size:13px}.dashboard-source-link{margin-top:16px}.live-dot{position:relative;padding-left:24px!important}.live-dot:before{content:"";position:absolute;top:50%;left:11px;width:8px;height:8px;border-radius:50%;background:var(--subtle);transform:translateY(-50%)}.live-dot.on:before{background:var(--green);box-shadow:0 0 #1bbf8f99;animation:livePulse 1.8s var(--ease) infinite}@keyframes livePulse{0%{box-shadow:0 0 #1bbf8f8c}70%{box-shadow:0 0 0 9px #1bbf8f00}to{box-shadow:0 0 #1bbf8f00}}.iss-map{position:relative;overflow:hidden;aspect-ratio:2 / 1;border:1px solid var(--line-soft);border-radius:var(--radius);background:radial-gradient(120% 120% at 50% 0%,rgba(14,139,191,.28),transparent 60%),repeating-linear-gradient(0deg,transparent,transparent 11px,rgba(14,139,191,.12) 11px,rgba(14,139,191,.12) 12px),repeating-linear-gradient(90deg,transparent,transparent 11px,rgba(14,139,191,.12) 11px,rgba(14,139,191,.12) 12px),linear-gradient(180deg,#0c2740,#0e3a52)}.iss-marker{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #ff8a3d47,0 0 18px #ff8a3dcc;transition:left 1s linear,top 1s linear}.iss-metrics strong{font-size:18px}.news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.news-list a{display:grid;gap:5px;align-content:start;border:1px solid var(--line-soft);border-radius:var(--radius);padding:12px;background:#ffffff9e}.news-list strong{color:var(--ink);font-size:14px;line-height:1.35}.news-list small{color:var(--muted);font-size:12px}.api-stack-panel{display:grid;gap:20px}.api-stack-heading{display:grid;gap:10px}.api-stack-heading h2{font-size:clamp(24px,3.2vw,38px)}.api-stack-heading p{max-width:760px;color:var(--muted);line-height:1.55}.api-stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:14px}.api-endpoint-card{display:grid;gap:10px;align-content:start;border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px;background:#ffffffad;box-shadow:var(--shadow-soft)}.api-endpoint-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.api-endpoint-topline span{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;background:var(--blue-soft);color:#086b91;font-size:11px;font-weight:750;text-transform:uppercase}.api-endpoint-topline strong{color:var(--ink);font-size:14px}.api-endpoint-card code{overflow-wrap:anywhere;border-radius:8px;padding:7px 9px;background:var(--surface-soft);color:var(--blue);font-size:12px}.api-endpoint-card p{color:var(--muted);font-size:14px;line-height:1.5}.api-endpoint-card small{color:var(--subtle);font-size:12px;line-height:1.45}.api-principles{display:flex;flex-wrap:wrap;gap:8px}.api-principles span{border:1px solid var(--line-soft);border-radius:999px;padding:7px 12px;background:var(--green-soft);color:#0a7d5e;font-size:13px;font-weight:650}.gallery-app{display:grid;grid-template-columns:224px minmax(0,1fr);overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.gallery-rail-panel{display:grid;align-content:start;gap:16px;padding:16px;border-right:1px solid var(--line-soft);background:linear-gradient(180deg,var(--blue-soft),transparent 70%)}.gallery-stage{display:grid;gap:26px;min-width:0;padding:20px}.gallery-album{display:grid;gap:14px}.gallery-album-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}.gallery-album-head h2{font-size:clamp(20px,2.6vw,28px)}.gallery-album-head p{margin-top:4px;color:var(--muted);font-size:14px}.gallery-album-count{display:inline-grid;min-width:38px;height:38px;place-items:center;padding:0 10px;border-radius:999px;background:var(--accent-soft);color:#c2531a;font-weight:750}.gallery-stats{display:grid;gap:8px;margin:0}.gallery-stats span{display:grid;gap:2px;min-height:68px;align-content:center;padding:12px;color:var(--muted);font-size:13px;font-weight:650}.gallery-stats strong{color:var(--ink);font-size:25px}.gallery-filters{display:grid;gap:6px}.gallery-filters button{min-height:34px;border:0;border-radius:var(--radius);padding:0 10px;background:transparent;color:var(--muted);cursor:pointer;text-align:left;font-weight:650}.gallery-filters button.active,.gallery-filters button:hover{background:var(--blue-soft);color:#086b91}.gallery-toolbar{margin-bottom:16px}.gallery-toolbar label{position:relative;display:block}.gallery-toolbar svg{position:absolute;top:50%;left:13px;color:var(--muted);transform:translateY(-50%)}.gallery-toolbar input{width:100%;min-height:40px;border:1px solid var(--line-soft);border-radius:var(--radius);padding:0 13px 0 40px;background:#f5f5f7db;color:var(--ink);font:inherit}.modern-gallery{display:block;columns:4 200px;column-gap:12px}.modern-gallery .gallery-tile{display:inline-grid;width:100%;min-height:0;margin:0 0 12px;break-inside:avoid;content-visibility:auto;contain-intrinsic-size:280px}.gallery-tile{position:relative;display:grid;min-height:250px;overflow:hidden;align-content:end;border:0;border-radius:var(--radius);padding:12px;background:#1d1d1f;color:#fff;cursor:pointer;text-align:left;aspect-ratio:var(--tile-ratio, 4 / 3)}.gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(0,0,0,.72) 100%)}.gallery-tile picture,.gallery-tile img{position:absolute;inset:0;width:100%;height:100%}.gallery-tile img{object-fit:cover;transition:transform .5s var(--ease),filter .5s ease}.gallery-tile:hover img{filter:saturate(1.05) contrast(1.03);transform:scale(1.045)}.gallery-tile span,.gallery-tile strong{position:relative;z-index:1}.gallery-tile span{margin-bottom:5px;color:#ffffffc7;font-size:11px;font-weight:750;text-transform:uppercase}.gallery-tile strong{font-size:16px}.gallery-empty{display:grid;gap:8px;place-items:center;padding:42px;color:var(--muted);text-align:center}.lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;animation:fadeIn .18s ease both}.lightbox-backdrop{position:absolute;inset:0;border:0;background:#000000ad;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:zoom-out}.lightbox figure{position:relative;z-index:1;display:grid;width:min(1080px,100%);max-height:92vh;overflow:hidden;margin:0;border-radius:var(--radius);background:#fffffff5;box-shadow:0 30px 80px #0006}.lightbox figure>img{width:100%;max-height:min(74vh,780px);object-fit:contain;background:#000}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;z-index:2}.lightbox-close{top:12px;right:12px}.lightbox-prev,.lightbox-next{top:50%;background:#ffffffe6;transform:translateY(-50%)}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox figcaption{display:grid;gap:4px;padding:16px}.lightbox figcaption span{color:#086b91;font-size:12px;font-weight:750;text-transform:uppercase}.lightbox figcaption p{color:var(--muted)}footer{width:min(1240px,calc(100% - 32px));margin:-76px auto 96px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:10px}@keyframes routeEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--ink: #eaf2f8;--muted: #9db1c2;--subtle: #7e93a4;--paper: #070d14;--surface: rgba(18, 28, 38, .84);--surface-solid: #121c26;--surface-soft: #182531;--line: rgba(150, 195, 225, .18);--line-soft: rgba(150, 195, 225, .11);--blue: #38c0e6;--blue-soft: rgba(56, 192, 230, .18);--accent: #ffa45c;--accent-soft: rgba(255, 164, 92, .2);--green: #2bd6a0;--green-soft: rgba(43, 214, 160, .2);--shadow: 0 24px 80px rgba(0, 0, 0, .5);--shadow-soft: 0 12px 34px rgba(0, 0, 0, .36)}body{background:radial-gradient(900px circle at 12% -4%,rgba(56,192,230,.16),transparent 46%),radial-gradient(820px circle at 92% 4%,rgba(255,164,92,.12),transparent 44%),radial-gradient(700px circle at 70% 96%,rgba(43,214,160,.12),transparent 50%),linear-gradient(180deg,#070d14,#0b141d 48%,#060a10)}body:before{background-image:linear-gradient(rgba(120,200,230,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(120,200,230,.06) 1px,transparent 1px)}.topbar,.mac-window-titlebar{background:#1c1c1eb8}.brand-mark span{background:#f5f5f7;color:#1d1d1f}.mac-menu-title,.mac-menu-status,.gallery-filters button{color:#d1d1d6}.button.secondary,.icon-button,.dock-item,.hero-metrics span,.metric-grid span,.gallery-stats span,.signal-card,.card,.signature,.focus-card,.publication-card,.timeline-item,.award-card,.repo-board article,.about-panel,.dashboard-widget,.gallery-empty,.live-preview-grid article,.dashboard-status span,.activity-list a,.news-list a,.api-endpoint-card{background:#182531bd}.mac-dock,.gallery-app{background:#121c26b8}.gallery-rail-panel{background:linear-gradient(180deg,var(--blue-soft),transparent 70%)}.feature-strip,.contact-section,.live-preview-action{background:#000}.donut-chart:after{background:var(--surface-solid)}.gallery-toolbar input,.tag-list li{background:#2c2c2edb;color:var(--ink)}}@media(min-width:1080px){.publication-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.award-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.hero,.feature-strip,.contact-section,.about-panel,.gallery-app,.dashboard-split{grid-template-columns:1fr}.gallery-rail-panel{border-right:0;border-bottom:1px solid var(--line-soft)}.gallery-stats,.gallery-filters{display:flex;overflow-x:auto}.gallery-filters button{white-space:nowrap}.live-preview-grid,.metric-grid,.current-weather{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){body{background:var(--paper)}.topbar{grid-template-columns:auto 1fr auto;gap:10px}.mac-menu-title span,.mac-menu-status svg,.topbar-cta svg,.brand-mark strong{display:none}.topbar-cta{min-height:32px;padding-inline:11px}.route-shell{width:calc(100% - 16px);padding-top:8px;padding-bottom:94px}.mac-window{border-radius:8px;box-shadow:none}.mac-window-body{padding:14px}.mac-window-title{justify-self:end}.page-hero,.section-heading{justify-items:start;text-align:left}h1{font-size:40px}h2,.page-hero h1{font-size:34px}.focus-grid,.publication-grid,.award-grid,.repo-board,.dashboard-grid,.live-preview-grid,.metric-grid,.current-weather,.news-list,.hero-metrics{grid-template-columns:1fr}.dashboard-widget-wide{grid-column:span 1}.timeline-item,.award-card{grid-template-columns:1fr}.gallery-album-head{align-items:start}.modern-gallery{columns:2 140px;column-gap:8px}.modern-gallery .gallery-tile{margin-bottom:8px}.mac-dock{right:8px;left:8px;bottom:8px;justify-content:flex-start;transform:none}.dock-item{width:48px;height:48px}footer{display:none}}
