:root{
  --sans:'Geist',system-ui,sans-serif;
  --serif:'Instrument Serif',Georgia,serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --teal:#006E5B;--teal-deep:#00514A;
  --ink:#0E2236;--ink-soft:#1B3149;--body:#3A4F60;--muted:#7A8C99;
  --line:#E7ECEC;--bg:#FBFBF9;--maxw:780px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--body);background:var(--bg);line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--teal);text-underline-offset:2px}
a:focus-visible,button:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:3px}
.lwrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

.lhead{border-bottom:1px solid var(--line);padding:22px 0;background:var(--bg);position:sticky;top:0;z-index:5}
.lback{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.lback:hover{color:var(--teal)}
.lback svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.lmain{padding:60px 0 90px}
.leyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
h1.ltitle{font-family:var(--serif);font-weight:600;font-size:clamp(34px,6vw,56px);line-height:1.04;letter-spacing:-.02em;color:var(--ink);margin-bottom:14px}
.lupdated{font-size:13px;color:var(--muted);margin-bottom:8px}

.lmain h2{font-family:var(--serif);font-weight:600;font-size:26px;color:var(--ink);letter-spacing:-.01em;margin:46px 0 14px}
.lmain h3{font-size:15.5px;font-weight:600;color:var(--ink-soft);margin:26px 0 8px}
.lmain p{font-size:15.5px;color:var(--body);margin-bottom:14px}
.lmain ul{margin:0 0 16px 22px}
.lmain li{font-size:15.5px;margin-bottom:7px}
.lmain strong{color:var(--ink-soft);font-weight:600}

.lnote{margin:24px 0;padding:16px 20px;border-left:3px solid var(--teal);background:color-mix(in srgb,var(--teal) 5%,transparent);font-size:14px;color:var(--ink-soft);border-radius:0 9px 9px 0}
.todo{background:#FFF6E5;border-left-color:#D98A00;color:#5C4400}
.todo b{color:#7A5A00}

table.ltbl{width:100%;border-collapse:collapse;margin:14px 0 22px;font-size:14px}
.ltbl th,.ltbl td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--body)}
.ltbl th{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}
.ltbl td:first-child{font-weight:600;color:var(--ink-soft);white-space:nowrap}

.lfoot{border-top:1px solid var(--line);padding:26px 0 40px;font-size:13px;color:var(--muted)}
.lfoot a{color:var(--muted)}
.lfoot a:hover{color:var(--teal)}
