.navbar[data-v-e7a13e58]{position:fixed;inset:0 0 auto 0;height:var(--nav-height);z-index:100;background-color:var(--nav-bg);background-image:radial-gradient(160% 320% at 50% -180%,var(--glow-purple),transparent 70%);backdrop-filter:var(--nav-blur);-webkit-backdrop-filter:var(--nav-blur);border-bottom:1px solid transparent;transition:height var(--dur-slow) var(--ease),background-color var(--dur-slow) var(--ease),border-color var(--transition),box-shadow var(--transition)}.navbar[data-v-e7a13e58]:after{content:"";position:absolute;left:28%;right:28%;bottom:-1px;height:2px;border-radius:var(--r-full);background:linear-gradient(90deg,transparent,var(--accent) 30%,var(--star) 50%,var(--accent) 70%,transparent);opacity:0;transition:opacity var(--dur-slow) var(--ease)}.navbar.scrolled[data-v-e7a13e58]{height:var(--nav-height-compact);background-color:var(--nav-bg-scrolled);border-bottom-color:var(--border);box-shadow:var(--elevation-1)}.navbar.scrolled[data-v-e7a13e58]:after{opacity:.75}.nav-inner[data-v-e7a13e58]{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:100%}.nav-brand[data-v-e7a13e58]{display:flex;align-items:center;gap:var(--sp-3);min-width:0;padding:var(--sp-1) var(--sp-2);margin-left:calc(-1 * var(--sp-2));border-radius:var(--r-full);font-size:var(--fs-md);font-weight:500;letter-spacing:-.01em;color:var(--text-strong);text-decoration:none;transition:background var(--transition),color var(--transition),font-size var(--dur-slow) var(--ease),gap var(--dur-slow) var(--ease)}.nav-brand[data-v-e7a13e58]:hover{color:var(--accent-hover);background:var(--accent-soft)}.nav-brand[data-v-e7a13e58]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-avatar[data-v-e7a13e58]{width:34px;height:34px;border-radius:var(--r-full);border:1px solid var(--accent-border);flex-shrink:0;transition:width var(--dur-slow) var(--ease),height var(--dur-slow) var(--ease),border-color var(--transition)}.nav-brand:hover .nav-avatar[data-v-e7a13e58]{border-color:var(--accent)}.navbar.scrolled .nav-brand[data-v-e7a13e58]{gap:var(--sp-2);font-size:var(--fs-sm)}.navbar.scrolled .nav-avatar[data-v-e7a13e58]{width:28px;height:28px}.nav-name[data-v-e7a13e58]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-links[data-v-e7a13e58]{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.nav-link[data-v-e7a13e58]{--link-ink: var(--text-soft);--link-bg: transparent;--link-c: var(--accent);position:relative;display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border-radius:var(--r-full);font-size:var(--fs-sm);font-weight:500;line-height:1;white-space:nowrap;color:var(--text-soft);text-decoration:none;transition:color var(--transition),background-color var(--transition)}.nav-link--home[data-v-e7a13e58]{--link-ink: var(--c-blue-ink);--link-bg: var(--c-blue-bg);--link-c: var(--c-blue)}.nav-link--about[data-v-e7a13e58]{--link-ink: var(--c-green-ink);--link-bg: var(--c-green-bg);--link-c: var(--c-green)}.nav-link[data-v-e7a13e58]:after{content:"";position:absolute;left:50%;bottom:4px;width:16px;height:3px;border-radius:var(--r-full);background:var(--link-c);transform:translate(-50%) scaleX(0);opacity:0;transition:transform var(--dur-slow) var(--ease),opacity var(--transition)}.nav-link[data-v-e7a13e58]:hover{color:var(--link-ink);background:var(--link-bg);text-decoration:none}.nav-link[data-v-e7a13e58]:hover:after{transform:translate(-50%) scaleX(1);opacity:1}.nav-link[data-v-e7a13e58]:active{transform:scale(.97)}.nav-link.router-link-exact-active[data-v-e7a13e58]{color:var(--accent-pressed);background:var(--accent-soft);--link-c: var(--accent)}.nav-link.router-link-exact-active[data-v-e7a13e58]:after{transform:translate(-50%) scaleX(1);opacity:1}.nav-link[data-v-e7a13e58]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-link.is-disabled[data-v-e7a13e58],.nav-link[aria-disabled=true][data-v-e7a13e58]{color:var(--text-muted);background:transparent;opacity:.5;pointer-events:none;cursor:default}.theme-toggle[data-v-e7a13e58]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:var(--sp-2);border-radius:var(--r-full);border:1px solid var(--border);background:var(--bg-subtle);color:var(--icon-color);cursor:pointer;flex-shrink:0;transition:color var(--transition),background var(--transition),border-color var(--transition),transform var(--dur-slow) var(--ease),box-shadow var(--transition)}.theme-toggle[data-v-e7a13e58]:hover{color:var(--c-yellow-ink);background:var(--c-yellow-bg);border-color:var(--c-yellow);transform:rotate(-12deg);box-shadow:0 0 0 4px var(--c-yellow-bg)}.theme-toggle[data-v-e7a13e58]:active{transform:rotate(-12deg) scale(.94)}.theme-toggle[data-v-e7a13e58]:focus-visible{outline:2px solid var(--c-yellow);outline-offset:2px}.theme-toggle .icon[data-v-e7a13e58]{color:inherit}.theme-toggle[data-v-e7a13e58]:disabled{color:var(--text-muted);background:var(--bg-subtle);border-color:var(--border);opacity:.55;cursor:not-allowed}@media (max-width: 768px){.nav-inner[data-v-e7a13e58]{gap:var(--sp-3)}.nav-link[data-v-e7a13e58]{padding:9px 12px}.theme-toggle[data-v-e7a13e58]{margin-left:var(--sp-1)}}@media (max-width: 560px){.nav-name[data-v-e7a13e58]{display:none}.nav-brand[data-v-e7a13e58]{padding:var(--sp-1);margin-left:calc(-1 * var(--sp-1))}.nav-links[data-v-e7a13e58]{gap:var(--sp-1)}.nav-link[data-v-e7a13e58]{padding:8px 10px;font-size:var(--fs-xs)}.theme-toggle[data-v-e7a13e58]{width:36px;height:36px}}@media (max-width: 360px){.nav-inner[data-v-e7a13e58]{gap:var(--sp-2)}.nav-link[data-v-e7a13e58]{padding:8px}}@media (prefers-reduced-motion: reduce){.navbar[data-v-e7a13e58],.navbar[data-v-e7a13e58]:after,.nav-brand[data-v-e7a13e58],.nav-avatar[data-v-e7a13e58],.nav-link[data-v-e7a13e58],.nav-link[data-v-e7a13e58]:after,.theme-toggle[data-v-e7a13e58]{transition-duration:.01ms}.theme-toggle[data-v-e7a13e58]:hover,.theme-toggle[data-v-e7a13e58]:active,.nav-link[data-v-e7a13e58]:active{transform:none}}:root{--bg-canvas: #ffffff;--bg-surface: #ffffff;--bg-subtle: #f8f9fa;--bg-muted: #f1f3f4;--bg-hover: rgba(60, 64, 67, .06);--border: #e8eaed;--border-strong: #dadce0;--text-strong: #202124;--text: #3c4043;--text-soft: #5f6368;--text-muted: #80868b;--accent: #7c3aed;--accent-hover: #6d28d9;--accent-pressed: #5b21b6;--accent-soft: #f3ecff;--accent-border: #ddd0fb;--on-accent: #ffffff;--ring: rgba(124, 58, 237, .32);--star: #fbbf24;--star-strong: #8a5a06;--star-soft: #fff6dc;--star-border: #fbe3a3;--star-wash: rgba(251, 191, 36, .3);--brand-gradient: linear-gradient(120deg, #7c3aed 0%, #9333ea 45%, #fbbf24 100%);--brand-gradient-text: linear-gradient(115deg, #6d28d9 0%, #9333ea 48%, #d97706 100%);--c-blue: #1a73e8;--c-blue-ink: #174ea6;--c-blue-bg: #e8f0fe;--c-red: #ea4335;--c-red-ink: #c5221f;--c-red-bg: #fce8e6;--c-yellow: #f9ab00;--c-yellow-ink: #b06000;--c-yellow-bg: #fef7e0;--c-green: #34a853;--c-green-ink: #137333;--c-green-bg: #e6f4ea;--c-purple: #7c3aed;--c-purple-ink: #5b21b6;--c-purple-bg: #f3ecff;--google-strip: linear-gradient( 90deg, #4285f4 0 25%, #ea4335 25% 50%, #fbbc04 50% 75%, #34a853 75% 100% );--glow-purple: rgba(124, 58, 237, .1);--glow-star: rgba(251, 191, 36, .14);--star-dot: rgba(124, 58, 237, .32);--star-dot-warm: rgba(245, 158, 11, .36);--icon-color: #5f6368;--icon-color-muted: #80868b;--icon-on-accent: #ffffff;--elevation-1: 0 1px 2px rgba(60, 64, 67, .06), 0 1px 3px rgba(60, 64, 67, .08);--elevation-2: 0 2px 6px rgba(60, 64, 67, .08), 0 8px 20px -6px rgba(60, 64, 67, .14);--elevation-3: 0 6px 18px rgba(60, 64, 67, .1), 0 14px 36px -10px rgba(60, 64, 67, .18);--card-shadow: 0 1px 2px rgba(60, 64, 67, .05), 0 8px 24px -12px rgba(60, 64, 67, .22);--card-shadow-hover: 0 2px 6px rgba(60, 64, 67, .08), 0 16px 36px -12px rgba(60, 64, 67, .28);--btn-fill: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 55%, #6d28d9 100%);--btn-fill-hover: linear-gradient(135deg, #9d63f8 0%, #8b5cf6 55%, #7c3aed 100%);--btn-shadow: 0 1px 3px rgba(76, 29, 149, .26);--btn-shadow-hover: 0 6px 18px -4px rgba(76, 29, 149, .38);--nav-bg: rgba(255, 255, 255, .82);--nav-bg-scrolled: rgba(255, 255, 255, .94);--nav-blur: blur(16px) saturate(180%);--font-sans: "Google Sans", "Google Sans Text", Roboto, "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fs-xs: 12px;--fs-sm: 14px;--fs-base: 16px;--fs-md: 17px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: clamp(22px, 2.6vw, 24px);--fs-3xl: clamp(28px, 3.4vw, 32px);--fs-display: clamp(40px, 6.5vw, 64px);--lh-tight: 1.2;--lh-snug: 1.4;--lh-normal: 1.6;--lh-relaxed: 1.75;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-8: 40px;--sp-10: 48px;--sp-12: 56px;--sp-14: 64px;--sp-16: 80px;--sp-20: 96px;--sp-24: 112px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-2xl: 28px;--r-full: 999px;--ease: cubic-bezier(.2, 0, 0, 1);--dur: .2s;--dur-slow: .32s;--transition: var(--dur) var(--ease);--max-width: 1140px;--nav-height: 68px;--nav-height-compact: 56px}[data-theme=dark]{--bg-canvas: #131020;--bg-surface: #1c1730;--bg-subtle: #221b38;--bg-muted: #2a2242;--bg-hover: rgba(167, 139, 250, .14);--border: #332a4e;--border-strong: #473a68;--text-strong: #f4f0ff;--text: #dad3ee;--text-soft: #b5abd0;--text-muted: #9c91bb;--accent: #a78bfa;--accent-hover: #b9a4ff;--accent-pressed: #c9b8ff;--accent-soft: #2a2145;--accent-border: #453568;--on-accent: #211a3a;--ring: rgba(167, 139, 250, .35);--star: #fcd34d;--star-strong: #fcd34d;--star-soft: #3a2e12;--star-border: #5c481a;--star-wash: rgba(252, 211, 77, .26);--brand-gradient: linear-gradient(120deg, #a78bfa 0%, #c084fc 45%, #fcd34d 100%);--brand-gradient-text: linear-gradient(115deg, #c4b5fd 0%, #d8b4fe 48%, #fcd34d 100%);--c-blue: #8ab4f8;--c-blue-ink: #aecbfa;--c-blue-bg: rgba(139, 180, 250, .16);--c-red: #f28b82;--c-red-ink: #f28b82;--c-red-bg: rgba(242, 139, 130, .16);--c-yellow: #fdd663;--c-yellow-ink: #fdd663;--c-yellow-bg: rgba(253, 214, 99, .16);--c-green: #81c995;--c-green-ink: #81c995;--c-green-bg: rgba(129, 201, 149, .16);--c-purple: #a78bfa;--c-purple-ink: #c4b5fd;--c-purple-bg: rgba(167, 139, 250, .16);--glow-purple: rgba(167, 139, 250, .14);--glow-star: rgba(252, 211, 77, .12);--star-dot: rgba(167, 139, 250, .45);--star-dot-warm: rgba(252, 211, 77, .4);--icon-color: #b3a8d0;--icon-color-muted: #8f83b3;--icon-on-accent: #211a3a;--elevation-1: 0 1px 2px rgba(8, 3, 20, .5), 0 1px 3px 1px rgba(8, 3, 20, .4);--elevation-2: 0 2px 6px rgba(8, 3, 20, .5), 0 8px 20px -6px rgba(8, 3, 20, .55);--elevation-3: 0 6px 18px rgba(8, 3, 20, .5), 0 14px 36px -10px rgba(8, 3, 20, .6);--card-shadow: 0 1px 2px rgba(8, 3, 20, .5), 0 8px 24px -12px rgba(8, 3, 20, .7);--card-shadow-hover: 0 2px 6px rgba(8, 3, 20, .55), 0 16px 36px -12px rgba(8, 3, 20, .8);--btn-fill: linear-gradient(135deg, #c4b5fd 0%, #a78bfa 55%, #8b5cf6 100%);--btn-fill-hover: linear-gradient(135deg, #d8b4fe 0%, #b9a4ff 55%, #a78bfa 100%);--btn-shadow: 0 1px 3px rgba(0, 0, 0, .5);--btn-shadow-hover: 0 6px 18px -4px rgba(0, 0, 0, .6);--nav-bg: rgba(19, 16, 32, .82);--nav-bg-scrolled: rgba(19, 16, 32, .94);--nav-blur: blur(16px) saturate(120%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text);background:var(--bg-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition),color var(--transition)}h1,h2,h3,h4{color:var(--text-strong);line-height:var(--lh-tight);font-weight:500;letter-spacing:-.01em}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}img{max-width:100%;display:block}button{font-family:inherit}ul,ol{list-style:none}::selection{background:var(--accent-soft);color:var(--text-strong)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.icon{display:block;flex:none;color:var(--icon-color);transition:color var(--transition)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 clamp(16px,4vw,32px)}main{min-height:100vh;padding-top:var(--nav-height)}.section{padding:clamp(48px,7vw,80px) 0;scroll-margin-top:calc(var(--nav-height) + 16px)}.section-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);margin-bottom:clamp(24px,3.5vw,40px)}.section-eyebrow{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.section-eyebrow:before{content:"";width:22px;height:4px;border-radius:var(--r-full);background:var(--brand-gradient)}.section-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--fs-3xl);font-weight:500;letter-spacing:-.01em}.section-count{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px;border-radius:var(--r-full);background:var(--bg-muted);color:var(--text-soft);font-size:var(--fs-xs);font-weight:500;letter-spacing:0;line-height:1}.section-count .dot{width:6px;height:6px;border-radius:var(--r-full);background:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:40px;padding:0 20px;border:1px solid transparent;border-radius:var(--r-full);font-size:var(--fs-sm);font-weight:500;letter-spacing:.01em;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}.btn:hover{text-decoration:none}.btn-lg{height:48px;padding:0 26px;font-size:var(--fs-base)}.btn-primary{background-image:var(--btn-fill);background-color:var(--accent);color:var(--on-accent);box-shadow:var(--btn-shadow)}.btn-primary:hover{background-image:var(--btn-fill-hover);color:var(--on-accent);box-shadow:var(--btn-shadow-hover);transform:translateY(-1px)}.btn-primary:active{background-image:var(--btn-fill);box-shadow:none;transform:translateY(0)}.btn-secondary{background:transparent;color:var(--accent-hover);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-pressed);transform:translateY(-1px)}.btn-secondary:active{background:var(--accent-border);transform:translateY(0)}.btn .icon{color:currentColor}.badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:500;line-height:1}.badge--yellow{background:var(--star-soft);border:1px solid var(--star-border);color:var(--star-strong)}.badge--yellow .dot{width:6px;height:6px;border-radius:var(--r-full);background:var(--star);box-shadow:0 0 0 3px var(--star-wash)}.badge--blue{background:var(--c-blue-bg);color:var(--c-blue-ink)}.tag{--tag-c: var(--c-purple);--tag-ink: var(--c-purple-ink);--tag-bg: var(--c-purple-bg);display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px;border-radius:var(--r-full);background:var(--tag-bg);color:var(--tag-ink);font-size:var(--fs-xs);font-weight:500;line-height:1;transition:box-shadow var(--transition),transform var(--transition)}.tag:before{content:"";width:6px;height:6px;border-radius:var(--r-full);background:var(--tag-c)}.tag:hover{box-shadow:inset 0 0 0 1.5px var(--tag-c);transform:translateY(-1px)}.tag--purple{--tag-c: var(--c-purple);--tag-ink: var(--c-purple-ink);--tag-bg: var(--c-purple-bg)}.tag--blue{--tag-c: var(--c-blue);--tag-ink: var(--c-blue-ink);--tag-bg: var(--c-blue-bg)}.tag--yellow{--tag-c: var(--c-yellow);--tag-ink: var(--c-yellow-ink);--tag-bg: var(--c-yellow-bg)}.tag--green{--tag-c: var(--c-green);--tag-ink: var(--c-green-ink);--tag-bg: var(--c-green-bg)}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);height:30px;padding:0 14px;border:none;border-radius:var(--r-full);background:var(--bg-muted);color:var(--text-soft);font-size:var(--fs-xs);font-weight:500;line-height:1;transition:color var(--transition),background var(--transition),box-shadow var(--transition)}.chip:hover{color:var(--accent-pressed);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-border)}.hero{position:relative;padding:clamp(32px,5vw,56px) 0 0}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(58% 66% at 24% 26%,var(--glow-purple),transparent 70%),radial-gradient(46% 56% at 78% 20%,var(--glow-star),transparent 70%)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle,var(--star-dot) 0 1.6px,transparent 1.8px),radial-gradient(circle,var(--star-dot-warm) 0 1.5px,transparent 1.7px),radial-gradient(circle,var(--star-dot) 0 1.3px,transparent 1.5px),radial-gradient(circle,var(--star-dot-warm) 0 1.4px,transparent 1.6px),radial-gradient(circle,var(--star-dot) 0 1.2px,transparent 1.4px);background-size:280px 240px,320px 260px,200px 220px,360px 300px,240px 200px;background-position:9% 20%,74% 16%,63% 74%,24% 78%,88% 60%;background-repeat:no-repeat;animation:twinkle 6s var(--ease) infinite}.hero>.container{position:relative;z-index:1}.hero-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main aside" "stats stats";column-gap:clamp(24px,4vw,48px);padding:clamp(24px,3.5vw,40px);background:var(--bg-surface);border:none;border-radius:var(--r-2xl);box-shadow:var(--card-shadow);overflow:hidden;transition:box-shadow var(--dur-slow) var(--ease)}.hero-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(42% 55% at 3% 0%,var(--glow-purple),transparent 72%),radial-gradient(38% 48% at 97% 100%,var(--glow-star),transparent 72%)}.hero-main,.hero-aside,.stats-bar{position:relative;z-index:1}.hero-main{grid-area:main;display:flex;align-items:center;gap:clamp(20px,3vw,36px);min-width:0}.hero-avatar{flex:none;width:clamp(84px,10vw,124px);height:clamp(84px,10vw,124px);padding:3px;border-radius:var(--r-full);background:var(--brand-gradient);box-shadow:0 16px 32px -16px var(--ring)}.hero-avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-full);border:3px solid var(--bg-surface);background:var(--bg-muted)}.hero-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.hero-badges{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.hero-name{font-size:var(--fs-display);font-weight:500;letter-spacing:-.03em;line-height:1.05;margin-bottom:var(--sp-3);color:var(--text-strong)}@supports ((-webkit-background-clip: text) or (background-clip: text)){.hero-name{background:var(--brand-gradient-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}}.hero-lead{max-width:620px;font-size:clamp(16px,1.5vw,18px);font-weight:400;line-height:var(--lh-relaxed);color:var(--text-soft)}.hero-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-5)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-6)}.hero-aside{grid-area:aside;align-self:stretch;display:flex;flex-direction:column;gap:var(--sp-4);width:clamp(220px,24vw,256px);padding:var(--sp-5);background:var(--bg-subtle);border-radius:var(--r-lg)}.aside-block{display:flex;flex-direction:column;gap:6px;min-width:0}.aside-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.aside-label .icon{color:var(--accent)}.aside-value{font-size:var(--fs-lg);font-weight:500;letter-spacing:-.01em;color:var(--text-strong)}.aside-sub{font-size:var(--fs-xs);color:var(--text-muted)}.aside-divider{width:100%;height:2px;border-radius:var(--r-full);background:var(--brand-gradient);opacity:.5}.aside-nav{display:flex;flex-direction:column;gap:2px;margin-top:2px}.aside-nav a,.aside-nav button{--link-ink: var(--text-soft);--link-bg: transparent;display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:8px 10px;border:none;border-radius:10px;background:transparent;font-size:var(--fs-sm);font-weight:500;line-height:1.3;text-align:left;color:var(--link-ink);cursor:pointer;transition:background var(--transition),color var(--transition)}.aside-nav a .icon,.aside-nav button .icon{color:inherit}.aside-nav>:nth-child(1){--link-ink: var(--c-blue-ink);--link-bg: var(--c-blue-bg)}.aside-nav>:nth-child(2){--link-ink: var(--c-green-ink);--link-bg: var(--c-green-bg)}.aside-nav>:nth-child(3){--link-ink: var(--c-purple-ink);--link-bg: var(--c-purple-bg)}.aside-nav a:hover,.aside-nav button:hover{background:var(--link-bg);color:var(--link-ink)}.aside-nav a.router-link-exact-active{background:var(--accent-soft);color:var(--accent-pressed)}.stats-bar{grid-area:stats;display:flex;flex-wrap:wrap;margin-top:clamp(20px,3vw,28px);padding-top:clamp(20px,3vw,28px);border-top:1px solid var(--border)}.stat-item{--stat-c: var(--c-blue);--stat-ink: var(--c-blue-ink);--stat-bg: var(--c-blue-bg);display:flex;align-items:center;gap:var(--sp-3);padding:0 clamp(16px,3vw,36px)}.stat-item:first-child{padding-left:0}.stat-item+.stat-item{border-left:1px solid var(--border)}.stat-item--blue{--stat-c: var(--c-blue);--stat-ink: var(--c-blue-ink);--stat-bg: var(--c-blue-bg)}.stat-item--yellow{--stat-c: var(--c-yellow);--stat-ink: var(--c-yellow-ink);--stat-bg: var(--c-yellow-bg)}.stat-item--green{--stat-c: var(--c-green);--stat-ink: var(--c-green-ink);--stat-bg: var(--c-green-bg)}.stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-full);background:var(--stat-bg);color:var(--stat-ink);flex:none}.stat-icon .icon{color:inherit}.stat-text{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-value{font-size:clamp(26px,3vw,34px);font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--stat-ink);font-variant-numeric:tabular-nums}.stat-label{font-size:var(--fs-sm);font-weight:400;color:var(--text-muted)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-5)}.project-card{--card-c: var(--c-purple);--card-ink: var(--c-purple-ink);--card-bg: var(--c-purple-bg);position:relative;display:flex;flex-direction:column;padding:clamp(20px,2.5vw,28px);overflow:hidden;background:var(--bg-surface);border:none;border-radius:var(--r-lg);box-shadow:var(--card-shadow);transition:box-shadow var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}.project-card:nth-child(4n+1){--card-c: var(--c-purple);--card-ink: var(--c-purple-ink);--card-bg: var(--c-purple-bg)}.project-card:nth-child(4n+2){--card-c: var(--c-blue);--card-ink: var(--c-blue-ink);--card-bg: var(--c-blue-bg)}.project-card:nth-child(4n+3){--card-c: var(--c-yellow);--card-ink: var(--c-yellow-ink);--card-bg: var(--c-yellow-bg)}.project-card:nth-child(4n+4){--card-c: var(--c-green);--card-ink: var(--c-green-ink);--card-bg: var(--c-green-bg)}.project-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand-gradient);opacity:0;transition:opacity var(--dur-slow) var(--ease)}.project-card:hover:before{opacity:.9}.project-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}.project-card-header{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4)}.project-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-full);background:var(--card-bg);color:var(--card-ink);flex-shrink:0;transition:box-shadow var(--transition),transform var(--transition)}.project-icon .icon{color:inherit}.project-card:hover .project-icon{box-shadow:0 0 0 5px var(--card-bg);transform:rotate(-6deg)}.project-card h3{font-size:var(--fs-lg);font-weight:500;overflow-wrap:anywhere}.project-card p{font-size:var(--fs-sm);line-height:1.7;color:var(--text-soft);margin-bottom:var(--sp-5)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-5)}.project-card .chip{background:var(--card-bg);color:var(--card-ink)}.project-card .chip:hover{background:var(--card-bg);color:var(--card-ink);box-shadow:inset 0 0 0 1.5px var(--card-c)}.project-links{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-4);border-top:1px solid var(--border)}.project-links a{display:inline-flex;align-items:center;gap:var(--sp-2);padding:8px 14px;border-radius:var(--r-full);font-size:var(--fs-sm);font-weight:500;color:var(--card-ink);text-decoration:none;transition:background var(--transition),color var(--transition)}.project-links a:hover{background:var(--card-bg);color:var(--card-ink)}.project-links a .icon{color:inherit}.about-page{position:relative;padding:clamp(48px,7vw,88px) 0}.about-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(48% 62% at 16% 6%,var(--glow-purple),transparent 72%),radial-gradient(40% 54% at 86% 2%,var(--glow-star),transparent 72%)}.about-page>.container{position:relative;z-index:1}.page-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);margin-bottom:clamp(28px,4vw,44px)}.page-title{font-size:clamp(34px,5vw,48px);font-weight:500;letter-spacing:-.02em}.head-rule{width:min(240px,46%);height:3px;margin-top:var(--sp-2);border-radius:var(--r-full);background:var(--brand-gradient);opacity:.85}.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"intro intro dream" "hobby learning dream" "contact contact contact";gap:var(--sp-5)}.about-card{--card-c: var(--c-purple);--card-ink: var(--c-purple-ink);--card-bg: var(--c-purple-bg);position:relative;display:flex;flex-direction:column;min-width:0;padding:clamp(20px,2.4vw,28px);overflow:hidden;background:var(--bg-surface);border:none;border-radius:var(--r-xl);box-shadow:var(--card-shadow);animation:fadeInUp .5s var(--ease) both;transition:box-shadow var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}.about-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand-gradient);opacity:0;transition:opacity var(--dur-slow) var(--ease)}.about-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}.about-card:hover:before{opacity:.9}.about-card--intro{grid-area:intro;padding:clamp(24px,3vw,36px);background-image:linear-gradient(135deg,var(--accent-soft) 0%,transparent 62%);animation-delay:.05s}.about-card--dream{grid-area:dream;justify-content:center;gap:var(--sp-4);padding:clamp(24px,3vw,32px);background-image:radial-gradient(120% 88% at 100% 0%,var(--glow-star),transparent 64%),linear-gradient(160deg,var(--accent-soft) 0%,var(--star-soft) 100%);border:1px solid var(--star-border);animation-delay:.13s}.about-card--hobby{grid-area:hobby;--card-c: var(--c-blue);--card-ink: var(--c-blue-ink);--card-bg: var(--c-blue-bg);animation-delay:.21s}.about-card--learning{grid-area:learning;--card-c: var(--c-green);--card-ink: var(--c-green-ink);--card-bg: var(--c-green-bg);animation-delay:.29s}.about-card--contact{grid-area:contact;animation-delay:.37s}.card-head{display:flex;align-items:center;gap:var(--sp-3);min-width:0;margin-bottom:var(--sp-4)}.card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-full);background:var(--card-bg);color:var(--card-ink);flex:none;transition:transform var(--transition),box-shadow var(--transition)}.card-icon .icon{color:inherit}.about-card:hover .card-icon{box-shadow:0 0 0 5px var(--card-bg);transform:rotate(-6deg)}.card-title{min-width:0;font-size:var(--fs-lg);font-weight:500}.card-eyebrow{font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.card-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;margin-left:auto;padding:0 8px;border-radius:var(--r-full);background:var(--card-bg);color:var(--card-ink);font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums;line-height:1;flex:none}.about-intro{max-width:44ch;font-size:clamp(17px,1.8vw,21px);font-weight:400;line-height:var(--lh-relaxed);color:var(--text)}.dream-mark{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:20px;background:var(--brand-gradient);color:var(--on-accent);box-shadow:0 12px 26px -14px var(--ring);flex:none;transition:transform var(--dur-slow) var(--ease)}.dream-mark .icon{color:inherit}.about-card--dream:hover .dream-mark{transform:rotate(-8deg) scale(1.04)}.dream-label{font-size:var(--fs-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--star-strong)}.dream-text{font-size:clamp(24px,2.6vw,30px);font-weight:500;line-height:1.35;letter-spacing:-.02em;color:var(--text-strong);overflow-wrap:anywhere}.fact-list{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.fact-chip{--chip-c: var(--c-blue);--chip-ink: var(--c-blue-ink);--chip-bg: var(--c-blue-bg);display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:var(--r-full);background:var(--chip-bg);color:var(--chip-ink);font-size:var(--fs-sm);font-weight:500;line-height:1;transition:box-shadow var(--transition),transform var(--transition)}.fact-chip:before{content:"";width:7px;height:7px;border-radius:var(--r-full);background:var(--chip-c);flex:none}.fact-chip:nth-child(5n+1){--chip-c: var(--c-blue);--chip-ink: var(--c-blue-ink);--chip-bg: var(--c-blue-bg)}.fact-chip:nth-child(5n+2){--chip-c: var(--c-yellow);--chip-ink: var(--c-yellow-ink);--chip-bg: var(--c-yellow-bg)}.fact-chip:nth-child(5n+3){--chip-c: var(--c-green);--chip-ink: var(--c-green-ink);--chip-bg: var(--c-green-bg)}.fact-chip:nth-child(5n+4){--chip-c: var(--c-red);--chip-ink: var(--c-red-ink);--chip-bg: var(--c-red-bg)}.fact-chip:nth-child(5n+5){--chip-c: var(--c-purple);--chip-ink: var(--c-purple-ink);--chip-bg: var(--c-purple-bg)}.fact-chip:hover{box-shadow:inset 0 0 0 1.5px var(--chip-c);transform:translateY(-1px)}.learn-list{display:flex;flex-direction:column;gap:var(--sp-2)}.learn-item{display:flex;align-items:center;gap:var(--sp-3);min-width:0;padding:10px var(--sp-3);border-radius:var(--r-md);background:var(--bg-subtle);transition:background var(--transition)}.learn-item:hover{background:var(--card-bg)}.learn-index{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--r-full);background:var(--card-bg);color:var(--card-ink);font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums;line-height:1;flex:none}.learn-text{min-width:0;font-size:var(--fs-sm);font-weight:500;color:var(--text);overflow-wrap:anywhere}.about-card--contact{background:var(--bg-subtle);border:1px solid var(--border);box-shadow:none}.about-card--contact:before{display:none}.about-card--contact:hover{transform:none;box-shadow:var(--elevation-1)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-4)}.contact-card{--card-c: var(--c-red);--card-ink: var(--c-red-ink);--card-bg: var(--c-red-bg);display:flex;align-items:center;gap:var(--sp-4);min-width:0;padding:var(--sp-5);background:var(--bg-surface);border:none;border-radius:var(--r-lg);box-shadow:var(--card-shadow);transition:box-shadow var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}.contact-card>div{min-width:0}.contact-card--purple{--card-c: var(--c-purple);--card-ink: var(--c-purple-ink);--card-bg: var(--c-purple-bg)}.contact-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.contact-card .contact-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-full);background:var(--card-bg);color:var(--card-ink);flex-shrink:0;transition:transform var(--transition)}.contact-card .contact-icon .icon{color:inherit}.contact-card:hover .contact-icon{transform:rotate(-6deg)}.contact-card .label{font-size:var(--fs-xs);letter-spacing:.03em;color:var(--text-muted)}.contact-card .value{display:block;margin-top:2px;font-size:var(--fs-sm);font-weight:500;color:var(--text-strong);overflow-wrap:anywhere}.contact-card a.value:hover{color:var(--card-ink)}.site-footer{margin-top:clamp(56px,8vw,96px);padding:0 0 var(--sp-8);background:var(--bg-subtle)}.footer-strip{height:4px;background:var(--google-strip)}.footer-inner{padding-top:clamp(40px,6vw,64px)}.ad-banner{padding:var(--sp-8) var(--sp-8);text-align:center;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--bg-surface);transition:border-color var(--transition),box-shadow var(--transition)}.ad-banner:hover{border-color:var(--accent-border);box-shadow:var(--elevation-1)}.ad-label{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--sp-3)}.ad-title{font-size:var(--fs-lg);font-weight:500;color:var(--text-strong);margin-bottom:var(--sp-2)}.ad-contact{font-size:var(--fs-sm);color:var(--text-soft)}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-4) var(--sp-10);margin-top:var(--sp-10)}.link-group{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm)}.link-group-label{color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.04em}.footer-link{--link-dot: var(--accent);display:inline-flex;align-items:center;gap:7px;font-weight:500;color:var(--text-soft)}.footer-link:before{content:"";width:7px;height:7px;border-radius:var(--r-full);background:var(--link-dot)}.footer-link--blue{--link-dot: var(--c-blue)}.footer-link--green{--link-dot: var(--c-green)}.footer-link:hover{color:var(--text-strong)}.footer-link--blue:hover{color:var(--c-blue-ink)}.footer-link--green:hover{color:var(--c-green-ink)}.footer-bottom{margin-top:var(--sp-10);padding-top:var(--sp-6);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted)}.footer-motto{font-family:Dancing Script,Noto Sans SC,cursive;font-size:1.3rem;font-weight:600;line-height:1.2;letter-spacing:.01em;color:var(--accent);white-space:normal;text-align:right}.fade-enter-active,.fade-leave-active{transition:opacity .24s var(--ease),transform .24s var(--ease)}.fade-enter-from{opacity:0;transform:translateY(10px)}.fade-leave-to{opacity:0;transform:translateY(-6px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes twinkle{0%,to{opacity:.45}50%{opacity:1}}.hero-card{animation:fadeInUp .55s var(--ease) both}.hero-aside{animation:fadeInUp .55s var(--ease) .1s both}.project-card{animation:fadeInUp .5s var(--ease) both}.project-card:nth-child(1){animation-delay:.06s}.project-card:nth-child(2){animation-delay:.14s}.project-card:nth-child(3){animation-delay:.22s}.project-card:nth-child(4){animation-delay:.3s}.project-card:nth-child(n+5){animation-delay:.36s}@media (max-width: 980px){.hero-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "aside" "stats";row-gap:var(--sp-5)}.hero-aside{width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--sp-5)}.aside-block{flex:1 1 auto;min-width:190px}.aside-divider{width:2px;height:44px;align-self:center}.aside-nav{flex-direction:row;flex-wrap:wrap;gap:var(--sp-1)}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"intro intro" "hobby learning" "dream dream" "contact contact"}.about-card--dream{justify-content:flex-start}}@media (max-width: 900px){.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.hero-main{gap:var(--sp-5)}.stat-item{padding:0 var(--sp-5)}}@media (max-width: 560px){.hero-card{padding:var(--sp-5);border-radius:var(--r-xl)}.hero-avatar{width:72px;height:72px}.hero-aside{flex-direction:column;align-items:stretch;gap:var(--sp-4)}.aside-divider{width:100%;height:2px;align-self:auto}.aside-block{min-width:0}.stats-bar{flex-direction:column;gap:var(--sp-4)}.stat-item{padding:0}.stat-item+.stat-item{border-left:none}.stat-value{font-size:28px}.hero-actions{flex-direction:column;align-items:stretch;width:100%}.hero-actions .btn{width:100%}.project-grid{grid-template-columns:1fr}.project-card{padding:var(--sp-5)}.about-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "hobby" "learning" "dream" "contact";gap:var(--sp-4)}.about-card{padding:var(--sp-5);border-radius:var(--r-lg)}.about-intro{font-size:var(--fs-md)}.dream-text{font-size:22px}.contact-grid{grid-template-columns:minmax(0,1fr)}.ad-banner{padding:var(--sp-6) var(--sp-5)}.footer-bottom{flex-direction:column;text-align:center}.footer-motto{text-align:center;font-size:1.2rem}}@media (max-width: 360px){.hero-card{padding:var(--sp-4)}.hero-badges{gap:6px}.link-group{flex-direction:column;align-items:flex-start;gap:var(--sp-1)}.footer-links{justify-content:flex-start;gap:var(--sp-4) var(--sp-8)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.project-card:hover,.about-card:hover,.contact-card:hover,.fact-chip:hover,.btn:hover,.tag:hover,.about-card:hover .card-icon,.about-card--dream:hover .dream-mark{transform:none}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--accent-border);border:3px solid var(--bg-canvas);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}
