/* Progressive disclosure: a quiet surface first, one focused task on demand. */
#app .achievement-shelf.achievement-launcher { padding:0; margin:22px 0 30px; border:0; background:none; box-shadow:none; backdrop-filter:none; }
#app .achievement-entry { display:flex; align-items:center; gap:20px; width:100%; min-height:104px; padding:8px 24px; border-radius:24px; text-align:left; }
.achievement-entry img { flex:none; width:82px; height:82px; object-fit:contain; filter:drop-shadow(0 5px 8px #65553825); }
.achievement-entry-copy { display:grid; gap:6px; min-width:0; }
.achievement-entry-copy strong { font-size:20px; letter-spacing:-.02em; }
.achievement-entry-copy small { font-size:13px; font-weight:400; color:#4e666d; }
.achievement-entry-link { margin-left:auto; display:flex; gap:12px; align-items:center; font-size:14px; white-space:nowrap; }
#modal-root .modal-achievements { width:960px; max-width:calc(100vw - 32px); padding:30px; border-radius:30px; }
.achievement-detail .achievement-heading { justify-content:flex-start; gap:18px; padding-right:25px; margin-bottom:24px; }
.achievement-detail .achievement-heading img { object-fit:contain; flex:none; }
.achievement-detail .achievement-heading h2 { margin:8px 0; font-size:28px; }
.achievement-detail .achievement-heading p { font-size:13px; }
.achievement-detail .achievement-grid { gap:12px; }
.achievement-detail .achievement-card { padding:20px; border-radius:20px; background:#fffcf18a; }
.achievement-detail .achievement-top { gap:10px; }
.achievement-detail .achievement-top > span:last-child { font-size:13px; }
.achievement-detail .explorer-badge { width:48px; height:54px; }
.achievement-detail .achievement-card h3 { font-size:17px; margin:16px 0 9px; }
.achievement-detail .achievement-card p { font-size:12px; }
.achievement-detail .achievement-card p strong { font-size:24px; }
.achievement-detail .achievement-note { font-size:12px; margin-top:20px; }
#modal-root :is(.modal-achievements,.modal-quiz-picker) { background:linear-gradient(145deg,#fffcf0ed,#e8eeeadb)!important; backdrop-filter:blur(34px) saturate(135%); box-shadow:0 28px 100px #14364245,inset 0 1px 0 #fff!important; animation:compactReveal .28s ease-out; }
@keyframes compactReveal { from { opacity:.45; filter:blur(6px); } to { opacity:1; filter:blur(0); } }

#app .compact-review { max-width:1040px; margin:0 auto 24px; padding:28px 32px; }
.compact-review .article-lab-heading { align-items:center; margin-bottom:22px; }
.compact-review .article-lab-heading h2 { font:600 26px/1.4 'Songti SC',serif; margin:8px 0; }
.compact-review .article-lab-heading p { margin:0; font-size:14px; }
.compact-review .article-composer { max-width:none; }
.review-source-bar { display:flex; align-items:stretch; gap:12px; }
#app .review-source-trigger { display:flex; align-items:center; gap:14px; padding:14px 18px; border-radius:18px; min-width:0; flex:1; text-align:left; }
.review-source-icon { width:42px; height:42px; border-radius:13px; background:#e4ece68c; display:grid; place-items:center; flex:none; }
.review-source-copy { display:grid; gap:5px; min-width:0; flex:1; }
.review-source-copy small { font-size:11px; font-weight:400; color:#536d75; }
.review-source-copy strong { font-size:15px; line-height:1.5; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-weight:600; }
.review-source-chevron { font-size:21px; flex:none; color:#557482; }
#app .review-start { flex:none; font-size:14px; border-radius:18px; padding:0 20px; }
.review-source-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; color:#587078; margin:12px 2px 16px; }
.review-source-meta a { color:#356780; white-space:nowrap; text-underline-offset:3px; }
.review-ready { display:flex; align-items:center; gap:18px; margin:26px 0; padding:20px 0; }
.review-ready-mark { display:grid; place-items:center; width:56px; height:56px; flex:none; border:1px solid #ffffffd9; border-radius:18px; background:linear-gradient(140deg,#ffffff90,#cfded350); box-shadow:inset 0 1px 0 #fff,0 6px 18px #31574610; color:#6d846f; }
.review-ready-mark .icon { width:28px; height:28px; }
.review-ready strong { color:#254d5c; font-size:18px; font-weight:500; }
.review-ready p { font-size:13px; margin:6px 0 0; }
.article-source-tools { border-top:1px solid #839a962e; margin-top:16px; }
.article-source-tools > summary { cursor:pointer; padding:16px 0 2px; color:#536971; font-size:12px; }
.article-source-tools > summary span { float:right; font-size:11px; color:#5b7278; }
.article-tools-inner { padding:14px 0 0; }
.article-tools-inner p { font-size:12px; margin:10px 0 16px; }
.compact-review #quiz-body { min-height:130px; font-weight:400; }
.compact-review .article-question { margin-top:18px; padding-top:20px; max-width:none; scroll-margin-top:110px; }
.compact-review .article-question h3 { font-size:21px; line-height:1.6; margin:16px 0 20px; }
.compact-review .answer-options { gap:10px; }
#app .compact-review .answer-option { border-radius:16px; min-height:56px; padding:12px 16px; }
#app .compact-review .answer-option.chosen:not(.correct):not(.incorrect) { background:linear-gradient(145deg,#eff9f8e8,#b4d4d5d9)!important; border:1.5px solid #517d8b!important; box-shadow:inset 0 1px 0 #fff,0 0 0 2px #9cc5cb26!important; }
.compact-review .option-letter { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#e1e9e780; font-size:12px; }
.compact-review .chosen .option-letter { background:#3b6d7c; color:white; }
.compact-review .article-question-meta { font-size:12px; }
.compact-review .article-question-meta small { font-size:11px; }
.compact-review .article-explanation { background:#fbfcf48a; padding:18px; }
.compact-review .article-explanation dl { margin:12px 0; }
.compact-review .article-explanation > strong { font-size:16px; }
.compact-review .article-history { margin-top:16px; }
.compact-review .article-history > summary { font-size:12px; }
#modal-root .modal-quiz-picker { width:620px; max-width:calc(100vw - 28px); border-radius:28px; padding:30px; }
.quiz-picker-heading { padding-right:20px; }
.quiz-picker-heading h2 { font-size:26px; margin:10px 0; }
.quiz-picker-heading p { font-size:13px; color:#4c6570; }
.quiz-picker-search { display:flex; align-items:center; gap:10px; padding:12px 14px; background:#fffef6b3; box-shadow:inset 0 1px 3px #395b6010; border:1px solid #a7bcbb70; border-radius:14px; margin:20px 0 12px; }
.quiz-picker-search input { border:0; outline:0; background:none; width:100%; min-width:0; font:inherit; font-size:14px; color:#244f60; }
.quiz-picker-search:focus-within { outline:2px solid #497c8b; outline-offset:2px; }
.quiz-picker-results { max-height:min(48dvh,420px); overflow:auto; overscroll-behavior:contain; display:grid; gap:7px; padding:3px; }
#modal-root .quiz-picker-option { width:100%; display:flex; align-items:center; gap:12px; padding:12px; text-align:left; white-space:normal; border-radius:14px; min-height:70px; }
.quiz-picker-option > span:nth-child(2) { display:grid; gap:5px; flex:1; min-width:0; }
.quiz-picker-option strong { font-size:14px; line-height:1.5; font-weight:500; overflow-wrap:anywhere; }
.quiz-picker-option small { font-size:11px; color:#536d73; font-weight:400; }
.quiz-picker-symbol { flex:none; width:30px; color:#577e79; }
.picker-check { width:20px; flex:none; color:#28677c; }
#modal-root .quiz-picker-option.selected { background:linear-gradient(135deg,#eef8f4dc,#bed9d4ba)!important; border-color:#81aaa6!important; }
.picker-empty { color:#5e7378; padding:24px 12px; text-align:center; font-size:13px; }

/* Independent artwork: contain each silhouette; never crop a sprite sheet. */
.tree-art.tree-art-3d.tree-art-organic { overflow:visible; perspective:none; filter:drop-shadow(0 12px 14px #31483c24); }
.tree-art-organic .tree-image { width:100%; height:100%; display:block; object-fit:contain; object-position:center bottom; }
.tree-art-organic[data-stage="0"] .tree-image { scale:.64; transform-origin:center bottom; }
.tree-art-organic[data-stage="1"] .tree-image { scale:.78; transform-origin:center bottom; }
.tree-art-organic[data-stage="2"] .tree-image { scale:.9; transform-origin:center bottom; }
.tree-art-organic .tree-shadow { display:none; }
#app .page-tree-orb .tree-art-organic::before, #app .page-tree-orb .tree-art-organic::after, #app .page-tree-orb::after { content:none; }
#app .atlas-growth-note { padding:26px; align-self:start; }
#app [data-view="practice"] .page-heading { min-height:220px; padding-top:32px; padding-bottom:28px; margin-bottom:24px; }
#app [data-view="practice"] .page-heading h1 { font-size:clamp(30px,3.4vw,48px); }
#app [data-view="practice"] .page-heading p { font-size:14px; }
#app [data-view="practice"] .page-tree-orb { width:215px; height:195px; }
#app .atlas-growth-note h2 { font-size:27px; line-height:1.35; margin:12px 0; }
#app .atlas-growth-note > p { font-size:13px; line-height:1.75; margin:12px 0; }
#app .atlas-growth-note > small { font-size:11px; line-height:1.6; display:block; }
#app .atlas-growth-note .growth-mini { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:none; width:100%; gap:6px; margin:14px 0; padding:0; background:none; border:none; box-shadow:none; }
#app .growth-mini > span { width:auto; height:auto; display:flex; align-items:center; flex-direction:column; gap:4px; }
#app .growth-mini .tree-art-3d { width:100%; height:122px; }
#app .growth-mini small { position:static; display:block; color:#52706e; font-size:11px; }
#app .growth-mini .growth-stage-name { font-size:12px; color:#284f59; }
:is(.achievement-entry,.review-source-trigger,.quiz-picker-option):active { transform:scale(.99); }
@media(max-width:760px) {
  #app [data-view="practice"] .page-heading { min-height:170px; padding-top:24px; padding-bottom:22px; }
  #app [data-view="practice"] .page-tree-orb { width:120px; height:125px; }
  #app .compact-review { padding:22px 18px; }
  .compact-review .article-lab-heading { gap:12px; }
  .compact-review .article-lab-heading h2 { font-size:23px; }
  .review-source-bar { flex-direction:column; gap:10px; }
  #app .review-start { min-height:46px; justify-content:center; }
  .review-source-copy strong { font-size:14px; }
  .review-source-meta { flex-wrap:wrap; }
  .review-ready { gap:12px; margin:12px 0; padding:14px 0; }
  .review-ready strong { font-size:16px; }
  .review-ready-mark { width:44px; height:44px; border-radius:14px; }
  #app .achievement-entry { min-height:90px; padding:8px 14px; gap:10px; }
  .achievement-entry img { width:60px; height:66px; }
  .achievement-entry-copy strong { font-size:17px; }
  .achievement-entry-copy small { font-size:11px; line-height:1.7; }
  .achievement-entry-link { font-size:0; gap:0; }
  .achievement-entry-link .icon { width:18px; }
  #modal-root :is(.modal-achievements,.modal-quiz-picker) { padding:24px 18px; max-height:88dvh; }
  .achievement-detail .achievement-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .achievement-detail .achievement-heading img { width:60px; height:70px; }
  .achievement-detail .achievement-heading { gap:12px; }
  .achievement-detail .achievement-heading h2 { font-size:23px; }
  .achievement-detail .achievement-card { padding:14px; }
  .achievement-detail .achievement-top { flex-direction:column; align-items:flex-start; }
  .quiz-picker-heading h2 { font-size:23px; }
  #app .growth-mini .tree-art-3d { height:90px; }
}
@media(max-width:380px) {
  .achievement-detail .achievement-grid { grid-template-columns:1fr; }
  .review-source-icon { display:none; }
  #app .growth-mini .tree-art-3d { height:70px; }
  #app .atlas-growth-note { padding:20px 16px; }
}
@media(prefers-reduced-motion:reduce) { #modal-root :is(.modal-achievements,.modal-quiz-picker) { animation:none; } }
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) {
  #modal-root :is(.modal-achievements,.modal-quiz-picker), #app .achievement-entry { background:#f8f5eb!important; backdrop-filter:none; }
}

/* Cognitive review library: only ready decks, arranged as readable cards. */
.modal-wide:has(.review-case-grid){width:min(1120px,94vw)}
.review-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.review-case-card{position:relative;min-height:150px;padding:20px 46px 18px 18px;border:1px solid #9db7b4;border-radius:18px;background:linear-gradient(145deg,#fffdf5e8,#dce9e4cf);box-shadow:inset 0 1px #fff,0 9px 24px #49666a17;text-align:left;color:#17394a}
.review-case-card:hover{transform:translateY(-2px);border-color:#4f8290}.review-case-card.legacy{background:linear-gradient(145deg,#f6f1e8,#dfe8e8)}
.review-case-card>.icon{position:absolute;right:16px;bottom:18px}.review-case-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#385f70;color:#fff;margin-bottom:14px}
.review-case-card strong{display:block;font-size:15px;line-height:1.55}.review-case-card p{font-size:11px;margin-top:9px;color:#587078}
#app .compact-review{min-height:920px}
.deck-topic-section{margin:18px 0 24px;padding:18px;border:1px solid #aac1be80;border-radius:20px;background:#f9fcf69e}
.deck-topic-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:13px}.deck-topic-heading strong{font-size:16px}.deck-topic-heading small{margin-left:auto;color:#607b80}
.deck-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.deck-topic-card{min-height:118px;padding:13px;border:1px solid #adc2bf;border-radius:15px;background:linear-gradient(145deg,#fffef8e8,#dfece7c7);text-align:left;color:#183b4b;display:grid;grid-template-rows:auto 1fr auto;gap:7px}
.deck-topic-card>span{color:#3d7480}.deck-topic-card strong{font-size:13px;line-height:1.45}.deck-topic-card small{font-size:10px;color:#617a80}.deck-topic-card.selected{border-color:#3f7885;background:linear-gradient(145deg,#edf8f3,#bdd8d3);box-shadow:0 0 0 2px #6f9fa426}
@media(max-width:980px){.review-case-grid,.deck-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.review-case-grid,.deck-topic-grid{grid-template-columns:1fr}.review-case-card{min-height:124px}#app .compact-review{min-height:auto}}
.quiz-picker-option .picker-status{flex:none;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:650;white-space:nowrap}
#modal-root .quiz-picker-option.has-deck{border-color:#85aba8;background:linear-gradient(135deg,#f5fbf7e8,#d8ebe5d4)}
.quiz-picker-option.has-deck .quiz-picker-symbol,.quiz-picker-option.has-deck .picker-status{color:#245f67;background:#c8e4dd}
#modal-root .quiz-picker-option.needs-body{border-color:#d4ad78;background:linear-gradient(135deg,#fffaf0ed,#f4dfc4d6)}
.quiz-picker-option.needs-body .quiz-picker-symbol,.quiz-picker-option.needs-body .picker-status{color:#915923;background:#f5d7ad}
#modal-root .quiz-picker-option.body-ready{border-color:#91a8c2;background:linear-gradient(135deg,#f7faffed,#dce7f1d6)}
.quiz-picker-option.body-ready .quiz-picker-symbol,.quiz-picker-option.body-ready .picker-status{color:#365f83;background:#d2e1ef}
