
:root{
  --paper:#fbf8f1;
  --paper-2:#fffdf8;
  --ink:#252321;
  --muted:#625d55;
  --faint:#837b70;
  --line:#d9d0c2;
  --line-strong:#b9ad9d;
  --accent:#9d4b35;
  --accent-2:#82652f;
  --code:#f0e9dc;
  --max:980px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:18px/1.68 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{text-decoration-thickness:.14em}
.site-header,main,.site-footer{max-width:var(--max);margin:0 auto;padding-left:24px;padding-right:24px}
.site-header{padding-top:56px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.lossfunk-mark{position:fixed;left:18px;bottom:18px;width:70px;height:auto;z-index:30;opacity:.78;pointer-events:none}
.topline{font:12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:14px}
.title-row{max-width:880px;margin-bottom:8px}
.title-row h1{margin-bottom:0}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.18;color:var(--ink);margin:0 0 14px}
h1{font-size:clamp(2.4rem,7vw,4.8rem);letter-spacing:-.035em;max-width:850px}
h2{font-size:clamp(1.75rem,4vw,2.65rem);letter-spacing:-.025em;margin-top:54px;padding-top:10px;border-top:1px solid var(--line)}
h3{font-size:1.35rem;margin-top:30px}
h4{font-size:1.05rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:650;margin-bottom:8px}
p{margin:0 0 18px;max-width:760px}.lead{font-size:1.1rem;color:#373431;max-width:790px}.byline{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;color:var(--muted);margin-bottom:18px}
.math,code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}code{font-size:.92em;background:var(--code);padding:.08em .24em;border-radius:3px}.nowrap{white-space:nowrap}
.article-nav{display:flex;flex-wrap:wrap;gap:10px 18px;margin:24px 0 30px;padding-top:16px;border-top:1px solid var(--line)}
.article-nav a{font-size:.88rem;color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}.article-nav a:hover{color:var(--accent);border-color:var(--accent)}
.result-line{max-width:760px;margin:24px 0 26px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;color:var(--ink)}
.result-line span{font:12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-right:10px}
.formula{display:block;overflow-x:auto;white-space:nowrap;background:var(--paper-2);border:1px solid var(--line);padding:16px 18px;margin:18px 0 22px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#1f1d1b}
.hero-figure,.wide-figure,figure{margin:26px 0}.figure-frame{border:1px solid var(--line);background:var(--paper-2);padding:12px}img{max-width:100%;height:auto;display:block}figcaption{font-size:.88rem;color:var(--muted);margin-top:9px;max-width:820px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.stat{border:1px solid var(--line);background:var(--paper-2);padding:14px 16px}.stat strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1;color:var(--accent)}.stat span{font-size:.82rem;color:var(--muted)}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.case{border:1px solid var(--line);background:var(--paper-2);padding:14px}.case img{border:1px solid var(--line);background:var(--paper)}.case h3{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;margin:12px 0 4px;letter-spacing:0}.case p{font-size:.9rem;color:var(--muted);margin:0}.tagline{font:12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent-2);margin-top:7px}
.table-wrap{overflow-x:auto;margin:18px 0 22px}table{border-collapse:collapse;width:100%;font-size:.93rem;background:var(--paper-2)}th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}th{font:12px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border-bottom:2px solid var(--line-strong)}td.num,th.num{text-align:right;white-space:nowrap}
ul,ol{padding-left:1.25rem;margin:0 0 20px}li{margin:8px 0}.compact li{margin:4px 0}.plain-steps{margin-bottom:0;max-width:850px}.plain-steps li{margin:10px 0}.plain-steps strong{color:var(--ink)}.proof-summary{max-width:900px}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}.note{border:1px solid var(--line);background:var(--paper-2);padding:16px 18px;margin:18px 0;color:var(--muted)}.note strong{color:var(--ink)}
.certificate-box{border:1px solid var(--line-strong);background:var(--paper-2);padding:18px;margin:22px 0}.certificate-box h3{margin-top:0}.small{font-size:.9rem;color:var(--muted)}
.triples{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--paper-2);border:1px solid var(--line);padding:14px 16px;line-height:1.9;overflow-x:auto}.coords{font-size:.88rem}.interactive{border:1px solid var(--line);background:var(--paper-2);padding:16px;margin:22px 0}.circle-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.circle-buttons button{border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;padding:7px 9px;cursor:pointer}.circle-buttons button:hover,.circle-buttons button.active{border-color:var(--accent);color:var(--accent);background:#f6eee3}.selected-circle-title{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;margin-bottom:10px;color:var(--accent)}
.ref-list{padding-left:1.25rem}.ref-list li{margin:10px 0}.ack{border-top:1px solid var(--line);padding-top:20px;margin-top:36px}.site-footer{padding-top:22px;padding-bottom:48px;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line)}
@media(max-width:760px){body{font-size:16px}.site-header,main,.site-footer{padding-left:18px;padding-right:18px}.lossfunk-mark{width:52px;left:12px;bottom:12px}.stats,.case-grid,.two-col{grid-template-columns:1fr}h2{margin-top:40px}.formula{font-size:.9rem}.article-nav{gap:8px 12px}.figure-frame{padding:8px}}
