/* 登录 / 收藏 / 心得 / 我的学习 —— 延续工作室暖白 · 研究蓝 · 珊瑚色 */
#zl-personal{--zl-blue:#2f6ba8;--zl-coral:#e17a5f;--zl-ink:#2b2622;--zl-line:#e8dfd2;--zl-bg:#fffdf9;
  line-height:1.6;font-family:"Noto Serif SC","Songti SC","STSong",serif}
#zl-personal .zl-bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;justify-content:center;margin-top:.7rem}
#zl-personal .zl-pbtn{appearance:none;border:1px solid var(--zl-line);background:var(--zl-bg);color:var(--zl-ink);
  border-radius:999px;padding:.4rem .9rem;font-size:.95rem;cursor:pointer;display:inline-flex;gap:.35rem;align-items:center;
  font-family:inherit;transition:border-color .15s,color .15s,background .15s}
#zl-personal .zl-pbtn:hover{border-color:var(--zl-blue);color:var(--zl-blue)}
#zl-personal .zl-pbtn.is-on{color:var(--zl-coral);border-color:var(--zl-coral)}
#zl-personal .zl-pbtn small{font-size:.72rem;opacity:.7}
#zl-personal .zl-session{font-size:.8rem;color:#6b625a;margin:.4rem 0 0;text-align:center}
#zl-personal .zl-session button{appearance:none;border:0;background:none;color:var(--zl-blue);cursor:pointer;text-decoration:underline;font:inherit;padding:0 .1rem}

