:root{--bg:#f4f3f0;--surface:#fff;--surface-2:#ebe9e4;--ink:#16171b;--ink-2:#5d6069;--ink-3:#9b9da5;--line:#14161c17;--accent:#5b57d9;--accent-ink:#fff;--accent-soft:#5b57d91a;--shadow-sm:0 1px 2px #14161c0d;--shadow-md:0 8px 30px #14161c1f;--shadow-lg:0 -12px 40px #14161c29;--radius:18px;--scrim:#0c0d1042;--tint-l:.93;--tint-c:.055;--ease:cubic-bezier(.2, .75, .25, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1013;--surface:#1a1c21;--surface-2:#24272e;--ink:#f1f1f3;--ink-2:#a2a5ae;--ink-3:#6e7178;--line:#ffffff17;--accent:#7370ea;--accent-soft:#7d79ef29;--shadow-sm:none;--scrim:#00000080;--tint-l:.345;--tint-c:.052;--shadow-md:0 8px 30px #00000080;--shadow-lg:0 -12px 40px #0000008c}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior-y:none;margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}#root{height:100%}.app{background:var(--bg);flex-direction:column;max-width:460px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width>=620px) and (height>=700px){body{background:color-mix(in oklab, var(--bg) 82%, var(--ink) 18%)}.app{height:min(880px,100dvh - 48px);box-shadow:var(--shadow-md);border:1px solid var(--line);border-radius:28px;margin:24px auto}}.home{padding:0 20px calc(28px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overflow-y:auto}.home__head{padding:max(48px, calc(28px + env(safe-area-inset-top))) 0 30px}.home__title{letter-spacing:-.032em;margin:0;font-size:34px;font-weight:640}.home__subtitle{color:var(--ink-2);letter-spacing:-.01em;margin:6px 0 0;font-size:15px}.home__label{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:0 2px 10px;font-size:11.5px;font-weight:600}.list{flex-direction:column;display:flex}.row{text-align:left;border-bottom:1px solid var(--line);width:100%;transition:background .18s var(--ease), transform .12s var(--ease);border-radius:14px;align-items:center;gap:14px;padding:14px 6px;display:flex}.row:last-child{border-bottom:0}.row:active{background:var(--surface-2);transform:scale(.987)}.avatar{background:var(--surface-2);background:oklch(var(--tint-l) var(--tint-c) var(--hue,270));width:44px;height:44px;box-shadow:var(--shadow-sm);border-radius:50%;flex:none;place-items:center;font-size:20px;display:grid}.row__body{flex:1;min-width:0}.row__top{align-items:baseline;gap:8px;display:flex}.row__title{letter-spacing:-.012em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15.5px;font-weight:570;overflow:hidden}.row__meta{color:var(--ink-3);font-variant-numeric:tabular-nums;letter-spacing:-.004em;flex:none;margin-left:auto;font-size:12px}.row__context{color:var(--ink-2);letter-spacing:-.005em;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:13.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.row__meta .done{color:var(--accent)}.home__foot{color:var(--ink-3);margin-top:26px;padding:0 2px;font-size:12.5px;line-height:1.5}.goals{flex-direction:column;height:100%;min-height:0;display:flex}.goals__body{-webkit-overflow-scrolling:touch;min-height:0;padding:22px 20px calc(28px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.goals__situation{letter-spacing:-.008em;color:var(--ink-2);text-wrap:pretty;margin:0 0 22px;font-size:15.5px;line-height:1.45}.goals__title{letter-spacing:-.022em;margin:0 0 14px;font-size:19px;font-weight:600}.goals__list{flex-direction:column;gap:8px;display:flex}.goal{text-align:left;background:var(--surface);border:1px solid var(--line);width:100%;box-shadow:var(--shadow-sm);animation:rise .28s var(--ease) both;transition:transform .12s var(--ease), background .16s var(--ease);border-radius:15px;align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.goal:nth-child(2){animation-delay:40ms}.goal:nth-child(3){animation-delay:80ms}.goal:nth-child(4){animation-delay:.12s}.goal:nth-child(5){animation-delay:.16s}.goal:active{background:var(--surface-2);transform:scale(.985)}.goal__emoji{flex:none;font-size:19px;line-height:1.25}.goal__body{flex-direction:column;gap:2px;min-width:0;display:flex}.goal__label{letter-spacing:-.012em;text-wrap:pretty;font-size:15.5px;font-weight:545;line-height:1.3}.goal__done{color:var(--accent)}.goal__ru{color:var(--ink-2);text-wrap:pretty;font-size:13px;line-height:1.35}.goal--free{box-shadow:none;background:0 0;border-style:dashed}.goals__secret{color:var(--ink-3);margin:20px 2px 0;font-size:12.5px;line-height:1.45}.chat{flex-direction:column;height:100%;min-height:0;display:flex}.chat__header{padding:max(12px, calc(8px + env(safe-area-inset-top))) 12px 10px;border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--bg) 78%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);z-index:3;flex:none;align-items:center;gap:10px;display:flex}.back{width:34px;height:34px;color:var(--ink-2);transition:background .16s var(--ease);border-radius:50%;flex:none;place-items:center;margin-left:-4px;display:grid}.back:active{background:var(--surface-2)}.chat__who{min-width:0}.chat__name{letter-spacing:-.014em;font-size:15.5px;font-weight:580;line-height:1.2}.chat__context{color:var(--ink-3);letter-spacing:-.003em;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11.5px;overflow:hidden}.chat__avatar{width:32px;height:32px;font-size:15px}.thread{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:column;flex:1;gap:4px;min-height:0;padding:16px 14px 8px;display:flex;overflow-y:auto}.thread::-webkit-scrollbar{display:none}.thread>:first-child{margin-top:auto}.msg{letter-spacing:-.011em;border-radius:var(--radius);max-width:82%;animation:rise .26s var(--ease) both;overflow-wrap:break-word;text-wrap:pretty;padding:9px 13px 10px;font-size:16px;line-height:1.4}.msg--them{background:var(--surface);box-shadow:var(--shadow-sm);border:1px solid var(--line);border-bottom-left-radius:7px;align-self:flex-start}.msg--me{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:7px;align-self:flex-end}.msg--them:has(+.msg--them){border-bottom-left-radius:var(--radius)}.msg--me:has(+.msg--me){border-bottom-right-radius:var(--radius)}.msg--me+.msg--them,.msg--them+.msg--me{margin-top:8px}@keyframes rise{0%{opacity:0;transform:translateY(9px)scale(.97)}}.msg{cursor:pointer}.msg:active{filter:brightness(.985)}.phrase{cursor:pointer;text-underline-offset:3.5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.5px;-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 55%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 55%, transparent);transition:background .16s var(--ease);border-radius:4px}.phrase:active,.phrase[data-open=true]{background:var(--accent-soft)}.phrase:focus-visible,.choice:focus-visible,.row:focus-visible,.btn:focus-visible,.back:focus-visible,.choice__send:focus-visible,.choice__ru:focus-visible,.msg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.typing{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);animation:rise .2s var(--ease) both;border-bottom-left-radius:7px;align-self:flex-start;align-items:center;gap:4px;margin-top:8px;padding:13px 14px;display:flex}.typing i{background:var(--ink-3);width:6px;height:6px;animation:blink 1.25s var(--ease) infinite;border-radius:50%}.typing i:nth-child(2){animation-delay:.16s}.typing i:nth-child(3){animation-delay:.32s}@keyframes blink{0%,60%,to{opacity:.28;transform:translateY(0)}30%{opacity:.9;transform:translateY(-2.5px)}}.dock{padding:8px 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 55%, color-mix(in oklab, var(--bg) 0%, transparent));transition:opacity .2s var(--ease);flex-direction:column;flex:none;gap:7px;display:flex}.dock--waiting{opacity:0;pointer-events:none}.choice{background:var(--surface);border:1px solid color-mix(in oklab, var(--accent) 20%, var(--line));width:100%;box-shadow:var(--shadow-sm);animation:rise .28s var(--ease) both;transition:transform .12s var(--ease);border-radius:15px;align-items:stretch;display:flex;overflow:hidden}.choice__send{text-align:left;letter-spacing:-.011em;text-wrap:pretty;color:var(--ink);transition:background .16s var(--ease);flex:1;padding:13px 13px 13px 15px;font-size:15.5px;line-height:1.35}.choice__send:active{background:var(--surface-2)}.choice__ru{letter-spacing:.05em;width:44px;color:var(--ink-3);border-left:1px solid var(--line);transition:background .16s var(--ease), color .16s var(--ease);flex:none;place-items:center;font-size:10.5px;font-weight:650;display:grid}.choice__ru:active{background:var(--accent-soft);color:var(--accent)}.choice:nth-child(2){animation-delay:50ms}.choice:nth-child(3){animation-delay:.1s}.choice:nth-child(4){animation-delay:.15s}.choice:has(.choice__send:active){transform:scale(.985)}.scrim{background:var(--scrim);animation:fade .2s var(--ease) both;z-index:8;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.sheet{z-index:9;background:var(--surface);padding:10px 22px calc(24px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:slide-up .28s var(--ease) both;border-radius:22px 22px 0 0;position:absolute;bottom:0;left:0;right:0}@keyframes slide-up{0%{transform:translateY(100%)}}.sheet__grip{background:var(--line);border-radius:2px;width:36px;height:4px;margin:0 auto 16px}.sheet__german{letter-spacing:-.012em;text-wrap:pretty;margin:0;font-size:16.5px;font-weight:520;line-height:1.4}.sheet__phrase{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600}.sheet__translation{color:var(--ink-2);letter-spacing:-.008em;margin:7px 0 0;font-size:15.5px;line-height:1.42}.sheet__example{border-left:2px solid color-mix(in oklab, var(--accent) 35%, transparent);margin:18px 0 0;padding-left:13px}.sheet__example p{letter-spacing:-.009em;margin:0;font-size:15px;line-height:1.44}.sheet__example p+p{color:var(--ink-3);margin-top:3px;font-size:14px}.sheet__seen{color:var(--ink-3);margin:16px 0 0;font-size:12px}.end{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);animation:rise .34s var(--ease) both;border-radius:20px;margin:18px 4px 6px;padding:22px 20px 20px}.end__verdict{letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin:0 0 9px;font-size:11.5px;font-weight:650}.end__title{letter-spacing:-.02em;text-wrap:pretty;margin:0;font-size:18.5px;font-weight:600;line-height:1.28}.end__title-ru{color:var(--ink-2);text-wrap:pretty;margin:5px 0 0;font-size:14px;line-height:1.38}.end__text{letter-spacing:-.009em;text-wrap:pretty;margin:15px 0 0;font-size:15px;line-height:1.46}.end__text-ru{color:var(--ink-3);text-wrap:pretty;margin:5px 0 0;font-size:13.5px;line-height:1.42}.end__label{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:20px 0 9px;font-size:11.5px;font-weight:600}.end__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.end__list li{letter-spacing:-.008em;font-size:14.5px;line-height:1.35}.end__list b{font-weight:570}.end__list span{color:var(--ink-2)}.end__actions{gap:8px;margin-top:22px;display:flex}.btn{letter-spacing:-.008em;text-align:center;transition:transform .12s var(--ease), opacity .16s var(--ease);border-radius:13px;flex:1;padding:12px 14px;font-size:14.5px;font-weight:540}.btn:active{transform:scale(.98)}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--ghost{background:var(--surface-2);color:var(--ink)}@media (width<=359px){.end__actions{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}
