/* Compact Journal v1.1: page-owned styles, no legacy Report selectors. */
body.learning-journal-view{padding:0;margin:0;overflow:auto;background:#edf2e8;color:#233b52}
body.learning-journal-view .shell{display:block;width:100%;max-width:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;background:transparent;padding:0!important;overflow:visible}
body.learning-journal-view #main{max-width:none;margin:0;padding:0;background:transparent}
body.learning-journal-view .shell>footer{display:none}
/* Family settings stay in Home; journal has no floating Family Badge. */
body.learning-journal-view #family-menu{display:none!important}
.learning-journal{--lj-cream:#fff8ec;--lj-muted:#546779;max-width:1280px;margin:0 auto;padding:14px 28px max(24px,env(safe-area-inset-bottom));font:400 14px/1.45 Nunito,'Segoe UI',sans-serif;position:relative;isolation:isolate}
.learning-journal:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 6% 4%,#d5e7dc,transparent 45%),linear-gradient(130deg,#eff3e9,#f7efdf)}
.learning-journal *{min-width:0}
.learning-journal h1,.learning-journal h2,.learning-journal h3,.learning-journal p{margin:0}
.learning-journal h1{font-size:30px;line-height:1.2;font-weight:900;letter-spacing:-.025em}
.learning-journal h2{font-size:18px;line-height:1.3;font-weight:850}
.learning-journal h3{font-size:15px;line-height:1.35;font-weight:800}
.learning-journal small,.lj-caption{font-size:12px;line-height:1.45;color:var(--lj-muted)}
.lj-nav{display:flex;justify-content:space-between;align-items:center;min-height:52px;margin-bottom:12px;gap:12px}
.lj-wordmark{display:block;width:142px;max-width:42%;height:auto;aspect-ratio:1586/509;object-fit:contain;flex-shrink:0}
.lj-back{display:flex;align-items:center;justify-content:center;width:52px;height:52px;min-width:52px;min-height:52px;padding:2px;border:0;border-radius:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s ease,background-color .16s ease}
.lj-back-badge{display:block;width:100%;height:100%;object-fit:contain}
@media(hover:hover) and (pointer:fine){.lj-back:hover{transform:translateY(-2px);background:#fff8ecaa}}
.lj-back:active{transform:translateY(1px)}
.lj-hero{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.lj-avatar{width:64px;height:64px;object-fit:contain;object-position:bottom;border-radius:48%;background:#dceef0;border:1px solid #c5d8cf;flex:0 0 auto}
.lj-identity{flex:1}.lj-explorer{margin-top:4px!important;overflow-wrap:anywhere}.lj-name{font-weight:800}.lj-xp-label{font-size:12px;color:#546779;margin-top:3px!important}
.lj-panel{border:1.5px solid #b3977b;border-radius:20px 18px 22px 19px;background:var(--lj-cream);padding:16px;box-shadow:0 3px 0 #d8c7af55,0 7px 18px #5e604307}
.lj-panel>h2{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.lj-icon{width:26px;height:26px;display:block;flex-shrink:0}
.lj-overview{margin-bottom:16px}
.lj-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lj-stat{padding:9px 14px;border-radius:12px;border:1px solid #c2d9d6;background:#edf7f5;display:flex;flex-direction:column;gap:3px}
.lj-stat-scores{background:#fbf1dd;border-color:#e1c79d}.lj-stat-review{background:#f6e9e0;border-color:#dfc2af}
.lj-stat-label{font-size:12px;line-height:1.3}.lj-stat-value{font-size:25px;font-weight:850;line-height:1.2;overflow-wrap:anywhere}
.lj-average-note{margin-top:8px!important}
.lj-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
.lj-subjects>h2{margin-bottom:5px}.lj-subjects>.lj-caption{margin-bottom:12px}
.lj-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.lj-subject{display:flex;align-items:center;gap:9px;border:1px solid #dfd0bc;background:#fffdf6;border-radius:13px;padding:11px 9px;min-height:84px}
.lj-building{display:block;width:48px;height:48px;flex:0 0 auto;background-image:url('assets/world/garden-buildings.webp');background-size:400% 200%;background-position:var(--sx,0%) var(--sy,0%);background-repeat:no-repeat}
.lj-building:has(.lj-icon){background:none}
.lj-subject-copy{flex:1}.lj-subject h3{font-size:14px;overflow-wrap:anywhere}.lj-accuracy{font-size:12px;color:#345d59;margin-top:3px!important;font-weight:750}
.lj-no-data{font-size:12px;color:#546779;margin-top:3px!important}
.lj-accuracy-bar{display:block;width:100%;height:6px;margin-top:5px;accent-color:#6c9c7d;border:0;border-radius:8px;overflow:hidden}
.lj-accuracy-bar::-webkit-progress-bar{background:#e5e9dd}.lj-accuracy-bar::-webkit-progress-value{background:#82ac90}.lj-accuracy-bar::-moz-progress-bar{background:#82ac90}
.lj-review-count{font-size:11px;color:#83533d;margin-top:4px!important}
.lj-side-sections{display:grid;gap:14px}
.lj-next{background:linear-gradient(130deg,#edf3e6,#fff8ec 75%)}
.lj-next h3{font-size:17px}.lj-next-copy{font-size:13px;color:#546779;margin-top:5px!important;margin-bottom:11px!important}
.lj-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:9px 15px;border:1.5px solid #7f9e9d;border-radius:12px;background:#d8eceb;color:#233b52;font-size:13px;font-weight:800;box-shadow:0 2px 0 #aec9c5;transition:transform .16s,background .16s}
.lj-button:hover{transform:translateY(-2px);background:#c4e3e2}.lj-button:active{transform:translateY(1px)}
.lj-feedback:empty{display:none}.lj-feedback{font-size:12px;color:#8b432f;overflow-wrap:anywhere;margin-top:8px!important}.lj-next>small{display:block;margin-top:8px}
.lj-history>h2{margin-bottom:4px}.lj-history>.lj-caption{margin-bottom:8px}
.lj-timeline{padding:0;margin:0;list-style:none}
.lj-session+.lj-session{border-top:1px dashed #d9c9b5}
.lj-session-summary{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:64px;padding:9px 0;list-style:none}
.lj-session-summary::-webkit-details-marker,.lj-achievement-details>summary::-webkit-details-marker{display:none}
.lj-session-info{flex:1}.lj-session-heading{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.lj-session-heading strong{font-size:13px}.lj-session time{font-size:11px;color:#546779}
.lj-session-score{display:block;font-size:12px;margin-top:3px!important;color:#345d59;overflow-wrap:anywhere}
.lj-detail-label{font-size:11px;color:#365e78;text-decoration:underline;text-underline-offset:3px}
.lj-session-details{padding:2px 0 10px;font-size:12px;color:#546779}.lj-session-details p+p{margin-top:4px}
.lj-link-button{display:inline-flex;align-items:center;min-height:44px;min-width:44px;background:none;border:0;padding:7px 0;color:#365e78;font-family:inherit;font-size:12px;font-weight:800;line-height:1.4;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.lj-history-toggle{margin-top:2px}
.lj-badges{margin-top:16px}.lj-badges>h2{margin-bottom:6px}.lj-empty-badges{font-size:13px;color:#546779}
.lj-badge-total{font-size:13px;font-weight:750}.lj-badge-preview{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:8px 0 0}
.lj-badge-preview li{display:flex;gap:6px;align-items:center;font-size:12px}.lj-badge-preview .lj-icon{width:24px;height:24px}
.lj-badge-list{padding:0;margin:0;list-style:none;display:grid;gap:10px}.lj-badge p{font-size:12px;margin-top:3px}.lj-badge small{display:block;margin-top:3px}.lj-achievement-details[open]>summary{margin-bottom:6px}
.lj-empty{display:flex;gap:8px;align-items:center;color:#546779;font-size:13px;padding:5px 0}.lj-empty .lj-icon{width:24px;height:24px}
.lj-state{max-width:650px;margin:28px auto}.lj-state>button{margin-top:12px}
.learning-journal :focus-visible{outline:3px solid #365e78;outline-offset:3px}
@media(max-width:1100px){.lj-subject-grid{grid-template-columns:1fr}.lj-subject{min-height:76px}}
@media(max-width:760px){
 .learning-journal{padding:10px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));font-size:14px}
 .learning-journal h1{font-size:25px}.learning-journal h2{font-size:17px}.lj-nav{min-height:48px;margin-bottom:10px;gap:8px}.lj-wordmark{width:116px;max-width:43%}.lj-back{width:48px;height:48px;min-width:48px;min-height:48px}
 .lj-hero{gap:11px;margin-bottom:14px}.lj-avatar{width:56px;height:56px}.lj-explorer{font-size:13px}.lj-xp-label{font-size:12px}
 .lj-panel{padding:13px;border-radius:18px}.lj-overview{margin-bottom:14px}.lj-stats{gap:7px}.lj-stat{padding:9px 8px}.lj-stat-value{font-size:23px}.lj-stat-label{font-size:11px}.lj-average-note{font-size:11px}
 .lj-grid{display:block}.lj-subject-grid{gap:7px}.lj-subject{min-height:72px;padding:9px 10px;gap:10px}.lj-building{width:44px;height:44px}.lj-subject h3{font-size:14px}.lj-subjects>.lj-caption{font-size:11px;margin-bottom:10px}
 .lj-side-sections{margin-top:14px;gap:14px}.lj-next h3{font-size:16px}.lj-next-copy{font-size:13px}.lj-session-summary{min-height:62px}.lj-badges{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.learning-journal *{transition:none!important;animation:none!important}}
