/* Blanc — porcelain, silver and a single carmine accent. */
:root{
  color-scheme:light dark;
  --ink:#29262b;--muted:#706a72;--accent:#823849;--blue:var(--accent);
  --line:#e2dde1;--line-subtle:#eee9ed;--paper:#fffefd;--bg:#f6f5f3;--soft:#f0e8ec;--silver:#c5bdc5;
  --button-bg:#823849;--button-hover:#6b2d3c;--button-ink:#fffefd;
  --hover:#f4f0f2;--surface-hover:#fdfafb;--border-hover:#c2adb8;--table-head:#f0edef;
  --control-border:#e2dde1;--secondary-border:#cbbac2;--accent-border:#dfc9d1;--selected-border:#e4d7de;
  --placeholder:#7c737e;--focus:#c5bdc5;--focus-shadow:#c5bdc518;--focus-ring:#c5bdc525;
  --warning:#93651e;--warning-dot:#a5772e;--backdrop:#29262b66;
  --serif:Georgia,"Times New Roman","Songti SC","Noto Serif CJK SC",serif;
}
@media(prefers-color-scheme:dark){
  :root{
    --ink:#e8e3e7;--muted:#b6aeb8;--accent:#e6a4b6;
    --line:#403a43;--line-subtle:#38323b;--paper:#211e24;--bg:#17151a;--soft:#302730;--silver:#978b9c;
    --button-bg:#914457;--button-hover:#a55066;--button-ink:#fff7fa;
    --hover:#2b262e;--surface-hover:#2a242d;--border-hover:#978090;--table-head:#2a252e;
    --control-border:#716774;--secondary-border:#716774;--accent-border:#765361;--selected-border:#765361;
    --placeholder:#a097a4;--focus:#d497b0;--focus-shadow:#d497b033;--focus-ring:#d497b040;
    --warning:#e5ba74;--warning-dot:#d2a35c;--backdrop:#09070cb3;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
a{color:var(--accent);text-decoration:none;text-underline-offset:4px}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
button{cursor:pointer}
[hidden]{display:none!important}
h1,h2,h3,p{overflow-wrap:anywhere}
.blanc-bar{background:var(--paper);border-bottom:1px solid var(--line)}
.blanc-bar-inner{max-width:1180px;min-height:68px;margin:auto;padding:10px 28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px}
.blanc-brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-family:var(--serif);font-size:22px;letter-spacing:.06em;line-height:1;text-decoration:none}
.blanc-brand:hover{text-decoration:none;color:var(--accent)}
.blanc-mark{display:block;width:30px;height:36px;flex-shrink:0;background:url('/blanc-emblem.svg') center/contain no-repeat;font-size:0}
.blanc-nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.blanc-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 13px;border-radius:6px;color:var(--muted);font-size:15px;white-space:nowrap}
.blanc-nav-link:hover{background:var(--hover);color:var(--ink);text-decoration:none}
.blanc-nav-link[aria-current=page]{background:var(--soft);color:var(--accent);font-weight:600}
.blanc-skip{position:absolute;left:18px;top:-100px;padding:10px 16px;background:var(--ink);color:var(--bg);z-index:10;border-radius:6px}
.blanc-skip:focus{top:12px}
main{max-width:1180px;margin:auto;padding:0 28px 36px}
main:focus{outline:none}
.download{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--button-bg);border-radius:7px;background:var(--button-bg);color:var(--button-ink);font-size:15px;font-weight:550;text-decoration:none}
.download:hover{background:var(--button-hover);border-color:var(--button-hover);color:var(--button-ink);text-decoration:none}
.download.secondary{background:var(--paper);color:var(--accent);border-color:var(--secondary-border)}
.download.secondary:hover{background:var(--soft)}
.text-link{font-size:15px;color:var(--accent)}
.reading{max-width:900px}
.reading h1{font-family:var(--serif);font-size:38px;font-weight:500;line-height:1.35}
.reading h2{font-size:22px;font-weight:600;line-height:1.45}
.reading pre{overflow:auto;padding:18px;background:var(--table-head);border:1px solid var(--line);border-radius:8px}
.reading code{font:14px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.reading details{border-top:1px solid var(--line);padding:18px 0}
.reading summary{cursor:pointer;color:var(--muted);font-size:15px}
.reading details[open] summary{margin-bottom:16px;color:var(--accent)}
@media(max-width:760px){.blanc-bar-inner{padding:10px 16px 8px;gap:6px;min-height:0}.blanc-brand{font-size:20px}.blanc-mark{width:25px;height:30px}.blanc-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:3px}.blanc-nav-link{font-size:14px;min-height:42px;padding:7px 8px}main{padding:0 16px 28px}.reading h1{font-size:30px}}
@media(prefers-reduced-motion:no-preference){.blanc-nav-link,.download{transition:background .15s,color .15s}}

::selection{background:var(--soft);color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--placeholder);opacity:1}
select option{background:var(--paper);color:var(--ink)}
