:root{--bg:#0b1120;--panel:#111a2b;--panel2:#151f32;--text:#edf2fa;--muted:#9aa8bd;--accent:#78e3c2;--line:rgba(190,207,230,.13);--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:10;background:rgba(11,17,32,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:11px;align-items:center;font-weight:700;line-height:1.15}.brand>span:last-child{font-size:14px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:5px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;background:var(--accent);color:#0b1722;border-radius:11px;font-family:Manrope,sans-serif;font-weight:800}.nav-links{display:flex;align-items:center;gap:31px;font-size:13px;color:#b9c4d5}.nav-links a:hover,.social-links a:hover{color:var(--accent)}.nav-links .nav-contact{border:1px solid #344157;padding:10px 15px;border-radius:8px;color:var(--text)}.nav-contact span{color:var(--accent);margin-left:7px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--text);margin:5px}
.section{padding:105px 0}.hero{padding-top:90px;padding-bottom:30px;min-height:650px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:55px;min-height:480px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2.1px;font-weight:700;color:var(--accent)}.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(120,227,194,.22);background:rgba(120,227,194,.05);border-radius:30px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px rgba(120,227,194,.55)}.hero-intro{margin:28px 0 0;color:var(--muted);font-size:18px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(42px,5.3vw,70px);line-height:1.12;letter-spacing:-3px;margin:0;font-weight:800}.accent{color:var(--accent)}.hero h2{font-size:clamp(18px,2vw,23px);font-weight:500;color:#c2cddd;margin:14px 0 0}.hero-description{max-width:475px;color:var(--muted);font-size:15px;margin:20px 0 27px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:20px;justify-content:center;padding:13px 18px;border-radius:8px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#0a1820}.button-primary:hover{background:#9af0d7}.button-secondary{border:1px solid #344157;color:var(--text)}.hero-meta{display:flex;align-items:center;gap:13px;color:#8796ac;font-size:11px;margin-top:30px}.meta-separator{width:4px;height:4px;background:#607087;border-radius:50%}.hero-art{height:420px;display:grid;place-items:center;position:relative}.hero-glow{position:absolute;width:270px;height:270px;background:rgba(57,178,153,.11);filter:blur(65px);border-radius:50%;z-index:0}.orbit{position:absolute;border:1px solid rgba(120,227,194,.11);border-radius:50%;transform:rotate(-25deg)}.orbit-one{width:420px;height:280px}.orbit-two{width:350px;height:410px;transform:rotate(30deg)}.profile-card{width:min(350px,88%);position:relative;z-index:1;border:1px solid #2b3a50;background:linear-gradient(145deg,#172338,#101929);border-radius:16px;box-shadow:0 28px 80px #02061080;overflow:hidden;padding:0 22px}.card-top{height:48px;display:flex;align-items:center;justify-content:space-between;color:#71829b;font:10px monospace;border-bottom:1px solid var(--line);margin:0 -22px;padding:0 18px}.window-dots{display:flex;gap:4px}.window-dots i,.visual-bar i{width:6px;height:6px;border-radius:50%;background:#65758b}.window-dots i:first-child{background:#e89b8e}.window-dots i:nth-child(2){background:#e7c77d}.window-dots i:nth-child(3){background:#7cd9ad}.avatar{margin:24px auto 10px;width:67px;height:67px;display:grid;place-items:center;border:1px solid rgba(120,227,194,.6);background:rgba(120,227,194,.1);border-radius:22px;color:var(--accent);font:800 23px Manrope,sans-serif}.profile-name{text-align:center;font-weight:700;font-size:16px}.profile-role{text-align:center;color:var(--muted);font-size:10px;margin-top:3px}.code-lines{background:#0b1322;border:1px solid var(--line);border-radius:8px;padding:12px 13px;margin:22px 0 16px;font:10px/1.9 monospace;color:#b4c2d4}.code-lines p{margin:0}.code-lines p>span{color:#506078;margin-right:9px}.code-lines b{color:#d2a4f5}.code-lines em{color:#79c8f2;font-style:normal}.code-lines strong{color:#b8e9a4;font-weight:400}.card-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin:0 -22px;padding:12px 18px;color:#8a9ab0;font-size:9px}.card-bottom .status-dot{width:6px;height:6px;margin-right:5px}.floating-tag{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;background:#1a2638;border:1px solid #34465d;border-radius:9px;padding:10px 13px;font-size:11px;box-shadow:0 12px 28px #03071180}.floating-tag span{color:var(--accent);font-size:15px}.tag-code{top:62px;left:0}.tag-data{right:-4px;bottom:67px}.scroll-hint{display:flex;align-items:center;gap:10px;color:#63728a;font-size:9px;letter-spacing:1.8px;padding-top:38px}.scroll-hint span{width:24px;height:1px;background:var(--accent)}
.about-section{background:#0e1626;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.two-column{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.section-kicker{margin:0 0 15px}.section-title{font:800 clamp(29px,3.5vw,43px)/1.2 Manrope,sans-serif;letter-spacing:-1.6px;margin:0}.about-content>p{color:#aebbd0;font-size:15px;margin:0 0 28px}.about-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.about-facts div{padding:15px 12px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.015)}.about-facts strong{display:block;font:700 16px Manrope,sans-serif;color:var(--accent)}.about-facts span{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section-note{max-width:310px;margin:0;color:var(--muted);font-size:13px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.skill-card{position:relative;display:flex;align-items:center;gap:14px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:10px;transition:border-color .2s,transform .2s}.skill-card:hover,.project-card:hover{border-color:rgba(120,227,194,.45);transform:translateY(-3px)}.skill-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:rgba(120,227,194,.09);color:var(--accent);font:700 12px Manrope,sans-serif}.skill-card h3{font-size:13px;margin:0 0 3px}.skill-card p{font-size:11px;color:var(--muted);margin:0}.skill-arrow{margin-left:auto;align-self:flex-start;color:#61728a}
.projects-section{background:#0e1626;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.project-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .2s,transform .2s}.project-visual{height:190px;padding:22px 20px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 10%,#253c4b,#101827 70%)}.visual-2{background:radial-gradient(ellipse at 50% 10%,#39304d,#101827 70%)}.visual-3{background:radial-gradient(ellipse at 50% 10%,#263c39,#101827 70%)}.visual-window{width:100%;max-width:270px;height:155px;border:1px solid #39475a;border-radius:8px;background:#111b2b;overflow:hidden;box-shadow:0 15px 30px #0004}.visual-bar{height:25px;border-bottom:1px solid #29374a;display:flex;align-items:center;gap:4px;padding:0 9px}.visual-bar i{width:5px;height:5px}.visual-bar span{font:8px monospace;color:#8190a6;margin-left:auto}.mini-dashboard{display:flex;height:130px}.mini-sidebar{width:24%;background:#17263a;border-right:1px solid #29374a}.mini-content{padding:12px;width:76%}.mini-heading{width:58%;height:5px;border-radius:4px;background:#71839a;margin-bottom:11px}.mini-stats{display:flex;gap:5px}.mini-stats i{height:22px;flex:1;background:#1e3546;border:1px solid #355a60;border-radius:3px}.mini-chart{height:43px;margin-top:9px;display:flex;align-items:end;gap:5px;border-bottom:1px solid #304052}.mini-chart span{flex:1;background:#69cbb0;height:35%;border-radius:2px 2px 0 0}.mini-chart span:nth-child(2){height:62%}.mini-chart span:nth-child(3){height:46%}.mini-chart span:nth-child(4){height:78%}.mini-chart span:nth-child(5){height:55%}.mini-chart span:nth-child(6){height:90%}.mini-chart span:nth-child(7){height:72%}.mini-code{font:8px/2 monospace;padding:25px 12px;color:#a5b7cd;position:relative}.mini-code b{color:#d3a0ee}.mini-code em{color:#82d9bd;font-style:normal}.mini-code strong{color:#e9c786;font-weight:400}.code-highlight{height:18px;background:#6edbb31b;border-left:2px solid #6edbb3;position:absolute;left:0;right:0;top:78px}.mini-table{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:22px 18px}.mini-table div{height:20px;border:1px solid #31574f;background:#1a3435;border-radius:2px}.mini-table div:nth-child(-n+3){background:#244f4a}.project-body{padding:22px}.project-category{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);font-weight:700}.project-body h3{font:700 17px/1.4 Manrope,sans-serif;margin:10px 0}.project-body>p{font-size:12px;line-height:1.8;color:var(--muted);min-height:66px;margin:0 0 17px}.tech-list{display:flex;flex-wrap:wrap;gap:6px}.tech-list span{font-size:9px;color:#b3c1d4;background:#202c3e;border-radius:4px;padding:5px 7px}.project-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line);font-size:10px;color:var(--accent)}.project-private{font-size:10px;color:#718198}
.contact-section{padding-top:85px;padding-bottom:85px}.contact-panel{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:44px;background:linear-gradient(120deg,#142338,#111b2b);border:1px solid #2c4051;border-radius:16px;position:relative;overflow:hidden}.contact-panel:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(120,227,194,.08);filter:blur(60px);right:15%;top:-130px;pointer-events:none}.contact-panel h2{font:800 clamp(25px,3.3vw,38px)/1.25 Manrope,sans-serif;letter-spacing:-1px;max-width:610px;margin:0 0 14px}.contact-panel>div>p:last-child{font-size:13px;color:var(--muted);margin:0}.contact-actions{position:relative;z-index:1}.social-links{display:flex;gap:17px;margin-top:16px;font-size:11px;color:#a6b5c9}.footer{border-top:1px solid var(--line);padding:23px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand .brand-mark{width:31px;height:31px;border-radius:9px}.footer-brand>span:last-child{font-size:12px}.footer-brand small{font-size:8px}.footer p,.footer-inner>span{font-size:10px;color:#74839a;margin:0}
@media(max-width:900px){.hero-grid{gap:20px}.hero-art{transform:scale(.92)}.nav-links{gap:17px}.two-column{gap:45px}.projects-grid{grid-template-columns:repeat(2,1fr)}.projects-grid .project-card:last-child{grid-column:span 2}.projects-grid .project-card:last-child .project-visual{height:170px}.skills-grid{grid-template-columns:repeat(2,1fr)}.contact-panel{padding:32px}}
@media(max-width:680px){.container{width:min(var(--max),calc(100% - 34px))}.nav{height:68px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;padding:18px 24px 24px;background:#0e1626;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:12px 0}.nav-links .nav-contact{margin-top:8px;text-align:center}.hero{padding-top:60px;min-height:0}.hero-grid{grid-template-columns:1fr;gap:10px}.hero h1{font-size:clamp(43px,12vw,62px);letter-spacing:-2.4px}.hero h2{font-size:19px}.hero-art{height:365px;transform:none;margin-top:12px}.profile-card{width:min(340px,85%)}.orbit-one{width:330px;height:245px}.orbit-two{width:280px;height:350px}.tag-code{left:0;top:42px}.tag-data{right:0;bottom:45px}.scroll-hint{padding-top:18px}.section{padding:75px 0}.two-column{grid-template-columns:1fr;gap:24px}.section-heading{align-items:start;flex-direction:column;gap:13px}.section-note{max-width:420px}.skills-grid{grid-template-columns:1fr}.skill-card{padding:15px}.projects-grid{grid-template-columns:1fr}.projects-grid .project-card:last-child{grid-column:auto}.project-body>p{min-height:0}.project-visual{height:180px}.about-facts{gap:7px}.about-facts div{padding:12px 8px}.about-facts span{font-size:9px}.contact-panel{grid-template-columns:1fr;padding:27px 22px;gap:25px}.contact-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.social-links{margin-top:0;gap:12px}.footer-inner{flex-wrap:wrap}.footer p{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Admin controls */
.link-button{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:var(--accent)}.link-button.danger{color:#ff9d91}.hint{font-size:11px;color:var(--muted)}


/* Project preview modal and sharing */
.project-action{display:inline;background:none;border:0;padding:0;color:var(--accent);font:inherit;cursor:pointer}
.preview-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:3vh 3vw}
.preview-modal.is-open{display:flex}
.preview-backdrop{position:absolute;inset:0;background:rgba(3,8,17,.82);backdrop-filter:blur(7px)}
.preview-dialog{position:relative;width:min(1200px,100%);height:min(850px,94vh);background:#111a2b;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 100px #0009}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid var(--line)}
.preview-toolbar strong{font:700 14px Manrope,sans-serif}.preview-toolbar p{font-size:11px;color:var(--muted);margin:5px 0 0}
.preview-controls{display:flex;align-items:center;gap:14px;white-space:nowrap}.preview-controls a{font-size:12px;color:var(--accent)}.preview-controls button{border:1px solid var(--line);background:#0d1524;color:var(--text);border-radius:7px;padding:8px 10px;cursor:pointer}
.preview-frame-wrap{flex:1;min-height:0;background:#fff}.preview-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}
body.preview-open{overflow:hidden}
@media(max-width:650px){.preview-modal{padding:0}.preview-dialog{height:100vh;border-radius:0}.preview-toolbar{align-items:flex-start;flex-direction:column}.preview-controls{width:100%;justify-content:space-between}}
