:root,:root[data-theme=nebula]{--bg: #070b18;--bg-2: #0b1226;--surface: rgba(18, 27, 52, .74);--surface-solid: #111a33;--surface-2: rgba(28, 40, 72, .62);--border: rgba(128, 168, 255, .16);--border-strong: rgba(128, 168, 255, .34);--text: #eaf2ff;--text-dim: #a8b8d8;--text-mute: #6f83a8;--c1: #6ee7ff;--c2: #a78bfa;--c3: #ff7ad9;--grad: linear-gradient(120deg, #6ee7ff 0%, #a78bfa 54%, #ff7ad9 100%);--grid: rgba(110, 231, 255, .045);--glow-1: rgba(110, 231, 255, .2);--glow-2: rgba(167, 139, 250, .2);--glow-3: rgba(255, 122, 217, .12);--shadow: 0 24px 70px rgba(0, 0, 0, .45);--captcha-bg: #101731;--captcha-ink: #8be9ff;--captcha-accent: #b28bff;color-scheme:dark}:root[data-theme=aurora]{--bg: #f3f6ff;--bg-2: #e7edff;--surface: rgba(255, 255, 255, .82);--surface-solid: #ffffff;--surface-2: rgba(236, 242, 255, .9);--border: rgba(60, 92, 165, .16);--border-strong: rgba(60, 92, 165, .34);--text: #142142;--text-dim: #4b5d82;--text-mute: #7b8bab;--c1: #2563eb;--c2: #7c3aed;--c3: #db2777;--grad: linear-gradient(120deg, #2563eb 0%, #7c3aed 54%, #db2777 100%);--grid: rgba(37, 99, 235, .055);--glow-1: rgba(37, 99, 235, .14);--glow-2: rgba(124, 58, 237, .14);--glow-3: rgba(219, 39, 119, .1);--shadow: 0 24px 60px rgba(35, 60, 120, .14);--captcha-bg: #e8eeff;--captcha-ink: #1d4ed8;--captcha-accent: #7c3aed;color-scheme:light}:root[data-theme=matrix]{--bg: #040b07;--bg-2: #07150d;--surface: rgba(9, 28, 17, .8);--surface-solid: #0a1d12;--surface-2: rgba(15, 40, 24, .66);--border: rgba(64, 255, 140, .17);--border-strong: rgba(64, 255, 140, .38);--text: #dcffe9;--text-dim: #83c39a;--text-mute: #4f8a63;--c1: #39ff88;--c2: #00d4a0;--c3: #b6ff5c;--grad: linear-gradient(120deg, #39ff88 0%, #00d4a0 58%, #b6ff5c 100%);--grid: rgba(57, 255, 136, .05);--glow-1: rgba(57, 255, 136, .2);--glow-2: rgba(0, 212, 160, .16);--glow-3: rgba(182, 255, 92, .1);--shadow: 0 24px 70px rgba(0, 0, 0, .55);--captcha-bg: #08190e;--captcha-ink: #39ff88;--captcha-accent: #b6ff5c;color-scheme:dark}:root{--font: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--mono: ui-monospace, "Cascadia Code", "JetBrains Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .5s ease,color .5s ease}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--c1);color:var(--bg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.mono{font-family:var(--mono);letter-spacing:.04em}.bg-aurora,.login-aurora{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(46% 38% at 12% 8%,var(--glow-1),transparent 70%),radial-gradient(42% 40% at 88% 22%,var(--glow-2),transparent 72%),radial-gradient(50% 50% at 50% 100%,var(--glow-3),transparent 70%);animation:auroraDrift 18s ease-in-out infinite alternate}.bg-grid,.login-grid,.hero-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:58px 58px;mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 20%,transparent 85%)}.bg-grid{position:fixed;z-index:0}@keyframes auroraDrift{0%{transform:translateZ(0) scale(1);opacity:.85}to{transform:translate3d(0,-3%,0) scale(1.08);opacity:1}}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 var(--glow-1);opacity:1}50%{box-shadow:0 0 0 7px transparent;opacity:.65}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes caretBlink{50%{opacity:0}}@keyframes shimmer{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes revealIn{0%{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}@keyframes expandIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c1);box-shadow:0 0 12px var(--c1);animation:pulseGlow 2.2s ease-in-out infinite}[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay, 0ms)}[data-reveal][data-visible]{opacity:1;transform:none}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px 18px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(80% 70% at 50% 0%,var(--bg-2),var(--bg) 70%)}.login-aurora,.login-grid{position:absolute}.login-orbit{position:absolute;width:min(78vw,720px);aspect-ratio:1;border-radius:50%;border:1px solid var(--border);pointer-events:none;opacity:.55}.login-orbit:before,.login-orbit:after{content:"";position:absolute;inset:12%;border-radius:50%;border:1px dashed var(--border)}.login-orbit:after{inset:26%;border-style:solid;opacity:.5}.login-orbit span{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--c1);box-shadow:0 0 16px var(--c1);top:-4px;left:50%}.login-orbit span:nth-child(2){top:14%;left:88%;background:var(--c2);box-shadow:0 0 16px var(--c2)}.login-orbit span:nth-child(3){top:86%;left:10%;background:var(--c3);box-shadow:0 0 16px var(--c3)}.login-orbit{animation:spin 60s linear infinite}.login-card{position:relative;z-index:2;width:min(440px,100%);padding:34px 34px 26px;border:1px solid var(--border);border-radius:24px;background:var(--surface);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);box-shadow:var(--shadow),inset 0 1px #ffffff0f;animation:revealIn .7s cubic-bezier(.2,.7,.2,1) both}.login-card:before{content:"";position:absolute;inset:-1px;border-radius:24px;padding:1px;background:var(--grad);opacity:.35;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:30px}.login-logo{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font:800 17px var(--mono);letter-spacing:-.04em;color:var(--bg);background:var(--grad);box-shadow:0 8px 26px var(--glow-1)}.login-logo-dot{color:var(--bg)}.login-brand-title{font:800 16px var(--mono);letter-spacing:.06em}.login-brand-sub{margin-top:3px;font:500 9px var(--mono);letter-spacing:.16em;color:var(--text-mute)}.login-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--border-strong);font:600 10px var(--mono);letter-spacing:.18em;color:var(--c1);background:var(--surface-2)}.login-badge i{width:6px;height:6px;border-radius:50%;background:var(--c1);box-shadow:0 0 10px var(--c1);animation:pulseGlow 2s infinite}.login-title{margin:20px 0 6px;font-size:30px;font-weight:800;letter-spacing:-.02em}.login-subtitle{margin:0 0 26px;font-size:13px;color:var(--text-dim)}.login-form{display:grid;gap:17px}.field>span{display:block;margin-bottom:8px;font:600 11px var(--mono);letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase}.field-wrap{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);transition:border-color .25s,box-shadow .25s,transform .25s}.field-wrap:focus-within{border-color:var(--c1);box-shadow:0 0 0 3px var(--glow-1),0 0 22px var(--glow-1);transform:translateY(-1px)}.field-wrap svg{width:17px;height:17px;flex:none;fill:var(--text-mute);opacity:.8}.field-wrap input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.field-wrap input::placeholder{color:var(--text-mute);opacity:.75}.captcha-row{display:flex;gap:10px}.captcha-input{flex:1}.captcha{width:132px;height:46px;flex:none;border-radius:10px;border:1px solid var(--border-strong);cursor:pointer;transition:transform .2s,box-shadow .2s}.captcha:hover{transform:scale(1.03);box-shadow:0 0 18px var(--glow-1)}.login-refresh{justify-self:end;margin-top:-8px;padding:0;border:0;background:none;color:var(--c1);font-size:11px;letter-spacing:.04em}.login-refresh:hover{text-decoration:underline}.login-error{margin:0;padding:9px 12px;border-radius:9px;background:#ff5a6e1a;border:1px solid rgba(255,90,110,.32);color:#ff8fa0;font-size:12px}.login-submit{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;height:50px;margin-top:4px;border:0;border-radius:12px;background:var(--grad);color:#06101f;font-size:14px;font-weight:800;letter-spacing:.04em;box-shadow:0 12px 30px var(--glow-1);transition:transform .25s,box-shadow .25s,filter .25s}.login-submit:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:shimmer 3.2s ease-in-out infinite}.login-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 40px var(--glow-2);filter:saturate(1.15)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-submit svg{width:17px;height:17px}.login-notice{margin:18px 0 0;font-size:11px;line-height:1.6;color:var(--text-mute)}.login-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);text-align:center;font:500 9px var(--mono);letter-spacing:.18em;color:var(--text-mute)}.site-shell{position:relative;z-index:1}.topbar{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.topbar-inner{max-width:1240px;margin:0 auto;height:70px;padding:0 24px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;flex:none}.brand-mark{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font:800 14px var(--mono);color:var(--bg);background:var(--grad);box-shadow:0 6px 20px var(--glow-1)}.brand-mark span{color:var(--bg)}.brand-text{font:800 13px var(--mono);letter-spacing:.05em;line-height:1.1}.brand-text small{display:block;margin-top:4px;font:500 8px var(--mono);letter-spacing:.14em;color:var(--text-mute)}.nav{display:flex;align-items:center;gap:4px;margin-left:auto}.nav a{position:relative;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:600;color:var(--text-dim);transition:color .2s,background .2s}.nav a small{margin-right:5px;font:600 9px var(--mono);color:var(--c1);opacity:.7}.nav a:after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav a:hover{color:var(--text);background:var(--surface-2)}.nav a:hover:after{transform:scaleX(1)}.tools{display:flex;align-items:center;gap:8px;flex:none}.tool{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text-dim);font-size:11px;font-weight:600;transition:border-color .2s,color .2s,transform .2s,box-shadow .2s}.tool:hover{color:var(--text);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 6px 18px var(--glow-1)}.tool svg{width:15px;height:15px;fill:currentColor}.lang-btn{font-family:var(--mono)}.lang-flag{font-size:12px;color:var(--c1)}.lang-swap{opacity:.6}.theme-picker{position:relative}.theme-menu{position:absolute;top:calc(100% + 9px);right:0;width:176px;padding:6px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-solid);box-shadow:var(--shadow);z-index:60;animation:revealIn .22s ease both}.theme-menu button{width:100%;display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-dim);font-size:12px;text-align:left}.theme-menu button:hover,.theme-menu button.active{background:var(--surface-2);color:var(--text)}.theme-menu button i{font-style:normal;color:var(--c1);font-size:14px;width:16px}.theme-menu .tick{margin-left:auto;color:var(--c1)}.burger{display:none;flex-direction:column;gap:3px;padding:0 10px}.burger span{width:15px;height:2px;background:currentColor;border-radius:2px}.hero{position:relative;min-height:calc(100vh - 70px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--border)}.hero-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9}.hero-glow{position:absolute;width:60vw;height:60vw;right:-12vw;top:-18vw;border-radius:50%;background:radial-gradient(circle,var(--glow-2),transparent 65%);filter:blur(30px);pointer-events:none}.hero-grid{position:absolute;opacity:.7}.hero-inner{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:70px 24px 96px;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}.hero-copy{animation:revealIn .8s cubic-bezier(.2,.7,.2,1) both}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font:600 10px var(--mono);letter-spacing:.16em;color:var(--c1)}.hero-name{margin:26px 0 12px;line-height:.96}.hero-name-line{display:block;font-size:clamp(52px,8vw,104px);font-weight:900;letter-spacing:-.055em;background:linear-gradient(180deg,var(--text) 20%,var(--text-dim));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-name-en{display:block;margin-top:6px;font:800 clamp(30px,4.6vw,60px) var(--mono);letter-spacing:-.06em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-name-en em{font-style:normal;color:var(--c3);-webkit-text-fill-color:var(--c3)}.hero-headline{margin:22px 0 8px;font-size:clamp(16px,2vw,22px);font-weight:700;color:var(--text)}.hero-typed{min-height:44px;margin:0 0 28px;font-size:13px;line-height:1.7;color:var(--text-dim);max-width:560px}.caret{display:inline-block;width:2px;height:14px;margin-left:3px;vertical-align:-2px;background:var(--c1);animation:caretBlink 1s step-end infinite}.hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.hero-fact{min-width:132px;padding:14px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);backdrop-filter:blur(12px);transition:transform .3s,border-color .3s,box-shadow .3s}.hero-fact:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:0 14px 34px var(--glow-1)}.hero-fact strong{display:block;font:800 30px var(--mono);color:var(--c1);line-height:1.1}.hero-fact strong.txt{font-size:22px;font-family:var(--font)}.hero-fact strong.sm{font-size:17px;font-family:var(--font)}.hero-fact strong small{font-size:15px}.hero-fact span{display:block;margin-top:6px;font-size:10px;letter-spacing:.08em;color:var(--text-mute);text-transform:uppercase}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;gap:12px;height:46px;padding:0 22px;border-radius:11px;font-size:13px;font-weight:700;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s}.btn-primary{border:0;background:var(--grad);color:#06101f;box-shadow:0 12px 30px var(--glow-1)}.btn-ghost{border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.btn-primary:hover,.btn-ghost:hover{transform:translateY(-3px);box-shadow:0 18px 40px var(--glow-2)}.btn-primary span,.btn-ghost span{font-size:16px}.hero-status{display:flex;align-items:center;gap:9px;margin-top:30px;font:500 10px var(--mono);letter-spacing:.14em;color:var(--text-mute)}.hero-status i{width:7px;height:7px;border-radius:50%;background:var(--c1);box-shadow:0 0 12px var(--c1);animation:pulseGlow 2s infinite}.hero-status-line{width:26px;height:1px;background:var(--border-strong)}.hero-visual{position:relative;width:min(360px,90%);aspect-ratio:1;margin:0 auto}.avatar-ring{position:absolute;border-radius:50%;border:1px solid var(--border-strong)}.ring-1{inset:0;animation:spin 26s linear infinite;border-style:dashed;opacity:.7}.ring-1:after{content:"";position:absolute;top:-5px;left:50%;width:9px;height:9px;border-radius:50%;background:var(--c1);box-shadow:0 0 18px var(--c1)}.ring-2{inset:11%;border-width:2px;border-color:transparent;border-top-color:var(--c2);border-right-color:var(--c1);animation:spin 14s linear infinite reverse;box-shadow:0 0 40px var(--glow-1)}.ring-3{inset:22%;border-color:var(--border);background:radial-gradient(circle,var(--glow-2),transparent 70%)}.avatar-core{position:absolute;inset:30%;border-radius:50%;display:grid;place-content:center;text-align:center;border:1px solid var(--border-strong);background:var(--surface);backdrop-filter:blur(14px);box-shadow:var(--shadow),inset 0 0 40px var(--glow-1);animation:floatY 6s ease-in-out infinite}.avatar-core span{font:900 clamp(38px,5vw,62px) var(--mono);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.avatar-core small{display:block;margin-top:4px;font:600 8px var(--mono);letter-spacing:.18em;color:var(--text-mute)}.float-chip{position:absolute;padding:7px 12px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface-solid);font:700 10px var(--mono);letter-spacing:.1em;color:var(--text-dim);box-shadow:var(--shadow);animation:floatY 5s ease-in-out infinite}.float-chip span{margin-left:7px;color:var(--c1)}.chip-1{top:6%;left:-4%}.chip-2{top:44%;right:-10%;animation-delay:-1.6s}.chip-3{bottom:6%;left:8%;animation-delay:-3s}.scroll-hint{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;font:600 9px var(--mono);letter-spacing:.24em;color:var(--text-mute)}.scroll-hint span{width:1px;height:26px;background:linear-gradient(var(--c1),transparent)}.site-main{position:relative;z-index:1}.section{max-width:1240px;margin:0 auto;padding:96px 24px;scroll-margin-top:70px}.section-head{margin-bottom:44px}.section-kicker{display:flex;align-items:center;gap:12px;margin-bottom:14px}.section-index{font:800 11px var(--mono);color:var(--c1)}.section-line{width:34px;height:1px;background:var(--border-strong)}.section-sub{font:600 10px var(--mono);letter-spacing:.2em;color:var(--text-mute)}.section-title{display:flex;align-items:center;gap:12px;margin:0;font-size:clamp(28px,4vw,44px);font-weight:850;letter-spacing:-.03em}.section-title-dot{width:9px;height:9px;border-radius:50%;background:var(--grad);box-shadow:0 0 18px var(--glow-1)}.section-hint{margin:-26px 0 26px;font-size:11px;color:var(--text-mute)}.about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:start}.about-text{display:grid;gap:14px}.about-para{display:flex;gap:18px;padding:20px 22px;border:1px solid var(--border);border-radius:14px;background:var(--surface);transition:border-color .3s,transform .3s,box-shadow .3s}.about-para:hover{transform:translate(6px);border-color:var(--border-strong);box-shadow:0 12px 34px var(--glow-1)}.about-num{flex:none;font:800 13px var(--mono);color:var(--c1);padding-top:3px}.about-para p{margin:0;font-size:13.5px;line-height:1.85;color:var(--text-dim)}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.metric{position:relative;overflow:hidden;padding:20px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);transition:transform .3s,border-color .3s}.metric:after{content:"";position:absolute;right:-24px;top:-24px;width:70px;height:70px;border-radius:50%;background:var(--glow-1);filter:blur(18px)}.metric:hover{transform:translateY(-5px);border-color:var(--border-strong)}.metric strong{display:block;font:800 26px var(--mono);color:var(--text)}.metric strong em{font-style:normal;font-size:14px;color:var(--c1);margin-left:2px}.metric span{display:block;margin-top:8px;font-size:10.5px;color:var(--text-mute)}.timeline{position:relative;padding-left:34px}.timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--c1),var(--c2),transparent);opacity:.5}.exp-item{position:relative;margin-bottom:14px}.exp-marker{position:absolute;left:-34px;top:24px;width:18px;height:18px;display:grid;place-items:center}.exp-marker span{width:10px;height:10px;border-radius:50%;border:2px solid var(--c1);background:var(--bg);box-shadow:0 0 12px var(--glow-1);transition:transform .3s,background .3s}.exp-item.is-open .exp-marker span{background:var(--c1);transform:scale(1.25)}.exp-card{border:1px solid var(--border);border-radius:15px;background:var(--surface);overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .3s}.exp-card:hover{border-color:var(--border-strong);box-shadow:0 14px 40px var(--glow-1);transform:translateY(-2px)}.exp-item.is-open .exp-card{border-color:var(--border-strong)}.exp-head{width:100%;display:flex;align-items:center;gap:20px;padding:20px 22px;border:0;background:transparent;color:var(--text);text-align:left}.exp-period{flex:none;min-width:148px;font:600 11px var(--mono);color:var(--c1);letter-spacing:.02em}.exp-main{flex:1;min-width:0}.exp-main strong{display:block;font-size:15px;font-weight:750}.exp-main em{display:block;margin-top:5px;font-style:normal;font-size:11.5px;color:var(--text-mute)}.exp-toggle{position:relative;flex:none;width:26px;height:26px;border:1px solid var(--border-strong);border-radius:7px}.exp-toggle:before,.exp-toggle:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:1.5px;background:var(--c1);transform:translate(-50%,-50%);transition:transform .3s}.exp-toggle:after{transform:translate(-50%,-50%) rotate(90deg)}.exp-item.is-open .exp-toggle:after{transform:translate(-50%,-50%) rotate(0)}.exp-body{animation:expandIn .36s cubic-bezier(.2,.7,.2,1) both}.exp-body-inner{padding-top:2px}.exp-body-inner h4{margin:0 22px 12px;padding-top:4px;font:600 10px var(--mono);letter-spacing:.14em;color:var(--text-mute);text-transform:uppercase}.exp-body-inner ul{margin:0;padding:16px 22px 22px;list-style:none;display:grid;gap:10px;border-top:1px solid var(--border)}.exp-body-inner li{position:relative;padding-left:18px;font-size:12.5px;line-height:1.75;color:var(--text-dim)}.exp-body-inner li:before{content:"▹";position:absolute;left:0;color:var(--c1)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:15px;background:var(--surface);padding:20px 22px;transition:transform .3s,border-color .3s,box-shadow .3s}.project-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad);transform:scaleY(0);transform-origin:top;transition:transform .35s}.project-card:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:0 16px 42px var(--glow-1)}.project-card:hover:before,.project-card.is-open:before{transform:scaleY(1)}.project-head{width:100%;display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;color:var(--text);text-align:left}.project-no{font:800 11px var(--mono);color:var(--c1)}.project-head h3{flex:1;margin:0;font-size:14.5px;font-weight:750}.project-role{font-size:10.5px;color:var(--text-mute);white-space:nowrap}.project-arrow{flex:none;color:var(--c1);font-size:15px;transition:transform .3s}.project-card.is-open .project-arrow{transform:rotate(90deg)}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.project-tags span{padding:4px 9px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);font:500 10px var(--mono);color:var(--text-dim)}.project-body{animation:expandIn .36s cubic-bezier(.2,.7,.2,1) both}.project-body-inner{padding-top:2px}.project-body-inner p{margin:16px 0 2px;padding-top:14px;border-top:1px solid var(--border);font-size:12.5px;line-height:1.85;color:var(--text-dim)}.skills-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start}.skill-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.skill-group{padding:20px;border:1px solid var(--border);border-radius:15px;background:var(--surface);transition:transform .3s,border-color .3s,box-shadow .3s}.skill-group:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:0 16px 40px var(--glow-1)}.skill-group-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.skill-group-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--c1);font-size:14px}.skill-group-head h3{flex:1;margin:0;font-size:13px;font-weight:750}.skill-group-head small{font:700 10px var(--mono);color:var(--text-mute)}.skill-chips{display:flex;flex-wrap:wrap;gap:7px}.skill-chips span{padding:6px 10px;border-radius:7px;border:1px solid var(--border);background:var(--surface-2);font-size:11px;color:var(--text-dim);transition:color .25s,border-color .25s,transform .25s,background .25s}.skill-chips span:hover{color:var(--c1);border-color:var(--border-strong);transform:translateY(-2px);background:var(--glow-1)}.radar-slot{position:sticky;top:90px}.radar-card{padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.radar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.radar-head h3{margin:0;font-size:15px;font-weight:780}.radar-head p{margin:5px 0 0;font:500 10px var(--mono);letter-spacing:.08em;color:var(--text-mute)}.react-badge{flex:none;padding:5px 9px;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface-2);font:700 9px var(--mono);letter-spacing:.1em;color:var(--c2)}.radar-svg{width:100%;height:auto;display:block;margin-top:4px;overflow:visible}#radarFill stop:first-child{stop-color:var(--c1)}#radarFill stop:last-child{stop-color:var(--c2)}.radar-grid{fill:none;stroke:var(--border);stroke-width:1}.radar-axis{stroke:var(--border);stroke-width:1;stroke-dasharray:3 4}.radar-data{stroke:var(--c1);stroke-width:2;stroke-linejoin:round}.radar-dot{fill:var(--c1);stroke:var(--bg);stroke-width:1.5;cursor:pointer;transition:r .2s,fill .2s}.radar-dot:hover{fill:var(--c3)}.radar-label{fill:var(--text-dim);font:600 11px var(--font);transition:fill .2s}.radar-label.is-active{fill:var(--c1)}.radar-readout{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);font-size:11px;color:var(--text-mute)}.radar-readout strong{color:var(--text);font-size:12px}.radar-score{font:800 18px var(--mono);color:var(--c1)}.radar-score small{font-size:10px;color:var(--text-mute)}.radar-avg{font:700 11px var(--mono);color:var(--c2)}.edu-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.edu-panel{position:relative;overflow:hidden;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.panel-title{margin:0 0 20px;font:700 11px var(--mono);letter-spacing:.16em;color:var(--c1);text-transform:uppercase}.edu-item{display:flex;gap:18px;padding:14px 0;border-bottom:1px solid var(--border)}.edu-item:last-child{border-bottom:0}.edu-period{flex:none;min-width:108px;font:600 11px var(--mono);color:var(--text-mute)}.edu-item strong{font-size:14px}.edu-item p{margin:6px 0 0;font-size:12px;color:var(--text-dim)}.cert-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.cert-list li{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-dim)}.cert-list li span{color:var(--c1)}.edu-deco{position:absolute;right:-10px;bottom:-28px;font:900 100px var(--mono);color:var(--c1);opacity:.05;pointer-events:none;line-height:1}.edu-deco span{display:block;font-size:14px;letter-spacing:.3em}.contact-section{padding-bottom:40px}.contact-panel{padding:26px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.contact-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.contact-item{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.contact-label{display:block;width:100%;font:600 10px var(--mono);letter-spacing:.14em;color:var(--text-mute);text-transform:uppercase}.contact-item strong{font-size:14px}.mask-badge{padding:3px 8px;border-radius:5px;border:1px solid var(--border-strong);font:600 9px var(--mono);color:var(--c2);background:var(--glow-2)}.copy-btn{margin-left:auto;padding:4px 9px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-mute);font-size:10px;transition:color .2s,border-color .2s}.copy-btn:hover{color:var(--c1);border-color:var(--border-strong)}.privacy-note{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:16px 18px;border:1px dashed var(--border-strong);border-radius:12px;background:var(--glow-1)}.privacy-icon{color:var(--c1);font-size:17px}.privacy-note p{margin:0;font-size:12px;line-height:1.75;color:var(--text-dim)}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:60px;padding-top:22px;border-top:1px solid var(--border)}.footer-left{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--text-mute)}.footer-mark{font:800 15px var(--mono);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.footer-mark span{-webkit-text-fill-color:var(--c3)}.footer-right{display:flex;align-items:center;gap:9px;font:600 9px var(--mono);letter-spacing:.2em;color:var(--text-mute)}@media(max-width:1080px){.nav a{padding:8px}.nav a small,.tool-label{display:none}.tool{padding:0 9px}}@media(max-width:900px){.hero-inner{grid-template-columns:1fr;padding-top:54px}.hero-visual{width:min(280px,70%);margin-top:20px}.about-grid,.skills-layout,.edu-grid{grid-template-columns:1fr}.radar-slot{position:static}.radar-card{max-width:460px;margin:0 auto}.project-grid{grid-template-columns:1fr}.topbar-inner{height:62px}.burger{display:inline-flex}.nav{position:absolute;top:62px;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow);display:none}.nav.is-open{display:flex}.nav a small{display:inline}}@media(max-width:640px){.section{padding:64px 18px}.hero-inner{padding:44px 18px 80px}.login-card{padding:26px 22px 22px}.exp-head{flex-wrap:wrap;gap:8px 14px}.exp-period{min-width:100%}.metrics,.skill-groups,.contact-items{grid-template-columns:1fr 1fr}.contact-items{grid-template-columns:1fr}.hero-facts{gap:8px}.hero-fact{min-width:104px;padding:12px 14px}.project-role{display:none}.section-title{font-size:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}
