/* Isolated responsive rules for the learning center. Kept separate so the
   newcomer journey cannot be affected by dense dashboard layout overrides. */
@media (max-width: 980px) {
  .learn-map, .learn-resources { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .learn-resource-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .learn-resource-controls .search-field { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .learn-heading { margin-top: 3.5rem; }
  .learn-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; gap: 1rem !important; }
  .learn-grid > .learn-path-panel, .learn-grid > .learn-safety-panel { width: 100% !important; min-width: 0 !important; }
  .learn-map, .learn-steps, .learn-resources { grid-template-columns: minmax(0, 1fr) !important; }
  .learn-resource-controls { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  .learn-resource-controls .search-field { grid-column: 1 / -1; }
  .learn-intro-panel, .learn-path-panel, .learn-safety-panel, .learn-resources-panel { padding: 1rem; }
  .learn-map-card { min-height: 94px; }
  .learn-resource { min-height: 0; }
}

/* Learning stress r1: tablet states and long English resources must never widen the application shell. */
#learn,.learn-grid,.learn-map,.learn-steps,.learn-resources,.learn-resource-controls,.learn-resource{min-width:0;max-width:100%}
.learn-resource-controls>*{min-width:0}.learn-resource-controls input,.learn-resource-controls select{width:100%;min-width:0}
.learn-resource>div:first-child{min-width:0;flex-wrap:wrap}.learn-stage{min-width:0;overflow-wrap:anywhere}.learn-resource h4,.learn-resource p,.learn-resource small,.learn-resource a,.learn-map-card b,.learn-map-card span{overflow-wrap:anywhere;word-break:normal}
@media (max-width:860px){
  .terminal-nav{display:none!important}
  .learn-grid{grid-template-columns:minmax(0,1fr)!important}
  .learn-grid>.learn-path-panel,.learn-grid>.learn-safety-panel{width:100%;min-width:0}
}

/* Learning visual-r2: readable controls and compact instructional rhythm. */
.learn-grid { align-items: start; }
.learn-safety-panel { align-self: start; }
.learn-safety-link { margin-top: .15rem; }
.learn-resource-controls { grid-template-columns: minmax(250px, 1.35fr) repeat(3, minmax(150px, .72fr)); align-items: end; }
.learn-resource-controls .select-field { display: grid; grid-template-columns: minmax(0, 1fr); gap: .32rem; min-width: 0; }
.learn-resource-controls .select-field > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.learn-resource-controls .select-field select { width: 100%; min-width: 0; }
.learn-resource > div:first-child { flex-direction: column; align-items: flex-start; gap: .35rem; }
.learn-stage { justify-content: flex-start; max-width: 100%; text-align: left; }
@media (max-width: 980px) {
  .learn-resource-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .learn-resource-controls .search-field { grid-column: 1 / -1; }
}

/* Learning typography r3: a consistent reading rhythm, not merely overflow containment. */
#learn + .learn-intro-panel,
.learn-grid > .learn-path-panel,
.learn-grid > .learn-safety-panel,
.learn-resources-panel {
  padding: clamp(1.25rem, 2vw, 2rem);
}
.learn-intro-panel .panel-head,
.learn-grid .panel-head,
.learn-resources-panel .panel-head {
  gap: 1rem;
  margin-bottom: .9rem;
}
.learn-intro-copy {
  max-width: 76ch;
  margin: 1rem 0 1.45rem;
  line-height: 1.78;
}
.learn-map {
  gap: .85rem;
  margin-top: .2rem;
}
.learn-map-card {
  min-height: 8.1rem;
  padding: 1.15rem 1.2rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: .55rem;
}
.learn-map-card b { line-height: 1.3; }
.learn-map-card span { line-height: 1.55; }
.learn-map-card i { margin-top: auto; align-self: flex-end; }
.learn-grid {
  grid-template-columns: minmax(0, 1.65fr) minmax(20rem, .95fr);
  gap: 1.35rem;
  align-items: start;
}
.learn-grid > .learn-path-panel,
.learn-grid > .learn-safety-panel {
  align-self: start;
  display: flex;
  flex-direction: column;
}
.learn-grid .panel-description {
  margin: .25rem 0 1.15rem;
  line-height: 1.7;
}
.learn-steps {
  gap: .72rem;
  margin-top: .1rem;
}
.learn-steps li {
  min-height: 6.65rem;
  padding: .92rem 1rem;
  align-items: flex-start;
  column-gap: .8rem;
}
.learn-steps li > span {
  flex: 0 0 2.15rem;
  margin-top: .05rem;
}
.learn-steps li b {
  display: block;
  margin: .05rem 0 .38rem;
  line-height: 1.34;
}
.learn-steps li p {
  margin: 0;
  line-height: 1.62;
}
.learn-safety {
  display: grid;
  gap: .68rem;
  margin: .15rem 0 1.15rem;
}
.learn-safety li {
  align-items: flex-start;
  gap: .68rem;
  line-height: 1.58;
}
.learn-safety li i { flex: 0 0 1.55rem; margin-top: .08rem; }
.learn-safety-link {
  margin-top: .25rem;
  padding-top: .95rem;
  border-top: 1px solid rgba(23,63,134,.15);
  line-height: 1.35;
}
.learn-resources-panel .panel-description {
  max-width: 82ch;
  margin: .2rem 0 1.2rem;
  line-height: 1.7;
}
.learn-resource-controls {
  gap: .85rem;
  padding: .9rem;
  margin: .1rem 0 1.2rem;
  border: 1px solid rgba(23,63,134,.14);
  background: rgba(248,250,255,.7);
}
.learn-resource-controls label {
  min-width: 0;
  gap: .42rem;
}
.learn-resource-controls label > span {
  padding-left: .1rem;
  font-size: .73rem;
  letter-spacing: .08em;
  line-height: 1.2;
}
.learn-resource-controls input,
.learn-resource-controls select {
  min-height: 2.65rem;
}
.learn-resources { gap: 1rem; }
.learn-resource {
  min-height: 18.5rem;
  padding: 1.2rem;
  display: flex;
  flex-direction: column;
}
.learn-resource h4 {
  margin: .75rem 0 .55rem;
  line-height: 1.32;
}
.learn-resource p {
  margin: 0;
  line-height: 1.68;
}
.learn-resource footer {
  gap: .75rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid rgba(23,63,134,.12);
}
.learn-resource footer small { line-height: 1.45; }
.learn-resource footer a { line-height: 1.25; white-space: normal; }
@media (max-width: 980px) {
  .learn-grid { grid-template-columns: minmax(0, 1fr); }
  .learn-grid > .learn-safety-panel { min-height: auto; }
  .learn-resource { min-height: 0; }
}
@media (max-width: 680px) {
  #learn + .learn-intro-panel,
  .learn-grid > .learn-path-panel,
  .learn-grid > .learn-safety-panel,
  .learn-resources-panel { padding: 1.05rem; }
  .learn-map-card { min-height: 0; padding: 1rem; }
  .learn-grid { gap: 1rem; }
  .learn-steps li { min-height: 0; padding: .9rem; }
  .learn-resource-controls { padding: .8rem; gap: .72rem; }
  .learn-resource { padding: 1rem; }
  .learn-resource footer { align-items: flex-start; flex-direction: column; }
}



/* The #learn anchor is a section-heading sibling, not the learning panels' ancestor. Apply the reading rules to the actual panel contexts. */
.learn-intro-panel .panel-head,
.learn-grid .panel-head,
.learn-resources-panel .panel-head {
  flex-wrap: wrap;
  align-items: flex-start;
}
.learn-intro-panel .panel-head > div,
.learn-grid .panel-head > div,
.learn-resources-panel .panel-head > div { min-width: 0; }
.learn-intro-panel .panel-head .panel-code,
.learn-grid .panel-head .panel-code,
.learn-resources-panel .panel-head .panel-code {
  flex: 0 0 auto;
  white-space: nowrap;
  line-height: 1.15;
}
.learn-intro-panel .panel-head h3,
.learn-grid .panel-head h3,
.learn-resources-panel .panel-head h3 {
  margin-top: .42rem;
  line-height: 1.18;
  letter-spacing: -.015em;
}
.learn-intro-panel .panel-head > div > span,
.learn-grid .panel-head > div > span,
.learn-resources-panel .panel-head > div > span { line-height: 1.15; }
.learn-intro-panel .panel-head > .panel-code {
  display: inline-flex;
  flex: 0 0 auto;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
  text-align: right;
}
@media (max-width: 680px) {
  .learn-intro-panel .panel-head,
  .learn-grid .panel-head,
  .learn-resources-panel .panel-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .55rem;
    align-items: start;
  }
  .learn-intro-panel .panel-head .panel-code,
  .learn-grid .panel-head .panel-code,
  .learn-resources-panel .panel-head .panel-code {
    justify-self: start;
    white-space: nowrap;
  }
  .learn-intro-panel .panel-head > .panel-code { justify-self: end; }
}

@media (max-width: 680px) {
  .learn-resource-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .learn-resource-controls .search-field {
    grid-column: 1 / -1 !important;
  }
}

/* Internationalization r1: compact locale control and script-aware typography. */
.language-toggle { display: inline-flex; align-items: center; min-width: 0; }
.language-toggle select { max-width: 8.2rem; min-height: 2rem; padding: .28rem 1.45rem .28rem .58rem; color: #123f88; font: 700 .69rem/1.1 var(--mono); letter-spacing: .02em; border: 1px solid rgba(18,63,136,.24); border-radius: .42rem; background: #f7fbff; }
.language-toggle select:focus-visible { outline: 2px solid #1e63bd; outline-offset: 2px; }
html:lang(ko), html:lang(ja) { font-family: "Noto Sans CJK KR", "Noto Sans CJK JP", "Noto Sans", system-ui, sans-serif; }
html:lang(ar) { font-family: "Noto Naskh Arabic", "Noto Sans Arabic", Tahoma, Arial, sans-serif; }
html[dir="rtl"] .topbar, html[dir="rtl"] .panel-head, html[dir="rtl"] .learn-resource > div:first-child, html[dir="rtl"] .learn-resource footer { direction: rtl; }
html[dir="rtl"] .topbar-meta { flex-direction: row-reverse; }
html[dir="rtl"] .language-toggle select { padding: .28rem .58rem .28rem 1.45rem; }
html[dir="rtl"] .learn-steps li > span, html[dir="rtl"] .learn-safety li > i { flex: 0 0 auto; }
html[dir="rtl"] .learn-resource footer a { text-align: left; }
html[dir="rtl"] .numeric, html[dir="rtl"] .monospace, html[dir="rtl"] code, html[dir="rtl"] .panel-code { direction: ltr; unicode-bidi: isolate; }
@media (max-width: 860px) {
  .language-toggle select { max-width: 6.85rem; min-height: 1.9rem; font-size: .64rem; }
}
@media (max-width: 480px) {
  .language-toggle select { max-width: 6rem; padding-inline: .42rem 1.2rem; }
  html[dir="rtl"] .learn-resource footer a { text-align: right; }
}


/* Audited ecosystem: public-source updates and tools are intentionally distinct
   from the live Registry evidence stream. */
.discover-heading { margin-top: clamp(3rem, 7vw, 6.5rem); }
.ecosystem-grid { display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(20rem, .92fr); gap:1.25rem; align-items:start; }
.updates-panel,.tools-panel { min-width:0; }
.updates-stream { list-style:none; display:grid; gap:.82rem; margin:1.15rem 0 0; padding:0; }
.update-card { border:1px solid rgba(75,126,212,.22); border-left:3px solid var(--blue,#2e73e8); border-radius:.85rem; background:rgba(8,18,43,.42); padding:1rem 1.05rem; min-width:0; }
.update-card.community { border-left-color:#a47f3d; }
.update-card.reference { border-left-color:#76829d; }
.update-card header,.tool-card > div:first-child,.curated-meta,.update-card footer,.tool-card footer { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; }
.update-card header { justify-content:space-between; color:var(--muted,#91a0bb); font-size:.68rem; letter-spacing:.08em; }
.update-card h4,.tool-card h4 { margin:.72rem 0 .38rem; color:var(--text,#ecf4ff); font-size:1rem; line-height:1.35; overflow-wrap:anywhere; }
.update-card > a { color:inherit; text-decoration:none; }
.update-card > a:hover h4,.tool-card footer a:hover { color:#69a3ff; }
.update-card p,.tool-card > p { margin:0; color:var(--muted,#a7b3ca); font-size:.86rem; line-height:1.65; }
.curated-meta { margin-top:.78rem; color:var(--muted,#91a0bb); font-size:.72rem; line-height:1.4; }
.curated-meta span:not(:last-child)::after { content:'·'; margin-left:.55rem; opacity:.65; }
.update-card footer { justify-content:space-between; margin-top:.85rem; padding-top:.78rem; border-top:1px solid rgba(117,145,196,.16); }
.update-card footer small { flex:1 1 14rem; color:#aebbd0; font-size:.72rem; line-height:1.5; }
.update-card footer small b { display:block; color:#d1dbee; font-size:.65rem; letter-spacing:.08em; margin-bottom:.22rem; text-transform:uppercase; }
.update-card footer a,.tool-card footer a { color:#81b1ff; font-size:.76rem; white-space:nowrap; text-decoration:none; }
.tools-directory { display:grid; gap:.82rem; margin-top:1.15rem; }
.tool-card { border:1px solid rgba(75,126,212,.22); border-radius:.85rem; background:rgba(8,18,43,.42); padding:1rem 1.05rem; min-width:0; }
.tool-card.community { border-color:rgba(164,127,61,.45); }
.tool-card.reference { border-color:rgba(118,130,157,.42); }
.tool-category { color:var(--muted,#91a0bb); font-size:.68rem; letter-spacing:.07em; text-transform:uppercase; overflow-wrap:anywhere; }
.tool-card dl { display:grid; gap:.6rem; margin:.9rem 0 0; }
.tool-card dl > div { display:grid; grid-template-columns:5.7rem minmax(0,1fr); gap:.6rem; align-items:start; }
.tool-card dt { color:#d1dbee; font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; }
.tool-card dd { margin:0; color:#aebbd0; font-size:.75rem; line-height:1.55; overflow-wrap:anywhere; }
.tool-card footer { justify-content:space-between; margin-top:.9rem; padding-top:.78rem; border-top:1px solid rgba(117,145,196,.16); }
.tool-card footer small { color:var(--muted,#91a0bb); font-size:.72rem; }
html[dir="rtl"] .update-card { border-left:1px solid rgba(75,126,212,.22); border-right:3px solid var(--blue,#2e73e8); }
html[dir="rtl"] .update-card.community { border-right-color:#a47f3d; }
html[dir="rtl"] .update-card.reference { border-right-color:#76829d; }
html[dir="rtl"] .curated-meta span:not(:last-child)::after { margin-left:0; margin-right:.55rem; }
html[dir="rtl"] .tool-card dl > div { grid-template-columns:minmax(0,1fr) 5.7rem; }
html[dir="rtl"] .tool-card dt { text-align:left; }
@media (max-width:980px) { .ecosystem-grid { grid-template-columns:1fr; } }
@media (max-width:680px) {
  .discover-heading { margin-top:2.8rem; }
  .update-card,.tool-card { padding:.92rem; }
  .update-card footer,.tool-card footer { align-items:flex-start; flex-direction:column; gap:.62rem; }
  .update-card footer a,.tool-card footer a { white-space:normal; }
  .tool-card dl > div,html[dir="rtl"] .tool-card dl > div { grid-template-columns:1fr; gap:.2rem; }
  html[dir="rtl"] .tool-card dt { text-align:right; }
}


/* Curated ecosystem visual-r2: cards live on a light dashboard, so avoid inherited dark-overlay contrast loss. */
.update-card,.tool-card { background:linear-gradient(145deg,#fbfdff 0%,#eef5ff 100%); border-color:rgba(39,100,190,.28); box-shadow:0 8px 20px rgba(33,76,145,.08); color:#17345f; }
.update-card h4,.tool-card h4 { color:#102f66; }
.update-card p,.tool-card > p { color:#385579; }
.update-card header,.curated-meta,.tool-card footer small { color:#637a9b; }
.update-card footer { border-top-color:rgba(39,100,190,.18); }
.update-card footer small,.tool-card dd { color:#526b8d; }
.update-card footer small b,.tool-card dt { color:#274e87; }
.tool-card footer { border-top-color:rgba(39,100,190,.18); }
.update-card footer a,.tool-card footer a { color:#1d62bd; font-weight:800; }
@media (max-width:680px) { .update-card footer small { flex:0 1 auto; } }
