/* Shared route chooser: title, topic and status always have their own rows. */
html body #lesson #lesson-dialog.is-route{width:min(980px,94vw);max-width:94vw;max-height:90dvh;overflow:auto;padding:32px;border:1px solid #bacdb6;border-image:none;border-radius:23px;background:#f1f3e6 url('assets/parchment.svg') center/cover;color:#294c47;box-shadow:0 25px 95px #0b2d3b88;scrollbar-width:thin;scrollbar-color:#8ca797 #eef1e4}
html body #lesson #lesson-dialog.is-route::backdrop{background:#102f3caa;backdrop-filter:blur(5px)}
html body #lesson #lesson-dialog.is-route #lesson-dialog-close{top:15px;right:15px;width:35px;height:35px;padding:0;border:1px solid #9db8a8;border-radius:50%;background:#fafff4c9;color:#315c54;font-size:25px;z-index:4}
.lesson-route-panel{min-width:0}.route-heading{margin-right:32px}.lesson-route-panel .mini-label{color:var(--route-accent);font:700 11px/1.4 'HP Simplified',Arial,sans-serif;letter-spacing:.13em}.lesson-route-panel h2{font-size:32px!important;line-height:1.15;margin:11px 0 12px!important;color:#254d49!important;text-shadow:none!important}.lesson-route-panel .route-heading p{font-size:14px!important;line-height:1.6!important;color:#5d766b!important;margin:0;max-width:640px}.route-summary{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.route-summary>span{background:#ffffffb5;border:1px solid #c4d5c0;color:#456e5f;font-size:12px;font-weight:700;padding:7px 12px;border-radius:20px}
.lesson-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
html body #lesson .lesson-route-grid .lesson-route-card{display:flex;flex-direction:column;align-items:stretch;gap:13px;width:100%;min-width:0;min-height:184px;padding:17px 19px;border:1px solid #c0d1bd;border-radius:15px;background:#fffffff0;color:#284c48;box-shadow:0 3px 8px #294f4710;text-align:left;cursor:pointer;opacity:1;font-family:'HP Simplified',Arial,sans-serif;transition:border-color .15s,box-shadow .15s}
html body #lesson .lesson-route-grid .lesson-route-card:hover:not(:disabled){border-color:var(--route-accent);box-shadow:0 4px 14px #31584d20}
.route-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-number{display:grid;place-items:center;min-width:34px;height:32px;color:var(--route-accent);background:var(--route-soft);border-radius:9px;font-size:19px;line-height:1}.route-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:20px;padding:5px 9px;background:#ecf3e8;color:#48675a;font-size:10px;line-height:1.2;font-weight:700;white-space:nowrap}.route-badge svg,.route-lock-note svg{width:13px;height:14px;flex-shrink:0}
.route-card-copy{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}.route-card-copy strong{display:block;font-size:18px;line-height:1.25;color:#284f4a;white-space:normal;word-break:normal;overflow-wrap:break-word}.route-card-copy .route-topic{display:block;font-size:12px;line-height:1.45;color:#637c70;white-space:normal;word-break:normal;overflow-wrap:break-word}
.route-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:30px;padding-top:10px;border-top:1px solid #e0e8da}.route-action{font-size:12px;font-weight:700;color:var(--route-accent)}.route-stars{display:flex;gap:4px}.route-stars img{width:16px;height:16px;opacity:.2;filter:grayscale(1)}.route-stars img.earned{opacity:1;filter:none}.route-lock-note{display:inline-flex;align-items:center;gap:7px;font-size:11px;line-height:1.45;color:#667a70;white-space:normal}
html body #lesson .lesson-route-grid .route-current{border:2px solid var(--route-accent);padding:16px 18px;background:linear-gradient(140deg,#ffffff,var(--route-soft));box-shadow:0 0 0 3px #ffffff9c}.route-current .route-badge{background:var(--route-accent);color:#fff}.route-completed:not(.route-current) .route-badge{background:#fbefc9;color:#7a6029}
html body #lesson .lesson-route-grid .route-locked:disabled{background:#edf0e7eb;border:1px dashed #b7c5b1;box-shadow:none;cursor:not-allowed;opacity:1}.route-locked .route-number{background:#dfe5d9;color:#778779}.route-locked .route-badge{background:#dfe6d9;color:#556a5b}.route-locked .route-card-copy strong{color:#5c7165}.route-locked .route-card-copy .route-topic{color:#738477}.route-locked .route-card-footer{border-top-color:#d8e0d1}
html body #lesson .lesson-route-grid .lesson-route-card:focus-visible{outline:3px solid #bf9449;outline-offset:4px}
#lesson #lesson-profile:before{display:none}#lesson #lesson-profile .lesson-profile-icon{position:absolute;inset:0;margin:auto;display:block;width:25px;height:25px;color:#fff5d6;filter:drop-shadow(0 1px 1px #294c54);pointer-events:none}
@media(max-width:600px){html body #lesson #lesson-dialog.is-route{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:92dvh;padding:23px 18px;border-radius:19px}.lesson-route-panel h2{font-size:27px!important}.lesson-route-panel .mini-label{font-size:9px}.lesson-route-panel .route-heading p{font-size:12px!important}.route-summary{gap:6px;margin-top:14px}.route-summary>span{font-size:10px;padding:6px 9px}.lesson-route-grid{grid-template-columns:1fr;gap:11px;margin-top:19px}html body #lesson .lesson-route-grid .lesson-route-card{min-height:164px;padding:15px 16px;gap:11px}html body #lesson .lesson-route-grid .route-current{padding:14px 15px}.route-card-copy strong{font-size:17px}.route-card-copy .route-topic{font-size:12px}.route-heading{margin-right:25px}}
@media(max-width:420px){#lesson #lesson-profile .lesson-profile-icon{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){html body #lesson .lesson-route-grid .lesson-route-card{transition:none}}
