/* ============================================================
   A股复盘台 · 终端式三栏骨架 shell.css（全站共享）
   左导航 190px 固定 | 中央主区自适应 | 右结论栏 340px sticky
   移动端：导航收为顶部横滑条，结论栏落主区下方
   依赖各页已有 :root 变量（--bg/--panel/--border/--up 等）
   ============================================================ */

/* ===== 布局骨架 ===== */
.shell{display:grid;grid-template-columns:190px minmax(0,1fr) 340px;gap:0;min-height:100vh}
.shell-main{min-width:0;padding:16px 22px 40px;max-width:1100px}
.shell-rail{min-width:0}

@media(max-width:1440px){
  .shell{grid-template-columns:190px minmax(0,1fr) 300px}
  .shell-main{padding:14px 16px 40px}
}
@media(max-width:1120px){
  .shell{grid-template-columns:190px minmax(0,1fr)}
  .shell-rail{grid-column:1 / -1;padding:0 16px 40px;position:static!important;max-width:none!important}
  .rail{position:static!important;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
  .rail .r-card{margin-bottom:0}
  .rail .r-card.r-span{grid-column:1 / -1}
}
@media(max-width:760px){
  .shell{grid-template-columns:1fr}
  .shell-nav{position:static!important;height:auto!important}
  .rail{grid-template-columns:1fr}
  .shell-main{padding:12px 12px 40px}
  .shell-rail{padding:0 12px 40px}
}

/* ===== 顶栏（瘦身版） ===== */
.shell-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;padding:10px 22px;border-bottom:1px solid var(--border);background:rgba(250,248,243,.92);backdrop-filter:blur(10px)}
.shell-top::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--up) 0%,var(--gold) 30%,var(--teal) 65%,transparent 100%);opacity:.7}
.shell-top h1{font-size:17px;font-weight:800;letter-spacing:1px;display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}
.shell-top .h-sub{font-size:12px;font-weight:600;color:var(--teal);border:1px solid rgba(14,147,132,.35);border-radius:4px;padding:1px 8px;letter-spacing:2px;white-space:nowrap}
.shell-top .h-date{color:var(--muted);font-size:12.5px;white-space:nowrap}
.shell-top .h-update{color:var(--dim);font-size:11px;margin-left:auto;font-family:var(--mono);white-space:nowrap}
.shell-top .h-update .u-time{display:none}
.shell-top .h-update::before{content:"●";color:var(--green);margin-right:5px;font-size:9px;animation:railPulse 2s infinite}
@keyframes railPulse{0%,100%{opacity:1}50%{opacity:.35}}
@media(max-width:760px){
  .shell-top{padding:9px 12px;gap:8px}
  .shell-top .h-date{display:none}
  .shell-top .h-update{font-size:10px}
  .shell-top .h-update .u-full{display:none}
  .shell-top .h-update .u-time{display:inline}
}

