.todoo{--todoo-blue:var(--brand,#3b6cf6);--todoo-navy:var(--foreground,#14213d);--todoo-muted:var(--muted-strong,#5b6b8c);--todoo-border:var(--border,#dce3f0);left:32px;bottom:max(var(--todoo-bottom,24px), var(--todoo-lift,0px));z-index:50;font-family:var(--todoo-font,inherit);color:var(--todoo-navy);pointer-events:none;align-items:flex-end;gap:16px;display:flex;position:fixed}.todoo>*{pointer-events:auto}.todoo-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.todoo-right{flex-direction:row-reverse;left:auto;right:32px}.todoo-right .todoo-bubble:before{left:auto;right:-8px}.todoo-mascot{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;margin-bottom:-6px;padding:0;display:flex;position:relative}.todoo-mascot:focus-visible{outline:2px solid var(--todoo-blue);outline-offset:4px;border-radius:24px}.todoo-name{color:var(--todoo-muted);font-size:13px;font-weight:800}.todoo-sprite{transform-origin:50% 90%;width:230px;height:230px;transition:width .2s,height .2s;position:relative}.todoo-closed .todoo-sprite,.todoo-exam .todoo-sprite{width:96px;height:96px}.todoo-closed .todoo-name,.todoo-exam .todoo-name{font-size:12px}.todoo-dot{background:var(--todoo-blue);border-radius:50%;width:12px;height:12px;position:absolute;top:8px;right:8px;box-shadow:0 0 0 2px #fff}.todoo-img{object-fit:contain;opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.todoo-st-idle .todoo-img-idle,.todoo-st-thinking .todoo-img-thinking,.todoo-st-happy .todoo-img-happy,.todoo-st-encourage .todoo-img-encourage,.todoo-st-sleepy .todoo-img-sleepy,.todoo-st-old .todoo-img-old,.todoo-st-suspicious .todoo-img-suspicious,.todoo-st-amazed .todoo-img-amazed,.todoo-st-wave .todoo-img-wave,.todoo-st-correct .todoo-img-correct,.todoo-st-almost .todoo-img-almost,.todoo-st-clap .todoo-img-clap,.todoo-st-trophy .todoo-img-trophy,.todoo-st-streak .todoo-img-streak,.todoo-st-celebrate .todoo-img-celebrate,.todoo-st-explain .todoo-img-explain,.todoo-st-listen .todoo-img-listen,.todoo-st-read .todoo-img-read,.todoo-st-idea .todoo-img-idea,.todoo-st-heart .todoo-img-heart{opacity:1}.todoo-st-idle .todoo-sprite{animation:3.4s ease-in-out infinite todoo-float}.todoo-st-thinking .todoo-sprite{animation:2.4s ease-in-out infinite todoo-tilt}.todoo-st-happy .todoo-sprite{animation:1.1s ease-in-out infinite todoo-bounce}.todoo-st-encourage .todoo-sprite{animation:2.6s ease-in-out infinite todoo-nod}.todoo-st-sleepy .todoo-sprite{animation:4s ease-in-out infinite todoo-breathe}.todoo-st-old .todoo-sprite{animation:3.2s ease-in-out infinite todoo-wobble}.todoo-st-suspicious .todoo-sprite{animation:2s ease-in-out infinite todoo-lean}.todoo-st-amazed .todoo-sprite{animation:.8s ease-out infinite alternate todoo-pop}.todoo-st-wave .todoo-sprite{animation:1.2s ease-in-out infinite todoo-nod}.todoo-st-correct .todoo-sprite{animation:1.1s ease-in-out infinite todoo-bounce}.todoo-st-almost .todoo-sprite{animation:2.2s ease-in-out infinite todoo-nod}.todoo-st-clap .todoo-sprite{animation:.9s ease-in-out infinite todoo-bounce}.todoo-st-trophy .todoo-sprite{animation:.8s ease-in-out infinite alternate todoo-pop}.todoo-st-streak .todoo-sprite{animation:.7s ease-in-out infinite alternate todoo-pop}.todoo-st-celebrate .todoo-sprite{animation:.9s ease-in-out infinite todoo-bounce}.todoo-st-explain .todoo-sprite{animation:3s ease-in-out infinite todoo-float}.todoo-st-listen .todoo-sprite{animation:2.4s ease-in-out infinite todoo-tilt}.todoo-st-read .todoo-sprite{animation:4s ease-in-out infinite todoo-breathe}.todoo-st-idea .todoo-sprite{animation:.8s ease-in-out infinite alternate todoo-pop}.todoo-st-heart .todoo-sprite{animation:2.6s ease-in-out infinite todoo-float}.todoo-exam.todoo-st-idle .todoo-sprite{animation:none}@keyframes todoo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes todoo-tilt{0%,to{transform:rotate(-5deg)}50%{transform:rotate(-9deg)translateY(-3px)}}@keyframes todoo-bounce{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-16px)scale(.96,1.04)}60%{transform:translateY(0)scale(1.04,.96)}}@keyframes todoo-nod{0%,to{transform:rotate(0)}30%{transform:rotate(4deg)translateY(2px)}60%{transform:rotate(-2deg)}}@keyframes todoo-breathe{0%,to{transform:scale(1)translateY(2px)}50%{transform:scale(1.03,.97)translateY(4px)}}@keyframes todoo-wobble{0%,to{transform:rotate(-2deg)translateY(3px)}50%{transform:rotate(2deg)translateY(4px)}}@keyframes todoo-lean{0%,to{transform:rotate(0)translate(0)}50%{transform:rotate(-6deg)translate(-4px)}}@keyframes todoo-pop{0%{transform:scale(1)}to{transform:scale(1.06)translateY(-4px)}}.todoo-talk{flex-direction:column;gap:10px;min-width:0;max-width:520px;margin-bottom:30px;display:flex}.todoo-exam .todoo-talk{max-width:360px;margin-bottom:18px}.todoo-bubble{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:18px;min-height:58px;padding:18px 22px;font-size:16.5px;line-height:1.55;position:relative;box-shadow:0 12px 32px #14213d1f,0 1px 3px #14213d0f}.todoo-open .todoo-bubble{padding-right:46px}.todoo-scroll{overscroll-behavior:contain;max-height:min(46dvh,420px);overflow-y:auto}.todoo-bubble:before{content:"";background:#fff;border-radius:3px;width:18px;height:18px;position:absolute;bottom:26px;left:-8px;transform:rotate(45deg)}.todoo-toast{min-height:0;font-size:15px;animation:.25s ease-out todoo-toast-in}@keyframes todoo-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.todoo-close{width:30px;height:30px;color:var(--todoo-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:20px;line-height:1;position:absolute;top:8px;right:8px}.todoo-close:hover{background:var(--surface,#f4f2ed);color:var(--todoo-navy)}.todoo-cursor{background:var(--todoo-blue);vertical-align:-3px;width:2px;height:18px;margin-left:2px;animation:1s steps(2,end) infinite todoo-cur;display:inline-block}@keyframes todoo-cur{0%{opacity:1}to{opacity:0}}.todoo-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.todoo-input{border:1.5px solid var(--todoo-border);min-width:0;height:44px;font:inherit;background:#fff;border-radius:12px;outline:none;flex:100%;padding:0 14px;font-size:14.5px}.todoo-input:focus{border-color:var(--todoo-blue)}.todoo-btn{border:1.5px solid var(--todoo-border);height:44px;font:inherit;color:var(--todoo-blue);cursor:pointer;white-space:nowrap;background:#fff;border-radius:12px;padding:0 14px;font-size:13.5px;font-weight:700}.todoo-btn:hover{border-color:var(--todoo-blue)}.todoo-btn:disabled{opacity:.5;cursor:default}.todoo-hint{color:var(--muted,#9aa8c4);font-size:12px}.todoo-limit{color:#8a5a05;background:#fff7e0;border-radius:10px;padding:8px 12px;font-size:12.5px;line-height:1.4}.todoo-btn-photo{padding:0 12px;font-size:18px}.todoo-photo{border:1.5px solid var(--todoo-border);color:var(--todoo-muted);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:8px 44px 8px 8px;font-size:13px;display:flex;position:relative}.todoo-photo img{object-fit:cover;border-radius:8px;flex-shrink:0;width:56px;height:56px}.todoo-hl{background:#fff0b3;border-radius:6px;padding:0 6px;animation:1.8s ease-out infinite todoo-pulse}@keyframes todoo-pulse{0%{box-shadow:0 0 #f5b8418c}to{box-shadow:0 0 0 12px #f5b84100}}@media (max-width:900px){.todoo{left:12px;right:12px;bottom:max(var(--todoo-bottom,12px), var(--todoo-lift,0px));gap:10px}.todoo-sprite{width:96px;height:96px}.todoo-closed .todoo-sprite,.todoo-exam .todoo-sprite{width:52px;height:52px}.todoo-closed .todoo-name,.todoo-exam .todoo-name{display:none}.todoo-mascot{margin-bottom:0}.todoo-dot{width:14px;height:14px;top:0;right:0}.todoo-scroll{max-height:min(34dvh,320px)}.todoo-mascot{flex-shrink:0}.todoo-talk{flex:1;max-width:none;margin-bottom:10px}.todoo-bubble{padding:14px 16px;font-size:15px}.todoo-open .todoo-bubble{padding-right:42px}.todoo-btn{flex:1;height:40px}.todoo-row .todoo-btn-more{display:none}.todoo-btn-photo{flex:0 0 52px}}.todoo-btn-locked{color:var(--todoo-muted);position:relative}.todoo-lock{font-size:12px;position:absolute;top:-6px;right:-4px}.todoo-btn-working{font-size:13.5px}.todoo-upsell{color:var(--todoo-navy,#14213d);line-height:1.45}.todoo-upsell-icon{background:var(--surface,#f4f2ed);border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.todoo-link{color:var(--todoo-blue);text-underline-offset:2px;font-weight:700;text-decoration:underline}@media (max-width:900px){.todoo-btn-working{flex:100%}}
