:root{
  --sky-1:#8EC3F2; --sky-2:#D6EAFC; --sky-3:#EEF6FE;
  --card:#FFFFFF; --panel:#F3F8FE; --line:#E1ECF7;
  --chip:#DCEBFB; --chip-ink:#1E3A5F;
  --navy:#26587F; --navy-deep:#1D4466;
  --ink:#16202C; --ink2:#33475c; --muted:#667689; --top:#1D4466; --ad-bg:#F6F9FC;
  --green:#2E8B57; --green-bg:#E5F4EB; --amber:#B7791F; --amber-bg:#FDF3E1; --red:#C0392B; --red-bg:#FBE9E7;
  --radius:18px; --shadow:0 6px 24px rgba(29,68,102,.10);
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.55 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);
  background:linear-gradient(180deg,var(--sky-1) 0,var(--sky-2) 340px,var(--sky-3) 900px) no-repeat,var(--sky-3)}
a{color:var(--navy);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.25;margin:0 0 .5em}
h1{font-size:1.45rem} h2{font-size:1.15rem} h3{font-size:1rem}
.wrap{max-width:1140px;margin:0 auto;padding:0 16px}
/* header */
.top{padding:14px 0}
.top .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.12rem;color:var(--navy-deep);letter-spacing:-.01em}
.brand img{width:36px;height:36px}
.brand b{color:var(--navy)} .brand span{color:#2F7FC1}
.brand:hover{text-decoration:none}
.nav{margin-left:auto;display:flex;gap:16px;font-weight:600;font-size:.93rem}
.nav a{color:var(--navy-deep)}
/* search */
.search{position:relative;margin:6px 0 18px}
.search form{display:flex;background:var(--card);border-radius:999px;box-shadow:var(--shadow);padding:5px}
.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:1rem;padding:10px 16px;color:var(--ink)}
.search button{border:0;background:var(--navy);color:#fff;font:inherit;font-weight:700;padding:10px 20px;border-radius:999px;cursor:pointer}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--card);border-radius:14px;box-shadow:var(--shadow);z-index:20;overflow:hidden;display:none}
.sugg a{display:flex;gap:10px;padding:10px 16px;border-top:1px solid var(--line);color:var(--ink)}
.sugg a:first-child{border-top:0}
.sugg a:hover,.sugg a.on{background:var(--panel);text-decoration:none}
.sugg .no{font-weight:700;color:var(--navy);min-width:52px}
.sugg .sub{color:var(--muted);font-size:.85rem;margin-left:auto}
/* cards */
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin:0 0 16px}
.card.flush{padding:0;overflow:hidden}
.muted{color:var(--muted)} .small{font-size:.85rem}
.hero{text-align:center;padding:18px 0 4px}
.hero h1{font-size:1.7rem;color:var(--navy-deep)}
.hero p{margin:0 auto 14px;max-width:560px;color:var(--ink2)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.tile{display:block;background:var(--panel);border-radius:14px;padding:12px 14px;color:var(--ink)}
.tile:hover{text-decoration:none;background:var(--chip)}
.tile .no{font-weight:800;color:var(--navy)}
.tile .sub{font-size:.83rem;color:var(--muted)}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--chip);color:var(--chip-ink);font-weight:600;font-size:.88rem;padding:7px 14px;border-radius:999px;border:0;cursor:pointer;font-family:inherit}
.pill.on{background:var(--navy);color:#fff}
.pill small{font-weight:500;opacity:.8}
.stats{display:flex;gap:10px;flex-wrap:wrap}
.stat{flex:1;min-width:120px;background:var(--panel);border-radius:14px;padding:12px}
.stat b{display:block;font-size:1.35rem;color:var(--navy-deep)}
.stat span{font-size:.82rem;color:var(--muted)}
/* train head */
.thead{text-align:center;padding:18px 18px 6px}
.thead .tno{font-size:.85rem;color:var(--muted)}
.thead h1{font-size:1.3rem;margin:.1em 0 .3em}
.thead .meta{font-size:.85rem;color:var(--muted)}
.thead .pills{justify-content:center;margin:12px 0 4px}
/* live summary */
.now{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:12px 16px}
.now .txt{flex:1;min-width:0}
.now h2{font-size:1.05rem;margin:0 0 2px}
.now p{margin:0;font-size:.9rem;color:var(--ink2)}
.now .upd{font-size:.78rem;color:var(--muted);margin-top:4px}
.badge{min-width:66px;text-align:center;border-radius:12px;padding:8px 6px;color:#fff;background:var(--green);line-height:1.1}
.badge b{display:block;font-size:1.5rem} .badge span{font-size:.75rem}
.badge.amber{background:var(--amber)} .badge.red{background:var(--red)} .badge.grey{background:#8796a8}
.now .acts{display:flex;gap:8px;margin-top:8px}
.btn-ghost{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:5px 12px;font:inherit;font-size:.82rem;font-weight:600;color:var(--navy-deep);cursor:pointer}
/* timeline */
.tl-head{display:grid;grid-template-columns:78px 1fr 78px;gap:10px;padding:10px 16px;font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--line);background:var(--panel)}
.tl-head div:nth-child(2){text-align:center}
.tl-head div:last-child{text-align:right}
.tl{list-style:none;margin:0;padding:6px 0 10px;position:relative}
.stop{display:grid;grid-template-columns:78px 26px 1fr 78px;gap:0 8px;padding:9px 16px;align-items:start;position:relative}
.stop .t{font-variant-numeric:tabular-nums;font-size:.86rem;color:#2d3e52}
.stop .t.r{text-align:right}
.stop .t .ex{display:block;font-weight:700;font-size:.82rem}
.ex.ok{color:var(--green)} .ex.late{color:var(--red)} .ex.warn{color:var(--amber)}
.rail{position:relative;height:100%;display:flex;justify-content:center}
.rail:before{content:"";position:absolute;top:-9px;bottom:-9px;width:6px;background:#C9DCEE;border-radius:3px}
.stop:first-child .rail:before{top:8px} .stop:last-child .rail:before{bottom:calc(100% - 12px)}
.rail i{position:relative;width:12px;height:12px;border-radius:50%;background:var(--card);border:3px solid #9DB9D3;margin-top:4px}
.stop.done .rail:before{background:var(--navy)}
.stop.done .rail i{border-color:var(--navy);background:var(--navy)}
.stop.cur .rail i{width:18px;height:18px;margin-top:1px;border-color:var(--green);background:var(--card);box-shadow:0 0 0 5px rgba(46,139,87,.2)}
.stop .st{min-width:0}
.stop .st a{font-weight:600;color:var(--ink)}
.stop .st .d{font-size:.78rem;color:var(--muted)}
.stop .st .pf{display:inline-block;background:var(--chip);color:var(--chip-ink);font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:6px;margin-left:4px}
.daysep{padding:8px 16px 4px;font-size:.78rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}
/* coach */
.coach{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin}
.coach div{flex:0 0 auto;min-width:48px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 6px}
.coach b{display:block;font-size:.85rem;color:var(--navy-deep)}
.coach span{font-size:.7rem;color:var(--muted)}
.coach .eng{background:var(--navy);border-color:var(--navy)} .coach .eng b,.coach .eng span{color:#fff}
/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th,.tbl td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-size:.78rem;color:var(--muted);font-weight:600;background:var(--panel)}
.tbl-wrap{overflow-x:auto}
.tbl td.nw{white-space:nowrap}
.pfb{display:inline-block;background:var(--chip);color:var(--chip-ink);border-radius:6px;padding:0 7px;font-weight:700;margin-left:4px}
.pfb:first-child{margin-left:0}
.tbl a{overflow-wrap:anywhere}
.hist{display:flex;gap:3px;align-items:flex-end;height:70px;margin:10px 0 4px}
.hist span{flex:1;min-width:4px;background:var(--green);border-radius:3px 3px 0 0}
.hist span.w{background:var(--amber)} .hist span.l{background:var(--red)} .hist span.c{background:#8796a8}
.faq h3{margin-top:14px}
.faq p{margin:.2em 0 .6em;color:var(--ink2)}
.crumbs{font-size:.82rem;color:var(--ink2);margin:0 0 10px}
.crumbs a{color:var(--navy-deep)}
.note{font-size:.82rem;color:var(--muted);background:var(--panel);border-radius:12px;padding:10px 12px}
.prose{font-size:1rem}
.prose h2{margin-top:1.4em}
.prose li{margin:.25em 0}
/* footer */
footer{margin-top:28px;padding:22px 0 40px;font-size:.85rem;color:var(--ink2);border-top:1px solid var(--line)}
footer .links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:10px}
footer p{margin:.3em 0}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:560px){
  .nav{width:100%;margin-left:0;gap:14px;font-size:.88rem}
  .hero h1{font-size:1.35rem}
  .stop,.tl-head{grid-template-columns:62px 22px 1fr 62px;padding-left:10px;padding-right:10px}
  .tl-head{grid-template-columns:62px 1fr 62px}
  .stop .t{font-size:.8rem}
  .now{margin:12px 10px}
  .card{padding:14px}
  .card.flush{padding:0}
  .tbl{font-size:.84rem}
  .tbl th,.tbl td{padding:7px 6px}
}
.stop .st .pf[hidden]{display:none}
/* icons */
.ic{width:20px;height:20px;vertical-align:-4px;fill:none;stroke:currentColor;color:var(--navy);margin-right:4px}
.ic.sm{width:14px;height:14px;vertical-align:-2px;margin:0 2px}
/* plan form */
.planform{display:flex;flex-direction:column;gap:10px}
.pf-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.pf-field{flex:1;min-width:140px;position:relative;display:flex;flex-direction:column;gap:4px}
.pf-field label{font-size:.78rem;font-weight:600;color:var(--muted)}
.pf-field input,.pf-field select{font:inherit;font-size:1rem;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:10px 12px;color:var(--ink);width:100%;min-width:0}
.pf-field input:focus,.pf-field select:focus{outline:2px solid #9cc7ee;background:var(--card)}
.pf-swap{flex:0 0 auto;border:1px solid var(--line);background:var(--card);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:var(--navy);margin-bottom:2px}
.pf-swap svg{fill:none;stroke:currentColor}
.pf-go{flex:1;min-width:140px;border:0;background:var(--navy);color:#fff;font:inherit;font-weight:700;border-radius:12px;padding:11px 18px;cursor:pointer}
.pf-msg{color:var(--red);font-size:.85rem;margin:0}
.pf-field .sugg{top:100%}
.plan-intro{display:flex;gap:12px;align-items:center;justify-content:space-between}
.plan-art{flex:0 0 auto;max-width:40%;height:auto}
/* options + seats */
.opts{display:flex;flex-direction:column;gap:10px}
.opt{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card)}
.opt-h{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.seatrow{border-top:1px solid var(--line);padding:10px 0}
.opts>.seatrow:first-child,.opt-b .seatrow:first-child{border-top:0;padding-top:4px}
.sr-h{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.sr-h a{color:var(--ink);overflow-wrap:anywhere}
.seats{display:flex;flex-wrap:wrap;gap:6px}
.seat{display:flex;flex-direction:column;align-items:flex-start;min-width:88px;flex:1 1 88px;max-width:150px;border-radius:12px;padding:7px 9px;background:var(--panel);border:1px solid var(--line);line-height:1.3}
.seat b{font-size:.82rem;color:var(--navy-deep)}
.seat .st{font-size:.85rem;font-weight:700}
.seat .fare{font-size:.75rem;color:var(--muted)}
.seat.avl{background:var(--green-bg);border-color:#bfe2cc}.seat.avl .st{color:var(--green)}
.seat.rac{background:var(--amber-bg);border-color:#f0dcb5}.seat.rac .st{color:var(--amber)}
.seat.wl .st{color:#8a4b12}.seat.na{opacity:.7}.seat.na .st{color:var(--red)}
.chance{display:inline-block;font-size:.72rem;font-weight:700;border-radius:999px;padding:1px 7px;margin-top:2px;background:var(--panel);color:var(--ink2)}
.chance.hi{background:var(--green-bg);color:var(--green)}.chance.mid{background:var(--amber-bg);color:var(--amber)}.chance.lo{background:var(--red-bg);color:var(--red)}
.leg{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;padding:6px 0;border-top:1px dashed var(--line);font-size:.9rem}
.leg-no{font-weight:800;color:var(--navy)}
.leg-t{grid-column:1/-1;font-variant-numeric:tabular-nums;color:var(--ink2)}
.leg-s{grid-column:1/-1}
.leg-s .seat{max-width:180px}
h3{margin-top:14px}
@media (max-width:560px){.plan-art{display:none}.pf-swap{order:0}}
.tbadge{display:block;margin:0 auto 6px;border-radius:12px}
.routemap{height:340px;border-radius:14px;overflow:hidden;background:var(--panel);display:grid;place-items:center;z-index:0;position:relative}
.routemap img{max-width:70%;height:auto;opacity:.8}
.livepin span{display:block;width:22px;height:22px;border-radius:50%;background:var(--green);border:3px solid #fff;box-shadow:0 0 0 6px rgba(46,139,87,.25)}
.pred{margin:6px 0 0;font-size:.9rem;color:#1d3a55}
.book{font-weight:600}
@media (max-width:560px){.routemap{height:280px}}
.alertbar{margin:0 16px 12px}
.alertbar #al-panel{margin-top:10px;background:var(--panel);border-radius:14px;padding:12px}
@media (max-width:560px){.alertbar{margin:0 10px 12px}}
.hero-art{display:block;width:100%;max-width:560px;height:auto;margin:0 auto 6px}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.feat-i{display:flex;flex-direction:column;gap:4px;background:var(--panel);border-radius:14px;padding:12px;color:var(--ink)}
.feat-i:hover{text-decoration:none;background:var(--chip)}
.feat-i img{width:100%;height:auto;border-radius:10px;background:var(--card)}
.feat-i span{font-size:.83rem;color:var(--muted)}
.gphoto{display:block;width:100%;height:auto;border-radius:14px;margin:0 0 14px;aspect-ratio:16/9;object-fit:cover;background:var(--panel)}
.gtile img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:8px}
@media (max-width:560px){.hero-art{max-width:100%}}
/* ===== magazine shell (2026-09-25) ===== */
.topbar{background:var(--top);color:#cfe3f6;font-size:.78rem}
.topbar .wrap{display:flex;align-items:center;gap:16px;min-height:34px}
.topbar .date{font-weight:700;color:#fff;letter-spacing:.02em}
.topbar a{color:#cfe3f6}.topbar a:hover{color:#fff}
.topbar .tb-r{margin-left:auto;display:flex;gap:14px;align-items:center}
.topbar .live{display:inline-flex;align-items:center;gap:6px}
.topbar .live i{width:7px;height:7px;border-radius:50%;background:#5fd38d;box-shadow:0 0 0 3px rgba(95,211,141,.25)}
.top{padding:12px 0;background:rgba(255,255,255,.55);backdrop-filter:blur(6px);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(29,68,102,.08)}
.hbtn{border:0;background:var(--card);color:var(--navy-deep);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px rgba(29,68,102,.12)}
.hbtn svg{width:18px;height:18px}
.hbtns{display:flex;gap:8px;margin-left:8px}
.search.fold{display:none}.search.fold.open{display:block}
@media(max-width:700px){.nav{order:3;width:100%;margin-left:0;overflow-x:auto;gap:14px;white-space:nowrap;padding-bottom:2px}.hbtns{margin-left:auto}.topbar .hide-m{display:none}}
.layout{display:block}
.side{display:none}
@media(min-width:1100px){
  .layout.has-side{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}
  .side{display:flex;flex-direction:column;gap:16px}
}
.col{min-width:0}
.col>.card,.col>.ad{max-width:none}
.sbox{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.sbox h3{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.plist{display:flex;flex-direction:column;gap:12px}
.plist a{display:grid;grid-template-columns:78px 1fr;gap:10px;color:var(--ink);align-items:start}
.plist img{width:78px;height:58px;object-fit:cover;border-radius:10px}
.plist b{font-size:.86rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.plist span{display:block;font-size:.72rem;color:var(--muted);margin-top:3px}
.plist a:hover{text-decoration:none}.plist a:hover b{color:var(--navy)}
.tlist a{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid var(--line);font-size:.86rem}
.tlist a:first-child{border-top:0}.tlist span{color:var(--muted);font-size:.78rem}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags a{background:var(--panel);border:1px solid var(--line);color:var(--ink2);border-radius:8px;padding:4px 9px;font-size:.78rem}
.tags a:hover{background:var(--chip);text-decoration:none}
.sticky{position:sticky;top:76px}
/* ads: fixed boxes, CLS-safe; label only on real ads */
.ad{display:flex;flex-direction:column;align-items:center;margin:24px auto;width:100%}
.ad .lbl{font-size:11px;color:var(--muted);letter-spacing:.06em;margin-bottom:4px}
.ad .house{display:block;line-height:0;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.ad .house img{max-width:100%;height:auto}
.ad-wide.live{min-height:110px}
.ad-wide .m{display:none}
@media(max-width:760px){.ad-wide.live{min-height:270px}.ad-wide .d{display:none}.ad-wide .m{display:block}}
.ad-box.live{min-height:270px}
.ad-tall{margin:0}.ad-tall.live{min-height:620px}
.ad-side{margin:0}.ad-side.live{min-height:270px}
.ad-feed{margin:0 0 16px}.ad-feed.live{min-height:150px}
.ad-multi.live{min-height:360px}
@media(max-width:760px){.ad-feed.live{min-height:200px}.ad-multi.live{min-height:480px}}
.ad ins{background:var(--ad-bg)}
.hgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%}
.hgrid .house img{width:100%}
@media(min-width:900px){.hgrid{grid-template-columns:repeat(4,1fr)}}
.feedpromo{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;width:100%;background:var(--card);border:1px dashed var(--line);border-radius:16px;padding:14px;color:var(--ink)}
.feedpromo img{width:120px;height:auto;border-radius:10px}
.feedpromo b{display:block;font-size:1rem}.feedpromo span{font-size:.85rem;color:var(--muted)}
.feedpromo em{font-style:normal;background:var(--navy);color:#fff;border-radius:999px;padding:7px 14px;font-size:.82rem;font-weight:700;white-space:nowrap}
.feedpromo:hover{text-decoration:none}
@media(max-width:600px){.feedpromo{grid-template-columns:90px 1fr}.feedpromo img{width:90px}.feedpromo em{grid-column:1/-1;text-align:center}}
/* blog: magazine list */
.chip{display:inline-block;background:var(--chip);color:var(--chip-ink);border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:600}
.chip.on{background:var(--navy);color:#fff}.chip:hover{text-decoration:none}
.blog-h h1{margin-bottom:.2em}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.feature{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;color:var(--ink);align-items:center}
.feature img{width:100%;height:auto;border-radius:14px;aspect-ratio:16/9;object-fit:cover}
.feature h2{font-size:1.45rem;margin:.35em 0}
.feature:hover{text-decoration:none}.feature:hover h2{color:var(--navy)}
@media(max-width:700px){.feature{grid-template-columns:1fr}}
.hcard{display:grid;grid-template-columns:22px minmax(0,40%) 1fr;gap:16px;align-items:center;background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:14px;margin-bottom:16px;color:var(--ink)}
.hcard .vd{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center;border-right:1px solid var(--line);padding-left:4px}
.hcard img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:12px}
.hcard b{display:block;font-size:1.12rem;line-height:1.3;margin:6px 0}
.hcard p{margin:0;color:var(--muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hcard:hover{text-decoration:none}.hcard:hover b{color:var(--navy)}
@media(max-width:600px){.hcard{grid-template-columns:1fr;padding:0 0 14px;overflow:hidden}.hcard .vd{display:none}.hcard img{border-radius:0}.hcard>div{padding:0 14px}}
.pc-c{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.pc-m{font-size:.76rem;color:var(--muted)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.pcard{display:flex;flex-direction:column;gap:6px;background:var(--card);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;color:var(--ink);padding-bottom:12px}
.pcard img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.pcard b,.pcard .pc-c,.pcard .pc-m{padding:0 12px}.pcard b{font-size:.98rem;line-height:1.3}
.pcard:hover{text-decoration:none}.pcard:hover b{color:var(--navy)}
.pager{display:flex;justify-content:space-between;margin:28px 0}
/* blog: post */
.post-h h1{font-size:clamp(1.6rem,3.6vw,2.3rem);line-height:1.2;margin:.5em 0 .3em;letter-spacing:-.01em}
.dek{font-size:1.08rem;color:var(--ink2);margin:0 0 14px}
.byline{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--muted);margin-bottom:14px}
.byline b{color:var(--ink)}
.post-cover{width:100%;height:auto;border-radius:14px;display:block}
.answer{border-left:5px solid var(--navy);background:linear-gradient(180deg,var(--panel),var(--card))}
.answer p{font-size:1.02rem;margin:.3em 0 0}
.answer-k{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.facts{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.facts li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.facts span{display:block;font-size:.72rem;color:var(--muted)}.facts b{font-size:1rem;color:var(--navy-deep)}
.toc ol{margin:8px 0 0;padding-left:20px;columns:2;column-gap:28px}.toc li{margin:3px 0;break-inside:avoid}
@media(max-width:600px){.toc ol{columns:1}}
.post-body{font-size:1.04rem;line-height:1.72}
.post-body h2{scroll-margin-top:90px;font-size:1.35rem;margin-top:1.3em}
.post-body table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1em 0;display:block;overflow-x:auto}
.post-body th,.post-body td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left}
.post-body th{background:var(--panel);font-size:.8rem;color:var(--muted)}
.post-body .tip{background:var(--green-bg);border-radius:12px;padding:10px 14px;margin:1em 0}
.post-body .warn{background:var(--amber-bg);border-radius:12px;padding:10px 14px;margin:1em 0}
.post-body .ad{margin:28px auto}
.post-faq details{border-bottom:1px solid var(--line);padding:10px 0}
.post-faq summary{font-weight:700;cursor:pointer;list-style:none}
.post-faq summary::after{content:"+";float:right;color:var(--navy)}.post-faq details[open] summary::after{content:"\2212"}
.src ul{margin:6px 0;padding-left:18px}
/* dark mode */
[data-theme=dark]{
  --sky-1:#0f1b2a; --sky-2:#0d1824; --sky-3:#0b141e;
  --card:#142233; --panel:#182a3e; --line:#243a52; --chip:#1f3550; --chip-ink:#cfe3f6;
  --navy:#7DB9EE; --navy-deep:#a9d1f5; --ink:#E6EEF6; --ink2:#b7c7d8; --muted:#8ea3b8; --top:#07101a; --ad-bg:#101c2a;
  --green-bg:#12321f; --amber-bg:#3a2a10; --red-bg:#3a1714; --shadow:0 6px 24px rgba(0,0,0,.35);
  color-scheme:dark}
[data-theme=dark] .top{background:rgba(11,20,30,.7);border-bottom-color:#1c2e42}
[data-theme=dark] .search button,[data-theme=dark] .pf-go,[data-theme=dark] .chip.on,[data-theme=dark] .pill.on,[data-theme=dark] .feedpromo em{color:#0b141e}
[data-theme=dark] .brand span{color:#7DB9EE}
[data-theme=dark] img.post-cover,[data-theme=dark] .hcard img,[data-theme=dark] .pcard img{filter:brightness(.92)}
.tl-ad{padding:4px 16px 8px;border-top:1px solid var(--line)}
.tl-ad .ad{margin:16px auto}
.credit{font-size:.72rem;color:var(--muted);margin:6px 0 0;text-align:right}
