:root{
  --ink:#0f2137;--ink-soft:#38495d;--ink-mute:#6b7a8c;
  --line:#dde3ea;--line-soft:#e8edf2;--paper:#f4f6f9;--card:#ffffff;
  --blue:#1a5fa5;--blue-deep:#0c3a68;--blue-wash:#e7f0f9;
  --amber:#bd7716;--amber-wash:#f9edda;--gold:#f5a623;--radius:14px;
  --ok:#1a7a5a;--ok-bg:#e8f6f0;
}
[data-theme="dark"]{
  color-scheme:dark;
  --ink:#eef4fa;--ink-soft:#c8d6e4;--ink-mute:#8aa0b4;
  --line:#2a3d52;--line-soft:#1e2c3a;--paper:#0b121a;--card:#121e2b;
  --blue:#6bb8e8;--blue-deep:#4a9fd4;--blue-wash:#0c1f33;
  --amber:#f0b040;--amber-wash:#2a2312;--gold:#f5a623;
  --ok:#7ddea8;--ok-bg:#0d2a22;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.75;font-size:16px;-webkit-font-smoothing:antialiased;
}
a{color:var(--blue);text-decoration:none}
.wrap{max-width:960px;margin:0 auto;padding:0 22px}

header{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.nav{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;align-items:center;gap:9px;color:inherit}
.mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:9px;background:#0c3a68;color:var(--gold);
  font-weight:800;font-size:15px;font-family:"Helvetica Neue",Arial,sans-serif;
}
.brand .name{font-size:18px;font-weight:700}
.brand .sub{font-size:11px;color:var(--ink-mute)}
.nav-right{display:flex;align-items:center;gap:12px;font-size:14px}
.nav-right a{color:var(--ink-soft)}
.nav-right a:hover{color:var(--blue)}
.theme-btn{
  background:none;border:1px solid var(--line);border-radius:8px;width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft)
}
.theme-btn:hover{border-color:var(--blue);color:var(--blue)}
.theme-btn .icon-sun{display:none}
[data-theme="dark"] .theme-btn .icon-sun{display:block}
[data-theme="dark"] .theme-btn .icon-moon{display:none}

/* Hero */
.wh-hero{
  position:relative;overflow:hidden;
  padding:36px 0 28px;background:var(--card);border-bottom:1px solid var(--line);
}
.wh-hero .glow{
  position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,166,35,.18),transparent 70%);pointer-events:none;
}
.kicker{font-size:12px;letter-spacing:1.5px;color:var(--amber);font-weight:600;font-family:Helvetica,Arial,sans-serif}
.wh-hero h1{font-size:30px;font-weight:800;margin:10px 0 12px;letter-spacing:.2px;line-height:1.3}
.wh-hero h1 em{font-style:normal;color:var(--blue)}
.wh-hero .lead{color:var(--ink-soft);font-size:16px;max-width:640px;line-height:1.8}

