:root{--bg:#05070f;--bg-2:#0a0f1e;--surface:#ffffff09;--surface-2:#ffffff0f;--border:#94a3ff1f;--border-strong:#94a3ff47;--text:#e6e9f5;--muted:#8c93ad;--faint:#5b627c;--blue:#4f8cff;--violet:#8b5cf6;--cyan:#22d3ee;--green:#34d399;--amber:#fbbf24;--grad:linear-gradient(135deg,var(--blue),var(--violet));--grid:#788cff12;--glow-a:#4f8cff59;--glow-b:#8b5cf64d;--shadow:0 20px 60px -20px #0009;--font-head:"Space Grotesk",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--radius:16px}[data-theme=light]{--bg:#f5f7fc;--bg-2:#eef1fa;--surface:#ffffffbf;--surface-2:#fff;--border:#3c468c1f;--border-strong:#4f5cdc4d;--text:#121630;--muted:#545b78;--faint:#8a90a8;--grid:#3c50c812;--glow-a:#4f8cff38;--glow-b:#8b5cf62e;--shadow:0 20px 50px -25px #1e286440}[dir=rtl]{--font-head:"IBM Plex Sans Arabic",sans-serif;--font-body:"IBM Plex Sans Arabic",sans-serif}[dir=rtl] .eyebrow,[dir=rtl] .fact small,[dir=rtl] .capstone small,[dir=rtl] .status,[dir=rtl] .soon{font-family:var(--font-body);letter-spacing:0}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.65;transition:background .4s,color .4s;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.mono{font-family:var(--font-mono)}.bg-grid{z-index:-2;pointer-events:none;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 80%);mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 80%)}.glow{z-index:-1;filter:blur(90px);pointer-events:none;border-radius:50%;position:fixed}.glow.a{background:var(--glow-a);width:520px;height:520px;animation:18s ease-in-out infinite drift;top:-160px;left:8%}.glow.b{background:var(--glow-b);width:460px;height:460px;animation:22s ease-in-out infinite reverse drift;top:60px;right:4%}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(60px,40px)}}.wrap{max-width:1140px;margin:0 auto;padding:0 24px}section{padding:110px 0}nav{z-index:50;-webkit-backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 70%,transparent);border-bottom:1px solid var(--border);position:sticky;top:0}nav .wrap{align-items:center;gap:24px;height:68px;display:flex}.logo{font-family:var(--font-mono);color:var(--text);direction:ltr;font-size:15px;font-weight:500}.logo b{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.nav-links{gap:4px;margin-inline-start:auto;display:flex}.nav-links a{color:var(--muted);border-radius:8px;padding:8px 12px;font-size:14px;transition:all .2s}.nav-links a:hover{color:var(--text);background:var(--surface-2)}.nav-tools{align-items:center;gap:8px;display:flex}.icon-btn{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text);cursor:pointer;font-family:var(--font-mono);border-radius:10px;place-items:center;font-size:13px;transition:all .2s;display:grid}.icon-btn:hover{border-color:var(--border-strong);transform:translateY(-1px)}.icon-btn svg{width:17px;height:17px}.lang-btn{gap:6px;width:auto;padding:0 12px;display:flex}.lang-btn span{opacity:.45}.lang-btn span.on{opacity:1;color:var(--blue)}.menu-btn{display:none}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:11px 20px;font-size:14.5px;font-weight:500;transition:all .25s;display:inline-flex}.btn svg{width:16px;height:16px}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 30px -8px #6366f199}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 40px -10px #6366f1cc}.btn-ghost{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.btn-ghost:hover{border-color:var(--blue);transform:translateY(-2px)}.btn-sm{border-radius:10px;padding:8px 14px;font-size:13px}.hero{align-items:center;min-height:calc(100vh - 68px);padding:60px 0;display:flex}.hero .wrap{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;display:grid}.eyebrow{font-family:var(--font-mono);color:var(--cyan);align-items:center;gap:10px;margin-bottom:22px;font-size:13px;display:inline-flex}.eyebrow:before{content:"";background:var(--cyan);width:28px;height:1px}.hero h1{font-family:var(--font-head);letter-spacing:-.02em;font-size:clamp(40px,6vw,68px);font-weight:700;line-height:1.05}.hero h1 .grad{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.hero .role{font-family:var(--font-head);color:var(--text);margin-top:18px;font-size:clamp(19px,2.3vw,24px);font-weight:500}.hero .role .sep{color:var(--violet);margin:0 8px}.hero p.lead{color:var(--muted);max-width:520px;margin-top:16px;font-size:17px}.hero .ctas{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.socials{gap:10px;margin-top:28px;display:flex}.socials a{width:42px;height:42px}.terminal{border-radius:var(--radius);background:color-mix(in srgb,var(--bg-2) 85%,transparent);border:1px solid var(--border-strong);box-shadow:var(--shadow),0 0 0 1px #ffffff05 inset,0 0 80px -30px var(--glow-a);text-align:left;direction:ltr;overflow:hidden}.term-bar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:7px;padding:12px 16px;display:flex}.term-bar i{border-radius:50%;width:11px;height:11px;display:block}.term-bar i:first-child{background:#ff5f57}.term-bar i:nth-child(2){background:#febc2e}.term-bar i:nth-child(3){background:#28c840}.term-bar span{font-family:var(--font-mono);color:var(--faint);margin-left:auto;margin-right:auto;font-size:12px}.term-body{font-family:var(--font-mono);white-space:pre-wrap;min-height:300px;padding:20px 22px;font-size:13.5px;line-height:1.85}.t-prompt{color:var(--green)}.t-key{color:var(--blue)}.t-str{color:#f0abfc}.t-num{color:var(--amber)}.t-com{color:var(--faint)}[data-theme=light] .t-str{color:#a21caf}.terminal{cursor:text;position:relative}.term-body{position:relative}.term-body canvas{border-radius:8px;display:block}.term-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;left:0}.terminal.focused{border-color:var(--blue)}.term-hint{cursor:pointer;font-family:var(--font-mono);color:var(--faint);direction:ltr;background:0 0;border:0;margin:14px auto 0;font-size:12.5px;transition:all .25s;display:block}.term-hint span{border-bottom:1px dashed var(--faint)}.term-hint code{color:var(--green)}.term-hint:hover{color:var(--muted)}[dir=rtl] .term-hint{font-family:var(--font-body);direction:rtl;font-size:13.5px}[dir=rtl] .diagram .n-s,[dir=rtl] .diagram .edge-t,[dir=rtl] .diagram .grp-t,[dir=rtl] .diagram .n-t{font-family:IBM Plex Sans Arabic,sans-serif}.term-hint:hover code{text-shadow:0 0 10px var(--green)}.dpad{grid-template-columns:repeat(5,1fr);gap:8px;padding:0 16px 14px;display:none}.dpad button{font-family:var(--font-mono);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:10px;padding:10px 0;font-size:15px}.terminal.playing.touch .dpad{display:grid}.t-err{color:#f87171}.cursor{background:var(--cyan);vertical-align:-3px;width:8px;height:16px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.sec-head{margin-bottom:48px}.sec-label{font-family:var(--font-mono);color:var(--blue);direction:ltr;margin-bottom:10px;font-size:13px;display:inline-block}.sec-head h2{font-family:var(--font-head);letter-spacing:-.015em;font-size:clamp(30px,4vw,42px);line-height:1.15}.sec-head p{color:var(--muted);max-width:600px;margin-top:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);isolation:isolate;padding:26px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s;position:relative;overflow:hidden}.card:before{content:"";z-index:-1;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),#6378ff24,transparent 45%);transition:opacity .35s;position:absolute;inset:0}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-5px)}.card:hover:before{opacity:1}.card h3{font-family:var(--font-head);font-size:19px;font-weight:600;line-height:1.3}.card p{color:var(--muted);font-size:14.5px}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{font-family:var(--font-mono);border:1px solid var(--border);background:var(--surface-2);color:var(--muted);direction:ltr;border-radius:999px;padding:4px 10px;font-size:12px}.about-grid{grid-template-columns:1.25fr 1fr;gap:32px;display:grid}.about-text p{color:var(--muted);margin-bottom:16px;font-size:16.5px}.about-text p strong{color:var(--text);font-weight:500}.facts{gap:12px;display:grid}.fact{align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.fact .ico{background:var(--surface-2);border:1px solid var(--border);width:36px;height:36px;color:var(--blue);border-radius:10px;flex:none;place-items:center;display:grid}.fact .ico svg{width:17px;height:17px}.fact small{font-family:var(--font-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;display:block}.fact span{font-size:14.5px}.skills-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.skill-ico{background:var(--grad);color:#fff;border-radius:12px;place-items:center;width:44px;height:44px;margin-bottom:16px;display:grid}.skill-ico svg{width:21px;height:21px}.skills-grid h3{margin-bottom:14px;font-size:17px}.projects-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.project{flex-direction:column;padding:0;display:flex}.project.featured{flex-direction:row;grid-column:1/-1}.project.featured .cover{aspect-ratio:auto;flex:1.2;min-height:320px}.project.featured .p-body{flex:1}.cover{aspect-ratio:16/9;border-bottom:1px solid var(--border);background:var(--bg-2);position:relative;overflow:hidden}.project.featured .cover{border-bottom:0;border-inline-end:1px solid var(--border)}.cover img{object-fit:cover;object-position:top left;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.project:hover .cover img{transform:scale(1.05)}.cover:after{content:"";background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--bg) 70%,transparent));position:absolute;inset:0}.cover.gen{background:radial-gradient(circle at 30% 30%,var(--glow-a),transparent 55%),radial-gradient(circle at 75% 70%,var(--glow-b),transparent 55%),var(--bg-2);place-items:center;display:grid}.cover.gen .gen-code{font-family:var(--font-mono);color:var(--text);opacity:.85;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--bg) 60%,transparent);text-align:left;direction:ltr;border-radius:12px;padding:18px 22px;font-size:13px;line-height:1.8}.p-body{flex-direction:column;flex:1;gap:14px;padding:26px;display:flex}.p-meta{font-family:var(--font-mono);color:var(--cyan);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.impact{border:1px solid var(--border);background:linear-gradient(135deg,#4f8cff1a,#8b5cf61a);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.impact svg{width:16px;height:16px;color:var(--green);flex:none;margin-top:3px}.p-actions{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px;display:flex}.soon{font-family:var(--font-mono);background:var(--surface-2);color:var(--faint);border:1px dashed var(--border-strong);border-radius:6px;padding:2px 8px;font-size:11px}.filters{flex-wrap:wrap;gap:8px;margin:-16px 0 28px;display:flex}.filter{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;transition:all .25s;display:inline-flex}.filter i{font-style:normal;font-family:var(--font-mono);background:var(--surface-2);border-radius:999px;padding:1px 7px;font-size:11px}.filter:hover{color:var(--text);border-color:var(--border-strong)}.filter.on{color:#fff;background:var(--grad);border-color:#0000}.filter.on i{background:#fff3}.project.out{transition:opacity .25s,transform .25s;opacity:0!important;transform:scale(.94)!important}.project.gone{display:none}.project.pop{animation:.45s cubic-bezier(.2,.8,.2,1) both pop}.certs-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.cert{flex-direction:column;gap:14px;display:flex}.cert-top{align-items:center;gap:14px;display:flex}.badge-logo{width:52px;height:52px;font-family:var(--font-mono);color:#fff;background:var(--grad);border-radius:14px;flex:none;place-items:center;font-size:13px;font-weight:500;display:grid;box-shadow:0 8px 24px -10px #6366f1b3}.badge-logo.alt{background:linear-gradient(135deg,#0ea5e9,#22d3ee)}.badge-logo.alt2{background:linear-gradient(135deg,#475569,#64748b)}.cert h3{font-size:16px}.issuer{color:var(--muted);font-size:13px}.cert .when{font-family:var(--font-mono);color:var(--faint);text-align:start;direction:ltr;font-size:12px}.status{font-family:var(--font-mono);border-radius:999px;align-items:center;gap:6px;width:max-content;padding:3px 10px;font-size:11.5px;display:inline-flex}.status.ok{color:var(--green);background:#34d3991a;border:1px solid #34d39940}.status.prog{color:var(--amber);background:#fbbf241a;border:1px solid #fbbf244d}.status.prog i{background:var(--amber);border-radius:50%;width:7px;height:7px;animation:1.6s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #fbbf2499}70%{box-shadow:0 0 0 8px #fbbf2400}to{box-shadow:0 0 #fbbf2400}}.cert .p-actions{margin-top:auto}.boot-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.boot{flex-direction:column;gap:16px;display:flex}.boot-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hours{font-family:var(--font-mono);background:var(--grad);color:#0000;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:500}.hours small{-webkit-text-fill-color:var(--faint);font-size:12px}.capstone{border:1px dashed var(--border-strong);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:14px;transition:all .25s;display:flex}.capstone:hover{border-style:solid;border-color:var(--blue);background:var(--surface-2)}.capstone small{font-family:var(--font-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px;display:block}.capstone svg{width:18px;height:18px;color:var(--blue)}[dir=rtl] .capstone svg,[dir=rtl] .arrow-flip{transform:scaleX(-1)}.stat-row{flex-wrap:wrap;gap:40px;margin-top:28px;display:flex}.stat b{font-family:var(--font-mono);background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:34px;font-weight:500}.stat span{font-family:var(--font-mono);color:var(--violet);font-size:26px}.stat small{color:var(--muted);font-size:13px;display:block}.contact-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:28px;display:grid}.contact-links{gap:12px;display:grid}.c-link{align-items:center;gap:16px;padding:18px 20px;display:flex}.c-link .ico{background:var(--surface-2);border:1px solid var(--border);width:44px;height:44px;color:var(--blue);border-radius:12px;flex:none;place-items:center;display:grid}.c-link .ico svg{width:19px;height:19px}.c-link small{font-family:var(--font-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;display:block}.c-link span{word-break:break-all;font-size:15px}.c-link .go{color:var(--faint);margin-inline-start:auto;transition:all .25s}.c-link:hover .go{color:var(--blue);transform:translate(4px)}[dir=rtl] .c-link:hover .go{transform:translate(-4px)scaleX(-1)}[dir=rtl] .c-link .go{transform:scaleX(-1)}form{gap:14px;display:grid}label{color:var(--muted);gap:7px;font-size:13px;display:grid}input,textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:12px;outline:none;padding:12px 14px;font-size:15px;transition:all .2s}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #4f8cff26}textarea{resize:vertical;min-height:130px}footer{border-top:1px solid var(--border);color:var(--faint);padding:32px 0;font-size:13px}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.modal{z-index:100;backdrop-filter:blur(6px);background:#03050cb3;place-items:center;padding:24px;display:none;position:fixed;inset:0}.modal.open{animation:.25s fade;display:grid}.modal-box{background:var(--bg-2);border:1px solid var(--border-strong);width:min(720px,100%);box-shadow:var(--shadow);border-radius:20px;padding:20px;animation:.3s cubic-bezier(.2,.8,.2,1) pop}.modal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cert-img{border:1px solid var(--border);background:#fff;border-radius:12px;width:100%}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(10px)}}.modal{overflow-y:auto}.qv-box{width:min(620px,100%);padding:26px;position:relative;overflow:hidden}.qv-box:before{content:"";background:var(--grad);height:3px;position:absolute;inset:0 0 auto}.qv-name{font-family:var(--font-head);background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;width:max-content;max-width:100%;font-size:30px;line-height:1.15}.qv-role{font-family:var(--font-head);margin-top:6px;font-size:17px}.qv-role .sep{color:var(--violet);margin:0 8px}.qv-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px;display:grid}.qv-cell{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.qv-cell small,.qv-sec small{font-family:var(--font-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:11px;display:block}.qv-cell span{font-size:14.5px}.qv-sec{margin-top:18px}.qv-list{color:var(--muted);gap:8px;font-size:14.5px;list-style:none;display:grid}.qv-list li{padding-inline-start:20px;position:relative}.qv-list li:before{content:"▹";color:var(--blue);position:absolute;inset-inline-start:0}[dir=rtl] .qv-list li:before{content:"◃"}[dir=rtl] .qv-cell small,[dir=rtl] .qv-sec small{font-family:var(--font-body);letter-spacing:0}.cs-box{width:min(1000px,100%);padding:28px}.cs-intro{color:var(--muted);margin-top:6px;font-size:15px}.cs-h{font-family:var(--font-head);align-items:center;gap:10px;margin:26px 0 12px;font-size:19px;font-weight:600;display:flex}.cs-h .mono{color:var(--blue);font-size:14px}.diagram-wrap{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:14px;overflow-x:auto}.diagram{direction:ltr;width:100%;min-width:640px;height:auto;display:block}.diagram .node{fill:var(--bg-2);stroke:var(--border-strong);stroke-width:1.2px}.diagram .node.hl{stroke:var(--blue);stroke-width:1.6px;filter:drop-shadow(0 0 10px #4f8cff73)}.diagram .grp{fill:#8b5cf60d;stroke:var(--violet);stroke-opacity:.45;stroke-dasharray:5 5}.diagram .grp2{fill:#4f8cff0d;stroke:var(--blue)}.diagram .grp-t{fill:var(--faint);letter-spacing:.04em;font:500 11px JetBrains Mono,monospace}.diagram .n-t{fill:var(--text);text-anchor:middle;font:600 14px Space Grotesk,sans-serif}.diagram .n-s{fill:var(--muted);text-anchor:middle;font:400 10.5px JetBrains Mono,monospace}.diagram .edge-t{fill:var(--cyan);text-anchor:middle;font:400 10.5px JetBrains Mono,monospace}.diagram .edge{fill:none;stroke:var(--blue);stroke-width:1.8px;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .6s ease calc(var(--s)*.22s)}.diagram .dashed-edge{stroke:var(--cyan)}.diagram .dg{opacity:0;transform-box:fill-box;transition:opacity .5s ease calc(var(--s)*.22s),transform .5s ease calc(var(--s)*.22s);transform:translateY(8px)}.diagram .packet{fill:var(--cyan);filter:drop-shadow(0 0 6px var(--cyan));opacity:0;transition:opacity .4s}.diagram.play .edge{stroke-dashoffset:0}.diagram.play .dg{opacity:1;transform:none}.diagram.play.flow .packet{opacity:1}.cs-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;display:grid}.cs-stats div{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px}.cs-stats b{font-family:var(--font-mono);background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:500}.cs-stats b,.stat b{direction:ltr;unicode-bidi:isolate;display:inline-block}[dir=rtl] .stat{text-align:right;direction:ltr}[dir=rtl] .chip[data-ar]{font-family:var(--font-body);direction:rtl}[dir=rtl] .sec-label span,[dir=rtl] footer .mono{font-family:var(--font-body)}[dir=rtl] .c-link small[data-ar]{font-family:var(--font-body);letter-spacing:0}.cs-stats small{color:var(--muted);font-size:12.5px;display:block}@media (width<=760px){.cs-stats,.qv-grid{grid-template-columns:repeat(2,1fr)}.cs-box,.qv-box{padding:20px}}.logo{white-space:nowrap}@media (width<=900px){.nav-links{top:68px;background:var(--bg-2);border-bottom:1px solid var(--border);flex-direction:column;padding:12px 16px;display:none;position:absolute;inset-inline:0}.nav-links.open{display:flex}.menu-btn{display:grid}.nav-tools{margin-inline-start:auto}}.nw{white-space:nowrap}.ico-moon,[data-theme=light] .ico-sun{display:none}[data-theme=light] .ico-moon{display:block}.status.sel{color:var(--cyan);background:#22d3ee14;border:1px solid #22d3ee4d}.status.exp{color:var(--faint);background:var(--surface-2);border:1px solid var(--border)}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form-msg{color:var(--green);font-size:14px}.form-msg.err{color:#f87171}.cover-link{display:block}.project.featured .cover-link{flex:1.2;display:flex}.project.featured .cover-link .cover{flex:1}@media (width<=960px){.project.featured .cover-link{flex:none;display:block}}.project h3 a{transition:color .2s}.project h3 a:hover{color:var(--blue)}.btn[aria-disabled=true]{cursor:default;opacity:.8}.btn[aria-disabled=true]:hover{border-color:var(--border-strong);transform:none}.exp-list{gap:18px;display:grid}.exp{align-items:flex-start;gap:18px;display:flex}.exp-ico{background:var(--grad);color:#fff;border-radius:12px;flex:none;place-items:center;width:46px;height:46px;display:grid}.exp-ico svg{width:20px;height:20px}.exp-body{gap:10px;display:grid}.exp-co{color:var(--blue)}.cs-page{padding:56px 0 100px}.cs-page .wrap{max-width:980px}.back{font-family:var(--font-mono);color:var(--muted);margin-bottom:26px;font-size:13px;transition:all .2s;display:inline-block}.back:hover{color:var(--blue)}[dir=rtl] .back{font-family:var(--font-body)}.cs-hero{gap:16px;margin-bottom:34px;display:grid}.cs-hero h1{font-family:var(--font-head);letter-spacing:-.015em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(30px,4.5vw,46px);line-height:1.12}.cs-hero .cs-intro{max-width:720px;font-size:17px}.cs-sec{margin-top:40px}.cs-text{color:var(--muted);max-width:760px;font-size:16px}.cs-list{gap:12px;font-size:15.5px}.shots{gap:18px;display:grid}.shot{padding:0;overflow:hidden}.shot img{width:100%;display:block}.shot figcaption{color:var(--muted);padding:12px 16px;font-size:13.5px}.more{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.more-card{gap:8px;display:grid;position:relative}.more-card .go{width:18px;height:18px;color:var(--blue)}@media (width<=760px){.more{grid-template-columns:1fr}.cs-page{padding-top:32px}}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.hero .reveal{transition-duration:1s}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}@media (width<=960px){.hero .wrap,.about-grid,.contact-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,1fr)}.project.featured{flex-direction:column}.project.featured .cover{aspect-ratio:16/9;border-inline-end:0;border-bottom:1px solid var(--border);min-height:0}}@media (width<=760px){section{padding:80px 0}.wrap{padding:0 16px}.nav-links{top:68px;background:var(--bg-2);border-bottom:1px solid var(--border);flex-direction:column;padding:12px 16px;display:none;position:absolute;inset-inline:0}.nav-links.open{display:flex}.menu-btn{display:grid}.nav-tools{margin-inline-start:auto}.nav-cv span{display:none}.projects-grid,.boot-grid,.skills-grid{grid-template-columns:1fr}.term-body{min-height:250px;font-size:12px}}
