:root{--bg: #0c1220;--bg-soft: #111a2e;--bg-card: #131c31;--ink: #e8ecf6;--ink-dim: #a7b1c7;--ink-faint: #6b7691;--accent: #9db1ff;--accent-soft: rgba(157, 177, 255, .14);--line: rgba(157, 177, 255, .14);--radius: 18px;--maxw: 1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Noto Sans TC,Microsoft JhengHei,Helvetica Neue,Arial,sans-serif;line-height:1.75;letter-spacing:.01em;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:-20%;background:radial-gradient(42% 32% at 22% 18%,rgba(157,177,255,.05),transparent 70%),radial-gradient(38% 30% at 82% 78%,rgba(120,140,220,.04),transparent 70%);animation:aurora 14s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes aurora{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){body:before{animation:none}html{scroll-behavior:auto}}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.site-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(14px);background:#0c1220c7;border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}.brand{display:flex;align-items:baseline;gap:10px;color:var(--ink);font-weight:650;font-size:1.12rem;letter-spacing:.06em}.brand:hover{text-decoration:none}.brand .brand-sub{color:var(--ink-faint);font-size:.78rem;font-weight:400;letter-spacing:.14em}.site-nav{display:flex;gap:22px;align-items:center;font-size:.92rem}.site-nav a{color:var(--ink-dim)}.site-nav a:hover{color:var(--ink);text-decoration:none}.lang-switch{border:1px solid var(--line);border-radius:999px;padding:4px 14px;color:var(--accent)!important}.site-footer{margin-top:96px;padding:40px 0 56px;border-top:1px solid var(--line);color:var(--ink-faint);font-size:.88rem}.site-footer .wrap{display:flex;flex-direction:column;gap:10px}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}.site-footer a{color:var(--ink-dim)}.hero{padding:84px 0 56px;text-align:center}.hero h1{font-size:clamp(2rem,5.4vw,3.3rem);font-weight:700;letter-spacing:.02em;line-height:1.3;margin:14px 0 18px}.hero p{color:var(--ink-dim);font-size:1.08rem;max-width:34em;margin:0 auto 34px}.hero .tagline{color:var(--accent);font-size:.9rem;letter-spacing:.34em;text-transform:none}.hero-wave{margin:44px auto 0;max-width:520px;opacity:.9}.hero-wave svg{width:100%;height:auto}.btn{display:inline-block;border-radius:999px;padding:13px 34px;font-size:.98rem;font-weight:600;letter-spacing:.04em;background:linear-gradient(135deg,#aebfff,#8396e8);color:#0c1220!important;border:none;cursor:pointer;box-shadow:0 0 #9db1ff59;animation:breathe 5s ease-in-out infinite;transition:transform .45s cubic-bezier(.77,0,.175,1),box-shadow .45s ease}.btn:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 6px 24px #9db1ff40}.btn:active{transform:translateY(1px);box-shadow:0 2px 10px #9db1ff2e}@keyframes breathe{0%,to{box-shadow:0 0 #9db1ff47}50%{box-shadow:0 0 0 9px #9db1ff00}}@media(prefers-reduced-motion:reduce){.btn{animation:none}}.btn-ghost{background:transparent;color:var(--accent)!important;border:1px solid var(--line);animation:none}.btn-ghost:hover{border-color:var(--accent)}.btn-disabled{background:var(--bg-card);color:var(--ink-faint)!important;animation:none;cursor:default}.section{padding:44px 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.section-head h2{font-size:1.5rem;margin:0;letter-spacing:.02em}.section-head .more{font-size:.9rem;color:var(--accent)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}.card{display:flex;flex-direction:column;background:linear-gradient(160deg,#9db1ff12,#131c31e6);border:1px solid var(--line);border-top-color:#ffffff17;border-radius:var(--radius);padding:22px;transition:transform .5s cubic-bezier(.77,0,.175,1),border-color .5s ease}.card:hover{transform:translateY(-3px);border-color:#9db1ff59;text-decoration:none}.card .kicker{color:var(--accent);font-size:.78rem;letter-spacing:.18em;margin-bottom:10px}.card h3{margin:0 0 8px;font-size:1.06rem;line-height:1.5;color:var(--ink);font-weight:650}.card p{margin:0;color:var(--ink-dim);font-size:.92rem}.card .meta{margin-top:14px;color:var(--ink-faint);font-size:.8rem}.tool-card .icon{width:44px;height:44px;border-radius:12px;margin-bottom:14px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:1.2rem}.pattern{height:120px;border-radius:12px;margin-bottom:16px;border:1px solid var(--line);position:relative;overflow:hidden;background:var(--bg-soft)}.pattern:after{content:"";position:absolute;inset:0;opacity:.6}.pattern-0:after{background:repeating-linear-gradient(115deg,transparent 0 14px,rgba(157,177,255,.12) 14px 15px)}.pattern-1:after{background:repeating-radial-gradient(circle at 85% -20%,transparent 0 17px,rgba(157,177,255,.11) 17px 18px)}.pattern-2:after{background:radial-gradient(60% 90% at 20% 100%,rgba(157,177,255,.16),transparent 65%),repeating-linear-gradient(0deg,transparent 0 22px,rgba(157,177,255,.08) 22px 23px)}.pattern-3:after{background:repeating-linear-gradient(90deg,transparent 0 26px,rgba(157,177,255,.1) 26px 27px),linear-gradient(0deg,rgba(157,177,255,.05),transparent)}.pattern-4:after{background:repeating-radial-gradient(circle at 15% 120%,transparent 0 21px,rgba(157,177,255,.1) 21px 22px)}.pattern-5:after{background:repeating-conic-gradient(from 200deg at 70% 30%,rgba(157,177,255,.09) 0deg 1deg,transparent 1deg 24deg)}.article-page{max-width:720px;margin:0 auto}.article-header{padding:56px 0 8px}.article-header .kicker{color:var(--accent);font-size:.82rem;letter-spacing:.2em}.article-header h1{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.4;margin:12px 0 14px;font-weight:700}.article-header .teaser{color:var(--ink-dim);font-size:1.02rem;margin:0 0 10px}.article-header .byline{color:var(--ink-faint);font-size:.85rem}.prose{padding:8px 0 0}.prose h2{font-size:1.34rem;margin:2.2em 0 .7em;line-height:1.45}.prose h3{font-size:1.12rem;margin:1.8em 0 .6em}.prose p{margin:0 0 1.15em;color:var(--ink)}.prose li{margin-bottom:.5em}.prose strong{color:#fff;font-weight:650}.prose blockquote{margin:1.6em 0;padding:2px 20px;border-left:2px solid var(--accent);color:var(--ink-dim);background:#9db1ff0d;border-radius:0 12px 12px 0}.prose hr{border:none;border-top:1px solid var(--line);margin:2.6em 0}.prose code{background:var(--bg-card);border-radius:6px;padding:2px 7px;font-size:.88em}.prose table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:.92em}.prose th,.prose td{border:1px solid var(--line);padding:8px 12px;text-align:left}.prose th{background:var(--bg-soft)}.disclaimer{margin:40px 0 0;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-faint);font-size:.86rem;line-height:1.7;background:#131c3199}.article-footer-cta{margin:30px 0 0;padding:24px;border-radius:var(--radius);background:linear-gradient(135deg,#9db1ff1f,#131c31e6);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.article-footer-cta .cta-text{font-weight:600}.article-footer-cta .cta-sub{color:var(--ink-dim);font-size:.9rem;margin-top:4px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 30px}.chip{border:1px solid var(--line);border-radius:999px;padding:6px 16px;font-size:.88rem;color:var(--ink-dim);background:transparent;cursor:pointer;font-family:inherit;transition:all .35s ease}.chip:hover{border-color:var(--accent);color:var(--ink)}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.article-card[data-cat]{display:flex}.article-card.hidden{display:none}.tool-page{max-width:640px;margin:0 auto}.tool-box{background:linear-gradient(160deg,#9db1ff14,#131c31f2);border:1px solid var(--line);border-top-color:#ffffff17;border-radius:24px;padding:30px;margin:30px 0}.tool-box label{display:block;color:var(--ink-dim);font-size:.9rem;margin:18px 0 8px}.tool-box label:first-child{margin-top:0}.tool-box input[type=time],.tool-box input[type=number],.tool-box select{width:100%;padding:12px 16px;background:var(--bg);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:1.05rem;font-family:inherit}.tool-box input:focus,.tool-box select:focus{outline:none;border-color:var(--accent)}.tool-box .btn{margin-top:22px;width:100%}.tool-result{margin-top:24px;padding:22px;border-radius:16px;background:#0c1220b3;border:1px solid var(--line);display:none}.tool-result.show{display:block;animation:rise .6s cubic-bezier(.77,0,.175,1)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.tool-result .big{font-size:1.9rem;font-weight:700;color:var(--accent);letter-spacing:.02em;line-height:1.3;margin:0 0 8px}.tool-result .note{color:var(--ink-dim);font-size:.92rem;margin:0 0 14px}.why-box{margin-top:26px;padding:18px 22px;border:1px dashed rgba(157,177,255,.3);border-radius:16px;font-size:.92rem;color:var(--ink-dim)}.why-box .why-title{color:var(--accent);font-weight:650;margin-bottom:6px}.tool-how{color:var(--ink-dim);font-size:.95rem}.tool-how h2{font-size:1.15rem;color:var(--ink)}.download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:36px 0}.store-card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;text-align:center;background:linear-gradient(160deg,#9db1ff12,#131c31e6)}.store-card .store-name{font-size:1.05rem;font-weight:650;margin:12px 0 4px}.store-card .store-status{color:var(--ink-faint);font-size:.85rem}.page-title{padding:60px 0 6px}.page-title h1{font-size:clamp(1.8rem,4vw,2.5rem);margin:0 0 12px;letter-spacing:.02em}.page-title p{color:var(--ink-dim);font-size:1.04rem;max-width:38em;margin:0 0 12px}.count-note{color:var(--ink-faint);font-size:.85rem;margin-bottom:18px}@media(max-width:640px){.site-nav{gap:14px;font-size:.85rem}.brand .brand-sub{display:none}.hero{padding:56px 0 36px}}
