:root{--cream:#f6f2e9;--paper:#fffdf8;--ink:#17233f;--muted:#687083;--line:#d9d9d1;--cobalt:#2855c5;--cobalt-dark:#1d3f98;--coral:#ed755c;--mint:#dbeee5;--shadow:0 18px 45px rgba(23,35,63,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.52}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:3px}header,main{max-width:1240px;margin:auto}.site-header{height:78px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:800;text-decoration:none;letter-spacing:-1.2px}.brand-mark{font-size:24px;color:var(--coral);line-height:1}.brand-name{font-size:24px}.brand-name span{font-weight:400}.primary-nav{display:flex;align-items:center;gap:7px;margin:auto}.nav-link{border:0;background:transparent;color:var(--muted);padding:9px 14px;border-radius:100px;font-size:13px;font-weight:700}.nav-link:hover{color:var(--ink);background:#ebe6db}.nav-link.is-active,.nav-link[aria-current=page]{color:#fff;background:var(--ink)}.edition{color:var(--muted);font-size:9px;letter-spacing:1.8px;font-weight:800}main{padding:0 40px}.welcome{min-height:390px;padding:65px 40px 55px;margin:0 -40px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:linear-gradient(110deg,#f6f2e9 0%,#f6f2e9 57%,#e7edf9 100%);overflow:hidden}.welcome-copy{max-width:650px}.eyebrow{color:var(--cobalt);font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:800;margin:0}.welcome h1{font-family:Georgia,serif;font-size:clamp(54px,7vw,84px);font-weight:400;line-height:.98;letter-spacing:-4px;margin:17px 0}.welcome h1 em{font-style:normal;color:var(--cobalt)}.lede{font-size:17px;color:var(--muted);max-width:440px;margin:0}.welcome-actions{display:flex;align-items:center;gap:24px;margin-top:27px}.primary{border:0;border-radius:5px;background:var(--cobalt);color:#fff;padding:12px 18px;font-weight:750;font-size:13px;box-shadow:0 5px 0 var(--cobalt-dark)}.primary:hover{background:var(--cobalt-dark)}.primary-large{padding:15px 22px;font-size:14px}.primary-large span{margin-left:18px;font-size:18px}.quiet-link,.text-button{color:var(--cobalt);text-decoration:underline;text-underline-offset:4px}.quiet-link{font-size:13px;font-weight:650}.text-button{border:0;background:transparent;padding:7px 0;font-size:13px}.welcome-orbit{width:260px;height:260px;position:relative;flex:none}.orbit-ring{position:absolute;border:1px solid rgba(40,85,197,.35);border-radius:50%;inset:10px}.ring-two{inset:38px;border-style:dashed;transform:rotate(32deg) scaleX(.76)}.orbit-core{position:absolute;inset:77px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-content:center;text-align:center;font:18px/1.05 Georgia,serif;box-shadow:0 0 0 10px rgba(255,255,255,.58)}.orbit-core span{color:#91a9f1;font-style:italic}.orbit-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(237,117,92,.15)}.dot-one{top:23px;right:44px}.dot-two{bottom:31px;left:27px;background:var(--cobalt)}.install-help{border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:22px 0 12px;font-size:13px;background:var(--paper)}.install-help summary{cursor:pointer;color:var(--ink);font-weight:750}.install-help p{max-width:750px}.offline-tools{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:0 0 28px}.offline-tools span{color:var(--muted);max-width:650px}.workspace-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:30px 0 20px}.workspace-heading h2,.knowledge-shell h2{font:400 clamp(27px,4vw,40px)/1.05 Georgia,serif;letter-spacing:-1px;margin:9px 0 0}.workspace-note{color:var(--muted);max-width:270px;font-size:13px;margin:0}.subject-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:14px 0;margin-bottom:24px}.subject-label{display:flex;flex-direction:column;min-width:165px}.subject-kicker{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:800}.subject-label strong{font-size:14px}.subject-strip nav{display:flex;gap:6px;overflow:visible;min-width:0;flex:1;flex-wrap:wrap}.subject{border:1px solid transparent;background:transparent;text-align:left;color:var(--muted);padding:8px 12px;border-radius:100px;white-space:nowrap;font-size:12px;font-weight:650}.subject:hover{border-color:var(--line);color:var(--ink)}.subject[aria-pressed=true]{background:var(--ink);color:#fff}.subject small{display:none}.workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:30px}.explore-aside{padding-top:18px;color:var(--muted);font-size:13px}.explore-aside p{max-width:155px}.aside-rule{width:34px;border-top:3px solid var(--coral);margin-bottom:22px}.aside-action{border:0;background:transparent;color:var(--cobalt);font-weight:750;padding:12px 0 0;text-align:left;font-size:13px}.aside-action span{margin-left:12px}.question-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:27px 32px;min-height:540px;box-shadow:var(--shadow)}.mode-tabs{display:flex;border-bottom:1px solid var(--line);gap:24px;margin:-3px 0 22px}.mode-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 0;color:var(--muted);font-weight:750;font-size:13px}.mode-tabs button[aria-pressed=true]{color:var(--ink);border-color:var(--coral)}.selection-editor{border-bottom:1px solid var(--line);margin-bottom:22px}.selection-editor summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:7px 0 12px;color:var(--cobalt);font-size:12px;font-weight:750}.edit-label{color:var(--muted);font-weight:500}.practice-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:4px 0 16px}.practice-filters label,#written label,#test-written label{font-size:11px;font-weight:750;color:var(--muted)}.practice-filters select{display:block;width:100%;min-width:0;max-width:100%;padding:9px 8px;margin-top:5px;background:var(--cream);border:1px solid var(--line);border-radius:4px;color:var(--ink);font-size:12px}.level-guide{font-size:12px;color:var(--muted);padding-bottom:13px}.level-guide summary{cursor:pointer;color:var(--cobalt)}.level-guide p{line-height:1.6}.question-top{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--cobalt);gap:16px}.draft{font-size:10px;color:var(--muted);margin:15px 0 0}.question-panel h2{font-family:Georgia,serif;font-size:clamp(24px,2.7vw,33px);line-height:1.32;font-weight:400;margin:12px 0 25px;white-space:pre-line;overflow-wrap:anywhere}.question-panel fieldset{border:0;padding:0;margin:0;display:grid;gap:9px}.choice{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:5px;padding:12px 14px;cursor:pointer;font-size:14px;background:#fffefa}.choice:hover{border-color:#a9b6d7}.choice:has(input:checked){background:#edf1fc;border-color:var(--cobalt)}.choice.correct{border-color:#319074;background:var(--mint)}.choice.wrong,.choice.wrong:has(input:checked){border-color:#be5b47;background:#fff0eb}input[type=radio]{accent-color:var(--cobalt);width:16px;height:16px;flex-shrink:0}textarea{display:block;width:100%;resize:vertical;background:var(--cream);border:1px solid var(--line);border-radius:5px;padding:14px;margin-top:8px;color:var(--ink);font:15px/1.6 system-ui,sans-serif}#explanation{white-space:pre-line}.question-actions{display:flex;gap:22px;align-items:center;margin-top:23px;flex-wrap:wrap}.feedback{border-top:1px solid var(--line);margin-top:25px;padding-top:15px}.feedback h3{font-size:17px;margin:0}.feedback p{font-size:14px;color:#46516a}.error{color:#9c4034;font-size:13px}.rubric{padding-left:22px;font-size:14px;white-space:pre-line}.rubric li{padding:6px 0}.subject-notice{padding:12px;border-left:3px solid #c08b35;background:#fbf1d7;line-height:1.65}.test-options{display:flex;gap:20px;margin:22px 0}.test-options label{font-size:13px;flex:1}.test-options select{display:block;margin-top:8px;padding:10px;width:100%;border:1px solid var(--line);background:var(--cream);border-radius:5px}.test-bar{display:flex;justify-content:space-between;gap:15px;align-items:center;font-weight:700}.test-bar [role=timer]{font-variant-numeric:tabular-nums;padding:8px 13px;background:var(--mint);border-radius:5px}.test-bar .urgent{color:#9c4034;background:#fff0eb}#test-nav{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 20px;overflow:visible}#test-nav button{min-width:36px;min-height:36px;border:1px solid var(--line);background:var(--cream);border-radius:5px;color:var(--ink);font-size:12px}#test-nav button.answered{background:var(--mint)}#test-nav button[aria-current=true]{border:2px solid var(--cobalt)}#test-setup>p{font-size:14px;color:var(--muted)}#test-preview{border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.review-item{border:1px solid var(--line);border-radius:6px;padding:16px;margin-bottom:14px;font-size:13px}.review-item summary{font-weight:650;cursor:pointer}.review-item p{white-space:pre-line;overflow-wrap:anywhere}.review-item .answer-copy{background:var(--cream);padding:12px;border-radius:4px}.review-item label{display:block;font-weight:650;margin-top:12px}.review-item select{max-width:100%;padding:9px;font:inherit}#test-score-note{font-size:14px;color:var(--muted)}#test-history{font-size:12px;margin-top:16px}#test-history button{display:block}.knowledge-view{padding:70px 0 60px;min-height:540px}.knowledge-shell{max-width:980px;margin:auto}.knowledge-intro{max-width:510px;color:var(--muted);font-size:15px}.knowledge-placeholder{margin-top:45px;min-height:260px;border:1px dashed #aebbd8;border-radius:8px;background:#edf1fc;display:grid;place-content:center;text-align:center;color:var(--muted)}.placeholder-spark{font-size:28px;color:var(--coral)}.knowledge-placeholder p{margin:12px 0 2px;color:var(--ink);font:22px Georgia,serif}.knowledge-placeholder small{font-size:12px}.progress{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:58px 0 40px;padding-top:30px;border-top:1px solid var(--line)}.progress h2{font:30px Georgia,serif;margin:12px 0}.progress p{max-width:430px;color:var(--muted);font-size:13px}.progress-list{display:grid;grid-template-columns:1fr;gap:9px;font-size:12px}.progress-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:7px;gap:10px}.progress-row span:last-child{color:var(--muted)}footer{border-top:1px solid var(--line);padding:20px 0 30px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.small{font-size:11px!important;color:var(--muted)}[dir=rtl]{text-align:right;unicode-bidi:plaintext}#question,#test-question{unicode-bidi:plaintext;white-space:pre-line}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.knowledge-active .welcome,body.knowledge-active .install-help,body.knowledge-active .offline-tools,body.knowledge-active #workspace,body.knowledge-active .progress,body.knowledge-active footer{display:none!important}@media(max-width:850px){.site-header{padding:0 22px;gap:20px}.edition{display:none}.primary-nav{gap:2px}.nav-link{padding:8px 10px}main{padding:0 22px}.welcome{margin:0 -22px;padding:45px 22px;min-height:360px}.welcome-orbit{width:190px;height:190px}.orbit-core{inset:56px;font-size:15px}.workspace-heading{display:block}.workspace-note{margin-top:11px}.subject-strip{display:block}.subject-label{margin-bottom:10px}.workspace{grid-template-columns:1fr;gap:12px}.explore-aside{display:none}.practice-filters{grid-template-columns:repeat(2,1fr)}.question-panel{padding:23px 22px}.knowledge-view{padding-top:45px}.progress{gap:25px}}@media(max-width:560px){.site-header{height:auto;min-height:70px;padding:13px 14px;flex-wrap:wrap;gap:8px}.brand{margin-right:auto}.brand-name{font-size:21px}.primary-nav{order:3;width:100%;justify-content:space-between}.nav-link{flex:1;font-size:12px}.welcome{display:block;padding-top:38px}.welcome h1{font-size:57px;letter-spacing:-3px}.lede{font-size:15px}.welcome-orbit{margin:35px auto 0;width:155px;height:155px}.orbit-core{inset:45px;font-size:13px}.workspace-heading h2{font-size:30px}.practice-filters{gap:10px 8px}.practice-filters select{font-size:12px;padding:8px 4px}.question-panel{padding:20px 16px}.question-panel h2{font-size:24px}.mode-tabs{gap:16px}.mode-tabs button{font-size:12px}.test-options{gap:10px}.test-bar{font-size:13px}.progress{grid-template-columns:1fr;margin-top:40px}.knowledge-view{padding:40px 0}.knowledge-shell h2{font-size:32px}.footer,footer{flex-direction:column;gap:5px}.welcome-actions{gap:15px;flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){.choice,.subject,.nav-link{transition:background .15s ease,border-color .15s ease,color .15s ease}}@media print{.site-header,.welcome,.install-help,.offline-tools,.explore-aside,#filters,.selection-editor,.mode-tabs,.level-guide,.progress,footer,#test-setup,#test-session{display:none!important}.workspace{display:block}.question-panel{border:none;box-shadow:none;padding:0}.review-item{break-inside:avoid}}


/* Small viewport refinements */
.welcome{min-height:320px;padding-top:45px;padding-bottom:40px}.install-help{margin-top:14px}.offline-tools{margin-bottom:18px}@media(max-width:560px){.welcome{min-height:320px;padding-top:32px;padding-bottom:28px}.welcome-orbit{margin-top:25px}}


@media(max-width:560px){.welcome-orbit{display:none}.welcome{min-height:0;padding-bottom:28px}.subject-strip nav{flex-wrap:wrap;overflow:visible}.subject-strip nav::after{display:none}.subject{padding:8px 10px!important}.workspace-heading h2{font-size:27px}}

.daily-panel{margin:0;padding:4px 0 0;background:transparent;border:0;border-radius:0}.daily-heading{display:flex;justify-content:space-between;gap:20px}.daily-heading h2{font:32px Georgia,serif;margin:8px 0}#daily-question{font:25px/1.55 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere}#daily-choices{border:0;margin:0;padding:0}#daily-feedback,#daily-review p{white-space:pre-wrap}#daily-review details{padding:15px 0;border-bottom:1px solid var(--line)}.knowledge-active .daily-panel,.assessment-active .daily-panel{display:none}.welcome-actions{flex-wrap:wrap}@media(max-width:560px){.daily-panel{padding:20px}.daily-heading{display:block}#daily-question{font-size:22px}}


/* Daily Challenge subject-pill treatment — ChatGPT / GPT-5.6 Sol */
.subject-daily{
  border-color:rgba(237,117,92,.42);
  background:#fff3ee;
  color:#9b4938;
}

.subject-daily::before{
  content:'✦';
  color:var(--coral);
  margin-right:5px;
}

.subject-daily:hover{
  border-color:var(--coral);
  background:#ffebe4;
  color:#7d382b;
}


/* Compact subject-aware question filters — ChatGPT / GPT-5.6 Sol */

.selection-editor{
  border-bottom:1px solid var(--line);
  margin-bottom:22px;
  padding-bottom:13px
}

.selection-line{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap
}

.selection-prefix{
  color:var(--muted);
  font-size:11px;
  font-weight:650;
  white-space:nowrap
}

.practice-filters{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  padding:0
}

.practice-filters .filter-chip{
  display:inline-block;
  margin:0
}

.practice-filters .filter-chip select{
  display:inline-block;
  width:auto;
  max-width:240px;
  min-width:0;
  margin:0;
  padding:7px 28px 7px 11px;
  border:1px solid var(--line);
  border-radius:100px;
  background:#fffefa;
  color:var(--ink);
  font-size:12px;
  font-weight:650;
  cursor:pointer
}

.practice-filters .filter-chip select:hover{
  border-color:#a9b6d7;
  background:#fff
}

.mistakes-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:10px;
  color:var(--muted);
  font-size:11px;
  font-weight:650;
  cursor:pointer
}

