@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2) format("woff2"),url(/assets/montserrat-latin-800-normal-C3dfDxXV.woff) format("woff")}:root{--paper: #fbf4f2;--paper-2: #f6ebea;--card: #ffffff;--ink: #2b1a1d;--ink-soft: #6e5a5e;--line: #efdfe0;--brand: #7a1f2e;--brand-deep: #5a1521;--on-brand: #ffffff;--on-brand-soft: #f6dde1;--red: #7a1f2e;--red-ink: #ffffff;--blush: #f6dde1;--blush-ink: #5a1521;--peach: #fbe6d8;--peach-ink: #5c2c16;--sage: #e2eedd;--sage-ink: #2f5e34;--ok: #2f5e34;--radius: 20px;--radius-md: 16px;--radius-sm: 12px;--font: "Montserrat", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--serif: var(--font);--sans: var(--font);--nav-h: 62px;--ease-pop: cubic-bezier(.2, .9, .3, 1.2);--ease-out: cubic-bezier(.2, .8, .2, 1);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--paper: #1c1214;--paper-2: #241719;--card: #2a1b1f;--ink: #f6eaec;--ink-soft: #c8b2b6;--line: #3d2a2e;--brand: #6b1c2a;--brand-deep: #3e0e17;--on-brand: #ffffff;--on-brand-soft: #f2c6cd;--red: #e9a3ae;--red-ink: #2b1a1d;--blush: #4a2830;--blush-ink: #f6dde1;--peach: #3a2620;--peach-ink: #f7c9ae;--sage: #22331f;--sage-ink: #a9d3a0;--ok: #9fd196}}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;font-weight:500;line-height:1.5;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}.screen{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 20px) 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 28px);animation:screen-in .32s var(--ease-out)}.screen.no-nav{padding-bottom:calc(env(safe-area-inset-bottom) + 28px)}h1{font-size:1.7rem;font-weight:800;line-height:1.15;margin:0 0 6px;letter-spacing:-.025em}h2{font-size:1.15rem;font-weight:800;letter-spacing:-.015em;margin:28px 0 10px}h3{font-size:.95rem;font-weight:700;margin:0 0 6px}p{margin:0 0 10px}b,strong{font-weight:700}.soft{color:var(--ink-soft)}.small{font-size:.86rem}a{color:var(--red);font-weight:600}.en,.word.en{font-family:var(--font);font-size:1.12rem;font-weight:600;line-height:1.5;letter-spacing:-.005em}.en-lg,.word.en-lg{font-family:var(--font);font-size:1.32rem;font-weight:700;line-height:1.45;letter-spacing:-.01em}.eyebrow{font-size:.78rem;font-weight:600;color:var(--ink-soft);margin:0}button,.btn{font:inherit;font-weight:600;min-height:44px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,background-color .2s ease}button:active,.btn:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand);font-weight:700}.btn-light{background:#fff;color:#7a1f2e;border-color:transparent;font-weight:700}@media (prefers-color-scheme: dark){.btn-light{background:var(--on-brand-soft);color:#5a1521}}.btn-block{width:100%}.btn-big{min-height:54px;font-size:1rem;border-radius:var(--radius-md)}.btn-text{border:none;background:none;color:var(--red);padding:10px 4px}.btn-round{width:44px;height:44px;padding:0;border-radius:50%;color:var(--red)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row>.grow{flex:1 1 0;min-width:0}.stack{display:flex;flex-direction:column;gap:12px}:focus-visible{outline:3px solid var(--red);outline-offset:2px}.icon{width:1.25em;height:1.25em;flex:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.tint-blush{background:var(--blush);color:var(--blush-ink);border-color:transparent}.tint-peach{background:var(--peach);color:var(--peach-ink);border-color:transparent}.tint-sage{background:var(--sage);color:var(--sage-ink);border-color:transparent}.chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 11px;font-size:.85rem;font-weight:700}.divider{border:none;border-top:1px solid var(--line);margin:20px 0}.hero{background:var(--brand);color:var(--on-brand);border-radius:24px;padding:16px;margin-top:14px}.hero .soft-on{color:var(--on-brand-soft)}.hero-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}.ring circle{fill:none;stroke-width:7}.ring .track{stroke:var(--brand-deep)}.ring .fill{stroke:var(--on-brand-soft);stroke-linecap:round;transition:stroke-dasharray .9s var(--ease-out)}.ring text{fill:var(--on-brand);font-family:var(--font);font-weight:800;font-size:13px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;border:none;border-radius:var(--radius-md);padding:14px;min-height:92px;font-weight:700}.tile .icon{width:24px;height:24px}.check-row{display:flex;align-items:flex-start;gap:12px;min-height:44px;margin:0;font-weight:500;cursor:pointer}.check-row input{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:28px;height:28px;margin:0;border-radius:9px;background:var(--card);border:2px solid currentColor;display:grid;place-items:center;cursor:pointer;transition:background-color .2s ease}.check-row input:checked{background:currentColor}.check-row input:checked:after{content:"";width:7px;height:13px;border:solid var(--peach);border-width:0 3px 3px 0;transform:translateY(-2px) rotate(45deg);animation:pop .3s var(--ease-pop)}input[type=text],input[type=password],textarea,select{font:inherit;width:100%;min-height:48px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);color:var(--ink)}label{display:block;font-weight:700;margin-bottom:6px}input[type=range]{width:100%;height:44px;accent-color:var(--red)}details summary{cursor:pointer;font-weight:600}.nav{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--card);border-top:1px solid var(--line);padding:6px 8px calc(env(safe-area-inset-bottom) + 6px);z-index:10}.nav a{min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:16px;color:var(--ink-soft);text-decoration:none;font-size:.72rem;font-weight:600;transition:background-color .2s ease,color .2s ease}.nav a .icon{width:22px;height:22px}.nav a[aria-current=page]{background:var(--blush);color:var(--red);font-weight:800}@media (prefers-color-scheme: dark){.nav a[aria-current=page]{color:var(--blush-ink)}}.w-ok{color:var(--ink)}.w-bad{text-decoration:underline wavy var(--red);text-decoration-thickness:2px;text-underline-offset:5px}.w-missed{color:var(--ink-soft);text-decoration:line-through var(--red)}.word{border:none;background:none;padding:0 1px;min-height:0;font:inherit;color:inherit;display:inline}.rec-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:18px 0 6px}.rec-halo{position:relative;width:108px;height:108px;display:grid;place-items:center}.rec-halo .meter{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;background:var(--blush);transition:transform 90ms linear;pointer-events:none}.rec{position:relative;width:80px;height:80px;border-radius:50%;background:var(--brand);color:var(--on-brand);border:none;padding:0}.rec .icon{width:32px;height:32px}.rec.on{background:var(--brand-deep)}.rec-time{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:.85rem;font-weight:600}.session-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}.progress{flex:1;height:8px;background:var(--line);border-radius:4px;overflow:hidden}.progress>div{height:100%;background:var(--red);border-radius:4px;transition:width .5s var(--ease-out)}.steps-count{font-size:.85rem;font-weight:800;color:var(--red);font-variant-numeric:tabular-nums}.chat{display:flex;flex-direction:column;gap:10px}.bubble{max-width:86%;padding:11px 14px;border-radius:20px;animation:pop-in .32s var(--ease-pop) both}.bubble.ai{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-left-radius:6px}.bubble.ai .en{font-size:1.05rem}.bubble.me{align-self:flex-end;background:var(--brand);color:var(--on-brand);border-bottom-right-radius:6px}.feedback{align-self:flex-end;max-width:90%;background:var(--blush);color:var(--blush-ink);border-radius:16px;padding:10px 14px;font-size:.92rem;animation:pop-in .32s var(--ease-pop) .15s both}.feedback .soft{color:inherit;opacity:1}.feedback-title{font-size:.78rem;font-weight:800;margin:0 0 2px}.notice{background:var(--blush);color:var(--blush-ink);border-radius:var(--radius-sm);padding:12px 14px;font-size:.92rem}.notice .btn-text{color:inherit;text-decoration:underline}.ok-text{color:var(--ok);font-weight:700}.bad-text{color:var(--red);font-weight:700}.metric{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.metric>div{background:var(--paper-2);border-radius:var(--radius-sm);padding:10px 4px}.metric b{display:block;font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums}.metric span{font-size:.75rem;color:var(--ink-soft)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.stats>div{border-radius:var(--radius-md);padding:12px 10px}.stats b{display:block;font-size:1.6rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.stats span{font-size:.75rem;font-weight:600}.dots{display:flex;gap:6px}.dots i{width:30px;height:30px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;font-style:normal;font-size:.78rem;font-weight:700;color:var(--ink-soft)}.dots i.done{background:var(--red);color:var(--red-ink)}.dots i.now{background:var(--blush);box-shadow:inset 0 0 0 2px var(--red);color:var(--red)}.bars{display:flex;align-items:flex-end;gap:4px;height:100px}.bars div{flex:1;background:var(--blush);border-radius:6px 6px 2px 2px;min-height:3px;transform-origin:bottom;animation:grow-up .6s var(--ease-out) both}.bars div.today{background:var(--red)}.big-num{font-size:3rem;font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.list{list-style:none;padding:0;margin:0}.list li{padding:12px 0;border-bottom:1px solid var(--line)}.option{width:100%;justify-content:flex-start;text-align:left;border-radius:var(--radius-md);font-weight:600}.option.right{background:var(--sage);border-color:var(--sage-ink);color:var(--sage-ink)}.option.wrong{background:var(--blush);border-color:var(--red);color:var(--blush-ink)}.spinner{display:inline-block;width:18px;height:18px;border:2.5px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}.done-check{display:block;margin:8px 0 14px}.done-check circle{fill:var(--sage);transform-origin:center;animation:pop .45s var(--ease-pop) both}.done-check path{fill:none;stroke:var(--sage-ink);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .5s ease .25s forwards}.pop-in{animation:pop-in .32s var(--ease-pop) both}@keyframes spin{to{transform:rotate(360deg)}}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.96)}}@keyframes pop{0%{opacity:0;transform:scale(.4)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes grow-up{0%{transform:scaleY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}.spinner{animation-duration:2s!important}}
