*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#0f172a;min-height:100vh;color:#e2e8f0}
.container{max-width:860px;margin:0 auto;padding:12px}
header{background:linear-gradient(135deg,#1e293b,#334155);color:#e2e8f0;padding:28px 24px;border-radius:16px;text-align:center;margin-bottom:16px;border:1px solid #475569}
header a{color:#94a3b8;text-decoration:none;font-size:.9em;display:inline-block;margin-bottom:8px;transition:color .2s}
header a:hover{color:#e2e8f0}
h1{font-size:1.8em;margin-bottom:4px}
.subtitle{opacity:.85;font-size:.95em;color:#94a3b8}
.progress-bar{background:#1e293b;height:8px;border-radius:8px;margin:16px 0 6px;overflow:hidden}
.progress{background:linear-gradient(90deg,#10b981,#3b82f6);height:100%;width:0%;transition:width .4s}
.progress-text{font-size:.85em;color:#94a3b8}

.week-selector{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.week-btn{padding:10px 16px;border:2px solid #334155;background:#1e293b;color:#94a3b8;border-radius:20px;cursor:pointer;font-weight:600;font-size:.85em;transition:all .2s}
.week-btn:hover,.week-btn.active{background:#334155;color:#e2e8f0;border-color:#3b82f6}

.day-card{background:#1e293b;border-radius:12px;margin-bottom:12px;border:1px solid #334155;overflow:hidden}
.day-header{padding:16px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none}
.day-header:hover{background:#334155}
.day-header h3{font-size:1.05em;color:#e2e8f0}
.day-header .badge{font-size:.75em;background:#1e3a5f;color:#60a5fa;padding:3px 10px;border-radius:12px;font-weight:600}
.day-header .done{background:#064e3b;color:#34d399}
.toggle{color:#64748b;font-size:1.1em;transition:transform .2s}
.day-content{padding:0 20px 20px;display:none}
.day-content.open{display:block}

.section{margin-bottom:20px}
.section h4{color:#60a5fa;margin-bottom:10px;font-size:.95em;display:flex;align-items:center;gap:6px}
.grammar-box{background:#0f172a;padding:16px;border-radius:10px;border-left:4px solid #3b82f6;margin-bottom:12px;line-height:1.6;color:#cbd5e1}
.grammar-box p{margin:4px 0}
.grammar-box code{background:#334155;color:#a5b4fc;padding:2px 6px;border-radius:4px;font-size:.9em}

table{width:100%;border-collapse:collapse;margin:8px 0;font-size:.9em}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid #334155}
th{background:#334155;color:#e2e8f0;font-weight:600}
td{color:#cbd5e1}
tr:nth-child(even){background:#0f172a}
tr:last-child td{border-bottom:none}

.exercise{background:#1c1917;padding:16px;border-radius:10px;border-left:4px solid #eab308;margin-top:8px;color:#fde68a}
.exercise p{margin:6px 0;line-height:1.5}
.btn-answer{background:#eab308;color:#1c1917;border:none;padding:8px 18px;border-radius:8px;cursor:pointer;font-weight:600;margin-top:8px;font-size:.85em}
.btn-answer:hover{background:#ca8a04}
.answer{margin-top:10px;padding:12px;background:#0f172a;border-radius:8px;display:none;color:#cbd5e1}
.answer.show{display:block}

.admin-box{background:#0f172a;padding:16px;border-radius:10px;border-left:4px solid #10b981;margin-top:8px;color:#6ee7b7}
.admin-box p{margin:5px 0;line-height:1.5}

.check-row{margin-top:16px;padding:14px;background:#064e3b;border-radius:10px;cursor:pointer;font-weight:600;color:#34d399;display:flex;align-items:center;gap:8px}
.check-row input{width:18px;height:18px;cursor:pointer}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:20px}
.stat-card{background:linear-gradient(135deg,#1e293b,#334155);color:#e2e8f0;padding:24px;border-radius:12px;text-align:center;border:1px solid #475569}
.stat-card .num{font-size:2.2em;font-weight:700;color:#60a5fa}
.stat-card .label{font-size:.85em;color:#94a3b8;margin-top:4px}

.backup-section{background:#0f172a;padding:20px;border-radius:12px;border:1px solid #334155;margin-bottom:20px}
.backup-section h3{color:#10b981;margin-bottom:8px}
.backup-section p{color:#94a3b8;font-size:.9em;margin-bottom:12px}
.backup-btns{display:flex;gap:10px;flex-wrap:wrap}
.btn-backup{background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9em}
.btn-backup:hover{background:#059669}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#10b981;color:#fff;padding:12px 24px;border-radius:10px;font-weight:600;z-index:99;transition:opacity .3s}
.toast.hidden{opacity:0;pointer-events:none}

@media(max-width:600px){
  .container{padding:8px}
  header{padding:20px 16px;border-radius:12px}
  h1{font-size:1.4em}
  .week-btn{padding:8px 12px;font-size:.8em}
  .day-content{padding:0 14px 14px}
  table{font-size:.8em}
  th,td{padding:7px 8px}
}
