:root{--bg:#f7f5f0;--text:#1f1d1a;--accent:#2e6b4f;--good:#2e7d32;--bad:#b3261e;--surface:#fff;--border:#e4e1da;--status-started:#fde7b0;--status-due:#d9d4f2;--status-known:#cfe8d5;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#1b1a18;--text:#ecebe7;--accent:#6fbf95;--good:#81c784;--bad:#f28b82;--surface:#262421;--border:#3a3733;--status-started:#5c4a1c;--status-due:#443d6b;--status-known:#2b4a33}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.page{flex-direction:column;gap:16px;max-width:560px;margin:0 auto;padding:16px;display:flex}h1{margin:0;font-size:1.75rem}header p{margin:4px 0 0}.board{touch-action:none;width:100%}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;align-self:flex-start;padding:10px 18px}a.button{background:var(--accent);color:#fff;border-radius:6px;align-self:flex-start;padding:10px 18px;text-decoration:none;display:inline-block}button.secondary,a.button.secondary{color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:0 0}button:disabled{opacity:.4;cursor:default}.button-row{flex-wrap:wrap;gap:12px;display:flex}.trainer{flex-direction:column;gap:12px;display:flex}.trainer-title{margin:0;font-size:1.1rem}.trainer-message{min-height:1.5em;margin:0}.tone-good{color:var(--good)}.tone-bad{color:var(--bad)}.trainer-finished p{margin:0 0 12px}.text-link{color:var(--accent)}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:560px;margin:0 auto;padding:12px 16px 0;display:flex}.app-header a{color:var(--text);text-decoration:none}.brand{font-size:1.2rem;font-weight:700}.app-header nav{gap:16px;display:flex}.app-header nav a[aria-current=page]{color:var(--accent);font-weight:600}.lead{margin:8px 0 0;font-size:1.1rem}.how-it-works{flex-direction:column;gap:6px;margin:0;padding-left:1.4em;display:flex}.opening-card{background:var(--surface);border-radius:10px;padding:16px}.opening-card h2,.chapter h2{margin:0 0 4px;font-size:1.15rem}.opening-card p{margin:0 0 12px}.small{opacity:.8;margin:0;font-size:.9rem}.chapter-progress{opacity:.8;margin:0 0 8px;font-size:.9rem}.line-list{background:var(--surface);border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.line-list li+li{border-top:1px solid var(--border)}.line-list a{color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.status{background:var(--border);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.8rem}.status-started{background:var(--status-started)}.status-due{background:var(--status-due)}.status-known{background:var(--status-known)}.board{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.transfer{border-top:1px solid var(--border);margin-top:8px;padding-top:16px}.transfer h2{margin:0 0 4px;font-size:1.15rem}.transfer p{margin:0 0 12px}.prose h2{margin:8px 0 4px;font-size:1.1rem}.prose p{margin:0;line-height:1.5}.app-footer{border-top:1px solid var(--border);gap:16px;max-width:560px;margin:16px auto 0;padding:16px;font-size:.9rem;display:flex}.app-footer a{color:var(--text);opacity:.8}
