/* Learning route: the current action stays visible while knowledge groups grow. */
.learning-welcome h1{font-size:30px;letter-spacing:-.02em}.learning-welcome p{font-size:13px;color:#b1bdce}
.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:24px;align-items:start}
.route-panel{position:relative;overflow:hidden;border:1px solid #354153;border-radius:16px;background:#19212e}
.route-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:28px 30px 18px;background:radial-gradient(ellipse at 92% 0%,#334c2f 0%,transparent 48%),#1d2935}
.route-caption{margin:0 0 7px;color:#c5f46e!important;font-size:12px!important;font-weight:650}.route-top h2{margin:0;font-size:23px;letter-spacing:-.02em}.route-top p{margin:7px 0 0;color:#b7c5d6;font-size:13px}
.route-progress{text-align:right;white-space:nowrap}.route-progress strong{display:block;font-size:26px;color:#d7f993;line-height:1.1}.route-progress strong span{font-size:15px;color:#b5c1cf;font-weight:500}.route-progress small{font-size:11px;color:#b8c5d3}
.route-progress-line{height:3px;background:#344355}.route-progress-line i{display:block;height:100%;background:#d2f86b}
.route-action{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 30px;border-bottom:1px solid #354153;background:#202b39}.route-action strong,.route-action small{display:block}.route-action strong{font-size:13px;color:#edf2f8}.route-action small{font-size:11px;color:#abb9cb;margin-top:3px}.route-action .primary{flex-shrink:0;min-height:46px}
.route-list-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:25px 30px 13px}.route-list-heading h3{margin:0;font-size:17px}.route-list-heading p{margin:2px 0 0;color:#a8b6ca;font-size:12px}.route-list-heading>span{color:#b8c5d5;font-size:11px;white-space:nowrap}
.route-groups{padding:0 20px 22px}.route-group{border:1px solid #354154;border-radius:12px;background:#202a39;margin:0 0 10px;overflow:hidden}.route-group summary{display:flex;align-items:center;gap:14px;padding:16px;cursor:pointer;list-style:none}.route-group summary::-webkit-details-marker{display:none}.route-group summary:focus-visible{outline:2px solid #d2f86b;outline-offset:-3px}.group-index{display:grid;place-items:center;width:37px;height:37px;border-radius:9px;background:#303c4f;color:#d3dfed;font-size:12px;font-weight:700;flex:none}.route-group[open] .group-index{background:#d2f86b;color:#1b2b15}.group-title{flex:1;min-width:0}.group-title strong,.group-title small{display:block}.group-title strong{font-size:14px;color:#f3f6fa;overflow-wrap:anywhere}.group-title small{font-size:11px;color:#acbbce;margin-top:2px}.group-status{font-size:11px;color:#b3c3d4;white-space:nowrap}.group-chevron{width:8px;height:8px;border-right:1.5px solid #c1cddd;border-bottom:1.5px solid #c1cddd;transform:rotate(45deg);margin:0 4px 5px}.route-group[open] .group-chevron{transform:rotate(225deg);margin-top:5px;margin-bottom:0}
.route-steps{position:relative;padding:3px 16px 16px}.route-steps:before{content:'';position:absolute;top:18px;bottom:38px;left:37px;border-left:1px dashed #52627a}.route-step{position:relative;display:flex;width:100%;align-items:center;gap:14px;min-height:72px;padding:10px 12px 10px 0;background:transparent;text-align:left;border-radius:10px}.route-step:hover{background:#293647}.route-node{position:relative;display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #526078;border-radius:12px;background:#2c3749;color:#b7c4d7;box-shadow:0 5px 12px #0c111826}.route-node svg{width:18px;height:18px}.is-available .route-node{background:#d2f86b;border-color:#d2f86b;color:#23351b}.is-done .route-node{background:#504976;border-color:#7569a3;color:#e6ddff}.step-copy{display:block;flex:1;min-width:0}.step-copy strong,.step-copy small{display:block}.step-copy strong{font-size:13px;font-weight:650;color:#e8edf5;overflow-wrap:anywhere}.step-copy small{color:#a7b7ca;font-size:11px;margin-top:2px}.step-label{display:block;color:#b7c6d7;font-size:10px}.step-state{margin-left:8px;color:#c3e98b}.is-locked .step-state{color:#aab9ca}.is-done .step-state{color:#cbb9ff}.step-arrow{color:#afc2d4}.step-arrow svg{width:16px;height:16px}.is-locked .step-arrow{opacity:.45}
.route-empty{padding:28px 12px;color:#dce6f0}.route-empty p{color:#aab8cb}.learning-rail{display:grid;gap:16px}.rail-intro{min-height:235px;border-radius:16px;background:#d2f86b;color:#203015;padding:24px;position:relative;overflow:hidden}.rail-orbit{display:grid;place-items:center;width:39px;height:39px;border:1px solid #6d9640;border-radius:12px;color:#233b19}.rail-intro p{font-size:12px;font-weight:600;margin:22px 0 5px;color:#3d5825}.rail-intro h2{font-size:23px;line-height:1.35;margin:0;letter-spacing:-.02em}.rail-intro h2 span{color:#3b5621}.rail-intro small{display:block;color:#3e5829;margin-top:12px;font-size:11px}.rail-summary{padding:22px;border:1px solid #354153;border-radius:14px;background:#1b2431}.rail-summary h3{font-size:14px;margin:0 0 16px}.rail-summary>div{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #344052;padding-top:13px;margin-top:13px;color:#afbed0;font-size:12px}.rail-summary strong{font-size:20px;color:#d2f86b}.rail-summary strong small{font-size:11px;color:#b2c1d1}.rail-summary b{font-size:12px;color:#dfe7f0}.learning-note{font-size:11px;color:#a7b6c9;margin:17px 2px 0}
.preview-chapters{align-items:center;margin:-10px 0 22px}.preview-chapters label{font-size:12px;font-weight:600;color:#ccd8e7}.preview-chapters span{color:#abbacc}.preview-chapters select,.preview-chapters button{min-height:42px}
.modal .question{font-size:19px!important;line-height:1.65}.modal .option{min-height:54px;line-height:1.55}.modal .question-material{font-size:13px}.modal .quiz-footer small{font-size:11px;color:#b9c7d8}.mobile-nav button{min-height:52px}
@media(max-width:900px){.learning-layout{grid-template-columns:1fr}.learning-rail{grid-template-columns:1fr 1fr}.rail-intro{min-height:190px}.rail-intro p{margin-top:12px}}
@media(max-width:600px){main{padding:25px 18px 18px}.learning-welcome{margin-bottom:20px}.learning-welcome h1{font-size:25px}.learning-welcome p{font-size:12px}.route-top{padding:22px 20px 16px}.route-top h2{font-size:19px}.route-top p{font-size:12px}.route-progress strong{font-size:22px}.route-action{align-items:stretch;flex-direction:column;padding:17px 20px}.route-action .primary{width:100%;justify-content:center}.route-list-heading{padding:22px 20px 12px}.route-groups{padding:0 12px 16px}.route-group summary{gap:10px;padding:13px 12px}.group-status{font-size:10px}.route-steps{padding:0 12px 12px}.route-steps:before{left:33px}.route-step{min-height:72px}.learning-rail{display:none}.learning-note{line-height:1.7}.preview-chapters{gap:8px;margin:0 0 18px}.preview-chapters span{width:100%;font-size:11px}.modal .question{font-size:17px!important}}
.preview-shell main{padding:25px 18px 18px}.preview-shell .learning-layout{grid-template-columns:1fr}.preview-shell .learning-rail{display:none}.preview-shell .learning-welcome{margin-bottom:20px}.preview-shell .learning-welcome h1{font-size:25px}.preview-shell .learning-welcome p{font-size:12px}.preview-shell .route-top{padding:22px 20px 16px}.preview-shell .route-top h2{font-size:19px}.preview-shell .route-top p{font-size:12px}.preview-shell .route-progress strong{font-size:22px}.preview-shell .route-action{align-items:stretch;flex-direction:column;padding:17px 20px}.preview-shell .route-action .primary{width:100%;justify-content:center}.preview-shell .route-list-heading{padding:22px 20px 12px}.preview-shell .route-groups{padding:0 12px 16px}.preview-shell .route-group summary{gap:10px;padding:13px 12px}.preview-shell .group-status{font-size:10px}.preview-shell .route-steps{padding:0 12px 12px}.preview-shell .route-steps:before{left:33px}.preview-shell .preview-chapters{gap:8px;margin:0 0 18px}.preview-shell .preview-chapters span{width:100%;font-size:11px}.preview-shell .modal .question{font-size:17px!important}
@media(prefers-reduced-motion:reduce){.route-progress-line i{transition:none}}

.is-next .route-node{animation:route-ready 2.8s ease-in-out infinite}@keyframes route-ready{0%,100%{transform:translateY(0);box-shadow:0 5px 12px #0c111826}50%{transform:translateY(-4px);box-shadow:0 10px 18px #0c11184d}}@media(prefers-reduced-motion:reduce){.is-next .route-node{animation:none}}

/* Chapter selection leads; the preview-only switch stays visually secondary. */
.preview-chapters{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 22px;flex-wrap:wrap}
.chapter-control{width:min(340px,100%);min-width:0}.chapter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.preview-chapters .chapter-heading label{font-size:12px;font-weight:650;color:#d6e0eb}.preview-chapters .chapter-heading span{width:auto;color:#aebccc;font-size:11px}
.chapter-picker{position:relative;display:flex;align-items:center;min-width:0;color:#c8d7e4}.chapter-picker>svg{position:absolute;left:14px;width:18px;height:18px;pointer-events:none;color:#c9eaa0}.preview-chapters .chapter-picker select{width:100%;min-height:48px;appearance:none;border:1px solid #506178;border-radius:10px;background:#202b39;color:#f1f5f9;padding:10px 42px 10px 43px;font-size:14px;font-weight:600;cursor:pointer}.preview-chapters .chapter-picker select:hover{border-color:#95aa85}.preview-chapters .chapter-picker select:focus-visible{outline:2px solid #d2f86b;outline-offset:3px}.preview-chapters .chapter-indicator{position:absolute;right:18px;width:8px;height:8px;border-right:1.5px solid #d1dce8;border-bottom:1.5px solid #d1dce8;transform:rotate(45deg) translateY(-2px);pointer-events:none}
.preview-utility{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:48px}.preview-chapters .preview-utility span{width:auto;color:#aebccc;font-size:11px}.preview-chapters .preview-utility button{min-height:40px;padding:8px 12px;border:1px solid #49576a;background:#263241;color:#e0e8f1;font-size:12px}.preview-chapters .preview-utility button:hover{background:#334254}
@media(max-width:600px){.preview-chapters{display:block;margin:0 0 20px}.chapter-control{width:100%}.preview-utility{justify-content:space-between;min-height:0;margin-top:9px}.preview-chapters .preview-utility button{min-height:38px}}
.preview-shell .preview-chapters{display:block;margin:0 0 20px}.preview-shell .chapter-control{width:100%}.preview-shell .preview-utility{justify-content:space-between;min-height:0;margin-top:9px}.preview-shell .preview-utility button{min-height:38px}

.preview-shell .preview-chapters .chapter-indicator{width:8px;height:8px}@media(max-width:600px){.preview-chapters .chapter-indicator{width:8px;height:8px}}

.auth-modal #deletion-form select{display:block;width:100%;font:inherit;font-size:16px;padding:12px;margin:8px 0 16px;background:#fff9e8;color:#243c49;border:1px solid #9b7042;border-radius:8px}.auth-modal #deletion-password{font-size:16px}.privacy-history{padding-left:20px;overflow-wrap:anywhere;line-height:1.8}.privacy-history li{margin-block:12px}.privacy-request-state{margin-block:18px;overflow-wrap:anywhere}.auth-modal #open-privacy-requests,.auth-modal #privacy-back{display:block;margin-block:14px;min-height:44px}
