:root{color:#202820;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f8f5;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.app-shell{max-width:1100px;margin:auto;padding:20px 28px 64px}.topbar{border-bottom:1px solid #e5e9e2;justify-content:space-between;align-items:center;gap:24px;padding:10px 0 20px;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:10px;font-family:Manrope,system-ui,sans-serif;font-size:21px;font-weight:800;display:flex}.brand-flower{vertical-align:-.08em;width:.9em;height:.9em;margin:0 .015em}.menu-toggle{color:#285c3a;background:#edf3ed;border:0;border-radius:11px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.menu-toggle:hover{background:#dcebdc}.modal-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.modal-heading h2{margin:0}.menu-links{flex-direction:column;gap:8px;margin-top:12px;display:flex}.menu-links .link{text-align:left;border-radius:10px;padding:14px}.menu-links .link:hover{background:#edf3ed}.content{max-width:760px;margin:60px auto}.panel{background:#fff;border:1px solid #e8ece6;border-radius:22px;padding:36px;box-shadow:0 12px 42px #26351d0b}.auth{width:min(100%,460px)}h1,h2{letter-spacing:-.045em;margin:.35em 0 .55em;font-family:Manrope,system-ui,sans-serif;line-height:1.12}h1{font-size:clamp(34px,6vw,52px)}h2{font-size:32px}.eyebrow{letter-spacing:.12em;color:#588265;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.muted{color:#68736a;line-height:1.6}.auth form,.word-form,.modal[open]{flex-direction:column;gap:12px;display:flex}label{margin-top:8px;font-size:14px;font-weight:650}input,select{color:#202820;background:#fff;border:1px solid #ccd5cb;border-radius:10px;width:100%;padding:12px 14px}input:focus-visible,select:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid #85bc91}.primary,.secondary,.danger{border:0;border-radius:11px;padding:12px 18px;font-weight:700}.primary{color:#fff;background:#326d46}.primary:hover{background:#285c3a}.primary:disabled{opacity:.5;cursor:not-allowed}.secondary{color:#285c3a;background:#edf3ed}.danger{color:#9c3730;background:#fff1ef;padding:9px 12px}.link{color:#39734b;background:0 0;border:0;padding:8px 10px;font-weight:650}.auth .link{margin-top:10px}.error{color:#a2342c;background:#fff1ef;border-radius:10px;padding:12px}.notice{color:#285c3a;background:#edf5ed;border-radius:10px;padding:12px 16px}.hero{text-align:center;padding:48px 42px}.hero .muted{margin-bottom:28px}.start{margin-top:18px}.empty{background:#f7f9f6;border-radius:14px;padding:20px}.page-heading{margin-bottom:22px}.page-heading h1{margin-bottom:8px}.word-form{gap:8px}.word-form .primary{margin-top:12px}.word-list{border-top:1px solid #e3e9e1;margin-top:22px}.word-row{border-bottom:1px solid #e3e9e1;justify-content:space-between;align-items:center;gap:16px;padding:16px 8px;display:flex}.word-row div{gap:5px;display:grid}.word-row span{color:#68736a}.load-more{margin:22px auto;display:block}.practice{text-align:center;flex-direction:column;justify-content:center;min-height:490px;display:flex}.progress-head{color:#59675d;justify-content:space-between;margin-bottom:10px;font-size:14px;display:flex}.progress-track{background:#e8eee8;border-radius:20px;height:9px;margin-bottom:48px;overflow:hidden}.progress-track span{border-radius:inherit;background:#4b8a5d;height:100%;transition:width .2s linear;display:block}.question{letter-spacing:-.05em;overflow-wrap:anywhere;font-family:Manrope,system-ui,sans-serif;font-size:clamp(42px,10vw,72px);font-weight:750}.answer{color:#758078;opacity:0;height:48px;margin-top:22px;font-size:clamp(22px,5vw,30px);transition:opacity .2s}.answer.shown{opacity:1;color:#39734b}.exit{margin-top:35px}.modal::backdrop{background:#18251bb0}.modal{color:inherit;width:min(100% - 32px,480px);max-height:calc(100dvh - 40px);margin:auto;overflow:auto}.actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal select{margin-bottom:4px}@media (width<=650px){.app-shell{padding:12px 16px 40px}.content{margin:28px auto}.panel{border-radius:17px;padding:25px 21px}.hero{padding:36px 22px}.word-row{padding:14px 2px}.practice{min-height:calc(100dvh - 190px)}.progress-track{margin-bottom:38px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
