*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:Inter,ui-rounded,system-ui,-apple-system,sans-serif;color:#312442}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:not-allowed}.app{min-height:100dvh}.homeScreen{height:100dvh;min-height:580px;position:relative;overflow:hidden;background:#c879ff url(/assets/winx-group.jpeg) center center/contain no-repeat}.homeTop{position:absolute;top:max(env(safe-area-inset-top),24px);left:50%;transform:translate(-50%);width:min(54%,240px);text-align:center;color:#fff;text-shadow:0 1px 5px #6d29a0;font-size:18px}.progress{margin-top:9px;height:8px;background:#fff8;overflow:hidden;border-radius:99px;box-shadow:0 1px 4px #6727a555}.progress span{display:block;height:100%;background:#fff8eb;border-radius:99px}.startButton{position:absolute;bottom:calc(max(env(safe-area-inset-bottom),16px) + 14px);left:50%;transform:translate(-50%);width:min(calc(100% - 48px),390px);height:62px;border-radius:23px;background:#fff8eb;color:#653490;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 7px 22px #5523834d}.scrim{position:fixed;inset:0;background:#24142b72;display:flex;align-items:end;z-index:10}.bottomSheet{width:100%;background:#fff9ed;border-radius:30px 30px 0 0;padding:10px 22px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -12px 36px #22122c33}.grabber{height:5px;width:42px;border-radius:5px;background:#d5c5d3;margin:0 auto 15px}.bottomSheet button:not(.signout){height:62px;width:100%;display:flex;align-items:center;gap:18px;text-align:left;background:transparent;color:#342341;border-bottom:1px solid #e9deea;padding:0 8px}.bottomSheet button span{flex:1;font-weight:650}.bottomSheet .signout{display:block;margin:16px auto 0;background:transparent;color:#866596;font-size:13px}.studyScreen{height:100dvh;min-height:520px;background:#faf6ed;display:flex;flex-direction:column;padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(10px,env(safe-area-inset-left))}.studyScreen header{height:46px;flex:none;display:flex;align-items:center;padding-left:5px}.back{display:inline-flex;align-items:center;gap:7px;background:transparent;color:#53356d;font-weight:700;padding:8px}.card{width:min(100%,520px);margin:0 auto 10px;flex:1;min-height:0;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 5px 22px #4a2b552b}.cardInput{flex:none;padding:clamp(14px,3vh,24px) 20px 0;position:relative;z-index:1}.cardInput label{display:block;margin-bottom:6px;color:#402b49;font-size:13px;font-weight:700}.cardInput input{height:53px;width:100%;border:1px solid #d7b8ce;border-radius:16px;padding:0 16px;background:#fff9ed;color:#282035;font-size:17px;outline-color:#73509d}.fairyArea{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:5px 12px;background:transparent;border:0}.fairyArt{width:min(72vw,300px);height:min(52vh,430px);max-width:100%;max-height:100%;object-fit:contain;object-position:center;pointer-events:none;display:block;flex:none}.imageFallback{color:#fffa;font-size:76px}.cardBottom{flex:none;padding:0 20px 20px;display:grid;gap:12px;position:relative;z-index:1}.russian{min-height:55px;display:flex;justify-content:center;align-items:center;text-align:center;background:#fff9ed;border-radius:16px;color:#382447;font-weight:800;font-size:clamp(20px,5vw,28px);padding:8px 12px}.flip{height:49px;border-radius:15px;background:#623587;color:#fff;font-weight:750;display:flex;align-items:center;justify-content:center;gap:10px}.cardBack{height:100%;display:flex;flex-direction:column;color:#fff9ed;padding:clamp(22px,5vh,44px) 24px 24px;overflow:auto}.backAnswers{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.backAnswers span{font-size:14px;opacity:.85;font-weight:600;margin-top:12px}.backAnswers strong{font-size:clamp(25px,6vw,35px);overflow-wrap:anywhere;line-height:1.2}.backAnswers p{margin:6px 0;line-height:1.45}.example{font-style:italic}.example small{display:block;font-style:normal;margin-top:5px;opacity:.85}.backActions{flex:none;margin-top:18px}.backActions .try{background:transparent;color:#fff9ed;text-decoration:underline;padding:5px 0 13px}.backActions div{display:flex;gap:10px}.backActions div button{flex:1;min-height:53px;background:#fff9ed;color:#593675;border-radius:16px;font-weight:800}.backActions div button:first-child{background:#ead7ed}.plain{min-height:100dvh;background:#faf6ed;padding:calc(18px + env(safe-area-inset-top)) 20px calc(30px + env(safe-area-inset-bottom))}.plain>header{max-width:700px;margin:auto}.plain h1{font-size:31px;margin:15px 0 24px;color:#5e3e7e}.content{max-width:700px;margin:auto}.addRow,.searchRow{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e4d6e5;border-radius:18px;padding:5px 14px;margin-bottom:18px}.addRow input,.searchRow input{border:0;background:transparent;outline:none;min-width:0;flex:1;height:47px}.addRow button{background:#9c66c5;color:#fff;border-radius:13px;width:42px;height:42px}.topicRow,.wordRow{width:100%;display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #eadfeb;border-radius:18px;margin:10px 0;padding:17px;text-align:left;color:#3a2b42}.topicRow span{font-weight:750}.topicRow small,.wordRow small{display:block;color:#8c7593;font-size:13px;font-weight:500;margin-top:5px}.addWord{background:#9c66c5;color:#fff;border-radius:15px;padding:13px 17px;display:flex;align-items:center;gap:8px;font-weight:700}.wordRow div{display:grid;gap:2px}.wordRow strong{font-size:17px}.wordRow span{color:#725185}.wordRow button{color:#7f51a5;background:#f5ebf9;border-radius:11px;padding:9px 13px}.muted{color:#877c8b}.centerState{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;color:#5c4172}.centerState button,.setup button{background:#8c5bb5;color:#fff;border-radius:15px;padding:14px 22px;font-weight:700}.sparkle{color:#a566d0;font-size:64px}.setup,.auth{min-height:100dvh;background:#faf6ed;display:flex;align-items:center;justify-content:center;padding:25px}.setup{flex-direction:column;text-align:center}.setup p{max-width:450px;line-height:1.5}.auth form{width:min(100%,410px);background:#fff;border-radius:27px;padding:28px;box-shadow:0 8px 30px #754f8d19}.auth h1{margin:0;color:#603d7f}.auth p{color:#796985}.auth label,.fields label{display:grid;gap:6px;margin:17px 0;font-weight:650;font-size:14px}.auth input,.fields input,.fields select{height:46px;border:1px solid #d9c9df;border-radius:12px;padding:0 12px;background:#fffefa;color:#302338}.auth button[type=submit],.auth form>button{width:100%;height:48px;background:#9362b9;color:#fff;border-radius:14px;font-weight:750}.error{color:#b82954!important}.modalBackdrop{position:fixed;inset:0;z-index:20;background:#24152cc0;display:flex;align-items:center;justify-content:center;padding:12px}.editor{width:min(100%,520px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;background:#fffaf1;border-radius:25px;padding:19px}.editor header,.editor footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor header h2{margin:4px}.editor header button{background:transparent;color:#593d70}.editor .fields{overflow:auto;padding:0 6px}.editor fieldset{border:1px solid #dfcfe4;border-radius:12px}.editor fieldset label{display:flex;align-items:center;gap:8px;margin:8px}.editor fieldset input{width:18px;height:18px}.editor footer{padding-top:15px}.editor footer button{display:flex;align-items:center;gap:6px;background:#9060b6;color:#fff;border-radius:12px;padding:11px 18px;font-weight:700}.editor footer .delete{background:transparent;color:#b3335d}.toast{position:fixed;bottom:20px;left:20px;right:20px;z-index:30;background:#4a263f;color:#fff;border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:15px}.toast button{background:transparent;color:#fff}@media(max-height:680px){.studyScreen header{height:40px}.cardInput{padding-top:12px}.cardInput input{height:44px}.cardBottom{padding-bottom:12px;gap:8px}.russian{min-height:45px}.flip{height:43px}}@media(min-width:650px){.homeScreen{background-color:#c879ff}.homeTop{width:220px}}.auth .authSwitch{background:transparent!important;color:#754ba1!important;margin-top:10px;height:35px!important;font-size:13px}.cardFront{background:#e8d9f4;color:#352446}.cardReverse{background:#9570c6}
