@font-face{font-family:Fredoka;src:local("Fredoka");font-weight:500 700}:root{color-scheme:dark;--lx-bg: #14101f;--lx-surface: #241b3d;--lx-surface-alt: #2e2348;--lx-surface-alt-2: #1c1530;--lx-surface-raised-shadow: #1a1329;--lx-border-soft: rgba(255, 255, 255, .08);--lx-ink: #f5efe6;--lx-ink-muted: #c7b9dc;--lx-ink-faint: #9084a6;--lx-accent: #ff4f6e;--lx-accent-shadow: #c22c4a;--lx-accent-soft: #ff9aa6;--lx-cream: #fff3e2;--lx-cream-shadow: #c9a46a;--lx-cream-sunken: #f4e7cf;--lx-cream-border: #d8bd87;--lx-cream-ink: #2a1f3d;--lx-cream-ink-muted: #5b4a38;--lx-cream-ink-strong: #7a4a2e;--lx-teal: #2fd9c6;--lx-warm-tile: #3a2340;--lx-warm-tile-shadow: #24162a;--lx-warm-icon: #ffa53e;--lx-radius-lg: 28px;--lx-radius-md: 20px;--lx-radius-sm: 14px;--lx-tap-min: 44px;font-family:Fredoka,Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--lx-bg);color:var(--lx-ink);min-height:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-tap-highlight-color:transparent;overflow-x:hidden}button,input{font-family:inherit}@keyframes lx-pop{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.03);opacity:1}to{transform:scale(1)}}@keyframes lx-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes lx-slideup{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.lx-app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:var(--lx-bg)}.lx-screen{flex:1;display:flex;flex-direction:column;min-height:0}.lx-scroll{flex:1;overflow-y:auto;padding:20px 20px 12px;-webkit-overflow-scrolling:touch}.lx-greeting{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.lx-greeting h1{font-size:22px;font-weight:600;margin:0;line-height:1.2}.lx-greeting p{font-size:13px;color:var(--lx-ink-muted);margin:2px 0 0}.lx-hero{background:var(--lx-cream);color:var(--lx-cream-ink);border-radius:var(--lx-radius-lg);padding:24px 20px 22px;box-shadow:0 9px 0 var(--lx-cream-shadow),0 12px 28px #00000047;margin-bottom:14px}.lx-hero .lx-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:12px}.lx-eyebrow-dot{width:8px;height:8px;border-radius:3px;background:var(--lx-accent);flex-shrink:0}.lx-eyebrow-text{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lx-cream-ink-strong)}.lx-hero-count{font-size:42px;font-weight:600;line-height:1}.lx-hero-sub{font-size:14px;color:var(--lx-cream-ink-muted);margin-top:8px}.lx-uptodate{text-align:center;padding:8px 0 4px}.lx-uptodate-title{font-size:19px;font-weight:600}.lx-uptodate-sub{font-size:13.5px;color:var(--lx-cream-ink-muted);margin-top:6px}.lx-hero.lx-date-warning{background:var(--lx-warm-tile);color:var(--lx-ink);box-shadow:0 5px 0 var(--lx-warm-tile-shadow)}.lx-hero.lx-date-warning .lx-eyebrow-text{color:var(--lx-ink)}.lx-hero.lx-date-warning .lx-hero-sub{color:var(--lx-ink-muted)}.lx-btn{appearance:none;border:none;cursor:pointer;font-family:inherit;font-weight:600;border-radius:var(--lx-radius-md);min-height:var(--lx-tap-min);padding:15px 18px;text-align:center;transition:transform 80ms ease}.lx-btn:disabled{cursor:not-allowed;opacity:.6}.lx-btn:active:not(:disabled){transform:translateY(3px)}.lx-btn-primary{width:100%;background:var(--lx-accent);color:var(--lx-cream);font-size:18px;box-shadow:0 6px 0 var(--lx-accent-shadow)}.lx-btn-primary:active:not(:disabled){box-shadow:0 1px 0 var(--lx-accent-shadow)}.lx-btn-secondary{width:100%;background:var(--lx-surface-alt);color:var(--lx-ink);font-size:16px;box-shadow:0 5px 0 var(--lx-surface-raised-shadow)}.lx-btn-secondary:active:not(:disabled){box-shadow:0 1px 0 var(--lx-surface-raised-shadow)}.lx-btn-cream{width:100%;background:var(--lx-cream-sunken);color:var(--lx-cream-ink-muted);font-size:15px;box-shadow:0 4px 0 var(--lx-cream-border)}.lx-btn-cream:active:not(:disabled){box-shadow:0 1px 0 var(--lx-cream-border)}.lx-btn-ghost{width:100%;background:transparent;color:var(--lx-ink-faint);text-decoration:underline;font-size:13.5px;box-shadow:none;min-height:40px}.lx-btn-row{display:flex;gap:10px}.lx-btn-row .lx-btn{flex:1}.lx-stats-row{display:flex;background:var(--lx-surface-alt);border-radius:999px;padding:4px;margin-bottom:14px;box-shadow:0 5px 0 var(--lx-surface-raised-shadow)}.lx-stat{flex:1;padding:12px 16px}.lx-stat.lx-align-end{text-align:right}.lx-stat-value{font-size:21px;font-weight:600;color:var(--lx-teal)}.lx-stat.lx-align-end .lx-stat-value{color:var(--lx-ink)}.lx-stat-label{font-size:11.5px;color:var(--lx-ink-muted);margin-top:2px}.lx-divider-v{width:1px;background:var(--lx-border-soft);margin:8px 0}.lx-activity{background:var(--lx-surface-alt);border-radius:18px;padding:12px 16px;box-shadow:0 4px 0 var(--lx-surface-raised-shadow);margin-bottom:14px}.lx-activity-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--lx-ink-muted);margin-bottom:8px}.lx-activity-bars{display:flex;align-items:flex-end;gap:6px;height:34px}.lx-activity-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.lx-activity-bar{width:100%;border-radius:5px;background:#463a66}.lx-activity-bar.lx-is-today{background:var(--lx-accent)}.lx-repair{background:var(--lx-warm-tile);border-radius:var(--lx-radius-md);padding:15px 16px;box-shadow:0 5px 0 var(--lx-warm-tile-shadow);display:flex;align-items:center;gap:12px}.lx-repair-icon{width:38px;height:38px;border-radius:13px;background:var(--lx-warm-icon);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--lx-warm-tile);font-weight:700}.lx-repair-title{font-size:13.5px;font-weight:600}.lx-repair-sub{font-size:11.5px;color:#e4d3ec;margin-top:2px}.lx-repair-open{flex-shrink:0;width:auto;padding:10px 16px;font-size:13px}.lx-nav{display:flex;align-items:center;justify-content:space-around;padding:10px 20px calc(16px + env(safe-area-inset-bottom,0px)) 20px;background:var(--lx-surface-alt-2);box-shadow:0 -1px 0 var(--lx-border-soft)}.lx-nav-item{appearance:none;border:none;background:transparent;color:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:var(--lx-tap-min);min-height:var(--lx-tap-min);padding:4px 8px}.lx-nav-icon{width:52px;height:38px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--lx-surface-alt)}.lx-nav-item.lx-active .lx-nav-icon{background:var(--lx-accent);box-shadow:0 4px 0 var(--lx-accent-shadow)}.lx-nav-label{font-size:11px;color:var(--lx-ink-muted)}.lx-nav-item.lx-active .lx-nav-label{color:var(--lx-ink);font-weight:600}.lx-session-header{padding:16px 20px 6px;flex-shrink:0}.lx-session-topline{display:flex;align-items:center;gap:10px;margin-bottom:12px}.lx-progress-track{height:6px;background:var(--lx-surface-alt);border-radius:3px;overflow:hidden;flex:1}.lx-progress-fill{height:100%;background:var(--lx-accent);border-radius:3px;transition:width .2s ease}.lx-close-btn{appearance:none;border:none;background:transparent;color:var(--lx-ink-faint);font-size:20px;line-height:1;cursor:pointer;min-width:var(--lx-tap-min);min-height:var(--lx-tap-min);display:flex;align-items:center;justify-content:center}.lx-eyebrow-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lx-ink-muted);margin-bottom:10px}.lx-card{background:var(--lx-cream);color:var(--lx-cream-ink);border-radius:22px;padding:22px 20px;box-shadow:0 6px 0 var(--lx-cream-shadow),0 8px 20px #00000040;animation:lx-pop .25s ease}.lx-card-badge{display:inline-block;background:var(--lx-teal);color:#0f3b36;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:14px}.lx-card-term{font-size:30px;font-weight:600;line-height:1.15;word-break:break-word}.lx-card-translation{font-size:16px;color:var(--lx-cream-ink-muted);margin-top:6px}.lx-card-sep{height:1px;background:var(--lx-cream-border);margin:16px 0}.lx-card-example{font-size:15px;line-height:1.5}.lx-card-example-fr{font-size:13px;color:var(--lx-cream-ink-muted);margin-top:6px;font-style:italic}.lx-card-note{margin-top:14px;background:var(--lx-cream-sunken);border-radius:14px;padding:12px 14px;font-size:12.5px;color:var(--lx-cream-ink-muted);line-height:1.4}.lx-cloze-text{font-size:18px;line-height:1.7}.lx-cloze-gap{display:inline-block;min-width:64px;padding:3px 12px;background:var(--lx-cream-sunken);border-radius:10px;border:2px dashed var(--lx-cream-border);box-shadow:inset 0 2px 5px #00000024;color:var(--lx-cream-ink-strong);font-weight:600}.lx-hint{margin-top:12px;font-size:13px;color:var(--lx-cream-ink-strong)}.lx-fren-meaning{font-size:20px;font-weight:600;line-height:1.5}.lx-fren-context{font-size:14px;color:var(--lx-cream-ink-muted);margin-top:8px;line-height:1.5}.lx-phase-label{font-size:12px;font-weight:600;color:var(--lx-ink-muted);margin-bottom:8px}.lx-answer-zone{flex-shrink:0;padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px)) 20px;background:var(--lx-surface);box-shadow:0 -1px 0 var(--lx-border-soft)}.lx-answer-label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lx-ink-faint);margin-bottom:5px}.lx-answer-input{width:100%;box-sizing:border-box;border-radius:16px;padding:15px 16px;font-size:17px;font-weight:600;border:2px solid var(--lx-surface-alt);background:var(--lx-surface-alt);color:var(--lx-ink);box-shadow:inset 0 2px 6px #00000059;min-height:var(--lx-tap-min)}.lx-answer-input::placeholder{color:var(--lx-ink-faint);font-weight:400}.lx-answer-input.lx-has-value{background:var(--lx-cream);border-color:var(--lx-accent);color:var(--lx-cream-ink);box-shadow:0 4px 0 var(--lx-cream-shadow)}.lx-answer-input.lx-invalid{background:#3a2028;border-color:#e5484d;color:#ffecec;animation:lx-shake .35s ease}.lx-answer-error{font-size:12px;color:var(--lx-accent-soft);margin-top:5px}.lx-answer-actions{display:flex;gap:10px;margin-top:10px}.lx-answer-actions .lx-btn{flex:1.4}.lx-answer-actions .lx-btn-secondary,.lx-answer-actions .lx-btn-cream{flex:.8}.lx-correction-context{padding:12px 20px 16px;transition:background .2s}.lx-correction-label{font-size:12px;color:var(--lx-ink-muted);margin-bottom:8px}.lx-correction-sentence{font-size:17px;line-height:1.7}.lx-correction-piece{display:inline-block;padding:3px 12px;border-radius:10px;font-weight:700}.lx-correction-sheet{background:var(--lx-cream);color:var(--lx-cream-ink);border-radius:28px 28px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom,0px)) 20px;box-shadow:0 -10px 24px #00000040;animation:lx-slideup .24s ease;margin-top:auto}.lx-correction-answers{font-size:14px;color:var(--lx-cream-ink-muted);margin-bottom:8px;line-height:1.5}.lx-correction-answers strong{color:var(--lx-cream-ink);font-weight:700}.lx-verdict-row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.lx-verdict-btn{flex:1;min-width:120px}.lx-verdict-badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 14px;border-radius:999px}.lx-verdict-badge-positive{background:var(--lx-teal);color:#0f3b36}.lx-verdict-badge-nuanced{background:var(--lx-warm-icon);color:#3a2340}.lx-verdict-badge-assisted{background:var(--lx-cream-sunken);color:var(--lx-cream-ink-strong);border:2px solid var(--lx-cream-border)}.lx-verdict-badge-negative{background:#e5484d;color:#ffecec}.lx-correction-piece-correct{background:var(--lx-teal);color:#0f3b36}.lx-variant-note{font-size:12px;color:var(--lx-ink-muted);margin-top:6px}.lx-diff-word,.lx-diff-char{border-radius:4px;padding:0 2px}.lx-diff-removed{background:#e5484d38;text-decoration:line-through;color:#ffb3b6}.lx-diff-added{background:#2fd9c638;color:var(--lx-teal);font-weight:600}.lx-diff-changed{border-bottom:2px dotted var(--lx-cream-border)}.lx-contest-confirm{margin-top:14px;background:var(--lx-cream-sunken);border-radius:16px;padding:14px 16px}.lx-contest-confirm p{margin:0 0 12px;font-size:13.5px;color:var(--lx-cream-ink)}.lx-notice{color:var(--lx-teal);font-weight:600}.lx-recap-header{text-align:center;margin-bottom:4px}.lx-recap-badge{width:52px;height:52px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:24px;font-weight:700}.lx-recap-eyebrow{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lx-ink-muted)}.lx-recap-title{font-size:24px;font-weight:600;margin-top:6px}.lx-recap-sub{font-size:13.5px;color:var(--lx-ink-muted);margin-top:6px}.lx-recap-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 12px}.lx-recap-tile{background:var(--lx-cream);border-radius:20px;padding:16px;box-shadow:0 5px 0 var(--lx-cream-shadow);text-align:center}.lx-recap-tile-value{font-size:24px;font-weight:600;color:var(--lx-cream-ink)}.lx-recap-tile-label{font-size:11.5px;color:var(--lx-cream-ink-muted);margin-top:2px}.lx-recap-summary{background:var(--lx-surface-alt);border-radius:20px;padding:16px;box-shadow:0 5px 0 var(--lx-surface-raised-shadow);display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.lx-recap-summary-label{font-size:12px;color:var(--lx-ink-muted)}.lx-recap-summary-value{font-size:18px;font-weight:600;margin-top:2px}.lx-recap-note{background:var(--lx-warm-tile);border-radius:18px;padding:14px 16px;font-size:13.5px;text-align:center;margin-bottom:12px}.lx-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.lx-filter-chip{appearance:none;border:none;cursor:pointer;font-family:inherit;font-weight:600;font-size:12.5px;padding:8px 14px;border-radius:999px;background:var(--lx-surface-alt);color:var(--lx-ink-muted)}.lx-filter-chip.lx-active{background:var(--lx-accent);color:var(--lx-cream)}.lx-library-list{list-style:none;margin:0;padding:0 0 8px;display:flex;flex-direction:column;gap:10px}.lx-library-row{display:flex;align-items:center;gap:10px;background:var(--lx-surface-alt);border-radius:var(--lx-radius-md);padding:14px 16px;box-shadow:0 4px 0 var(--lx-surface-raised-shadow)}.lx-library-row-main{flex:1;min-width:0}.lx-library-row-en{font-size:16px;font-weight:600;word-break:break-word}.lx-library-row-fr{font-size:13px;color:var(--lx-ink-muted);margin-top:2px}.lx-library-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:11.5px;color:var(--lx-ink-faint)}.lx-status-pill{padding:2px 9px;border-radius:999px;background:var(--lx-surface-alt-2);font-weight:700;letter-spacing:.02em}.lx-status-active{background:var(--lx-teal);color:#0f3b36}.lx-status-paused{background:var(--lx-warm-icon);color:#3a2340}.lx-badge-fragile,.lx-badge-flag{color:var(--lx-accent-soft);font-weight:700}.lx-library-row-pause{margin-top:6px;font-size:11.5px;color:var(--lx-accent-soft)}.lx-library-open{flex-shrink:0;width:auto;padding:10px 16px}.lx-field{margin-bottom:14px}.lx-field-label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--lx-ink-faint);margin-bottom:5px}.lx-list-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.lx-list-row .lx-answer-input{flex:1}.lx-list-remove{width:40px;flex-shrink:0;padding:0;min-height:var(--lx-tap-min)}.lx-checkbox-row{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:8px;min-height:var(--lx-tap-min)}.lx-checkbox-row input{width:20px;height:20px}.lx-field-errors{color:#ff9aa6;font-size:12.5px;margin:0 0 14px;padding-left:18px}.lx-stat-bar-track{height:8px;background:var(--lx-surface-alt-2);border-radius:4px;overflow:hidden;margin:4px 0 10px}.lx-stat-bar-fill{height:100%;background:var(--lx-teal);border-radius:4px}.lx-stats-list{list-style:none;margin:0 0 10px;padding:0;font-size:13px;color:var(--lx-ink-muted)}.lx-stats-list li{padding:3px 0}.panel{border:1px solid var(--lx-border-soft);border-radius:var(--lx-radius-sm);background:var(--lx-surface);padding:1rem;margin-bottom:1rem}.panel h2,.panel h3{color:var(--lx-ink)}table{width:100%;border-collapse:collapse;font-size:.85rem;display:block;overflow-x:auto}th,td{border:1px solid var(--lx-border-soft);padding:.25rem .4rem;text-align:left;white-space:nowrap}pre{overflow-x:auto;background:#ffffff0a;padding:.5rem;border-radius:4px;font-size:.75rem}.error{color:#ff9aa6}.ok{color:#6fe0a0}.warning{color:#ffcf8a}.note{font-size:.85rem;opacity:.75}.diagnostics{font-size:.8rem;padding-left:1.2rem}.diag-fatal{color:#ff9aa6}.diag-item{color:#ffcf8a}.diag-warning{color:var(--lx-ink-muted)}.update-banner{display:flex;gap:1rem;align-items:center;background:var(--lx-cream);color:var(--lx-cream-ink);padding:.5rem 1rem;border-radius:8px;margin:.5rem 1.25rem;flex-wrap:wrap}.update-banner-btn{width:auto;flex-shrink:0;padding:10px 16px;font-size:15px}.update-banner-error{color:var(--lx-cream-ink-strong);font-weight:600;font-size:.85rem}.lx-tools-scroll{flex:1;overflow-y:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px)) 16px}button{min-height:2.25rem;padding:0 .75rem}input[type=file]{display:block;margin:.5rem 0}.lx-loading,.lx-fatal{padding:40px 20px;text-align:center;color:var(--lx-ink-muted)}.lx-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--lx-teal);outline-offset:2px}
