@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";.navbar[data-v-088a02b4]{top:12px;z-index:1000;padding:0 var(--px);pointer-events:none;position:fixed;inset-inline:0}.navbar-inner[data-v-088a02b4]{max-width:var(--max-w);border:1px solid color-mix(in srgb, var(--border) 78%, transparent);background:color-mix(in srgb, var(--bg-card-solid) 78%, #fff8eecc);min-height:60px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);pointer-events:auto;transition:box-shadow var(--transition), border-color var(--transition), transform var(--transition);border-radius:999px;justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:10px 16px;display:flex}.navbar.scrolled .navbar-inner[data-v-088a02b4]{border-color:color-mix(in srgb, var(--primary) 20%, var(--border));box-shadow:var(--shadow);transform:translateY(-1px)}.navbar-brand[data-v-088a02b4]{flex-shrink:0;align-items:center;gap:9px;display:inline-flex}.brand-mark[data-v-088a02b4]{width:28px;height:28px;font-family:var(--font-display);color:#fff9ef;background:linear-gradient(135deg,#ef8f3d,#e07e2c);border-radius:9px;justify-content:center;align-items:center;font-size:1rem;display:inline-flex;box-shadow:0 8px 18px #e6863b3d}.brand-text[data-v-088a02b4]{font-family:var(--font-display);color:var(--text);letter-spacing:.4px;font-size:1.15rem;font-weight:400}.navbar-links[data-v-088a02b4]{align-items:center;gap:clamp(12px,2vw,24px);display:flex}.navbar-links a[data-v-088a02b4]:not(.navbar-cta){color:var(--text-2);font-size:.84rem;font-family:var(--font-body);letter-spacing:.24px;transition:color var(--transition)}.navbar-links a[data-v-088a02b4]:not(.navbar-cta):hover{color:var(--text)}.navbar-cta[data-v-088a02b4]{background:var(--ink);font-size:.82rem;font-weight:600;font-family:var(--font-body);transition:transform var(--transition), background var(--transition);border-radius:999px;align-items:center;gap:7px;padding:8px 16px;display:inline-flex;color:#fffaf2!important}.navbar-cta[data-v-088a02b4]:hover{background:var(--primary);transform:translateY(-1px)}.navbar-cta i[data-v-088a02b4]{opacity:.76;font-size:.68rem}.navbar-toggle[data-v-088a02b4]{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:none}.navbar-toggle span[data-v-088a02b4]{background:var(--text);width:22px;height:1.8px;transition:var(--transition);border-radius:2px;display:block}@media (width<=900px){.navbar[data-v-088a02b4]{top:10px}.navbar-inner[data-v-088a02b4]{border-radius:16px;padding:10px 12px}.navbar-links[data-v-088a02b4]{inset:78px var(--px) auto;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card-solid) 88%, #fff9eedb);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);z-index:999;border-radius:16px;flex-direction:column;align-items:flex-start;gap:14px;padding:20px;display:none;position:fixed}.navbar-links.open[data-v-088a02b4]{display:flex}.navbar-links a[data-v-088a02b4]:not(.navbar-cta){font-size:.95rem;font-family:var(--font-body);color:var(--text)}.navbar-toggle[data-v-088a02b4]{display:flex}.navbar-toggle.open span[data-v-088a02b4]:first-child{transform:rotate(45deg)translate(4.5px,4.5px)}.navbar-toggle.open span[data-v-088a02b4]:nth-child(2){opacity:0}.navbar-toggle.open span[data-v-088a02b4]:nth-child(3){transform:rotate(-45deg)translate(4.5px,-4.5px)}}.hero[data-v-3d916c8e]{min-height:100vh;padding:120px var(--px) 72px;background:radial-gradient(circle at 12% 14%,#ffe7c5b3 0,#ffe7c514 30%,#0000 48%),linear-gradient(155deg,#fdf7ef 0%,#f8f2e8 56%,#efe6db 100%);align-items:center;transition:background .62s;display:flex;position:relative;overflow:hidden}body.mode-sunny .hero[data-v-3d916c8e],.hero.sunny[data-v-3d916c8e]{background:radial-gradient(circle at 10% 12%,#fffcf5d1 0,#fffcf52e 30%,#0000 48%),linear-gradient(160deg,#f4f0e9 0%,#ece7df 48%,#e8e2da 100%)}.hero[data-v-3d916c8e]:before{content:"";filter:blur(1px);pointer-events:none;background:radial-gradient(circle,#57b8aa3d,#0000 68%);border-radius:50%;width:360px;height:360px;position:absolute;top:-80px;right:-140px}.hero-inner[data-v-3d916c8e]{width:100%;max-width:var(--max-w);z-index:1;grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:center;gap:clamp(26px,4vw,72px);margin-inline:auto;display:grid;position:relative}.hero-greeting[data-v-3d916c8e]{border:1px solid color-mix(in srgb, var(--primary) 26%, var(--border));background:color-mix(in srgb, #fff6e9 72%, var(--bg-card));letter-spacing:1px;color:var(--primary-dark);opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.74rem;font-weight:600;display:inline-flex;transform:translateY(6px)}.hero-greeting.visible[data-v-3d916c8e]{opacity:1;transform:none}.hero-greeting[data-v-3d916c8e]:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 24%, transparent);border-radius:50%}.hero-top-row[data-v-3d916c8e]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-mode-tip[data-v-3d916c8e]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mode-chip[data-v-3d916c8e]{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--bg-card) 84%, #effaf7);min-height:30px;color:var(--text-2);border-radius:999px;align-items:center;gap:8px;padding:0 10px;font-size:.72rem;font-weight:700;display:inline-flex}.mode-chip kbd[data-v-3d916c8e]{border:1px solid color-mix(in srgb, var(--border-strong) 84%, transparent);background:color-mix(in srgb, var(--bg-card) 90%, white);min-width:22px;height:20px;font-family:var(--font-body);border-radius:6px;justify-content:center;align-items:center;padding:0 6px;font-size:.72rem;line-height:1;display:inline-flex;box-shadow:inset 0 -1px #00000014}.mode-state[data-v-3d916c8e]{color:var(--text-3);font-size:.74rem;font-weight:600}.hero-title[data-v-3d916c8e]{font-family:var(--font-display);letter-spacing:-.8px;color:var(--text);margin-top:16px;font-size:clamp(2.3rem,5.8vw,4.6rem);line-height:1.04}.hero-title em[data-v-3d916c8e]{color:var(--primary);font-style:normal}.hero-slogan[data-v-3d916c8e]{max-width:560px;color:var(--text-2);opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);margin-top:18px;font-size:clamp(.98rem,1.6vw,1.1rem);line-height:1.82;transform:translateY(8px)}.hero-slogan.visible[data-v-3d916c8e]{opacity:1;transform:none}.hero-meta[data-v-3d916c8e]{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.hero-meta span[data-v-3d916c8e]{background:color-mix(in srgb, var(--bg-card) 82%, #fff3e4);border:1px solid color-mix(in srgb, var(--border) 88%, transparent);color:var(--text-2);border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.hero-meta i[data-v-3d916c8e]{color:var(--primary);font-size:.75rem}.hero-cta[data-v-3d916c8e]{flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;display:flex}.btn-primary[data-v-3d916c8e],.btn-ghost[data-v-3d916c8e]{min-height:42px;font-family:var(--font-body);transition:transform var(--transition), box-shadow var(--transition), color var(--transition), background var(--transition), border-color var(--transition);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.86rem;font-weight:700;display:inline-flex}.btn-primary[data-v-3d916c8e]{background:var(--ink);color:#fffaf2;box-shadow:0 10px 22px #3c291933}.btn-primary[data-v-3d916c8e]:hover{background:var(--primary);transform:translateY(-1px)}.btn-ghost[data-v-3d916c8e]{border:1px solid color-mix(in srgb, var(--border-strong) 88%, transparent);color:var(--text-2);background:color-mix(in srgb, var(--bg-card) 82%, #fff9eeb3)}.btn-ghost[data-v-3d916c8e]:hover{color:var(--text);border-color:color-mix(in srgb, var(--primary) 38%, var(--border));transform:translateY(-1px)}.hero-projects[data-v-3d916c8e]{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.project-pill[data-v-3d916c8e]{border:1px dashed color-mix(in srgb, var(--primary) 42%, var(--border));background:color-mix(in srgb, #fff8ec 78%, var(--bg-card));color:var(--text-2);transition:transform var(--transition), border-color var(--transition), background var(--transition);border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:.76rem;font-weight:600;display:inline-flex}.project-pill[data-v-3d916c8e]:hover{border-color:color-mix(in srgb, var(--primary) 68%, var(--border));background:color-mix(in srgb, #ffefdc 84%, var(--bg-card));transform:translateY(-1px)}.project-pill i[data-v-3d916c8e]{color:var(--primary);font-size:.74rem}.hero-visual[data-v-3d916c8e]{justify-content:center;display:flex}.visual-panel[data-v-3d916c8e]{border:1px solid color-mix(in srgb, var(--border) 86%, transparent);background:linear-gradient(#92857414 1px, transparent 1px), linear-gradient(90deg, #92857414 1px, transparent 1px), linear-gradient(160deg, color-mix(in srgb, var(--bg-card) 90%, #fff9ef), color-mix(in srgb, var(--bg-card) 92%, #f8f0e6));width:min(100%,420px);box-shadow:var(--shadow-lg);background-size:18px 18px,18px 18px,auto;border-radius:26px;padding:18px;position:relative;overflow:hidden}.visual-panel[data-v-3d916c8e]:before{content:"";background:radial-gradient(circle,#57b8aa29,#0000 70%);border-radius:50%;width:170px;height:170px;position:absolute;top:-20px;right:-30px}.avatar-wrap[data-v-3d916c8e]{border:3px solid color-mix(in srgb, var(--accent) 52%, #d7f2ee);background:#fff8ee;border-radius:32px;width:148px;height:148px;margin:0 auto;position:relative;overflow:hidden}.avatar-fallback[data-v-3d916c8e],.avatar[data-v-3d916c8e]{width:100%;height:100%;position:absolute;inset:0}.avatar-fallback[data-v-3d916c8e]{font-family:var(--font-display);color:var(--primary);justify-content:center;align-items:center;font-size:2rem;display:flex}.avatar[data-v-3d916c8e]{object-fit:cover;opacity:0;transition:opacity .35s}.avatar.loaded[data-v-3d916c8e]{opacity:1}.visual-badges[data-v-3d916c8e]{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:16px;display:flex}.visual-badge[data-v-3d916c8e]{background:color-mix(in srgb, var(--bg-card) 78%, #fff4e6);border:1px solid color-mix(in srgb, var(--border) 90%, transparent);color:var(--text-2);border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:600}.visual-line[data-v-3d916c8e]{background:color-mix(in srgb, var(--accent) 12%, var(--bg-card));color:var(--text-2);text-align:center;border-radius:12px;margin-top:14px;padding:10px 12px;font-size:.84rem;font-weight:600}.visual-buddies[data-v-3d916c8e]{justify-content:center;align-items:flex-end;gap:14px;min-height:74px;margin-top:18px;display:flex}.buddy[data-v-3d916c8e]{border-radius:18px;width:48px;height:44px;animation:3.8s ease-in-out infinite buddy-float-3d916c8e;position:relative;box-shadow:0 12px 20px #30271c1f}.buddy[data-v-3d916c8e]:before,.buddy[data-v-3d916c8e]:after{content:"";background:#2c2927;border-radius:50%;width:6px;height:6px;position:absolute;top:16px}.buddy[data-v-3d916c8e]:before{left:14px}.buddy[data-v-3d916c8e]:after{right:14px}.buddy-1[data-v-3d916c8e]{background:#f6c6c7;animation-delay:0s}.buddy-2[data-v-3d916c8e]{background:#9edecf;border-radius:20px;width:56px;height:50px;animation-delay:.6s}.buddy-3[data-v-3d916c8e]{background:#f9d68b;animation-delay:1.2s}@keyframes buddy-float-3d916c8e{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-8px)rotate(1deg)}}@media (width<=1024px){.hero[data-v-3d916c8e]{min-height:auto;padding-top:108px}.hero-inner[data-v-3d916c8e]{grid-template-columns:1fr}.hero-visual[data-v-3d916c8e]{justify-content:flex-start}}@media (width<=640px){.hero[data-v-3d916c8e]{padding-top:94px;padding-bottom:56px}.hero-title[data-v-3d916c8e]{font-size:clamp(2rem,10vw,2.8rem)}.hero-meta[data-v-3d916c8e]{gap:6px}.hero-meta span[data-v-3d916c8e]{font-size:.74rem}.btn-primary[data-v-3d916c8e],.btn-ghost[data-v-3d916c8e]{width:100%}.visual-panel[data-v-3d916c8e]{border-radius:18px}.avatar-wrap[data-v-3d916c8e]{border-radius:26px;width:132px;height:132px}}.about-layout[data-v-27fea80d]{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(40px,6vw,96px);margin-bottom:clamp(40px,6vw,64px);display:grid}.about-bio[data-v-27fea80d]{color:var(--text-2);margin-top:18px;margin-bottom:20px;font-size:.95rem;line-height:1.85}.about-meta[data-v-27fea80d]{flex-wrap:wrap;gap:8px 24px;display:flex}.meta-item[data-v-27fea80d]{color:var(--text-3);align-items:center;gap:10px;font-size:.85rem;display:flex}.meta-item i[data-v-27fea80d]{color:var(--primary);text-align:center;width:14px;font-size:.8rem}.stat-list[data-v-27fea80d]{flex-direction:column;gap:22px;padding-top:4px;display:flex}.stat-head[data-v-27fea80d]{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.stat-val[data-v-27fea80d]{font-family:var(--font-display);color:var(--text);font-size:1.6rem;font-weight:400;line-height:1}.stat-number[data-v-27fea80d]{font-family:var(--font-display)}.stat-label[data-v-27fea80d]{color:var(--text-3);letter-spacing:.5px;text-transform:uppercase;font-size:.75rem}.stat-track[data-v-27fea80d]{background:var(--border);border-radius:1px;height:2px;overflow:hidden}.stat-fill[data-v-27fea80d]{height:100%;width:var(--pct);background:var(--gradient-primary);transform-origin:0;border-radius:1px;transition:transform 1.1s cubic-bezier(.4,0,.2,1);transform:scaleX(0)}.about-right.active .stat-fill[data-v-27fea80d]{transform:scaleX(1)}.about-cards[data-v-27fea80d]{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.about-card[data-v-27fea80d]{background:var(--bg-card);transition:background var(--transition);align-items:flex-start;gap:14px;padding:24px;display:flex}.about-card[data-v-27fea80d]:hover{background:#fffaf7}.about-card-icon[data-v-27fea80d]{background:var(--primary-subtle);width:34px;height:34px;color:var(--primary);transition:background var(--transition), color var(--transition);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;display:flex}.about-card:hover .about-card-icon[data-v-27fea80d]{background:var(--primary);color:#fff}.about-card h3[data-v-27fea80d]{color:var(--text);font-size:.95rem;font-weight:600;font-family:var(--font-body);margin-bottom:5px}.about-card p[data-v-27fea80d]{color:var(--text-2);font-size:.82rem;line-height:1.7}@media (width<=768px){.about-layout[data-v-27fea80d]{grid-template-columns:1fr;gap:32px}.about-cards[data-v-27fea80d]{grid-template-columns:1fr}.about-card[data-v-27fea80d]{border-bottom:1px solid var(--border)}.about-card[data-v-27fea80d]:last-child{border-bottom:none}}.tech-groups[data-v-8c1d4bb0]{flex-direction:column;display:flex}.tech-group[data-v-8c1d4bb0]{border-bottom:1px solid var(--border);grid-template-columns:140px 1fr;align-items:start;gap:16px;padding:24px 0;display:grid}.tech-group[data-v-8c1d4bb0]:first-child{border-top:1px solid var(--border)}.tech-group-label[data-v-8c1d4bb0]{letter-spacing:2px;text-transform:uppercase;color:var(--text-3);font-size:.72rem;font-weight:600;font-family:var(--font-body);padding-top:9px}.tech-tags[data-v-8c1d4bb0]{flex-wrap:wrap;gap:8px;display:flex}.tech-tag[data-v-8c1d4bb0]{background:var(--bg-card);border:1px solid var(--border);color:var(--text-2);transition:border-color var(--transition), color var(--transition), transform var(--transition), background var(--transition);cursor:default;font-size:.85rem;font-weight:400;font-family:var(--font-body);border-radius:6px;align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.tech-tag i[data-v-8c1d4bb0]{color:var(--text-3);transition:color var(--transition);font-size:.95rem}.tech-tag[data-v-8c1d4bb0]:hover{border-color:var(--primary);color:var(--text);transform:translateY(-2px)}.tech-tag:hover i[data-v-8c1d4bb0]{color:var(--primary)}.tech-tag.core[data-v-8c1d4bb0]{color:var(--text);background:#ea580c0a;border-color:#ea580c40;font-weight:500}.tech-tag.core i[data-v-8c1d4bb0]{color:var(--primary)}.tech-tag.core[data-v-8c1d4bb0]:hover{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-xl)}.tech-tag.core:hover i[data-v-8c1d4bb0]{color:#fff}@media (width<=600px){.tech-group[data-v-8c1d4bb0]{grid-template-columns:1fr;gap:10px}.tech-group-label[data-v-8c1d4bb0]{padding-top:0}.tech-tag[data-v-8c1d4bb0]{padding:7px 12px;font-size:.8rem}}.ai-section[data-v-5bb34131]{background:var(--bg)}.ai-layout[data-v-5bb34131]{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(40px,6vw,96px);display:grid}.ai-header .section-tag[data-v-5bb34131]{color:#f97316}.ai-header .section-title[data-v-5bb34131]{color:var(--text)}.ai-header .section-line[data-v-5bb34131]{background:var(--primary)}.ai-desc[data-v-5bb34131]{color:#7a6a5a;margin-top:18px;font-size:.92rem;line-height:1.85}.ai-list[data-v-5bb34131]{flex-direction:column;padding-top:4px;display:flex}.ai-item[data-v-5bb34131]{border-bottom:1px solid var(--border);transition:padding-left var(--transition);cursor:default;grid-template-columns:44px 1fr;gap:12px;padding:20px 0;display:grid}.ai-item[data-v-5bb34131]:first-child{border-top:1px solid var(--border)}.ai-item[data-v-5bb34131]:hover{padding-left:6px}.ai-item-num[data-v-5bb34131]{font-family:var(--font-display);color:var(--text-3);transition:color var(--transition);padding-top:2px;font-size:1rem;font-style:italic}.ai-item:hover .ai-item-num[data-v-5bb34131]{color:var(--primary)}.ai-item-title[data-v-5bb34131]{align-items:center;gap:8px;margin-bottom:5px;display:flex}.ai-item-title i[data-v-5bb34131]{color:var(--primary);text-align:center;width:14px;font-size:.85rem}.ai-item-title h3[data-v-5bb34131]{color:var(--text);font-size:.95rem;font-weight:600;font-family:var(--font-body)}.ai-item p[data-v-5bb34131]{color:var(--text-2);padding-left:22px;font-size:.83rem;line-height:1.75}@media (width<=768px){.ai-layout[data-v-5bb34131]{grid-template-columns:1fr;gap:32px}.ai-item[data-v-5bb34131]{grid-template-columns:36px 1fr}}.works-grid[data-v-0a975adf]{grid-template-columns:1fr 1fr;gap:20px;display:grid}.work-card[data-v-0a975adf]{background:var(--bg-card-solid);border-radius:var(--radius);transition:var(--transition);box-shadow:var(--shadow);border:1px solid #ea580c0f;padding:36px 28px;position:relative;overflow:hidden}.work-card[data-v-0a975adf]:hover{box-shadow:var(--shadow-xl);transform:translateY(-5px)}.work-card-large[data-v-0a975adf]{grid-column:1/-1;align-items:center;padding:44px 36px;display:flex}.work-card-large .work-content[data-v-0a975adf]{flex:1}.work-card-bg[data-v-0a975adf]{color:#2563eb0a;pointer-events:none;transition:var(--transition);font-size:8rem;position:absolute;top:-20px;right:-20px}.work-card:hover .work-card-bg[data-v-0a975adf]{color:#2563eb12;transform:scale(1.1)rotate(5deg)}.work-card-large .work-card-bg[data-v-0a975adf]{font-size:12rem;top:-30px;right:20px}.work-badge[data-v-0a975adf]{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:#fff;border-radius:12px;padding:4px 12px;font-size:.75rem;font-weight:600;position:absolute;top:16px;right:16px}.work-content[data-v-0a975adf]{z-index:1;position:relative}.work-number[data-v-0a975adf]{color:var(--primary);margin-bottom:6px;font-size:2.8rem;font-weight:800;line-height:1.1}.work-content h3[data-v-0a975adf]{color:var(--text);margin-bottom:10px;font-size:1.2rem;font-weight:600}.work-content p[data-v-0a975adf]{color:var(--text-light);margin-bottom:18px;font-size:.93rem;line-height:1.7}.work-link[data-v-0a975adf]{color:var(--primary);transition:var(--transition);align-items:center;gap:8px;font-size:.93rem;font-weight:500;display:inline-flex}.work-link[data-v-0a975adf]:hover{color:var(--primary-dark);gap:14px}@media (width<=900px){.works-grid[data-v-0a975adf]{grid-template-columns:1fr}.work-card-large[data-v-0a975adf]{grid-column:1}}@media (width<=600px){.work-card[data-v-0a975adf]{padding:22px 18px}.work-number[data-v-0a975adf]{font-size:2rem}.work-content p[data-v-0a975adf]{display:none}.work-content h3[data-v-0a975adf]{margin-bottom:8px}.work-card-large[data-v-0a975adf]{padding:22px 18px;display:block}}.chain-strip[data-v-5c0e9503]{border:1px solid color-mix(in srgb, var(--border) 84%, transparent);background:color-mix(in srgb, var(--bg-card) 88%, #fff7ed);border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px;padding:14px;display:grid}.chain-item[data-v-5c0e9503]{border:1px dashed color-mix(in srgb, var(--primary) 32%, var(--border));background:color-mix(in srgb, var(--bg-card) 84%, #fffdfa);min-height:42px;color:var(--text-2);border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:inline-flex}.chain-item em[data-v-5c0e9503]{background:color-mix(in srgb, var(--accent) 28%, #ebfbf7);width:20px;height:20px;color:color-mix(in srgb, var(--accent) 80%, #1f544d);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-style:normal;font-weight:700;display:inline-flex}.projects-grid[data-v-5c0e9503]{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.project-card[data-v-5c0e9503]{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--border) 84%, transparent);background:linear-gradient(155deg, color-mix(in srgb, var(--bg-card) 88%, #fff2e4) 0%, color-mix(in srgb, var(--bg-card) 94%, #fffbf5) 100%);min-height:228px;box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);flex-direction:column;gap:10px;padding:20px;display:flex}.project-card-main[data-v-5c0e9503]{grid-column:1/-1;min-height:254px}.project-card-sub[data-v-5c0e9503]{grid-column:span 6}.project-card[data-v-5c0e9503]:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb, var(--primary) 28%, var(--border));transform:translateY(-3px)}.project-card-head[data-v-5c0e9503]{justify-content:space-between;align-items:center;display:flex}.project-icon[data-v-5c0e9503]{width:40px;height:40px;color:var(--c);background:color-mix(in srgb, var(--c) 16%, white);border-radius:12px;justify-content:center;align-items:center;font-size:1.05rem;display:inline-flex}.project-badge[data-v-5c0e9503]{letter-spacing:.5px;color:var(--text-2);background:color-mix(in srgb, var(--bg-alt) 82%, white);border-radius:999px;padding:4px 10px;font-size:.72rem}.project-card h3[data-v-5c0e9503]{font-family:var(--font-display);color:var(--text);margin-top:4px;font-size:1.34rem;line-height:1.2}.project-card p[data-v-5c0e9503]{color:var(--text-2);font-size:.87rem;line-height:1.72}.project-points[data-v-5c0e9503]{flex-direction:column;gap:8px;margin-top:4px;list-style:none;display:flex}.project-points li[data-v-5c0e9503]{color:var(--text-2);align-items:center;gap:8px;font-size:.82rem;display:flex}.project-points li[data-v-5c0e9503]:before{content:"";background:color-mix(in srgb, var(--accent) 82%, #dff4ef);border-radius:50%;flex-shrink:0;width:7px;height:7px}.project-link[data-v-5c0e9503]{color:var(--primary);transition:gap .2s var(--ease);align-items:center;gap:8px;margin-top:auto;font-size:.84rem;font-weight:700;display:inline-flex}.project-card:hover .project-link[data-v-5c0e9503]{gap:12px}.project-link i[data-v-5c0e9503]{font-size:.68rem}@media (width<=1024px){.chain-strip[data-v-5c0e9503]{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card-main[data-v-5c0e9503]{min-height:230px}.project-card-sub[data-v-5c0e9503]{grid-column:span 6}}@media (width<=700px){.chain-strip[data-v-5c0e9503],.projects-grid[data-v-5c0e9503]{grid-template-columns:1fr}.project-card[data-v-5c0e9503],.project-card-main[data-v-5c0e9503],.project-card-sub[data-v-5c0e9503],.project-card-sub[data-v-5c0e9503]:last-child{grid-column:auto;min-height:auto}}.platform-grid[data-v-39b12617]{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:1px;display:grid;overflow:hidden}.platform-card[data-v-39b12617]{background:var(--bg-card);transition:background var(--transition);cursor:pointer;align-items:center;gap:14px;padding:18px 20px;text-decoration:none;display:flex}.platform-card[data-v-39b12617]:hover{background:#fffaf7}.platform-icon[data-v-39b12617]{width:38px;height:38px;color:var(--c);background:color-mix(in srgb, var(--c) 10%, transparent);transition:background var(--transition);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.platform-card:hover .platform-icon[data-v-39b12617]{background:color-mix(in srgb, var(--c) 18%, transparent)}.platform-info[data-v-39b12617]{flex:1;min-width:0}.platform-info h3[data-v-39b12617]{color:var(--text);font-size:.88rem;font-weight:600;font-family:var(--font-body);margin-bottom:2px}.platform-info span[data-v-39b12617]{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;display:block;overflow:hidden}.platform-arrow[data-v-39b12617]{color:var(--text-3);transition:color var(--transition), transform var(--transition);flex-shrink:0;font-size:.72rem}.platform-card:hover .platform-arrow[data-v-39b12617]{color:var(--primary);transform:translate(2px,-2px)}@media (width<=600px){.platform-grid[data-v-39b12617]{grid-template-columns:1fr}.platform-card[data-v-39b12617]{padding:14px 16px}}.footer[data-v-83e846aa]{background:var(--bg-alt);border-top:1px solid var(--border);padding:48px var(--px) 24px}.footer .container[data-v-83e846aa]{max-width:var(--max-w);margin:0 auto}.footer-inner[data-v-83e846aa]{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-bottom:28px;display:flex}.footer-logo[data-v-83e846aa]{font-family:var(--font-display);letter-spacing:2px;color:var(--text);margin-bottom:6px;font-size:1.4rem;font-weight:400;display:block}.footer-brand p[data-v-83e846aa]{color:var(--text-3);font-size:.8rem;font-family:var(--font-body)}.footer-nav[data-v-83e846aa]{flex-wrap:wrap;gap:24px;display:flex}.footer-nav a[data-v-83e846aa]{color:var(--text-2);transition:color var(--transition);font-size:.85rem;text-decoration:none}.footer-nav a[data-v-83e846aa]:hover{color:var(--primary)}.footer-bottom[data-v-83e846aa]{text-align:center;padding-top:20px}.footer-bottom p[data-v-83e846aa]{color:var(--text-3);font-size:.72rem;line-height:2}.footer-bottom a[data-v-83e846aa]{color:var(--text-3);transition:color var(--transition);text-decoration:none}.footer-bottom a[data-v-83e846aa]:hover{color:var(--primary)}.sep[data-v-83e846aa]{opacity:.4;margin:0 6px}.modal-overlay[data-v-e41c1012]{-webkit-backdrop-filter:blur(12px);z-index:2000;opacity:0;visibility:hidden;transition:opacity var(--transition), visibility var(--transition);background:oklch(10% .01 60/.6);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.show[data-v-e41c1012]{opacity:1;visibility:visible}.modal-card[data-v-e41c1012]{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:400px;box-shadow:var(--shadow-xl);padding:32px;transition:transform .35s cubic-bezier(.34,1.2,.64,1);position:relative;transform:scale(.94)translateY(16px)}.modal-overlay.show .modal-card[data-v-e41c1012]{transform:scale(1)translateY(0)}.modal-close[data-v-e41c1012]{color:var(--text-muted);cursor:pointer;width:32px;height:32px;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:1rem;display:flex;position:absolute;top:14px;right:16px}.modal-close[data-v-e41c1012]:hover{background:var(--primary-subtle);color:var(--primary)}.modal-body[data-v-e41c1012]{align-items:center;gap:24px;display:flex}.modal-qr[data-v-e41c1012]{border:1px solid var(--border);background:#fff;border-radius:12px;flex-shrink:0;width:140px;height:140px;padding:6px;overflow:hidden}.modal-qr img[data-v-e41c1012]{object-fit:cover;border-radius:7px;width:100%;height:100%;display:block}.modal-info[data-v-e41c1012]{flex-direction:column;gap:6px;display:flex}.modal-icon[data-v-e41c1012]{color:#07c160;background:oklch(95% .04 155);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:4px;font-size:1.3rem;display:flex}.modal-info h3[data-v-e41c1012]{color:var(--text);font-size:1.05rem;font-weight:600;font-family:var(--font-body)}.modal-info p[data-v-e41c1012]{color:var(--text-light);font-size:.82rem;line-height:1.6}.modal-tip[data-v-e41c1012]{color:var(--text-muted);background:var(--bg-alt);border-radius:6px;margin-top:4px;padding:6px 10px;font-size:.75rem;display:inline-block}@media (width<=480px){.modal-body[data-v-e41c1012]{text-align:center;flex-direction:column;align-items:center}.modal-qr[data-v-e41c1012]{width:160px;height:160px}}.sunny-overlay[data-v-7ceb1bcb]{pointer-events:none;z-index:999;opacity:0;transition:opacity .7s;position:fixed;inset:0;overflow:hidden}.sunny-overlay.visible[data-v-7ceb1bcb]{opacity:1}.sunny-overlay[data-v-7ceb1bcb]>*{position:absolute;inset:0}.sunny-overlay__video[data-v-7ceb1bcb]{object-fit:cover;mix-blend-mode:multiply;opacity:.3;filter:blur(.2px)saturate(.02)brightness(1.08)contrast(.78);width:100%;height:100%;transform:scale(1.012)}.sunny-overlay__backlight[data-v-7ceb1bcb]{mix-blend-mode:screen;background:radial-gradient(circle at 14% 13%,#ffffff09 0%,#faf8f403 13%,#0000 22%),linear-gradient(#fff0,#fff0)}.sunny-overlay__vignette[data-v-7ceb1bcb]{background:radial-gradient(circle,#0000 74%,#2a282601 100%),linear-gradient(90deg,#ffffff01,#0000 16% 84%,#fff0)}@media (width<=768px){.sunny-overlay__video[data-v-7ceb1bcb]{opacity:.24}}@media (prefers-reduced-motion:reduce){.sunny-overlay[data-v-7ceb1bcb],.sunny-overlay__video[data-v-7ceb1bcb]{transition:none!important;transform:none!important}}:root{--primary:#e58a3e;--primary-light:#f2b170;--primary-dark:#c9732f;--primary-subtle:#e58a3e24;--accent:#5ab8aa;--accent-light:#8cd6cc;--ink:#2a2420;--text:#2e2722;--text-2:#5f5247;--text-3:#8f8073;--bg:#f8f3ea;--bg-alt:#f2eadf;--bg-card:#fffaf2;--bg-card-solid:#fff9f1;--border:#57443024;--border-strong:#5744303d;--shadow-sm:0 1px 4px #2f211614;--shadow:0 10px 24px #2f211617;--shadow-lg:0 18px 42px #2f21161c;--shadow-xl:0 24px 62px #e58a3e2e;--font-display:"Instrument Serif", "LXGW WenKai Screen", Georgia, serif;--font-body:"DM Sans", "LXGW WenKai Screen", -apple-system, sans-serif;--radius-sm:10px;--radius:16px;--radius-lg:24px;--ease:cubic-bezier(.4, 0, .2, 1);--transition:.25s cubic-bezier(.4, 0, .2, 1);--max-w:1240px;--px:clamp(16px, 4vw, 54px);--section-py:clamp(60px, 8vw, 102px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0% 0%, #fde1b975, transparent 28%), radial-gradient(circle at 100% 0%, #a6e3d947, transparent 26%), linear-gradient(180deg, var(--bg) 0%, #efe5d8 100%);line-height:1.65;transition:background .7s;overflow-x:hidden}body.mode-sunny{--bg:#f3efe8;--bg-alt:#ece4da;--bg-card:#ffffffdb;--bg-card-solid:#ffffffed;--border:#54483c21;--border-strong:#54483c3d;--text:#2f2924;--text-2:#5a4f45;--text-3:#8a7c6f;background:radial-gradient(circle at 8% 0,#ffffff9e,#0000 22%),radial-gradient(circle at 84% 0,#ebf9f54d,#0000 28%),linear-gradient(#f3efe8 0%,#ebe4da 100%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.section{padding:var(--section-py) var(--px);background:var(--bg)}.section-alt{background:var(--bg-alt)}.container{width:100%;max-width:var(--max-w);margin:0 auto}.section-header{margin-bottom:clamp(32px,5vw,56px)}.section-header.centered{text-align:center}.section-tag{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));background:color-mix(in srgb, var(--bg-card) 82%, #fff7ea);color:color-mix(in srgb, var(--accent) 72%, var(--text));letter-spacing:.8px;border-radius:999px;align-items:center;gap:8px;padding:5px 11px;font-size:.68rem;font-weight:700;display:inline-flex}.section-tag:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.section-title{font-family:var(--font-display);letter-spacing:-.3px;color:var(--text);margin-top:14px;font-size:clamp(1.9rem,3.4vw,3.05rem);line-height:1.08}.section-title em{color:var(--primary);font-style:normal}.section-line{background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:999px;width:44px;height:2px;margin-top:14px}.section-header.centered .section-line{margin-inline:auto}.section-desc{max-width:480px;color:var(--text-2);margin-top:10px;font-size:.92rem}.section-header.centered .section-desc{margin-inline:auto}.reveal{opacity:0;transition:opacity .62s var(--ease), transform .62s var(--ease);transform:translateY(20px)}.reveal.active{opacity:1;transform:translateY(0)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#e58a3e3d;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#e58a3e5c}::selection{color:var(--text);background:#e58a3e2e}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}p,span,a,button,input,li,label,textarea{font-family:var(--font-body)}@media (width<=640px){.section{padding-top:clamp(56px,13vw,72px);padding-bottom:clamp(56px,13vw,72px)}.section-title{line-height:1.14}}
