
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/font-01.ttf) format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/font-02.ttf) format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/font-03.ttf) format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/font-04.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/font-05.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/font-06.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/font-07.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/font-08.ttf) format('truetype');
}

:root{--bg:#080e1b;--panel:#101a2b;--line:#22314a;--text:#edf3fc;--muted:#9eafc8;--lime:#6bd8ee;--font:'IBM Plex Sans Arabic',Tahoma,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:5px}.wrap{max-width:1260px;margin:auto;padding:0 48px}.latin{font-family:'Space Grotesk',monospace;direction:ltr}.top{border-bottom:1px solid var(--line);position:sticky;top:0;background:#080e1bf2;backdrop-filter:blur(14px);z-index:20}nav{height:87px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:700 26px 'Space Grotesk',monospace;direction:ltr;letter-spacing:-1px}.brand b{color:var(--lime)}.links{display:flex;gap:32px;font-size:14px;color:#b7c6dc}.links a:hover{color:var(--lime)}.outline{border:1px solid #354b68;border-radius:6px;background:transparent;color:var(--text);padding:10px 18px;font-size:13px}.hero{min-height:650px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;padding-top:50px;padding-bottom:60px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--lime);display:flex;align-items:center;gap:10px}.dot{height:6px;width:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 15px #6bd8ee50}.hero h1{font-size:clamp(48px,5.4vw,76px);font-weight:500;letter-spacing:-2px;line-height:1.35;margin:24px 0}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{color:var(--muted);font-size:17px;line-height:1.9;max-width:460px}.actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 23px;border:1px solid var(--line);border-radius:5px;font-size:14px;background:transparent;color:var(--text)}.primary{background:var(--lime);color:#081323;border-color:var(--lime);font-weight:600}.btn:hover{transform:translateY(-2px)}.intro-tag{margin-top:35px;font-size:11px;color:#8296b4;letter-spacing:1px}.visual{position:relative;aspect-ratio:1;direction:ltr;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#2677fa0c,transparent 65%)}.visual:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#5279a050 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(ellipse,#000,transparent 70%)}.visual svg{width:100%;position:relative;filter:drop-shadow(0 0 25px #47b8e50c)}.orbital{transform-origin:250px 250px;animation:rotate 65s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.floater{position:absolute;background:#111e31e8;border:1px solid #304a6b;border-radius:7px;padding:12px 16px;font:11px 'Space Grotesk',monospace;box-shadow:0 12px 35px #0005}.floater span{display:block;color:var(--lime);font-size:10px;margin-top:7px}.float1{top:11%;left:0}.float2{bottom:13%;right:0}.v-caption{position:absolute;bottom:0;left:0;font-size:10px;letter-spacing:2px;color:#8295b2}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:20px;color:#a9bad2;font-size:12px;letter-spacing:1px}.strip span{display:flex;gap:12px;align-items:center}.strip i{font-style:normal;color:var(--lime)}section{padding:90px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section-kicker{color:var(--lime);font-size:11px;letter-spacing:2px}.section-top h2,.about h2{font-size:36px;font-weight:500;margin:10px 0 0}.section-top p{color:var(--muted);font-size:14px;max-width:410px;line-height:1.9}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.filter{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:30px;padding:8px 20px;font-size:13px}.filter.active{color:#0b1626;background:var(--lime);border-color:var(--lime)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#0f192a;border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:transform .25s,border-color .25s}.card:hover{transform:translateY(-6px);border-color:#4f7baa}.card[hidden]{display:none}.thumb{height:210px;padding:28px;background:#111e30;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;direction:ltr}.thumb:before{content:'';position:absolute;inset:0;background:linear-gradient(#9eac7e08 1px,transparent 1px),linear-gradient(90deg,#9eac7e08 1px,transparent 1px);background-size:24px 24px}.code{background:#11160f;border:1px solid #455137;border-radius:6px;width:100%;padding:14px;position:relative;transform:rotate(-5deg);box-shadow:12px 15px 0 #0c100b70;font:11px/2 'Space Grotesk',monospace;color:#a3b38e}.code b{color:var(--lime);font-weight:400}.dots{color:#5c6d4b;margin-bottom:9px;letter-spacing:4px}.thumb.web{background:#20201c}.webmock{width:90%;border:1px solid #6a6550;background:#161814;border-radius:5px;padding:16px;transform:perspective(500px) rotateY(-14deg) rotateX(6deg);position:relative}.mocktop{display:flex;justify-content:space-between;border-bottom:1px solid #454737;padding-bottom:9px;font:9px monospace}.mockcontent{display:flex;gap:16px;margin-top:20px}.mocktext{flex:1}.mocktext b{font:18px 'Space Grotesk',sans-serif}.mocktext hr{border:0;height:4px;background:#474e3a}.mockart{width:66px;height:70px;background:var(--lime);border-radius:40px 40px 5px 5px}.thumb.network{background:#17221e}.card-info{padding:23px}.type{font:10px 'Space Grotesk',monospace;letter-spacing:1px;color:var(--lime)}.card h3{font-size:21px;font-weight:500;margin:12px 0 8px}.card p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}.tags{display:flex;direction:ltr;gap:6px;margin:20px 0}.tags span{border:1px solid #2b405d;color:#afc1da;padding:4px 7px;border-radius:4px;font:9px 'Space Grotesk',monospace}.cardfoot{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;align-items:center}.cardfoot small{font-size:10px;color:#899fbc}.textbtn{border:0;background:none;color:var(--text);padding:0;font-size:12px}.textbtn:hover{color:var(--lime)}.about{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:65px 0}.about p{font-size:16px;color:var(--muted);line-height:2}.disciplines{display:grid;gap:0}.discipline{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.discipline:last-child{border:0}.discipline .num{font:11px 'Space Grotesk',monospace;color:#7899bc;padding-top:7px}.discipline h3{font-size:20px;margin:0 0 6px;font-weight:500}.discipline p{font-size:13px;margin:0}.journal{padding:70px 0}.journal-row{width:100%;text-align:right;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);padding:24px 0}.journal-row:last-child{border-bottom:1px solid var(--line)}.journal-row:hover h3{color:var(--lime)}.journal-row small{font:10px 'Space Grotesk',monospace;color:var(--muted)}.journal-row h3{font-size:18px;font-weight:400;margin:0 0 5px}.journal-row p{font-size:12px;color:var(--muted);margin:0}.contact{padding:60px;background:var(--lime);color:#e8f1ff;border-radius:9px;margin:30px 0 60px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact small{font-size:11px;letter-spacing:2px}.contact h2{font-size:42px;line-height:1.4;font-weight:500;margin:15px 0 8px}.contact p{font-size:14px;color:#a4bad8}.contact .btn{background:#182c47;color:var(--lime);border:0;white-space:nowrap}.footer{border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;color:#8195b0;font-size:11px}.footer .brand{font-size:20px;color:var(--text)}dialog{background:#101c30;color:var(--text);border:1px solid #345778;border-radius:12px;max-width:650px;width:calc(100% - 36px);padding:35px;max-height:85vh}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog h2{margin:10px 0 15px;font-size:27px}dialog p{color:#b0c1d8;line-height:2}dialog .close{float:left;border:1px solid var(--line);background:transparent;color:white;border-radius:50%;width:32px;height:32px}dialog label{display:block;font-size:13px;color:#bfd0e8;margin:15px 0 5px}dialog input{display:block;width:100%;background:#0a1221;color:white;border:1px solid #2c4565;border-radius:5px;padding:11px}dialog .btn{margin-top:20px}.notice{font-size:11px!important;color:#8ca9ca!important}.mobile-toggle{display:none}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--lime);color:#061624;padding:12px 25px;border-radius:5px;z-index:100;box-shadow:0 10px 35px #0005}.toast[hidden]{display:none}@media(min-width:1500px){.hero{min-height:720px}}@media(max-width:900px){.wrap{padding:0 25px}.hero{grid-template-columns:1fr 1fr;gap:10px;min-height:590px}.hero h1{font-size:50px}.projects{gap:12px}.card-info{padding:16px}.thumb{height:180px;padding:16px}.about{gap:35px}.contact{padding:35px}.contact h2{font-size:34px}.links{gap:18px}}@media(max-width:650px){nav{height:70px}.links{display:none;position:absolute;top:70px;right:0;left:0;background:#191e15;padding:25px;flex-direction:column;border-bottom:1px solid var(--line)}.links.open{display:flex}.mobile-toggle{display:block;font-size:20px;padding:3px 10px}.nav-action{display:flex;gap:10px}.outline{padding:8px 10px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:35px}.hero h1{font-size:51px;margin:20px 0}.hero p{font-size:15px}.visual{max-width:380px;width:100%;margin:auto}.intro-tag{margin-top:23px}.strip{flex-wrap:wrap;justify-content:center;font-size:9px;gap:16px}section{padding:60px 0}.section-top{display:block}.section-top h2,.about h2{font-size:30px}.projects{grid-template-columns:1fr;gap:22px}.thumb{height:235px;padding:35px}.card-info{padding:24px}.about{grid-template-columns:1fr;gap:20px;padding:45px 0}.journal-row{grid-template-columns:40px 1fr auto;gap:12px}.journal-row h3{font-size:16px}.contact{padding:30px;display:block;margin-bottom:35px}.contact h2{font-size:33px}.contact .btn{margin-top:15px}.footer{gap:15px;align-items:center}.footer span:last-child{max-width:180px;line-height:1.8}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.welcome{font-size:24px;color:#abc0dc;margin-top:35px}.hero h1{font-size:clamp(52px,6vw,82px);margin:5px 0 12px;line-height:1.5;overflow-wrap:anywhere}.name-dot{color:var(--lime)}.role-line{color:var(--lime);font-size:20px;margin-bottom:22px}.hero{min-height:610px}.hero p{max-width:510px}.personal-facts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.personal-facts span{border:1px solid var(--line);border-radius:4px;padding:9px 13px;font-size:12px;color:var(--muted)}.about{margin-top:70px}.certificate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.empty-cert{grid-column:1/-1;border:1px dashed #36597b;border-radius:9px;text-align:center;padding:45px;background:radial-gradient(ellipse at top,#6bd8ee07,transparent)}.cert-icon{font-size:42px;color:var(--lime);line-height:1.4}.empty-cert>span{font-size:10px;letter-spacing:2px;color:#93acce}.empty-cert h3{font-size:25px;font-weight:500;margin:16px 0 8px}.empty-cert p{font-size:14px;color:var(--muted);line-height:1.9}.empty-cert .btn{margin-top:12px}.cert-card{position:relative;border:1px solid var(--line);border-radius:9px;padding:30px;background:linear-gradient(145deg,#14283f,#101c2f);min-height:255px}.cert-number{font-size:10px;color:#8baccf;position:absolute;left:25px;top:32px}.cert-card h3{font-size:22px;overflow-wrap:anywhere;margin:24px 0 8px}.cert-card p{color:var(--muted);margin:0 0 15px;font-size:14px}.cert-card small{color:#8fa9c9}.verify-link{display:block;border-top:1px solid var(--line);padding-top:17px;margin-top:20px;font-size:12px;color:var(--lime)}.skills-section{padding-top:0;padding-bottom:65px;border-bottom:1px solid var(--line)}.skill-list{display:flex;gap:12px;flex-wrap:wrap}.skill-chip{font-size:16px;border:1px solid #304e70;background:#14253d;color:#c4d9ee;padding:13px 24px;border-radius:5px}.skill-placeholder{font-size:14px;color:#8ca5c6;border:1px dashed #2c4667;padding:20px;width:100%;border-radius:6px}.resume-section{padding:65px 0 30px}.resume-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.resume-block{position:relative;padding:30px;border:1px solid var(--line);border-radius:8px;background:#0f192a}.resume-icon{font-size:28px;color:var(--lime)}.resume-block h3{font-size:23px;font-weight:500;margin:15px 0}.resume-block p{white-space:pre-line;font-size:14px;color:var(--muted);line-height:2}.contact-links{display:flex;gap:10px;flex-wrap:wrap;max-width:390px}.contact{padding:45px}.contact h2{font-size:39px}.contact p{max-width:440px}.contact .btn{padding:13px 20px;font-size:13px}.contact small{display:block}textarea{font:inherit;width:100%;background:#0a1221;color:white;border:1px solid #2c4565;border-radius:5px;padding:11px;resize:vertical;line-height:1.9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cert-edit{padding:18px;border:1px solid #2c4565;border-radius:7px;margin-top:18px}.remove-cert{background:none;border:0;color:#e8af99;padding:15px 0 0;font:inherit;font-size:12px}.hero p,#aboutBio{white-space:pre-line}.hero .visual{opacity:.9}@media(max-width:650px){.hero h1{font-size:55px}.welcome{margin-top:8px}.role-line{font-size:17px}.certificate-grid,.resume-grid{grid-template-columns:1fr}.about{margin-top:45px}.empty-cert{padding:30px 20px}.contact{padding:30px}.contact h2{font-size:32px}.contact-links{margin-top:25px}.form-grid{grid-template-columns:1fr;gap:0}.hero{padding-bottom:30px}}

:root{--blue:#497ffa;--cyan:#6bd8ee;--lime:var(--cyan)}
body{background:radial-gradient(ellipse at 15% 6%,#12326335,transparent 35%),var(--bg)}
.wrap{max-width:1220px}.top{border-color:#24344c90;background:#080e1bed}.top nav{height:82px}
.brand{display:flex;align-items:center;gap:10px;font-size:22px;letter-spacing:-.7px}.brandmark{width:29px;height:29px;border:1px solid #4875a1;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;color:#8ed9f3;background:#19325580}.brand-period{color:var(--cyan);margin-left:-10px}.links{font-size:13px;gap:28px}.outline{border-radius:6px;font-size:11px;color:#bed1eb;border-color:#304765;background:#12213970}.outline:hover{background:#1c3553}
.hero{min-height:615px;grid-template-columns:1.1fr 1fr;gap:55px;padding-top:65px;padding-bottom:60px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#8bacd1}.dot{background:var(--cyan);box-shadow:0 0 12px #6bd8ee33}.welcome{font-size:15px;margin-top:35px;color:#a7bfdc;font-weight:400;letter-spacing:0}.hero h1{font-size:clamp(56px,6vw,78px);font-weight:600;letter-spacing:-2px;margin:0 0 13px;line-height:1.5}.role-line{font-size:19px;color:#8fbbf4;line-height:1.8}.hero p{font-size:15px;line-height:2;color:#9eafc8;max-width:490px}.primary{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 5px 22px #3569e624}.btn{border-radius:6px;font-size:13px;padding:13px 22px;transition:transform .2s,background .2s}.btn.primary:hover{background:#5b8cff}.actions{margin-top:28px}.intro-tag{font-size:9px;letter-spacing:1.8px;color:#677f9e}.visual{aspect-ratio:1;background:radial-gradient(ellipse,#225db91a,transparent 67%)}.visual:before{background-image:radial-gradient(#769ed245 1px,transparent 1px);mask-image:radial-gradient(ellipse,#000,transparent 70%)}.visual svg{filter:drop-shadow(0 0 26px #376bd420);width:94%}.orbital{animation:none}.floater{background:linear-gradient(140deg,#16273ee8,#0c1729f5);border:1px solid #355477;padding:12px 15px;box-shadow:0 12px 45px #0003;border-radius:7px;font-size:9px;color:#d4e3f6}.floater span{font-size:9px;color:#87abd2;margin-top:6px}.float1{left:0;top:14%}.float2{right:0;bottom:14%}.v-caption{font-size:8px;letter-spacing:1.5px;color:#7390b3;left:15px}.strip{border-color:#263954;background:#0d192b50;padding:20px 24px;border-radius:7px;font-size:10px;letter-spacing:1px;color:#a2b9d6}.strip i{color:#729df3}.section-kicker{color:#7799c5;font-size:9px;letter-spacing:2px}.section-top h2,.about h2{font-size:31px;font-weight:500;margin-top:12px;letter-spacing:-.6px}.section-top p{font-size:13px;line-height:2;color:#93a8c4;max-width:380px}.about{grid-template-columns:1.1fr 1fr;gap:100px;border-top:0;margin-top:25px;padding:65px 0;border-color:#21344f}.about p{font-size:14px;line-height:2.1;color:#9eafc8}.personal-facts{margin-top:25px;gap:9px}.personal-facts span{font-size:11px;padding:8px 12px;background:#11203980;border-color:#293e5a}.discipline{padding:20px 0;border-color:#253951}.discipline h3{font-size:17px;font-weight:500}.discipline p{font-size:12px}.discipline .num{color:#719bd5}.empty-cert{padding:38px;background:linear-gradient(115deg,#14233b80,#0e192bb0);border-style:solid;border-color:#2a4567;position:relative;overflow:hidden}.empty-cert:before{content:'';position:absolute;top:0;right:0;height:3px;width:100%;background:linear-gradient(90deg,transparent,#497ffa,#6bd8ee)}.cert-icon{font-size:36px;color:#88baf1}.empty-cert h3{font-size:23px;font-weight:500}.empty-cert p{font-size:13px;color:#92a8c5;line-height:2}.empty-cert>span{font-size:9px;color:#6e91bd}.empty-cert .btn{padding:11px 22px;border-color:#35577d;background:#1b355550;color:#c5dafa}.cert-card{background:linear-gradient(135deg,#152943,#101b2e);border-color:#294567;box-shadow:0 10px 40px #00000010}.skill-placeholder{padding:23px;border-style:solid;background:#101c2f;color:#8ea7c8;font-size:13px}.skill-chip{background:#12233c;border-color:#2d4d74;color:#c1d8f4;font-size:14px}.skills-section{border-color:#253951}.resume-block{border-color:#294161;background:linear-gradient(135deg,#12223a,#0d1728);padding:30px 32px}.resume-block h3{font-size:21px}.resume-icon{color:#739ef6}.resume-block p{font-size:13px}.contact{background:linear-gradient(112deg,#142a4b,#10203a 65%,#16354c);border:1px solid #345479;border-radius:10px;padding:40px 45px;margin-top:45px}.contact small{color:#7ca8e0;font-size:9px;letter-spacing:1.6px}.contact h2{color:#edf3fc;font-size:34px;margin:15px 0}.contact p{font-size:13px;color:#a0b6d3;line-height:2}.contact .btn{background:#497ffa;color:white;padding:13px 22px;box-shadow:0 5px 18px #07112633}.footer{border-color:#24364d;font-size:10px;color:#7e96b8;padding:27px 0}.footer .brand{font-size:19px}.footer .brandmark{width:24px;height:24px;font-size:16px}dialog{box-shadow:0 30px 100px #0008;border-color:#35577e;background:#0e1b30}dialog input,textarea{border-color:#294465;background:#091323;color:#e3edfc}.cert-edit{background:#10213b;border-color:#2b4b73}.toast{color:#0a172b;background:#a5d6fa}.links.open{background:#0f1d32}.form-grid{gap:16px}
@media(max-width:900px){.hero{gap:20px}.about{gap:40px}.hero h1{font-size:59px}.strip{padding:20px 14px;font-size:9px;gap:14px}}
@media(max-width:650px){.wrap{padding:0 23px}.top nav{height:70px}.hero{grid-template-columns:1fr;padding-top:42px;gap:15px}.welcome{margin-top:27px}.hero h1{font-size:55px}.role-line{font-size:17px}.hero p{font-size:14px}.visual{max-width:330px;aspect-ratio:1.05;margin-top:8px}.strip{gap:16px;padding:19px 10px;font-size:8px}.strip span:last-child{display:none}.about{grid-template-columns:1fr;gap:32px;padding:55px 0;margin-top:0}.section-top h2,.about h2{font-size:28px}.section-top p{margin-top:17px}.section-top{margin-bottom:27px}.contact{padding:30px 25px;margin-top:40px}.contact h2{font-size:29px}.contact small{font-size:8px}.contact-links{margin-top:22px}.footer{flex-wrap:wrap;gap:18px}.footer>span:last-child{width:100%;max-width:none;font-size:9px}.certificate-grid{grid-template-columns:1fr}.resume-block{padding:27px}.form-grid{grid-template-columns:1fr;gap:0}.empty-cert{padding:33px 19px}.empty-cert h3{font-size:21px}.eyebrow{font-size:8px;letter-spacing:1px}.links.open{top:70px}}
.utility-panel{margin:30px 0 60px;background:linear-gradient(120deg,#12264090,#0d1b2f);border:1px solid #2b4566;padding:28px 30px;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:25px}.utility-panel h2{font-size:19px;margin:0 0 8px;font-weight:500}.utility-panel p{font-size:12px;margin:0;color:var(--muted);line-height:1.9}.utility-actions{display:flex;flex-wrap:wrap;gap:9px;max-width:430px}.utility-actions .btn{padding:10px 15px;font-size:11px}.theme-toggle{font-size:19px;padding:4px 10px;color:#bcd0ee}.nav-action{display:flex;align-items:center;gap:9px}#scrollProgress{position:absolute;bottom:0;right:0;height:2px;background:linear-gradient(90deg,#497ffa,#6bd8ee);width:0;pointer-events:none}.links .current{color:var(--cyan)}.backtop{position:fixed;bottom:25px;left:25px;background:#1a3658;border:1px solid #4d7eae;color:white;width:43px;height:43px;border-radius:50%;font-size:21px;z-index:19;box-shadow:0 8px 30px #0004}.backtop[hidden]{display:none}#certCount{color:var(--muted);font-size:17px;margin-right:10px}.cert-card{transition:transform .2s,border-color .2s}.cert-card:hover{transform:translateY(-4px);border-color:#598cc0}.cert-preview{width:100%;height:145px;object-fit:contain;background:#fff;border-radius:5px;border:1px solid #54718e;margin:25px 0 0}.verify-link{background:transparent;border:0;border-top:1px solid var(--line);font:inherit;font-size:12px;color:var(--cyan);width:100%;text-align:right;cursor:pointer}.verify-link:hover{color:#fff}.certificate-image{width:100%;max-height:60vh;object-fit:contain;border-radius:6px;background:white;margin:20px 0}#certViewer{max-width:900px}.upload-status{font-size:11px;color:#8cb7e9;margin-top:8px}input[type=file]{font-size:11px;max-width:100%}.upload-status+.remove-cert{margin-left:5px}.utility-actions button:hover{border-color:#527fb3}html{color-scheme:dark}html[data-theme=light]{color-scheme:light;--bg:#f3f6fc;--panel:#fff;--line:#d6dfec;--text:#142942;--muted:#526a86;--cyan:#11728f;--lime:#11728f}html[data-theme=light] body{background:radial-gradient(ellipse at 15% 6%,#c8dcff70,transparent 35%),var(--bg)}html[data-theme=light] .top{background:#f5f8fcf2;border-color:#d6dfec}html[data-theme=light] .links,html[data-theme=light] .links.open{color:#435d7c;background:transparent}html[data-theme=light] .outline{background:#e8effa;color:#204264;border-color:#c6d6ea}html[data-theme=light] .brandmark{background:#e5eefc;border-color:#a5bfdc;color:#2c6093}html[data-theme=light] .welcome,html[data-theme=light] .hero p,html[data-theme=light] .about p,html[data-theme=light] .section-top p{color:#526a86}html[data-theme=light] .eyebrow,html[data-theme=light] .role-line,html[data-theme=light] .section-kicker{color:#3468a6}html[data-theme=light] .btn{border-color:#bfcee2}html[data-theme=light] .btn.primary,html[data-theme=light] .contact .btn{color:white;border-color:#497ffa}html[data-theme=light] .floater{background:#f5f9fff0;color:#264666;border-color:#c1d6ee;box-shadow:0 8px 25px #7190b11c}html[data-theme=light] .floater span,html[data-theme=light] .v-caption,html[data-theme=light] .intro-tag{color:#4c7097}html[data-theme=light] .strip{background:#eaf0fa;color:#456486;border-color:#d2dfee}html[data-theme=light] .personal-facts span{background:#e9f0fa;color:#526a86;border-color:#c7d7ea}html[data-theme=light] .about,html[data-theme=light] .discipline,html[data-theme=light] .skills-section,html[data-theme=light] .footer{border-color:#d3dfed}html[data-theme=light] .empty-cert,html[data-theme=light] .cert-card,html[data-theme=light] .resume-block,html[data-theme=light] .skill-placeholder,html[data-theme=light] .utility-panel{background:linear-gradient(130deg,#fff,#ebf2fd);border-color:#c7d8ee}html[data-theme=light] .empty-cert p,html[data-theme=light] .cert-card p,html[data-theme=light] .resume-block p{color:#526a86}html[data-theme=light] .empty-cert .btn{background:#e2edfc;color:#2f5c8d;border-color:#b5cee9}html[data-theme=light] .skill-chip{background:#e5eefc;color:#315c89;border-color:#c2d4e9}html[data-theme=light] .contact{background:linear-gradient(120deg,#e0edff,#edf5ff);border-color:#b6cfee}html[data-theme=light] .contact h2{color:#183759}html[data-theme=light] .contact p,html[data-theme=light] .contact small{color:#496c94}html[data-theme=light] dialog{background:#f7faff;border-color:#a5c1e2;color:#142942}html[data-theme=light] dialog p,html[data-theme=light] dialog label{color:#4b6483}html[data-theme=light] input,html[data-theme=light] textarea{background:white;border-color:#bdcfe5;color:#142942}html[data-theme=light] .cert-edit{background:#edf4ff;border-color:#c0d3ed}html[data-theme=light] dialog .close{color:#23476e;border-color:#b6cae3}html[data-theme=light] .verify-link:hover{color:#123c6e}html[data-theme=light] .footer{color:#5c7595}html[data-theme=light] .footer .brand{color:#142942}
@media(max-width:650px){.utility-panel{display:block;padding:25px 21px}.utility-actions{margin-top:20px;max-width:none}.utility-actions .btn{flex:1 1 44%;white-space:nowrap}.theme-toggle{font-size:17px;padding:4px 8px}.nav-action{gap:6px}.nav-action>#customize{font-size:9px;padding:9px}.backtop{left:18px;bottom:18px}.contact-links .btn{font-size:11px}.links.open{background:#0f1d32}html[data-theme=light] .links.open{background:#eef4fc}.cert-card{min-width:0}dialog{padding:25px}.cert-edit{padding:14px}}
@media print{html,html[data-theme=light]{color-scheme:light;--text:#13243a;--muted:#3d526f;--line:#ced7e4}body{background:white!important;color:#142942!important;font-size:11px}.top,.visual,.strip,.actions,.intro-tag,.utility-panel,.backtop,.toast,.contact-links button,.empty-cert button,.verify-link,.footer .brand{display:none!important}.wrap{max-width:none;padding:0 12px}.hero{display:block;min-height:0;padding:15px 0 20px;border-bottom:1px solid #ced7e4}.hero h1{font-size:36px;color:#142942;line-height:1.5}.welcome{margin-top:0;color:#526a86}.role-line{font-size:16px;color:#285f99}.hero p,.about p{color:#3d526f}.hero .eyebrow{font-size:8px}.about{margin:0;padding:20px 0;gap:25px;grid-template-columns:1fr 1fr}.discipline{padding:9px 0}.discipline h3{font-size:14px}.discipline p{font-size:10px}.section-top h2,.about h2{font-size:22px}.section-top{margin-bottom:15px}.section-top p{font-size:10px}section,#certificates,.skills-section,.resume-section{padding:20px 0}.empty-cert,.cert-card,.resume-block,.contact,.skill-placeholder,.personal-facts span,.skill-chip{background:white!important;border-color:#ccd6e5!important;color:#142942!important;box-shadow:none!important}.cert-card,.resume-block{break-inside:avoid}.certificate-grid{grid-template-columns:repeat(2,1fr)}.cert-card h3{font-size:17px}.cert-card{padding:20px;min-height:0}.cert-icon{display:none}.cert-number{position:static}.resume-block{padding:20px}.resume-block p,.empty-cert p,.contact p{color:#3d526f!important;font-size:11px}.contact{margin:15px 0;padding:22px;break-inside:avoid}.contact h2{font-size:24px;color:#142942!important}.contact .btn{background:white!important;color:#183e71!important;border:1px solid #ccc;font-size:11px;padding:8px 10px}.footer{color:#526a86;font-size:9px;padding:12px 0}.cert-preview{height:110px}dialog{display:none!important}.skill-chip{padding:8px 12px;font-size:12px}.personal-facts span{font-size:10px}.empty-cert{padding:20px}.empty-cert:before{display:none}}
.timeline-item{border-top:1px solid var(--line);padding:20px 0 5px;margin-top:16px}.timeline-item h4{font-size:18px;font-weight:500;margin:0 0 9px}.timeline-item small{color:var(--muted);font-size:12px}.timeline-item p{white-space:pre-line}.portrait-frame{width:85%;aspect-ratio:.86;border-radius:18px;border:1px solid #416c98;padding:12px;background:linear-gradient(135deg,#23508c50,#15263b);box-shadow:0 24px 70px #0003}.portrait-frame img{width:100%;height:100%;object-fit:cover;border-radius:10px}.admin-footer{color:#7da4d3}.admin-footer:hover{color:var(--cyan)}#viewerContent .btn{margin-top:15px;margin-left:10px}.cert-icon{font-family:'Space Grotesk',sans-serif}html[data-theme=light] .timeline-item{border-color:#d2ddec}
/* File-based edition: certificates can include embedded images or PDFs. */
#viewerContent .certificate-image{max-height:65vh}.admin-footer{font-size:11px}
