:root{--bg:#faf9f6;--ink:#353b36;--green:#465c4c;--muted:#85877f;--border:#e5e3dc;--white:#fff}
[hidden]{display:none!important}.account-note{font-size:12px;color:var(--muted);line-height:1.8}.account-submit{width:100%;margin-top:4px}.account-text-button{border:0;padding:0;margin-top:19px;font-size:12px;color:var(--green)}#auth-message{font-size:12px;color:#a44736;min-height:19px}#registration-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;margin:16px 0}.member-heading{padding:15px 0;border-bottom:1px solid var(--border)}.member-heading h3{font-size:22px;font-weight:500;margin:0 0 4px}.member-heading p{font-size:12px;color:var(--muted);margin:0}.practice-summary{white-space:pre-line;font-size:12px;line-height:2;margin:20px 0}.account-links{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;color:var(--green);margin:20px 0 30px}.account-links a:hover,.account-text-button:hover{text-decoration:underline;text-underline-offset:4px}.manage-toolbar{display:flex;justify-content:flex-end;gap:20px;margin-bottom:22px;align-items:center}.manage-toolbar p{font-size:13px;color:var(--muted);margin:0 auto 0 0}[data-page="manage"] .card-tools button{font-size:11px}#account-open{max-width:110px;overflow:hidden;text-overflow:ellipsis}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--bg);font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{background:none}header,main,footer{width:min(960px,100% - 64px);margin:auto}
header{height:102px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:baseline;gap:14px;white-space:nowrap;font-family:"Songti SC","SimSun",serif;font-size:26px;font-weight:400;letter-spacing:3px}.brand-note{font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-size:11px;letter-spacing:1px;color:var(--muted)}nav{display:flex;gap:26px;margin-left:auto;align-items:center}nav a,nav button{font-size:13px;color:var(--muted);border:0;padding:6px 0}nav .nav-active{color:var(--ink)}nav a:hover,nav button:hover{color:var(--green)}.button{border:1px solid var(--border);background:var(--white);padding:9px 16px;border-radius:5px;font-size:12px;white-space:nowrap}.button.dark{border-color:#667464;color:#fff;background:#667464}.button:hover{filter:brightness(.95)}
.intro{padding:58px 0 43px}.intro h1{margin:0;font-size:28px;font-weight:500;letter-spacing:1px}.intro p{font-size:13px;color:var(--muted);margin:12px 0 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.section-heading h2{font-size:14px;font-weight:500;margin:0}.section-heading h2 span{font-size:11px;margin-left:8px;color:var(--muted);font-weight:400}.search{display:flex;gap:9px;align-items:center;width:240px;border:1px solid var(--border);padding:8px 11px;border-radius:5px;background:#fff8;color:var(--muted)}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:12px}.search svg{flex-shrink:0}kbd{font-size:10px;color:#b2b3aa;font-weight:400}.filters{display:flex;align-items:center;justify-content:space-between;margin:23px 0 0;border-bottom:1px solid var(--border)}#categories{display:flex;gap:24px;flex-wrap:wrap}#categories button{font-size:12px;border:0;border-bottom:1px solid transparent;color:var(--muted);padding:0 0 12px}#categories button.active{border-color:var(--green);color:var(--green)}#results-label{font-size:11px;color:var(--muted)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.card{border:1px solid var(--border);background:#fff9;border-radius:6px;padding:22px 24px;min-height:218px;display:flex;flex-direction:column;transition:border-color .15s}.card:hover{border-color:#c2c7bc}.card-top{display:flex;align-items:center;justify-content:space-between}.site-icon{font-size:25px;line-height:1;color:#657060}.card-tools{display:flex;gap:5px}.card-tools button{border:0;padding:3px 6px;font-size:16px;color:#a2a69b;border-radius:3px}.card-tools button:hover{background:#f1f1eb;color:var(--ink)}.card-tools .starred{color:#9b8d65}.card h3{margin:14px 0 8px;font-size:17px;font-weight:500;letter-spacing:.1px}.card p{margin:0 0 20px;font-size:12px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:15px}.tag{font-size:10px;color:#8a8c83}.open-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;color:var(--green)}.open-link:after{content:'↗';font-size:16px}.open-link:hover{text-decoration:underline;text-underline-offset:4px}.add-card{background:transparent;align-items:flex-start;justify-content:center;text-align:left;border-color:#e9e7df}.add-card .add-icon{font-size:22px;color:#9b9e92;line-height:1}.add-card h3{font-size:14px;color:#7e8577;margin:14px 0 7px}.add-card p{font-size:11px;margin:0;color:#a0a296}
main{min-height:calc(100dvh - 198px);padding-bottom:56px}footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding:23px 0 30px;color:#9a9d92;font-size:11px}.storage-note{font-size:10px}#empty{text-align:center;padding:45px 15px;color:var(--muted)}#empty>span{font-size:28px}#empty h3{font-size:15px;font-weight:400;color:var(--ink)}#empty p{font-size:12px}
dialog{border:1px solid var(--border);background:var(--bg);border-radius:8px;width:460px;max-width:calc(100% - 32px);padding:28px;color:var(--ink);max-height:90dvh;overflow:auto}dialog::backdrop{background:#242c2755}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-head h2,dialog h2{font-size:20px;font-weight:500;margin:0}.dialog-head button{font-size:25px;border:0;padding:0 3px;color:var(--muted)}form>label,.form-row label{display:flex;flex-direction:column;gap:7px;font-size:12px;margin:16px 0}form input,form select{width:100%;padding:10px 11px;border:1px solid var(--border);background:#fff;border-radius:4px}form small{font-size:10px;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}#confirm p{font-size:12px;color:var(--muted);margin:18px 0 26px}#error{font-size:12px;color:#a44736}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:10px 20px;border-radius:5px;background:var(--ink);color:#fff;font-size:12px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:10}#toast.show{opacity:1}:focus-visible{outline:2px solid #98a18d;outline-offset:4px}
@media(max-width:650px){header,main,footer{width:calc(100% - 40px)}header{height:86px;gap:16px}.brand{font-size:23px;letter-spacing:2px}.brand-note{display:none}nav{gap:15px}.button{font-size:11px;padding:8px 11px}.intro{padding:39px 0 33px}.intro h1{font-size:25px}.intro p{font-size:12px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.search{width:100%}.grid{grid-template-columns:1fr;gap:13px}.card{min-height:205px;padding:20px}.add-card{min-height:120px}.add-card .add-icon{display:none}.add-card h3{margin-top:0}.filters{margin-top:20px}main{padding-bottom:38px}footer{gap:20px;align-items:flex-start;font-size:10px}.storage-note{text-align:right;font-size:9px}.form-row{gap:12px}#results-label{font-size:10px}}