/* ===== 左导航 ===== */
.shell-nav{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:14px 10px;border-right:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(250,248,243,.4));overflow-y:auto;align-self:start}
.nav-sec{font-size:10px;color:var(--dim);letter-spacing:2px;padding:0 8px;margin:12px 0 6px}
.nav-sec:first-child{margin-top:0}
.nav-item{display:flex;align-items:center;gap:10px;padding:8.5px 10px;border-radius:8px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;transition:.15s;margin-bottom:2px;position:relative;white-space:nowrap}
.nav-item .nv-ico{font-size:15px;width:20px;text-align:center;flex:none}
.nav-item:hover{background:rgba(255,255,255,.8);color:var(--text);opacity:1}
.nav-item.on{background:var(--panel);color:var(--nc,var(--text));box-shadow:0 1px 4px rgba(80,66,45,.1);font-weight:700}
.nav-item.on::before{content:"";position:absolute;left:-10px;top:20%;bottom:20%;width:3px;border-radius:2px;background:var(--nc,var(--text))}
.nav-foot{margin-top:auto;padding-top:14px}
.nav-mood{text-align:center;padding:10px 8px;background:var(--panel);border:1px solid var(--border);border-radius:10px}
.nav-mood .nm-name{font-size:13px;font-weight:800}
.nav-mood .nm-sub{font-size:10px;color:var(--dim);margin-top:2px;font-family:var(--mono)}
.nav-mood .nm-bar{height:5px;border-radius:3px;margin-top:8px;background:linear-gradient(90deg,#5a9cf0,#2ab5a2 30%,#e0a100 62%,#e0374c);position:relative;overflow:hidden}
.nav-mood .nm-bar i{position:absolute;top:0;bottom:0;left:0;width:2px;background:#2a2a30;border-radius:1px;transition:left 1s cubic-bezier(.22,1,.36,1)}
.nav-mood .nm-bar::after{content:"";position:absolute;inset:0;background:rgba(250,248,243,.4)}
.nav-mood .nm-bar i{z-index:1}

/* 移动端：导航变顶部横滑条 */
@media(max-width:760px){
  .shell-nav{flex-direction:row;align-items:center;gap:4px;padding:8px 12px;border-right:none;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;height:auto;position:sticky;top:41px;z-index:49;background:rgba(250,248,243,.96);backdrop-filter:blur(10px)}
  .nav-sec{display:none}
  .nav-item{flex:none;padding:6px 12px;font-size:12.5px;margin-bottom:0;border:1px solid var(--border2);border-radius:20px;background:var(--panel)}
  .nav-item.on::before{display:none}
  .nav-item.on{border-color:var(--nc,var(--text))}
  .nav-foot{display:none}
}

/* ===== 右结论栏 ===== */
.shell-rail{padding:16px 18px 40px}
.rail{position:sticky;top:62px;display:flex;flex-direction:column;gap:14px}
.r-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:13px 15px 12px;box-shadow:0 1px 3px rgba(80,66,45,.06);animation:fadeUp .5s ease-out both;animation-delay:calc(var(--i)*60ms)}
.r-h{font-size:12.5px;font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:8px;letter-spacing:.5px}
.r-h::before{content:"";width:3px;height:13px;background:linear-gradient(180deg,var(--up),var(--gold));border-radius:2px}
.r-h small{color:var(--dim);font-weight:400;font-size:10.5px;margin-left:auto;letter-spacing:0}

/* 定调卡 */
.r-verdict{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(244,241,234,.5));cursor:pointer;transition:border-color .15s}
.r-verdict:hover{border-color:var(--border2)}
.r-phase{display:inline-flex;align-items:center;font-size:12px;font-weight:800;padding:2px 12px;border-radius:20px;border:1px solid;letter-spacing:1px}
.r-desc{font-size:13px;line-height:1.6;color:#45454d;margin-top:9px;font-weight:500}
.r-cite{font-size:10.5px;color:var(--dim);margin-top:7px;font-family:var(--mono)}

/* 核心数字 2×3 格 */
.r-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.r-num{background:var(--panel2);border-radius:8px;padding:8px 10px 7px;position:relative;overflow:hidden}
.r-num::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--c,var(--border2))}
.r-num .k{font-size:10px;color:var(--dim);letter-spacing:1px;white-space:nowrap}
.r-num .v{font-size:21px;font-weight:700;line-height:1.25;margin-top:1px;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.r-num .v small{font-size:11px;font-weight:600;color:var(--muted)}
.r-num .v.up{color:var(--up)} .r-num .v.gold{color:var(--gold)} .r-num .v.teal{color:var(--teal)}

/* 摘要列表行 */
.r-li{display:flex;align-items:baseline;gap:8px;font-size:12.5px;padding:5.5px 0;border-bottom:1px dashed rgba(150,142,128,.25)}
.r-li:last-child{border-bottom:none}
.r-li .li-k{color:var(--muted);flex:none}
.r-li .li-v{margin-left:auto;font-family:var(--mono);font-weight:700;white-space:nowrap}
.r-li .li-v.up{color:var(--up)} .r-li .li-v.green{color:var(--green)} .r-li .li-v.gold{color:var(--gold)} .r-li .li-v.mut{color:var(--muted)}
.r-li .li-note{color:var(--dim);font-size:10.5px;font-family:var(--mono)}
.r-sub{font-size:10.5px;color:var(--dim);margin-top:6px}
.r-link{display:block;margin-top:8px;font-size:11.5px;color:var(--teal);font-weight:600;text-align:right}
.r-tag{display:inline-block;font-size:10px;font-weight:700;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:1px}
.r-tag.hi{color:var(--up);background:var(--up-soft);border:1px solid rgba(217,44,68,.25)}
.r-tag.mid{color:var(--gold);background:rgba(192,138,0,.1);border:1px solid rgba(192,138,0,.25)}

/* 明日关注 */
.r-watch .r-li{align-items:flex-start}
.r-watch .w-idx{flex:none;width:17px;height:17px;border-radius:5px;background:var(--panel2);color:var(--dim);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--mono);margin-top:1px}
.r-watch .w-txt{line-height:1.5;color:#45454d;font-size:12px}
.w-stock{color:var(--up);font-weight:700;cursor:pointer;border-bottom:1px dashed rgba(217,44,68,.45)}
.w-stock:hover{opacity:.7}
.w-star{cursor:pointer;color:var(--border2);margin:0 2px 0 3px;font-size:11.5px;user-select:none;transition:color .15s}
.w-star:hover{color:var(--gold)}
.w-star.on{color:var(--gold)}

/* 高低切 / 机会点 */
.r-sig{font-size:12px;line-height:1.55;padding:6px 9px;background:var(--panel2);border-radius:7px;margin-bottom:6px;color:#45454d;display:flex;gap:7px;align-items:baseline}
.r-sig:last-child{margin-bottom:0}
.r-sig .sig-dot{flex:none;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-top:6px}
.r-sig.hot .sig-dot{background:var(--up)}

/* 温度计（复用首页样式精简版） */
.r-thermo{padding:2px 0 0}
.r-thermo .k{font-size:10.5px;color:var(--dim);letter-spacing:1px;display:flex;justify-content:space-between}
.r-thermo .k b{font-weight:700}
.r-track{position:relative;height:7px;border-radius:4px;margin:9px 0 6px;background:linear-gradient(90deg,#5a9cf0,#2ab5a2 30%,#e0a100 62%,#e0374c)}
.r-track::before{content:"";position:absolute;inset:0;border-radius:4px;background:rgba(250,248,243,.35)}
.r-track .t-cur{position:absolute;top:-4px;width:2px;height:15px;background:#2a2a30;border-radius:1px;transition:left 1s cubic-bezier(.22,1,.36,1);z-index:1}
.r-track .t-cur::after{content:"";position:absolute;top:-4px;left:-3px;border:4px solid transparent;border-top-color:#2a2a30}
.r-labels{display:flex;justify-content:space-between;font-size:9.5px;color:var(--dim);font-family:var(--mono)}

/* 导出按钮 */
.r-export{display:block;width:100%;border:none;border-radius:9px;padding:10px 0;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--teal),#0b7f72);cursor:pointer;font-family:inherit;transition:.18s;letter-spacing:1px}
.r-export:hover{filter:brightness(1.08);transform:translateY(-1px)}
.r-export:active{transform:none}

/* 题材 chip */
.r-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel2);border:1px solid var(--border);border-radius:7px;padding:3px 9px;margin:0 5px 5px 0;font-size:12px;color:#45454d}
.r-chip b{color:var(--text);font-weight:700}
.r-chip .ph{font-size:10px;font-weight:700;color:var(--dim);background:var(--panel);border-radius:4px;padding:0 6px}
.r-chip .ph.p1{color:var(--green)} .r-chip .ph.p2{color:var(--gold)} .r-chip .ph.p3{color:#d97b29} .r-chip .ph.p4{color:var(--up)}

/* 布局微调：主区筛选条贴住内容列 */
.shell-main .filterbar{position:sticky;top:41px;z-index:40;background:rgba(250,248,243,.95);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius);padding:9px 13px;margin:0 0 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;box-shadow:0 1px 3px rgba(80,66,45,.05)}
@media(max-width:760px){.shell-main .filterbar{top:97px;border-radius:8px}}
