:root{--bg0:rgba(7,26,69,.92);--glass:hsla(0,0%,100%,.08);--glass-strong:hsla(0,0%,100%,.12);--stroke:hsla(0,0%,100%,.12);--shadow:0 12px 40px rgba(0,0,0,.25);--radius:18px;--blur:14px;--text:hsla(0,0%,100%,.92);--muted:hsla(0,0%,100%,.65);--font-main:"LXGW WenKai Screen",system-ui,sans-serif;--font-mono:"LXGW WenKai Mono",monospace;--bg-color:#f0f2f5;--text-main:#333;--text-secondary:#666;--accent-color:#54aae9;--glass-bg:var(--glass);--glass-border:var(--stroke);--card-radius:var(--radius)}.dark-mode{--bg-color:#121212;--text-main:#e0e0e0;--text-secondary:#aaa;--glass-bg:rgba(30,30,30,.6);--glass-border:hsla(0,0%,100%,.1)}html{font-family:LXGW WenKai Screen,system-ui,sans-serif;font-size:15px;line-height:1.6}body{font-family:var(--font-main);font-size-adjust:none}code,pre{font-family:var(--font-mono)}*,:after,:before{box-sizing:border-box}body{background-color:#0a1229;color:var(--text);line-height:1.6;margin:0;padding:0;transition:background .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:700;line-height:1.2}p{color:var(--muted);line-height:1.7}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}.font-mono{font-family:var(--font-mono)}.skill-badge{display:inline-block;height:20px;width:88px}.tool-icon{align-items:center;display:inline-flex;height:24px;justify-content:center;width:24px}.glass-card{backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));background:var(--glass);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}a.glass-card,button.glass-card{cursor:pointer}a.glass-card:hover,button.glass-card:hover{background:var(--glass-strong);box-shadow:0 18px 50px #0000004d;transform:translateY(-2px)}a.glass-card:active,button.glass-card:active{transform:translateY(0) scale(.99)}:focus-visible{border-radius:12px;outline:2px solid rgba(79,172,254,.9);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:768px){:root{--blur:8px}}.gradient-text{background:linear-gradient(45deg,#4facfe,#00f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}
