:root,:root[data-theme-name=pastel]{--bg: #FFF6EF;--card: #FFFFFF;--card-alt: #F3EEF8;--ink: #2A3442;--muted: #5E6878;--line: #E8DFEC;--accent: #4F7593;--accent-deep: #3A5A73;--accent-soft: #E3EDF4;--on-accent: #FFFFFF;--warm: #B03F4B;--warm-soft: #FFE1E3;--sun: #9A5B1F;--sun-soft: #FFE6D3;--success: #2E7D62;--success-deep: #225D49;--success-soft: #DDF5EB;--error: #C23848;--error-deep: #912A36;--error-soft: #FFE0E2;--der: #3E6A8E;--die: #B8343F;--das: #2E7D52;--u1: #A8E6CE;--u2: #FFD3B6;--u3: #D1C8E5;--u4: #FF8C94;--grad: #7EA0B9;--fill-strong: #2A3442;--pastel-ink: #2A3442;--pastel-muted: #47505F;color-scheme:light}:root[data-theme-name=sage]{--bg: #FFF1D2;--card: #FFFAEE;--card-alt: #F3E6C6;--ink: #2F3E35;--muted: #5A6B5F;--line: #E6D7B2;--accent: #4E6B57;--accent-deep: #2F3E35;--accent-soft: #E1EAD8;--on-accent: #FFFFFF;--warm: #8C5A3C;--warm-soft: #F6E0CC;--sun: #7E5F28;--sun-soft: #F5E4BC;--success: #3F6B45;--success-deep: #2F5033;--success-soft: #DAE6CF;--error: #A3473A;--error-deep: #7A352B;--error-soft: #F6DCD3;--der: #3E6A8E;--die: #A8423A;--das: #3F7A3A;--u1: #E9DAB6;--u2: #BFD0B3;--u3: #F3E7C9;--u4: #D6E2CB;--grad: #7F9C86;--fill-strong: #2F3E35;--pastel-ink: #2F3E35;--pastel-muted: #4A5A4F;color-scheme:light}:root[data-theme-name=paper]{--bg: #F6F7FB;--card: #FFFFFF;--card-alt: #EEF0F6;--ink: #1E2333;--muted: #5B6275;--line: #E1E4EE;--accent: #4C5FD5;--accent-deep: #3646A8;--accent-soft: #E6E9FB;--on-accent: #FFFFFF;--warm: #B4436C;--warm-soft: #FBE3EC;--sun: #8A5A00;--sun-soft: #FFF0D1;--success: #237A57;--success-deep: #1A5B41;--success-soft: #DDF3E8;--error: #C0392B;--error-deep: #902A20;--error-soft: #FBE3E0;--der: #2F62B3;--die: #B8352A;--das: #23804F;--u1: #DCE3FF;--u2: #FFE9C7;--u3: #D7F2E3;--u4: #F8DDE8;--grad: #8C9BF0;--fill-strong: #3646A8;--pastel-ink: #1E2333;--pastel-muted: #474E61;color-scheme:light}:root[data-theme-name=midnight]{--bg: #12151C;--card: #1C2029;--card-alt: #252A35;--ink: #EEF1F7;--muted: #A3ABBC;--line: #2F3542;--accent: #8EA8FF;--accent-deep: #6A82D9;--accent-soft: #232C47;--on-accent: #12151C;--warm: #FF9EB5;--warm-soft: #3D2530;--sun: #FFC970;--sun-soft: #3A3020;--success: #6FD6A2;--success-deep: #53A079;--success-soft: #1C3329;--error: #FF8A80;--error-deep: #BF6760;--error-soft: #3D2222;--der: #8FB8FF;--die: #FF8A80;--das: #7FD8A0;--u1: #2C3654;--u2: #3B2F45;--u3: #24403A;--u4: #45362A;--grad: #5D72C7;--fill-strong: #8EA8FF;--pastel-ink: #EEF1F7;--pastel-muted: #B8BFCE;color-scheme:dark}:root[data-theme-name=candy]{--bg: #FFF8E7;--card: #FFFFFF;--card-alt: #FFF0F6;--ink: #2B1B3D;--muted: #6A5A7D;--line: #F1E2F0;--accent: #7B3FE4;--accent-deep: #5A27B5;--accent-soft: #EFE6FD;--on-accent: #FFFFFF;--warm: #C81E5A;--warm-soft: #FFE0EC;--sun: #B25E00;--sun-soft: #FFE9C2;--success: #128A5A;--success-deep: #0D6743;--success-soft: #D6F7E8;--error: #D7263D;--error-deep: #A11C2D;--error-soft: #FFE1E5;--der: #2D6CDF;--die: #D7263D;--das: #128A5A;--u1: #FFD23F;--u2: #3BCEAC;--u3: #FF8FAB;--u4: #8EC5FF;--grad: #FF8FAB;--fill-strong: #2B1B3D;--pastel-ink: #2B1B3D;--pastel-muted: #4A3A5C;color-scheme:light}:root{--radius: 18px;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font-size:16px;line-height:1.45;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:var(--ink)}.app{max-width:720px;margin:0 auto;padding:0 16px calc(96px + env(safe-area-inset-bottom));min-height:100vh}.app.focus{padding-bottom:24px}.title{font-size:30px;font-weight:800;letter-spacing:-.01em;margin:0}.h2{font-size:20px;font-weight:800;margin:24px 0 10px}.muted{color:var(--muted)}.eyebrow{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--warm)}.row{display:flex;align-items:center;gap:12px}.stack{display:flex;flex-direction:column;gap:14px}.spacer{flex:1}.card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 3px 0 var(--line)}.card.link{cursor:pointer;transition:transform .15s;display:block;text-decoration:none;color:inherit;text-align:left;width:100%}.card.link:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;border:0;border-radius:16px;font-weight:800;font-size:17px;color:var(--on-accent);background:var(--c, var(--accent));box-shadow:0 4px 0 var(--d, var(--accent-deep));transition:transform .08s,box-shadow .08s;margin-bottom:4px}.btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 0 0 var(--d, var(--accent-deep))}.btn:disabled{background:var(--card-alt);color:var(--muted);box-shadow:0 4px 0 var(--line);cursor:default}.btn.success{--c: var(--success);--d: var(--success-deep)}.btn.error{--c: var(--error);--d: var(--error-deep)}.btn.warm{--c: var(--warm);--d: color-mix(in srgb, var(--warm) 75%, black)}.btn.secondary{background:var(--accent-soft);color:var(--accent);box-shadow:0 3px 0 var(--line);min-height:46px;font-size:16px}.chip{border:0;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px}.iconbtn{border:0;background:transparent;color:var(--muted);width:40px;height:40px;border-radius:12px;font-size:20px;display:grid;place-items:center}.speaker{border:0;background:var(--accent-soft);color:var(--accent);border-radius:50%;display:grid;place-items:center;flex:none;transition:transform .15s}.speaker:active{transform:scale(.92)}.speaker.playing{animation:pulse 1s infinite}.option{display:block;width:100%;text-align:left;padding:15px 16px;border-radius:14px;border:2px solid var(--line);background:var(--card);box-shadow:0 3px 0 var(--line);font-weight:700;font-size:17px;margin-bottom:3px;transition:transform .12s}.option:active{transform:translateY(2px)}.option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 3px 0 var(--accent)}.option.correct{border-color:var(--success);background:var(--success-soft);box-shadow:0 3px 0 var(--success);animation:pop .35s}.option.wrong{border-color:var(--error);background:var(--error-soft);box-shadow:0 3px 0 var(--error)}.option.done{opacity:.5}.tiles{display:flex;flex-wrap:wrap;gap:8px}.tile{padding:10px 14px;border-radius:12px;border:2px solid var(--line);background:var(--card);box-shadow:0 3px 0 var(--line);font-weight:700;font-size:17px;animation:pop .25s}.tile.filled{border-color:var(--accent);box-shadow:0 3px 0 var(--accent)}.answer-zone{min-height:110px;padding:12px;background:var(--card-alt);border-radius:14px;align-content:flex-start}.input{width:100%;padding:14px;font-size:20px;border-radius:12px;border:2px solid var(--accent);background:var(--card);outline:none}.umlauts{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.umlauts button{border:0;background:var(--card-alt);border-radius:8px;width:40px;height:38px;font-size:18px;font-weight:600}.der{color:var(--der);font-weight:800}.die{color:var(--die);font-weight:800}.das{color:var(--das);font-weight:800}.progress{height:12px;background:var(--line);border-radius:99px;overflow:hidden;flex:1}.progress>div{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--grad),var(--accent));transition:width .5s cubic-bezier(.3,1.4,.5,1);min-width:12px}.topbar{position:sticky;top:0;z-index:5;background:var(--bg);display:flex;align-items:center;gap:10px;padding:10px 0}.page{animation:slidein .3s ease;padding-top:8px}.bottom{position:sticky;bottom:0;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 30%)}.feedback{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:18px 16px calc(18px + env(safe-area-inset-bottom));animation:up .3s cubic-bezier(.3,1.3,.5,1)}.feedback .inner{max-width:688px;margin:0 auto}.feedback.ok{background:var(--success-soft)}.feedback.bad{background:var(--error-soft)}.feedback h3{margin:0 0 6px;font-size:21px;font-weight:900}.combo{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:30;background:var(--warm);color:var(--on-accent);font-weight:900;padding:10px 18px;border-radius:99px;box-shadow:0 6px 20px #8c5a3c59;animation:drop .4s cubic-bezier(.3,1.5,.5,1)}.bubble{max-width:85%;padding:12px;border-radius:16px;border:1px solid var(--line);background:var(--card);transition:transform .2s}.bubble.f{margin-left:auto;background:var(--accent-soft)}.bubble.playing{border:2px solid var(--accent);transform:scale(1.02)}.bubble .who{font-size:12px;font-weight:700;color:var(--muted)}.bubble .de{font-size:18px;font-weight:600}.bubble .en{color:var(--accent);font-size:15px;animation:fadein .25s}.bubble .acts{display:flex;gap:14px;margin-top:6px}.bubble .acts button{border:0;background:none;color:var(--accent);font-weight:800;font-size:13px;padding:0}.md p{margin:0 0 10px}.md ul{margin:0 0 10px;padding-left:20px}.md table{border-collapse:collapse;width:100%;background:var(--card);border-radius:12px;overflow:hidden;margin:6px 0 12px;font-size:15px}.md th{background:var(--card-alt);color:var(--muted);text-align:left;padding:8px 10px;font-weight:700}.md td{padding:8px 10px;border-top:1px solid var(--line)}.md .tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--card);border-top:1.5px solid var(--line);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;max-width:180px;text-align:center;padding:10px 0 8px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:700}.tabbar a .ic{font-size:22px;display:block;transition:transform .2s}.tabbar a.active{color:var(--accent)}.tabbar a.active .ic{transform:scale(1.15) translateY(-2px)}.msg-user{margin-left:auto;max-width:80%;background:var(--accent);color:var(--on-accent);padding:12px;border-radius:18px;animation:up .25s}.msg-ai{max-width:88%;background:var(--card);border:1px solid var(--line);padding:12px;border-radius:18px;animation:up .25s}.correction{background:var(--sun-soft);border-radius:12px;padding:10px;font-size:15px;margin-bottom:6px}.chatbar{position:sticky;bottom:0;display:flex;gap:8px;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:var(--bg);align-items:flex-end}.chatbar textarea{flex:1;resize:none;border:1.5px solid var(--line);background:var(--card);border-radius:20px;padding:10px 14px;min-height:44px;max-height:120px;outline:none}.round{width:44px;height:44px;border-radius:50%;border:0;color:var(--on-accent);background:var(--accent);flex:none;font-size:18px}.round:disabled{background:var(--line)}.dots span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);margin:0 2px;animation:bounce 1s infinite}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ring{position:relative;display:grid;place-items:center}.ring svg{transform:rotate(-90deg)}.ring span{position:absolute;font-weight:900}.popin{animation:pop .45s cubic-bezier(.3,1.5,.5,1) both}.shake{animation:shake .35s}.word-img{width:100%;max-height:220px;object-fit:contain;border-radius:12px}@keyframes pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slidein{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@keyframes up{0%{transform:translateY(100%)}to{transform:none}}@keyframes drop{0%{transform:translate(-50%,-60px) scale(.8)}to{transform:translate(-50%)}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 420px){.title{font-size:26px}}.ex-head{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:900}.ex-head span{width:34px;height:34px;border-radius:10px;background:var(--sun-soft);display:grid;place-items:center;font-size:17px}.combo-chip{position:fixed;top:64px;right:max(16px,calc(50vw - 344px));z-index:6;background:var(--sun-soft);color:var(--warm);font-weight:900;padding:5px 12px;border-radius:99px;animation:pop .3s}.xp-float{position:fixed;top:120px;left:50%;transform:translate(-50%);z-index:25;color:var(--sun);font-size:24px;font-weight:900;text-shadow:0 2px 10px rgba(242,181,68,.45);animation:xpfloat .9s ease-out forwards;pointer-events:none}.fb-icon{width:38px;height:38px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-size:20px;font-weight:900;animation:pop .35s}.feedback .row{gap:10px}.stat{flex:1;border:2px solid var(--c);border-radius:16px;overflow:hidden;background:var(--card)}.stat div{background:var(--c);color:var(--on-accent);font-size:12px;font-weight:900;padding:6px 0;letter-spacing:.05em}.stat b{display:block;color:var(--c);font-size:22px;font-weight:900;padding:12px 0}@keyframes xpfloat{0%{opacity:0;transform:translate(-50%,20px) scale(.5)}25%{opacity:1;transform:translate(-50%) scale(1.1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-40px) scale(1)}}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:40;display:grid;place-items:end center}.sheet{width:100%;max-width:720px;max-height:85vh;overflow:auto;background:var(--bg);border-radius:22px 22px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));animation:up .3s}.wchip{display:inline-flex;gap:4px;padding:6px 10px;border-radius:99px;background:var(--card);border:1px solid var(--line);font-size:14px;margin:0 6px 6px 0}.scen{border:2px solid color-mix(in srgb,var(--sc) 60%,transparent);box-shadow:0 4px color-mix(in srgb,var(--sc) 50%,transparent)}.scen .em{width:50px;height:50px;border-radius:14px;background:color-mix(in srgb,var(--sc) 15%,transparent);display:grid;place-items:center;font-size:28px}.scen .who{font-size:11px;font-weight:900;color:var(--sc);background:color-mix(in srgb,var(--sc) 12%,transparent);padding:3px 8px;border-radius:99px}.hero{border-radius:24px;padding:18px;color:var(--on-accent);background:linear-gradient(135deg,var(--accent),var(--accent-deep));box-shadow:0 4px 0 var(--accent-deep)}.hero a{display:flex;align-items:center;justify-content:space-between;background:var(--card);color:var(--accent);border-radius:14px;height:50px;padding:0 16px;font-weight:900;text-decoration:none;margin-top:14px}.unit-card{display:flex;align-items:center;gap:14px;width:100%;border:0;border-radius:20px;padding:18px;text-align:left;text-decoration:none;color:var(--pastel-ink);background:var(--uc);box-shadow:0 4px color-mix(in srgb,var(--uc) 78%,black);transition:transform .1s,box-shadow .1s;cursor:pointer}.unit-card:active{transform:translateY(4px);box-shadow:0 0 0 transparent}.unit-card.current{outline:2px solid var(--fill-strong);outline-offset:-2px}.unit-card small{font-size:12px;font-weight:900;letter-spacing:.1em;color:var(--pastel-muted)}.unit-card .t{font-size:21px;font-weight:900;line-height:1.2}.unit-card .sub{color:var(--pastel-muted);font-weight:600;font-size:15px}.unit-card .bar{flex:1;height:7px;border-radius:9px;background:#2f3e3524;overflow:hidden}.unit-card .bar>div{height:100%;background:var(--fill-strong);border-radius:9px}.unit-card .chev{font-size:26px;color:var(--pastel-muted);font-weight:700}.tag{font-size:10px;font-weight:900;letter-spacing:.08em;padding:3px 7px;border-radius:99px;background:var(--fill-strong);color:#fbf8f1}.lesson-row.next{border-color:var(--accent);border-width:2px;box-shadow:0 3px color-mix(in srgb,var(--accent) 50%,transparent)}.lesson-row .status{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.lesson-row .ring span{font-size:12px}.level-bar{height:10px;border-radius:99px;background:var(--card-alt);overflow:hidden}.level-bar>div{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--grad),var(--accent));transition:width .8s cubic-bezier(.3,1.2,.5,1)}.avatar{width:50px;height:50px;border-radius:50%;background:var(--u2);color:var(--pastel-ink);display:grid;place-items:center;font-weight:900;font-size:22px;flex:none;border:3px solid var(--card)}.lesson-head{position:sticky;top:0;z-index:5;background:var(--bg);padding:10px 0 12px}.lesson-head .circle{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--ink);display:grid;place-items:center;font-size:15px;font-weight:900;flex:none}.lesson-head .label{font-weight:900;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-head .step{font-size:12px;font-weight:700;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;border-radius:99px;font-weight:900;font-size:14px;flex:none;position:relative}.pill.xp{background:var(--sun-soft);color:var(--sun)}.pill.combo-pill{background:var(--warm-soft);color:var(--warm);animation:pop .3s}.pill .pop{position:absolute;top:34px;left:50%;transform:translate(-50%);color:var(--sun);font-weight:900;animation:xppop 1s ease-out forwards;pointer-events:none}.lesson-bar{height:16px;border-radius:99px;background:var(--card-alt);border:1px solid var(--line);overflow:hidden;margin-top:10px}.lesson-bar>div{height:100%;min-width:16px;border-radius:99px;background:linear-gradient(90deg,var(--grad),var(--accent));position:relative;transition:width .5s cubic-bezier(.3,1.3,.5,1)}.lesson-bar>div:after{content:"";position:absolute;left:8px;right:8px;top:3px;height:4px;border-radius:9px;background:#ffffff59}@keyframes xppop{0%{opacity:0;transform:translate(-50%,-6px) scale(.5)}25%{opacity:1;transform:translate(-50%) scale(1.1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,6px)}}.feedback .inner{text-align:center}.feedback .fb-title{display:flex;align-items:center;justify-content:center;gap:10px}.feedback .fb-title h3{font-size:20px;margin:0}.feedback .fb-title .fb-icon{width:28px;height:28px;font-size:15px}.fb-icon{color:var(--on-accent)!important}.ptt{position:relative;width:180px;height:180px;display:grid;place-items:center;touch-action:none;user-select:none;-webkit-user-select:none}.ptt .ring1,.ptt .ring2{position:absolute;border-radius:50%;background:var(--error);transition:width .1s,height .1s,opacity .2s}.ptt .ring1{opacity:.12}.ptt .ring2{opacity:.18}.ptt button{position:relative;width:92px;height:92px;border-radius:50%;border:0;font-size:34px;color:var(--on-accent);background:var(--accent);box-shadow:0 5px 0 var(--accent-deep);transition:transform .12s,box-shadow .12s,background .2s;-webkit-touch-callout:none}.ptt.on button{background:var(--error);box-shadow:0 0 0 var(--error-deep);transform:translateY(4px) scale(.96)}.live{display:flex;align-items:center;gap:14px}.live.on{border:2px solid var(--error)}.live .mic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:20px;background:var(--card-alt);flex:none;transition:transform .1s}.live.on .mic{background:var(--error-soft)}.bars{display:flex;align-items:center;gap:3px;height:26px}.bars i{display:block;width:4px;border-radius:4px;background:var(--error);opacity:.8;transition:height .1s}.mode-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:112px;padding:14px;border:0;border-radius:18px;text-align:left;text-decoration:none;color:var(--pastel-ink);background:var(--uc);box-shadow:0 4px color-mix(in srgb,var(--uc) 78%,black);transition:transform .1s,box-shadow .1s}.mode-tile:active{transform:translateY(4px);box-shadow:none}.mode-tile .ic{width:38px;height:38px;border-radius:11px;background:#fff6;display:grid;place-items:center;font-size:18px}.mode-tile b{font-size:16px}.mode-tile span{font-size:12px;font-weight:700;color:var(--pastel-muted)}.unum{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:18px;color:var(--pastel-ink);background:var(--uc);flex:none}.streak-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:80px;flex:none;border-radius:18px;border:1.5px solid var(--line);box-shadow:0 3px 0 var(--line);color:var(--ink);line-height:1.1;transition:transform .1s}.streak-badge:active{transform:translateY(3px);box-shadow:none}.streak-badge small{font-size:11px;font-weight:800;color:var(--muted)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal .wd{font-size:11px;font-weight:900;color:var(--muted);padding-bottom:2px}.cal .d{height:36px;display:grid;place-items:center;border-radius:10px;font-size:14px;color:var(--muted);border:2px solid transparent}.cal .d.act{background:var(--warm-soft);color:var(--ink);font-weight:900}.cal .d.str{background:var(--warm);color:var(--on-accent);font-weight:900}.cal .d.today{border-color:var(--accent)}.stat-tile{background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:14px;min-width:0}.stat-tile div{font-size:12px;font-weight:800;color:var(--muted)}.stat-tile b{font-size:18px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week{display:flex;align-items:flex-end;gap:10px;height:150px}.week>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;justify-content:flex-end;height:100%}.week i{display:block;width:100%;border-radius:4px 4px 0 0}.week span{font-size:11px;font-weight:800;color:var(--muted)}.xp-fly{position:fixed;z-index:30;left:50%;bottom:215px;pointer-events:none;background:var(--sun-soft);color:var(--sun);font-weight:900;font-size:20px;will-change:transform,opacity;padding:8px 14px;border-radius:99px;box-shadow:0 3px 8px #0000001f;white-space:nowrap;animation:xpfly 1.1s forwards}@keyframes xpfly{0%{opacity:0;transform:translate(-50%) scale(.6)}18%{opacity:1;transform:translate(-50%) scale(1)}57%{opacity:1;transform:translate(-50%) scale(1);animation-timing-function:cubic-bezier(.5,0,.9,.6)}to{opacity:.15;transform:translate(calc(-50% + var(--dx)),var(--dy)) scale(.3);box-shadow:0 0 16px var(--sun)}}.pill.xp.bump{animation:bump .45s}@keyframes bump{40%{transform:scale(1.12);box-shadow:0 0 0 2px var(--sun),0 0 14px color-mix(in srgb,var(--sun) 50%,transparent)}}svg.lucide{flex:none}.tabbar a .ic{display:grid;place-items:center;height:28px}.tutor-av{border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--card);background:var(--card)}.ex-head span{color:var(--sun)}.streak-flame{display:flex;flex-direction:column;align-items:center;text-decoration:none;padding:4px 6px;line-height:1.1}.streak-flame b{font-size:17px}.half-tile{display:flex!important;flex-direction:column;gap:6px;min-height:118px}.half-tile .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.half-tile b{font-size:17px}.half-tile .muted{font-size:13px}.hamster{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;animation:pop .45s cubic-bezier(.3,1.5,.5,1);touch-action:none;overscroll-behavior:contain}.hamster video{width:100%;height:100%;max-width:720px;object-fit:contain;background:transparent;pointer-events:none}.tutor-av{cursor:pointer;-webkit-user-select:none;user-select:none}
