@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap');
:root { --ink:#192b46; --muted:#65748b; --accent:#5947e8; --cyan:#12a9bd; --line:#dce4ef; --paper:#f8faff; }
* { box-sizing:border-box; }
html,body { margin:0; width:100%; height:100%; overflow:hidden; background:#e8edf5; }
body,.reveal { font-family:Inter,'Noto Sans TC',sans-serif; color:var(--ink); }
.reveal { font-size:32px; }
.reveal .slides { text-align:left; }
.reveal .slides section.air-slide { width:1920px; height:1080px; padding:108px 130px 100px; overflow:hidden; background:linear-gradient(125deg,#fff 30%,#f8faff 75%,#eff6fc); }
.reveal .slides .air-slide h1,.reveal .slides .air-slide h2,.reveal .slides .air-slide h3,.reveal .slides .air-slide p { margin:0; }
.reveal .slides .air-slide h2 { font-size:68px; line-height:1.22; letter-spacing:-.04em; font-weight:700; max-width:1650px; }
.reveal .slides .air-slide h3 { font-size:42px; line-height:1.3; font-weight:600; letter-spacing:-.02em; }
.reveal .slides .air-slide .eyebrow { position:absolute; top:55px; left:132px; color:var(--accent); font-size:20px; font-weight:700; letter-spacing:.16em; }
.reveal .slides .air-slide .lead { margin-top:26px; font-size:31px; color:var(--muted); line-height:1.5; max-width:1600px; }
.reveal .slides .air-slide .diagram { position:absolute; top:302px; left:130px; width:1660px; height:590px; overflow:visible; }
.reveal .slides .air-slide .takeaway { position:absolute; left:130px; right:130px; bottom:108px; padding-top:23px; border-top:1px solid var(--line); font-size:30px; color:var(--ink); line-height:1.4; }
.reveal .slides .air-slide .caption { font-size:22px; color:var(--muted); line-height:1.5; }
.reveal .slides .air-slide .takeaway strong,.reveal .slides .air-slide em { color:var(--accent); font-style:normal; }
.deck-footer { position:absolute; bottom:37px; left:130px; right:130px; display:flex; justify-content:space-between; font-size:17px; letter-spacing:.1em; color:#7a879a; }
.reveal .slides .air-slide .compare { position:absolute; top:325px; left:130px; right:130px; display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.compare article { padding:28px 0; border-top:3px solid var(--line); }
.compare article:last-child { border-top-color:var(--accent); }
.reveal .slides .air-slide .compare p { font-size:32px; line-height:1.65; margin-top:27px; }
.reveal .slides .air-slide .compare small { display:block; font-size:22px; margin:0 0 24px; color:var(--muted); letter-spacing:.06em; }
.reveal .slides .air-slide .compare code { font-family:ui-monospace,monospace; font-size:27px; overflow-wrap:anywhere; }
.reveal .slides .air-slide .compare ul { margin:24px 0 0; padding-left:30px; font-size:29px; line-height:1.7; }
.reveal .slides .air-slide .big-number { font-size:190px; letter-spacing:-.075em; font-weight:600; color:var(--accent); line-height:1.05; }
.reveal .slides .air-slide .metric-label { font-size:34px; line-height:1.5; color:var(--muted); }
.reveal .slides .air-divider h2 { position:absolute; left:130px; top:367px; max-width:1180px; font-size:94px; line-height:1.1; letter-spacing:-.05em; z-index:2; }
.reveal .slides .air-divider .lead { position:absolute; top:605px; left:136px; max-width:1100px; font-size:35px; z-index:2; }
.reveal .slides .air-divider .chapter-number { position:absolute; right:145px; top:195px; font-size:460px; font-weight:600; line-height:1; letter-spacing:-.08em; color:#e4eafa; }
.reveal .slides .air-divider .diagram { top:695px; height:170px; }
.reveal .slides .air-divider .takeaway { border:0; color:var(--accent); }
.reveal .slides .air-cover,.reveal .slides .memory-divider { background:#fafbfc; }
.hero-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.reveal .slides .air-cover h1 { position:absolute; left:130px; top:275px; font-size:113px; line-height:1.06; letter-spacing:-.06em; font-weight:600; z-index:2; }
.reveal .slides .air-cover h1 strong { color:var(--accent); font-weight:600; }
.reveal .slides .air-cover .cover-subtitle { position:absolute; left:135px; top:657px; font-size:35px; line-height:1.55; z-index:2; }
.reveal .slides .air-cover .byline { position:absolute; left:135px; bottom:130px; font-size:24px; color:var(--muted); }
.reveal .slides .memory-divider h2 { max-width:790px; font-size:90px; }
.reveal .slides .memory-divider .lead { max-width:700px; }
.reveal .slides .air-slide .roadmap { position:absolute; top:300px; left:130px; right:130px; display:grid; grid-template-columns:repeat(3,1fr); gap:65px 80px; }
.roadmap article { border-top:1px solid var(--line); padding-top:22px; }
.roadmap b { display:block; color:var(--accent); font-size:26px; font-weight:500; margin-bottom:18px; }
.reveal .slides .air-slide .roadmap h3 { font-size:39px; }
.reveal .slides .air-slide .roadmap p { font-size:26px; color:var(--muted); margin-top:16px; }
.statement-content { position:absolute; top:328px; left:130px; right:130px; }
.data-story { display:grid; grid-template-columns:1fr 1fr; gap:120px; align-items:center; }
.data-story .index-card { padding:35px 40px; background:#fff; border:1px solid var(--line); border-left:5px solid var(--cyan); box-shadow:0 22px 55px #15264a0c; }
.reveal .slides .air-slide .index-card h3 { font-size:36px; margin-bottom:23px; }
.reveal .slides .air-slide .index-card p { font-size:29px; color:var(--muted); line-height:1.8; }
.reveal .slides .air-slide .index-card code { color:var(--accent); font-size:26px; }
.reveal .slides .air-slide table { margin-top:75px; width:100%; border-collapse:collapse; font-size:29px; }
.reveal .slides .air-slide th { padding:20px 22px; color:var(--muted); font-size:23px; font-weight:500; border-bottom:2px solid var(--line); text-align:left; }
.reveal .slides .air-slide td { padding:29px 22px; border-bottom:1px solid var(--line); line-height:1.45; }
.reveal .slides .air-slide td:first-child { color:var(--accent); font-weight:600; }
.reveal .controls { right:28px; bottom:15px; color:var(--accent); transform:scale(.7); transform-origin:bottom right; }
.reveal .progress { height:3px; color:var(--accent); }
.reveal a { color:var(--accent); }
.reveal .slides aside.notes { display:none; }
.reveal .slides .air-slide .principles { list-style:none; padding:0; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
@media print { html,body { background:#fff; } .deck-footer { bottom:30px; } }
/* Chapter openers with a diagram use the same readable content canvas. */
.reveal .slides .air-divider:not(.memory-divider) h2 { position:relative; top:auto; left:auto; max-width:1660px; font-size:68px; line-height:1.22; }
.reveal .slides .air-divider:not(.memory-divider) .lead { position:relative; top:auto; left:auto; max-width:1660px; font-size:31px; }
.reveal .slides .air-divider:not(.memory-divider) .diagram { top:302px; height:590px; }
.reveal .slides .air-divider:not(.memory-divider) .chapter-number { display:none; }
.reveal .slides .air-slide .eyebrow { z-index:3; }
.reveal .slides .air-slide blockquote { margin:30px 0; padding:12px 0 12px 26px; border-left:4px solid var(--line); }
.reveal .slides .air-slide .compare blockquote p { margin:0; }
.reveal .slides .air-slide .compare > article > svg { display:block; width:100%; height:190px; margin-top:32px; }
.reveal .slides .air-slide .compare .caption { font-size:22px; margin:0 0 20px; }
.reveal .slides .air-slide .compare .big-number { font-size:170px; line-height:1.1; margin-top:30px; }
.reveal .slides .air-slide .compare:has(> article:nth-child(3)) { grid-template-columns:repeat(3,1fr); gap:60px; }
.reveal .slides .air-slide .compare:has(> article:nth-child(3)) article { padding-top:35px; }
.reveal .slides .air-slide .compare:has(> article:nth-child(3)) p { margin-top:34px; }
.reveal .slides .air-slide .compare:has(> article:nth-child(3)) .caption { margin:0 0 26px; font-size:25px; line-height:1.6; }
.reveal .slides .air-slide .compare:has(> article:nth-child(3)) p + .caption { margin-top:30px; }
.reveal .slides .air-finale { background:radial-gradient(ellipse at 75% 48%,#ebe8fd 0,transparent 50%),linear-gradient(125deg,#fff,#f2f9fc); }
.reveal .slides .air-finale > .big-number { position:absolute; top:345px; left:130px; right:130px; text-align:center; font-size:270px; }
.reveal .slides .air-finale > .metric-label { position:absolute; top:678px; left:130px; right:130px; text-align:center; font-size:38px; }
