:root{--ink:#1a233e;--muted:#5c5c5c;--paper:#f7f8ee;--yellow:#ffbd20;--red:#1a233e;--line:#edeee4;--green:#1a233e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Gabarito,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:default}a{color:inherit}header{height:94px;max-width:1160px;padding:20px 34px;margin:auto;display:flex;align-items:center;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-size:17px;letter-spacing:2px;font-weight:900;line-height:1.1}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:6px}.brandmark{border:2px solid var(--ink);border-radius:12px;width:40px;height:44px;display:grid;place-content:center;font-size:29px;position:relative;background:var(--yellow);letter-spacing:-3px}.brandmark span{position:absolute;font-size:17px;bottom:0;right:6px}.prototype{margin-left:auto;font-size:10px;letter-spacing:1.6px;color:var(--muted)}.icon{background:none;font-size:23px;padding:10px;border-radius:10px}main{max-width:1050px;padding:32px 28px 130px;margin:auto}h1,h2,h3,p{margin:0}h1{font-size:45px;line-height:1.12;letter-spacing:-1.9px;font-weight:800}h2{font-size:24px;letter-spacing:-.7px;line-height:1.3}h3{font-size:18px;line-height:1.4}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:bold}.intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.intro p{margin-top:12px;color:var(--muted)}.streak{background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px 17px;white-space:nowrap;font-size:14px}.streak b{color:var(--red);font-size:20px}.dashboard{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.hero{background:#1a233e;color:#fff;border-radius:24px;min-height:345px;position:relative;overflow:hidden;padding:32px;display:flex;flex-direction:column;align-items:start}.hero:after{content:'Aa';position:absolute;right:-10px;bottom:-70px;font-size:230px;font-weight:900;color:#ffffff08;letter-spacing:-18px;pointer-events:none}.hero .eyebrow{color:var(--yellow)}.hero h2{font-size:36px;line-height:1.15;max-width:360px;margin:22px 0 12px;letter-spacing:-1px}.hero p{color:#edeee4;max-width:310px;font-size:15px}.hero .primary{margin-top:auto;z-index:1;min-width:210px}.primary{background:var(--yellow);color:var(--ink);font-weight:700;padding:15px 22px;border-radius:12px;min-height:52px}.primary:hover{filter:brightness(.96)}.secondary{padding:13px 20px;background:#fff;border:1px solid var(--line);border-radius:12px;font-weight:600}.textbtn{color:var(--muted);background:none;padding:10px;font-size:14px}.side{display:flex;flex-direction:column;gap:20px}.card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:24px}.weekly{display:flex;justify-content:space-between;gap:6px;margin-top:18px}.day{text-align:center;font-size:10px;color:var(--muted)}.day i{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;font-style:normal;margin-bottom:6px;font-size:13px}.day.active i{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.day.today i{outline:2px solid var(--ink);outline-offset:3px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.progressbar{height:7px;background:#eceee8;border-radius:20px;overflow:hidden;margin:16px 0 10px}.progressbar span{display:block;height:100%;background:var(--yellow);border-radius:20px}.below{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.mini{display:flex;align-items:center;gap:18px;text-align:left;width:100%}.mini .tile{font-size:26px;background:#f4f3e9;border-radius:14px;width:56px;height:56px;display:grid;place-items:center;flex-shrink:0}.mini p{font-size:13px;color:var(--muted);margin-top:4px}.mini .arrow{margin-left:auto;font-size:22px}.footnote{font-size:12px;color:var(--muted);text-align:center;margin-top:28px}nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px #0000000c;padding:6px;border-radius:19px;z-index:5;gap:5px}nav button{color:var(--muted);background:none;min-width:100px;border-radius:13px;padding:7px 15px;font-size:23px;line-height:1.2}nav button span{display:block;font-size:11px;margin-top:4px}nav button.active{background:#ffbd2029;color:var(--ink)}.toolbar{display:flex;gap:12px;margin:25px 0}.toolbar input{flex:1;min-width:0}input,select,textarea{padding:13px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #1a233e;outline-offset:2px}.wordgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.wordcard{text-align:left}.wordcard h3{font-size:21px;margin:12px 0 6px}.wordcard p{font-size:14px;color:var(--muted)}.tag{font-size:10px;font-weight:bold;padding:5px 8px;border-radius:6px;display:inline-block;background:#f2f3ed;color:#5f665e}.tag.yellow{background:#ffbd2029;color:#1a233e}.tag.green{background:#d7f8ff;color:#1a233e}.study{max-width:650px;margin:0 auto}.studyhead{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.study .progressbar{margin:18px 0 30px}.studycard{padding:34px;background:#fff;border:1px solid var(--line);border-radius:22px;min-height:330px}.studycard h2{font-size:38px;margin:12px 0}.passage{font-family:Georgia,serif;font-size:21px;line-height:1.75;margin:22px 0}.passage mark{background:#ffbd2040;color:inherit;padding:0 3px}.studycard .meaning{font-size:20px;margin-bottom:18px}.family{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.family p{font-size:14px;margin-top:10px}.family em{color:var(--muted);font-style:normal;font-size:12px}.tip{background:#f7f7ef;padding:15px;border-radius:12px;font-size:14px;margin-top:20px}.actions{display:flex;gap:12px;margin-top:22px}.actions>*{flex:1}.choices{display:grid;gap:10px;margin-top:20px}.choice{text-align:left;display:flex;gap:15px;align-items:center;padding:15px;border-radius:12px;border:1px solid var(--line);background:#fff}.choice b{font-size:12px;width:27px;height:27px;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center}.choice.correct{border-color:#1a233e;background:#d7f8ff;color:#1a233e}.choice.wrong{border-color:#1a233e;background:#f7f8ee;color:#1a233e}.feedback{margin-top:20px;padding:18px;background:#f7f8ee;border-radius:12px;font-size:15px}.feedback strong{display:block;margin-bottom:8px}.feedback p+p{margin-top:10px}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.statgrid strong{font-size:36px;display:block}.statgrid p{font-size:13px;color:var(--muted)}.modegrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.modegrid button{text-align:left;min-height:170px}.modegrid h2{margin:15px 0 8px}.modegrid p{font-size:14px;color:var(--muted)}.finish{text-align:center;padding:36px 15px}.finish .badge{font-size:50px;display:grid;place-items:center;background:var(--yellow);width:110px;height:110px;margin:0 auto 25px;border-radius:28px;transform:rotate(-5deg)}.finish h1{font-size:36px}.finish p{margin:15px auto 25px;max-width:400px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:22px;padding:28px;max-width:560px;width:calc(100% - 30px);max-height:85vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#14181780;backdrop-filter:blur(3px)}dialog h2{margin-bottom:14px}dialog .close{float:right}dialog label{display:block;margin:18px 0 7px;font-size:14px}dialog select,dialog textarea{width:100%}dialog textarea{height:100px}dialog .actions{flex-wrap:wrap}#toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:12px;z-index:20;font-size:14px;display:none}.storagewarning{background:#f7f8ee;padding:12px;border-radius:8px;font-size:13px;margin-bottom:20px}button:focus-visible,a:focus-visible{outline:3px solid #1a233e;outline-offset:3px}@media(max-width:700px){header{height:82px;padding:16px 21px;gap:10px}.brand{font-size:14px}.prototype{font-size:8px}.brandmark{width:35px;height:38px;font-size:25px}main{padding:20px 20px 110px}h1{font-size:35px}.intro{align-items:start;margin-bottom:25px}.intro p{font-size:14px;max-width:230px}.streak{padding:8px 11px;font-size:11px}.streak b{font-size:16px}.dashboard{grid-template-columns:1fr;gap:16px}.hero{min-height:310px;padding:27px}.hero h2{font-size:34px;max-width:260px}.hero .primary{margin-top:25px;width:100%}.side{display:grid;grid-template-columns:1fr;gap:16px}.below{gap:12px;margin-top:16px;grid-template-columns:1fr}.card{padding:20px;border-radius:17px}.weekly{justify-content:space-around}.wordgrid{grid-template-columns:1fr 1fr;gap:10px}.wordcard{padding:16px}.wordcard h3{font-size:18px;overflow-wrap:anywhere}.wordcard p{font-size:13px}.toolbar{gap:8px}.toolbar select{max-width:125px;font-size:13px}.toolbar input{width:100px;font-size:14px}.studycard{padding:23px;min-height:340px}.studycard h2{font-size:33px;overflow-wrap:anywhere}.passage{font-size:20px;line-height:1.65}.statgrid{gap:10px}.statgrid .card{padding:15px}.statgrid strong{font-size:28px}.modegrid{gap:13px}.modegrid button{padding:19px}.modegrid h2{font-size:20px}nav{bottom:0;width:100%;border-radius:16px 16px 0 0;border-bottom:0;justify-content:space-around;padding-bottom:calc(9px + env(safe-area-inset-bottom))}nav button{min-width:0;flex:1;font-size:23px;padding:8px}nav button span{font-size:10px}.actions{flex-wrap:wrap}.actions button{min-width:100px}.footnote{font-size:11px}}@media(prefers-reduced-motion:no-preference){.studycard,.dashboard,.wordgrid,.finish{animation:appear .22s ease}@keyframes appear{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}

.brand-logo{width:65px;height:65px;object-fit:contain}.brand{letter-spacing:1.3px}.brand small{font-size:8px;letter-spacing:1.6px}.hero:after{display:none}.primary:hover{background:#f0a900;filter:none}.hero{background:#1a233e}.tag.green{background:#d7f8ff;color:#1a233e}.feedback{border-left:3px solid #ffbd20}.studycard .passage{font-size:20px;line-height:1.75}.choice.correct b{background:#1a233e;color:white}.choice.wrong b{background:#ffbd20;color:#1a233e}.choice.correct b:after{content:"✓"}.choice.correct b{font-size:0}.choice.correct b:after{font-size:14px}.choice.wrong b:after{content:"×"}.choice.wrong b{font-size:0}.choice.wrong b:after{font-size:18px}@media(max-width:700px){.brand-logo{width:51px;height:51px}.brand small{font-size:7px;letter-spacing:1.2px}.brand{gap:7px}.prototype{font-size:7px}.studycard .passage{font-size:19px;line-height:1.75}}
/* One prompt at a time, anchored to a real control on the home screen. */
body.touring .dashboard,body.touring .below{animation:none!important}dialog.guided-tour{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:transparent;overflow:hidden;color:var(--ink)}dialog.guided-tour::backdrop{background:transparent;backdrop-filter:none}.tour-hit{position:fixed;background:transparent;border:3px solid #ffbd20;border-radius:17px;box-shadow:0 0 0 9999px #101725b8;cursor:pointer;z-index:1}.tour-bubble{position:fixed;z-index:2;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;width:350px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 35px);box-shadow:0 12px 45px #0003;visibility:visible}.tour-bubble:before{content:'';position:absolute;left:calc(var(--arrow-left,50%) - 8px);width:16px;height:16px;background:white;transform:rotate(45deg)}.tour-bubble[data-side=below]:before{top:-8px}.tour-bubble[data-side=above]:before{bottom:-8px}.tour-bubble .row{margin-bottom:13px}.tour-bubble .eyebrow{font-size:10px;letter-spacing:1px}.tour-bubble .textbtn{padding:4px 5px;font-size:12px}.tour-bubble h2{font-size:25px;line-height:1.15;margin:0 0 10px;letter-spacing:-.6px}.tour-bubble p{font-size:15px;line-height:1.5;color:var(--muted)}.tour-controls{display:flex;align-items:center;gap:10px;margin-top:20px}.tour-controls .primary{padding:11px 15px;min-height:44px;font-size:13px;margin-left:auto}.tour-dots{display:flex;gap:5px;margin-right:auto}.tour-dots i{height:6px;width:6px;background:#edeee4;border-radius:50%}.tour-dots i.current{background:#ffbd20;width:18px;border-radius:5px}@media(max-width:700px){.tour-bubble{padding:18px;width:330px}.tour-bubble h2{font-size:23px}.tour-bubble p{font-size:14px}}