.mistakes-toggle input{
  accent-color:var(--cobalt)
}

body.daily-active .subject-daily{
  border-color:var(--coral);
  box-shadow:0 0 0 2px rgba(237,117,92,.14)
}

@media(max-width:560px){
  .selection-prefix{width:100%}
  .practice-filters{width:100%}
  .practice-filters .filter-chip select{max-width:min(220px,80vw)}
  .daily-panel{padding-top:0}
}


/* Focused Explore layout — ChatGPT / GPT-5.6 Sol */

/*
  Explore is intentionally utility-first:
  navigation -> subjects -> study workspace.
*/
#workspace{
  padding-top:24px
}

.subject-strip{
  margin-top:0;
  gap:0
}

.subject-strip nav{
  width:100%
}

.workspace{
  display:block
}

.question-panel{
  width:100%;
  max-width:1000px;
  margin:0 auto
}

/*
  Stable filter geometry:
  equal-width controls rather than widths based on label length.
*/
.selection-line{
  display:block
}

.practice-filters{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  width:100%;
  padding:0
}

.practice-filters .filter-chip{
  width:100%;
  min-width:0;
  margin:0
}

.practice-filters .filter-chip select{
  display:block;
  width:100%;
  max-width:none;
  min-width:0;
  height:40px;
  margin:0;
  padding:0 34px 0 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fffefa;
  color:var(--ink);
  font-size:12px;
  font-weight:650;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer
}

