*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:linear-gradient(160deg,#f4f6fa,#e8edf4);min-height:100vh;color:#1a1a1a}.container{max-width:680px;margin:0 auto;padding:40px 16px 80px}.card{background:#fff;border-radius:18px;border:1px solid #e6e9f0;box-shadow:0 12px 32px rgba(60,70,90,.08);padding:30px 28px}.brand{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.5px;color:#764ba2;margin-bottom:10px;text-decoration:none}a.brand:hover{text-decoration:underline}h1{font-size:26px;margin-bottom:4px}.subtitle{color:#888;font-size:14px;margin-bottom:16px}blockquote{border-left:3px solid #cdb8e0;padding:8px 14px;color:#6b6b6b;font-size:14px;font-style:italic;line-height:1.5;margin-bottom:22px}.quote-author{display:block;margin-top:6px;font-style:normal;font-weight:600;color:#555}.progress-wrap{margin-bottom:14px}.progress-bar{height:10px;background:#efeaf6;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#764ba2,#9b6fd6);border-radius:999px;transition:width .3s ease}.progress-text{font-size:13px;color:#777;margin-top:6px}.meta-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin-bottom:18px}.user-chip{font-size:12px;background:#f1eef8;color:#6b5b8a;padding:5px 12px;border-radius:999px}.save-chip{font-size:12px;color:#9a9a9a}.save-chip.saved{color:#2e9e5b}.save-chip.error{color:#d0452b}.save-chip.saving{color:#b88a2a}ol.steps{list-style:none}li.step{display:flex;gap:14px;padding:18px 0;border-top:1px solid #f0f0f0}.checkbox{width:24px;height:24px;border:2px solid #cdb8e0;border-radius:8px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;margin-top:2px}.checkbox.checked{background:#764ba2;border-color:#764ba2;color:#fff;font-size:15px}.step-body{flex:1 1;min-width:0}.step-title{font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;line-height:1.4}.step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#764ba2;color:#fff;border-radius:50%;font-size:12px;flex-shrink:0}.step.done .step-title{color:#aaa;text-decoration:line-through}.step.done .step-num{background:#c9bcde}.step-desc{font-size:14px;color:#6b6b6b;line-height:1.55;margin:8px 0 0}.link-btn{display:inline-block;margin-top:12px;padding:9px 16px;background:#764ba2;color:#fff;text-decoration:none;border-radius:10px;font-size:14px;font-weight:600}.link-btn:hover{opacity:.9}.example{margin-top:12px;font-size:12px;color:#a08fbb;word-break:break-all}.text-input{width:100%;margin-top:8px;padding:12px 14px;border:2px solid #ece9f5;border-radius:10px;font-size:14px;outline:none;transition:border-color .15s}.text-input:focus{border-color:#764ba2}.prompt-box{margin-top:12px;background:#f7f5fb;border:1px solid #ece5f5;border-radius:12px;padding:14px}.prompt-box.dev{background:#1e1b2e;border-color:#1e1b2e}.prompt-text{font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;color:#2a2440;white-space:pre-wrap;word-break:break-word}.prompt-box.dev .prompt-text{color:#e8e4f5}.copy-btn{margin-top:12px;padding:9px 18px;background:#764ba2;color:#fff;border:none;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.copy-btn:hover{opacity:.9}.tab-bar{display:flex;gap:6px;background:#f1eef8;border-radius:12px;padding:5px;margin-bottom:20px}.tab-btn{flex:1 1;border:none;background:transparent;padding:10px 6px;border-radius:9px;font-size:13px;font-weight:600;color:#7d6f95;cursor:pointer;transition:all .15s;white-space:nowrap}.tab-btn.active{background:#fff;color:#764ba2;box-shadow:0 2px 8px rgba(118,75,162,.18)}.agenda-hint{font-size:13px;color:#9a8bb5;line-height:1.6;background:#f7f5fb;border-radius:10px;padding:10px 14px;margin-bottom:16px}.agenda-list{list-style:none}.agenda-item{display:flex;gap:14px;padding:14px 0;border-top:1px solid #f0f0f0}.agenda-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#764ba2;color:#fff;border-radius:50%;font-size:12px;flex-shrink:0;margin-top:1px}.agenda-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:5px}.agenda-item-title{font-size:15px;font-weight:600;color:#1a1a1a;line-height:1.4}.agenda-item-desc{font-size:14px;color:#6b6b6b;line-height:1.55}.homework-empty{text-align:center;color:#9a8bb5;font-size:14px;line-height:1.6;padding:46px 20px}.homework-emoji{font-size:40px;margin-bottom:12px}.lesson-list{display:flex;flex-direction:column;gap:14px;margin-top:4px}.lesson-card{display:flex;align-items:center;gap:16px;padding:18px;background:#f7f5fb;border:1px solid #ece5f5;border-radius:14px;text-decoration:none;color:inherit;transition:background .15s,transform .15s,box-shadow .15s}.lesson-card:hover{background:#efeaf8;transform:translateY(-1px);box-shadow:0 6px 18px rgba(118,75,162,.15)}.lesson-num{flex-shrink:0;background:#764ba2;color:#fff;font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px;white-space:nowrap}.lesson-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}.lesson-title{font-size:16px;font-weight:700;color:#1a1a1a}.lesson-desc{font-size:13px;color:#6b6b6b;line-height:1.5}.lesson-arrow{flex-shrink:0;color:#764ba2;font-size:18px;font-weight:700}.lesson-card.disabled{opacity:.55;cursor:default}.lesson-card.disabled:hover{background:#f7f5fb;transform:none;box-shadow:none}.lesson-card.disabled .lesson-num{background:#b3a8c4}.lesson-card.today{border-color:#764ba2;background:#f3edfb}.lesson-chip{flex-shrink:0;font-size:11px;font-weight:600;color:#8a8a8a;background:#ececec;padding:4px 10px;border-radius:999px;white-space:nowrap}.lesson-chip.today{color:#fff;background:#2e9e5b}.lesson-nav{display:block;margin-top:20px;padding:13px 16px;background:#f7f5fb;border:1px solid #ece5f5;border-radius:12px;color:#764ba2;text-decoration:none;font-size:14px;font-weight:600;text-align:center;transition:background .15s}.lesson-nav:hover{background:#efeaf8}.lesson-nav+.lesson-nav{margin-top:10px}.empty{text-align:center;color:#aaa;padding:40px 0;font-size:15px}.footer-note{text-align:center;color:#8a94a3;font-size:13px;margin-top:22px}