@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap";:root{color:#17231f;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f0e7;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}.boot-screen{background:#f4f0e7;place-items:center;min-height:100vh;display:grid}.boot-screen .brand-mark{animation:1.2s ease-in-out infinite alternate breathe}.login-page{background:#f4f0e7;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.login-intro{color:#f6f2e9;background:#173d33;flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,74px);display:flex;position:relative;overflow:hidden}.login-intro:before{content:"";border:1px solid #ffffff1c;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-220px;right:-220px;box-shadow:0 0 0 75px #ffffff06,0 0 0 150px #ffffff05}.login-brand{z-index:1;color:#fff;width:max-content;position:relative}.login-brand .brand-mark{color:#173d33;background:#e9d9ba}.login-intro>div{z-index:1;max-width:660px;position:relative}.login-intro .eyebrow{color:#a9c5ba;margin:0 0 24px}.login-intro h1{letter-spacing:-.05em;margin:0;font:600 clamp(52px,6.5vw,92px)/.94 Newsreader,Georgia,serif}.login-intro p:not(.eyebrow){color:#b9cbc4;max-width:480px;margin:28px 0 0;font-size:14px;line-height:1.75}.login-intro small{z-index:1;color:#87a89b;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700;position:relative}.login-panel{place-items:center;padding:clamp(28px,6vw,86px);display:grid}.login-card{width:min(100%,410px)}.login-card .eyebrow{margin:0 0 16px}.login-card h2{letter-spacing:-.035em;margin:0;font:600 44px/1 Newsreader,Georgia,serif}.login-copy{color:#718079;margin:16px 0 34px;font-size:12px;line-height:1.6}.login-card label{color:#46574f;gap:8px;margin-top:18px;font-size:11px;font-weight:700;display:grid}.login-card input{color:#17231f;background:#ffffffb8;border:1px solid #17231f29;border-radius:11px;outline:none;width:100%;height:48px;padding:0 14px;transition:border-color .18s,box-shadow .18s}.login-card input:focus{border-color:#38705e;box-shadow:0 0 0 3px #38705e1f}.login-error{color:#8b382e;background:#f3ddd5;border-radius:10px;margin-top:16px;padding:11px 13px;font-size:11px}.login-submit{cursor:pointer;color:#fff;background:#235b4a;border:0;border-radius:12px;justify-content:space-between;width:100%;margin-top:22px;padding:14px 17px;font-size:12px;font-weight:700;display:flex}.login-submit:disabled{opacity:.65;cursor:wait}.login-note{color:#8b958f;text-align:center;margin:14px 0 0;font-size:9px}@keyframes breathe{0%{opacity:.7;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}.app-shell{min-height:100vh;padding:0 5vw 56px;position:relative;overflow:hidden}.app-shell:before{content:"";filter:blur(1px);z-index:-1;background:#d7e4c8;border-radius:50%;width:460px;height:460px;position:absolute;top:-210px;right:-180px}.topbar{border-bottom:1px solid #17231f21;justify-content:space-between;align-items:center;height:88px;display:flex}.brand{color:#17231f;letter-spacing:-.03em;align-items:center;gap:11px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#f7f4ec;background:#235b4a;border-radius:11px;place-items:center;width:35px;height:35px;font-family:Newsreader,serif;font-size:23px;display:grid}.header-actions{align-items:center;gap:10px;display:flex}.icon-button,.profile{cursor:pointer;border:0;place-items:center;display:grid}.icon-button{background:#ffffff8f;border-radius:50%;width:40px;height:40px;font-size:24px}.profile{color:#fff;letter-spacing:.04em;background:#17231f;border-radius:50%;width:40px;height:40px;font-size:11px;font-weight:700}.eyebrow{color:#537064;text-transform:uppercase;letter-spacing:.13em;grid-column:1/-1;margin:0 0 -24px;font-size:11px;font-weight:700}.workspace{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff8f;border:1px solid #17231f1f;border-radius:26px;grid-template-columns:minmax(220px,280px) 1fr;min-height:520px;margin-top:36px;display:grid;overflow:hidden;box-shadow:0 20px 70px #25362e14}.sidebar{background:#f4f0e7a3;border-right:1px solid #17231f1c;padding:24px}.language-switch{background:#17231f12;border-radius:12px;grid-template-columns:1fr 1fr;gap:3px;padding:4px;display:grid}.language-switch button{cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 8px;font-size:12px;font-weight:700}.language-switch button.active{background:#fff;box-shadow:0 2px 12px #19282214}.deck-heading{justify-content:space-between;align-items:baseline;margin:30px 4px 12px;display:flex}.deck-heading span{font-size:13px;font-weight:700}.deck-heading small{color:#839089;font-size:10px}.deck-list{gap:6px;display:grid}.deck{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px;font-size:12px;display:flex}.deck span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deck em{color:#6c7a73;text-align:center;background:#17231f0f;border-radius:20px;flex:none;min-width:25px;padding:3px 7px;font-size:9px;font-style:normal}.deck.active{color:#fff;background:#235b4a}.deck.active em{color:#e7f2ea;background:#ffffff26}.study-area{flex-direction:column;min-width:0;padding:27px clamp(24px,4vw,62px) 30px;display:flex}.study-toolbar{justify-content:space-between;align-items:center;gap:24px;min-height:54px;display:flex}.study-toolbar>div{gap:4px;min-width:0;display:grid}.study-toolbar strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.study-toolbar span{color:#86928c;font-size:10px}.study-toolbar .study-controls{grid-auto-flow:column;align-items:center;gap:8px;display:flex}.mode-switch{background:#17231f12;border-radius:10px;padding:3px;display:flex}.mode-switch button{color:#6f7d76;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:700}.mode-switch button.active{color:#284c40;background:#fff;box-shadow:0 2px 10px #19282214}.mode-switch button:disabled{opacity:.38;cursor:not-allowed}.direction-button{cursor:pointer;background:#fffc;border:1px solid #17231f1f;border-radius:10px;flex:none;align-items:center;gap:9px;padding:9px 11px;display:flex}.direction-button span{color:#365c4f;letter-spacing:.03em;font-weight:700}.direction-button:disabled{opacity:.48;cursor:not-allowed}.progress-overview{margin-top:14px}.progress-copy{color:#75827c;gap:16px;margin-bottom:8px;font-size:9px;display:flex}.progress-copy b{color:#2c4b40;font-size:10px}.knowledge-progress{background:#17231f12;border-radius:10px;height:5px;overflow:hidden}.knowledge-progress i{border-radius:inherit;background:#4d8b72;height:100%;transition:width .25s;display:block}.mode-note{color:#89938e;margin:8px 0 0;font-size:9px}.study-error{color:#8b382e;background:#f3ddd5;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:9px 11px;font-size:10px;display:flex}.study-error button{cursor:pointer;color:inherit;background:0 0;border:0;font-size:17px;line-height:1}.flashcard{cursor:pointer;color:#f6f3ec;-webkit-tap-highlight-color:transparent;background:#173d33;border:0;border-radius:22px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:310px;margin:26px 0 22px;padding:48px 9%;transition:background .2s;display:flex;overflow:hidden;box-shadow:0 18px 40px #173d332e}.flashcard.revealed{background:#235b4a}.card-label{color:#9fc0b2;text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:700}.card-prompt{letter-spacing:-.035em;text-align:center;white-space:normal;overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;width:100%;max-width:100%;margin:18px 0 26px;font:600 clamp(48px,6vw,80px)/1.04 Newsreader,Georgia,serif;text-decoration:none}.card-prompt.compact{font-size:clamp(38px,4.6vw,62px);line-height:1.08}.card-prompt.extra-compact{letter-spacing:-.02em;font-size:clamp(30px,3.8vw,50px);line-height:1.12}.card-divider{background:#ffffff38;width:45px;height:1px}.card-answer{color:#b9cdc5;text-align:center;overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;width:100%;max-width:100%;min-height:20px;margin-top:23px;font-size:12px;line-height:1.4}.flashcard.revealed .card-answer{color:#fff;font-size:clamp(17px,2.1vw,22px)}.typing-card{cursor:default;padding-block:38px}.typing-card:hover{transform:none}.typing-card.correct{background:#235b4a}.typing-card.incorrect{background:#4f342d}.typing-card .card-prompt{margin-bottom:30px}.answer-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:min(100%,560px);display:grid}.answer-field input{color:#fff;background:#ffffff17;border:1px solid #fff3;border-radius:12px;outline:none;min-width:0;height:49px;padding:0 15px;font-size:14px}.answer-field input::placeholder{color:#ffffff73}.answer-field input:focus{border-color:#ffffff94;box-shadow:0 0 0 3px #ffffff14}.answer-field input:read-only{opacity:.78}.answer-field button{cursor:pointer;color:#18352c;background:#e9d9ba;border:0;border-radius:12px;padding:0 16px;font-size:11px;font-weight:700}.answer-field button:disabled{opacity:.45;cursor:default}.answer-feedback{color:#aac2b8;text-align:center;align-content:center;place-items:center;gap:4px;width:100%;min-height:40px;margin-top:18px;font-size:10px;display:grid}.answer-feedback b{color:#fff;font:600 22px Newsreader,Georgia,serif}.answer-feedback span{max-width:620px;line-height:1.45}.answer-feedback .expected-answer{color:#fff;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;font:600 clamp(28px,4.5vw,52px)/1.08 Newsreader,Georgia,serif}.test-card{margin-bottom:18px}.test-footer{grid-template-columns:auto minmax(100px,1fr);padding:0 2px 8px}.test-results{background:#ffffff9e;border-radius:22px;flex:1;margin-top:24px;padding:clamp(24px,4vw,44px);box-shadow:inset 0 0 0 1px #17231f14}.test-score{text-align:center;justify-items:center;padding:4px 0 28px;display:grid}.test-score>span{color:#6e7d76;text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:700}.test-score strong{color:#235b4a;letter-spacing:-.045em;margin-top:8px;font:600 clamp(62px,8vw,92px)/.95 Newsreader,Georgia,serif}.test-score strong small{color:#91a098;letter-spacing:-.02em;font-size:.42em}.test-score p{color:#68776f;margin:12px 0 0;font-size:11px}.mistake-list{gap:10px;display:grid}.mistake-list h2{margin:4px 0 3px;font:600 26px Newsreader,Georgia,serif}.mistake{background:#f7ebe5;border:1px solid #874c3b24;border-radius:13px;padding:17px 18px}.mistake h3{color:#633b31;margin:0 0 12px;font:600 25px/1.1 Newsreader,Georgia,serif}.mistake p{color:#543f38;margin:7px 0 0;font-size:11px;line-height:1.5}.mistake p span{color:#957b71;letter-spacing:.08em;text-transform:uppercase;min-width:118px;margin-right:9px;font-size:8px;font-weight:700;display:inline-block}.test-actions{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.test-actions button{cursor:pointer;color:#fff;background:#235b4a;border:0;border-radius:11px;min-height:42px;padding:0 16px;font-size:10px;font-weight:700}.test-actions button.secondary{color:#36564b;background:#e6e1d6}.test-actions button:disabled{opacity:.5;cursor:wait}.knowledge-actions{z-index:2;grid-template-columns:1fr 1fr;gap:10px;margin:-8px 0 18px;display:grid;position:relative}.knowledge-actions button{cursor:pointer;touch-action:manipulation;background:#ffffff9e;border:1px solid #17231f1c;border-radius:12px;min-height:43px;font-size:11px;font-weight:700;transition:transform .12s,background .12s,border-color .12s}.knowledge-actions button:active:not(:disabled){transform:scale(.98)}.knowledge-actions button:disabled{cursor:wait}.knowledge-actions button span{margin-right:7px;font-size:15px}.knowledge-actions .unknown{color:#874c3b}.knowledge-actions .known{color:#2f6a55}.knowledge-actions .unknown.active{background:#f3ddd5;border-color:#874c3b66}.knowledge-actions .known.active{background:#dcebe2;border-color:#2f6a5566}.study-footer{grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:18px;display:grid}.study-footer>span{color:#7c8983;font-size:10px}.study-footer b{color:#243b33;font-size:13px}.progress{background:#17231f14;border-radius:10px;height:4px;overflow:hidden}.progress i{border-radius:inherit;background:#d98558;height:100%;transition:width .25s;display:block}.study-footer button{color:#201b17;cursor:pointer;background:#d98558;border:0;border-radius:12px;padding:12px 17px;font-size:11px;font-weight:700}.study-footer button span{margin-left:8px}.empty-state{text-align:center;flex:1;align-content:center;place-items:center;padding:50px;display:grid}.empty-state>span{color:#527063;background:#e5dfd1;border-radius:50%;place-items:center;width:72px;height:72px;font:600 22px Newsreader,serif;display:grid}.empty-state h2{margin:22px 0 8px;font:600 28px Newsreader,serif}.empty-state p{color:#78847e;max-width:390px;margin:0;font-size:12px;line-height:1.65}@media (width<=760px){.login-page{grid-template-columns:1fr}.login-intro{min-height:310px;padding:28px 24px}.login-intro h1{font-size:48px}.login-intro p:not(.eyebrow){display:none}.login-panel{padding:42px 24px 56px}.login-card h2{font-size:39px}.app-shell{padding:0 16px 28px}.topbar{height:68px}.workspace{border-radius:20px;margin-top:20px;display:block}.sidebar{border-bottom:1px solid #17231f1c;border-right:0;padding:16px}.deck-heading{margin-top:18px}.deck-list{padding-bottom:2px;display:flex;overflow-x:auto}.deck{min-width:175px}.study-area{padding:18px 16px 20px}.study-toolbar{flex-wrap:wrap;align-items:flex-start;gap:12px}.study-toolbar>div:first-child{width:100%}.study-toolbar strong{max-width:100%}.study-toolbar .study-controls{justify-content:space-between;width:100%;display:flex}.mode-switch,.mode-switch button{flex:1}.progress-overview{margin-top:16px}.progress-copy{justify-content:space-between;gap:8px}.flashcard{min-height:330px;margin:18px 0;padding-inline:20px}.card-prompt{font-size:54px}.card-prompt.compact{font-size:40px}.card-prompt.extra-compact{font-size:30px}.flashcard.revealed .card-answer{font-size:18px}.typing-card{padding-block:32px}.typing-card .card-prompt{margin-bottom:25px}.answer-field{grid-template-columns:1fr}.answer-field button{min-height:44px}.knowledge-actions{margin-top:-7px}.study-footer{gap:11px}.test-results{margin-top:18px;padding:22px 16px}.mistake p span{min-width:0;margin:0 0 2px;display:block}.test-actions{display:grid}.test-actions button{width:100%}}@media (hover:hover) and (pointer:fine){.flashcard:not(.typing-card):hover{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