.practice-filters .filter-chip select:hover{
  border-color:#9ba9cc;
  background:#fff
}

.practice-filters .filter-chip select:focus-visible{
  border-color:var(--cobalt)
}

.mistakes-toggle{
  margin-top:10px;
  padding:5px 0
}

/*
  Daily Challenge is the active selection, so an ordinary subject
  must not continue to appear selected underneath it.
*/
body.daily-active .subject-daily{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
  box-shadow:none
}

body.daily-active .subject-daily::before{
  color:var(--coral)
}

/*
  Explicit Daily selection styling.
  This does not depend only on :has(input:checked), making the state
  clear and stable across rendering before and after grading.
*/
#daily-choices .choice.selected{
  background:#edf1fc;
  border-color:var(--cobalt)
}

#daily-choices .choice.selected.wrong{
  background:#fff0eb;
  border-color:#be5b47
}

#daily-choices .choice.correct{
  background:var(--mint);
  border-color:#319074
}

@media(max-width:700px){
  #workspace{
    padding-top:15px
  }

  .subject-strip{
    padding-top:10px
  }

  .practice-filters{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
  }

  .practice-filters .filter-chip select{
    height:42px;
    font-size:12px;
    padding-left:10px;
    padding-right:28px
  }

  .question-panel{
    padding-left:16px;
    padding-right:16px
  }
}

