/* AI 导师、真人学伴与对话。第一阶段只搬移，不改选择器和值。 */
.mentor-hero-card { position: relative; min-height: 230px; padding: 22px 150px 22px 21px; border-radius: 28px; overflow: hidden; color: white; background: linear-gradient(145deg, #385f8f, #739dc0); box-shadow: 0 18px 44px rgba(49,83,119,.22); }
.mentor-hero-card::after { content: ""; position: absolute; width: 190px; height: 190px; border-radius: 50%; right: -52px; top: -55px; background: rgba(255,255,255,.13); }
.mentor-hero-card > * { position: relative; z-index: 2; }
.mentor-hero-card .mentor-photo { position: absolute; z-index: 1; width: 150px; height: 210px; right: 0; bottom: 0; object-fit: cover; object-position: center top; border-radius: 70px 0 0 0; }
.trust-tag { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.16); font-size: 12px; font-weight: 800; }
.mentor-hero-card h2 { margin: 16px 0 4px; font-size: 25px; }
.mentor-hero-card p { margin: 0; color: rgba(255,255,255,.75); font-size: 13px; line-height: 1.55; }
.mentor-quote { margin-top: 15px !important; color: white !important; font-size: 15px !important; font-weight: 700; }
.suggestion-list { display: grid; gap: 9px; margin-top: 14px; }
.suggestion { width: 100%; border: 1px solid var(--line); background: rgba(255,255,255,.86); border-radius: 17px; padding: 13px 14px; text-align: left; color: var(--ink); line-height: 1.45; cursor: pointer; }
.mentor-switch-title { margin: 22px 2px 11px; display: flex; align-items: end; justify-content: space-between; }
.mentor-switch-title strong { font-size: 17px; }
.mentor-switch-title span { color: var(--muted); font-size: 13px; }
.mentor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mentor-choice { border: 1px solid var(--line); background: rgba(255,255,255,.86); border-radius: 20px; padding: 12px; text-align: left; color: var(--ink); cursor: pointer; }
.mentor-choice.active { border-color: #7ca9d0; box-shadow: 0 0 0 3px rgba(124,169,208,.12); }
.mentor-choice img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 15px; }
.mentor-choice strong { display: block; margin-top: 8px; }
.mentor-choice small { color: var(--muted); font-size: 12px; line-height: 1.4; }
.chat-head { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; }
.chat-head img { width: 48px; height: 48px; border-radius: 16px; object-fit: cover; }
.chat-head strong { display: block; }
.chat-head small { color: var(--muted); }
.chat-stream { display: grid; gap: 12px; }
.message { max-width: 88%; padding: 14px 16px; border-radius: 19px; line-height: 1.65; font-size: 15px; }
.message.user { justify-self: end; background: #dceefe; border-bottom-right-radius: 6px; }
.message.mentor { justify-self: start; background: white; border: 1px solid var(--line); border-bottom-left-radius: 6px; }
.inline-action { margin-top: 12px; padding: 14px; border-radius: 17px; background: #f1f8f5; color: #426f60; }
.inline-action span { display: block; font-size: 12px; font-weight: 800; letter-spacing: .06em; margin-bottom: 5px; }
.inline-action strong { display: block; color: #2f5549; line-height: 1.5; }
.inline-action small { display: block; margin-top: 5px; line-height: 1.5; }
.chat-compose { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 14px; }
.chat-compose input { min-width: 0; }
.chat-compose button { border: 0; border-radius: 16px; padding: 0 17px; background: #5f91c0; color: white; font-weight: 800; cursor: pointer; }
.journey-row { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 6px; margin-top: 17px; }
.journey-node { padding: 10px 5px; border-radius: 14px; background: rgba(255,255,255,.8); text-align: center; font-size: 13px; font-weight: 800; }
.journey-arrow { color: #86a0b9; }
.game-card { padding: 16px; border-radius: 23px; background: linear-gradient(135deg, #2d486c, #557fa2); color: white; box-shadow: 0 16px 38px rgba(41,70,103,.2); margin-bottom: 14px; position: relative; overflow: hidden; }
.game-card::after { content: "✦"; position: absolute; right: -3px; top: -25px; font-size: 100px; color: rgba(255,255,255,.07); }
.game-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; position: relative; z-index: 1; }
.game-top strong { font-size: 16px; }
.game-top span { font-size: 12px; color: rgba(255,255,255,.72); }
.game-progress { height: 8px; border-radius: 999px; background: rgba(255,255,255,.16); margin: 12px 0 11px; overflow: hidden; }
.game-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ffd7e3, #d8efff); }
.quest-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; position: relative; z-index: 1; }
.quest { border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.1); color: white; border-radius: 13px; padding: 9px 5px; text-align: center; font-size: 11px; line-height: 1.35; cursor: pointer; }
.quest.done { background: rgba(187,235,210,.2); border-color: rgba(206,255,230,.28); }
.quest b { display: block; font-size: 15px; margin-bottom: 2px; }

.popular-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.popular-heading h2 { margin:0; font-size:20px; }
.popular-heading small { color:var(--muted); }
.popular-mentors { display:flex; overflow-x:auto; gap:14px; scroll-snap-type:x mandatory; padding-bottom:14px; }
.popular-mentors .popular-mentor { flex:0 0 100%; scroll-snap-align:start; text-align:left; font:inherit; border:0; cursor:pointer; }
.mentor-catalog { padding:18px 14px; border-radius:24px; background:linear-gradient(145deg,#547eae,#1d448f); color:white; }
.mentor-catalog h2 { font-size:20px; margin:0 0 16px; }
.mentor-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mentor-portrait { position:relative; aspect-ratio:153.605 / 206.033; overflow:hidden; padding:0; border:0; border-radius:13px; color:white; background:#1d448f; cursor:pointer; font:inherit; }
.mentor-portrait > img { width:100%;height:100%;object-fit:cover;display:block; }
.portrait-chip { position:absolute;top:7px;left:8px;padding:4px 8px;border-radius:18px;font-size:10px;background:#3175f5; }
.portrait-copy { position:absolute;inset:auto 0 0;padding:20px 6px 8px;background:linear-gradient(transparent,rgba(0,0,0,.48));display:grid;gap:6px; }
.portrait-copy strong { font-size:18px;line-height:24px; }
.portrait-copy small { font-size:10px;line-height:12px; }
.mentor-dossier { position:relative; padding:36px 12px 20px; border-radius:26px; background:linear-gradient(155deg,#43b8fb,#a5c6f8 45%,#1d67db); color:white; }
.dossier-header { display:flex;gap:14px;align-items:center;position:relative;margin-bottom:30px; }
.dossier-avatar { width:96px;height:96px;object-fit:cover;object-position:top;border-radius:50%;border:5px solid #e0eafd; }
.dossier-header h2 { font-size:20px;margin:0 0 7px; }
.dossier-header p { font-size:12px;line-height:16px;margin:0; }
.dossier-label { position:absolute;right:0;top:-26px;background:#3175f5;padding:8px 14px;border:2px solid white;border-radius:30px;transform:rotate(-15deg);font-size:14px; }
.mentor-story { position:relative;padding:22px 12px 16px;border-radius:22px;background:rgba(232,228,255,.72); }
.story-ribbon { position:relative;height:42px;display:flex;justify-content:center;margin-top:-40px;margin-bottom:12px; }
.story-ribbon img { position:absolute;top:0; }
.story-ribbon h3 { position:relative;margin:7px 0 0;z-index:1;font-size:18px; }
.story-scroll { max-height:480px;overflow-y:auto;background:#fbf9ff;color:#26364f;padding:20px 16px 20px 30px;border-radius:18px;position:relative; }
.story-scroll p { font-size:14px;line-height:18px;margin:0 0 18px; }
.story-star { position:absolute;left:4px;top:20px; }
.dossier-note { display:flex;gap:12px;align-items:center;margin:20px 0; }
.dossier-note img { width:88px;height:89px;object-fit:contain; }
.dossier-note p { color:#3175f5;background:white;border-radius:24px;padding:16px;font-size:14px;line-height:20px; }
.dossier-chat { background: url('../../assets/figma/detail-imgBtn.png') center/100% 100% no-repeat; }
@media(min-width:600px){.mentor-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.popular-mentors .popular-mentor{flex-basis:calc(50% - 7px);}.mentor-profile-screen{max-width:600px!important;}}
@media(min-width:1100px){.mentor-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}

.study-screen { min-height:calc(100dvh - 105px);padding:18px;border-radius:24px; }
.study-screen.theme-paper { background:#fffaf4; }
.study-screen.theme-forest { background:linear-gradient(160deg,#dceee4,#aacaba); }
.study-screen.theme-night { background:linear-gradient(160deg,#1b2f4b,#385378);color:#fff; }
.theme-night .helper { color:#dce6f4; }
.theme-night .record-card { color:var(--ink); }
.study-timer { display:grid;place-items:center;gap:12px;padding:44px 0; }
.study-timer strong { font-size:clamp(48px,12vw,80px);font-variant-numeric:tabular-nums; }
.study-timer span { font-size:14px; }

.mentor-dossier { background: url('../../assets/figma/detail-imgUnion2.png') center / 100% 100% no-repeat, #1d67db; }
.mentor-story { background: url('../../assets/figma/detail-imgUnion4.png') center / 100% 100% no-repeat; }
.dossier-label { background-image:url('../../assets/figma/detail-imgFrame32838.png'); background-size:130% 800%;background-position:16% 35%; }
