:root{--bg: #faf8f4;--surface: #ffffff;--surface-2: #f1ede5;--text: #22201c;--muted: #6d675d;--line: #e2dcd1;--accent: #1f6f4a;--accent-soft: #e3f0e8;--warn: #b4531f;--radius: 14px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #171614;--surface: #211f1c;--surface-2: #2b2824;--text: #f0ece4;--muted: #a39c90;--line: #363229;--accent: #5fc08c;--accent-soft: #23372c;--warn: #e08a52;color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}#root{min-height:100%}.app{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px calc(env(safe-area-inset-bottom,0px) + 84px)}h1{font-size:1.35rem;margin:4px 0 2px}h2{font-size:1.05rem;margin:20px 0 8px}p{margin:8px 0}.muted{color:var(--muted);font-size:.9rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin:10px 0}button{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:10px 14px;min-height:44px}button:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;width:100%}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.btn-row>button{flex:1 1 0;min-width:72px}nav.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);z-index:10}nav.tabs button{flex:1;border:0;background:none;border-radius:0;padding:10px 4px 12px;color:var(--muted);font-size:.72rem;display:flex;flex-direction:column;align-items:center;gap:3px}nav.tabs button[aria-current=page]{color:var(--accent);font-weight:600}nav.tabs .ico{font-size:1.25rem;line-height:1}.drill-prompt{font-size:1.5rem;font-weight:600;text-align:center;margin:28px 0 8px;line-height:1.3}.drill-answer{font-size:1.5rem;text-align:center;color:var(--accent);margin:8px 0;font-weight:600}.drill-note{background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:.88rem;color:var(--muted)}.progress{height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden;margin:6px 0 2px}.progress>div{height:100%;background:var(--accent);transition:width .25s}input[type=search],input[type=text],select{font:inherit;width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);min-height:44px}.phrase{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}.phrase:last-child{border-bottom:0}.phrase-body{flex:1;min-width:0}.phrase-es{font-weight:600}.phrase-cs{color:var(--muted);font-size:.9rem}.phrase-actions{display:flex;gap:6px;flex-shrink:0}.phrase-actions button{padding:7px 9px;min-height:36px;font-size:.85rem}.chip{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:.85rem;margin:0 6px 6px 0;min-height:36px}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.badge{display:inline-block;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:600}.notice{background:var(--surface-2);border-left:3px solid var(--warn);border-radius:8px;padding:12px 14px;font-size:.9rem}.chat{display:flex;flex-direction:column;gap:9px;margin:12px 0}.msg{max-width:85%;padding:10px 13px;border-radius:15px;white-space:pre-wrap}.msg.ai{background:var(--surface);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:5px}.msg.me{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:5px}.composer{display:flex;gap:8px;align-items:flex-end}.composer textarea{font:inherit;flex:1;resize:none;min-height:44px;max-height:120px;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text)}.stat-row{display:flex;gap:8px}.stat{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px;text-align:center}.stat b{display:block;font-size:1.5rem;line-height:1.2}.stat span{font-size:.75rem;color:var(--muted)}