@media(max-width:350px){
  .practice-filters{
    grid-template-columns:1fr
  }
}


/* Commercial controls and touch accessibility — ChatGPT / GPT-5.6 Sol */

/*
  FILTERS

  Keep every useful filter on one visually quiet row.
  Desktop fits the equal-size controls naturally.
  Narrow screens scroll the row horizontally instead of turning
  the controls into a tall two-row form.
*/

.selection-editor{
  margin-bottom:18px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(23,35,63,.09)
}

.selection-line{
  display:block
}

.practice-filters{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:8px;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 8px;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none
}

.practice-filters::-webkit-scrollbar{
  display:none
}

.practice-filters .filter-chip{
  position:relative;
  display:block;
  flex:0 0 156px;
  width:156px;
  min-width:156px;
  min-height:44px;
  margin:0;
  scroll-snap-align:start
}

.practice-filters .filter-chip::after{
  content:'⌄';
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-54%);
  color:#6f7890;
  font-size:13px;
  line-height:1;
  pointer-events:none
}

.practice-filters .filter-chip select{
  appearance:none;
  -webkit-appearance:none;
  display:block;
  width:100%;
  max-width:none;
  min-width:0;
  height:40px;
  margin:2px 0;
  padding:0 31px 0 12px;
  border:1px solid #cbd1dc;
  border-radius:11px;
  background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);
  box-shadow:
    0 1px 1px rgba(23,35,63,.03),
    0 3px 10px rgba(23,35,63,.035);
  color:var(--ink);
  font-size:12px;
  font-weight:680;
  letter-spacing:-.1px;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer
}

