:root{--bg:#f5f6f0;--paper:#fff;--ink:#233d35;--muted:#738078;--green:#234d42;--line:#dfe5dc;--lime:#e5edb7;--lavender:#e6ddf6;--peach:#f6e5d9;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8567ab;outline-offset:4px}button{touch-action:manipulation}button svg{flex-shrink:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}#app{max-width:560px;margin:auto;min-height:100dvh}header{padding:24px 24px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:11px;padding:0;text-align:left;border:0;background:none}.brand b{font-size:19px;letter-spacing:-.6px;display:block}.brand small{font-size:8px;letter-spacing:1.1px;display:block;margin-top:5px;color:var(--muted);font-weight:700}.brand img{border-radius:13px}.level{border:1px solid var(--line);border-radius:30px;background:#fff;padding:9px 13px;font-size:13px;font-weight:700}.level span{color:#8c9990;font-size:11px;margin-left:5px}main{padding:0 24px 110px}.intro{padding:28px 0 25px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1px;color:#758170}.intro h1{font-size:35px;line-height:1.14;font-weight:650;letter-spacing:-1.4px;margin:12px 0}.intro p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}h2{font-size:19px;font-weight:650;letter-spacing:-.45px}.hero{display:flex;position:relative;overflow:hidden;border-radius:25px;background:var(--green);color:#fff;padding:24px;min-height:247px}.hero-copy{z-index:1;position:relative;flex:1}.pill{display:inline-block;font-size:9px;font-weight:650;letter-spacing:1.2px;color:var(--lime)}.hero h2{font-size:28px;line-height:1.2;letter-spacing:-.7px;margin:16px 0 10px}.hero p{font-size:12px;color:#bdcfc1;margin:0 0 22px}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:15px;min-height:52px;padding:14px 23px;font-weight:650;font-size:14px}.primary{background:var(--green);color:#fff}.primary.light{background:var(--lime);color:var(--green);min-width:144px;width:fit-content;justify-content:space-between;min-height:45px}.secondary{background:#e8ece3;color:var(--green)}.full{width:100%;margin-top:14px}.hero-art{position:absolute;right:23px;top:62px;width:108px;height:143px}.paper{position:absolute;border-radius:14px;width:92px;height:126px;box-shadow:0 4px 8px #0000000b;display:flex;align-items:center;justify-content:center;flex-direction:column}.back-paper{background:#8cad97;color:#bdd4bc;transform:rotate(-17deg);left:-13px;top:-13px;font-family:Georgia,serif;font-size:70px}.front-paper{background:#ece5fa;color:#4a3d66;transform:rotate(11deg);left:9px;top:9px}.front-paper span{font:72px/1 Georgia,serif}.front-paper small{font-size:11px;margin-top:7px;letter-spacing:1px}.front-paper i{font-style:normal;position:absolute;right:-12px;top:-16px;color:var(--lime);font-size:33px}.progress-line{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;padding:17px 1px 9px;font-size:11px;color:var(--muted)}.progress-line>span{display:flex;gap:5px;align-items:center}.progress-line svg{width:15px;height:15px}.progress-line b{color:var(--ink);font-weight:600}.text-button{display:flex;align-items:center;border:0;background:none;font-size:11px;padding:5px 0;color:var(--green)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:20px 0 14px}.section-head h2{margin:0}.section-head>span{font-size:12px;color:var(--muted)}.topics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.topic{border:1px solid var(--line);background:#fff;border-radius:20px;display:flex;flex-direction:column;text-align:left;padding:17px;min-width:0;transition:transform .15s}.topic:hover,.test-card:hover{transform:translateY(-2px)}.topic-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:13px}.tint-0{background:#edf1dc}.tint-1{background:var(--lavender)}.tint-2{background:var(--peach)}.topic>b{font-size:14px;font-weight:650;letter-spacing:-.25px;margin-top:17px}.topic>small{font-size:11px;line-height:1.45;color:var(--muted);margin-top:5px}.topic-bottom{font-size:10px;color:var(--muted);width:100%;display:flex;justify-content:space-between;margin-top:18px}.topic-bottom>span{color:#839378}.wide-card{display:flex;align-items:center;gap:12px;text-align:left;width:100%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;margin-top:20px}.wide-card>span:nth-child(2){flex:1}.wide-card b{display:block;font-size:14px}.wide-card small{display:block;font-size:11px;color:var(--muted);line-height:1.55;margin-top:4px}.wide-card:disabled{opacity:.65}.about-link{display:flex;gap:6px;align-items:center;justify-content:center;width:100%;border:0;background:none;color:var(--muted);font-size:11px;margin-top:22px;padding:8px}.about-link svg{width:15px;height:15px}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:560px;display:flex;justify-content:space-around;background:#fcfdf9ee;border-top:1px solid var(--line);backdrop-filter:blur(14px);padding:10px 16px calc(10px + env(safe-area-inset-bottom));z-index:5}nav button{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;color:#8b958e;font-size:10px;padding:5px 22px;min-width:82px}nav button.active{color:var(--green);font-weight:700}nav button.active svg{stroke-width:2.2}.test-list{display:grid;gap:12px}.test-card{display:flex;gap:15px;align-items:center;border:1px solid var(--line);border-radius:19px;background:#fff;padding:21px 17px;text-align:left}.test-number{font-family:Georgia,serif;font-size:27px;color:#9aa789}.test-card>span:nth-child(2){flex:1}.test-card b{display:block;font-size:14px}.test-card small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.test-card em{display:block;font-size:10px;font-style:normal;color:var(--muted);margin-top:11px}.coming{display:flex;gap:14px;padding:20px;background:#eeeee7;border-radius:20px}.coming b{font-size:14px}.coming p{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 12px}.tag{font-size:10px;padding:5px 9px;border-radius:20px;background:#e0e4d8;color:#67725e}.footnote{font-size:11px;line-height:1.65;color:var(--muted);margin:20px 0}.stats{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--green);border-radius:22px;color:var(--lime);padding:25px 10px;gap:8px;text-align:center}.stats strong{font-size:32px;display:block;font-weight:500}.stats strong small{font-size:15px;color:#b4c6ab}.stats span{font-size:10px;color:#d0dccc;display:block;margin-top:8px}.progress-topics{background:white;border:1px solid var(--line);border-radius:20px;padding:5px 18px}.progress-topics button{background:none;border:0;border-bottom:1px solid #edf0e9;padding:18px 0;width:100%;display:block;text-align:left}.progress-topics button:last-child{border-bottom:0}.progress-topics button>span{display:flex;justify-content:space-between;font-size:13px}.progress-topics b{font-weight:500;color:var(--muted);font-size:11px}.track{height:5px;background:#e1e7db;border-radius:8px;overflow:hidden;margin-top:13px}.track i{display:block;background:#8caa75;height:100%;border-radius:8px;transition:width .2s}.reset-link{background:none;border:0;text-decoration:underline;color:var(--muted);font-size:11px;padding:10px 0}.session{padding-top:24px;padding-bottom:calc(30px + env(safe-area-inset-bottom));min-height:100dvh}.session-header{display:flex;align-items:center;gap:12px;font-size:13px}.session-header>span{flex:1}.session-header>b{font-size:12px;color:var(--muted);font-weight:500}.circle{background:none;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.circle svg{width:17px;height:17px}.session-track{margin:18px 0 29px}.centered{text-align:center}.flashcard{width:100%;min-height:355px;background:#ece5f6;border:1px solid #e1d8ed;border-radius:27px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 20px;margin-top:20px;box-shadow:0 6px 0 #e1d9e9;color:#473c5d}.card-label{font-size:11px;color:#877b96;letter-spacing:.8px;margin-bottom:30px}.flashcard strong{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:37px;line-height:1.35;overflow-wrap:anywhere}.flashcard h2{font-size:19px;font-weight:500;margin:16px 0 4px;line-height:1.35}.tap-hint{display:flex;align-items:center;gap:8px;margin-top:55px;font-size:11px;color:#887b97}.tap-hint svg{width:17px;height:17px}.example{border-top:1px solid #d5cbe0;width:100%;padding-top:18px;margin-top:21px}.example p{font-size:15px;margin:0 0 8px;line-height:1.5}.example small{font-size:12px;color:#80728c;line-height:1.5;display:block}.flipped{background:#fff;box-shadow:0 6px 0 #e8e5eb}.card-actions{display:flex;gap:12px;margin-top:27px}.card-actions button{flex:1}.card-actions .full{margin-top:0}.reading{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px 18px;margin-bottom:25px}.reading summary{font-size:13px;font-weight:650;cursor:pointer}.reading p{font-size:17px;line-height:1.85;margin-bottom:4px}.quiz-label{display:block;margin-top:25px}.question{font-size:26px;line-height:1.35;font-weight:550;letter-spacing:-.7px;margin:17px 0 25px}.answers{display:grid;gap:12px}.answer{display:flex;align-items:center;gap:12px;text-align:left;width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:17px;font-size:16px;line-height:1.5}.choice{font-size:12px;color:#819078;border:1px solid var(--line);border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.answer>span:nth-child(2){flex:1}.answer.correct{border-color:#83a376;background:#edf4e5}.answer.incorrect{border-color:#d59987;background:#fcf0e9}.feedback{padding:19px;border-radius:17px;margin-top:24px;background:#e8eedf}.feedback.try-again{background:#f3e9dd}.feedback b{font-size:14px}.feedback p{font-size:13px;line-height:1.65;margin:8px 0 0}.finish{padding-top:90px;text-align:center}.finish-icon{width:90px;height:90px;border-radius:30px;background:#e5edb7;display:flex;align-items:center;justify-content:center;margin:0 auto 30px;transform:rotate(-8deg)}.finish-icon svg{width:45px;height:45px}.finish h1{font-size:31px;font-weight:600;letter-spacing:-1px;margin:17px 0}.finish>p{line-height:1.8;font-size:14px;color:var(--muted);margin-bottom:32px}.finish .footnote{font-size:11px}.info-panel{background:white;border:1px solid var(--line);padding:5px 22px 20px;border-radius:22px}.info-panel h2{margin-top:24px;font-size:16px}.info-panel p{font-size:13px;line-height:1.75;color:var(--muted)}.info-panel a{font-size:12px;color:var(--green)}.storage-warning{padding:12px;background:#f8e4c6;color:#6c4d22;font-size:12px;line-height:1.5}
@media(max-width:359px){header{padding:18px 17px 8px}main{padding-left:17px;padding-right:17px}.intro h1{font-size:31px}.hero{padding:21px}.hero-art{right:13px;transform:scale(.8);transform-origin:right center}.hero h2{font-size:25px}.topic{padding:13px}.topic>b{font-size:13px}.brand small{font-size:7px}.flashcard strong{font-size:31px}.card-actions button{padding:14px 12px}nav button{padding:5px 14px}}
@media(min-width:650px){body{background:#e9ede4}#app{background:var(--bg);box-shadow:0 0 65px #233d3508}header{padding-top:30px}.hero-art{right:48px;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