.zl-modal{position:fixed;inset:0;background:rgba(43,38,34,.45);display:flex;align-items:center;justify-content:center;z-index:220;padding:1rem}
.zl-modal[hidden]{display:none}
.zl-dialog{background:#fffdf9;border-radius:16px;box-shadow:0 18px 50px rgba(43,38,34,.28);width:min(92vw,430px);max-height:88vh;overflow:auto;padding:1.3rem 1.4rem;font-family:"Noto Serif SC","Songti SC","STSong",serif;color:#2b2622}
.zl-dialog h3{margin:0 0 .6rem;font-size:1.15rem;color:#2b2622}
.zl-dialog .zl-sub{font-size:.85rem;color:#6b625a;margin-bottom:.8rem}
.zl-row{margin:.55rem 0}
.zl-row label{display:block;font-size:.82rem;color:#6b625a;margin-bottom:.2rem}
.zl-row input,.zl-row textarea{width:100%;box-sizing:border-box;border:1px solid #e0d5c6;border-radius:9px;padding:.5rem .6rem;
  font:inherit;background:#fffdf9;color:#2b2622}
.zl-row textarea{min-height:5.5rem;resize:vertical}
.zl-hint{font-size:.78rem;color:#6b625a;margin:.3rem 0 0}
.zl-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.9rem;flex-wrap:wrap}
.zl-actions button{appearance:none;border-radius:999px;padding:.45rem .95rem;font:inherit;cursor:pointer;border:1px solid transparent}
.zl-actions .zl-pri{background:#2f6ba8;color:#fff}
.zl-actions .zl-pri:hover{background:#275b8f}
.zl-actions .zl-coral{background:#e17a5f;color:#fff}
.zl-actions .zl-coral:hover{background:#cf6a50}
.zl-actions .zl-ghost{background:none;border-color:#d9ccbb;color:#555}
.zl-actions .zl-link{background:none;color:#2f6ba8;text-decoration:underline;border:0;padding:.4rem .5rem}
.zl-save-state{font-size:.8rem;color:#6b625a;min-height:1em;margin:.4rem 0 0;text-align:right}
.zl-save-state.err{color:#c0392b}
.zl-toast{position:fixed;left:50%;bottom:1.4rem;transform:translateX(-50%);background:#2b2622;color:#fff;padding:.5rem .9rem;border-radius:8px;font-size:.85rem;z-index:300;opacity:0;pointer-events:none;transition:opacity .2s;max-width:88vw;text-align:center}
.zl-toast.show{opacity:.96}
.zl-fav-hot{color:#e17a5f!important;border-color:#e17a5f!important}
@media (max-width:420px){.zl-dialog{padding:1rem .9rem}.zl-actions button{flex:1 1 auto}}

/* 心得与原文并排，原文仍使用正常页面滚动。 */
.zl-note-open{--zl-note-width:clamp(350px,34vw,450px);padding-right:var(--zl-note-width)}
.zl-note-panel{position:fixed;inset:0 0 0 auto;width:var(--zl-note-width);box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;background:#fffdf9;border-left:1px solid #ddd7ca;padding:26px 24px 30px;z-index:180;color:#2b2622;font:16px/1.7 "Noto Serif SC","Songti SC","STSong",serif;box-shadow:-4px 0 24px #234b6308}
.zl-note-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}
.zl-note-heading h2{font-size:24px;margin:0;line-height:1.4}
.zl-note-close{appearance:none;border:0;background:transparent;color:#6b625a;cursor:pointer;font-size:29px;line-height:1;min-width:42px;min-height:42px;padding:0}
.zl-note-source{border-block:1px solid #e8dfd2;padding:13px 0;overflow-wrap:anywhere}
.zl-note-source span{display:block;color:#8e6b50;font-size:13px;margin-bottom:5px}
.zl-note-source strong{font-size:16px;font-weight:600;line-height:1.7}
.zl-note-source .zl-note-original-title{font:13px/1.7 var(--sans,sans-serif);margin:9px 0 5px;color:#657570;overflow-wrap:anywhere}
.zl-note-source .zl-note-doi{font:12px/1.8 var(--sans,sans-serif);color:#39718a;overflow-wrap:anywhere}
.zl-note-word-count{font:12px/1.8 var(--sans,sans-serif);color:#927d5b;text-align:right;margin-top:6px}.zl-note-word-count.is-ready{color:#557e65}
.zl-month-dialog{z-index:310}.zl-month-dialog .zl-dialog{width:min(92vw,460px)}.zl-month-summary,.zl-month-hint{font:13px/1.8 var(--sans,sans-serif);color:#74806e;margin:10px 0 16px}.zl-month-year{display:flex;gap:15px;align-items:center;font:14px/1.8 var(--sans,sans-serif)}.zl-month-year select{min-height:42px;padding:7px 12px;border:1px solid #ced8cd;background:#fffdf9;color:#375e5d;border-radius:6px;font:inherit}.zl-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}.zl-month-grid button{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;min-height:66px;border:1px solid #dbe3d5;border-radius:7px;background:#f8faf3;color:#5d7968;cursor:pointer;font:14px/1.5 var(--sans,sans-serif)}.zl-month-grid button strong{font-weight:500}.zl-month-grid button span{font-size:10px;color:#8c9a83}.zl-month-grid button[aria-pressed=true]{background:#315d58;border-color:#315d58;color:white}.zl-month-grid button[aria-pressed=true] span{color:#d1e0cd}.zl-month-grid button:disabled{background:#efeee8;border-color:#e2e2d9;color:#a5a79a;cursor:default}.zl-month-dialog .zl-actions{margin-top:20px}.zl-month-dialog .zl-actions button{min-height:42px}
.zl-note-links{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0 20px;font-size:13px}
.zl-note-links button,.zl-note-links a{appearance:none;background:none;border:0;padding:0;color:#2f6ba8;font:inherit;line-height:1.8;cursor:pointer;text-decoration:underline}
.zl-note-panel .zl-row{margin:17px 0}
.zl-note-panel .zl-row label{font-size:14px;margin-bottom:6px}
.zl-note-panel .zl-row input,.zl-note-panel .zl-row textarea{padding:10px 12px;line-height:1.75;font-size:16px}
.zl-note-panel .zl-row textarea{min-height:110px;resize:vertical}
.zl-note-panel #zl-n-body{min-height:260px}
.zl-note-panel .zl-actions{border-top:1px solid #e8dfd2;padding-top:17px;gap:9px}
.zl-note-panel .zl-actions button{font-size:14px;min-height:42px;padding:8px 13px}
.zl-note-panel button:disabled{cursor:wait;opacity:.65}
.zl-note-switch{display:none}
.zl-note-open .reading-header{padding-inline:28px;gap:20px;flex-wrap:wrap}
.zl-note-open .reading-header nav{gap:18px;flex-wrap:wrap}
.zl-note-open .reader-wrap{padding-inline:28px}
.zl-note-open .reader-layout{grid-template-columns:165px minmax(0,1fr);gap:20px}
.zl-note-open .book-toc{padding-right:15px}
.zl-note-open .reader-toolbar{flex-wrap:wrap}
.zl-note-open .read-content .system-stages,.zl-note-open .read-content .branches,.zl-note-open .read-content .formula-parts,.zl-note-open .read-content .role-grid,.zl-note-open .read-content .support-branches{grid-template-columns:1fr}
.zl-note-open [data-resource-key],.zl-note-open #book-content{scroll-margin-top:20px}
.zl-note-open .zl-toast{left:calc((100% - var(--zl-note-width))/2)}
@media(max-width:1000px){
  .zl-note-open{padding-right:0;padding-top:58px;--zl-note-width:100%}
  .zl-note-switch{position:fixed;inset:0 0 auto;height:58px;z-index:181;display:flex;align-items:center;justify-content:center;gap:8px;background:#fffdf9;border-bottom:1px solid #e8dfd2;padding:7px 18px;box-sizing:border-box}
  .zl-note-switch button{font:inherit;font-size:16px;line-height:1.5;min-height:40px;flex:1;max-width:240px;border:1px solid #d8ddcf;border-radius:8px;background:transparent;color:#40565c;cursor:pointer}
  .zl-note-switch button[aria-pressed=true]{background:#274f49;border-color:#274f49;color:#fff}
  .zl-note-panel{top:58px;width:100%;border-left:0;padding:22px max(22px,calc((100vw - 700px)/2));box-shadow:none}
  .zl-note-open[data-zl-note-view=read] .zl-note-panel{display:none}
  .zl-note-open[data-zl-note-view=note]>.reading-header,.zl-note-open[data-zl-note-view=note]>main,.zl-note-open[data-zl-note-view=note]>.site-footer,.zl-note-open[data-zl-note-view=note]>#zl-personal{display:none}
  .zl-note-open .zl-toast{left:50%}
  .zl-note-open [data-resource-key],.zl-note-open #book-content{scroll-margin-top:78px}
}
@media(max-width:680px){
  .zl-note-open .reading-header{padding-inline:22px}
  .zl-note-open .reader-wrap{padding-inline:20px}
  .zl-note-open .reader-layout{display:block}
  .zl-note-panel #zl-n-body{min-height:230px}
}
