:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#1f2937;background-color:#eef2ff}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,rgba(129,140,248,.24),transparent 55%),linear-gradient(180deg,#fffffff0,#e2e8f0e6);color:inherit}#app{min-height:100vh}main.app{max-width:780px;margin:0 auto;padding:3.5rem 1.5rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.app-header h1{margin:0 0 .25rem;font-size:clamp(2rem,5vw,2.75rem);font-weight:700;letter-spacing:-.02em}.app-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.app-header-title{flex:1}.app-subtitle{margin:0;font-size:1rem;color:#4b5563}.panel{background:#ffffffe0;backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.35);border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 24px 60px #4f46e514}.pack-picker{align-items:flex-start}.panel-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600;color:#6b7280}.panel-control{width:100%;padding:.75rem 1rem;border-radius:14px;border:1px solid rgba(148,163,184,.7);background:#ffffffeb;font-size:1rem;font-family:inherit;color:inherit;transition:border-color .2s ease,box-shadow .2s ease}.panel-control:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f133}.direction-toggle{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem}.direction-toggle .panel-label{margin-right:.5rem}.direction-option{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(148,163,184,.7);background:#ffffffeb;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .1s ease}.direction-option:hover{border-color:#818cf8;box-shadow:0 12px 28px #818cf82e}.direction-option input{appearance:none;width:1.1rem;height:1.1rem;border:2px solid rgba(99,102,241,.75);border-radius:999px;display:grid;place-items:center;margin:0}.direction-option input:after{content:"";width:.55rem;height:.55rem;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4338ca);transform:scale(0);transition:transform .15s ease}.direction-option input:checked:after{transform:scale(1)}.direction-option span{font-size:.94rem;font-weight:600}.drill-card{background:#ffffffeb;border-radius:22px;padding:1.75rem;display:flex;flex-direction:column;gap:1.5rem;border:1px solid rgba(148,163,184,.35);box-shadow:0 32px 68px #4f46e51a}.drill-meta{font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:#6b7280}.drill-prompt,.drill-answer{display:flex;flex-direction:column;gap:.65rem}.badge{align-self:flex-start;padding:.4rem .85rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:#818cf82e;color:#3730a3}.prompt-text{font-size:clamp(1.9rem,5vw,2.5rem);font-weight:700;letter-spacing:-.01em}.answer-text{font-size:clamp(1.4rem,4vw,2rem);font-weight:600}.drill-answer.hidden .answer-text{color:#94a3b8;font-style:italic}.answer-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}@media (max-width: 520px){.answer-form{grid-template-columns:1fr}.answer-form button{width:100%;justify-self:stretch}}.verb-table{display:flex;flex-direction:column;gap:.75rem}.verb-row{display:grid;grid-template-columns:.6fr minmax(0,1.4fr) 1fr 1fr auto;grid-template-areas:"person input feedback expected check";gap:.5rem;align-items:center}.verb-cell{font-size:.95rem}.verb-person{grid-area:person;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#4b5563}.verb-input{grid-area:input;min-height:2.6rem}.verb-feedback{grid-area:feedback;font-weight:600;min-height:1.2rem}.verb-feedback.correct{color:#16a34a}.verb-feedback.almost{color:#d97706}.verb-feedback.incorrect{color:#b91c1c}.verb-expected{grid-area:expected;font-weight:600;color:#111827}.answer-input{min-height:3rem}.answer-feedback{margin:0;font-weight:600;min-height:1.5rem}.answer-feedback.correct{color:#16a34a}.answer-feedback.almost{color:#d97706}.answer-feedback.incorrect{color:#b91c1c}.drill-controls{display:flex;flex-wrap:wrap;gap:.75rem}button{appearance:none;border:1px solid rgba(148,163,184,.7);background:#fffffff2;color:inherit;font-weight:600;font-size:.95rem;padding:.7rem 1.3rem;border-radius:14px;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}button:hover{border-color:#818cf8;box-shadow:0 12px 28px #818cf82e}button:active{transform:translateY(1px)}button.primary{background:linear-gradient(135deg,#6366f1,#4338ca);border-color:transparent;color:#f8fafc}button.primary:hover{box-shadow:0 16px 32px #6366f147}button:disabled,button[disabled]{cursor:not-allowed;opacity:.6;border-color:#94a3b880;box-shadow:none}.overflow-menu{position:relative;display:inline-flex;align-items:center}.overflow-menu-button{width:2.5rem;height:2.5rem;padding:0;border-radius:999px;font-size:1.4rem;line-height:1}.overflow-menu-panel{position:absolute;right:0;top:2.75rem;min-width:160px;padding:.35rem;background:#fffffff5;border:1px solid rgba(148,163,184,.5);border-radius:14px;box-shadow:0 20px 40px #0f172a26;display:flex;flex-direction:column;gap:.25rem;z-index:10}.overflow-menu-item{text-align:left;border-radius:10px;padding:.55rem .75rem;font-size:.95rem}button.primary:disabled,button.primary[disabled]{background:linear-gradient(135deg,#6366f180,#4338ca80);color:#f8fafcd9}.session-complete-card{border-color:#10b98159;box-shadow:0 24px 64px #10b9812e}.session-end-notice{margin:0;font-weight:600;color:#059669}.session-panel{gap:.5rem}.session-summary{font-size:1rem;font-weight:600}.session-complete{margin:0;font-weight:600}.session-actions{display:flex;flex-wrap:wrap;gap:.75rem}.history-controls-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.history-controls-row .panel-control{flex:1 1 180px}.history-transfer-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.history-transfer .panel-control{margin-top:.5rem}.incorrect-list{margin:.5rem 0 0;padding-left:1.25rem;color:#1f2937}.incorrect-item{margin-bottom:.35rem}.stats-list{margin:.5rem 0 0;padding-left:1.25rem;color:#1f2937}.stats-item{margin-bottom:.35rem}.stats-table{width:100%;border-collapse:collapse;margin-top:.5rem;font-size:.95rem}.stats-table th,.stats-table td{padding:.5rem .35rem;text-align:left;border-bottom:1px solid rgba(148,163,184,.35)}.stats-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#6b7280}.stats-table td:last-child,.stats-table th:last-child{text-align:right}.stats-table-sort{width:100%;padding:0;border:none;background:transparent;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.stats-table-sort[aria-sort=ascending]:after{content:" ▲";font-size:.75rem}.stats-table-sort[aria-sort=descending]:after{content:" ▼";font-size:.75rem}.stats-daily-list{margin:.5rem 0 0;padding-left:1.25rem;color:#1f2937}.stats-chart-grid{display:grid;grid-template-columns:3rem 1fr;gap:.75rem;margin-top:.9rem;align-items:stretch}.stats-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:.7rem;color:#475569}.stats-chart-canvas{width:100%;padding:.65rem .85rem;border-radius:16px;border:1px solid rgba(148,163,184,.2);background:linear-gradient(180deg,#e2e8f08c,#f8fafce6);box-shadow:0 10px 24px #0f172a14}.stats-line-svg{width:100%;height:140px}.stats-line-axis{stroke:#94a3b8b3;stroke-width:.6}.stats-line-grid{stroke:#94a3b859;stroke-width:.5;stroke-dasharray:3 3}.stats-line-area{opacity:.7}.stats-line-gradient-top{stop-color:#0ea5e959}.stats-line-gradient-bottom{stop-color:#0ea5e905}.stats-line-path{fill:none;stroke:#0ea5e9d9;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.stats-line-point{fill:#0ea5e9e6;stroke:#f8fafc;stroke-width:.6}.verb-row button{grid-area:check;width:100%}@media (max-width: 720px){.verb-row{grid-template-columns:4.75rem minmax(0,1fr) 4.6rem;grid-template-areas:"person input check" "feedback feedback feedback" "expected expected expected";gap:.35rem .5rem}.verb-person{font-size:.8rem;justify-self:end;white-space:nowrap}.verb-row button{width:100%;padding:.5rem .75rem;font-size:.85rem;border-radius:12px;justify-self:stretch}}.stats-x-axis{display:grid;grid-template-columns:3rem 1fr;gap:.5rem;margin-top:.5rem}.stats-x-labels{display:grid;grid-template-columns:repeat(var(--stats-days),minmax(0,1fr));font-size:.65rem;color:#475569;font-variant-numeric:tabular-nums;letter-spacing:.01em}.stats-x-label{text-align:center;line-height:1.1;min-height:.75rem;opacity:.5}.stats-x-label.is-major{opacity:1;font-weight:600;color:#334155}.stats-x-label.is-minor:before{content:"•";color:#94a3b8b3}.status{margin:0;padding:1rem 1.25rem;border-radius:16px;font-weight:500;text-align:center}.status.loading{background:#818cf82e;color:#4338ca}.status.success{background:#d1fae5e6;color:#065f46;border:1px solid rgba(52,211,153,.4)}.status.error{background:#fee2e2e6;color:#7f1d1d;border:1px solid rgba(248,113,113,.4)}.status.hint{color:#475569}.empty-pack{margin:0;padding:1.25rem 1.5rem;border-radius:16px;background:#f8fafcf2;border:1px dashed rgba(148,163,184,.7);color:#475569;text-align:center}@media (prefers-color-scheme: dark){:root{color:#e2e8f0;background-color:#0f172a}body{background:radial-gradient(circle at top,#4f46e547,#0f172af5),linear-gradient(180deg,#111827f0,#0f172afa)}.panel,.drill-card{background:#0f172ad1;border:1px solid rgba(99,102,241,.22);box-shadow:0 24px 60px #0f172a8c}.panel-control,.direction-option,button{background:#1e293bd9;border-color:#94a3b859;color:inherit}.panel-control:focus{border-color:#a5b4fce6;box-shadow:0 0 0 4px #6366f147}.badge{background:#6366f138;color:#c7d2fe}.drill-answer.hidden .answer-text{color:#94a3b8b3}.answer-feedback.correct{color:#4ade80}.answer-feedback.incorrect{color:#f87171}.incorrect-list{color:#e2e8f0eb}button:hover{border-color:#a5b4fcd9;box-shadow:0 12px 28px #6366f138}button.primary{color:#e2e8f0}button:disabled,button[disabled]{opacity:.5;border-color:#94a3b840}button.primary:disabled,button.primary[disabled]{background:linear-gradient(135deg,#818cf866,#4f46e573)}.overflow-menu-panel{background:#1e293bf2;border-color:#6366f147;box-shadow:0 20px 40px #0f172a99}.session-complete-card{border-color:#34d39959;box-shadow:0 24px 60px #10b98140}.session-end-notice{color:#34d399}.status.loading{background:#6366f12e;color:#c7d2fe}.status.success{background:#10b98133;border-color:#34d39959;color:#a7f3d0}.stats-table th,.stats-table td{border-bottom:1px solid rgba(99,102,241,.2)}.stats-table th{color:#cbd5e1cc}.status.error{background:#ef44443d;border-color:#ef444459;color:#fecaca}.status.hint,.app-subtitle{color:#cbd5e1d9}.empty-pack{background:#1e293bd9;border-color:#6366f147;color:#cbd5e1e6}}
