
/* Layout: one study card at a time, like an index card under a highlighter; everything else sits behind tabs. */
:root{
  --bg:#E9EEF3;--card:#FBFCFD;--ink:#13233B;--mute:#566579;--line:#CBD5E0;
  --blue:#2743C8;--blue-ink:#FFFFFF;--mark:#FFDD4A;--mark-ink:#13233B;
  --good:#127A4F;--good-bg:#DDF3E8;--bad:#B5301F;--bad-bg:#FBE3DF;
  --ar:"IBM Plex Sans Arabic",Tahoma,sans-serif;--head:"Alexandria","IBM Plex Sans Arabic",Tahoma,sans-serif;--en:"Newsreader",Georgia,serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0E1622;--card:#17212F;--ink:#E8EEF5;--mute:#9AA9BB;--line:#2C3A4C;
  --blue:#8DA2FF;--blue-ink:#0E1622;--mark:#FFDD4A;--mark-ink:#13233B;
  --good:#5FD3A2;--good-bg:#143428;--bad:#FF9C8C;--bad-bg:#3C1C18;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E1622;--card:#17212F;--ink:#E8EEF5;--mute:#9AA9BB;--line:#2C3A4C;
  --blue:#8DA2FF;--blue-ink:#0E1622;--mark:#FFDD4A;--mark-ink:#13233B;
  --good:#5FD3A2;--good-bg:#143428;--bad:#FF9C8C;--bad-bg:#3C1C18;color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--ar);font-size:16px;line-height:1.7}
.wrap{max-width:640px;margin:0 auto;padding-block:16px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:18px}
header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand{font-family:var(--head);font-weight:800;font-size:26px;margin:0}
.brand span{background:linear-gradient(transparent 58%,var(--mark) 58%);padding:0 4px}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav button{background:none;border:0;color:var(--mute);font:600 15px var(--ar);padding:6px 10px;border-radius:6px;cursor:pointer}
nav button[aria-current="true"]{color:var(--ink);background:var(--card)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0}
.btn{background:var(--blue);color:var(--blue-ink);border:0;border-radius:8px;font:600 16px var(--ar);padding:12px 18px;cursor:pointer}
.btn.alt{background:none;color:var(--ink);border:1px solid var(--line)}
.btn:disabled{opacity:.5;cursor:default}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.row>.btn{flex:1 1 140px}
h2{font-family:var(--head);font-weight:600;font-size:20px;margin:0;text-wrap:balance}
p{margin:0}
.mute{color:var(--mute);font-size:14px}
.eyebrow{color:var(--mute);font-size:13px;letter-spacing:.02em}
.en{font-family:var(--en);direction:ltr;text-align:left;unicode-bidi:isolate}
.word{font-size:40px;font-weight:700;line-height:1.15;overflow-wrap:anywhere}
.mark{background:var(--mark);color:var(--mark-ink);padding:0 4px;border-radius:2px}
.sent{font-size:21px;line-height:1.5}
.def{font-size:18px;color:var(--mute)}
.gloss{font-size:22px;font-weight:600}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat b{display:block;font-family:var(--head);font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}
.stat span{font-size:13px;color:var(--mute)}
.opts{display:grid;gap:8px}
.opt{background:none;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:500 17px var(--ar);padding:12px 14px;text-align:right;cursor:pointer}
.opt:hover:not(:disabled){border-color:var(--blue)}
.opt.ok{background:var(--good-bg);border-color:var(--good);color:var(--good)}
.opt.no{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}
input[type=text],textarea,select{width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;font:18px var(--ar);padding:11px 12px}
input.en,textarea.en{font-family:var(--en);font-size:21px}
.fb{border-radius:8px;padding:12px 14px;font-weight:500}
.fb.ok{background:var(--good-bg);color:var(--good)}
.fb.no{background:var(--bad-bg);color:var(--bad)}
.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--blue)}
.icon{background:none;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:500 14px var(--ar);padding:6px 12px;cursor:pointer}
.head-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.list{display:flex;flex-direction:column}
.item{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--line);min-width:0}
.item .en{font-size:19px;font-weight:700}
.chip{font-size:12px;padding:1px 8px;border-radius:99px;border:1px solid var(--line);color:var(--mute);white-space:nowrap;align-self:center}
.chip.s1{color:var(--bad);border-color:var(--bad)}.chip.s3{color:var(--good);border-color:var(--good)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips button{background:none;border:1px solid var(--line);color:var(--mute);border-radius:99px;font:500 14px var(--ar);padding:4px 12px;cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chart{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;align-items:end;height:110px}
.chart div{display:flex;flex-direction:column;justify-content:end;height:100%;gap:2px;align-items:stretch}
.chart i{display:block;background:var(--blue);border-radius:2px 2px 0 0;min-height:2px}
.chart small{font-size:10px;text-align:center;color:var(--mute);font-variant-numeric:tabular-nums}
.note{font-size:14px;color:var(--mute);border-top:1px solid var(--line);padding-top:10px}
ol.why{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:10px}
a{color:var(--blue)}
.ai{border-top:1px dashed var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}
@media (max-width:440px){.word{font-size:32px}.sent{font-size:19px}}
@media (prefers-reduced-motion:no-preference){.card{animation:in .16s ease-out}@keyframes in{from{transform:translateY(4px)}to{transform:none}}}

html{-webkit-text-size-adjust:100%}body{margin:0}[hidden]{display:none!important}
.wrap{padding-top:max(16px,env(safe-area-inset-top,0px));padding-bottom:max(48px,env(safe-area-inset-bottom,0px))}
.stack{display:flex;flex-direction:column;gap:12px}
.pic{font-size:64px;line-height:1.1;text-align:center;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.word.small{font-size:26px}
.review{display:flex;flex-direction:column;gap:6px;margin-block:12px}
.review .pic{font-size:44px}
.fb div{font-weight:400}
.fb.tip{background:var(--bg);color:var(--ink);font-weight:400}
.miss{background:var(--mark);color:var(--mark-ink);border-radius:2px;padding:0 1px}
.spell{display:inline-block;font-size:20px;letter-spacing:.03em}
.plan{display:flex;gap:18px;flex-wrap:wrap;color:var(--mute)}
.plan b{font-family:var(--head);font-size:24px;color:var(--ink);font-variant-numeric:tabular-nums}
.opt.idk{color:var(--mute);border-style:dashed}
.say-item{background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:500 16px var(--ar);text-align:right;padding:11px 0;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.say-item .en{font-size:15px}
.item .ar{grid-column:1/-1}
nav button{min-height:40px}
@media (max-width:440px){header{flex-direction:column;align-items:stretch;gap:6px}nav{flex-wrap:nowrap;justify-content:space-between;gap:0}nav button{font-size:13.5px;padding:6px 6px;white-space:nowrap}}
#toast{position:fixed;inset-inline:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);border-radius:8px;padding:10px 14px;text-align:center;z-index:5}
/* iOS-like system: grouped lists, large titles, tab bar, 44pt targets */
:root{--bg:#F2F2F7;--card:#FFFFFF;--ink:#000000;--mute:#6C6C70;--line:#E2E2E7;--blue:#0A5FD6;--blue-ink:#FFFFFF;--good:#1B7F3B;--good-bg:#E3F6E8;--bad:#C4281C;--bad-bg:#FDE9E7;
  --ar:-apple-system,BlinkMacSystemFont,"SF Arabic","Segoe UI",Tahoma,sans-serif;--head:var(--ar);--en:ui-serif,"New York",Georgia,serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#000000;--card:#1C1C1E;--ink:#FFFFFF;--mute:#A0A0A8;--line:#38383A;--blue:#5AA2FF;--blue-ink:#00101F;--good:#4CD471;--good-bg:#10301B;--bad:#FF8A80;--bad-bg:#3A1512;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#000000;--card:#1C1C1E;--ink:#FFFFFF;--mute:#A0A0A8;--line:#38383A;--blue:#5AA2FF;--blue-ink:#00101F;--good:#4CD471;--good-bg:#10301B;--bad:#FF8A80;--bad-bg:#3A1512;color-scheme:dark}
html,body{-webkit-tap-highlight-color:transparent}
body{font-size:17px;line-height:1.5}
.wrap{max-width:640px;gap:12px;padding-top:max(14px,env(safe-area-inset-top,0px));padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
header{display:none}
.big{font-size:32px;font-weight:700;margin:4px 0 2px}
#nav{position:fixed;inset:auto 0 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:.5px solid var(--line);padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));z-index:4}
#nav button{display:flex;flex-direction:column;align-items:center;gap:1px;background:none!important;color:var(--mute);font:500 11px var(--ar);padding:4px 0;min-height:48px;border-radius:0}
#nav button i{font-style:normal;font-size:22px;line-height:1.2;filter:grayscale(1);opacity:.7}
#nav button[aria-current="true"]{color:var(--blue)}
#nav button[aria-current="true"] i{filter:none;opacity:1}
.card{border:0;border-radius:12px;padding:16px;gap:12px}
.btn{min-height:50px;border-radius:12px;font:600 17px var(--ar);transition:opacity .12s}
.btn:active{opacity:.7}
.btn.alt{background:var(--bg);border:0;color:var(--blue)}
.card .btn.alt{background:color-mix(in srgb,var(--blue) 10%,transparent)}
.icon{min-height:44px;border:0;background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue);border-radius:10px;font:500 15px var(--ar);padding:0 14px;align-self:flex-start}
.opt{min-height:50px;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.opt.en{font-family:var(--en);font-size:18px;text-align:left;direction:ltr}
.opt.sel{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}
input[type=text],input[type=email],input[type=password],textarea,select{width:100%;min-height:50px;background:var(--bg);color:var(--ink);border:0;border-radius:12px;font:17px var(--ar);padding:12px 14px}
textarea.en,input.en{font:19px var(--en)}
.group{background:var(--card);border-radius:12px;overflow:hidden}
.cell{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;background:none;border:0;border-bottom:.5px solid var(--line);color:var(--ink);font:400 17px var(--ar);text-align:right;padding:10px 16px;cursor:pointer}
.cell:last-child{border-bottom:0}
.cell:active{background:var(--bg)}
.cell-ic{font-size:24px}
.cell-b{flex:1;display:flex;flex-direction:column;min-width:0}
.cell-b b{font-weight:500}
.cell-b small{color:var(--mute);font-size:13px}
.en-t{font-family:var(--en);direction:ltr;text-align:right}
.chevron{color:var(--mute);font-size:22px}
.section{font-size:13px;color:var(--mute);padding-inline:16px;margin-top:8px}
.navbar{min-height:44px;display:flex;align-items:center}
.back{background:none;border:0;color:var(--blue);font:400 17px var(--ar);min-height:44px;padding:0;cursor:pointer}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--bg);border-radius:10px;padding:2px;gap:2px}
.seg button{min-height:40px;border:0;background:none;color:var(--ink);border-radius:8px;font:500 15px var(--ar);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.18)}
.reading{font-size:20px;line-height:1.65;direction:ltr;text-align:left}
.tw{cursor:pointer;border-radius:3px}
.tw.on{background:var(--mark);color:var(--mark-ink)}
.sheet{position:fixed;inset-inline:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));background:var(--card);box-shadow:0 8px 30px rgba(0,0,0,.25);border-radius:14px;padding:12px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;z-index:3}
.sheet .en{font-size:20px}
.q{font-size:20px;font-weight:600;line-height:1.4}
.q.en{text-align:left;direction:ltr}
.tips{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:4px}
.model summary{color:var(--blue);min-height:44px;display:flex;align-items:center;cursor:pointer}
.center{align-items:center;text-align:center}
.rec{width:88px;height:88px;border-radius:50%;border:0;background:var(--bad-bg);font-size:38px;cursor:pointer}
.rec.on{background:var(--bad);animation:pulse 1.2s infinite}
@keyframes pulse{50%{transform:scale(1.07)}}
.timer{font-variant-numeric:tabular-nums;color:var(--mute)}
audio{width:100%}
.ring{width:120px;height:120px;border-radius:50%;border:6px solid var(--blue);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:40px;font-weight:700;line-height:1}
.ring small{font-size:13px;font-weight:400;color:var(--mute)}
.match{display:grid;grid-template-columns:1fr 1fr;gap:8px;direction:ltr}
.match>div{display:grid;gap:8px;align-content:start;min-width:0}
.match .opt:not(.en){direction:rtl}
.plan-row{display:flex;justify-content:space-between}
.login{min-height:70vh;justify-content:center;display:flex;flex-direction:column;gap:14px}
.login .logo{font-size:48px;font-weight:800;text-align:center}
.login .logo span{background:linear-gradient(transparent 58%,var(--mark) 58%);padding:0 4px}
[dir="ltr"] .cell,[dir="ltr"] .opt,[dir="ltr"] .say-item{text-align:left}
[dir="ltr"] .chevron{transform:scaleX(-1)}
[dir="ltr"] .en-t{text-align:left}
input[type=time]{width:100%;min-height:50px;background:var(--bg);color:var(--ink);border:0;border-radius:12px;font:17px var(--ar);padding:12px 14px}
#toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
@media (prefers-reduced-motion:reduce){.rec.on{animation:none}.card{animation:none!important}}
body.auth #nav{display:none}
.login input{background:var(--card)}
