/* Claude 风：暖白底、衬线标题、留白、细线；主色天蓝 */
:root{--ink:#1f1e1d;--muted:#73716b;--line:#e8e4da;--bg:#faf9f5;--panel:#ffffff;--sky:#0ea5e9;--sky-ink:#0369a1;--sky-btn:#0284c7;--sky-soft:#e0f2fe}
*{box-sizing:border-box}
body{margin:0;font:16px/1.75 -apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,.brand{font-family:"Songti SC","Noto Serif SC","Source Han Serif SC",Georgia,serif;font-weight:600;letter-spacing:.01em}
header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}
.brand{font-size:19px;color:var(--ink);text-decoration:none}.brand::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--sky);margin-right:10px;vertical-align:middle}
nav{display:flex;gap:18px;align-items:center;font-size:15px}nav a{color:var(--ink);text-decoration:none}nav a:hover{color:var(--sky-ink)}nav span{color:var(--muted)}nav form{margin:0}
main{max-width:820px;margin:0 auto;padding:36px 20px 80px}
a{color:var(--sky-ink)}h1{font-size:30px;line-height:1.3;margin:4px 0 18px}h2{font-size:20px;margin:28px 0 8px}
.card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;margin:0 0 18px;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}
a.card:hover{border-color:var(--sky);box-shadow:0 2px 14px rgba(14,165,233,.10)}
.narrow{max-width:420px;margin:56px auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.course h2{margin-top:0}.course.mine{border-color:#bae6fd;background:linear-gradient(180deg,var(--sky-soft),var(--panel) 60%)}
.muted{color:var(--muted);font-size:14px}.warn{color:#b3261e}.ok{color:var(--sky-ink)}
label{display:block;margin:12px 0;font-size:15px}
input:not([type=checkbox]){display:block;width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:12px;font-size:16px;margin-top:6px;background:#fff}
input:focus{outline:2px solid var(--sky);outline-offset:1px;border-color:transparent}
input[type=checkbox]{accent-color:var(--sky-btn);width:18px;height:18px;margin-top:5px}
button{background:var(--sky-btn);color:#fff;border:0;border-radius:12px;padding:11px 20px;font-size:16px;font-weight:600;cursor:pointer;margin-top:10px}
button:hover{background:var(--sky-ink)}button.small{padding:7px 14px;font-size:14px}
button.link{background:none;color:var(--muted);padding:0;margin:0;font-size:15px;font-weight:400}button.link:hover{color:var(--sky-ink);background:none}
.lessons{list-style:none;padding:0;margin:20px 0}
.lessons li{display:flex;justify-content:space-between;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:15px 18px;margin-bottom:10px}
.lessons li a{color:var(--ink);text-decoration:none}.lessons li a:hover{color:var(--sky-ink)}
.lessons li.locked{opacity:.5}.lessons li.done{border-color:#bae6fd}.lessons li.open{border-color:var(--sky)}
.check{display:flex;gap:10px;align-items:flex-start}
article.card{padding:32px}article h2{color:var(--ink)}
table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
td,th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:15px}th{color:var(--muted);font-weight:500}
.code{font:600 28px/1.2 ui-monospace,Menlo,monospace;letter-spacing:3px;color:var(--sky-ink)}.row{display:flex;gap:12px;margin-top:18px}
pre{background:#f3f1ea;padding:14px;border-radius:12px;overflow:auto;font-size:14px}code{background:#f3f1ea;padding:1px 5px;border-radius:5px;font-size:.92em}pre code{background:none;padding:0}
blockquote{border-left:3px solid var(--sky);margin:12px 0;padding:4px 14px;color:var(--muted)}
