:root{--bg: #050a14;--fg: #e9eef6;--muted: #a7b1c2;--panel: rgba(255,255,255,.05);--panel-border: rgba(255,255,255,.12);--panel-border-strong: rgba(255,255,255,.15);--accent: #62d0ff;--electric-aqua: #39e0ff;--electric-deep: #071525;--beam-intensity: .15;--beam-feather: 50px;--beam-width: 10deg;--beam-speed: .05s}:root[data-theme=light]{--bg: #f7fbff;--fg: #0f1720;--muted: #475162;--panel: rgba(0,0,0,.04);--panel-border: rgba(0,0,0,.12);--panel-border-strong: rgba(0,0,0,.16);--accent: #2563eb}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji"}.container{max-width:1120px;margin:0 auto;padding:0 16px}.page{min-height:100%}.topbar{position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in oklab,var(--bg),transparent 35%);border-bottom:1px solid var(--panel-border)}.topbar-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.brand{font-weight:700;text-decoration:none;color:var(--fg)}.nav{display:none;gap:20px}.nav a{color:var(--fg);text-decoration:none;opacity:.9}.nav a:hover{opacity:1}.topbar-cta{display:flex;gap:8px}@media(min-width:768px){.nav{display:flex}}.brand-with-icon{display:flex;align-items:center;gap:.45rem;font-weight:600}.brand-icon{width:36px;height:36px;object-fit:contain;display:block;border-radius:6px;filter:drop-shadow(0 0 3px rgba(0,255,255,.3))}.brand-with-icon:hover .brand-icon{filter:drop-shadow(0 0 6px rgba(0,255,255,.7))}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--panel-border)}.hero-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 420px at 10% -5%,rgba(56,189,248,.14),transparent 60%),radial-gradient(760px 360px at 110% 0%,rgba(167,139,250,.12),transparent 60%);filter:blur(18px);animation:float 12s ease-in-out infinite alternate}@keyframes float{0%{transform:translateY(0);opacity:.92}to{transform:translateY(-6px);opacity:1}}.hero-inner{padding:64px 0}.kicker{text-transform:uppercase;letter-spacing:.2em;opacity:.7;font-size:13px}.hero-title{margin:10px 0 0;font-size:34px;line-height:1.15;font-weight:800}.hero-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.hero-actions .btn{flex:none}.section{padding:64px 0}.section-title{font-size:26px;font-weight:800;letter-spacing:.3px;margin:0 0 6px}.section-subtitle{margin:0 0 18px;opacity:.85}.btn{appearance:none;border:1px solid var(--panel-border-strong);background:var(--panel);color:var(--fg);border-radius:12px;padding:10px 14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn:hover{background:color-mix(in oklab,var(--panel),var(--fg) 6%)}.btn-small{padding:6px 10px;border-radius:8px}.btn-small:hover{background:color-mix(in oklab,var(--panel),var(--fg) 6%)}.link{color:var(--fg);text-decoration:underline;opacity:.9}.link:hover{opacity:1}.link-cta{font-size:14px;text-decoration:underline;opacity:.9;color:var(--fg)}.link-cta:hover{opacity:1}.btn:focus,.chip:focus,.btn-link:focus,.link-cta:focus{outline:2px solid color-mix(in oklab,var(--accent),transparent 40%);outline-offset:2px}.grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}.card{border:1px solid var(--panel-border);background:var(--panel);border-radius:16px;padding:18px;transition:background .2s ease}.card:hover{background:color-mix(in oklab,var(--panel),var(--fg) 5%)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-title{margin:0;font-size:18px;font-weight:700;line-height:1.2}.card-desc{margin:10px 0 0;opacity:.9}.card-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-block;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--panel-border-strong);background:color-mix(in oklab,var(--panel),var(--fg) 2%)}.panel{border:1px solid var(--panel-border);background:var(--panel);border-radius:16px;padding:20px}.panel-title{margin:0 0 8px;font-size:18px;font-weight:700}.row-gap{display:flex;gap:12px;margin-top:12px}.stack-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0;list-style:none;margin:0}@media(min-width:640px){.stack-list{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px){.stack-list{grid-template-columns:repeat(4,1fr)}}.stack-item{border:1px solid var(--panel-border);background:var(--panel);border-radius:12px;padding:10px 14px}.contact-grid{display:grid;gap:16px}@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}.form-grid{display:grid;gap:10px}.input{width:100%;border:1px solid var(--panel-border-strong);background:color-mix(in oklab,var(--panel),var(--fg) 2%);color:var(--fg);border-radius:10px;padding:10px 12px;outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent),transparent 80%)}.input-textarea{min-height:120px;resize:vertical}.links{list-style:none;padding:0;margin:10px 0 0}.links li{margin:6px 0}.footer{border-top:1px solid var(--panel-border);padding:24px 0}.footer-row{display:flex;align-items:center;justify-content:space-between}.fab{position:fixed;right:16px;bottom:16px;z-index:40;border-radius:999px;box-shadow:0 10px 30px #00000040}.chatbot{position:fixed;right:16px;bottom:84px;z-index:40;width:min(380px,92vw);border:1px solid var(--panel-border);background:color-mix(in oklab,var(--bg),white 6%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;overflow:hidden}.chatbot-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--panel-border)}.chatbot-log{height:260px;overflow-y:auto;padding:12px;display:grid;gap:8px}.msg{display:flex}.msg.user{justify-content:flex-end}.bubble{display:inline-block;padding:8px 12px;border-radius:14px;border:1px solid var(--panel-border);background:var(--panel);max-width:85%}.chatbot-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--panel-border)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 4px}.metric{border:1px solid var(--panel-border);background:var(--panel);border-radius:12px;padding:14px}.metric-value{font-size:20px;font-weight:800}.metric-label{font-size:12px;opacity:.8;margin-top:2px}.metric-caption{font-size:12px;opacity:.75;margin-top:6px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{border:1px solid var(--panel-border-strong);background:var(--panel);color:var(--fg);border-radius:999px;padding:6px 10px;cursor:pointer}.chip:hover{background:color-mix(in oklab,var(--panel),var(--fg) 4%)}.chip-active{background:color-mix(in oklab,var(--accent),transparent 72%);border-color:var(--accent)}.grid2{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:900px){.grid2{grid-template-columns:1fr 1fr}}.card2{border:1px solid var(--panel-border);background:var(--panel);border-radius:16px;padding:18px;transition:background .2s ease,border-color .2s ease,transform .06s ease}.card2:hover{background:color-mix(in oklab,var(--panel),var(--fg) 4%)}.card2:active{transform:translateY(1px)}.card2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card2-title{margin:0;font-size:18px;font-weight:700}.card2-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-link{background:transparent;border-color:var(--panel-border)}.btn-link:hover{background:color-mix(in oklab,var(--panel),var(--fg) 5%)}.card2-summary{margin:8px 0 12px;opacity:.92}.card2-kpis{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.kpi{display:inline-block;font-size:12px;padding:4px 8px;border-radius:8px;border:1px solid var(--panel-border-strong);background:color-mix(in oklab,var(--panel),var(--fg) 2%)}.card2-tags{display:flex;flex-wrap:wrap;gap:8px}.card2-details{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;border-top:1px dashed var(--panel-border);padding-top:12px}.card2-details h4{margin:0 0 6px;font-size:13px}.card-v2{padding:0;overflow:hidden}.card-media{position:relative;border-bottom:1px solid var(--panel-border);aspect-ratio:16 / 9;background:color-mix(in oklab,var(--panel),var(--fg) 3%);overflow:hidden;display:grid;place-items:center}.card-media img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center;display:block;transition:transform .35s ease,filter .35s ease,opacity .2s ease}.card2:hover .card-media img{transform:scale(1.03);filter:saturate(1.04)}.card-body{padding:16px 18px 18px}.card-links{display:flex;gap:12px}.kpi-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.kpi{display:flex;gap:10px;align-items:baseline}.kpi-value{font-weight:700}.kpi-label{opacity:.9}.skills{display:grid;gap:24px}.skills-group{border:1px solid var(--panel-border);background:var(--panel);border-radius:16px;padding:18px}.skills-title{margin:0 0 12px;font-size:18px;font-weight:700}.skills-grid{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:720px){.skills-grid{grid-template-columns:1fr 1fr}}.skill{display:grid;gap:6px}.skill-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.skill-name{font-weight:600}.skill-level{font-size:12px;opacity:.8}.skill-bar{height:8px;border-radius:999px;border:1px solid var(--panel-border-strong);background:color-mix(in oklab,var(--panel),var(--fg) 2%);overflow:hidden}.skill-bar-fill{height:100%;background:color-mix(in oklab,var(--accent),transparent 35%);border-right:1px solid var(--accent);transition:width .6s ease}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}.reveal.fade-up{transform:translateY(10px)}.reveal.scale-in{transform:scale(.98)}.reveal-show{opacity:1;transform:none}}@media(hover:hover){.metric:hover{transform:translateY(-1px);transition:transform .15s ease}}@media(max-width:900px){.metrics-grid{grid-template-columns:1fr 1fr}.card2-details{grid-template-columns:1fr}}@media(max-width:520px){.metrics-grid{grid-template-columns:1fr}}.page-electric{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--bg),var(--electric-deep) 80%)}.page-electric>*{position:relative;z-index:1}.page-electric:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:url(/bg/electric.png) center/cover no-repeat,var(--electric-deep);filter:brightness(.8) contrast(1.05) saturate(1.05)}.page-electric:after{content:"";position:fixed;inset:-15vh;z-index:0;pointer-events:none;background:conic-gradient(from 0deg,rgba(255,255,255,var(--beam-intensity)) 0deg,rgba(255,255,255,var(--beam-intensity)) var(--beam-width),transparent var(--beam-width));filter:blur(var(--beam-feather)) drop-shadow(0 0 12px rgba(57,224,255,.18));mix-blend-mode:screen;opacity:.8;transform-origin:50% 50%;animation:beamRotate var(--beam-speed) linear infinite}@keyframes beamRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.page-electric:after{animation:none;opacity:.5}}.page-electric.force-motion:after{animation:beamRotate var(--beam-speed) linear infinite!important;opacity:.8!important}@media(prefers-reduced-motion:reduce){.page-electric.force-motion:after{animation:beamRotate var(--beam-speed) linear infinite!important}}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{max-width:800px;width:90vw;max-height:85vh;overflow:auto;background:#14141cf5;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.modal-title{margin:0}.error{color:#ff7070}.markdown :is(h1,h2,h3){margin:.75em 0 .4em}.markdown p{line-height:1.6}.markdown pre{padding:12px;border-radius:10px;background:#ffffff0f;overflow:auto}.blog-grid .post-meta{font-size:12px;opacity:.8;margin-bottom:6px}.muted{opacity:.8}.error{color:#ff7a7a}.card-v3{padding:1.25rem;position:relative;border:1px solid rgba(255,255,255,.12);border-radius:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}html[data-theme=dark] .card-v3{border:1px solid rgba(255,255,255,.15)}html[data-theme=light] .card-v3{border:1px solid rgba(0,0,0,.08)}