/* 总览：方格 2×2（与小工具同级） */
.win-list{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 8px;
}
@media(max-width:560px){.win-list{grid-template-columns:1fr}}
.win-row{
  display:flex;flex-direction:column;align-items:flex-start;gap:0;color:inherit;
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:20px 18px 18px;position:relative;overflow:hidden;min-height:148px;
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.win-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue-deep)}
.win-row:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 4px 16px rgba(12,58,104,.08)}
.win-row .ico{
  flex-shrink:0;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:22px;background:var(--blue-wash);margin-bottom:14px;
}
.win-row .body{flex:1;min-width:0;width:100%}
.win-row .t{display:block;font-size:17px;font-weight:800;margin-bottom:6px;line-height:1.3}
.win-row .d{display:block;font-size:13.5px;color:var(--ink-soft);line-height:1.5}
.win-row .go{
  position:absolute;right:14px;top:16px;color:var(--blue);font-size:18px;font-weight:500;opacity:.75;
}
.win-row:hover .go{opacity:1}
.win-row.rent::before{background:#c45c1a}
.win-row.rent .ico{background:rgba(196,92,26,.12)}
.win-row.gov::before{background:#1a7a5a}
.win-row.gov .ico{background:rgba(26,122,90,.12)}
.win-row.fx::before{background:#1a5fa5}

/* Window detail */
.win-banner{
  border-radius:20px;padding:28px 24px;margin:24px 0 16px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--blue-deep) 0%,#1a5fa5 55%,#2a7ab8 100%);color:#fff;
}
[data-theme="dark"] .win-banner{background:linear-gradient(135deg,#0a2848,#0c3a68 50%,#1a4a70)}
.win-banner.rent{background:linear-gradient(135deg,#5c2a12,#c45c1a 60%,#e07a30)}
.win-banner.mortgage{background:linear-gradient(135deg,#0c3a68,#1a5fa5 55%,#3d8fd4)}
.win-banner.gov{background:linear-gradient(135deg,#0d3d2e,#1a7a5a 55%,#2a9a6e)}
.win-banner.fx{background:linear-gradient(135deg,#0c2a4a,#1a5fa5 50%,#4a9fd4)}
.win-banner .wb-k{font-size:12px;opacity:.85;letter-spacing:1px;font-weight:600;position:relative;z-index:1}
.win-banner h1{font-size:28px;font-weight:800;margin:8px 0 10px;line-height:1.25;position:relative;z-index:1}
.win-banner p{font-size:15px;opacity:.92;max-width:560px;line-height:1.7;position:relative;z-index:1}

/* 与首页 hero 一致的 49°N 水印 + 柔和动效（尊重减动偏好） */
.win-banner .lat-wm{
  position:absolute;right:-12px;top:8px;
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:108px;font-weight:800;
  color:#fff;opacity:.12;letter-spacing:-4px;line-height:1;
  pointer-events:none;user-select:none;z-index:0;
  animation:wm-float 8s ease-in-out infinite;
}
.win-banner .glow-orb{
  position:absolute;right:-30px;bottom:-50px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.22) 0%,transparent 68%);
  pointer-events:none;z-index:0;
  animation:orb-pulse 5.5s ease-in-out infinite;
}
@keyframes wm-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes orb-pulse{
  0%,100%{opacity:.55;transform:scale(1)}
  50%{opacity:.95;transform:scale(1.08)}
}
@media(prefers-reduced-motion:reduce){
  .win-banner .lat-wm,.win-banner .glow-orb{animation:none}
}
@media(max-width:560px){
  .win-banner .lat-wm{font-size:78px;right:-8px;top:16px}
}

/* 第一眼：本线水位 */
.water-card{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:16px 18px;margin:0 0 16px;position:relative;overflow:hidden;
}
.water-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);
}
.water-card .wk{
  font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--amber);
  font-family:Helvetica,Arial,sans-serif;text-transform:uppercase;margin-bottom:10px;
}
.water-card .wm{font-size:17px;font-weight:800;line-height:1.45;margin-bottom:6px}
.water-card .ws{font-size:12.5px;color:var(--ink-mute);line-height:1.55;margin-top:12px}
.water-card .ws a{font-weight:600}

/* 水位统计格：数字 + 变化% + 迷你动条 */
.water-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
@media(max-width:480px){.water-stats{grid-template-columns:1fr}}
.wstat{
  background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;
  padding:12px 12px 10px;position:relative;overflow:hidden;
  animation:wstat-in .45s cubic-bezier(.2,.7,.3,1) both;
}
.wstat:nth-child(1){animation-delay:.02s}
.wstat:nth-child(2){animation-delay:.08s}
.wstat:nth-child(3){animation-delay:.14s}
.wstat:nth-child(4){animation-delay:.2s}
@keyframes wstat-in{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
.wstat .lab{font-size:11.5px;font-weight:700;color:var(--ink-mute);margin-bottom:4px;line-height:1.3}
.wstat .row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.wstat .val{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.3px;line-height:1.2}
.wstat .chg{
  flex-shrink:0;font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;
  font-variant-numeric:tabular-nums;
}
.wstat .chg.up{background:rgba(196,92,26,.12);color:#c45c1a}
.wstat .chg.down{background:var(--ok-bg);color:var(--ok)}
.wstat .chg.flat{background:var(--blue-wash);color:var(--blue)}
[data-theme="dark"] .wstat .chg.up{background:rgba(224,122,48,.18);color:#f0a060}
.wstat .hint{font-size:11px;color:var(--ink-mute);margin-top:4px;line-height:1.35}
.wstat .bar{
  margin-top:8px;height:4px;border-radius:99px;background:var(--line-soft);overflow:hidden;
}
.wstat .bar i{
  display:block;height:100%;border-radius:99px;background:var(--blue);
  width:0;animation:bar-grow .9s cubic-bezier(.2,.7,.3,1) forwards;
}
.wstat .bar i.amber{background:var(--amber)}
.wstat .bar i.ok{background:var(--ok)}
@keyframes bar-grow{to{width:var(--w,50%)}}
@media(prefers-reduced-motion:reduce){
  .wstat{animation:none}
  .wstat .bar i{animation:none;width:var(--w,50%)}
}

/* 场景入口（可点） */
.scene-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.scene-row a{
  font-size:13px;font-weight:700;padding:7px 14px;border-radius:999px;
  background:var(--card);border:1px solid var(--line);color:var(--ink-soft);
  transition:border-color .12s,color .12s,background .12s;
}
.scene-row a:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-wash)}

.sec-h{display:flex;align-items:baseline;gap:10px;margin:28px 0 14px}
.sec-h h2{font-size:18px;font-weight:800}
.sec-h .en{font-size:11px;color:var(--ink-mute);letter-spacing:.8px;font-family:Helvetica,Arial,sans-serif;text-transform:uppercase}

.radar-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.radar-item{
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;
  cursor:pointer;transition:border-color .12s;
}
.radar-item:hover{border-color:var(--blue)}
.radar-item .rt{font-size:12px;font-weight:700;color:var(--blue);margin-bottom:4px}
.radar-item h3{font-size:15.5px;font-weight:700;line-height:1.4;margin-bottom:4px}
.radar-item p{font-size:13.5px;color:var(--ink-soft);line-height:1.55}
.radar-empty{font-size:14px;color:var(--ink-mute);padding:12px 0}

/* 小工具：单列长条（与谈钱窗口列表一致） */
.parts{display:flex;flex-direction:column;gap:10px}
.part{
  display:flex;align-items:center;gap:12px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:14px 16px;color:inherit;transition:border-color .12s,transform .12s,box-shadow .12s;
  position:relative;
}
.part:hover{border-color:var(--blue);transform:translateY(-1px);box-shadow:0 3px 12px rgba(12,58,104,.07)}
.part.part-main{
  border-color:rgba(26,95,165,.28);
  background:linear-gradient(90deg,var(--card) 0%,var(--blue-wash) 100%);
}
[data-theme="dark"] .part.part-main{background:linear-gradient(90deg,var(--card) 0%,var(--blue-wash) 100%)}
.part .part-body{flex:1;min-width:0}
.part h3{font-size:15.5px;font-weight:800;margin:0 0 4px;line-height:1.35}
.part.part-main h3{font-size:16px}
.part p{font-size:13.5px;color:var(--ink-soft);line-height:1.45;margin:0}
.part .part-go{flex-shrink:0;color:var(--blue);font-size:18px;font-weight:500;opacity:.85}
.part:hover .part-go{opacity:1}
.part .hot{display:inline-block;font-size:10px;font-weight:700;background:var(--amber-wash);color:var(--amber);padding:2px 7px;border-radius:4px;margin-left:6px;vertical-align:middle}
.part .agent{
  display:inline-block;font-size:10px;font-weight:700;letter-spacing:.3px;
  background:var(--blue-wash);color:var(--blue);padding:2px 7px;border-radius:4px;
  margin-left:6px;vertical-align:middle;
}

.pay-strip{
  margin:28px 0;padding:20px;border-radius:16px;background:var(--card);border:1px solid var(--line);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
}
.pay-strip h3{font-size:17px;font-weight:800;margin-bottom:4px}
.pay-strip p{font-size:13.5px;color:var(--ink-soft);max-width:480px;line-height:1.55}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:44px;padding:0 18px;border:none;border-radius:10px;font-size:15px;font-weight:700;
  font-family:inherit;cursor:pointer;background:var(--blue-deep);color:#fff;
}
[data-theme="dark"] .btn{background:var(--blue);color:#0b121a}
.btn:hover{filter:brightness(1.05)}

.ev-box{
  background:var(--paper);border-radius:12px;padding:14px 16px;margin:12px 0 8px;
  border:1px dashed var(--line);
}
.ev-box h4{font-size:13px;font-weight:800;margin-bottom:8px;color:var(--ink-soft)}
.ev-box ul{margin:0;padding-left:18px;font-size:13px;color:var(--ink-mute);line-height:1.6}
.ev-box a{word-break:break-all}
.ev-details{margin:12px 0 20px}
.ev-details summary{
  cursor:pointer;font-size:14px;font-weight:700;color:var(--ink-soft);padding:8px 0;
  list-style:none;
}
.ev-details summary::-webkit-details-marker{display:none}
.ev-details summary::before{content:"› ";color:var(--blue);font-weight:800}
.ev-details[open] summary::before{content:"ˇ "}

footer{padding:32px 0 48px;text-align:center;font-size:12px;color:var(--ink-mute);line-height:1.7}
.back-row{margin:12px 0 0;font-size:14px}
.back-row a{font-weight:600}

/* 旧 flow 三格若残留则弱化 */
.flow{display:none}
