:root{--bg-0:#070a10;--bg-1:#0d131c;--bg-2:#141d29;--panel:#101823;--panel-edge:#22303f;--accent:#3fd7ff;--accent-dim:#1b8fb0;--accent-glow:#3fd7ff59;--text-hi:#eaf3f8;--text-lo:#7d8ea0;--text-mono:#5c7688;--danger-line:#1a2734}*{box-sizing:border-box}html,body{height:100%}html{background:var(--bg-1)}body{background:radial-gradient(ellipse 900px 500px at 50% -10%, #3fd7ff1a, transparent 60%), var(--bg-1);min-height:100vh;color:var(--text-hi);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-family:Inter,sans-serif;display:flex;overflow-x:hidden}.topbar{letter-spacing:.08em;color:var(--text-mono);justify-content:space-between;align-items:center;padding:28px 40px 0;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.topbar .id{color:var(--accent)}.clock{color:var(--text-mono)}.stage-header{text-align:center;margin-top:40px;padding:0 20px}.eyebrow{letter-spacing:.3em;color:var(--accent-dim);text-transform:uppercase;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:11px}.stage-title{letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(#fff 0%,#b7d6e2 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Rajdhani,sans-serif;font-size:clamp(32px,6vw,56px);font-weight:700;transition:opacity .25s}.stage-sub{color:var(--text-lo);max-width:520px;margin-top:8px;margin-left:auto;margin-right:auto;font-size:14px;line-height:1.5;transition:opacity .25s}.stage{perspective:1400px;flex:1;justify-content:center;align-items:center;min-height:340px;margin-top:20px;display:flex;position:relative}.track{width:260px;height:180px;transform-style:preserve-3d;position:relative}.card{border:1px solid var(--panel-edge);background:linear-gradient(155deg, var(--panel) 0%, #0a1119 100%);cursor:pointer;backface-visibility:hidden;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:260px;height:180px;transition:transform .5s cubic-bezier(.22,.68,.36,1),opacity .5s,filter .5s,box-shadow .5s;display:flex;position:absolute;top:0;left:0}.card .icon{width:46px;height:46px;color:var(--text-lo);justify-content:center;align-items:center;transition:color .4s;display:flex}.card .icon svg{width:100%;height:100%}.card .label{letter-spacing:.06em;color:var(--text-lo);text-transform:uppercase;font-family:Rajdhani,sans-serif;font-size:15px;font-weight:600;transition:color .4s}.card .count{color:var(--text-mono);letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:10px}.card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow), 0 24px 60px -20px var(--accent-glow), 0 0 40px -10px var(--accent-glow)}.card.active .icon{color:var(--accent)}.card.active .label{color:var(--text-hi)}.card:after{content:"";background:inherit;opacity:.1;pointer-events:none;border-radius:10px;width:100%;height:100%;position:absolute;top:100%;left:0;transform:scaleY(-1);-webkit-mask-image:linear-gradient(#00000080,#0000 65%);mask-image:linear-gradient(#00000080,#0000 65%)}.nav-btn{border:1px solid var(--panel-edge);width:42px;height:42px;color:var(--text-lo);cursor:pointer;z-index:5;background:#101823b3;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.nav-btn:hover{color:var(--accent);border-color:var(--accent-dim)}.nav-btn.prev{left:6%}.nav-btn.next{right:6%}@media (width<=720px){.nav-btn.prev{left:2%}.nav-btn.next{right:2%}}.dots{justify-content:center;gap:8px;margin-top:26px;display:flex}.dot{background:var(--danger-line);cursor:pointer;border-radius:50%;width:6px;height:6px;transition:all .25s}.dot.active{background:var(--accent);box-shadow:0 0 8px var(--accent-glow);border-radius:3px;width:20px}.detail{width:100%;max-width:920px;margin:50px auto 0;padding:0 30px 60px}.detail-inner{border-top:1px solid var(--danger-line);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding-top:34px;transition:opacity .3s;display:grid}.proj{border:1px solid var(--panel-edge);background:linear-gradient(155deg,#0d1520 0%,#090e15 100%);border-radius:8px;padding:18px;transition:border-color .2s,transform .2s}.proj:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.proj .tag{color:var(--accent-dim);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px}.proj h3{color:var(--text-hi);margin:8px 0 6px;font-family:Rajdhani,sans-serif;font-size:19px;font-weight:600}.proj p{color:var(--text-lo);margin:0;font-size:13px;line-height:1.5}.hint{text-align:center;color:var(--text-mono);letter-spacing:.08em;margin-top:6px;font-family:JetBrains Mono,monospace;font-size:11px}.about-wrap{grid-template-columns:1fr!important}.about-card{border:1px solid var(--panel-edge);background:linear-gradient(155deg,#0d1520 0%,#090e15 100%);border-radius:12px;align-items:center;gap:36px;padding:32px;display:flex}@media (width<=720px){.about-card{text-align:center;flex-direction:column}}.about-photo{border:2px solid var(--accent-dim);width:160px;height:160px;box-shadow:0 0 0 6px #3fd7ff0f, 0 0 40px -12px var(--accent-glow);border-radius:50%;flex-shrink:0;overflow:hidden}.about-photo img{object-fit:cover;width:100%;height:100%;display:block}.about-content{flex-direction:column;align-items:flex-start;gap:20px;display:flex}@media (width<=720px){.about-content{align-items:center}}.about-desc{color:var(--text-lo);max-width:560px;margin:0;font-size:14.5px;line-height:1.7}a.submit-btn{text-decoration:none;display:inline-block}.proj-card{flex-direction:column;gap:12px;display:flex}.proj-card h3{margin:0}.proj-tags{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{letter-spacing:.05em;color:var(--accent);background:#3fd7ff14;border:1px solid #3fd7ff40;border-radius:4px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:10px}.proj-github{color:var(--text-lo);border-top:1px solid var(--danger-line);align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-family:JetBrains Mono,monospace;font-size:12px;text-decoration:none;transition:color .2s;display:inline-flex}.proj-github:hover{color:var(--accent)}.proj-github svg{flex-shrink:0}.cert-card{flex-direction:column;gap:8px;display:flex}.cert-view-btn{border:1px solid var(--accent-dim);color:var(--accent);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;margin-top:auto;padding:8px 16px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:600;transition:all .2s}.cert-view-btn:hover{box-shadow:0 0 20px -8px var(--accent-glow);background:#3fd7ff1a}.cert-modal{z-index:100;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.cert-modal.open{display:flex}.cert-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04070bd9;position:absolute;inset:0}.cert-modal-content{border:1px solid var(--panel-edge);max-width:min(90vw,800px);max-height:85vh;box-shadow:0 30px 80px -20px #0009, 0 0 60px -20px var(--accent-glow);border-radius:10px;position:relative;overflow:hidden}.cert-modal-content img{object-fit:contain;background:#0a1119;max-width:100%;max-height:85vh;display:block}.cert-modal-close{border:1px solid var(--panel-edge);width:32px;height:32px;color:var(--text-hi);cursor:pointer;background:#070a10cc;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex;position:absolute;top:10px;right:10px}.cert-modal-close:hover{color:var(--accent);border-color:var(--accent-dim)}.contact-wrap{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:start;gap:40px;display:grid}@media (width<=720px){.contact-wrap{grid-template-columns:1fr}}.contact-info{flex-direction:column;gap:18px;display:flex}.contact-info .item{border:1px solid var(--panel-edge);background:linear-gradient(155deg,#0d1520 0%,#090e15 100%);border-radius:8px;padding:16px 18px}.contact-info .tag{color:var(--accent-dim);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px}.contact-info .value{color:var(--text-hi);margin-top:6px;font-family:Rajdhani,sans-serif;font-size:17px;font-weight:600}.contact-link{color:inherit;text-decoration:none;transition:color .2s}.contact-link:hover{color:var(--accent)}.contact-form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-mono);font-family:JetBrains Mono,monospace;font-size:10px}.field input,.field textarea{border:1px solid var(--panel-edge);color:var(--text-hi);resize:vertical;background:#0a1119;border-radius:6px;outline:none;padding:11px 12px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.field textarea{min-height:110px}.submit-btn{border:1px solid var(--accent-dim);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#3fd7ff24,#3fd7ff0a);border-radius:6px;align-self:flex-start;margin-top:4px;padding:12px 26px;font-family:Rajdhani,sans-serif;font-size:14px;font-weight:600;transition:all .2s}.submit-btn:hover{box-shadow:0 0 24px -8px var(--accent-glow);background:linear-gradient(#3fd7ff38,#3fd7ff14)}.form-status{color:var(--accent);min-height:16px;font-family:JetBrains Mono,monospace;font-size:12px}::selection{background:var(--accent-glow);color:var(--text-hi)}@media (prefers-reduced-motion:reduce){.card,.stage-title,.stage-sub,.detail-inner{transition:none!important}}
