:root{--bg:#f6f7fb;--surface:rgba(255,255,255,.66);--surface-solid:#fff;--text:#15171e;--muted:#626673;--line:rgba(25,29,41,.11);--accent:#315efb;--accent-soft:#e8edff;--shadow:0 18px 50px rgba(25,37,70,.1);--radius:22px}body.dark{--bg:#0c0e14;--surface:rgba(22,25,35,.68);--surface-solid:#151820;--text:#f5f6f9;--muted:#a9adba;--line:rgba(255,255,255,.11);--accent:#9bb2ff;--accent-soft:#202944;--shadow:0 18px 50px rgba(0,0,0,.25)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;overflow-x:hidden;transition:background .35s,color .35s}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.shell{width:min(1160px,calc(100% - 44px));margin:auto}#orb-canvas{position:fixed;inset:0;z-index:-2;opacity:.65;pointer-events:none}.dark #orb-canvas{opacity:.35}#progress{height:3px;width:0;position:fixed;top:0;left:0;background:linear-gradient(90deg,#315efb,#b36eff);z-index:1000}#loader{position:fixed;inset:0;z-index:2000;background:#10131e;color:#e9eeff;display:flex;gap:13px;align-items:center;justify-content:center;font:500 12px 'DM Mono',monospace;letter-spacing:.08em;transition:opacity .5s,visibility .5s}.loader-mark{width:50px;height:50px;display:grid;place-items:center;border:1px solid #8ca6ff;border-radius:16px;font:800 16px Manrope;color:#fff;animation:pulse 1.4s infinite}header{position:fixed;z-index:100;top:16px;left:0;width:100%;transition:.3s}header.scrolled .nav-wrap{box-shadow:var(--shadow);border-color:transparent}.nav-wrap{height:64px;padding:0 11px 0 19px;background:var(--surface);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;letter-spacing:-.08em;font-size:20px;white-space:nowrap}.brand span{color:var(--text)}.brand i{font-style:normal;color:var(--accent)}nav{display:flex;gap:28px}nav a{font-size:13px;font-weight:700;color:var(--muted);transition:.2s}nav a:hover,nav a.active{color:var(--text)}.nav-actions{display:flex;gap:5px}.theme-toggle,.menu-btn{width:40px;height:40px;border:0;border-radius:12px;background:transparent;color:var(--text);cursor:pointer}.theme-toggle:hover,.menu-btn:hover{background:var(--accent-soft)}.menu-btn{display:none}.hero{min-height:100vh;padding-top:150px;padding-bottom:70px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:50px}.eyebrow{font:500 11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 19px}.eyebrow span{display:inline-block;width:7px;height:7px;background:#49c98a;border-radius:50%;margin-right:8px;box-shadow:0 0 0 5px rgba(73,201,138,.16)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,6vw,5.8rem);line-height:1.02;letter-spacing:-.07em;max-width:760px;margin-bottom:25px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em;color:var(--accent)}.hero-text{color:var(--muted);line-height:1.75;font-size:17px;max-width:610px}.hero-text strong{color:var(--text)}.hero-cta{display:flex;gap:11px;flex-wrap:wrap;margin:34px 0 30px}.button{border:0;border-radius:13px;padding:14px 18px;display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:800;cursor:pointer;transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(39,61,143,.18)}.button-primary{color:white;background:#1c2340}.dark .button-primary{background:#e8edff;color:#161b2a}.button-quiet{background:var(--accent-soft);color:var(--text)}.hero-links{display:flex;gap:17px;font-size:12px;font-weight:800;color:var(--muted)}.hero-links a:hover{color:var(--accent)}.hero-art{height:530px;position:relative;display:grid;place-items:center}.portrait-wrap{height:min(32vw,405px);width:min(32vw,405px);min-height:290px;min-width:290px;border-radius:38% 62% 56% 44% / 41% 44% 56% 59%;background:linear-gradient(135deg,#dfe8ff,#b6c7ff);padding:12px;box-shadow:0 30px 70px rgba(48,82,200,.22);position:relative;animation:blob 10s ease-in-out infinite}.portrait-wrap img{width:100%;height:100%;object-fit:cover;border-radius:inherit;filter:saturate(.9) contrast(1.02)}.orbit{position:absolute;border:1px solid rgba(49,94,251,.36);border-radius:50%;inset:-23px;animation:spin 13s linear infinite}.orbit::after{content:"";position:absolute;width:10px;height:10px;background:var(--accent);border-radius:50%;top:15%;left:13%;box-shadow:0 0 0 8px rgba(49,94,251,.12)}.orbit-two{inset:-48px;animation-duration:20s;animation-direction:reverse}.orbit-two::after{background:#a76dff;left:auto;right:15%;top:76%}.floating-card{position:absolute;background:var(--surface);border:1px solid var(--line);backdrop-filter:blur(12px);border-radius:16px;padding:13px 16px;box-shadow:var(--shadow);display:grid;gap:3px;font-size:11px;animation:float 5s ease-in-out infinite}.floating-card b{font-size:14px}.floating-card small,.floating-card span{font:500 9px 'DM Mono',monospace;color:var(--muted)}.card-code{left:0;top:15%}.card-security{right:-5px;bottom:15%;animation-delay:-2.5s}.card-security i{color:var(--accent);font-size:16px}.section{padding:125px 0}.section-tint{background:rgba(49,94,251,.035);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-intro h2,.section-head h2{font-size:clamp(2.25rem,4vw,3.7rem);line-height:1.06;letter-spacing:-.06em;margin-bottom:0}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:65px;align-items:start}.lead{font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.55;letter-spacing:-.04em}.fact-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.fact-grid div{padding:21px 5px;border-bottom:1px solid var(--line);display:grid;gap:7px}.fact-grid span,.timeline p{font:500 10px 'DM Mono',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.fact-grid b{font-size:14px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:50px}.section-head>p{max-width:350px;color:var(--muted);font-size:14px;line-height:1.7;margin:0}.text-link,.card-link{font-size:12px;font-weight:800;white-space:nowrap}.text-link i,.card-link i{margin-left:7px;color:var(--accent);transition:.2s}.text-link:hover i,.card-link:hover i{transform:translate(3px,-3px)}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.skill-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;backdrop-filter:blur(12px);position:relative;overflow:hidden;min-height:181px}.skill-card>div:first-child{display:flex;align-items:center;justify-content:space-between}.skill-card i{font-size:20px;color:var(--accent)}.skill-card b{font-size:14px}.skill-card>span{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:25px}.skill-card small{font:500 10px 'DM Mono',monospace;color:var(--accent);position:absolute;bottom:20px;right:22px}.skill-line{height:3px;background:var(--line);position:absolute;bottom:25px;left:22px;width:calc(100% - 70px);border-radius:5px}.skill-line i{display:block;height:100%;width:0;background:var(--accent);border-radius:inherit;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .35s,box-shadow .35s}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.project-image{height:232px;position:relative;overflow:hidden;background:var(--accent-soft)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card:hover img{transform:scale(1.06)}.project-image span{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.83);color:#252b3d;padding:6px 9px;border-radius:8px;font:500 9px 'DM Mono',monospace;letter-spacing:.04em}.project-body{padding:24px}.project-index{font:500 9px 'DM Mono',monospace;color:var(--accent);letter-spacing:.08em}.project-body h3{font-size:22px;letter-spacing:-.04em;margin:10px 0}.project-body>p:not(.project-index){font-size:12px;line-height:1.7;color:var(--muted);min-height:81px}.tag-list{display:flex;gap:6px;flex-wrap:wrap;margin:17px 0 22px}.tag-list span{font:500 9px 'DM Mono',monospace;border:1px solid var(--line);padding:5px 7px;border-radius:6px;color:var(--muted)}.github-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.github-layout h2{font-size:clamp(2.25rem,4vw,3.7rem);letter-spacing:-.06em;margin:0 0 15px}.github-layout p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;margin-bottom:27px}.github-stats{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:35px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;backdrop-filter:blur(15px)}.github-stats div{border-right:1px solid var(--line);padding-right:12px}.github-stats div:last-child{border:0}.github-stats b{font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.07em;display:block}.github-stats span{font-size:10px;color:var(--muted);font-weight:700}.timeline{border-top:1px solid var(--line);margin-top:55px}.timeline article{display:grid;grid-template-columns:180px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:30px 0}.timeline h3{font-size:20px;margin-bottom:6px;letter-spacing:-.03em}.timeline b{display:block;font-size:12px;color:var(--accent);margin-bottom:10px}.timeline span{color:var(--muted);font-size:13px;line-height:1.6}.certificate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.certificate-card{min-height:180px;padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;transition:.3s}.certificate-card:hover{background:var(--accent);color:white;transform:translateY(-5px)}.certificate-card i{font-size:22px;color:var(--accent)}.certificate-card:hover i{color:white}.certificate-card span{font-size:15px;font-weight:800;letter-spacing:-.03em}.certificate-card small{font-size:10px;font-weight:700;color:var(--muted)}.certificate-card:hover small{color:white}.contact-section{border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.contact-layout h2{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.05;letter-spacing:-.07em;margin-bottom:22px}.contact-layout>div>p:not(.eyebrow){color:var(--muted);line-height:1.75;font-size:15px;max-width:390px}.email-link{display:inline-block;margin-top:24px;font-size:12px;font-weight:800;border-bottom:1px solid var(--accent);padding-bottom:4px}.contact-form{padding:26px;display:grid;gap:14px}.glass{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.contact-form label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;display:grid;gap:7px}.contact-form input,.contact-form textarea{border:1px solid var(--line);background:var(--surface-solid);color:var(--text);padding:12px;border-radius:10px;outline:0;font-size:13px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.contact-status{font-size:11px;text-align:center;min-height:16px;color:var(--accent);margin:0}footer{border-top:1px solid var(--line);padding:35px 0}footer .shell{display:flex;align-items:center;gap:23px;font-size:11px;color:var(--muted)}footer p{margin:0;flex:1}footer div{display:flex;gap:14px;font-size:16px;color:var(--text)}footer small{font:400 9px 'DM Mono',monospace}.assistant-widget{position:fixed;bottom:23px;right:23px;z-index:120}.assistant-toggle{border:0;background:#1c2340;color:white;border-radius:14px;padding:13px 15px;display:flex;gap:9px;align-items:center;font-weight:800;font-size:12px;box-shadow:0 10px 30px rgba(25,35,75,.25);cursor:pointer}.assistant-toggle i{color:#aabaff}.assistant-panel{position:absolute;right:0;bottom:57px;width:300px;background:var(--surface-solid);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.assistant-title{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;border-bottom:1px solid var(--line);font-size:12px;font-weight:800}.assistant-title i{color:var(--accent)}.assistant-title button{border:0;background:none;color:var(--muted);cursor:pointer}.assistant-messages{padding:15px;min-height:85px}.assistant-messages p{font-size:11px;line-height:1.6;margin:0 0 9px}.assistant-bot{background:var(--accent-soft);padding:10px;border-radius:10px 10px 10px 2px}.assistant-user{text-align:right;color:var(--muted)}.quick-questions{padding:0 15px 15px;display:flex;flex-wrap:wrap;gap:6px}.quick-questions button{border:1px solid var(--line);border-radius:20px;background:none;color:var(--text);font-size:9px;padding:6px 8px;cursor:pointer}.reveal{opacity:0;transform:translateY(25px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;z-index:200;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%)}.cursor-dot{width:6px;height:6px;background:var(--accent)}.cursor-ring{width:29px;height:29px;border:1px solid var(--accent);transition:width .2s,height .2s}.cursor-ring.hover{width:44px;height:44px;background:rgba(49,94,251,.08)}@keyframes pulse{50%{transform:scale(.86);opacity:.55}}@keyframes blob{50%{border-radius:61% 39% 38% 62% / 56% 65% 35% 44%;transform:rotate(4deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-12px)}}@media(max-width:850px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:150px}.hero-art{height:390px;grid-row:1}.portrait-wrap{height:320px;width:320px}.section{padding:90px 0}.skill-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}.project-image{height:280px}.certificate-grid{grid-template-columns:repeat(2,1fr)}.contact-layout,.github-layout,.about-layout{grid-template-columns:1fr;gap:42px}.section-head{align-items:start;flex-direction:column;gap:18px}.timeline article{grid-template-columns:130px 1fr}.cursor-dot,.cursor-ring{display:none}}@media(max-width:620px){.shell{width:min(100% - 28px,1160px)}header{top:10px}.nav-wrap{height:56px;border-radius:15px}.menu-btn{display:block}nav{position:absolute;display:none;top:64px;right:0;width:190px;padding:14px;background:var(--surface-solid);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);flex-direction:column;gap:0}nav.open{display:flex}nav a{padding:11px}.hero{padding-top:125px;gap:20px}.hero-art{height:325px}.portrait-wrap{height:265px;width:265px;min-height:0;min-width:0}.card-code{left:0}.card-security{right:0}.hero-links{margin-bottom:15px}.skill-grid,.certificate-grid{grid-template-columns:1fr}.github-stats{padding:22px}.timeline article{grid-template-columns:1fr;gap:4px}.contact-form{padding:18px}footer .shell{flex-wrap:wrap;gap:14px}footer p{min-width:65%}.assistant-toggle span{display:none}.assistant-toggle{padding:15px}.assistant-widget{right:16px;bottom:16px}.assistant-panel{width:min(300px,calc(100vw - 32px))}}
