/* 本周行囊与成长星空。第一阶段只搬移，不改选择器和值。 */
.bag-card { position: relative; overflow: hidden; background: linear-gradient(150deg, #283c59, #476982); color: white; border-radius: 28px; padding: 23px; box-shadow: 0 18px 44px rgba(36,56,80,.22); }
.bag-card::after { content: "✦"; position: absolute; right: -8px; top: -28px; font-size: 120px; color: rgba(255,255,255,.08); }
.bag-card .bag-kicker { font-size: 12px; letter-spacing: .12em; font-weight: 800; color: rgba(255,255,255,.64); }
.bag-card h2 { font-size: 25px; margin: 9px 0 5px; }
.bag-card p { color: rgba(255,255,255,.7); margin: 0 0 20px; font-size: 14px; }
.bag-item { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.13); line-height: 1.45; }
.bag-item span:first-child { width: 23px; height: 23px; border: 1px solid rgba(255,255,255,.45); border-radius: 8px; display: grid; place-items: center; font-size: 12px; }
.offline { margin-top: 15px; padding: 15px; border-radius: 19px; background: #fff3f6; color: #735764; font-size: 14px; line-height: 1.6; }
.section-title { font-size: 22px; margin: 6px 0 4px; }
.section-sub { color: var(--muted); margin: 0 0 18px; font-size: 14px; line-height: 1.6; }
.map-card { padding: 24px 17px 17px; background: linear-gradient(180deg, #e8f5ff, #fff); border-radius: 27px; border: 1px solid var(--line); overflow: hidden; }
.path { display: grid; grid-template-columns: 34px 1fr 34px 1fr 34px 1fr 34px; align-items: center; margin: 20px 0 14px; }
.path .node { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: white; border: 2px solid #c7d8e8; color: #8095aa; font-size: 13px; }
.path .node.lit { background: #7daed5; border-color: #7daed5; color: white; box-shadow: 0 0 0 6px rgba(125,174,213,.13); }
.path .line { height: 3px; background: #d9e4ee; }
.path .line.lit { background: #8fbbd9; }
.insight { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: start; }
.insight-icon { width: 42px; height: 42px; border-radius: 14px; background: #edf6ff; display: grid; place-items: center; font-size: 20px; }
.insight h3 { margin: 1px 0 6px; font-size: 16px; }
.insight p { margin: 0; color: var(--muted); line-height: 1.55; font-size: 14px; }
.feedback-row { display: flex; gap: 8px; margin-top: 12px; }
.feedback-row button { border: 1px solid var(--line); background: white; border-radius: 999px; padding: 8px 11px; color: var(--muted); cursor: pointer; }
.privacy { display: flex; align-items: center; gap: 13px; }
.privacy .lock { width: 44px; height: 44px; border-radius: 15px; display: grid; place-items: center; background: #edf7f2; }
.privacy strong { display: block; }
.privacy small { color: var(--muted); line-height: 1.45; }
