/* =========================================================
   v0.9.0 — Flat Memory Route / Audio Focus / Focused Screens
   One route, one primary action, restrained color and no 3D UI.
   This layer intentionally overrides the accumulated v0.3–v0.6 visuals
   without changing the learning engine or its interaction model.
   ========================================================= */

:root{
  --nle-bg:#f8f8f5;
  --nle-card:#ffffff;
  --nle-text:#202238;
  --nle-sub:#656779;
  --nle-line:#e1e1e8;
  --nle-ink:#202238;
  --nle-brand:#6656d9;
  --nle-soft:#efedff;
  --nle-good:#47765a;
  --nle-good-soft:#edf7ef;
  --nle-warn:#ad4738;
  --nle-warn-soft:#fff0ec;
  --nle-shadow:none;
}

html,
body.nle-app-page,
.nle-app,
.nle-seo-content,
.nle-modal{
  color:var(--nle-text);
  background:var(--nle-bg);
}

.nle-app,
.nle-app *,
.nle-hub,
.nle-hub *,
.nle-seo-content *{
  box-shadow:none!important;
  text-shadow:none!important;
}

.nle-app *,
.nle-hub *{filter:none!important;}

.nle-app{
  max-width:760px;
  min-height:100vh;
  border-radius:0;
  letter-spacing:0;
}

.nle-shell{max-width:720px;}

.nle-topbar{
  min-height:62px;
  height:auto;
  padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;
  border-bottom:1px solid var(--nle-line);
  background:var(--nle-bg);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.nle-brand{gap:9px;min-width:0;}
.nle-brand b{color:var(--nle-ink);font-size:14px;letter-spacing:-.025em;}
.nle-brand small{color:var(--nle-sub);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px;}
.nle-logo{
  width:36px;
  height:36px;
  border:1px solid var(--nle-brand);
  border-radius:10px;
  color:#fff;
  background:var(--nle-brand);
  font-size:19px;
  line-height:1;
}
.nle-logo:before,.nle-logo:after{display:none;}

.nle-mini-progress{
  min-width:54px;
  min-height:42px;
  padding:4px 7px;
  border:1px solid var(--nle-line);
  border-radius:10px;
  background:var(--nle-card);
}
.nle-mini-progress span{color:var(--nle-brand);font-size:14px;line-height:1.05;}
.nle-mini-progress small{font-size:9px;color:var(--nle-sub);}
.nle-app[data-current-view="home"] .nle-mini-progress{display:none;}

.nle-main{padding:14px 16px 30px;}

/* Home: a single surface with a visible route, not a stack of cards. */
.nle-mission-card{
  position:relative;
  overflow:visible;
  padding:21px;
  border:1px solid var(--nle-line);
  border-top:4px solid var(--nle-brand);
  border-radius:18px;
  color:var(--nle-text);
  background:var(--nle-card);
}
.nle-mission-card:before,.nle-mission-card:after{display:none;}
.nle-mission-head{align-items:flex-start;gap:16px;padding:0;}
.nle-mission-head .nle-hero-copy{max-width:none;}
.nle-hero-kicker{
  display:block;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  color:var(--nle-brand);
  background:transparent;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.nle-mission-head h1{
  margin:7px 0 5px;
  color:var(--nle-ink);
  font-size:26px;
  line-height:1.22;
  letter-spacing:-.04em;
}
.nle-mission-head .nle-course-tagline{
  color:var(--nle-sub);
  font-size:13px!important;
  line-height:1.55;
}

.nle-mastery-core{
  width:116px;
  height:auto;
  flex:0 0 116px;
  display:block;
  text-align:right;
}
.nle-mastery-core>strong{display:block;color:var(--nle-ink);font-size:31px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.055em;}
.nle-mastery-core>span{display:block;margin-top:5px;color:var(--nle-sub);font-size:10px;font-weight:800;line-height:1.35;}
.nle-mastery-meter{
  width:100%;
  height:5px;
  overflow:hidden;
  margin-top:8px;
  border-radius:3px;
  background:#e7e6ee;
}
.nle-mastery-meter i{display:block;width:0;height:100%;border-radius:inherit;background:var(--nle-brand);transition:width .22s ease;}
.nle-core-node,.nle-ring{display:none!important;}

.nle-home-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid var(--nle-line);
}
.nle-release-status{color:var(--nle-sub);font-size:10.5px;line-height:1.3;white-space:nowrap;}
.nle-release-status strong{color:var(--nle-ink);font-weight:900;font-variant-numeric:tabular-nums;}
.nle-streak-chip{
  display:inline-flex;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--nle-sub);
}
.nle-streak-icon{display:grid;place-items:center;width:17px;height:17px;color:var(--nle-brand);background:transparent;}
.nle-streak-chip strong{color:var(--nle-ink);font-size:10.5px;line-height:1.1;}
.nle-streak-chip small{color:var(--nle-sub);font-size:9.5px;line-height:1.15;}

