/* =========================================================
   导游学霸 · Learning Terminal v2
   Typography: native modern Chinese sans for reliable offline rendering.
   UI: PingFang SC / Hiragino Sans GB. Metrics: DIN Alternate / SF Mono.
   ========================================================= */
:root{
  --font-ui:"SF Pro SC","SF Pro Text","PingFang SC","Helvetica Neue","Segoe UI Variable","Noto Sans CJK SC","Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif;
  --font-display:"SF Pro SC","SF Pro Display","PingFang SC","Helvetica Neue","Segoe UI Variable Display","Noto Sans CJK SC","Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif;
  --font-metric:"SF Pro SC","SF Pro Display","DIN Alternate","PingFang SC","Segoe UI Variable Display","Microsoft YaHei UI",Arial,sans-serif;
  --lt-bg:#07111a;
  --lt-surface:#0d1a24;
  --lt-surface-2:#12232e;
  --lt-surface-3:#172a35;
  --lt-line:rgba(147,177,190,.18);
  --lt-line-strong:rgba(72,199,191,.42);
  --lt-text:#eef4f2;
  --lt-text-2:#aab9bd;
  --lt-text-3:#71858d;
  --lt-accent:#38c4b8;
  --lt-accent-2:#66d5c5;
  --lt-amber:#dca14b;
  --lt-danger:#df6a60;
}
html,body,button,input,textarea,select{font-family:var(--font-ui)}
body:not([data-view="redmap"]) :is(h1,h2,h3,h4){font-family:var(--font-display)}
:is(.practice-score b,.practice-meta,.practice-progress,.qs-count,.person-specialty-filters button>b){font-family:var(--font-metric)}

/* Teaching and drilling stay distinct, but switching between them stays immediate. */
.study-mode-switch{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  margin:0 0 22px;padding:6px;background:rgba(7,17,26,.72);
  border:1px solid var(--lt-line);border-radius:15px
}
.study-mode-switch button{
  min-width:0;padding:13px 15px;display:grid;grid-template-columns:32px 1fr;gap:10px;
  align-items:center;text-align:left;color:var(--lt-text-2);border:1px solid transparent;
  border-radius:10px;background:transparent
}
.study-mode-switch button:hover{background:rgba(255,255,255,.035);color:var(--lt-text)}
.study-mode-switch button.on{
  color:var(--lt-text);background:var(--lt-surface-2);border-color:var(--lt-line-strong);
  box-shadow:inset 3px 0 var(--lt-accent)
}
.study-mode-switch i{font:700 12px var(--font-metric);font-style:normal;color:var(--lt-accent)}
.study-mode-switch span{display:grid;gap:3px}.study-mode-switch b{font-size:14px}
.study-mode-switch em{font-size:11px;font-style:normal;color:var(--lt-text-3)}
.learn-home>.study-mode-switch{margin-top:28px}

