:root{--bg: #f5f5f7;--card: #ffffff;--text: #1d1d1f;--dim: #86868b;--hairline: rgba(0, 0, 0, .08);--blue: #0071e3;--blue-tint: rgba(0, 113, 227, .09);--violet: #8b5cf6;--green: #1d9e63;--green-tint: rgba(29, 158, 99, .1);--violet-tint: rgba(139, 92, 246, .1);--radius: 22px;--shadow: 0 2px 14px rgba(0, 0, 0, .05), 0 1px 3px rgba(0, 0, 0, .04);--shadow-hover: 0 14px 40px rgba(0, 0, 0, .1), 0 3px 10px rgba(0, 0, 0, .05);--max: 1040px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}.aurora{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(48rem 30rem at 12% 8%,rgba(255,255,255,.9),transparent 60%),radial-gradient(42rem 28rem at 88% 18%,rgba(0,113,227,.06),transparent 65%),radial-gradient(50rem 34rem at 78% 85%,rgba(139,92,246,.05),transparent 65%),radial-gradient(40rem 26rem at 18% 78%,rgba(255,255,255,.8),transparent 60%)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--max);margin:0 auto;padding:0 28px}nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#fbfbfdbf;border-bottom:1px solid var(--hairline)}.nav-inner{max-width:var(--max);margin:0 auto;padding:13px 28px;display:flex;align-items:center;gap:22px}.nav-logo{font-weight:700;font-size:1rem;color:var(--text);letter-spacing:-.01em}.nav-logo:hover{text-decoration:none}.nav-links{display:flex;gap:20px;margin-left:auto;align-items:center;flex-wrap:wrap}.nav-links a{color:#1d1d1fb8;font-size:.88rem}.nav-links a:hover{color:var(--text);text-decoration:none}.lang-switch{border:1px solid var(--hairline);border-radius:980px;padding:4px 14px;font-size:.8rem;color:var(--text)!important;background:var(--card)}.lang-switch:hover{border-color:var(--blue);color:var(--blue)!important}.hero{min-height:calc(92vh - 60px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;padding:60px 0 90px}.kicker{font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:18px}.hero h1{font-size:clamp(3.4rem,9vw,6.2rem);font-weight:700;letter-spacing:-.035em;line-height:1.02;background:linear-gradient(180deg,#1d1d1f 55%,#6e6e73);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .tagline{margin-top:22px;font-size:clamp(1.05rem,2.2vw,1.35rem);color:var(--dim);font-weight:500;letter-spacing:.01em}.hero .intro{margin-top:20px;max-width:620px;color:var(--dim);font-size:1rem;line-height:1.75}.hero-cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.btn{display:inline-block;padding:12px 26px;border-radius:980px;font-weight:500;font-size:.95rem;transition:all .25s ease}.btn:hover{text-decoration:none}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#0077ed;transform:scale(1.03)}.btn-ghost{border:1px solid rgba(0,0,0,.18);color:var(--text);background:#fff9}.btn-ghost:hover{border-color:var(--text);transform:scale(1.03)}.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.66rem;letter-spacing:.3em;color:var(--dim);text-transform:uppercase}.scroll-hint:after{content:"";width:1px;height:34px;background:linear-gradient(180deg,var(--blue),transparent);animation:drip 2s ease-in-out infinite}@keyframes drip{0%,to{transform:scaleY(.4);transform-origin:top;opacity:.5}50%{transform:scaleY(1);opacity:1}}section{padding:84px 0;border-top:1px solid var(--hairline)}section.no-line{border-top:0}.section-title{font-size:clamp(2rem,4.6vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.1}.section-title .sub{font-size:.42em;font-weight:400;color:var(--dim);margin-left:14px;letter-spacing:0}.section-sub{color:var(--dim);margin-top:10px;margin-bottom:36px}.section-title+.grid,.section-title+.pipeline,.section-title+.learn-list{margin-top:36px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.pipeline{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center;background:var(--card);border-radius:var(--radius);padding:34px 28px;box-shadow:var(--shadow)}.pipe-step{background:var(--bg);border-radius:14px;padding:12px 20px;font-size:.92rem;font-weight:600}.pipe-arrow{color:var(--blue);font-weight:600}.pipeline-desc{color:var(--dim);margin-top:20px;max-width:620px;text-align:center;margin-left:auto;margin-right:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.card{background:var(--card);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.card h3{font-size:1.14rem;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}.card h3 a{color:var(--text)}.card h3 a:hover{color:var(--blue);text-decoration:none}.card p{color:var(--dim);font-size:.92rem;flex:1;line-height:1.65}.card .meta{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:.72rem;font-weight:500;padding:4px 11px;border-radius:980px;background:var(--blue-tint);color:var(--blue)}.tag.work{background:var(--violet-tint);color:var(--violet)}.tag.green{background:var(--green-tint);color:var(--green)}.visit{font-size:.85rem;white-space:nowrap;font-weight:500}.prose{max-width:720px}.prose h1,.prose h2,.prose h3{margin:1.5em 0 .5em;letter-spacing:-.02em;line-height:1.25}.prose p,.prose ul,.prose ol{margin-bottom:1em;color:#424245}.prose li{margin-left:1.2em;margin-bottom:.3em}.prose strong{color:var(--text)}.prose code{background:#0000000d;padding:2px 7px;border-radius:6px;font-size:.87em}.prose pre{background:#1d1d1f;color:#f5f5f7;border-radius:14px;padding:18px;overflow-x:auto;margin-bottom:1em}.prose pre code{background:none;padding:0;color:inherit}.prose img{max-width:100%;border-radius:14px;box-shadow:var(--shadow)}.prose blockquote{border-left:3px solid var(--blue);padding-left:16px;color:var(--dim);margin-bottom:1em}.learn-list{display:flex;flex-wrap:wrap;gap:12px}.learn-item{background:var(--card);border-radius:16px;padding:14px 20px;font-size:.92rem;font-weight:600;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}.learn-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.learn-item span{color:var(--dim);font-size:.78rem;display:block;font-weight:400;margin-top:2px}footer{border-top:1px solid var(--hairline);padding:44px 0 56px;color:var(--dim);font-size:.85rem;text-align:center}.footer-links{display:flex;gap:22px;margin-bottom:14px;flex-wrap:wrap;justify-content:center}.footer-links a{color:#1d1d1fa6}.footer-links a:hover{color:var(--blue)}.page-header{padding:72px 0 20px}.page-header h1{letter-spacing:-.03em}.date{color:var(--dim);font-size:.84rem}@media(max-width:640px){.hero{min-height:78vh;padding:40px 0 80px}section{padding:56px 0}.section-title .sub{display:block;margin-left:0;margin-top:6px}}.showcase{padding:96px 0}.show-title{font-size:clamp(2.4rem,6vw,4rem);font-weight:700;letter-spacing:-.035em;line-height:1.05;margin-bottom:34px}.show-title .sub{font-size:.34em;font-weight:400;color:var(--dim);margin-left:16px;letter-spacing:0}.show-media{display:block;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-hover)}.show-media img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;object-position:top;transition:transform .6s cubic-bezier(.22,1,.36,1);background:#e8e8ed}.show-media:hover img{transform:scale(1.015)}.show-caption{margin-top:22px;text-align:center;color:var(--dim);font-size:.95rem;font-style:normal}.show-links{margin-top:10px;text-align:center;display:flex;gap:22px;justify-content:center}.show-links a{font-size:.9rem;font-weight:500}.card-cover{display:block;margin:-28px -28px 18px;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}.card-cover img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top;background:#e8e8ed}@media(max-width:640px){.showcase{padding:60px 0}.show-title .sub{display:block;margin-left:0;margin-top:8px}}
