/* ── HISTORY ── */
.hist-hdr{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}
.hist-title{font-family:'DM Serif Display',serif;font-size:22px;letter-spacing:-.01em}
.hist-sub{font-size:13px;color:var(--text3);margin-top:3px}
.hist-filters{display:flex;gap:7px;margin-bottom:1rem;flex-wrap:wrap}
.hist-filters .chip{background:var(--bg);color:var(--text2);border-color:var(--border2);width:auto;font-size:12px;padding:6px 14px}
.hist-filters .chip:hover{background:var(--surface2);color:var(--text);border-color:var(--accent)}
.hist-filters .chip.on{background:var(--accent-l);color:var(--accent);border-color:var(--accent);font-weight:600}
.hist-empty{text-align:center;padding:4rem 2rem;color:var(--text3)}
.hem-n{font-family:'DM Serif Display',serif;font-size:48px;opacity:.13;margin-bottom:10px}
.hist-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);padding:1rem 1.2rem;margin-bottom:8px;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-sm)}
.hist-item:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.hist-item.fav{border-color:var(--gold)}
.hist-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.hist-dx{font-family:'DM Serif Display',serif;font-size:15px;color:var(--text)}
.hist-sc{font-family:'DM Mono',monospace;font-size:15px;font-weight:500}
.hist-sc.hi{color:#2d9a4e}.hist-sc.mid{color:var(--warn)}.hist-sc.lo{color:var(--danger)}
.hist-date{font-size:11px;font-family:'DM Mono',monospace;color:var(--text2)}
.hist-note-preview{font-size:12px;color:var(--text3);margin-top:5px;font-style:italic;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.clr-btn{font-size:12px;padding:5px 12px;border:1px solid #f5c6c2;border-radius:var(--r);background:var(--danger-l);color:var(--danger);cursor:pointer;font-family:'Inter',sans-serif;font-weight:700}
.clr-btn:hover{background:#fae0dc}
.sync-btn{font-size:12px;padding:5px 12px;border:1px solid rgba(255,255,255,.12);border-radius:var(--r);background:rgba(255,255,255,.05);color:var(--text2);cursor:pointer;font-family:'Inter',sans-serif;font-weight:600;display:inline-flex;align-items:center;gap:4px}
.sync-btn:hover{background:rgba(255,255,255,.1);color:var(--text1)}
.sync-btn:disabled{opacity:.5;cursor:default}

.note-area{width:100%;padding:10px;border:1px solid var(--border);border-radius:var(--r);font-family:'Inter',sans-serif;font-size:13px;color:var(--text);background:var(--bg);resize:vertical;min-height:70px;line-height:1.55}
.note-area:focus{outline:none;border-color:var(--accent)}
.note-save-btn{padding:7px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-size:13px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;margin-top:7px}
.note-save-btn:hover{background:#1e3d2a}
.fav-toggle{display:flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--border);border-radius:var(--r);background:transparent;cursor:pointer;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;color:var(--text2);transition:all .12s;margin-right:8px}
.fav-toggle:hover{background:var(--gold-l);border-color:var(--gold);color:var(--gold)}
.fav-toggle.on{background:var(--gold-l);border-color:var(--gold);color:var(--gold)}

/* ── TUTORIAL ── */
.tut-step{background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);padding:1.25rem 1.4rem;margin-bottom:1rem;animation:fi .25s ease;box-shadow:var(--shadow-sm)}
.tut-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-family:'DM Mono',monospace;font-weight:500;padding:4px 12px;border-radius:99px;margin-bottom:10px}
.tut-badge.teach{background:#eef6fc;color:#1a6b9a}
.tut-badge.do{background:var(--accent-l);color:var(--accent)}
.tut-explain{background:var(--info-l);border:1px solid #b5d4f4;border-radius:var(--r);padding:1rem 1.1rem;margin-bottom:1rem;font-size:14px;color:var(--text);line-height:1.75}
.tut-next-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-size:13.5px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;transition:all .12s;margin-top:.75rem;box-shadow:0 2px 6px rgba(45,90,61,.2)}
.tut-next-btn:hover{background:#1e3d2a;transform:translateY(-1px)}
.tut-progress{display:flex;gap:6px;margin-bottom:1.5rem;align-items:center}
.tut-pip{width:28px;height:4px;border-radius:99px;background:var(--border);transition:background .3s}
.tut-pip.done{background:var(--accent)}.tut-pip.active{background:var(--accent);opacity:.5}
.tut-mc{display:flex;flex-direction:column;gap:8px;margin-top:.75rem}
.tut-mc-btn{padding:11px 14px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;font-size:14px;text-align:left;cursor:pointer;transition:all .14s}
.tut-mc-btn:hover{border-color:var(--accent);background:var(--accent-l)}
.tut-mc-btn.correct{border-color:#2d9a4e;background:#f0faf3;color:#1a5c2a;font-weight:700}
.tut-mc-btn.wrong{border-color:var(--danger);background:var(--danger-l);color:var(--danger)}
.tut-result{border-radius:var(--r);padding:.9rem 1rem;margin-top:.75rem;font-size:14px;line-height:1.65}
.tut-result.correct{background:#f0faf3;border:1px solid #a3d9b0;color:#1a5c2a}
.tut-result.wrong{background:var(--danger-l);border:1px solid #f5c6c2;color:var(--danger)}
.tut-complete{margin-top:1.5rem}
.tut-dx-reveal{background:var(--accent-l);border:1px solid var(--accent);border-radius:var(--r);padding:1rem;margin-bottom:.75rem}
.tut-flags-reveal{background:var(--danger-l);border:1px solid #f5c6c2;border-radius:var(--r);padding:.9rem 1rem;margin-bottom:.75rem;font-size:14px;color:var(--text)}