/* The practice area is one coherent learning instrument, not stacked generic cards. */
body[data-view="quiz"] main{
  background:
    linear-gradient(rgba(57,116,123,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(57,116,123,.035) 1px,transparent 1px),
    radial-gradient(circle at 72% -8%,rgba(56,196,184,.1),transparent 34%),
    var(--lt-bg);
  background-size:36px 36px,36px 36px,auto,auto;
}
body[data-view="quiz"] .view-head h1,
body[data-view="quiz"] .practice-top h2{font-family:var(--font-display);letter-spacing:-.035em}
body[data-view="quiz"] .view-head h1{color:var(--lt-text)}
body[data-view="quiz"] .view-head p,
body[data-view="quiz"] .practice-score,
body[data-view="quiz"] .practice-meta{color:var(--lt-text-3)}
body[data-view="quiz"] .practice-score b{color:var(--lt-text);font-variant-numeric:tabular-nums}
body[data-view="quiz"] .practice-mode{color:var(--lt-accent)}
body[data-view="quiz"] .quiz-context-bar{border-left-color:var(--lt-accent)}
body[data-view="quiz"] .quiz-context-bar button{color:var(--lt-accent)}
body[data-view="quiz"] .person-specialty-entry{border-color:var(--lt-line-strong)!important;background:linear-gradient(105deg,rgba(56,196,184,.09),transparent)!important}
body[data-view="quiz"] .person-specialty-entry .qs-count{color:var(--lt-accent)!important}
body[data-view="quiz"] .person-specialty-filters button.on{border-color:var(--lt-accent);background:rgba(56,196,184,.09);box-shadow:inset 3px 0 var(--lt-accent)}
body[data-view="quiz"] .person-specialty-filters button.on b{color:var(--lt-accent)}
body[data-view="quiz"] .practice-progress{height:5px;background:rgba(139,167,177,.12)}
body[data-view="quiz"] .practice-progress i{background:linear-gradient(90deg,var(--lt-accent),#77d8cf);box-shadow:0 0 12px rgba(56,196,184,.25)}
body[data-view="quiz"] .practice-card{
  color:var(--lt-text);background:linear-gradient(145deg,rgba(17,34,45,.98),rgba(10,23,33,.98));
  border:1px solid var(--lt-line);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.22)
}
body[data-view="quiz"] .practice-stage.is-review .practice-card{border-color:rgba(220,161,75,.72)}
body[data-view="quiz"] .practice-stage .quiz-q{
  color:var(--lt-text);font-family:var(--font-ui);font-size:22px;font-weight:650;line-height:1.72;letter-spacing:.005em
}
body[data-view="quiz"] .practice-stage .opt{
  color:var(--lt-text);background:rgba(255,255,255,.025);border-color:var(--lt-line);
  border-radius:10px;padding:15px 16px
}
body[data-view="quiz"] .practice-stage .opt:hover{border-color:var(--lt-line-strong);background:rgba(56,196,184,.055)}
body[data-view="quiz"] .practice-stage .opt.selected{border-color:var(--lt-accent);background:rgba(56,196,184,.09);box-shadow:0 0 0 2px rgba(56,196,184,.08)}
body[data-view="quiz"] .practice-stage .opt .k{color:var(--lt-text-2);background:rgba(255,255,255,.055)}
body[data-view="quiz"] .btn-p,
body[data-view="quiz"] .multi-submit,
body[data-view="quiz"] .talk-send{background:var(--lt-accent);color:#071a1b;border:0;font-weight:750;box-shadow:none}
body[data-view="quiz"] .btn-p:hover,
body[data-view="quiz"] .multi-submit:hover,
body[data-view="quiz"] .talk-send:hover{background:var(--lt-accent-2);transform:translateY(-1px)}
body[data-view="quiz"] .btn-g{color:var(--lt-text-2);background:rgba(255,255,255,.035);border-color:var(--lt-line)}
body[data-view="quiz"] .tag{background:rgba(255,255,255,.055);color:var(--lt-text-2);border:1px solid transparent}
body[data-view="quiz"] .tag.b{background:rgba(56,196,184,.11);color:var(--lt-accent-2)}
body[data-view="quiz"] .quiz-exp{color:var(--lt-text-2);background:rgba(56,196,184,.055);border-left-color:var(--lt-accent)}

/* Context is a low-profile instrument rail. */
body[data-view="quiz"] .question-context{
  color:var(--lt-text);background:linear-gradient(90deg,rgba(12,31,42,.98),rgba(9,24,34,.98));
  border:1px solid var(--lt-line);border-radius:14px
}
body[data-view="quiz"] .question-context>span,
body[data-view="quiz"] .person-question-context>span{color:var(--lt-accent);font-family:var(--font-metric)}
body[data-view="quiz"] .question-context p{color:var(--lt-text-3)}
body[data-view="quiz"] .person-relation-tags b{color:var(--lt-accent-2);background:rgba(56,196,184,.1)}
body[data-view="quiz"] .person-question-context i{color:var(--lt-text-2);background:rgba(255,255,255,.035);border-color:var(--lt-line)}

/* Community uses the same elevation and palette as the question surface. */
body[data-view="quiz"] .question-talk{
  color:var(--lt-text);background:linear-gradient(145deg,rgba(15,31,42,.98),rgba(10,23,33,.98));
  border-color:var(--lt-line);border-radius:18px;box-shadow:0 20px 55px rgba(0,0,0,.18)
}
body[data-view="quiz"] .talk-head{background:rgba(255,255,255,.025);border-color:var(--lt-line)}
body[data-view="quiz"] .talk-head span,
body[data-view="quiz"] .talk-list-head button{color:var(--lt-accent)}
body[data-view="quiz"] .talk-head b,
body[data-view="quiz"] .talk-list-head b,
body[data-view="quiz"] .talk-author b{color:var(--lt-text)}
body[data-view="quiz"] .talk-question-like{color:var(--lt-text-2);background:rgba(255,255,255,.035);border-color:var(--lt-line)}
body[data-view="quiz"] .talk-question-like.on{color:var(--lt-accent);background:rgba(56,196,184,.09);border-color:var(--lt-line-strong)}
body[data-view="quiz"] .talk-compose textarea,
body[data-view="quiz"] .talk-reply-box textarea{
  color:var(--lt-text);background:rgba(3,12,19,.52);border-color:var(--lt-line);caret-color:var(--lt-accent)
}
body[data-view="quiz"] :is(.talk-compose textarea,.talk-reply-box textarea)::placeholder{color:var(--lt-text-3)}
body[data-view="quiz"] :is(.talk-compose textarea,.talk-reply-box textarea):focus{border-color:var(--lt-accent);box-shadow:0 0 0 3px rgba(56,196,184,.09)}
body[data-view="quiz"] .talk-avatar{color:var(--lt-accent-2);background:rgba(56,196,184,.11);font-family:var(--font-display)}
body[data-view="quiz"] .talk-name,
body[data-view="quiz"] .talk-compose-foot span,
body[data-view="quiz"] .talk-empty,
body[data-view="quiz"] .talk-author time,
body[data-view="quiz"] .talk-actions button{color:var(--lt-text-3)}
body[data-view="quiz"] .talk-comment p{color:var(--lt-text-2)}
body[data-view="quiz"] .talk-list-head,
body[data-view="quiz"] .talk-comment{border-color:var(--lt-line)}
body[data-view="quiz"] .talk-replies,
body[data-view="quiz"] .talk-reply-box{background:rgba(255,255,255,.025);border-color:var(--lt-line)}
body[data-view="quiz"] .sb-nav-item.on{border-color:rgba(56,196,184,.34);background:rgba(56,196,184,.1);color:var(--lt-text)}
body[data-view="quiz"] .sb-nav-item.on::before{background:var(--lt-accent)}

/* Focused question layout: one screen, one decision. */
.quiz-page.is-answering{max-width:1180px;padding-top:34px}
.quiz-page.is-answering>.study-mode-switch,
.quiz-page.is-answering>.view-head,
.quiz-page.is-answering>#quizNav{display:none}
.quiz-page.is-answering .practice-stage{max-width:1040px;padding-top:0}
.quiz-session-head{
  display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;
  padding:0 2px 18px
}
.quiz-session-head>button{
  justify-self:start;padding:9px 0;color:var(--lt-text-3);background:transparent;font-size:13px
}
.quiz-session-head>button:hover{color:var(--lt-accent)}
.quiz-session-head>div:nth-child(2){display:grid;gap:3px}
.quiz-session-head>div:nth-child(2)>span{color:var(--lt-text-3);font-size:11px}
.quiz-session-head h2{margin:0!important;font-size:18px!important;letter-spacing:0!important}
.quiz-session-head .practice-score{align-items:center;padding:8px 12px;border:1px solid var(--lt-line);border-radius:9px}
.quiz-session-head .practice-score span{display:flex;align-items:baseline;gap:6px}
.quiz-session-head .practice-score b{font-size:16px;margin:0;color:var(--lt-accent)}
.quiz-page.is-answering .practice-progress{margin-bottom:14px;height:3px}
.quiz-page.is-answering .practice-card{padding:34px 38px 22px;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.16)}
.quiz-page.is-answering .practice-meta{margin-bottom:30px;padding-bottom:15px;border-bottom:1px solid var(--lt-line)}
.quiz-page.is-answering .practice-meta>div{display:flex;align-items:center;gap:10px}
.quiz-mode-label{font-size:11px;color:var(--lt-text-3)}
.quiz-stem{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start;margin-bottom:26px}
.quiz-stem>i{
  display:grid;place-items:center;width:30px;height:30px;border-radius:7px;
  color:#071a1b;background:var(--lt-accent);font:800 13px var(--font-metric);font-style:normal
}
.quiz-page.is-answering .quiz-q{margin:0;font-size:21px;line-height:1.65}
.quiz-options{display:grid;gap:10px}
.quiz-options-adaptive{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch
}
.quiz-options-adaptive .opt-wide{grid-column:1/-1}
.quiz-page.is-answering .quiz-options .opt{
  min-height:58px;margin:0;padding:14px 16px;border-radius:8px;align-items:center
}
.quiz-page.is-answering .quiz-options .opt .k{
  display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;padding:0;border-radius:50%;
  font:700 12px var(--font-metric)
}
/* Answer feedback must sit above the answering-state option skin. */
.quiz-page.is-answering .quiz-options .opt.ok{
  color:#18543d;
  border-color:#45bd87;
  background:#e2f3ea;
  box-shadow:0 0 0 2px rgba(69,189,135,.16)
}
.quiz-page.is-answering .quiz-options .opt.ok .k{
  color:#fff;
  background:#2f9f6d
}
.quiz-page.is-answering .quiz-options .opt.no{
  color:#71332d;
  border-color:#d26a5f;
  background:#fae9e6
}
.quiz-page.is-answering .quiz-options .opt.no .k{
  color:#fff;
  background:#c35a50
}
.quiz-page.is-answering .practice-nav{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  margin-top:26px;padding-top:18px;border-top:1px solid var(--lt-line)
}
.practice-nav>span{color:var(--lt-text-3);font:12px var(--font-metric)}
.practice-nav>span b{color:var(--lt-text);font-size:15px}
.quiz-nav-prev,.quiz-nav-next{padding:11px 17px;border-radius:8px;font-weight:700}
.quiz-nav-prev{justify-self:start;color:var(--lt-text-2);background:transparent;border:1px solid var(--lt-line)}
.quiz-nav-next{justify-self:end;color:#071a1b;background:var(--lt-accent)}
.quiz-nav-prev:disabled{opacity:.32;cursor:not-allowed}
.quiz-nav-next:hover{background:var(--lt-accent-2)}
.quiz-page.is-answering .quiz-result{margin-top:20px}
.quiz-page.is-answering .quiz-exp{padding:16px 18px;border-radius:8px}

/* Chapter cards carry their own review progress: the tint grows with the
   answered-question ratio without reducing contrast or changing card height. */
body[data-view="quiz"] .quiz-chapters .qc-item{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(90deg,rgba(23,127,125,.16) 0 var(--chapter-progress,0%),var(--lt-surface) var(--chapter-progress,0%) 100%);
  transition:background-size .25s ease,border-color .2s ease,transform .2s ease
}
body[data-view="quiz"] .quiz-chapters .qc-item::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,rgba(23,127,125,.14),transparent 62%);
  opacity:calc(var(--chapter-progress,0) / 100);pointer-events:none
}
body[data-view="quiz"] .quiz-chapters .qc-item>*{position:relative;z-index:1}

/* Day theme is explicit: no inherited white text on light surfaces. */
html[data-theme="day"]{
  --lt-bg:#edf2f1;--lt-surface:#ffffff;--lt-surface-2:#f5f8f7;--lt-surface-3:#e8efed;
  --lt-line:rgba(31,75,82,.16);--lt-line-strong:rgba(24,132,129,.42);
  --lt-text:#11272c;--lt-text-2:#52676b;--lt-text-3:#7b8d91;
  --lt-accent:#177f7d;--lt-accent-2:#126a69;--lt-amber:#a96d1c;--lt-danger:#b94e45
}
html[data-theme="day"] body[data-view="quiz"] main{
  color:var(--lt-text);
  background:
    linear-gradient(rgba(37,105,107,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,105,107,.035) 1px,transparent 1px),
    radial-gradient(circle at 72% -8%,rgba(23,127,125,.09),transparent 34%),
    var(--lt-bg);
  background-size:36px 36px,36px 36px,auto,auto
}
html[data-theme="day"] .study-mode-switch{background:rgba(255,255,255,.58)}
html[data-theme="day"] body[data-view="quiz"] :is(.view-head h1,.practice-top h2,.practice-score b,.practice-stage .quiz-q){color:var(--lt-text)!important}
html[data-theme="day"] body[data-view="quiz"] .practice-card{color:var(--lt-text);background:rgba(255,255,255,.94);border-color:var(--lt-line);box-shadow:0 22px 55px rgba(25,58,61,.08)}
html[data-theme="day"] body[data-view="quiz"] .practice-stage .opt{color:var(--lt-text);background:#f8faf9;border-color:var(--lt-line)}
html[data-theme="day"] body[data-view="quiz"] .practice-stage .opt:hover{background:#eef7f5}
html[data-theme="day"] body[data-view="quiz"] .practice-stage .opt .k{color:var(--lt-text-2);background:#e9efed}
html[data-theme="day"] body[data-view="quiz"] .question-context{color:var(--lt-text);background:#e3eeec;border-color:rgba(23,127,125,.19)}
html[data-theme="day"] body[data-view="quiz"] .question-context p{color:var(--lt-text-2)}
html[data-theme="day"] body[data-view="quiz"] .person-question-context i{color:var(--lt-text-2);background:rgba(255,255,255,.65)}
html[data-theme="day"] body[data-view="quiz"] .question-talk{color:var(--lt-text);background:rgba(255,255,255,.94);border-color:var(--lt-line);box-shadow:0 20px 55px rgba(25,58,61,.07)}
html[data-theme="day"] body[data-view="quiz"] .talk-head{background:#eff4f2}
html[data-theme="day"] body[data-view="quiz"] .talk-head b,
html[data-theme="day"] body[data-view="quiz"] .talk-list-head b,
html[data-theme="day"] body[data-view="quiz"] .talk-author b{color:var(--lt-text)}
html[data-theme="day"] body[data-view="quiz"] .talk-question-like{color:var(--lt-text-2);background:#fff}
html[data-theme="day"] body[data-view="quiz"] .talk-compose textarea,
html[data-theme="day"] body[data-view="quiz"] .talk-reply-box textarea{color:var(--lt-text);background:#f8faf9;border-color:var(--lt-line)}
html[data-theme="day"] body[data-view="quiz"] .talk-replies,
html[data-theme="day"] body[data-view="quiz"] .talk-reply-box{background:#f0f5f3}

@media(max-width:620px){
  .study-mode-switch{grid-template-columns:1fr;margin-bottom:16px}
  .learn-home>.study-mode-switch{margin-top:70px}
  body[data-view="quiz"] .practice-stage .quiz-q{font-size:19px;line-height:1.68}
  body[data-view="quiz"] .practice-card{padding:20px 16px}
  body[data-view="quiz"] .talk-head,body[data-view="quiz"] .talk-compose{padding-left:15px;padding-right:15px}
  .quiz-page.is-answering{padding-top:76px}
  .quiz-session-head{grid-template-columns:1fr auto;padding-bottom:13px}
  .quiz-session-head>button{grid-column:1/-1;padding:0 0 8px}
  .quiz-session-head .practice-score span:nth-child(2){display:none}
  .quiz-page.is-answering .practice-card{padding:22px 15px 15px}
  .quiz-stem{grid-template-columns:28px minmax(0,1fr);gap:10px}
  .quiz-stem>i{width:26px;height:26px}
  .quiz-page.is-answering .quiz-options .opt{min-height:54px}
  .quiz-options-adaptive{grid-template-columns:1fr}
  .quiz-options-adaptive .opt-wide{grid-column:auto}
  .practice-nav{grid-template-columns:1fr auto 1fr}
}

/* Map detail: fixed reference-sheet layout with opaque reading surfaces. */
.spot-modal-backdrop{background:rgba(2,8,14,.86);backdrop-filter:blur(14px) saturate(.75)}
.spot-modal{
  width:min(1320px,calc(100vw - 48px));height:min(88vh,860px);max-height:min(88vh,860px);color:#eaf2f1;
  background:#0d1921;border:1px solid rgba(111,189,183,.28);border-radius:18px;
  box-shadow:0 32px 100px rgba(0,0,0,.72)
}
.spot-modal-scroll{height:100%;max-height:none;overflow-y:auto;overflow-x:hidden}
.spot-modal .sd-card{
  display:grid;grid-template-columns:minmax(340px,44%) minmax(0,1fr);min-height:100%;
  color:#eaf2f1;background:#0d1921;border:0;border-radius:0
}
.spot-modal .sd-hero{
  position:sticky;top:0;width:100%;height:min(88vh,860px);min-height:560px;
  aspect-ratio:auto;margin:0;
  background-color:#081219!important;background-size:contain;background-repeat:no-repeat;background-position:center;
  border:0;border-radius:0;box-shadow:none
}
.spot-modal .sd-hero::after{background:linear-gradient(180deg,transparent 68%,rgba(3,10,15,.38));border-radius:0}
.spot-modal .sd-body{min-width:0;height:auto;overflow:visible;padding:34px 42px 44px;border-top:1px solid rgba(111,189,183,.14);border-left:0}
.spot-modal .sd-title{
  margin:0 0 14px;padding-right:40px;color:#f4f8f7;font-family:var(--font-display);
  font-size:clamp(28px,3vw,38px);font-weight:760;line-height:1.25;letter-spacing:-.025em
}
.spot-modal .sd-tags{margin-bottom:16px}
.spot-modal .sd-tags .tag{color:#b9cbc9;background:#14252e;border-color:rgba(131,172,176,.24)}
.spot-modal .sd-tagline{color:#a9bfbd;font-family:var(--font-ui);font-size:15px;font-style:normal}
.spot-modal .sd-addr{color:#b8c9c8;background:#12222b;border-left-color:var(--lt-accent)}
.spot-modal .sd-section{border-top:1px solid rgba(131,172,176,.17)}
.spot-modal .sd-section-h{color:#66d1c5;font-family:var(--font-ui);font-size:14px;font-weight:750}
.spot-modal .sd-overview,
.spot-modal .sd-must,
.spot-modal .sd-guide-body,
.spot-modal .sd-quiz-q{
  color:#dce8e6;font-family:var(--font-ui);font-size:16px;line-height:1.85
}
.spot-modal .sd-must-section{
  margin-inline:0;padding:18px 20px;background:rgba(220,161,75,.08);
  border:1px solid rgba(220,161,75,.3)
}
.spot-modal .sd-must-h{color:#e2b66f}
.spot-modal .sd-guide-body,
.spot-modal .sd-quiz-item{background:#12222b;border-color:rgba(131,172,176,.2)}
.spot-modal .sd-guide-body{max-height:340px;padding:18px 20px;border-left-color:var(--lt-accent)}
.spot-modal .sd-actions{background:linear-gradient(transparent,#0d1921 20%)}
.spot-modal .spot-profile-head span{font-size:11px}
.spot-modal .spot-profile-head h3{font-size:19px}
.spot-modal .spot-profile-head strong{font-size:34px}
.spot-modal .spot-profile-head strong small{font-size:11px}
.spot-modal .spot-profile-summary{font-size:13px;line-height:1.6}
.spot-modal .spot-profile-groups{gap:11px}
.spot-modal .spot-profile-groups article{padding:14px 15px}
.spot-modal .spot-profile-groups header span,
.spot-modal .spot-profile-groups header em{font-size:11px}
.spot-modal .spot-profile-groups header b{font-size:14px}
.spot-modal .spot-profile-groups ul{font-size:14px;line-height:1.72}
.spot-modal-close{
  top:18px;right:18px;width:42px;height:42px;color:#eaf2f1;
  background:#14242d;border-color:rgba(131,172,176,.28)
}

html[data-theme="day"] .spot-modal-backdrop{background:rgba(19,34,38,.66)}
html[data-theme="day"] .spot-modal,
html[data-theme="day"] .spot-modal .sd-card{color:#14282d;background:#f7faf9}
html[data-theme="day"] .spot-modal{border-color:rgba(29,107,108,.24);box-shadow:0 30px 90px rgba(13,35,40,.26)}
html[data-theme="day"] .spot-modal .sd-body{border-left-color:rgba(29,107,108,.14)}
html[data-theme="day"] .spot-modal .sd-title{color:#10262b}
html[data-theme="day"] .spot-modal .sd-tags .tag{color:#315459;background:#e7efed;border-color:rgba(29,107,108,.18)}
html[data-theme="day"] .spot-modal .sd-tagline,
html[data-theme="day"] .spot-modal .sd-addr{color:#48666a}
html[data-theme="day"] .spot-modal .sd-addr,
html[data-theme="day"] .spot-modal .sd-guide-body,
html[data-theme="day"] .spot-modal .sd-quiz-item{background:#edf3f1}
html[data-theme="day"] .spot-modal .sd-section{border-top-color:rgba(29,107,108,.14)}
html[data-theme="day"] .spot-modal .sd-section-h{color:#177f7d}
html[data-theme="day"] .spot-modal .sd-overview,
html[data-theme="day"] .spot-modal .sd-must,
html[data-theme="day"] .spot-modal .sd-guide-body,
html[data-theme="day"] .spot-modal .sd-quiz-q{color:#183237}
html[data-theme="day"] .spot-modal .sd-must-section{background:#fff8e9;border-color:rgba(172,112,29,.28)}
html[data-theme="day"] .spot-modal .sd-actions{background:linear-gradient(transparent,#f7faf9 20%)}
html[data-theme="day"] .spot-modal-close{color:#173036;background:#e4ecea;border-color:rgba(29,107,108,.22)}

@media(max-width:980px){
  .spot-modal .sd-card{display:block;height:auto}
  .spot-modal .sd-hero{
    position:relative;width:min(calc(100% - 36px),var(--hero-max-width,100%));
    height:auto;min-height:220px;max-height:46dvh;margin:18px auto;
    aspect-ratio:var(--hero-aspect,16/9);border-radius:12px
  }
  .spot-modal .sd-hero::before{
    content:"向下查看景点考点  ↓";position:absolute;z-index:2;left:50%;bottom:14px;
    transform:translateX(-50%);padding:8px 13px;border:1px solid rgba(255,255,255,.28);
    border-radius:999px;background:rgba(7,23,32,.78);color:#fff;
    font:700 12px/1 var(--font-ui);letter-spacing:.04em;white-space:nowrap;
    backdrop-filter:blur(8px)
  }
}

@media(max-width:760px){
  .spot-modal{width:100%;height:100dvh;max-height:none;border-radius:0}
  .spot-modal-scroll{height:100%;max-height:none;overflow-y:auto}
  .spot-modal .sd-card{display:block;height:auto}
  .spot-modal .sd-hero{position:relative;width:min(calc(100% - 28px),var(--hero-max-width,100%));height:auto;min-height:180px;max-height:42dvh;margin:14px auto;aspect-ratio:var(--hero-aspect,16/9)}
  .spot-modal .sd-body{height:auto;overflow:visible;padding:22px 18px 30px;border-left:0}
  .spot-modal .sd-title{font-size:28px}
}

.spot-inline-intro,
.spot-inline-loading,
.spot-inline-empty,
.spot-inline-summary{
  display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:20px;
  color:#dce8e6;background:#12222b;border:1px solid rgba(131,172,176,.2);border-radius:12px
}
.spot-inline-intro b{font-size:17px}.spot-inline-intro span{color:#9fb6b5;font-size:13px}
.spot-inline-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:18px;color:#9fb6b5;font:650 12px var(--font-metric)}
.spot-inline-head i{height:4px;background:linear-gradient(90deg,var(--lt-accent) var(--spot-progress,100%),rgba(131,172,176,.16) 0);border-radius:4px}
.spot-inline-head em{font-style:normal}
.spot-inline-stem{margin-bottom:16px;color:#edf5f3;font-size:18px;font-weight:680;line-height:1.65}
.spot-inline-options{display:grid;gap:10px}
.spot-inline-options button{
  display:grid;grid-template-columns:34px 1fr;align-items:center;gap:12px;width:100%;padding:12px 14px;
  color:#dce8e6;text-align:left;background:#12222b;border:1px solid rgba(131,172,176,.2);border-radius:9px
}
.spot-inline-options button:hover,.spot-inline-options button.selected{background:rgba(56,196,184,.1);border-color:var(--lt-accent)}
.spot-inline-options button i{display:grid;place-items:center;width:30px;height:30px;color:#9fb6b5;font:700 13px var(--font-metric);font-style:normal;background:#1a3039;border-radius:7px}
.spot-inline-options button.ok{color:#c9f1dc;background:rgba(49,178,121,.13);border-color:#45bd87}
.spot-inline-options button.no{color:#ffd0ca;background:rgba(210,83,70,.12);border-color:#d26a5f}
.spot-inline-multi-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}
.spot-inline-selection-status{color:#9fb6b5;font-size:12px;line-height:1.5}
.spot-inline-submit{margin:0;background:var(--lt-accent)!important;color:#071a1b!important}
.spot-inline-submit:disabled{cursor:not-allowed;opacity:.42;filter:saturate(.35);box-shadow:none}
.spot-inline-result>div{display:grid;gap:9px;margin-top:14px;padding:15px 16px;border-radius:10px}
.spot-inline-result .correct{color:#c9f1dc;background:rgba(49,178,121,.12)}
.spot-inline-result .wrong{color:#ffd0ca;background:rgba(210,83,70,.12)}
.spot-inline-result p{margin:0;color:inherit;line-height:1.7}
.spot-inline-next{
  justify-self:start;min-height:44px;margin-top:4px;padding:10px 18px;color:#071a1b;
  font:750 14px var(--font-ui);background:var(--lt-accent);border:1px solid transparent;border-radius:9px
}
.spot-inline-next:hover{filter:brightness(1.08);transform:translateY(-1px)}
.spot-inline-summary b{color:var(--lt-accent);font:750 34px var(--font-metric)}
.spot-inline-summary p{margin:0;color:#b8c9c8}

html[data-theme="day"] .spot-inline-intro,
html[data-theme="day"] .spot-inline-loading,
html[data-theme="day"] .spot-inline-empty,
html[data-theme="day"] .spot-inline-summary{color:#183237;background:#edf3f1;border-color:rgba(29,107,108,.17)}
html[data-theme="day"] .spot-inline-intro span,
html[data-theme="day"] .spot-inline-head{color:#547176}
html[data-theme="day"] .spot-inline-stem{color:#10262b}
html[data-theme="day"] .spot-inline-options button{color:#183237;background:#f7faf9;border-color:rgba(29,107,108,.18)}
html[data-theme="day"] .spot-inline-options button i{color:#45666a;background:#e5eeec}
html[data-theme="day"] .spot-inline-options button:hover{background:#edf6f4;border-color:#65aaa5}
html[data-theme="day"] .spot-inline-options button.selected,
html[data-theme="day"] .spot-inline-options button[aria-pressed="true"]{
  color:#0d4a49;background:#d9efeb;border-color:#168b85;box-shadow:0 0 0 2px rgba(22,139,133,.12)
}
html[data-theme="day"] .spot-inline-options button.selected i,
html[data-theme="day"] .spot-inline-options button[aria-pressed="true"] i{color:#fff;background:#168b85}
html[data-theme="day"] .spot-inline-selection-status{color:#48666a}
html[data-theme="day"] .spot-inline-summary p{color:#48666a}
html[data-theme="day"] .spot-inline-result .correct{color:#174c37;background:#e2f3ea;border:1px solid #a7d8c0}
html[data-theme="day"] .spot-inline-result .wrong{color:#71332d;background:#fae9e6;border:1px solid #e7b5ad}
html[data-theme="day"] .spot-inline-result p,
html[data-theme="day"] .spot-inline-result span{color:inherit}
html[data-theme="day"] .spot-inline-next{color:#fff;background:#147f7b;box-shadow:0 5px 16px rgba(20,127,123,.2)}

html[data-theme="day"] .spot-modal .spot-profile{
  color:#17363a;background:#eef5f3;border-color:rgba(29,107,108,.22)
}
html[data-theme="day"] .spot-modal .spot-profile-head h3,
html[data-theme="day"] .spot-modal .spot-profile-groups header b{color:#173238}
html[data-theme="day"] .spot-modal .spot-profile-head strong{color:#a86b12}
html[data-theme="day"] .spot-modal .spot-profile-head strong small,
html[data-theme="day"] .spot-modal .spot-profile-summary,
html[data-theme="day"] .spot-modal .spot-profile-groups ul{color:#456368}
html[data-theme="day"] .spot-modal .spot-profile-groups article{
  background:#f8fbfa;border-color:rgba(29,107,108,.18)
}
html[data-theme="day"] .spot-modal .spot-profile-groups header em{color:#9a640e}

/* Learning center: a calm task list, not a catalogue disguised as a map. */
.learn-home-simple{max-width:980px;margin:0 auto;padding:0 0 72px}
.learn-home-simple>.study-mode-switch{max-width:560px;margin:28px 0 54px}
.simple-learn-head{max-width:680px;margin-bottom:34px}
.simple-learn-head>span{display:block;margin-bottom:10px;color:var(--lt-accent);font-size:12px;font-weight:750;letter-spacing:.12em}
.simple-learn-head h1{margin:0;color:var(--lt-text);font-size:46px;line-height:1.12;letter-spacing:-.045em}
.simple-learn-head p{margin:14px 0 0;color:var(--lt-text-2);font-size:16px}
.today-study-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:28px;padding:32px;border:1px solid var(--lt-line-strong);border-radius:18px;background:linear-gradient(120deg,rgba(56,196,184,.12),rgba(18,35,46,.84) 58%);box-shadow:0 24px 70px rgba(0,0,0,.16)}
.today-study-copy>span{display:block;margin-bottom:22px;color:var(--lt-accent);font-size:11px;font-weight:750;letter-spacing:.1em}
.today-study-copy h2{margin:0;color:var(--lt-text);font-size:30px;letter-spacing:-.025em}
.today-study-copy p{margin:8px 0 0;color:var(--lt-text-2);font-size:13px}
.today-study-action{min-width:142px;padding:14px 18px;border-radius:9px;background:var(--lt-accent);color:#071a1b;font-size:14px;font-weight:780}
.today-study-action:hover{background:var(--lt-accent-2);transform:translateY(-1px)}
.today-study-action i{margin-left:16px;font-style:normal}
.review-strip{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:24px;margin-top:14px;padding:20px 24px;border:1px solid var(--lt-line);border-radius:14px;background:rgba(13,26,36,.72)}
.review-strip>div{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:start;gap:6px}
.review-strip>div span{grid-column:1/-1;color:var(--lt-text-3);font-size:11px}
.review-strip>div b{color:var(--lt-text);font:750 28px var(--font-metric)}
.review-strip>div em{color:var(--lt-text-3);font-size:11px;font-style:normal}
.review-strip p{margin:0;color:var(--lt-text-2);font-size:13px}
.review-strip>button{color:var(--lt-accent);font-size:13px;font-weight:700}
.course-list-section{margin-top:54px}
.simple-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.simple-section-head h2{margin:0;color:var(--lt-text);font-size:20px}
.simple-section-head span{color:var(--lt-text-3);font-size:12px}
.course-row-list{border-top:1px solid var(--lt-line)}
.course-row-list>button{display:grid;grid-template-columns:54px 1fr auto 24px;align-items:center;gap:14px;width:100%;padding:18px 6px;border-bottom:1px solid var(--lt-line);color:var(--lt-text);text-align:left}
.course-row-list>button:hover{padding-left:12px;background:rgba(56,196,184,.045)}
.course-row-id{color:var(--lt-accent);font:700 11px var(--font-metric)}
.course-row-list b{font-size:15px}.course-row-list em{color:var(--lt-text-3);font-size:12px;font-style:normal}
.course-row-list i{color:var(--lt-text-3);font-style:normal}
.learn-tool-links{display:flex;align-items:center;gap:18px;margin-top:30px;color:var(--lt-text-3);font-size:12px}
.learn-tool-links span{margin-right:auto}.learn-tool-links button{color:var(--lt-text-2);text-decoration:underline;text-underline-offset:4px}
.learn-tool-links button:hover{color:var(--lt-accent)}
html[data-theme="day"] .simple-learn-head h1,
html[data-theme="day"] .today-study-copy h2,
html[data-theme="day"] .simple-section-head h2,
html[data-theme="day"] .course-row-list>button,
html[data-theme="day"] .review-strip>div b{color:#173238}
html[data-theme="day"] .simple-learn-head>span,
html[data-theme="day"] .today-study-copy>span,
html[data-theme="day"] .course-row-id,
html[data-theme="day"] .review-strip>button{color:#147f7b}
html[data-theme="day"] .simple-learn-head p,
html[data-theme="day"] .today-study-copy p,
html[data-theme="day"] .review-strip p,
html[data-theme="day"] .course-row-list em,
html[data-theme="day"] .learn-tool-links,
html[data-theme="day"] .learn-tool-links button{color:#547176}
html[data-theme="day"] .today-study-card{background:linear-gradient(120deg,#e1f0ec,#f8faf7 64%);border-color:rgba(20,127,123,.28);box-shadow:0 18px 50px rgba(45,74,69,.09)}
html[data-theme="day"] .today-study-action{color:#fff;background:#147f7b}
html[data-theme="day"] .review-strip{background:#f7faf8;border-color:rgba(29,107,108,.16)}
html[data-theme="day"] .course-row-list,
html[data-theme="day"] .course-row-list>button{border-color:rgba(29,107,108,.15)}
html[data-theme="day"] .course-row-list>button:hover{background:#edf6f3}
@media(max-width:620px){
  .learn-home-simple>.study-mode-switch{margin-bottom:38px}
  .simple-learn-head h1{font-size:36px}
  .today-study-card{grid-template-columns:1fr;padding:24px}
  .today-study-action{width:100%}
  .review-strip{grid-template-columns:1fr auto;gap:14px}
  .review-strip p{grid-column:1/-1;grid-row:2}
  .course-list-section{margin-top:42px}
  .course-row-list>button{grid-template-columns:46px 1fr auto}
  .course-row-list i{display:none}
  .learn-tool-links{align-items:flex-start;flex-wrap:wrap}
  .learn-tool-links span{width:100%}
}
.quiz-report-trigger{
  margin-right:14px;border:0;background:transparent;color:#52728a;
  font:600 13px/1.2 inherit;cursor:pointer;text-decoration:underline;
  text-underline-offset:3px;
}
.quiz-report-trigger:hover{color:#136ebd}
/* 错题重现开关：做题中随时开关，关闭时本组不再插入错题重现题 */
.review-repeat-toggle{
  margin-right:14px;padding:3px 10px;border:1px solid #b9d2e2;border-radius:99px;
  background:transparent;color:#136ebd;font:600 12px/1.4 inherit;cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.review-repeat-toggle:hover{background:#e8f2fa}
.review-repeat-toggle.is-off{border-color:#d8dee3;color:#8a97a0}
.review-repeat-toggle.is-off:hover{background:#f2f4f6;color:#5f6b73}
@media (max-width:768px){
  .review-repeat-toggle{margin-right:8px;padding:2px 8px;font-size:11px}
}
.question-report-overlay{
  position:fixed;inset:0;z-index:10020;display:grid;place-items:center;
  padding:24px;background:rgba(8,31,50,.42);backdrop-filter:blur(8px);
}
.question-report-card{
  position:relative;width:min(560px,100%);padding:30px;border:1px solid #cbddea;
  border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(9,44,71,.2);
  color:#102f47;
}
.question-report-card>span{font-size:11px;letter-spacing:.18em;color:#1689cf}
.question-report-card h3{margin:8px 0 6px;font-size:24px}
.question-report-card p{margin:0 0 20px;color:#607b90}
.question-report-close{
  position:absolute;right:18px;top:14px;border:0;background:transparent;
  color:#6d8495;font-size:26px;cursor:pointer;
}
.question-report-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.question-report-types input{position:absolute;opacity:0}
.question-report-types span{
  display:block;padding:8px 12px;border:1px solid #d4e2ec;border-radius:999px;
  color:#49677d;cursor:pointer;
}
.question-report-types input:checked+span{border-color:#1689cf;background:#eaf6fd;color:#0966a1}
.question-report-card textarea{
  box-sizing:border-box;width:100%;min-height:120px;padding:13px 14px;
  border:1px solid #cbddea;border-radius:12px;resize:vertical;font:14px/1.7 inherit;
}
.question-report-card form>button{
  width:100%;margin-top:14px;padding:12px;border:0;border-radius:10px;
  background:#116fbd;color:white;font:700 15px/1.2 inherit;cursor:pointer;
}
.question-report-card form>button:disabled{opacity:.65}
.question-report-status{min-height:20px;margin-top:8px;color:#17805f;font-size:13px}
