.top-actions{display:flex;align-items:center;gap:9px}.admin-link{border:0;background:none;color:var(--navy);font-weight:700;cursor:pointer;padding:8px}.top-actions select{border:1px solid var(--line);background:#fffdf8;border-radius:9px;color:var(--ink);padding:8px;max-width:180px;font:600 13px "DM Sans"}.admin-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:34px;margin:0 auto 20px}.admin-card.narrow{max-width:470px;text-align:center}.admin-card.narrow p{color:var(--muted);margin:9px auto 20px}.admin-icon{width:48px;height:48px;background:#e3f0f8;border-radius:14px;color:var(--navy);display:grid;place-items:center;font-size:22px;font-weight:700;margin:0 auto 12px}.admin-card label{display:block;text-align:left;font-size:13px;font-weight:700;color:var(--navy)}.admin-card input{width:100%;display:block;margin-top:6px;padding:13px 14px;border:1px solid #d9e1e2;border-radius:11px;background:#fff;font:16px "DM Sans";color:var(--ink)}.narrow .button{margin-top:17px;width:100%}.form-message{min-height:20px;color:#b24a40;font-size:13px;margin:12px 0 0}.import-card{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.import-card p,.editor-card p{color:var(--muted);line-height:1.45}.upload-zone{border:2px dashed #bcd4df;border-radius:17px;min-height:143px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--navy);cursor:pointer;padding:12px}.upload-zone input{display:none}.upload-zone small{color:var(--muted);margin-top:4px}.upload-icon{font-size:30px;color:var(--blue);line-height:1}.import-card .button{margin-top:16px;width:100%}.editor-card{max-width:850px}.editor-title{display:flex;justify-content:space-between;gap:20px;align-items:center}.text-button{border:0;background:none;color:var(--blue);font:700 15px "DM Sans";cursor:pointer}.lesson-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.pair-head,.pair-row{display:grid;grid-template-columns:1fr 1fr 35px;gap:10px;align-items:center}.pair-head{font-size:12px;color:var(--muted);font-weight:700;margin:0 6px 3px}.pair-row{margin:8px 0}.pair-row input{margin:0}.delete-pair{border:0;background:#ffe8e4;color:#be5d53;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer}.publish-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:22px;color:var(--muted);font-size:14px}@media(max-width:700px){.top-actions{gap:2px}.top-actions select{max-width:100px}.admin-link{font-size:12px;padding:6px}.admin-card{padding:25px 18px}.import-card{grid-template-columns:1fr}.lesson-meta{grid-template-columns:1fr}.pair-row{grid-template-columns:1fr 1fr 30px}.editor-title{align-items:flex-start;flex-direction:column;gap:5px}}@media(max-width:360px){.streak{display:none}}
.topbar { flex-wrap: wrap; gap: 12px; }
.top-actions { flex-wrap: wrap; }
.dots { flex-wrap: wrap; }
.listen-controls { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.listen-button, .admin-link, .text-button, .delete-pair { min-height: 44px; min-width: 44px; }
#manual-lesson { margin-bottom: 20px; }
.button:disabled { opacity: .55; cursor: wait; }
.upload-zone { overflow-wrap: anywhere; }
:focus-visible { outline: 3px solid #315b7c; outline-offset: 3px; }
[hidden] { display: none !important; }
.learner-login { margin-top: 50px; }
.learner-login h1 { font-size: 34px; }
.learner-login label { margin-top: 18px; }
.learner-login .login-help { font-size: 13px; }
#learner-pin { letter-spacing: .6em; font-size: 24px; }
.user-form { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin-top: 20px; }
.user-form label { flex: 1 1 180px; }
.user-form button { margin-bottom: 7px; }
.user-row { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; padding:12px 0; border-top:1px solid var(--line); }
.user-row form { display:flex; gap:8px; align-items:center; }
.user-row input { width:120px; }
#signed-in-user { font-weight:700; color:var(--navy); }
.practice-settings { margin:24px 0; }
.practice-settings label { display:block; font-weight:700; margin-bottom:8px; }
.practice-settings select { font:inherit; color:var(--ink); background:var(--paper); border:1px solid var(--line); padding:12px; border-radius:12px; min-height:48px; max-width:100%; }
.practice-settings p { color:var(--muted); font-size:14px; margin:8px 0 0; }
@media(min-width:701px) { .activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
