.subject-filter{margin-left:0}
.learning-journey{align-items:flex-start;flex-wrap:wrap}
.learning-journey .link-tx{min-width:0;flex:1}
.learning-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:12px 0 2px;padding:0}
.learning-flow li{border:1px solid #dbeafe;background:#f8fbff;border-radius:11px;padding:10px;min-width:0}
.learning-flow span{display:block;color:#1d4ed8;font-size:11px;font-weight:800;margin-bottom:4px}
.learning-flow b{font-size:12px;line-height:1.35}
.learning-flow p{font-size:11.5px;line-height:1.45;margin:5px 0 0;color:#475569}
#networkStatus{position:fixed;left:50%;bottom:18px;z-index:5000;transform:translate(-50%,24px);max-width:min(92vw,680px);padding:11px 16px;border-radius:12px;background:#7f1d1d;color:#fff;box-shadow:0 10px 32px #0004;opacity:0;pointer-events:none;transition:.2s;text-align:center;font-weight:700;font-size:13px}
#networkStatus.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
#networkStatus button{margin-left:8px;border:1px solid #fff;background:#fff;color:#7f1d1d;border-radius:7px;padding:5px 9px;font-weight:800}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #f59e0b!important;outline-offset:3px!important;scroll-margin:96px 12px}
.modal[role="dialog"]{max-height:min(90vh,760px);overflow:auto;overscroll-behavior:contain}
@media(max-width:760px){.map-tools{align-items:stretch}.grade-filter,.subject-filter{width:100%;margin-left:0}.learning-flow{grid-template-columns:1fr}.panel-actions .btn{min-height:44px}}
@media(prefers-reduced-motion:reduce){#networkStatus{transition:none}.hero-stage,.hero-slide,.rcard,.book{animation:none!important;transition:none!important}}
