:root{--blue:#124db7;--ink:#171713;--muted:#6d6b64;--paper:#f6f2e8;--rule:#cbc7bd;--card:#fbf9f2}
:root[data-theme="dark"]{--ink:#eceae2;--muted:#aaa79d;--paper:#121713;--rule:#374039;--card:#19201b;--blue:#7ca4ff}
.prototype-page{display:block!important;max-width:none!important;margin:0;background:var(--paper);color:var(--ink);overflow-x:clip;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.prototype-page *{box-sizing:border-box}.prototype-page main,.prototype-footer{width:100%;min-width:0;max-width:1220px;margin:auto;padding-left:28px;padding-right:28px}.prototype-page main *{min-width:0}.prototype-skip{position:absolute;left:-9999px}.prototype-skip:focus{left:12px;top:12px;z-index:20;background:var(--blue);color:#fff;padding:8px 12px}
.prototype-page h1,.prototype-page h2,.prototype-page h3,.prototype-page p{overflow-wrap:anywhere}.prototype-page h1,.prototype-page h2{font-family:Georgia,"Songti SC","SimSun",serif;text-wrap:balance}.prototype-page p,.prototype-page li{line-height:1.8}.prototype-page a{color:inherit}.prototype-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.17em;color:var(--blue);text-transform:uppercase}.prototype-dek{color:var(--muted);font-size:1.05rem;max-width:66ch}.prototype-date{border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:18px;min-width:110px;padding-right:28px;font-family:Georgia,"Songti SC",serif}.prototype-date span{font-size:.85rem}.prototype-date strong{font-size:2.45rem;line-height:1.1;font-weight:500}.prototype-date small{font-family:ui-monospace,monospace;letter-spacing:.12em;color:var(--muted)}
.prototype-page figure{max-width:100%;margin:0;border:1px solid var(--rule);overflow:hidden}.prototype-page figure img{display:block;max-width:100%;width:100%;height:100%;object-fit:cover}.prototype-page figcaption{padding:8px 10px;font-size:.72rem;color:var(--muted)}
.prototype-page .ed-audio{display:flex;align-items:center;gap:12px;width:100%;max-width:520px;min-width:0;border:1px solid var(--rule);background:var(--card);padding:10px 12px;margin-top:24px}.prototype-page .tts-play{flex:0 0 42px;width:42px;height:42px;border:0;border-radius:50%;background:var(--blue);color:#fff}.prototype-page .tts-range{flex:1 1 120px;min-width:0}.prototype-page .tts-time,.prototype-page .tts-label,.prototype-page .tts-status{flex:0 0 auto;font-size:.76rem;color:var(--muted)}
.prototype-page .tts-play[data-playing="1"]::before{content:"❚❚"}.prototype-page .tts-play[data-playing="0"]::before,.prototype-page .tts-play:not([data-playing])::before{content:"▶"}
.prototype-footer{border-top:1px solid var(--rule);margin-top:72px;padding-top:22px;padding-bottom:34px;display:flex;justify-content:space-between;font-size:.76rem;color:var(--muted)}
.prototype-page table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;-webkit-overflow-scrolling:touch}.prototype-page th,.prototype-page td{min-width:8.5rem;padding:10px;border:1px solid var(--rule);text-align:left;vertical-align:top}.prototype-page pre{display:block;max-width:100%;overflow-x:auto;white-space:pre;-webkit-overflow-scrolling:touch}.prototype-page code{overflow-wrap:normal}.prototype-page details{max-width:100%;border-bottom:1px solid var(--rule)}.prototype-page summary{padding:12px 0;cursor:pointer}.prototype-page .topic-sources,.prototype-page .source-item{min-width:0;max-width:100%}.prototype-page .source-link,.prototype-page .source-summary{overflow-wrap:anywhere}.prototype-page article>p,.prototype-page section>p{max-width:68ch}.prototype-page article h2,.prototype-page article h3{margin-top:1.5em;margin-bottom:.55em}.prototype-page article ul,.prototype-page article ol{padding-left:1.25rem}
.prototype-sources,.city-sources,.tech-sources{margin-top:68px;border-top:2px solid var(--ink);padding-top:26px}.prototype-sources>header,.city-sources>header,.tech-sources>header{display:grid;grid-template-columns:160px 1fr;gap:24px}.prototype-sources h2,.city-sources h2,.tech-sources h2{margin:0;font-size:2rem}.source-item{padding:14px 0;border-bottom:1px solid var(--rule)}.source-link{color:var(--blue)!important;font-weight:600;text-decoration:none}.source-summary{color:var(--muted);font-size:.86rem}.source-thumb{max-width:180px;height:auto}

/* Morning editorial — mirrors 4173. */
.prototype-ai-morning{--paper:#f6f2e8;--blue:#154ec1}.morning-hero{padding:44px 0 48px;border-bottom:2px solid var(--ink)}.morning-hero-grid{display:grid;grid-template-columns:110px minmax(0,1.2fr) minmax(300px,.9fr);gap:30px;align-items:start}.morning-hero-copy h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1;margin:8px 0 22px}.morning-hero-copy h1 span{color:var(--blue)}.morning-hero-copy>h2{font-size:clamp(2rem,4.4vw,4rem);line-height:1.07;margin:0;letter-spacing:-.04em}.morning-hero figure{height:330px;border-radius:0 0 20px 20px}.morning-briefing{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--rule)}.morning-briefing header{display:flex;align-items:center;gap:14px;color:var(--blue)}.morning-clock{display:grid;place-items:center;width:58px;height:58px;border:2px solid currentColor;border-radius:50%;font:1.5rem Georgia}.morning-briefing h2{margin:0;font-size:1.35rem}.morning-briefing ol{list-style:none;counter-reset:morn;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr)}.morning-briefing li{counter-increment:morn;padding:8px 20px;border-left:1px solid var(--rule);font-size:.91rem}.morning-briefing li:before{content:"0" counter(morn);display:block;color:var(--blue);font:1rem Georgia;margin-bottom:8px}.morning-reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:50px;padding-top:54px}.morning-analysis>header{display:grid;grid-template-columns:150px 1fr;gap:20px;border-bottom:1px solid var(--rule);padding-bottom:22px}.morning-analysis>header span{color:var(--blue);font-size:.78rem;letter-spacing:.13em}.morning-analysis>header h2{margin:0;font-size:2.1rem}.morning-analysis>p,.morning-analysis>section{max-width:760px}.morning-analysis>section{padding:24px 0;border-bottom:1px solid var(--rule)}.morning-insight-rail{border-left:1px solid var(--rule);padding-left:24px}.morning-insight-rail section{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--rule)}.morning-insight-rail h2{font-size:1.25rem;color:var(--blue)}

/* Finance ledger — mirrors 4174. */
.prototype-ai-finance .finance-markets{display:block}
.prototype-ai-finance{--paper:#f7f3e9;--blue:#104cbd}.finance-mast{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(300px,.9fr);gap:28px;padding:34px 0 20px}.finance-mast h1{font-size:clamp(3rem,6vw,5rem);margin:8px 0 10px;line-height:1}.finance-mast h1 span{color:var(--blue)}.finance-mast>div>p:not(.prototype-eyebrow){letter-spacing:.14em;color:var(--muted)}.finance-mast figure{height:240px;border-radius:10px}.finance-thesis{display:grid;grid-template-columns:145px 1fr;gap:24px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:24px 10px}.finance-thesis h2{font-size:1.75rem;line-height:1.55;margin:0}.finance-thesis p{grid-column:2;color:var(--muted);margin:0}.finance-numbers{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid var(--rule)}.finance-numbers>header{padding:24px 18px 24px 10px;border-right:1px solid var(--rule)}.finance-numbers h2{font-size:1.2rem;margin:0 0 8px}.finance-numbers header p{font-size:.8rem;color:var(--muted)}.finance-numbers>div{display:grid;grid-template-columns:repeat(4,1fr)}.finance-numbers article{padding:24px 18px;border-right:1px solid var(--rule)}.finance-numbers strong{display:block;color:var(--blue);font:700 1.3rem Georgia;line-height:1.35}.finance-numbers span{font-size:.78rem}.finance-content{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px;margin-top:54px}.finance-markets>header,.finance-analysis>header{display:grid;grid-template-columns:150px 1fr;gap:20px;border-bottom:2px solid var(--ink)}.finance-markets h2,.finance-analysis h2{font-size:2rem;margin:0}.finance-markets>div{display:grid;grid-template-columns:repeat(3,1fr)}.finance-markets article{padding:24px 20px;border-right:1px solid var(--rule)}.finance-markets article small{color:var(--blue);letter-spacing:.15em}.finance-analysis{margin-top:50px}.finance-analysis>p,.finance-analysis>table,.finance-analysis>ul{max-width:760px}.finance-rail section{border-left:4px solid var(--blue);padding:4px 0 18px 18px;margin-bottom:34px}.finance-rail h2{font-size:1.1rem}.finance-disclaimer{border:1px solid var(--rule);padding:14px;margin-top:28px;color:var(--muted);font-size:.8rem}

/* City intelligence — mirrors 4175. */
.prototype-smartcity{--paper:#f4f1e8;--blue:#164f90}.city-masthead{display:grid;grid-template-columns:110px minmax(0,1fr) 210px;gap:32px;padding:40px 0 30px}.city-masthead h1{font-size:clamp(3rem,5.8vw,4.8rem);margin:8px 0 12px;line-height:1}.city-masthead h1 span{color:var(--ink)}.city-masthead>div>p:not(.prototype-eyebrow){color:var(--muted);font-size:1.1rem}.city-contents{border:1px solid var(--rule);padding:20px}.city-contents b{display:block;font:1.15rem Georgia;margin-bottom:12px}.city-contents a{display:block;padding:9px 0;border-bottom:1px solid var(--rule);font-size:.8rem;text-decoration:none;color:var(--muted)}.city-lead-grid{display:grid;grid-template-columns:140px minmax(0,1fr) 260px;gap:28px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:28px 10px}.city-lead-grid h2{font-size:2rem;line-height:1.55;margin:0}.city-lead-grid aside{border-left:4px solid var(--blue);padding-left:18px}.city-lead-grid aside b{color:var(--blue)}.city-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--rule)}.city-stats article{padding:24px;border-right:1px solid var(--rule)}.city-stats strong{display:block;color:var(--blue);font:700 2.4rem ui-monospace,monospace}.city-stats span{font-size:.8rem}.city-government-actions,.city-policy,.city-vendors,.city-cases,.city-tenders{padding-top:58px}.city-government-actions>header,.city-policy>header,.city-vendors>header,.city-cases>header,.city-tenders>header{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(220px,.7fr);gap:28px;border-top:2px solid var(--ink);padding-top:20px}.city-government-actions header span,.city-policy header span,.city-vendors header span,.city-cases header span,.city-tenders header span{color:var(--blue);font:700 .8rem ui-monospace,monospace;letter-spacing:.12em}.city-government-actions h2,.city-policy h2,.city-vendors h2,.city-cases h2,.city-tenders h2{font-size:2rem;margin:0}.city-body-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:44px}.city-intelligence-rail{margin-top:58px;border-left:1px solid var(--rule);padding-left:22px}.city-intelligence-rail section{margin-bottom:34px}.city-intelligence-rail h2{color:var(--blue);font-size:1.2rem}.city-vendors{background:color-mix(in srgb,var(--blue) 5%,transparent);margin-top:58px;padding:30px 24px}.city-tenders table{width:100%;border-collapse:collapse}.city-tenders td,.city-tenders th{border:1px solid var(--rule);padding:11px;text-align:left}

/* Technical research notebook — mirrors 4176. */
.prototype-ai-tech{--paper:#edf3f4;--card:#f6faf9;--ink:#102126;--muted:#53686c;--rule:#b7c8ca;--blue:#0c5d83}.tech-hero{display:grid;grid-template-columns:110px minmax(0,1.5fr) minmax(300px,.8fr);gap:32px;padding:54px 0 44px;border-bottom:3px solid var(--ink)}.tech-hero h1{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:clamp(3rem,6vw,5.3rem);line-height:1.05;letter-spacing:-.055em;margin:16px 0 22px;font-weight:800}.tech-hero>div>p:not(.prototype-eyebrow){font-size:1.1rem;color:var(--muted)}.tech-blueprint{border:1px solid var(--blue);padding:28px;background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:24px 24px}.tech-blueprint>span,.tech-quick header span,.tech-architecture header span,.tech-engineering header span,.tech-decision header span,.tech-risks header span{font:700 .72rem ui-monospace,monospace;color:var(--blue);letter-spacing:.1em}.tech-blueprint>div{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;margin:50px 0 36px}.tech-blueprint b{border:1px solid var(--blue);padding:12px;text-align:center;font:700 .68rem ui-monospace,monospace}.tech-blueprint b:nth-of-type(n+3),.tech-blueprint i:nth-of-type(n+3){display:none}.tech-quick{display:grid;grid-template-columns:240px minmax(0,1fr) 280px;gap:30px;padding:46px 0;border-bottom:1px solid var(--rule)}.tech-quick header{display:flex;gap:20px}.tech-quick header>span{font-size:2rem}.tech-quick h2{font-family:"PingFang SC",sans-serif;font-size:2rem;margin:4px 0}.tech-quick>ol{margin:0;padding:0;list-style:none;counter-reset:techq}.tech-quick li{counter-increment:techq;padding:10px 0;border-bottom:1px solid var(--rule)}.tech-quick li:before{content:"0" counter(techq);color:var(--blue);font:700 .72rem ui-monospace,monospace;margin-right:18px}.tech-quick>aside{border-left:4px solid #27896c;padding-left:18px}.tech-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--rule)}.tech-metrics article{padding:22px;border-right:1px solid var(--rule)}.tech-metrics strong{display:block;font:700 2rem ui-monospace,monospace;margin:12px 0;color:var(--blue)}.evidence{font:700 .65rem ui-monospace,monospace;text-transform:uppercase;color:#27896c}.tech-architecture,.tech-engineering,.tech-decision,.tech-risks{padding-top:64px}.tech-architecture>header,.tech-engineering>header,.tech-decision>header,.tech-risks>header{display:grid;grid-template-columns:180px 1fr;border-top:2px solid var(--ink);padding-top:20px}.tech-architecture h2,.tech-engineering h2,.tech-decision h2,.tech-risks h2{font-family:"PingFang SC",sans-serif;font-size:2.3rem;margin:0}.tech-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px;margin-top:30px;padding:38px;border:1px solid var(--blue);background:var(--card)}.tech-flow b{border:1px solid var(--blue);padding:22px;text-align:center;font:700 .8rem ui-monospace,monospace}.tech-reading-layout{display:grid;grid-template-columns:90px minmax(0,1fr) 220px;gap:34px;padding-top:66px}.tech-reading-layout>aside{border-left:1px solid var(--rule);padding-left:16px}.tech-reading-layout>aside span{writing-mode:vertical-rl;font:700 .7rem ui-monospace,monospace;letter-spacing:.15em}.tech-reading-layout>aside a{display:block;margin:18px 0;color:var(--blue)}.tech-reading-layout>div>section{padding-bottom:42px;margin-bottom:36px;border-bottom:1px solid var(--rule)}.tech-reading-layout h2{font-family:"PingFang SC",sans-serif;font-size:2.4rem}.tech-engineering pre{overflow:auto;background:#102126;color:#d8f2ec;padding:24px;border-left:5px solid #27896c}.tech-decision>div{margin-top:24px;border:1px solid var(--rule);padding:24px}.tech-risks>p,.tech-risks>ul{max-width:780px}

@media(max-width:960px){.morning-hero-grid,.finance-mast,.city-masthead,.tech-hero{grid-template-columns:90px minmax(0,1fr)}.morning-hero figure,.finance-mast figure,.tech-blueprint{grid-column:2}.city-contents{grid-column:2}.morning-reading-layout,.finance-content,.city-body-grid{grid-template-columns:1fr}.morning-insight-rail,.finance-rail,.city-intelligence-rail{border-left:0;padding-left:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.tech-quick{grid-template-columns:190px 1fr}.tech-quick>aside{grid-column:2}.tech-reading-layout{grid-template-columns:70px 1fr}.tech-reading-layout>aside:last-child{grid-column:2}}
@media(max-width:680px){.prototype-page main,.prototype-footer{padding-left:16px;padding-right:16px}.prototype-date{border-right:0;border-bottom:1px solid var(--rule);padding:0 0 10px;display:grid;grid-template-columns:auto 1fr auto;align-items:end}.prototype-date strong{font-size:1.5rem}.morning-hero-grid,.finance-mast,.city-masthead,.tech-hero{grid-template-columns:1fr;padding-top:24px}.morning-hero figure,.finance-mast figure,.tech-blueprint,.city-contents{grid-column:1}.morning-hero-copy>h2,.tech-hero h1{font-size:2.4rem}.morning-briefing,.finance-thesis,.finance-numbers,.city-lead-grid,.tech-quick{grid-template-columns:1fr}.morning-briefing ol,.finance-numbers>div,.city-stats,.tech-metrics{grid-template-columns:1fr 1fr}.finance-thesis p{grid-column:1}.finance-markets>div{grid-template-columns:1fr}.city-lead-grid{gap:16px}.city-lead-grid aside{border-left:0;border-top:3px solid var(--blue);padding:14px 0 0}.city-government-actions>header,.city-policy>header,.city-vendors>header,.city-cases>header,.city-tenders>header{grid-template-columns:1fr}.tech-quick>aside{grid-column:1}.tech-reading-layout{grid-template-columns:1fr}.tech-reading-layout>aside:first-child{display:none}.tech-reading-layout>aside:last-child{grid-column:1}.tech-flow{grid-template-columns:1fr}.tech-flow i{transform:rotate(90deg);text-align:center}.prototype-footer{flex-direction:column;gap:10px}}

/* five-up briefing collapses gracefully (added 2026-08-05) */
@media(max-width:1160px){.morning-briefing ol{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.morning-briefing ol{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.morning-briefing ol{grid-template-columns:1fr}
.morning-briefing li{border-left:0;border-bottom:1px solid var(--rule);padding:12px 0}}
