/* Purchased Android app: content and local progress are the starting point. */
.guide-home-rule,.guide-lesson-note { font-size:13px; line-height:1.5; color:#c4d6e5; margin:12px 0 0; }
.guide-lesson-note { border-left:2px solid #72ded3; padding:8px 12px; margin:0 0 12px; background:#132237; border-radius:0 8px 8px 0; }
.guide-next-copy { color:#a0ebda; line-height:1.5; }
.guide-saved { color:#b8c5d3; font-size:14px; }
.guide-switch-actions { display:grid; gap:12px; margin-top:20px; }
.guide-switch-actions button { min-height:48px; white-space:normal; overflow-wrap:anywhere; }
body[data-offline] { --bg:#090e1a; --panel:#101c2c; --panel-2:#152438; --muted:#b8c5d3; background:#090e1a; padding-bottom:76px!important; }
body[data-offline]::before { display:none; }
.site-header { max-width:1000px; margin:0 auto; padding:14px 18px; gap:8px; background:transparent; border:0; }
.app-heading { margin:0; font-size:19px; font-weight:750; letter-spacing:-.4px; }
.header-actions { gap:8px; }
main { max-width:1000px; margin:0 auto; padding:0 16px; }
.journey-home,.journey-catalog,.journey-collection,.journey-lesson { scroll-margin-top:12px; }
.home-feature { overflow:hidden; border:1px solid #465263; border-radius:22px; background:#142236; }
.home-feature__art { min-height:235px; position:relative; isolation:isolate; background:#fff; color:#132037; }
.home-feature__portrait { position:absolute; right:0; bottom:0; width:64%; height:100%; object-fit:contain; object-position:right bottom; z-index:-1; }
.home-feature__copy { padding:21px 16px; width:54%; min-height:235px; background:linear-gradient(90deg,#fff 64%,rgba(255,255,255,0)); }
.home-feature__chapter { margin:0 0 15px; font-size:10px; font-weight:850; letter-spacing:1.3px; color:#386664; white-space:nowrap; }
.home-feature h1 { font-size:clamp(27px,6.7vw,42px); line-height:1.02; letter-spacing:-1px; margin:0 0 9px; overflow-wrap:normal; }
.home-feature__reign { margin:0; font-size:12px; font-weight:700; }
.home-feature__signal { margin:17px 0 0; font-size:13px; line-height:1.3; font-weight:650; max-width:130px; }
.home-feature__details { padding:16px; }
.home-feature__resume { display:flex; gap:12px; align-items:center; justify-content:space-between; }
.home-feature__resume>span { font-size:13px; font-weight:650; line-height:1.35; color:#fff7dd; }
.home-start { flex-shrink:0; border:0; border-radius:12px; padding:13px 19px; min-height:48px; background:#f6c74a; color:#152031; font-weight:850; font-size:14px; }
.home-feature__status { font-size:11px; color:#c0cddd; line-height:1.5; margin:12px 0; }
.home-activities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.home-activities button { min-height:44px; padding:10px 4px; border:1px solid #4a6377; border-radius:11px; background:#1c3146; color:#e3f8f3; font-size:12px; font-weight:650; }
.home-progress { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 0; margin:9px 0 4px; background:none; border:0; color:#fff7dd; text-align:left; }
.home-progress__copy { flex:1; display:grid; gap:5px; }
.home-progress small { color:#bcc9d6; font-size:11px; }
.home-progress strong { font-size:18px; }
.home-progress progress { width:100%; height:5px; border:0; border-radius:5px; overflow:hidden; background:#22364a; accent-color:#44d7d0; }
.home-progress progress::-webkit-progress-bar { background:#22364a; }
.home-progress progress::-webkit-progress-value { background:#44d7d0; }
.home-progress__link { font-size:11px; color:#72ded3; border:1px solid #335d65; border-radius:10px; padding:12px 9px; }
.home-section-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:20px 0 14px; }
.home-section-heading h2 { font-size:19px; margin:0; letter-spacing:-.5px; }
.home-section-heading>span { font-size:11px; color:#98aabd; white-space:nowrap; }
.journey-catalog .champion-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; max-height:none; overflow:visible; padding:0 0 20px; }
.journey-catalog .champion-node { display:flex; flex-direction:column; position:relative; align-items:stretch; gap:0; padding:0; border:1px solid #2c4057; border-radius:14px; background:#122136; color:#fff7dd; overflow:hidden; text-align:left; min-width:0; }
.journey-catalog .champion-node.is-active { border-color:#f6c74a; box-shadow:none; }
.journey-catalog .champion-node__portrait { display:block; width:100%; height:auto; aspect-ratio:1; border:0; border-radius:0; background:#fff; }
.journey-catalog .champion-node__portrait img { width:100%; height:100%; object-fit:contain; border-radius:0; }
.journey-catalog .champion-node__copy { padding:10px 8px 6px; min-height:86px; align-content:start; }
.journey-catalog .champion-node__copy strong,.journey-catalog .champion-node__copy small { white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
.journey-catalog .champion-node__copy strong { font-size:12px; line-height:1.25; }
.journey-catalog .champion-node__copy small { font-size:10px; color:#aabbcd; margin-top:5px; line-height:1.3; }
.journey-catalog .champion-node__badge { position:static; align-self:flex-start; margin:0 8px 10px; padding:0; font-size:9px; background:none; border:0; color:#8bded0; white-space:normal; text-align:left; }
.journey-catalog .champion-node__badge.is-gem { display:flex; align-items:center; gap:5px; color:#f4dc9c; }
.champion-earned-gem { display:inline-block; flex:none; width:13px; height:17px; clip-path:polygon(50% 0,90% 24%,75% 78%,50% 100%,25% 78%,10% 24%); background:linear-gradient(145deg,#fff9ddcc,transparent 33%),conic-gradient(from 25deg,#61e1d0,#eac55c,#247e83,#9bf8e6,#61e1d0); }
.journey-nav { position:fixed; inset:auto 0 0; z-index:12; display:flex; justify-content:center; padding:8px 12px; gap:5px; background:#0e1929; border-top:1px solid #304155; }
.journey-nav button { flex:1; max-width:240px; min-height:48px; border:0; background:transparent; border-radius:12px; font-size:12px; font-weight:700; color:#b8c5d3; }
.journey-nav button[aria-current=page] { background:#23403f; color:#7ee7d6; }
.journey-collection h1 { font-size:28px; margin:12px 0 22px; }
.journey-lesson { padding:0; border:0; border-radius:0; background:none; box-shadow:none; min-width:0; }
.home-back { min-height:44px; margin-bottom:12px; padding:10px 13px; border:1px solid #34516b; border-radius:10px; background:#152438; color:#d3e7e4; font-size:12px; }
.journey-lesson .mission-topline { display:none; }
.journey-lesson .champion-profile { display:grid; grid-template-columns:76px minmax(0,1fr); gap:14px; align-items:center; }
.journey-lesson .champion-portrait { width:76px; height:88px; border-radius:12px; min-height:0; }
.journey-lesson .champion-copy h3 { font-size:24px; margin:4px 0; }
.journey-lesson .detail-kicker { font-size:10px; margin:0; }
.journey-lesson .champion-summary,.journey-lesson .champion-meta { display:none; }
.journey-lesson .champion-gem-card { margin-top:14px; }
.journey-lesson .lesson-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.journey-lesson .lesson-nav__button { min-width:0; min-height:44px; padding:10px 3px; font-size:12px; }
body[data-app-view=lesson] .app-heading { font-size:16px; }
.site-footer { display:none; }
button:focus-visible { outline:3px solid #72ded3; outline-offset:3px; }
@media(min-width:600px) {
 .home-feature__art,.home-feature__copy { min-height:300px; }
 .home-feature__copy { padding:32px; }
 .home-feature h1 { max-width:330px; font-size:46px; }
 .home-feature__signal { max-width:240px; font-size:20px; }
 .home-feature__chapter,.home-feature__reign { font-size:14px; }
 .home-feature__details { padding:20px 28px; }
 .journey-catalog .champion-list { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .journey-catalog .champion-node__copy strong { font-size:14px; }
}
@media(max-width:350px) {
 main { padding:0 12px; }
 .site-header { padding:10px 12px; }
 .app-heading { font-size:17px; }
 .home-feature__copy { padding:17px 12px; }
 .home-feature__chapter { font-size:9px; letter-spacing:.7px; }
 .home-feature h1 { font-size:25px; }
 .home-feature__details { padding:12px; }
 .home-start { padding:12px 15px; }
 .home-section-heading h2 { font-size:17px; }
 .journey-catalog .champion-list { gap:8px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Activities start with their content; the Android toolbar already names the app. */
body[data-app-view=lesson] .site-header,
body[data-app-view=lesson] .home-back { display:none; }
body[data-app-view=lesson] main { padding:0 12px; }
.journey-lesson .champion-detail { display:grid; gap:8px; padding:6px 0 0; }
.journey-lesson .champion-profile { grid-template-columns:40px minmax(0,1fr); gap:10px; padding:0; min-height:44px; }
.journey-lesson .champion-portrait { width:40px; height:44px; min-height:0; border-radius:8px; }
.journey-lesson .champion-copy { padding:0; }
.journey-lesson .champion-copy h3 { font-size:18px; line-height:1.2; margin:0; }
.journey-lesson .detail-kicker { display:none; }
.journey-lesson .lesson-deck { margin:0; padding:0; border:0; gap:10px; }
.journey-lesson .lesson-nav { gap:6px; margin:0; padding:0; }
.journey-lesson .lesson-nav__button { min-height:48px; padding:8px 4px; font-size:13px; border-radius:10px; }
.journey-lesson .lesson-stage { padding:0; margin-top:8px; min-width:0; }
.journey-lesson .lesson-panel { padding:0; border:0; background:none; box-shadow:none; }
.journey-lesson .section-advance { margin-top:20px; }
.journey-lesson .champion-gem-card { margin-top:20px; }
.lesson-panel--quiz > .lesson-panel__intro,
.lesson-panel--play > .lesson-panel__intro { display:none; }
.offline-bio-facts { margin:0 0 12px; border-bottom:1px solid #304155; }
.offline-bio-facts summary,.offline-puzzle-selector summary {
 min-height:48px; padding:12px 10px; cursor:pointer; color:#cce8e1; font-size:14px; line-height:24px;
}
.offline-bio-facts summary:focus-visible,.offline-puzzle-selector summary:focus-visible { outline:3px solid #72ded3; }
.offline-bio-facts .bio-bridge { display:block; padding:10px; margin:0; min-height:0; }
.offline-bio-facts .bio-bridge__signal,.offline-bio-facts .bio-bridge__intro h4,
.offline-bio-facts .bio-bridge__intro>.transmission-label { display:none; }
.offline-bio-facts .bio-data-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:12px 0; }
.offline-bio-facts .bio-data-strip>div { min-height:0; padding:10px; }
.journey-lesson .bio-route-head { display:none; }
.journey-lesson .bio-orbital-log { padding:0; border:0; background:none; }
.journey-lesson .bio-timeline { gap:16px; }
.journey-lesson .bio-log-entry { grid-template-columns:28px minmax(0,1fr); gap:8px; padding:12px 8px; background:#132237; border-radius:12px; }
.journey-lesson .bio-log-entry__marker { width:26px; height:26px; font-size:12px; }
.journey-lesson .bio-log-entry__copy p { font-size:17px; line-height:1.65; color:#e8edf2; margin:8px 0 0; }
.journey-lesson .bio-log-entry__copy strong { font-size:14px; color:#82ddce; }
.journey-lesson .quiz-console { padding:14px; gap:14px; border-radius:14px; background:#132237; }
.journey-lesson .quiz-console::before { display:none; }
.journey-lesson .quiz-telemetry { padding:0; margin:0; min-height:0; }
.journey-lesson .quiz-orbit-map { display:flex; align-items:center; gap:4px; width:100%; flex-wrap:wrap; }
.journey-lesson .quiz-orbit-node { width:20px; height:20px; min-height:20px; min-width:20px; font-size:10px; }
.journey-lesson .quiz-orbit-score { font-size:12px; margin-left:auto; }
.journey-lesson .quiz-head { display:block; padding:0; gap:0; }
.journey-lesson .quiz-question-copy { padding:0; border:0; background:none; box-shadow:none; }
.journey-lesson .quiz-question-copy strong { font-size:21px; line-height:1.3; }
.journey-lesson .quiz-question-copy .transmission-label { font-size:12px; margin-bottom:8px; }
.journey-lesson .quiz-options { gap:8px; }
.journey-lesson .quiz-option { grid-template-columns:minmax(0,1fr) 14px; min-height:56px; padding:12px; border-radius:10px; }
.journey-lesson .quiz-option__text { font-size:16px; line-height:1.4; }
.journey-lesson .quiz-feedback { font-size:16px; line-height:1.55; margin:0; padding:12px; }
.journey-lesson .quiz-next { min-height:48px; width:100%; margin:0; }
.journey-lesson .quiz-finish { padding:18px; }
.offline-puzzle-selector { border:1px solid #304155; border-radius:10px; margin-bottom:6px; background:#122136; }
.offline-puzzle-selector[open] { margin-bottom:12px; }
.offline-puzzle-selector .puzzle-hero { padding:12px; }
.offline-puzzle-selector .lesson-panel__intro { display:none; }
.offline-puzzle-selector .puzzle-route { margin:0; }
.journey-lesson .puzzle-module-section,.journey-lesson .puzzle-command,
.journey-lesson .puzzle-arena { display:block; padding:0; margin:0; min-width:0; }
.journey-lesson .puzzle-board-frame { width:100%; max-width:100%; margin:0; border:0; padding:0; gap:6px; border-radius:0; background:none; box-shadow:none; }
.journey-lesson .puzzle-board-timer-dock { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; padding:0; min-height:48px; }
.journey-lesson .puzzle-timer--board { width:auto; min-width:0; min-height:0; padding:8px 12px; font-size:15px; border-radius:10px; }
.offline-clock-button { pointer-events:auto; position:relative; z-index:1; min-height:48px; min-width:120px; border:0; border-radius:10px; padding:10px 14px; background:#f6c74a; color:#162132; font-family:inherit; font-weight:700; font-size:14px; line-height:1.3; }
.offline-clock-button:disabled { opacity:.65; }
.journey-lesson .champion-puzzle-board {
 width:min(100%,max(208px,calc(100dvh - 336px)),520px);
 aspect-ratio:1; height:auto; margin:0 auto; min-height:0; max-width:100%;
}
.journey-lesson .puzzle-telemetry { padding:0; gap:8px; margin:6px 0 0; }
.journey-lesson .puzzle-status-card { display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; min-height:0; padding:8px 10px; border-radius:10px; }
.journey-lesson .puzzle-status-card strong { font-size:16px; line-height:1.25; margin:0; }
.journey-lesson .puzzle-status-card p { font-size:13px; line-height:1.4; margin:0; }
.journey-lesson .puzzle-status-card.is-incorrect,.journey-lesson .puzzle-status-card.is-perfect,.journey-lesson .puzzle-status-card.is-warning { display:block; }
.journey-lesson .puzzle-fuel-briefing__pulse { display:none; }
.journey-lesson .puzzle-progress { display:none; }
.journey-lesson .puzzle-facts { margin:12px 0; }
.journey-lesson .puzzle-facts>div { padding:10px; }
.journey-lesson .puzzle-facts dt { font-size:12px; }
.journey-lesson .puzzle-facts dd { font-size:14px; }
.journey-lesson .puzzle-board-retry,.journey-lesson .puzzle-board-solution { min-height:48px; }
.offline-board-paused .champion-puzzle-board { opacity:.65; }
.offline-board-paused::after {
 content:attr(data-pause-label); position:absolute; z-index:5; left:50%; top:58%; transform:translate(-50%,-50%);
 max-width:80%; padding:10px 16px; border:1px solid #54776b; border-radius:12px;
 background:#0e1929; color:#eafff6; font-size:14px; text-align:center; pointer-events:none;
}
@media(min-width:700px) and (min-height:600px) {
 .journey-lesson .champion-puzzle-board { width:min(100%,calc(100dvh - 336px),520px); }
 .journey-lesson .bio-timeline,.journey-lesson .quiz-mount { max-width:720px; margin-inline:auto; }
}
@media(orientation:landscape) and (max-height:600px) {
 body[data-app-view=lesson][data-app-section=play] { padding-bottom:8px!important; }
 body[data-app-view=lesson][data-app-section=play] .journey-nav { display:none; }
 body[data-app-view=lesson][data-app-section=play] .champion-profile { display:none; }
 .lesson-panel--play .puzzle-module-section { position:relative; }
 .lesson-panel--play .offline-puzzle-selector { position:absolute; right:0; top:0; width:45%; z-index:6; }
 .lesson-panel--play .puzzle-arena { display:grid; grid-template-columns:52% 45%; gap:3%; align-items:start; }
 .lesson-panel--play .puzzle-telemetry { margin-top:54px; }
 .lesson-panel--play .champion-puzzle-board { width:min(100%,max(160px,calc(100dvh - 122px))); }
}
