:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f4f6;--panel:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--accent:#2563eb}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;font:17px/1.4 -apple-system,system-ui,sans-serif}.app{flex-direction:column;max-width:640px;height:100%;margin:0 auto;display:flex}main{padding:16px;padding-top:max(16px, env(safe-area-inset-top));flex:1;overflow-y:auto}nav{background:var(--panel);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);display:grid}nav button{color:var(--muted);background:0 0;border-radius:12px;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:6px 0;font-size:11px;line-height:1;display:flex}nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}nav button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}nav button.active{color:var(--accent);background:#2563eb1a;font-weight:600}h2{margin:20px 0 10px;font-size:18px}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:16px;display:flex}.muted{color:var(--muted)}.top{justify-content:space-between;align-items:center;font-size:14px;display:flex}.review{flex-direction:column;gap:24px;min-height:100%;padding:8px 8px 20px;display:flex}.card{background:var(--panel);text-align:center;white-space:pre-wrap;cursor:pointer;border-radius:16px;flex-direction:column;flex:0 auto;justify-content:center;gap:28px;min-height:30vh;max-height:60vh;margin:auto 0;padding:36px 28px;font-size:22px;display:flex;overflow-y:auto;box-shadow:0 2px 12px #00000014}.side.back{border-top:1px solid var(--line);color:#15803d;padding-top:20px}button{font:inherit;color:var(--text);background:#e5e7eb;border:0;border-radius:12px;padding:14px}button:disabled{opacity:.4}button.primary{background:var(--accent);color:#fff}button.danger{color:#fff;background:#dc2626}button.link{color:var(--accent);background:0 0;padding:4px 0;font-size:14px}.grades{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.grades button{flex-direction:column;gap:2px;padding:12px 4px;font-size:15px;display:flex}.grades small{opacity:.8;font-size:12px}.grades button{color:#fff}.g-Again{background:#dc2626}.g-Hard{background:#d97706}.g-Good{background:#16a34a}.g-Easy{background:#2563eb}.form{flex-direction:column;gap:12px;display:flex}label{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;display:flex}textarea,input[type=number],.search{width:100%;font:inherit;background:var(--panel);color:var(--text);border:1px solid #d1d5db;border-radius:12px;padding:12px}.search{margin-bottom:12px}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);white-space:pre-wrap;padding:12px 4px}.warn{color:#b45309;margin:0}.ok{color:#15803d}.stats{border-collapse:collapse;width:100%}.stats td{border-bottom:1px solid var(--line);padding:10px 4px}.stats td:last-child{text-align:right;font-weight:600}.file input{margin-top:6px}code{background:var(--panel);border-radius:6px;padding:2px 6px}
