/* 向己 · 生涯罗盘主工作台主题（统一 UI 内嵌 + 独立页共用）
 * 全部样式收口在 .compass-app 作用域下，可直接挂进主页面（与主 UI 无冲突）；
 * 主页面已定义同名 CSS 变量（--bg/--brand/--card 等旧别名），故变量也放在 .compass-app 上。 */
.compass-app{
  --bg:#f5f5f2; --card:#fff; --line:#e8e8e6; --line-strong:#d8d8d4;
  --text:#1f2328; --muted:#6b7280; --hint:#9aa0a6;
  --brand:#2f6fed; --brand-hover:#265fd9; --brand-soft:#eaf1fd;
  --accent:#12b76a; --accent-soft:#e6faed; --coral:#D85A30; --amber:#BA7517;
  --warn:#f59e0b; --warn-soft:#fdf3e0;
  --shadow-lg:0 12px 32px rgba(15,23,42,.14);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;
  color:var(--text); line-height:1.7; font-size:14px; -webkit-font-smoothing:antialiased;
  background:var(--bg);
}
.compass-app *, .compass-app *::before, .compass-app *::after{box-sizing:border-box;}
.compass-app button{font-family:inherit; cursor:pointer;}
.compass-app input,.compass-app textarea,.compass-app select{font-family:inherit;}
.compass-app a{color:var(--brand); text-decoration:none;}
.compass-app .topbar{height:56px; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:14px; padding:0 16px; flex-shrink:0; position:sticky; top:0; z-index:20;}
.compass-app .t-brand{display:flex; align-items:center; gap:8px; font-weight:700; font-size:15px; flex-shrink:0;}
.compass-app .t-brand img{width:30px; height:30px; object-fit:contain; border-radius:6px;}
.compass-app .t-brand .slogan{font-size:14px; white-space:nowrap; display:flex; align-items:baseline; gap:3px;}
.compass-app .t-brand .slogan .xl{font-size:19px; font-weight:800; color:var(--brand);}
.compass-app .t-spacer{flex:1;}
.compass-app .topbar a{color:var(--brand); font-size:13px; border:1px solid var(--line-strong); padding:6px 14px; border-radius:10px; background:#fff; white-space:nowrap;}
.compass-app .topbar a:hover{background:var(--brand-soft);}

.compass-app .wrap{max-width:1000px; margin:0 auto; padding:14px 16px 70px;}
/* 多孩子家长：罗盘顶部孩子（档案）切换器 */
.compass-app .kid-switch{display:flex; align-items:center; gap:8px; flex-wrap:wrap; max-width:1000px;
  margin:8px auto 0; padding:8px 14px; background:#fff8ec; border:1px solid #f0d9a8; border-radius:10px;
  font-size:12.5px; color:#7a5b1e;}
.compass-app .kid-switch .ks-label{font-weight:700; white-space:nowrap;}
.compass-app .kid-switch select{padding:5px 8px; border:1px solid #d8d8d4; border-radius:8px; font-size:12.5px; background:#fff;}
.compass-app .kid-switch .ks-hint{color:var(--hint); font-size:11px;}
.compass-app .wb-back{position:fixed; top:12px; right:12px; z-index:60; width:38px; height:38px; border-radius:50%;
  background:#fff; border:1px solid var(--line-strong); box-shadow:0 2px 10px rgba(15,23,42,.12);
  display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; color:var(--brand);
  text-decoration:none;}
.compass-app .wb-back:hover{background:var(--brand-soft);}
.compass-app .idbar{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px 20px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:16px;}
.compass-app .avatar{width:44px; height:44px; border-radius:50%; background:var(--brand); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:17px; flex-shrink:0;}
.compass-app .idbar .who b{font-size:16px;}
.compass-app .idbar .role-tag{display:inline-block; margin-left:8px; font-size:12px; color:var(--brand); background:var(--brand-soft); border-radius:10px; padding:1px 10px; font-weight:600;}
.compass-app .idbar .link{font-size:13px; color:var(--muted);}
.compass-app .idbar .link b{color:var(--text);}
.compass-app .idbar .case-sel{margin-left:auto;}
.compass-app .idbar .case-sel select{padding:7px 10px; border:1px solid var(--line-strong); border-radius:10px; font-size:13px; background:#fff;}

.compass-app .hero{background:linear-gradient(135deg,#eef3fb 0%,#f0faf4 100%); border:1px solid var(--line); border-radius:16px; padding:22px 24px; margin-bottom:16px; position:relative; overflow:hidden;}
.compass-app .hero .h1{font-size:22px; font-weight:800; letter-spacing:1px;}
.compass-app .hero .h1 b{color:var(--brand);}
.compass-app .hero .h2{font-size:13px; color:var(--muted); margin-top:4px;}
.compass-app .hero .h3{font-size:12px; color:var(--hint); margin-top:8px; line-height:1.8;}
.compass-app .hero .compass-ico{position:absolute; right:18px; top:18px; font-size:44px; opacity:.9;}

.compass-app .sail-path{display:flex; align-items:stretch; gap:6px; margin-bottom:16px; flex-wrap:nowrap;}
.compass-app .sail-path .sp{flex:1; padding:10px 12px; border-radius:12px; border:1px solid var(--line-strong); background:#fff; min-width:0; position:relative;}
.compass-app .sail-path .sp.done{border-color:#bfe8cf; background:var(--accent-soft);}
.compass-app .sail-path .sp.active{border-color:var(--brand); border-width:2px; background:var(--brand-soft); box-shadow:0 0 0 2px rgba(47,111,237,.12);}
.compass-app .sail-path .sp .sp-n{font-weight:800; color:var(--brand); font-size:13px;}
.compass-app .sail-path .sp.done .sp-n{color:#168f4b;}
.compass-app .sail-path .sp .sp-t{font-weight:700; font-size:13.5px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.compass-app .sail-path .sp .sp-s{font-size:11px; color:var(--hint); margin-top:3px; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.compass-app .sail-path .sp-arrow{align-self:center; color:var(--hint); font-size:15px; flex-shrink:0;}

.compass-app .layout{display:flex; gap:16px; align-items:flex-start;}
.compass-app .main-col{flex:1; min-width:0;}
.compass-app .side-col{width:290px; flex-shrink:0; position:sticky; top:72px;}
@media (max-width:820px){
  .compass-app .layout{flex-direction:column;}
  .compass-app .side-col{width:100%; position:static;}
  .compass-app .sail-path{flex-wrap:wrap;}
  .compass-app .sail-path .sp{flex:1 1 45%;}
}

.compass-app .card{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 20px; margin-bottom:16px;}
.compass-app .card h2{font-size:16px; font-weight:700; margin-bottom:6px; display:flex; align-items:center; gap:8px;}
.compass-app .card h2 .step-badge{background:var(--brand); color:#fff; font-size:12px; border-radius:8px; padding:0 8px; line-height:20px; flex-shrink:0;}
.compass-app .card h2 .step-badge.done{background:#168f4b;}
.compass-app .card .sub{font-size:12.5px; color:var(--muted); margin-bottom:12px; line-height:1.8;}
.compass-app .card .sub b{color:var(--text);}

.compass-app .btn-primary{padding:10px 22px; border:none; border-radius:11px; background:var(--brand); color:#fff; font-size:14px; font-weight:700;}
.compass-app .btn-primary:hover{background:var(--brand-hover);}
.compass-app .btn-ghost{padding:9px 18px; border:1px solid var(--line-strong); border-radius:11px; background:#fff; color:var(--text); font-size:13px; font-weight:600;}
.compass-app .btn-ghost:hover{border-color:var(--brand); color:var(--brand);}
.compass-app .btn-warn{padding:9px 18px; border:1px solid #f0c9b8; border-radius:11px; background:#fff; color:var(--coral); font-size:13px; font-weight:600;}
.compass-app .btn-warn:hover{background:#fdf1ec;}
.compass-app .btn-sm{padding:6px 14px; border:none; border-radius:9px; background:var(--brand-soft); color:var(--brand); font-size:12px; font-weight:700;}
.compass-app .btn-sm:hover{background:#dbe8fc;}
.compass-app .btn-sm.green{background:var(--accent-soft); color:#168f4b;}
.compass-app .btn-sm.green:hover{background:#d3f3e0;}
.compass-app .btn-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;}
.compass-app .btn[disabled]{opacity:.5; cursor:not-allowed;}

.compass-app .parts{display:flex; gap:8px; flex-wrap:wrap;}
.compass-app .part{flex:1; min-width:110px; border:1px solid var(--line); border-radius:11px; padding:10px; text-align:center; background:#fff;}
.compass-app .part.done{border-color:#bfe8cf; background:var(--accent-soft);}
.compass-app .part.mine{border-color:var(--brand); border-width:2px; box-shadow:0 0 0 2px rgba(47,111,237,.15);}
.compass-app .part .p-ic{font-size:20px;}
.compass-app .part .p-nm{font-size:13px; font-weight:700; margin-top:2px;}
.compass-app .part .p-st{font-size:11px; color:var(--hint); margin-top:1px;}
.compass-app .part.done .p-st{color:#168f4b; font-weight:600;}
.compass-app .part button{width:100%; margin-top:7px; padding:5px 0; font-size:12px; border-radius:8px;}

.compass-app .dims{margin-top:8px;}
.compass-app .dim{display:flex; align-items:center; gap:8px; margin:5px 0; font-size:13px;}
.compass-app .dim .lb{flex:0 0 110px;}
.compass-app .dim .bar{flex:1; height:8px; background:var(--bg); border-radius:4px; overflow:hidden;}
.compass-app .dim .bar i{display:block; height:100%; border-radius:4px; background:linear-gradient(90deg,#2f6fed,#12b76a);}
.compass-app .dim .vl{flex:0 0 34px; text-align:right; font-weight:700; font-size:13px;}

.compass-app .row-item{border:1px solid var(--line); border-radius:11px; padding:10px 14px; margin-top:8px; background:#fafaf8;}
.compass-app .row-item .ri-t{font-weight:700; font-size:13.5px;}
.compass-app .row-item .ri-d{font-size:12px; color:var(--muted); margin-top:2px; line-height:1.7;}
.compass-app .row-item .ri-meta{font-size:11px; color:var(--hint); margin-top:4px;}
.compass-app .pill{display:inline-block; padding:1px 9px; border-radius:20px; font-size:11px; font-weight:600;}
.compass-app .pill.ok{background:var(--accent-soft); color:#168f4b;}
.compass-app .pill.warn{background:var(--warn-soft); color:var(--amber);}
.compass-app .pill.brand{background:var(--brand-soft); color:var(--brand);}

.compass-app .tl-item{display:flex; gap:10px; padding:7px 0; border-bottom:1px dashed var(--line);}
.compass-app .tl-item:last-child{border-bottom:none;}
.compass-app .tl-dot{flex-shrink:0; width:8px; height:8px; border-radius:50%; background:var(--brand); margin-top:7px;}
.compass-app .tl-item .tl-t{font-size:12px; font-weight:700;}
.compass-app .tl-item .tl-d{font-size:11.5px; color:var(--muted); line-height:1.6;}
.compass-app .tl-item .tl-ts{font-size:10.5px; color:var(--hint);}

.compass-app .snap{display:flex; flex-wrap:wrap; gap:6px;}
.compass-app .snap .sx{flex:1 1 42%; border:1px solid var(--line); border-radius:9px; padding:7px 9px; font-size:12px; text-align:center;}
.compass-app .snap .sx b{display:block; font-size:16px; color:var(--brand);}
.compass-app .snap .sx span{color:var(--hint); font-size:11px;}

.compass-app .modal-mask{position:fixed; inset:0; background:rgba(15,17,21,.45); z-index:120; display:none; align-items:center; justify-content:center; padding:20px;}
.compass-app .modal-mask.on{display:flex;}
.compass-app .modal-card{width:640px; max-width:100%; max-height:88vh; overflow-y:auto; background:#fff; border-radius:16px; padding:22px 24px; box-shadow:var(--shadow-lg);}
.compass-app .modal-card h3{font-size:16px; font-weight:700; margin-bottom:14px; display:flex; align-items:center; justify-content:space-between;}
.compass-app .modal-card h3 .x{cursor:pointer; color:var(--hint); font-size:15px; font-weight:400;}
.compass-app .modal-card .fld{margin-bottom:12px;}
.compass-app .modal-card .fld label{display:block; font-size:12.5px; color:var(--muted); margin-bottom:5px;}
.compass-app .modal-card .fld input,.compass-app .modal-card .fld textarea,.compass-app .modal-card .fld select{width:100%; padding:9px 11px; border:1px solid var(--line-strong); border-radius:10px; font-size:13.5px; outline:none; background:#fff;}
.compass-app .modal-card .fld textarea{resize:vertical; min-height:60px;}
.compass-app .modal-card .q-item{border:1px solid var(--line); border-radius:11px; padding:12px 14px; margin-bottom:10px;}
.compass-app .modal-card .q-item .q-t{font-size:13.5px; font-weight:600; margin-bottom:8px;}
.compass-app .modal-card .q-item .q-opts label{display:block; padding:7px 10px; border-radius:9px; font-size:13px; cursor:pointer;}
.compass-app .modal-card .q-item .q-opts label:hover{background:var(--brand-soft);}
.compass-app .modal-card .q-item .q-opts input{margin-right:8px;}
.compass-app .m-actions{display:flex; gap:10px; margin-top:16px;}
.compass-app .m-actions button{flex:1; padding:11px; border:none; border-radius:11px; font-size:14px; font-weight:700;}
.compass-app .m-actions .ok{background:var(--brand); color:#fff;}
.compass-app .m-actions .cancel{background:#fff; border:1px solid var(--line-strong)!important; color:var(--muted);}
.compass-app .msg{font-size:12.5px; margin-top:8px;}
.compass-app .msg.err{color:var(--coral);}
.compass-app .msg.ok{color:#168f4b;}

.compass-app .suggest-bar{background:linear-gradient(90deg,#eaf1fd,#f0faf4); border:1px solid #d6e2f9; border-radius:13px; padding:13px 16px; margin-bottom:16px; font-size:13px; line-height:1.8;}
.compass-app .suggest-bar b{color:var(--brand);}
.compass-app .suggest-bar .act{margin-top:6px; display:flex; gap:8px; flex-wrap:wrap;}
.compass-app .empty{color:var(--hint); padding:10px 0;}

/* ---- 三年航程规划 ---- */
.compass-app .journey-card{background:linear-gradient(180deg,#f7f9fe 0%,#fff 40%);}
.compass-app .journey-meta{display:flex; gap:8px; flex-wrap:wrap; margin:6px 0 10px;}
.compass-app .journey-now{background:var(--brand-soft); border:1px solid #d6e2f9; border-radius:10px;
  padding:9px 12px; font-size:13px; margin-bottom:12px; line-height:1.7;}
.compass-app .journey-now b{color:var(--brand);}
.compass-app .journey-tl{position:relative; margin-top:4px;}
.compass-app .journey-tl::before{content:""; position:absolute; left:7px; top:8px; bottom:8px; width:2px;
  background:var(--line-strong);}
.compass-app .jt-item{position:relative; padding:0 0 16px 28px;}
.compass-app .jt-item:last-child{padding-bottom:4px;}
.compass-app .jt-dot{position:absolute; left:2px; top:5px; width:12px; height:12px; border-radius:50%;
  background:#fff; border:2px solid var(--line-strong);}
.compass-app .jt-item.done .jt-dot{background:var(--accent); border-color:var(--accent);}
.compass-app .jt-item.cur .jt-dot{background:var(--brand); border-color:var(--brand); box-shadow:0 0 0 4px rgba(47,111,237,.18);}
.compass-app .jt-item.pre{opacity:.55;}
.compass-app .jt-head{font-size:14px;}
.compass-app .jt-head .muted{font-size:12px; margin-left:4px;}
.compass-app .jt-focus{font-size:12.5px; color:var(--brand); font-weight:700; margin-top:2px;}
.compass-app .jt-tasks{font-size:12.5px; color:var(--text); line-height:1.9; margin-top:4px;}
.compass-app .jt-channel{font-size:12px; color:#7a5b1e; background:var(--warn-soft); border-radius:8px;
  padding:7px 10px; margin-top:6px; line-height:1.9;}
.compass-app .jt-compass{font-size:11.5px; line-height:1.8; margin-top:5px; padding-top:5px; border-top:1px dashed var(--line);}

@media (max-width:560px){
  .compass-app .wrap{padding:10px 10px 60px;}
  .compass-app .hero{padding:16px 16px;}
  .compass-app .hero .compass-ico{display:none;}
  .compass-app .hero .h1{font-size:18px;}
  .compass-app .card{padding:14px 14px;}
  .compass-app .jt-tasks{font-size:12px;}
  .compass-app .sail-path .sp .sp-s{display:none;}
}

/* ================= 对话式测评（.qc-*，内嵌 tab 与独立页共用） ================= */
.compass-app .qc-head{position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid var(--line);
  padding:12px 16px; display:flex; align-items:center; gap:10px;}
.compass-app .qc-head a{color:var(--brand); font-size:13px; text-decoration:none; border:1px solid var(--line-strong);
  padding:5px 12px; border-radius:9px; white-space:nowrap;}
.compass-app .qc-title{font-size:15px; font-weight:800; flex:1;}
.compass-app .qc-title small{font-weight:400; color:var(--muted); font-size:12px; margin-left:6px;}
.compass-app .qc-progress{height:5px; background:var(--line); position:sticky; top:0; z-index:29;}
.compass-app .qc-progress i{display:block; height:100%; background:var(--brand); transition:width .35s;}
.compass-app .qc-chat{max-width:640px; margin:0 auto; padding:16px 14px 150px; display:flex; flex-direction:column; gap:14px;}
.compass-app .qc-msg{display:flex; gap:10px; align-items:flex-start;}
.compass-app .qc-msg .ava{width:34px; height:34px; border-radius:50%; flex-shrink:0; display:flex; align-items:center;
  justify-content:center; font-size:17px;}
.compass-app .qc-msg.ai .ava{background:var(--brand-soft);}
.compass-app .qc-msg.user .ava{background:var(--accent-soft);}
.compass-app .qc-msg .bub{max-width:82%; padding:11px 14px; border-radius:14px; font-size:14px; line-height:1.8; white-space:pre-wrap;}
.compass-app .qc-msg.ai .bub{background:#fff; border:1px solid var(--line); border-top-left-radius:4px;}
.compass-app .qc-msg.ai .bub b{color:var(--brand);}
.compass-app .qc-msg.user .bub{background:var(--brand); color:#fff; border-top-right-radius:4px; margin-left:auto;}
.compass-app .qc-msg.user{flex-direction:row-reverse;}
.compass-app .qc-opts{display:flex; flex-direction:column; gap:8px; margin-top:10px;}
.compass-app .qc-opts button{text-align:left; padding:12px 16px; border-radius:12px; border:1px solid var(--line-strong);
  background:#fff; font-size:14px; line-height:1.6;}
.compass-app .qc-opts button:hover{border-color:var(--brand); background:var(--brand-soft);}
.compass-app .qc-opts button .no{color:var(--hint); margin-right:6px; font-weight:700;}
.compass-app .qc-bottom{position:sticky; bottom:0; z-index:40; background:linear-gradient(180deg, rgba(245,245,242,0), #f5f5f2 30%);
  padding:12px 16px 18px;}
.compass-app .qc-bottom .in{max-width:640px; margin:0 auto; display:flex; gap:10px;}
.compass-app .qc-bottom input{flex:1; padding:12px 14px; border:1px solid var(--line-strong); border-radius:12px; font-size:14px; outline:none;}
.compass-app .qc-bottom input:focus{border-color:var(--brand);}
.compass-app .qc-bottom .send{flex:0 0 auto; padding:0 22px; border:none; border-radius:12px; background:var(--brand); color:#fff;
  font-size:15px; font-weight:800;}
.compass-app .qc-skip{text-align:center; margin-top:10px;}
.compass-app .qc-skip button{border:none; background:none; color:var(--hint); font-size:12.5px; text-decoration:underline; cursor:pointer;}
.compass-app .qc-done{text-align:center; padding:40px 20px;}
.compass-app .qc-done .big{font-size:44px;}
.compass-app .qc-done h2{font-size:18px; margin:12px 0 6px;}
.compass-app .qc-done p{font-size:13px; color:var(--muted); line-height:1.9;}
.compass-app .qc-done .btns{display:flex; gap:10px; margin-top:20px; justify-content:center; flex-wrap:wrap;}
.compass-app .qc-done .btns a{padding:12px 22px; border-radius:12px; font-size:14px; font-weight:700; text-decoration:none;}
.compass-app .qc-done .btns .primary{background:var(--brand); color:#fff;}
.compass-app .qc-done .btns .ghost{border:1px solid var(--line-strong); color:var(--text); background:#fff;}
.compass-app .qc-form{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; margin-top:6px;}
.compass-app .qc-form h3{font-size:15px; font-weight:800; margin-bottom:4px;}
.compass-app .qc-form .sub{font-size:12.5px; color:var(--muted); margin-bottom:12px; line-height:1.8;}
.compass-app .qc-field{margin-bottom:12px;}
.compass-app .qc-field label{display:block; font-size:12.5px; color:var(--muted); margin-bottom:5px;}
.compass-app .qc-field input,.compass-app .qc-field select{width:100%; padding:9px 11px; border:1px solid var(--line-strong);
  border-radius:10px; font-size:13.5px; background:#fff;}
.compass-app .qc-subject-grid{display:flex; flex-wrap:wrap; gap:8px;}
.compass-app .qc-subject-grid label{border:1px solid var(--line-strong); border-radius:20px; padding:6px 14px; font-size:13px; cursor:pointer;}
.compass-app .qc-subject-grid label.on{border-color:var(--brand); background:var(--brand-soft); color:var(--brand); font-weight:600;}
.compass-app .qc-subject-grid input{display:none;}
.compass-app .qc-score-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:8px;}
.compass-app .qc-score-grid .sc label{font-size:12px; color:var(--muted); display:block; margin-bottom:3px;}
.compass-app .qc-score-grid .sc input{width:100%; padding:7px 8px; border:1px solid var(--line-strong); border-radius:9px; font-size:13px;}
@media (max-width:560px){ .compass-app .qc-score-grid{grid-template-columns:repeat(2,1fr);} }

/* ================= 启航报告（.rp-*，内嵌 tab 与独立页共用） ================= */
.compass-app .rp-hero{background:linear-gradient(135deg,#eef3fb 0%,#f0faf4 100%); border:1px solid var(--line);
  border-radius:16px; padding:20px; margin:12px 0; text-align:center;}
.compass-app .rp-hero h1{font-size:20px; font-weight:800; letter-spacing:1px;}
.compass-app .rp-hero .t2{font-size:12.5px; color:var(--muted); margin-top:6px; line-height:1.9;}
.compass-app .rp-btn-refresh{padding:8px 18px; border:none; border-radius:10px; background:var(--brand); color:#fff;
  font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap;}
.compass-app .rp-btn-refresh:hover{background:var(--brand-hover);}
.compass-app .rp-btn-refresh:disabled{opacity:.6; cursor:wait;}

/* ===== 报告页布局（参考「学习卡点 · 学习卡点家庭自测报告」：满屏通栏卡片 + 顶部操作行） ===== */
.compass-app .wrap.rp-page{max-width:960px; padding:8px 16px 70px;}
.compass-app .rp-act{display:flex; align-items:center; gap:12px; margin:2px 0 10px; flex-wrap:wrap;}
.compass-app .rp-act-time{font-size:12px; color:var(--amber); line-height:1.6;}
.compass-app .rp-act-time b{color:var(--amber);}
.compass-app .rp-head{border-bottom:1px solid var(--line); padding:12px 2px 14px; margin:0 0 6px;}
.compass-app .rp-head h1{font-size:21px; font-weight:800; letter-spacing:.3px;}
.compass-app .rp-head .rp-sub{font-size:13px; color:var(--muted); margin-top:5px; line-height:1.8;}
.compass-app .rp-head .rp-meta{display:flex; flex-wrap:wrap; gap:4px 18px; margin-top:10px; font-size:13px; color:var(--muted);}
.compass-app .rp-head .rp-meta b{color:var(--text);}
.compass-app .rp-wait{text-align:center;}
.compass-app .rp-empty{color:var(--hint); font-size:13px; padding:14px 0;}
.compass-app .rp-sec{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin:12px 0;}
/* 图表容器（启航报告：雷达/条形图统一白底圆角） */
.compass-app .rp-chart-wrap{background:#fff; border:1px solid #eef0f3; border-radius:12px; padding:10px 8px 4px; margin:8px 0;}
.compass-app .rp-chart-note{font-size:12px; color:var(--hint); line-height:1.8; margin:0 0 6px;}
.compass-app .rp-sec h3{font-size:15px; font-weight:800; margin-bottom:10px; display:flex; align-items:center; gap:8px;}
.compass-app .rp-sec h3 .n{background:var(--brand); color:#fff; font-size:11px; border-radius:6px; padding:1px 7px; flex-shrink:0;}
.compass-app .rp-sec .sub{font-size:12.5px; color:var(--muted); margin-bottom:10px; line-height:1.8;}
.compass-app .rp-kv{display:grid; grid-template-columns:repeat(2,1fr); gap:8px 14px; font-size:13px;}
.compass-app .rp-kv .kv b{color:var(--text);}
.compass-app .rp-kv .kv span{color:var(--muted);}
.compass-app .rp-analysis{font-size:13.5px; line-height:2.1;}
.compass-app .rp-analysis p{margin-bottom:8px;}
.compass-app .rp-dir{background:var(--brand-soft); border:1px solid #d6e2f9; border-radius:12px; padding:12px 14px;
  margin-top:10px; font-size:13.5px; line-height:1.9;}
.compass-app .rp-dir b{color:var(--brand);}
/* 一页看懂：通道推荐结论（v9 §7.2） */
.compass-app .rp-advice{background:linear-gradient(135deg,#eef3fb,#f0faf4); border:1px solid #d6e2f9;
  border-radius:12px; padding:13px 15px; margin-top:12px;}
.compass-app .rp-advice .ra-h{font-size:14px; font-weight:800; color:var(--brand);}
.compass-app .rp-advice .ra-con{font-size:13.5px; margin-top:7px; line-height:2;}
.compass-app .rp-advice .ra-list{margin-top:8px;}
.compass-app .rp-advice .ra-item{display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:6px 0; border-bottom:1px dashed #d6e2f9; font-size:13px;}
.compass-app .rp-advice .ra-item:last-child{border-bottom:none;}
.compass-app .rp-advice .ra-item .muted{font-size:11.5px; flex:1 1 100%;}
.compass-app .rp-advice .ra-note{font-size:11.5px; margin-top:6px;}
/* 第 4 节：每条通道附推荐依据 */
.compass-app .rp-chan-head{font-size:13.5px; margin:6px 0 4px;}
.compass-app .rp-chan{border:1px solid var(--line); border-left:3px solid var(--brand); border-radius:10px;
  padding:9px 12px; margin:8px 0; background:#fbfcff;}
.compass-app .rp-chan .rc-t{display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13.5px;}
.compass-app .rp-chan .rc-name{font-weight:700;}
.compass-app .rp-chan .rc-tags{font-size:11.5px;}
.compass-app .rp-chan .rc-lines{margin:6px 0 0 16px; padding:0; font-size:12.5px; line-height:1.95; color:var(--muted);}
.compass-app .rp-chan .rc-lines li::marker{color:var(--brand);}
.compass-app .rp-chan .rc-factors{display:flex; flex-wrap:wrap; gap:5px; margin-top:7px;}
.compass-app .rp-chan .rc-f{background:var(--brand-soft); border:1px solid #d6e2f9; border-radius:8px;
  padding:3px 9px; font-size:11.5px; color:var(--text); line-height:1.7;}
.compass-app .rp-chan .rc-f b{color:var(--brand);}
.compass-app .rp-chan .rc-gaps{margin-top:7px; background:#fdf9ef; border:1px solid #f0e0bd; border-radius:8px;
  padding:7px 11px; font-size:12px; color:#7a5b1e; line-height:1.9;}
.compass-app .rp-chan .rc-gaps-h{font-weight:700; margin-bottom:2px;}
.compass-app .rp-risk{background:#fdf3e0; border:1px solid #f0d9a8; border-radius:12px; padding:14px 16px; font-size:13px;
  line-height:2; color:#7a5b1e;}
.compass-app .rp-risk b{color:var(--amber);}
.compass-app .rp-cta{text-align:center; padding:8px 0 30px;}
.compass-app .rp-cta a{display:inline-block; padding:13px 30px; border-radius:12px; background:var(--brand); color:#fff;
  font-size:15px; font-weight:800; text-decoration:none;}
.compass-app .rp-cta .hint{font-size:12px; color:var(--hint); margin-top:8px;}

/* ---- 报告第 0 节：编制依据（理论依据 + 测评规则总结） ---- */
.compass-app .rp-meta{background:linear-gradient(180deg,#f8faff 0%,#fff 70%);}
.compass-app .rm-block{margin-top:4px;}
.compass-app .rm-h{font-size:13.5px; font-weight:800; color:var(--brand); margin:12px 0 6px;}
.compass-app .rm-h.sub{font-size:12.5px; color:var(--text); margin-top:12px;}
.compass-app .rm-th-grid{display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:2px;}
.compass-app .rm-th-cell{border:1px solid var(--line); border-left:3px solid var(--brand); border-radius:10px;
  padding:7px 11px; background:#fbfcff;}
.compass-app .rm-th-cell .rm-th{font-size:13px; font-weight:700; line-height:1.5;}
.compass-app .rm-th-cell .rm-th .rm-ic{margin-right:3px;}
.compass-app .rm-th-cell .rm-meta{font-size:11px; color:var(--muted); margin-top:2px; line-height:1.6;}
.compass-app .rm-srcs{display:flex; flex-wrap:wrap; gap:6px;}
.compass-app .rm-srcs .pill{font-size:11px; line-height:1.9;}
.compass-app .rm-st{font-size:13px; line-height:1.9; padding:5px 0; border-bottom:1px dashed var(--line);}
.compass-app .rm-st:last-child{border-bottom:none;}
.compass-app .rm-st b{color:var(--text);}
.compass-app .rm-list{margin:6px 0 2px 18px; padding:0; font-size:12.8px; line-height:2.05;}
.compass-app .rm-bands{display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:6px 0 2px;}
.compass-app .rm-band{border:1px solid var(--line); border-radius:9px; padding:7px 10px; font-size:12px;
  display:flex; align-items:center; gap:6px; flex-wrap:wrap; background:#fafaf8;}
.compass-app .rm-band .rm-range{font-weight:800; color:var(--brand); flex-shrink:0;}
.compass-app .rm-band .muted{font-size:11.5px; flex:1 1 100%;}
.compass-app .pill.low{background:#fdeaea; color:var(--coral);}
.compass-app .rm-note{border-radius:10px; padding:9px 12px; margin-top:10px; font-size:12.5px; line-height:1.95;}
.compass-app .rm-trace{background:var(--accent-soft); border:1px solid #bfe8cf; color:#1c5a37;}
.compass-app .rm-trace b{color:#168f4b;}
.compass-app .rm-warn{background:#fdf3e0; border:1px solid #f0d9a8; color:#7a5b1e;}
.compass-app .rm-warn b{color:var(--amber);}
.compass-app .rm-ver{text-align:right; font-size:11px; margin-top:8px;}
@media (max-width:560px){
  .compass-app .rm-bands{grid-template-columns:1fr;}
  .compass-app .rm-th-grid{grid-template-columns:1fr;}
  .compass-app .wrap.rp-page{padding:6px 12px 60px;}
  .compass-app .rp-head h1{font-size:18px;}
  .compass-app .rp-btn-refresh{padding:7px 14px; font-size:12px;}
  .compass-app .qc-head .qc-title{font-size:12px;}
}
@media (max-width:560px){ .compass-app .rp-kv{grid-template-columns:1fr;} }
