/* Aldone Blog / Astra V7 — design-only final cascade.
   Shared across ZH/EN indexes, categories and articles. Source prose/URLs unchanged.
   Decorative artwork glyph removals are enumerated in the build audit.
   Tokens and navigation/footer rhythm adapted from #aldone-v7-astra. */
:root{--ink:#17171B;--tiffany:#0ABAB5;--tif:#0ABAB5;--tifd:#0ABAB5;--white:#F4F4F6;--grey:#1C1C21;--grey1:#202026;--grey2:#393940;--muted:#AEADB7;--wa:#0ABAB5;--bg:#17171B;--bg2:#202026;--slate:#AEADB7;--line:rgba(255,255,255,.12);--tiftint:#24242C;--maxw:1248px;--radius:18px;--paper:#F4F4F6;--secondary:#D1D0D8;color-scheme:dark}
html{background:var(--ink);scroll-padding-top:108px}
body{background:var(--ink);color:var(--paper);font-family:"Poppins","Noto Sans TC","PingFang HK","Microsoft JhengHei",sans-serif;font-weight:400;line-height:1.85;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
::selection{background:rgba(10,186,181,.26);color:#fff}
*{box-sizing:border-box}img,video{max-width:100%;height:auto}
[hidden]{display:none!important}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a{color:var(--tif)}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--tif);outline-offset:5px}
.wrap{max-width:var(--maxw);padding:0 32px;margin:0 auto}.wrap>*,.grid>*,.feat>*,.foot-grid>*{min-width:0}
h1,h2,h3,h4,h5{color:var(--paper);font-weight:600;letter-spacing:-.03em;text-wrap:balance}p{text-wrap:pretty}
/* Global navigation alone is sticky; inherited nav rules must not pin TOCs. */
body>nav{background:rgba(23,23,27,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);position:sticky;top:0;z-index:100}
body>nav .wrap{height:84px;gap:28px}.logo,footer .logo{color:var(--paper);font-size:29px;letter-spacing:-.035em}.logo .E{font-size:1.12em}
.navlinks{display:flex;align-items:center;gap:22px}.navlinks a{margin:0;color:var(--muted);font-size:12px;font-weight:400;white-space:nowrap}.navlinks a:hover{color:var(--paper)}
.navlinks .navlang{color:var(--secondary);border:0;border-radius:0;background:none;padding:7px 0;font-size:12px;font-weight:500}
.navlinks .navcta{background:transparent;color:var(--paper);border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:10px 17px;font-size:13px;font-weight:500}.navlinks .navcta:hover{border-color:var(--tif);background:rgba(255,255,255,.035)}
.btn{border-radius:11px;background:var(--tif);color:var(--ink);border:1px solid var(--tif);padding:15px 27px;font-size:15px;font-weight:600;line-height:1.6;text-align:center;transition:transform .2s,background .2s,border-color .2s}
.btn:hover{background:var(--tif);color:var(--ink);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.18)}
/* Index: generous editorial masthead, search and quiet topic controls. */
.bhero{background:var(--ink);padding:88px 0 60px;border-bottom:1px solid var(--line)}
.bhero::after,.ahero::after{content:none}
.kick,.bhero .kick{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.17em}
.kick::before{content:"";display:inline-block;width:20px;height:2px;background:var(--tif)}
.bhero h1{max-width:1060px;font-size:clamp(40px,4.7vw,64px);line-height:1.3;letter-spacing:-.045em;margin:24px 0 26px;color:var(--paper);font-weight:600}
.bhero h1 em{font-style:normal;color:var(--paper);text-decoration:underline;text-decoration-color:var(--tif);text-decoration-thickness:2px;text-underline-offset:10px}
.bhero p{max-width:730px;font-size:16px;line-height:1.95;color:var(--muted)}
.search{margin-top:34px;max-width:510px;background:#1E1E24;border:1px solid #45454F;border-radius:12px;padding:5px;gap:4px}.search input{min-width:0;width:100%;color:var(--paper);padding:12px 16px;font-size:14px}.search input::placeholder{color:var(--muted);opacity:1}.search .go{background:#33333D;color:var(--paper);border:1px solid #494953;border-radius:8px;padding:0 22px;font-size:12px;font-weight:500;flex-shrink:0}.search .go:hover{border-color:var(--tif)}.search:focus-within{border-color:var(--tif);box-shadow:none}
.chips{padding:30px 0 8px;gap:9px}.chip{background:transparent;color:var(--muted);border:1px solid #393940;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:400;line-height:1.7}.chip.on{background:#303039;border-color:#666671;color:var(--paper);font-weight:500;box-shadow:inset 0 -2px 0 var(--tif)}.chip:hover{color:var(--paper);border-color:#777781}
.feat{grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);background:#202026;border:1px solid var(--line);border-radius:18px;margin:28px 0 36px;min-height:360px;transition:border-color .2s,transform .2s}
.feat .l{padding:42px 46px}.feat .cat{color:var(--tif);font-size:11px;font-weight:500;letter-spacing:.08em}.feat h2{font-size:clamp(25px,2.7vw,35px);line-height:1.5;margin:18px 0}.feat p{font-size:14px;color:var(--muted);line-height:1.9;max-width:640px}.feat .meta{margin-top:26px;font-size:11px;color:var(--muted)}
.feat .r{display:flex;position:relative;background:#25252D;border-left:1px solid var(--line);font-size:80px;isolation:isolate}.feat .r::before{content:"";position:absolute;inset:38px;border:1px solid rgba(255,255,255,.09);border-radius:50%;z-index:-1}.feat .r::after{content:"";position:absolute;width:32px;height:2px;background:var(--tif);bottom:38px;left:38px}
.feat:hover{border-color:#60606B;transform:translateY(-2px);box-shadow:none}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pcard{background:#1E1E24;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:none}.pcard:hover{transform:translateY(-3px);border-color:#676773;box-shadow:none}
.pcard .top{height:140px;background:#25252D;border-bottom:1px solid var(--line);font-size:44px;justify-content:flex-start;padding:0 28px}.pcard .cb{padding:25px 27px 27px}.pcard .cat{color:var(--muted);font-size:11px;letter-spacing:.04em;font-weight:500}.pcard h3{color:var(--paper);font-size:18px;line-height:1.65;margin:13px 0 14px;letter-spacing:-.015em}.pcard p{font-size:13px;line-height:1.9;color:var(--muted)}.pcard .meta{font-size:11px;color:var(--muted);gap:12px;margin-top:26px;padding-top:19px;border-top:1px solid var(--line)}.pcard .meta span[style]{font-weight:400!important}
/* Breadcrumbs / category landing pages. */
.crumbs,nav.crumbs{position:static;top:auto;z-index:auto;background:transparent;backdrop-filter:none;border:0;color:var(--muted);padding:28px 0 0;font-size:11px;line-height:1.9;overflow-wrap:anywhere}.crumbs a{color:var(--secondary);font-weight:400}.crumbs a:hover{color:var(--tif)}
body>div.wrap:has(>.card){padding-bottom:92px;min-height:62vh}
body>div.wrap>h1{font-size:clamp(36px,4.8vw,62px);line-height:1.35;margin:58px 0 22px;letter-spacing:-.045em}
body>div.wrap>.sub{max-width:750px;font-size:16px;line-height:1.95;color:var(--muted)}
a.card{display:block;max-width:930px;margin:42px 0 0;padding:34px 38px;border:1px solid var(--line);border-radius:14px;background:#202026;color:var(--paper);transition:border-color .2s,transform .2s}a.card:hover{border-color:#676773;transform:translateY(-2px)}.card .k{color:var(--tif);font-size:11px;letter-spacing:.08em}.card h2{font-size:27px;line-height:1.55;margin:15px 0 20px;max-width:780px}.card .m{color:var(--muted);font-size:12px}
/* Articles: broad title, narrow reading measure, calm dark information blocks. */
body>section.wrap{padding-top:0;padding-bottom:0}
.ahero{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:55px 0 52px;margin:0 0 50px;overflow:visible}.ahero .cat{color:var(--tif);background:transparent;border:1px solid #41414B;border-radius:6px;padding:5px 11px;font-size:11px;font-weight:500;letter-spacing:.06em}.ahero h1{max-width:1040px;font-size:clamp(35px,4vw,54px);line-height:1.4;font-weight:600;letter-spacing:-.035em;margin:24px 0}.ahero .meta{font-size:12px;color:var(--muted)}
.article{max-width:824px;margin:0 auto;padding:0 26px 25px;background:transparent;border:0;border-radius:0;color:var(--secondary)}
.article p,.article li{color:var(--secondary);font-size:16px;line-height:2}.article p{margin:21px 0}.article strong{color:var(--paper);font-weight:600}.article h2{font-size:28px;line-height:1.55;margin:52px 0 22px;color:var(--paper);padding:0;border-left:0;letter-spacing:-.025em}.article h3{font-size:21px;line-height:1.65;color:var(--paper);margin:32px 0 13px}.article h2,.article h3{scroll-margin-top:105px}.article a{color:var(--tif);text-decoration:underline;text-decoration-color:rgba(10,186,181,.4);text-underline-offset:4px}.article a:hover{text-decoration-color:var(--tif)}.article ul,.article ol{margin:20px 0 20px 25px}.article li{padding-left:5px;margin:10px 0}.article li::marker{color:var(--muted)}
.article .hm-toc{position:static;top:auto;z-index:auto;background:#202026!important;color:var(--secondary);backdrop-filter:none;border:1px solid var(--line);border-radius:12px!important;padding:25px 28px!important;margin:0 0 34px!important}.hm-toc b{font-size:12px!important;font-weight:500;letter-spacing:.04em}.article .hm-toc li{font-size:13px;line-height:1.85;padding-left:0}.article .hm-toc a{color:var(--secondary)!important;font-weight:400}.article .hm-toc a:hover{color:var(--tif)!important}.article .art-h1fix{font-size:20px!important;font-weight:500!important;line-height:1.7;color:var(--paper);margin:30px 0 20px!important}
.article blockquote{background:#202026;border-left:2px solid var(--tif);border-radius:0 9px 9px 0;color:var(--secondary);padding:19px 24px;margin:28px 0}.article table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;overscroll-behavior-x:contain;margin:30px 0;font-size:13px}.article th,.article td{border:1px solid #40404A;padding:14px 17px;vertical-align:top;color:var(--secondary);line-height:1.8}.article th{background:#282830;color:var(--paper);font-weight:500}.article tr:nth-child(even){background:#1D1D23}.article hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.article-cta{border-top:1px solid var(--line);margin-top:45px;padding-top:22px}.article-cta h3{font-size:25px}.article-cta>p{color:var(--muted);font-size:14px}.author-box{background:#202026!important;border:1px solid var(--line);color:var(--muted)!important;padding:23px 25px!important;font-size:12px!important;line-height:1.95}.author-box b{color:var(--paper);font-weight:500}.hm-related>b{color:var(--muted);font-weight:500}.article .hm-related a{color:var(--secondary)!important;border-color:var(--line)!important;font-size:14px;font-weight:400!important;padding:17px 0!important}
.ctaband{background:#202026;border:1px solid var(--line);border-radius:16px;padding:38px 40px;gap:26px;margin:58px 0 72px}.ctaband h3{font-size:25px;line-height:1.6;color:var(--paper)}.ctaband h3 em{color:var(--paper);font-style:normal}.ctaband p,.article .ctaband p{font-size:13px;line-height:1.9;color:var(--muted);margin:9px 0 0}.ctaband .btn{flex-shrink:0;text-decoration:none;color:var(--ink)}.article .ctaband{padding:29px 30px;margin-bottom:35px}.article .ctaband h3{font-size:23px}
section.wrap>section.wrap{padding:62px 0 82px;margin-top:25px;border-top:1px solid var(--line)}section.wrap>section.wrap>h2{font-size:30px!important;margin:17px 0 28px!important}section.wrap>section.wrap .pcard h3{font-size:16px!important}
/* Keep all source footer text available, including mobile legal details. */
footer{background:var(--ink);padding:58px 0 48px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.foot-grid{grid-template-columns:1.25fr .8fr .85fr 1.7fr;gap:34px}footer h5{font-size:11px;letter-spacing:.04em;font-weight:500;color:var(--paper);margin-bottom:16px}footer a{font-size:11px;color:var(--muted);line-height:1.9;padding:3px 0}footer a:hover{color:var(--paper)}footer p{line-height:1.9;margin-bottom:9px}.tagline-master{font-size:18px;font-weight:500;color:var(--paper);margin-top:28px}.foot-credit,.foot-legal{font-size:10px;color:var(--muted);opacity:1}.foot-min{display:none!important}
/* Preserve source DOM nesting; the article footer is already inside .wrap. */
section.wrap>footer>.wrap{padding-left:0;padding-right:0}
@media(max-width:1100px){.navlinks{gap:15px}.navlinks a{font-size:11px}.feat .l{padding:34px}.grid{gap:20px}.pcard .cb{padding:23px}.foot-grid{gap:25px}}
@media(max-width:1000px){.navlinks a:not(.navcta):not(.navlang){display:none}.navlinks{gap:24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.wrap{padding:0 28px}body>nav .wrap{height:72px}.logo{font-size:27px}.bhero{padding:65px 0 48px}.bhero h1{font-size:46px}.feat{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);min-height:0}.feat .r{display:flex;font-size:60px}.feat .r::before{inset:20px}.feat h2{font-size:27px}.ahero{padding:40px 0;margin-bottom:35px}.ahero h1{font-size:40px}.article{padding:0 12px 20px}.ctaband{padding:30px}.foot-grid,footer .foot-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:30px}footer .foot-grid>div,footer .foot-grid>div:nth-child(n+2){display:block!important;width:auto!important;min-width:0!important;margin:0}footer .foot-grid>div:first-child,footer .foot-grid>div:last-child{grid-column:1/-1}footer .foot-grid a{display:block!important;width:auto!important;height:auto!important;font-size:12px;line-height:1.9}footer .foot-grid p a{display:inline!important;font-size:inherit}footer .foot-grid>div:last-child{border-top:1px solid var(--line);padding-top:25px}footer .foot-credit,footer .foot-legal{font-size:11px}}
@media(max-width:600px){html{scroll-padding-top:88px}.wrap{padding:0 22px}body>nav .wrap{height:68px;gap:18px}.navlinks{gap:19px}.navlinks .navcta{font-size:12px;padding:9px 14px}.bhero{padding:51px 0 38px}.bhero .kick{font-size:10px}.bhero h1{font-size:36px;line-height:1.42;margin:21px 0 23px;letter-spacing:-.045em}.bhero h1 em{text-underline-offset:7px}.bhero p{font-size:14px;line-height:1.95}.search{margin-top:26px}.search input{padding:11px 10px;font-size:16px}.search input::placeholder{font-size:13px}.search .go{padding:0 15px;font-size:12px}.chips{padding:24px 0 4px;gap:8px}.chip{font-size:11px;padding:10px 12px}.feat{grid-template-columns:minmax(0,1fr);margin:25px 0 24px;border-radius:13px}.feat .l{padding:27px 24px}.feat h2{font-size:25px;line-height:1.6;margin:16px 0}.feat p{font-size:13px}.feat .meta{margin-top:21px}.feat .r{display:flex;border-left:0;border-top:1px solid var(--line);min-height:116px;font-size:45px;justify-content:flex-start;padding:22px 28px}.feat .r::before{inset:16px 22px;border-radius:8px}.feat .r::after{left:auto;right:38px;bottom:36px}.grid{grid-template-columns:minmax(0,1fr);gap:20px}.pcard .top{height:108px;font-size:38px;padding:0 25px}.pcard .cb{padding:24px}.pcard h3{font-size:19px;line-height:1.65}.pcard p{font-size:13px}.pcard .meta{font-size:11px}.crumbs,nav.crumbs{padding-top:22px;font-size:10px}.ahero{padding:31px 0 32px;margin-bottom:30px}.ahero h1{font-size:32px;line-height:1.5;margin:20px 0;letter-spacing:-.035em;overflow-wrap:anywhere}.ahero .meta{font-size:11px}.article{padding:0 0 16px}.article p,.article li{font-size:15px;line-height:2}.article h2{font-size:25px;line-height:1.65;margin:40px 0 20px;overflow-wrap:anywhere}.article h3{font-size:20px;line-height:1.7}.article .hm-toc{padding:21px 20px!important;margin-bottom:28px!important}.article .hm-toc li{font-size:12px;line-height:1.9}.article .art-h1fix{font-size:18px!important}.article th,.article td{padding:11px 12px;min-width:96px;font-size:12px}.article blockquote{padding:18px 19px}.author-box{padding:20px!important}.article .ctaband,.ctaband{padding:26px 23px;margin:38px 0 46px;gap:22px}.ctaband h3,.article .ctaband h3{font-size:23px}.ctaband .btn{display:inline-block!important;width:auto!important;padding:14px 23px;margin:0!important;font-size:13px}.article .hm-related a{font-size:13px}.article-cta h3{font-size:23px}section.wrap>section.wrap{padding:40px 0 52px}section.wrap>section.wrap>h2{font-size:27px!important}body>div.wrap>h1{font-size:37px;margin-top:38px}.card h2{font-size:23px}body>div.wrap>.sub{font-size:14px}a.card{padding:26px 24px;margin-top:30px}body>div.wrap:has(>.card){padding-bottom:60px}footer{padding:42px 0}.tagline-master{margin-top:22px}footer .logo{font-size:27px}}
/* No decorative emoji: abstract CSS artwork, not stock or generated photography. */
.pcard .top{position:relative;isolation:isolate}
.pcard .top::before{content:"";display:block;width:48px;height:48px;border:1px solid rgba(10,186,181,.55);border-radius:12px;transform:rotate(-12deg);box-shadow:12px 7px 0 -1px #25252D,12px 7px 0 0 rgba(255,255,255,.17)}
.feat .r{background:radial-gradient(ellipse at 50% 50%,rgba(10,186,181,.055),transparent 65%),#25252D}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.logo .L{opacity:1!important;transform:none!important}.logo .E{color:var(--tif)!important}.pcard:hover,.feat:hover,a.card:hover,.btn:hover{transform:none}}
@media print{body>nav{display:none}.bhero,.ahero{padding:25px 0}.article{max-width:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pcard,.hm-toc,blockquote,table{break-inside:avoid}footer{padding:25px 0}.article table{display:table;font-size:11px}.article h2,.article h3{break-after:avoid}}