.practice-filters .filter-chip select:hover{
  border-color:#9da9c2;
  background:#fff
}

.practice-filters .filter-chip select:focus-visible{
  border-color:var(--cobalt);
  outline:3px solid rgba(237,117,92,.85);
  outline-offset:2px
}

/* Mistakes are an action/state, not an academic property. */
.mistakes-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  min-height:44px;
  margin:3px 0 0;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:11px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  cursor:pointer
}

.mistakes-toggle:hover{
  color:var(--ink);
  background:rgba(23,35,63,.035);
  border-color:rgba(23,35,63,.08)
}

.mistakes-toggle input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--cobalt)
}


/*
  TOUCH TARGETS

  Visual styling remains compact, but primary interactive hit
  regions meet a commercial mobile target of about 44px or more.
*/

.subject{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 14px
}

.nav-link{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center
}

.mode-tabs button{
  min-height:44px;
  display:inline-flex;
  align-items:center
}

.primary,
.text-button,
.aside-action{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center
}

.choice{
  min-height:48px
}

#test-nav button{
  min-width:44px;
  min-height:44px
}

.test-options select,
.review-item select{
  min-height:44px
}

.install-help summary,
.review-item summary,
#daily-review summary{
  min-height:44px;
  display:flex;
  align-items:center
}


/* Mobile: one filter row, never the old two-line filter wall. */
@media(max-width:700px){

  .practice-filters{
    display:flex;
    grid-template-columns:none;
    flex-wrap:nowrap;
    gap:8px;
    margin:0 -2px;
    padding:2px 2px 9px
  }

  .practice-filters .filter-chip{
    flex:0 0 148px;
    width:148px;
    min-width:148px
  }

  .practice-filters .filter-chip select{
    height:40px;
    font-size:12px;
    padding-left:11px;
    padding-right:30px
  }

  .subject{
    min-height:44px
  }

  .primary-nav .nav-link{
    min-height:44px
  }

  #test-nav button{
    min-width:44px;
    min-height:44px
  }
}


/*
  Very narrow screens still keep the horizontal control row.
  Do not regress to a vertical filter stack.
*/
@media(max-width:350px){
  .practice-filters{
    display:flex;
    grid-template-columns:none
  }

  .practice-filters .filter-chip{
    flex-basis:140px;
    width:140px;
    min-width:140px
  }
}


/* Local-data privacy controls — ChatGPT / GPT-5.6 Sol */

.danger-text{
  color:#944333
}

.danger-text:hover{
  color:#7d2f21
}
