:root{--paper: #fffdf8;--bg: #f7f5ef;--card: #fffdf8;--ink: #191c20;--sub: #6f6b62;--faint: #a8a399;--line: #e6e2d7;--panel: #f0ede2;--graphite: #6b5f4f;--red: #c5341f;--red-bg: #f8ece6;--green: #2f7d57;--green-bg: #ebf3ec;--serif: "Newsreader", Georgia, serif;--ui: "Schibsted Grotesk", -apple-system, sans-serif;--hand: "Caveat", cursive;--shadow: 0 1px 2px rgba(40, 35, 25, .03), 0 14px 30px -24px rgba(40, 35, 25, .4)}*{box-sizing:border-box}body{margin:0;background:var(--bg);background-image:radial-gradient(rgba(0,0,0,.022) 1px,transparent 1px);background-size:4px 4px;color:var(--ink);font-family:var(--ui);font-size:16px;line-height:1.5}.page{max-width:640px;margin:0 auto;padding:40px 20px 80px}.page.narrow{max-width:460px}.center{text-align:center}h1{font-family:var(--serif);font-size:32px;font-weight:500;letter-spacing:-.02em;margin:0 0 16px}h2{font-size:13px;font-weight:700;margin:0 0 12px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}a{color:var(--ink)}.serif{font-family:var(--serif);font-size:19px}.sub{color:var(--sub)}.error{color:var(--red);font-size:14px}.upsell-link{color:var(--graphite);font-weight:600;text-decoration:underline;cursor:pointer;white-space:nowrap}code{background:var(--line);padding:1px 5px;border-radius:4px}.topnav{display:flex;align-items:center;gap:18px;max-width:640px;margin:0 auto;padding:16px 20px;border-bottom:1px solid var(--line)}.topnav .brand{display:inline-flex;align-items:center;gap:10px;margin-right:auto;font-family:var(--serif);font-weight:600;font-size:22px;letter-spacing:-.01em}.topnav .brand-mark{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--paper);display:block}.topnav a{color:var(--sub);text-decoration:none;font-size:15px}.topnav a.active{color:var(--ink);font-weight:500}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}button,.button{font:inherit;font-weight:500;background:var(--ink);color:var(--bg);border:none;border-radius:10px;padding:9px 18px;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.4;cursor:default}button.ghost,.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}button.small{padding:4px 10px;font-size:13px}button.wide{width:100%}button.danger{background:var(--red)}button.danger-text{color:var(--red)}textarea,input,select{font:inherit;color:var(--ink);width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--paper)}textarea{resize:vertical}label{display:block;margin-bottom:12px;font-size:14px;color:var(--sub)}label input,label select{margin-top:4px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:14px;color:var(--ink);cursor:pointer}.toggle-row input[type=checkbox]{width:auto;flex:none;margin:0;padding:0;border:none;border-radius:0;background:none;accent-color:var(--ink);cursor:pointer}.day-head{display:flex;align-items:baseline;justify-content:space-between}.streak{color:var(--green);background:var(--green-bg);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:500}.prompt p{margin:0}.composer textarea{border:none;padding:0;background:transparent;outline:none}.composer-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:10px}.submission .sub-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sub-date{font-size:13px;color:var(--faint)}.original{margin:0 0 8px;color:var(--sub)}.corrected{margin:0 0 8px}.inline-del{color:var(--red);text-decoration:line-through;text-decoration-color:var(--red);opacity:.7}.inline-ins{color:var(--green);font-weight:500}.inline-ins:before{content:" "}.feedback{margin:0 0 8px;font-size:14px;color:var(--sub)}.pending{color:var(--faint);font-style:italic;margin:0}.errors{list-style:none;margin:8px 0 0;padding:0}.errors li{border-top:1px solid var(--line);padding:10px 0;font-size:14px}.wrong{color:var(--red);background:var(--red-bg);padding:1px 5px;border-radius:4px}.right{color:var(--green);background:var(--green-bg);padding:1px 5px;border-radius:4px}.explain{color:var(--sub);margin-top:4px}.chip{display:inline-block;font-size:12px;font-weight:500;color:var(--sub);border:1px solid var(--line);border-radius:999px;padding:1px 9px;margin-right:6px}.insight{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.insight-count{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--graphite)}.insight-tag{font-size:14px;color:var(--sub);margin-top:2px}.insight-body{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--ink)}.insight-cta{display:inline-block;margin-top:10px;font-size:14px;color:var(--graphite);text-decoration:underline;cursor:pointer}.bar-row{display:grid;grid-template-columns:120px 1fr 32px;gap:10px;align-items:center;margin-bottom:8px;font-size:14px}.bar{background:var(--bg);border-radius:999px;height:8px;overflow:hidden}.bar-fill{background:var(--graphite);height:100%;border-radius:999px}.bar-count{text-align:right;color:var(--sub)}.pattern-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding:10px 0;font-size:14px}.pattern-row:first-of-type{border-top:none}.brand-big{font-family:var(--serif);font-size:40px;margin:48px 0 4px}.auth-card{margin-top:24px;text-align:center}.divider{color:var(--faint);font-size:13px;margin:14px 0;display:flex;align-items:center;gap:10px}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid var(--line)}.code-row{display:flex;gap:8px}.code-row input{text-align:center;letter-spacing:.3em}.lang-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}button.lang{background:var(--card);color:var(--ink);border:1px solid var(--line);text-align:left}button.lang.selected{border-color:var(--ink);font-weight:700}.ui-lang{margin:8px 0 16px}.onboard-rest{animation:onboardReveal .28s ease both}@keyframes onboardReveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.today .prompt{border:none;background:transparent;padding:0;margin:8px 0 20px}.today .prompt .serif{font-size:24px;line-height:1.4;font-style:italic}.today .composer{padding:18px}.today .composer textarea{min-height:76px;font-size:17px}.today-entries{margin-top:48px}.entries-head{font-size:13px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.today-entries .submission{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:14px}.err-del{float:right;margin-left:8px;border:none;background:none;color:var(--faint);font-size:13px;line-height:1;cursor:pointer;padding:2px 4px}.err-del:hover{color:var(--red)}.err-del-confirm{float:right;margin-left:8px;font-size:12px;color:var(--faint);white-space:nowrap}.err-del-confirm button{border:none;background:none;padding:2px 4px;font-size:12px;cursor:pointer}.err-del-yes{color:var(--red);font-weight:600}.err-del-no{color:var(--faint)}.flag-trigger{display:inline;background:none;border:none;padding:0;margin-top:6px;font-size:12px;color:var(--faint);cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-decoration-style:dotted}.flag-trigger:hover{color:var(--sub)}.flag-trigger:disabled{opacity:.5;cursor:default}.flag-verdict{margin-top:8px;padding:8px 10px;border-radius:8px;font-size:13px}.flag-verdict p{margin:0 0 4px}.flag-verdict p:last-of-type{margin-bottom:6px}.flag-msg{font-weight:500}.flag-explain{color:var(--sub)}.flag-suggested{color:var(--sub);font-style:italic}.flag-deferred{background:var(--panel);color:var(--sub)}.flag-agree-user{background:var(--red-bg);color:var(--ink)}.flag-agree-tutor{background:var(--green-bg);color:var(--ink)}.flag-uncertain{background:var(--panel);color:var(--ink)}.today-entries .corrected{font-size:17px}.day-head .head-right{display:flex;align-items:center;gap:12px}.add-menu{position:relative}.add-btn{width:34px;height:34px;padding:0;font-size:18px;line-height:1;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:999px}.add-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.add-pop{position:absolute;right:0;top:40px;z-index:11;min-width:168px;padding:6px;display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.add-pop button{text-align:left;border:none}.entry-group{margin-bottom:28px}.entry-group .submission{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:14px}.entry-group .corrected{font-size:17px}.prompt-kicker{font-size:12px;font-weight:500;margin:0 0 6px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.composer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.composer-title{font-size:12px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.reply-btn{color:var(--sub)}.landing{--paper: #fffdf8;--warm-bg: #f7f5ef;--warm-line: #e6e2d7;--warm-sub: #6f6b62;--warm-faint: #a8a399;--red: #c5341f;--green: #2f7d57;--hand: "Caveat", cursive;background:var(--warm-bg);background-image:radial-gradient(rgba(0,0,0,.022) 1px,transparent 1px);background-size:4px 4px;min-height:100vh;color:var(--ink)}.landing .wrap{max-width:1100px;margin:0 auto;padding:0 32px}.landing .l-top{position:sticky;top:0;z-index:50;background:#f7f5efd1;backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid transparent}.landing .l-top.scrolled{border-bottom-color:var(--warm-line)}.landing .l-bar{display:flex;align-items:center;justify-content:space-between;padding:16px 32px}.landing .how,.landing .pricing{scroll-margin-top:80px}.landing .l-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.landing .l-mark{width:34px;height:34px;border-radius:9px;border:1px solid var(--warm-line);background:var(--paper);display:block}.landing .l-word{font-family:var(--serif);font-weight:600;font-size:25px;letter-spacing:-.01em}.landing .l-nav{display:flex;align-items:center;gap:26px;font-size:14px}.landing .l-nav a{color:var(--warm-sub);text-decoration:none}.landing .l-nav a:hover{color:var(--ink)}.landing .l-nav .signin{background:var(--ink);color:var(--warm-bg);padding:8px 16px;border-radius:9px;font-weight:500}.landing .hero{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding:54px 0 26px}.landing .eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-faint);margin-bottom:22px}.landing h1{font-family:var(--serif);font-weight:500;font-size:60px;line-height:1.04;letter-spacing:-.02em}.landing .reel{display:inline-block;height:1.04em;overflow:hidden;vertical-align:bottom;position:relative;top:.02em}.landing .reel ul{list-style:none;margin:0;padding:0;animation:reel 13s infinite}.landing .reel li{display:flex;align-items:center;height:1.04em;line-height:1.04;color:var(--green);font-style:italic;white-space:nowrap}.landing .reel .thai{font-family:"Noto Sans Thai",var(--serif);font-style:normal}.landing .reel .jp{font-family:"Noto Sans JP",var(--serif);font-style:normal}@keyframes reel{0%,15%{transform:translateY(0)}18%,33%{transform:translateY(-1.04em)}36%,51%{transform:translateY(-2.08em)}54%,69%{transform:translateY(-3.12em)}72%,87%{transform:translateY(-4.16em)}90%,to{transform:translateY(-5.2em)}}.landing .lead{font-size:18px;color:var(--warm-sub);margin:24px 0 14px;max-width:34ch}.landing .lead b{color:var(--ink);font-weight:600}.landing .badges{display:flex;gap:18px;margin-bottom:26px;font-size:13.5px;color:var(--warm-sub);flex-wrap:wrap}.landing .badges span{display:flex;align-items:center;gap:7px}.landing .badges .mk{color:var(--green);font-weight:700}.landing .signup{display:flex;gap:8px;max-width:380px;margin-bottom:0}.landing .signup input{flex:1;font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--warm-line);border-radius:10px;background:var(--paper)}.landing .signup button{font:inherit;font-weight:600;background:var(--ink);color:var(--warm-bg);border:none;border-radius:10px;padding:12px 20px;cursor:pointer;white-space:nowrap}.landing .more-signin{margin-top:16px;max-width:380px}.landing .more-signin summary{font-size:13px;color:var(--warm-sub);cursor:pointer}.landing .more-signin .divider{color:var(--warm-faint);font-size:13px;margin:14px 0;display:flex;align-items:center;gap:10px}.landing .more-signin .divider:before,.landing .more-signin .divider:after{content:"";flex:1;border-top:1px solid var(--warm-line)}.landing .more-signin .code-row{display:flex;gap:8px}.landing button.ghost{background:transparent;color:var(--ink);border:1px solid var(--warm-line)}.landing #signin.flash .signup input{animation:signinFlash 1.1s ease-out}.auth-hint{font-size:13px;color:var(--sub);margin:10px 0 0;max-width:380px;line-height:1.45}.landing .auth-hint{color:var(--warm-sub)}@keyframes signinFlash{0%{box-shadow:0 0 0 3px #2f7d5773;border-color:var(--green)}to{box-shadow:0 0 0 6px #2f7d5700}}.landing .markup{position:relative;background:var(--paper);border:1px solid var(--warm-line);border-radius:18px;padding:34px 32px;box-shadow:0 30px 60px -38px #28231966,0 2px #00000005;transform:rotate(-1.4deg)}.landing .card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.landing .prompt-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-faint)}.landing .speak{font-size:12px;color:var(--warm-sub);background:var(--warm-bg);border:1px solid var(--warm-line);border-radius:999px;padding:3px 10px}.landing .speak b{color:var(--ink)}.landing .demo-prompt{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--warm-sub);margin-bottom:18px}.landing .sentence{font-family:var(--serif);font-size:27px;line-height:1.4}.landing .w-wrong{position:relative;color:var(--red);white-space:nowrap}.landing .w-wrong:after{content:"";position:absolute;left:-2px;right:-2px;top:54%;height:2.5px;background:var(--red);transform:scaleX(0);transform-origin:left;animation:strike 5s infinite}.landing .w-right{color:var(--green);opacity:0;animation:appear 5s infinite}@keyframes strike{0%,12%{transform:scaleX(0)}22%,to{transform:scaleX(1)}}@keyframes appear{0%,24%{opacity:0;transform:translateY(4px)}34%,to{opacity:1;transform:translateY(0)}}.landing .note{position:absolute;font-family:var(--hand);color:var(--red);font-size:22px;line-height:1.05;transform:rotate(-5deg);opacity:0;animation:noteIn 5s infinite;right:-4px;top:122px}.landing .note .arrow{display:block;font-size:17px}@keyframes noteIn{0%,40%{opacity:0}52%,to{opacity:.95}}.landing .explain{margin-top:22px;border-top:1px dashed var(--warm-line);padding-top:16px;opacity:0;animation:appear2 5s infinite}@keyframes appear2{0%,46%{opacity:0}58%,to{opacity:1}}.landing .explain .e-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.landing .explain .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--warm-faint)}.landing .explain .picker{font-size:12px;color:var(--warm-sub)}.landing .explain .picker b{color:var(--ink)}.landing .explain p{font-size:14.5px;color:var(--ink);line-height:1.5}.landing .ptag{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:12.5px;color:var(--warm-sub);background:var(--warm-bg);border:1px solid var(--warm-line);border-radius:999px;padding:4px 12px}.landing .ptag b{color:var(--ink);font-weight:600}.landing .ptag .seen{color:var(--red)}.landing .ptag .chip{font-size:11px;background:var(--paper);border:1px solid var(--warm-line);border-radius:999px;padding:1px 8px}.landing .reveal{opacity:0;transform:translateY(14px);animation:rise .8s forwards}.landing .d1{animation-delay:.05s}.landing .d2{animation-delay:.18s}.landing .d3{animation-delay:.3s}.landing .d4{animation-delay:.42s}.landing .d5{animation-delay:.2s}@keyframes rise{to{opacity:1;transform:none}}.landing .l-rule{border:none;border-top:1px solid var(--warm-line);margin:0}.landing .how{padding:34px 0 60px}.landing .how h2{font-family:var(--ui);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-faint);text-align:center;margin:0 0 34px}.landing .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.landing .step .n{font-family:var(--serif);font-size:15px;color:var(--red);margin-bottom:10px}.landing .step h3{font-family:var(--serif);font-weight:500;font-size:21px;margin-bottom:8px}.landing .step p{font-size:14px;color:var(--warm-sub)}.landing .pricing{padding:30px 0 80px;max-width:860px;margin:0 auto}.landing .pricing .lbl{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-faint);text-align:center;margin-bottom:8px}.landing .pricing .ph{font-family:var(--serif);font-weight:500;font-size:34px;text-align:center;letter-spacing:-.02em;margin-bottom:34px}.landing .plans{display:grid;grid-template-columns:1fr 1fr;gap:20px}.landing .plan{background:var(--paper);border:1px solid var(--warm-line);border-radius:18px;padding:28px 26px;position:relative}.landing .plan.pro{border-color:var(--ink);box-shadow:0 26px 50px -34px #28231973}.landing .plan .pname{font-family:var(--serif);font-size:22px;font-weight:600;margin-bottom:4px}.landing .plan .price{font-family:var(--serif);font-size:40px;font-weight:500;letter-spacing:-.02em}.landing .plan .price span{font-family:var(--ui);font-size:15px;color:var(--warm-sub);font-weight:400}.landing .plan .blurb{color:var(--warm-sub);font-size:14px;margin:6px 0 18px}.landing .feat{list-style:none;margin:0 0 22px;padding:0}.landing .feat li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14.5px;border-top:1px solid var(--warm-line)}.landing .feat li:first-child{border-top:none}.landing .feat .ck{color:var(--green);flex-shrink:0;font-weight:700}.landing .feat .dash{color:var(--warm-faint);flex-shrink:0}.landing .feat .muted{color:var(--warm-faint)}.landing .plan .cta{display:block;text-align:center;font:inherit;font-weight:600;border-radius:11px;padding:12px;text-decoration:none;cursor:pointer}.landing .plan .cta.dark{background:var(--ink);color:var(--warm-bg)}.landing .plan .cta.ghost{background:transparent;color:var(--ink);border:1px solid var(--warm-line)}.landing .plan .badge{position:absolute;top:-11px;right:22px;background:var(--ink);color:var(--warm-bg);font-size:11px;font-weight:600;letter-spacing:.04em;padding:3px 11px;border-radius:999px}.landing .pricing .pfoot{text-align:center;color:var(--warm-faint);font-size:13px;margin-top:20px}.landing .pricing .ptrust{text-align:center;color:var(--warm-faint);font-size:12px;line-height:1.6;margin:10px auto 0;max-width:460px}.landing .pricing .ptrust a{color:var(--warm-sub);white-space:nowrap}.landing .l-foot{border-top:1px solid var(--warm-line);padding:24px 0 40px;font-size:13px;color:var(--warm-faint);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.landing .l-foot a{color:var(--warm-sub)}@media(max-width:900px){.landing .hero{grid-template-columns:1fr;gap:32px;padding:32px 0 16px}.landing h1{font-size:46px}.landing .markup{transform:none}.landing .steps{grid-template-columns:1fr;gap:18px}.landing .plans{grid-template-columns:1fr}.landing .rem-lead,.landing .seeit .ph{font-size:24px}.landing .rem-sub{font-size:15px}.landing .rem-days{gap:12px}.landing .rem-day{font-size:10px}}@media(max-width:560px){.landing .wrap{padding:0 20px}.landing .l-top{padding:18px 0}.landing .l-word{font-size:22px}.landing .l-nav a:not(.signin){display:none}.landing .l-nav{gap:0}.landing .l-nav .signin{white-space:nowrap}}.landing .app-cta{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}.landing .app-cta-label{font-size:13px;color:var(--warm-faint)}.landing .appstore{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:var(--warm-bg);border:none;border-radius:11px;padding:8px 16px;cursor:pointer;font:inherit}.landing .appstore svg{flex-shrink:0}.landing .appstore-text{display:flex;flex-direction:column;line-height:1.05;text-align:left}.landing .appstore-text small{font-size:9.5px;letter-spacing:.02em;opacity:.85}.landing .appstore-text b{font-size:17px;font-weight:600;letter-spacing:-.01em}.landing .platforms{font-size:14px;color:var(--warm-sub);margin:18px 0 0;max-width:380px;line-height:1.5}.landing .platforms b{color:var(--ink);font-weight:600}.landing .platforms a{color:var(--ink)}.landing .l-foot-links{display:flex;gap:18px;flex-wrap:wrap}.landing .l-foot-links a{color:var(--warm-sub)}.landing .consent,cookie-consent .consent{position:fixed;left:16px;right:16px;bottom:16px;max-width:640px;margin:0 auto;background:var(--paper, #fffdf8);border:1px solid var(--warm-line, #e6e2d7);border-radius:14px;box-shadow:0 20px 50px -20px #28231973;padding:16px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;z-index:60}cookie-consent .consent-text{font-size:13.5px;color:var(--sub, #6f6b62);margin:0;flex:1;min-width:240px;line-height:1.5}cookie-consent .consent-text a{color:var(--ink, #191c20)}cookie-consent .consent-actions{display:flex;gap:8px}cookie-consent .consent-actions button{font:inherit;font-weight:500;font-size:14px;border-radius:9px;padding:8px 16px;cursor:pointer;border:none;background:var(--ink, #191c20);color:#fff}cookie-consent .consent-actions button.ghost{background:transparent;color:var(--ink, #191c20);border:1px solid var(--warm-line, #e6e2d7)}.plan-toggle{display:inline-flex;margin:.75rem 0}.plan-toggle button{background:var(--panel);color:var(--sub);border:1px solid var(--line)}.plan-toggle button.on{background:var(--ink);color:var(--bg)}.plan-price{font-size:1.5rem;font-weight:600;margin:.25rem 0}.page ul.feat{margin:.5rem 0;padding-left:1.1rem}.page ul.feat li{margin:.2rem 0}.landing.legal .wrap{max-width:720px}.landing.legal .legal-doc{padding:24px 0 48px}.landing.legal .legal-doc h1{font-family:var(--serif);font-weight:600;font-size:34px;letter-spacing:-.02em;margin:0 0 4px}.landing.legal .legal-date{color:var(--warm-faint);font-size:13px;margin:0 0 24px}.landing.legal .legal-doc h2{font-family:var(--serif);font-weight:600;font-size:20px;color:var(--ink);text-transform:none;letter-spacing:0;margin:28px 0 8px}.landing.legal .legal-doc p{color:var(--warm-sub);line-height:1.65;margin:0 0 10px}.landing.legal .legal-doc ul{color:var(--warm-sub);line-height:1.65;margin:0 0 10px;padding-left:20px}.landing.legal .legal-doc li{margin-bottom:6px}.landing.legal .legal-doc b{color:var(--ink);font-weight:600}.landing.legal .legal-doc a{color:var(--ink)}.landing.legal .legal-note{font-size:13px;color:var(--warm-faint);margin-top:28px;font-style:italic}.landing .coming-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,16px);background:var(--ink);color:var(--warm-bg);font-size:14px;padding:11px 18px;border-radius:11px;box-shadow:0 16px 40px -16px #00000080;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:50}.landing .coming-toast.show{opacity:1;transform:translate(-50%)}.landing .how-lead{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.2;letter-spacing:-.01em;text-align:center;max-width:22ch;margin:0 auto 18px}.landing .how-sub{font-size:16px;color:var(--warm-sub);text-align:center;max-width:60ch;margin:0 auto 40px;line-height:1.6}.landing .remembers{padding:34px 0 60px;text-align:center}.landing .remembers h2{font-family:var(--ui);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-faint);margin:0 0 18px}.landing .rem-lead{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.2;letter-spacing:-.01em;max-width:24ch;margin:0 auto 14px}.landing .rem-sub{font-size:16px;color:var(--warm-sub);max-width:56ch;margin:0 auto 36px;line-height:1.6}.landing .rem-demo{max-width:520px;margin:0 auto;background:var(--paper);border:1px solid var(--warm-line);border-radius:18px;padding:26px 24px;box-shadow:0 26px 50px -40px #28231966}.landing .rem-days{display:flex;justify-content:center;gap:18px;margin-bottom:22px}.landing .rem-day{display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--ui);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-faint)}.landing .rem-day .dot{width:14px;height:14px;border-radius:50%;opacity:1;transition:opacity .5s ease,transform .5s ease}.landing .rem-day .dot.wrong{background:var(--red)}.landing .rem-day .dot.ok{background:var(--green)}.landing .rem-card{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--warm-sub);background:var(--warm-bg);border:1px solid var(--warm-line);border-radius:999px;padding:6px 14px;opacity:1;transition:opacity .5s ease,transform .5s ease}.landing .rem-card b{color:var(--ink);font-weight:600}.landing .rem-card .rem-chip{font-size:11px;background:var(--paper);border:1px solid var(--warm-line);border-radius:999px;padding:1px 8px}.landing .rem-card .rem-active{color:var(--red);display:none}.landing .rem-card .rem-resolved{color:var(--green);font-weight:600}.landing .rem-demo[data-phase] .dot{opacity:1}.landing .rem-demo[data-phase="0"] .dot,.landing .rem-demo[data-phase="1"] .dot.ok,.landing .rem-demo[data-phase="2"] .dot.ok{opacity:0;transform:scale(.6)}.landing .rem-demo[data-phase="0"] .rem-card,.landing .rem-demo[data-phase="1"] .rem-card{opacity:0;transform:translateY(8px)}.landing .rem-demo[data-phase="2"] .rem-active,.landing .rem-demo[data-phase="3"] .rem-active{display:inline}.landing .rem-demo[data-phase="2"] .rem-resolved,.landing .rem-demo[data-phase="3"] .rem-resolved{display:none}.landing .seeit{padding:30px 0 64px;text-align:center}.landing .seeit .lbl{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-faint);margin-bottom:8px}.landing .seeit .ph{font-family:var(--serif);font-weight:500;font-size:30px;letter-spacing:-.02em;margin-bottom:30px}.landing .video-shell{position:relative;max-width:760px;margin:0 auto;aspect-ratio:16 / 9;border-radius:18px;overflow:hidden;border:1px solid var(--warm-line);box-shadow:0 30px 60px -44px #28231980}.landing .video-el{width:100%;height:100%;object-fit:cover;display:block;background:var(--warm-bg)}.landing .price-toggle{display:flex;width:fit-content;gap:4px;padding:4px;background:var(--paper);border:1px solid var(--warm-line);border-radius:999px;margin:0 auto 26px}.landing .price-toggle button{font:inherit;font-size:14px;font-weight:500;border:none;background:transparent;color:var(--warm-sub);border-radius:999px;padding:7px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.landing .price-toggle button.on{background:var(--ink);color:var(--warm-bg)}.landing .price-toggle .save{font-size:11px;font-weight:600;color:var(--green);background:var(--green-bg);border-radius:999px;padding:1px 8px}.landing .price-toggle button.on .save{color:var(--green);background:var(--paper)}.landing .plan{text-align:left}.landing .plan .trial{display:inline-block;font-size:12px;font-weight:600;color:var(--green);background:var(--green-bg);border-radius:999px;padding:2px 10px;margin:8px 0 0}@media(prefers-reduced-motion:reduce){.landing .reel ul{animation:none}.landing .w-wrong:after{animation:none;transform:scaleX(1)}.landing .w-right{animation:none;opacity:1}.landing .note{animation:none;opacity:.95}.landing .explain{animation:none;opacity:1}.landing .reveal{animation:none;opacity:1;transform:none}.landing .coming-toast{transition:opacity .01s}.landing .rem-day .dot,.landing .rem-card{transition:none}}.stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-tile{display:flex;flex-direction:column;gap:2px}.stat-num{font-family:var(--serif);font-size:28px;line-height:1;color:var(--ink)}.stat-lbl{font-size:12px;color:var(--sub)}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px;justify-content:start}.heat-cell{width:14px;height:14px;border-radius:3px;background:var(--panel)}.heat-blank{background:transparent}.heat-cell.lvl-0{background:var(--panel)}.heat-cell.lvl-1{background:#cfe5d8}.heat-cell.lvl-2{background:#9bcdb0}.heat-cell.lvl-3{background:#5ba37d}.heat-cell.lvl-4{background:var(--green)}.heat-legend{display:flex;align-items:center;gap:4px;margin-top:10px}.vchart{display:flex;align-items:flex-end;gap:6px;height:90px;margin-top:8px}.vbar{flex:1;min-height:2px;background:var(--graphite);border-radius:3px 3px 0 0}.vbar.err{background:var(--red)}.vocab-size{font-size:22px;font-weight:600;margin:4px 0 10px}.vocab-counts{display:flex;gap:16px;margin-top:10px;font-size:14px;color:var(--sub)}.vocab-counts b{color:var(--ink)}.vocab-counts .has-tip{cursor:help}.vocab-counts .tip-i{color:var(--faint);font-size:11px}.vocab-group{margin-top:12px}.vocab-label{font-size:13px;font-weight:600;color:var(--sub);margin-bottom:6px}.vocab-words{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:8px}.vocab-words .chip{margin-right:0}.vocab-upgrade{margin-top:12px}.chart-head{display:flex;align-items:center;justify-content:space-between}.chart-head h2{margin:0}.chart-sub{margin:16px 0 0;font-size:13px;font-weight:600;color:var(--sub)}.range-select{width:auto;font:inherit;font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:4px 8px;cursor:pointer}@media(max-width:520px){.stat-tiles{grid-template-columns:repeat(2,1fr)}.heat-cell{width:11px;height:11px}}.cl-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#191c2073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:80}.cl-modal{background:var(--bg, #fffdf8);border:1px solid var(--line, #e6e2d7);border-radius:16px;box-shadow:0 24px 60px -20px #28231980;padding:24px;max-width:460px;width:100%;max-height:80vh;overflow-y:auto}.cl-title{margin:0 0 12px;font-size:20px}.cl-entry{margin-bottom:16px}.cl-entry h3{margin:0 0 6px;font-size:15px}.cl-ver{color:var(--sub, #6f6b62);font-weight:400;font-size:13px}.cl-entry ul{margin:0;padding-left:18px}.cl-entry li{margin:4px 0;line-height:1.5}.cl-ok{margin-top:8px}.pattern-block{display:block}.pattern-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.mastery{margin-top:8px}.mastery-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.pips{display:flex;gap:6px}.pips .pip{flex:1;height:10px;border-radius:999px;background:var(--bg);border:1px solid var(--line)}.pips .pip.on{background:var(--graphite);border-color:var(--graphite)}.mastered-badge{font-size:12px;font-weight:600;color:var(--green)}a.pattern-link{color:inherit;text-decoration:none;cursor:pointer}a.pattern-link:hover{background:var(--bg)}.pattern-detail-head{margin:6px 0 14px}.pattern-detail-head h1{margin:6px 0 2px}.pattern-detail-head .chip{display:inline-block}.medal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:8px}.medal{border:1px solid var(--line);border-radius:14px;padding:14px 10px;text-align:center;background:var(--paper)}.medal-ico{width:42px;height:42px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-size:20px}.medal-name{font-size:13px;font-weight:600;line-height:1.25}.medal.on .medal-ico{background:var(--green-bg);border:1px solid var(--green);color:var(--green)}.medal.on .medal-when{font-size:11px;color:var(--green);margin-top:3px}.medal.off{opacity:.92}.medal.off .medal-ico{background:var(--bg);border:1px dashed var(--line);color:var(--faint)}.medal.off .medal-name{color:var(--sub)}.medal-mini{margin-top:8px}.medal-num{font-size:11px;color:var(--faint);margin-top:4px}.celebrate{border:1px solid var(--green);background:var(--green-bg);border-radius:14px;padding:12px 16px;margin-bottom:16px}.celebrate-line{font-size:14px;color:var(--ink)}.celebrate-line+.celebrate-line{margin-top:4px}.celebrate-line b{color:var(--green)}.help-fab{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;background:var(--ink, #191c20);color:var(--bg, #f7f5ef);font-size:20px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 8px 24px -8px #28231980;z-index:70;padding:0}.help-panel{position:fixed;right:20px;bottom:76px;left:auto;max-width:300px;width:calc(100vw - 40px);background:var(--bg, #f7f5ef);border:1px solid var(--line, #e6e2d7);border-radius:14px;box-shadow:0 20px 50px -20px #28231973;padding:16px 18px;z-index:75}.help-panel h3{margin:0 0 8px;font-size:15px}.help-blurb{margin:0 0 12px;font-size:13.5px;line-height:1.5;color:var(--sub, #6f6b62)}.help-links{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.help-row{background:none;border:none;color:var(--ink, #191c20);font:inherit;font-size:14px;padding:6px 0;cursor:pointer;text-align:left;text-decoration:none;display:block;width:auto}.help-row:hover{text-decoration:underline}.help-ver{margin:12px 0 0;font-size:12px;color:var(--sub, #6f6b62)}.fb-form{display:flex;flex-direction:column;gap:8px;margin:6px 0}.fb-send{width:auto;align-self:flex-end}.fb-err{color:var(--err, #b00);font-size:13px;margin:0}.fb-done{font-size:14px;margin:4px 0}.help-mailto{font-size:12px;opacity:.7}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:700;margin-bottom:8px}.profile-card{position:relative}.profile-narrative{font-size:16px;line-height:1.6;margin:0}.focus-list{margin:12px 0 0;padding-left:18px}.focus-list li{font-size:14px;color:var(--sub);margin-bottom:6px;line-height:1.45}.profile-card.locked .blurred{filter:blur(5px);-webkit-user-select:none;user-select:none}.lock-over{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;padding:20px;border-radius:16px;background:linear-gradient(180deg,#fffdf859,#fffdf8e0 60%)}.lock-over p{margin:0;font-size:14px;color:var(--sub);max-width:34ch}.misc{font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--sub);line-height:1.45;margin:6px 0 0}.misc-lead{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink);line-height:1.5;margin:0 0 10px}.section-divider{display:flex;align-items:center;gap:10px;margin:22px 2px 8px;color:var(--faint);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:var(--line)}.profile-card.locked{min-height:190px}.progress-entries-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px}.progress-entries-head span{font-weight:600;font-size:.95rem}.history-entry{margin-bottom:14px}.history-entry .card{margin-bottom:6px}.history-del,.history-del-confirm{margin:0;text-align:right}.history-del-confirm p{margin:0 0 6px}.history-del-confirm button{margin-left:6px}.practice-cta{display:block;width:100%;background:var(--graphite);color:var(--paper);border:none;border-radius:12px;padding:13px 16px;font-weight:600;font-size:1rem;margin:4px 0 18px;cursor:pointer;text-align:center}.practice-cta:disabled{opacity:.5;cursor:not-allowed}.recur-strip{position:relative;height:24px;margin:8px 0 6px}.recur-strip:before{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:var(--line);border-radius:2px}.recur-dot{position:absolute;top:6px;width:11px;height:11px;border-radius:50%;background:var(--red);transform:translate(-50%);border:2px solid var(--paper)}.recur-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--faint)}.topnav a{position:relative}.nav-dot{display:inline-block;width:7px;height:7px;margin-left:5px;border-radius:50%;background:var(--red, #c0392b);vertical-align:middle}.memory-summary{margin:2px 0 10px;font-size:13.5px;font-weight:600;color:var(--graphite, #6b5f4f)}.words-summary-line{margin:4px 0 10px;font-size:13.5px}.words-summary-line a{color:var(--graphite, #6b5f4f);font-weight:600;text-decoration:none}.words-summary-line a:hover{text-decoration:underline}.chip-practise{width:auto;margin-left:6px;border:none;background:none;padding:0;font:inherit;font-size:.85em;color:var(--graphite, #6b5f4f);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.chip-practise:hover{color:var(--ink)}.filters{display:flex;gap:6px;margin:12px 0;flex-wrap:wrap}.filters button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.word-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.word-row:first-of-type{border-top:none}.word-row input[type=checkbox]{width:auto;flex:none;margin:0;padding:0;border:none;border-radius:0;background:none;accent-color:var(--ink);cursor:pointer}.word-row>div:not(.word-row-end){flex:1;min-width:0}.word-row-end{display:flex;align-items:center;gap:10px;flex:none}.word-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;bottom:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-top:10px;box-shadow:var(--shadow)}.prompt-hair{border:none;border-top:1px solid var(--line);margin:14px -16px 12px}.word-chips{display:flex;flex-wrap:wrap;gap:7px}.word-chip{font-family:var(--serif);font-size:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:3px 12px}.word-chip.done{background:var(--green-bg);color:var(--green);border-color:var(--green-bg)}.new-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:#fff;background:var(--red, #c0392b);border-radius:999px;vertical-align:middle}.park-bubble{position:fixed;z-index:60;display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);border-radius:10px;padding:6px 10px;box-shadow:0 14px 34px -14px #2823198c;font-size:13px;max-width:250px}.park-bubble .park-btn{background:transparent;border:0;color:var(--paper);font:inherit;padding:0;cursor:pointer;white-space:nowrap}.park-bubble .park-btn:disabled{opacity:.6;cursor:default}.park-bubble .park-msg{line-height:1.35}.park-bubble .park-msg+.park-btn{border-left:1px solid rgba(255,253,248,.3);padding-left:8px;font-weight:600}.card.word-add{display:flex;align-items:center;gap:10px}.card.word-add input{flex:1;min-width:0}.card.word-add button{flex:none}.word-row-end .pips{width:54px;flex:none}
