:root{--bg: #f4f6f2;--surface: #ffffff;--surface-2: #eef2ea;--text: #17211b;--muted: #5d6b62;--border: #dfe5db;--primary: #0b6b3a;--primary-ink: #ffffff;--primary-soft: #e0f0e6;--accent: #da291c;--accent-soft: #fde7e4;--gold: #e0a800;--ok: #1f8a4c;--ok-soft: #dcf3e4;--warn: #c77700;--warn-soft: #fff1d6;--bad: #c92a2a;--bad-soft: #fde2e2;--info: #1d5fb4;--info-soft: #e1ecfb;--radius: 16px;--shadow: 0 1px 2px rgba(20, 40, 30, .06), 0 6px 18px rgba(20, 40, 30, .06);--nav-h: 64px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1512;--surface: #182019;--surface-2: #1f2a22;--text: #e8eee9;--muted: #9aa89f;--border: #2a3a2f;--primary: #3cc47a;--primary-ink: #06261a;--primary-soft: #16362a;--accent: #ff6b5e;--accent-soft: #3a1f1c;--ok: #4cd08a;--ok-soft: #173826;--warn: #f0b34a;--warn-soft: #3a2c12;--bad: #ff6b6b;--bad-soft: #3d1c1c;--info: #6fa7ff;--info-soft: #182a44;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .25);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--primary);text-decoration:none}h1,h2,h3{margin:0 0 8px;line-height:1.2}h1{font-size:26px}h2{font-size:20px}h3{font-size:17px}p{margin:0 0 10px}ul{margin:0 0 10px;padding-left:20px}li{margin-bottom:4px}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12px}.center{text-align:center}.pt{font-family:Georgia,Times New Roman,serif}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:12px}.mt{margin-top:12px}.mb{margin-bottom:12px}.nowrap{white-space:nowrap}.app{max-width:600px;margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 12px) 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 24px)}.app.no-nav{padding-bottom:calc(env(safe-area-inset-bottom) + 24px)}.nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);display:flex;justify-content:center;z-index:20}.nav-inner{display:flex;width:100%;max-width:600px}.nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:12px;font-weight:600;padding:8px 0}.nav a .ico{font-size:22px;line-height:1}.nav a.active{color:var(--primary)}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;border:1px solid var(--border)}.card.soft{background:var(--surface-2);box-shadow:none}.card.clickable{cursor:pointer;display:block;color:inherit}.card.clickable:active{transform:scale(.99)}.hero{background:linear-gradient(135deg,var(--primary) 0%,#0d8a4c 100%);color:#fff;border:none}.hero .muted{color:#fffc}.hero .btn-primary{background:#fff;color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 18px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .05s ease,background .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--primary);color:var(--primary-ink);border-color:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--primary)}.btn-sm{min-height:36px;padding:6px 12px;font-size:14px;border-radius:10px}.btn-block{width:100%}.btn-lg{min-height:56px;font-size:18px}.btn-icon{width:48px;padding:0;border-radius:50%;font-size:22px}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:600;background:var(--surface-2);color:var(--muted)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.primary{background:var(--primary-soft);color:var(--primary)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--surface-2);border-radius:12px;padding:10px 8px;text-align:center}.stat .n{font-size:24px;font-weight:700;line-height:1.1}.stat .l{font-size:12px;color:var(--muted);margin-top:2px}.hero .stat{background:#ffffff26}.hero .stat .l{color:#ffffffd9}.progress{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--primary);border-radius:999px;transition:width .3s ease}.session-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}.session-top .progress{flex:1}.study-card{min-height:280px;display:flex;flex-direction:column;gap:14px}.study-card .kind{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.prompt{font-size:30px;font-weight:700;line-height:1.2}.prompt.md{font-size:24px}.prompt.sm{font-size:20px;font-weight:600}.sentence{font-size:22px;line-height:1.45}.blank{display:inline-block;min-width:3.2em;border-bottom:2px solid var(--primary);text-align:center;padding:0 4px;color:var(--primary);font-weight:700}.answer-box{background:var(--surface-2);border-radius:12px;padding:12px 14px}.answer-box .big{font-size:24px;font-weight:700}.verdict{font-weight:700}.verdict.exact{color:var(--ok)}.verdict.accents,.verdict.close{color:var(--warn)}.verdict.wrong{color:var(--bad)}.diff .missing{background:var(--bad-soft);color:var(--bad);text-decoration:underline;border-radius:3px}.diff .extra{background:var(--warn-soft);color:var(--warn);text-decoration:line-through;border-radius:3px}.input{width:100%;min-height:52px;padding:12px 14px;border-radius:14px;border:2px solid var(--border);background:var(--surface);font-size:20px}.input:focus{outline:none;border-color:var(--primary)}textarea.input{min-height:140px;line-height:1.45;font-size:18px;resize:vertical}.accents{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.accents button{min-width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);font-size:18px;cursor:pointer}.grades{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.grades button{border:2px solid transparent;border-radius:14px;padding:10px 4px;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:700;cursor:pointer;background:var(--surface-2);color:var(--text)}.grades button .iv{font-size:12px;font-weight:600;opacity:.8}.grades .g0{background:var(--bad-soft);color:var(--bad)}.grades .g1{background:var(--warn-soft);color:var(--warn)}.grades .g2{background:var(--ok-soft);color:var(--ok)}.grades .g3{background:var(--info-soft);color:var(--info)}.grades button.suggested{border-color:currentColor}table.conj{width:100%;border-collapse:collapse;font-size:16px}table.conj td{padding:4px 6px;border-bottom:1px solid var(--border)}table.conj td:first-child{color:var(--muted);width:40%}table.conj tr.hl td{background:var(--primary-soft);font-weight:700}.list{display:flex;flex-direction:column;gap:8px}.list-item{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;color:inherit}.list-item .grow{min-width:0}.list-item .t{font-weight:600}.list-item .s{font-size:13px;color:var(--muted)}.chev{color:var(--muted)}.text-block{white-space:pre-wrap;line-height:1.55;font-size:17px}.question{margin-top:14px}.options{display:flex;flex-direction:column;gap:6px;margin-top:6px}.option{text-align:left;padding:10px 12px;border-radius:12px;border:2px solid var(--border);background:var(--surface);cursor:pointer;min-height:44px}.option.selected{border-color:var(--primary);background:var(--primary-soft)}.option.correct{border-color:var(--ok);background:var(--ok-soft)}.option.incorrect{border-color:var(--bad);background:var(--bad-soft)}.dialogue{display:flex;flex-direction:column;gap:6px}.dialogue .line{padding:6px 10px;border-radius:10px}.dialogue .line.active{background:var(--primary-soft)}.dialogue .who{font-weight:700;color:var(--primary);margin-right:6px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-weight:600;font-size:15px}.field .hint{font-size:13px;color:var(--muted)}select.input,input[type=date].input,input[type=number].input{font-size:17px;min-height:48px}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.switch input{width:22px;height:22px}.bars{display:flex;align-items:flex-end;gap:4px;height:90px}.bars .bar{flex:1;background:var(--primary);border-radius:4px 4px 0 0;min-height:2px;opacity:.9}.bars .bar.dim{background:var(--border)}.bar-labels{display:flex;gap:4px;font-size:10px;color:var(--muted)}.bar-labels span{flex:1;text-align:center}.topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kbd{font-size:12px;color:var(--muted)}.fade{animation:fade .18s ease}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.banner{background:var(--warn-soft);color:var(--warn);border-radius:12px;padding:10px 12px;font-size:14px}.banner.info{background:var(--info-soft);color:var(--info)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