.nle-memory-route{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr);
  gap:4px;
  margin:17px 0 0;
  padding:14px 0;
  border:0;
  border-top:1px solid var(--nle-line);
  border-bottom:1px solid var(--nle-line);
  border-radius:0;
  background:transparent;
}
.nle-memory-route>i{height:1px;border-radius:0;background:var(--nle-line);}
.nle-route-step{color:var(--nle-sub);}
.nle-route-step>span{
  width:29px;
  height:29px;
  margin:0 auto 5px;
  border:1px solid var(--nle-line);
  border-radius:8px;
  color:var(--nle-sub);
  background:var(--nle-bg);
  font-size:10px;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.nle-route-step b{color:inherit;font-size:11px;}
.nle-route-step small{color:inherit;font-size:9.5px;}
.nle-route-step.is-current,.nle-route-step.is-done{color:var(--nle-ink);}
.nle-route-step.is-current>span{border-color:var(--nle-brand);color:#fff;background:var(--nle-brand);transform:none;animation:none;}
.nle-route-step.is-done>span{border-color:var(--nle-good);color:var(--nle-good);background:var(--nle-good-soft);}
.nle-route-step.is-done+i{background:var(--nle-good);}

.nle-mission-action{
  padding:16px 0 0;
  border:0;
  border-radius:0;
  color:var(--nle-text);
  background:transparent;
}
.nle-mission-action .nle-card-title{margin:0;font-size:15px;}
.nle-mission-spark{width:8px;height:8px;border-radius:2px;background:var(--nle-brand);transform:none;}
.nle-time{padding:0;border-radius:0;color:var(--nle-sub);background:transparent;font-size:11px;font-weight:750;}
.nle-mission-note{margin:4px 0 4px;color:var(--nle-sub);font-size:11px;}
.nle-mission-action .nle-today-row{padding:9px 0;border-color:var(--nle-line);}
.nle-mission-action .nle-today-row b{font-size:13px;}
.nle-mission-action .nle-today-row small{font-size:11px;}
.nle-dot{width:8px;height:8px;border-radius:2px;}
.nle-dot-review{background:#d7a73b;}
.nle-dot-new{background:var(--nle-brand);}

.nle-primary,
.nle-secondary{
  min-height:52px;
  border-radius:13px;
  font-size:14px;
  transition:transform .14s ease,opacity .14s ease,background .14s ease;
}
.nle-primary{
  border:1px solid var(--nle-brand);
  background:var(--nle-brand);
  color:#fff;
}
.nle-primary:hover{background:var(--nle-brand);opacity:.92;transform:none;}
.nle-primary:active{background:var(--nle-brand);opacity:.82;transform:translateY(1px);}
.nle-primary:disabled{border-color:#c6c5cf;background:#c6c5cf;color:#fff;opacity:1;}
.nle-secondary{border:1px solid var(--nle-line);background:var(--nle-card);color:var(--nle-text);}
.nle-secondary:hover{background:var(--nle-bg);transform:none;}
.nle-secondary:active{transform:translateY(1px);}
.nle-save-status{margin-top:8px;color:var(--nle-sub);font-size:10px;}
.nle-save-status:before{color:var(--nle-good);}

.nle-quick-actions{gap:8px;margin-top:10px;}
.nle-quick-actions .nle-stat{
  min-height:70px;
  padding:10px 11px;
  border:1px solid var(--nle-line);
  border-radius:13px;
  background:var(--nle-card)!important;
}
.nle-quick-actions .nle-stat-icon{
  width:34px;
  height:34px;
  border-radius:8px;
  color:var(--nle-brand);
  background:var(--nle-soft)!important;
}
.nle-quick-actions .nle-stat:nth-child(2) .nle-stat-icon{color:var(--nle-warn);background:var(--nle-warn-soft)!important;}
.nle-quick-actions .nle-stat b{font-size:12px;}
.nle-quick-actions .nle-stat small{font-size:10px;}
.nle-quick-actions .nle-stat:hover{border-color:var(--nle-brand);transform:none;}

/* Persistent navigation is calm and functional, not a floating game control. */
.nle-bottom-nav{
  height:calc(70px + env(safe-area-inset-bottom,0px));
  gap:2px;
  padding:7px 10px calc(7px + env(safe-area-inset-bottom,0px));
  border-top:1px solid var(--nle-line);
  background:var(--nle-card);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.nle-bottom-nav button{min-height:48px;border-radius:9px;color:var(--nle-sub);}
.nle-bottom-nav button.is-active{color:var(--nle-brand);background:var(--nle-soft);}
.nle-bottom-nav button.is-active .nle-nav-icon{color:inherit;background:transparent;transform:none;}
.nle-bottom-nav small{font-size:10px;font-weight:800;}
.nle-bottom-nav em{background:var(--nle-warn);}

/* Shared page, lesson and review surfaces. */
.nle-page-head{padding:6px 0 8px;}
.nle-page-head h1,.nle-page-head h2,.nle-lesson-head h1{color:var(--nle-ink);font-size:25px;}
.nle-page-head p{color:var(--nle-sub);font-size:12px;}
.nle-page-card,.nle-complete-card,.nle-context,.nle-map-level-summary,.nle-map-category,.nle-catalog-lesson,.nle-seo-details{
  border:1px solid var(--nle-line);
  border-radius:16px;
  background:var(--nle-card);
}
.nle-back,.nle-exit{
  width:42px;
  height:42px;
  border:1px solid var(--nle-line);
  border-radius:10px;
  background:var(--nle-card);
}
.nle-exit:hover{color:var(--nle-warn);background:var(--nle-warn-soft);}
.nle-chip{border-radius:7px;color:var(--nle-brand);background:var(--nle-soft);}
.nle-lesson-step-state{border:1px solid var(--nle-line);border-radius:7px;color:var(--nle-brand);background:var(--nle-soft);}

.nle-stepper{margin:11px 0 18px;padding:0;}
.nle-step:not(:last-child):after{height:1px;border-radius:0;background:var(--nle-line);}
.nle-step.is-on:not(.is-current):after{background:var(--nle-good);}
.nle-step i{
  width:30px;
  height:30px;
  border:1px solid var(--nle-line);
  border-radius:8px;
  color:var(--nle-sub);
  background:var(--nle-bg);
}
.nle-step.is-on{color:var(--nle-good);}
.nle-step.is-on i{border-color:var(--nle-good);color:var(--nle-good);background:var(--nle-good-soft);}
.nle-step.is-current{color:var(--nle-brand);}
.nle-step.is-current i{border-color:var(--nle-brand);color:#fff;background:var(--nle-brand);transform:none;}
.nle-step.is-current small{color:var(--nle-brand);}
.nle-step-label{color:var(--nle-ink);font-size:20px;}

.nle-audio-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--nle-line);
  border-radius:18px;
  color:var(--nle-ink);
  background:var(--nle-card);
}
.nle-audio-card:before,.nle-audio-card:after{display:none;}
.nle-audio-title{min-width:0;padding-left:16px;position:relative;}
.nle-audio-title:before{content:"";position:absolute;left:0;top:4px;width:7px;height:7px;border-radius:2px;background:var(--nle-brand);}
.nle-audio-card.is-playing .nle-audio-title:before{background:var(--nle-good);}
.nle-audio-card.is-loading .nle-audio-title:before{background:var(--nle-warn);}
.nle-audio-title b{color:var(--nle-ink);font-size:14px;}
.nle-audio-title small{color:var(--nle-sub);opacity:1;font-size:10.5px;}
.nle-audio-segment{color:var(--nle-brand);font-weight:900;}
.nle-play,
.nle-audio-card .nle-play{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex:0 0 48px;
  border:1px solid var(--nle-brand);
  border-radius:14px;
  color:#fff;
  background:var(--nle-brand);
  cursor:pointer;
}
.nle-audio-icon{width:21px;height:21px;display:block;}
.nle-play.is-loading{cursor:wait;}
.nle-play.is-loading::before{width:19px;height:19px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;}
.nle-audio-progress{position:relative;color:var(--nle-sub);}
.nle-audio-track{position:relative;display:block;height:20px;min-width:0;}
.nle-audio-track:before{content:"";position:absolute;left:0;right:0;top:8px;height:4px;border-radius:99px;background:var(--nle-line);}
.nle-audio-track-fill{position:absolute;left:0;top:8px;width:0;height:4px;border-radius:99px;background:var(--nle-brand);pointer-events:none;}
.nle-audio-seek{
  position:absolute;
  inset:0;
  width:100%;
  height:20px;
  appearance:none;
  background:transparent;
  cursor:pointer;
}
.nle-audio-seek::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:transparent;}
.nle-audio-seek::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;border:2px solid var(--nle-brand);border-radius:50%;background:var(--nle-card);appearance:none;}
.nle-audio-seek::-moz-range-track{height:4px;border-radius:99px;background:transparent;}
.nle-audio-seek::-moz-range-progress{height:4px;border-radius:99px;background:transparent;}
.nle-audio-seek::-moz-range-thumb{width:12px;height:12px;border:2px solid var(--nle-brand);border-radius:50%;background:var(--nle-card);}
.nle-audio-progress.is-locked .nle-audio-seek{opacity:0;cursor:default;}
.nle-audio-lock-hint{color:var(--nle-sub);border:1px solid var(--nle-line);border-radius:10px;background:var(--nle-bg);}
.nle-lock-icon{color:var(--nle-brand);}
.nle-audio-card.is-playing{outline:2px solid var(--nle-soft);outline-offset:2px;}
.nle-speed-row{align-items:center;padding-top:10px;border-top:1px solid var(--nle-line);}
.nle-speed-label{margin-right:auto;color:var(--nle-sub);font-size:10px;font-weight:800;}
.nle-speed{min-width:50px;min-height:34px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 6px;border:1px solid var(--nle-line);border-radius:8px;color:var(--nle-sub);background:var(--nle-bg);font-size:10px;line-height:1.1;}
.nle-speed small{font-size:8px;line-height:1;color:inherit;opacity:.72;}
.nle-speed.is-active{border-color:var(--nle-brand);color:var(--nle-brand);background:var(--nle-soft);}
.nle-sentence-audio,.nle-target-audio{display:inline-flex;align-items:center;justify-content:center;gap:7px;}
.nle-sentence-audio .nle-audio-icon,.nle-target-audio .nle-audio-icon{width:15px;height:15px;}
.nle-sentence-audio.is-loading,.nle-target-audio.is-loading{cursor:wait;}
.nle-audio-loading-spinner{width:14px;height:14px;display:inline-block;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:nle-spin .7s linear infinite;}
.nle-shadow-player{filter:none;}

.nle-sentence{
  border-color:var(--nle-line);
  border-radius:14px;
  background:var(--nle-card);
}
.nle-speaker{border:1px solid var(--nle-line);border-radius:7px;color:var(--nle-brand);background:var(--nle-soft);}
.nle-speaker.is-b{color:var(--nle-warn);background:var(--nle-warn-soft);}
.nle-sentence-index{border-radius:7px;color:var(--nle-sub);background:var(--nle-bg);}
.nle-sentence-audio,.nle-target-audio{border-color:var(--nle-line);border-radius:8px;color:var(--nle-brand);background:var(--nle-soft);}
.nle-sentence-audio.is-playing,.nle-target-audio.is-playing{border-color:var(--nle-brand);color:var(--nle-brand);background:var(--nle-soft);}
.nle-understanding-card.is-audio-playing,.nle-understanding-card.is-audio-loading{border-color:var(--nle-brand);outline:2px solid var(--nle-soft);outline-offset:1px;}
.nle-understanding-card.is-known{border-color:var(--nle-good);background:var(--nle-good-soft);}
.nle-understanding-card.is-known .nle-known-check{color:var(--nle-good);}
.nle-understanding-card.is-known .nle-check-mark{border-color:var(--nle-good);color:#fff;background:var(--nle-good);}
.nle-inline-term{border-radius:4px;color:var(--nle-brand);background:var(--nle-soft);}
.nle-point-example-label{border-radius:4px;color:var(--nle-warn);background:var(--nle-warn-soft);}
.nle-shadow-row.is-playing{border-left:3px solid var(--nle-brand)!important;background:var(--nle-soft);}
.nle-shadow-row.is-playing .nle-en{color:var(--nle-brand);}
.nle-understood{border-color:var(--nle-good)!important;color:var(--nle-good);background:var(--nle-good-soft);}
.nle-still{border-color:var(--nle-warn)!important;color:var(--nle-warn);background:var(--nle-warn-soft);}
.nle-review-speak-prompt,.nle-context-row.is-target{color:var(--nle-brand);background:var(--nle-soft);}
.nle-review-feedback.is-success{color:var(--nle-good);background:var(--nle-good-soft);}
.nle-review-result-label,.nle-review-stage{color:var(--nle-brand);}

/* The map stays a route but loses the dashboard-card appearance. */
.nle-level-tabs{gap:6px;}
.nle-level-tabs button{
  min-height:48px;
  border:1px solid var(--nle-line);
  border-radius:9px;
  color:var(--nle-sub);
  background:var(--nle-card);
}
.nle-level-tabs button.is-active{border-color:var(--nle-brand);color:#fff;background:var(--nle-brand);}
.nle-map-level-summary{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:14px;
  padding:13px 0 13px 13px;
  border:0;
  border-left:3px solid var(--nle-brand);
  border-radius:0;
  background:transparent;
}
.nle-map-level-summary>strong,.nle-map-category-head>span,.nle-level-pct{color:var(--nle-brand);}
.nle-bar{height:6px;border-radius:3px;background:#e7e6ee;}
.nle-bar i{border-radius:inherit;background:var(--nle-brand);}
.nle-map-category{
  margin:20px 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.nle-map-category-head{margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid var(--nle-line);}
.nle-map-category-head h2{font-size:15px;}
.nle-map-category-head>span{min-width:0;padding:0;border-radius:0;background:transparent;font-size:12px;}
.nle-map-scenes{gap:8px!important;}
.nle-map-scenes:before{width:1px;border-radius:0;background:var(--nle-line);}
.nle-scene-btn{
  min-height:72px;
  padding:10px 10px 10px 8px!important;
  border:1px solid var(--nle-line);
  border-radius:14px;
  background:var(--nle-card);
}
.nle-scene-btn:not([disabled]):hover{border-color:var(--nle-brand);background:var(--nle-card);transform:none;}
.nle-scene-no{
  width:46px;
  height:46px;
  border:1px solid var(--nle-line);
  border-radius:9px;
  color:var(--nle-sub);
  background:var(--nle-bg);
}
.nle-scene-main b,.nle-scene-status strong{color:var(--nle-ink);}
.nle-scene-btn.is-current{border-color:var(--nle-brand);background:var(--nle-soft);}
.nle-scene-btn.is-current .nle-scene-no{border-color:var(--nle-brand);color:#fff;background:var(--nle-brand);transform:none;}
.nle-scene-btn.is-current .nle-scene-status small,.nle-scene-btn.is-current .nle-scene-status strong{color:var(--nle-brand);}
.nle-scene-btn.is-completed{background:var(--nle-good-soft);}
.nle-scene-btn.is-completed .nle-scene-no{border-color:var(--nle-good);color:var(--nle-good);background:var(--nle-good-soft);}
.nle-scene-btn.is-locked{background:#f2f2f4;}
.nle-scene-btn.is-locked .nle-scene-no{background:#ececef;}

/* Completion and course overview carry the same simple route language. */
.nle-complete-card{padding:22px 18px;border-top:3px solid var(--nle-brand);border-radius:16px;}
.nle-complete-mark{border:1px solid var(--nle-brand);border-radius:10px;color:#fff;background:var(--nle-brand);}
.nle-complete-route{margin:16px 0;padding:12px 7px;border:1px solid var(--nle-line);border-radius:12px;background:var(--nle-bg);}
.nle-complete-route>i,.nle-hub-route>i{height:1px;border-radius:0;background:var(--nle-good);}
.nle-complete-route span{border:1px solid var(--nle-good);border-radius:8px;color:var(--nle-good);background:var(--nle-good-soft);}
.nle-complete-summary>div{border-color:var(--nle-line);border-radius:10px;background:var(--nle-bg)!important;}
.nle-complete-summary strong{color:var(--nle-brand);}
.nle-complete-streak{border-color:var(--nle-line);border-radius:10px;background:var(--nle-bg);}

/* Hub and SEO content are intentionally quiet so the course is the focus. */
.nle-hub{max-width:920px;padding:18px;}
.nle-hub-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,300px);
  gap:28px;
  padding:30px!important;
  border:1px solid var(--nle-line);
  border-top:4px solid var(--nle-brand);
  border-radius:18px;
  color:var(--nle-text);
  background:var(--nle-card);
}
.nle-hub-hero:before,.nle-hub-hero:after{display:none;}
.nle-hub-hero h1{color:var(--nle-ink);font-size:40px!important;}
.nle-hub-hero h2,.nle-hub-copy p{color:var(--nle-sub)!important;}
.nle-hub-route{padding:16px 11px;border:1px solid var(--nle-line);border-radius:12px;background:var(--nle-bg);}
.nle-hub-route span{border:1px solid var(--nle-brand);border-radius:8px;color:#fff;background:var(--nle-brand);}
.nle-hub-route>div:nth-of-type(2) span{color:var(--nle-good);border-color:var(--nle-good);background:var(--nle-good-soft);}
.nle-hub-route>div:nth-of-type(3) span{color:var(--nle-brand);background:var(--nle-soft);}
.nle-hub-route b{color:var(--nle-ink);}
.nle-hub-card{border:1px solid var(--nle-line);border-radius:15px;color:var(--nle-text)!important;background:var(--nle-card);}
.nle-hub-card:before{height:3px;background:var(--nle-brand);}
.nle-hub-card i{border-radius:7px;background:var(--nle-brand);}
.nle-hub-card:hover{border-color:var(--nle-brand);transform:none;}
.nle-hub-card-label,.nle-seo-details>summary,.nle-catalog-lesson>summary span,.nle-catalog-sentence details summary{color:var(--nle-brand)!important;}

.nle-modal{border:1px solid var(--nle-line);border-radius:16px;background:var(--nle-card);}
.nle-modal-backdrop{background:rgba(32,34,56,.48);}
.nle-modal-confirm{border-color:var(--nle-warn);background:var(--nle-warn);}
.nle-toast{border:1px solid var(--nle-ink);border-radius:10px;background:var(--nle-ink);}
.nle-loading span{border-color:var(--nle-line);border-top-color:var(--nle-brand);}

/* v0.9.0 — softer type and progressive disclosure */
.nle-app,.nle-hub,.nle-seo-content,.nle-modal{
  font-family:system-ui,-apple-system,"Noto Sans JP","Hiragino Sans","Yu Gothic UI","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
}
.nle-mission-head h1,.nle-page-head h1,.nle-page-head h2,.nle-lesson-head h1,.nle-complete-card h2{
  font-weight:700;
  letter-spacing:-.02em;
}
.nle-card-title,.nle-primary,.nle-secondary,.nle-step-label,.nle-review-question,.nle-review-result-label,.nle-review-stage,.nle-review-answer button,.nle-level-tabs button,.nle-audio-title b{
  font-weight:700;
}
.nle-en{font-weight:600;}
.nle-jp{font-weight:600;}
.nle-known-check{font-weight:700;}
.nle-point-disclosure{
  margin-top:12px;
  border-top:1px solid var(--nle-line);
}
.nle-point-disclosure>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:42px;
  color:var(--nle-brand);
  cursor:pointer;
  list-style:none;
  font-size:12px;
  font-weight:700;
}
.nle-point-disclosure>summary::-webkit-details-marker{display:none;}
.nle-point-disclosure>summary:after{content:"＋";font-size:16px;font-weight:400;}
.nle-point-disclosure[open]>summary:after{content:"−";}
.nle-point-disclosure>summary small{color:var(--nle-sub);font-size:10px;font-weight:600;}
.nle-point-disclosure .nle-point-block{border-top:0!important;margin:0!important;padding:0 0 4px!important;}

@media(max-width:560px){
  .nle-map-scenes{grid-template-columns:1fr!important;}
  .nle-point-disclosure>summary{min-height:44px;}
}

.nle-app button:focus-visible,
.nle-app input:focus-visible,
.nle-seo-content summary:focus-visible,
.nle-hub a:focus-visible,
.nle-modal button:focus-visible{
  outline:3px solid var(--nle-brand);
  outline-offset:2px;
}
.nle-audio-card button:focus-visible,.nle-audio-card input:focus-visible{outline-color:var(--nle-brand);}

@media(max-width:560px){
  .nle-main{padding:12px 12px 26px;}
  .nle-mission-card{padding:18px;border-radius:16px;}
  .nle-mission-head h1{font-size:24px;}
  .nle-quick-actions .nle-stat{min-height:66px;padding:9px;}
  .nle-hub{padding:12px;}
  .nle-hub-hero{grid-template-columns:1fr;padding:22px!important;}
}

@media(max-width:390px){
  .nle-topbar{padding-right:11px;padding-left:11px;}
  .nle-brand small{display:none;}
  .nle-mission-head{display:block;}
  .nle-mastery-core{width:100%;margin-top:15px;text-align:left;}
  .nle-mastery-core>span{font-size:10px;}
  .nle-home-meta{align-items:flex-start;}
  .nle-memory-route{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1fr);gap:2px;}
  .nle-route-step small{font-size:8.5px;}
  .nle-route-step b{font-size:10.5px;}
  .nle-quick-actions .nle-stat{grid-template-columns:32px minmax(0,1fr);column-gap:7px;}
  .nle-quick-actions .nle-stat-icon{width:30px;height:30px;}
  .nle-quick-actions .nle-stat small{display:none;}
  .nle-bottom-nav{padding-right:6px;padding-left:6px;}
  .nle-bottom-nav small{font-size:9.5px;}
}

@media(prefers-reduced-motion:reduce){
  .nle-app *, .nle-hub *{transition:none!important;animation:none!important;scroll-behavior:auto!important;}
}

/* v0.9.1 — one next action on home, less scanning in STEP 2 */
.nle-home .nle-hero-kicker,
.nle-home .nle-course-tagline,
.nle-home .nle-streak-chip,
.nle-home .nle-mission-note{display:none!important;}
.nle-home .nle-mission-head h1{margin:0;}
.nle-home .nle-home-meta{margin-top:13px;padding-top:10px;}
.nle-home .nle-memory-route{margin-top:13px;padding:11px 0;}
.nle-home .nle-route-step small{display:none;}
.nle-home .nle-route-step>span{margin-bottom:4px;}
.nle-home .nle-mission-action{padding-top:13px;}
.nle-home .nle-mission-action .nle-today-row{padding:8px 0 0;border-bottom:0;}
.nle-home .nle-save-status{display:none;}
.nle-home .nle-save-status.is-error{display:block;margin-top:8px;}

#nle-lesson-root[data-step="2"] .nle-instruction{margin-bottom:10px;font-size:12px;line-height:1.55;}
#nle-lesson-root[data-step="2"] .nle-sentence-list{gap:7px;}
#nle-lesson-root[data-step="2"] .nle-sentence{padding:11px 12px;border-radius:12px;}
#nle-lesson-root[data-step="2"] .nle-sentence-audio{min-height:40px;margin-top:8px;padding:6px 9px;}
#nle-lesson-root[data-step="2"] .nle-explanation{margin-top:9px;padding-top:9px;}
#nle-lesson-root[data-step="2"] .nle-known-check{min-height:40px;margin-top:9px;padding-top:9px!important;}

/* v0.9.2 — make the first STEP 2 pass feel like a calm classification */
.nle-step2-sort-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 7px;
}
.nle-step2-kicker{
  color:var(--nle-brand);
  font-size:11px;
  font-weight:700;
}
.nle-step2-progress{
  color:var(--nle-sub);
  font-size:10px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
#nle-lesson-root[data-step="2"] .nle-step2-sort-head + .nle-instruction{margin-top:0;}

@media(max-width:390px){
  .nle-step2-sort-head{align-items:flex-start;}
  .nle-step2-kicker{font-size:10.5px;}
}

@media(max-width:600px){
  .nle-mission-head{display:block;}
  .nle-mastery-core{width:100%;margin-top:13px;text-align:left;}
  .nle-mastery-core>strong{font-size:28px;}
  .nle-mastery-meter{max-width:210px;}
}

@media(max-width:390px){
  .nle-home .nle-mission-card{padding:16px;}
  .nle-home .nle-memory-route{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1fr);gap:2px;}
}
