@font-face{font-family:"Fraunces";src:url(/assets/fonts/fraunces.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--paper:#FAF6EF;--paper-2:#F3ECDF;--card:#fff;--ink:#2B211B;--muted:#665A50;--line:#E6DCCB;--line-2:#D8CCB6;--accent:#B4581F;--accent-ink:#fff;--teal:#0F5C55;--warn-bg:#FBEFD5;--warn-ink:#6B4A12;--ok-bg:#DCEBE4;--radius:14px;--radius-s:9px;--shadow:0 1px 2px rgba(43,33,27,.06),0 8px 22px rgba(43,33,27,.06);--serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
@media (prefers-color-scheme:dark){:root{--paper:#16120F;--paper-2:#1E1813;--card:#241D17;--ink:#F2E9DE;--muted:#B5A798;--line:#372E26;--line-2:#4A3E33;--accent:#E28D55;--accent-ink:#1B1008;--teal:#6CC7BC;--warn-bg:#3A2C12;--warn-ink:#F1D9A4;--ok-bg:#183A34;--shadow:none}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans)}
img{max-width:100%;height:auto;display:block}a{color:var(--teal)}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3{font-family:var(--serif);font-weight:560;line-height:1.18;letter-spacing:-.012em;margin:0}
h1{font-size:clamp(1.85rem,4.6vw,2.7rem);margin:.15em 0 .3em}h2{font-size:1.5rem;margin:2.1em 0 .55em}h3{font-size:1.15rem;margin:1.5em 0 .4em}
main{padding:22px 0 72px}
/* header */
header.site{background:var(--card);border-bottom:1px solid var(--line);position:relative;z-index:30}
header.site .bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding-top:12px;padding-bottom:12px}
.brand{font:600 1.3rem/1 var(--serif);color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:9px;letter-spacing:-.01em}
.brand svg{width:28px;height:28px;color:var(--accent);flex:none}
nav.main{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;order:3;width:100%}nav.main::-webkit-scrollbar{display:none}
nav.main a{color:var(--muted);text-decoration:none;padding:7px 12px;border-radius:99px;font-size:.93rem;white-space:nowrap}
nav.main a:hover,nav.main a[aria-current]{background:var(--paper-2);color:var(--ink)}
@media(min-width:900px){nav.main{order:0;width:auto;overflow:visible}}
.search{position:relative;margin-left:auto;flex:1 1 220px;max-width:340px}
.search input{width:100%;padding:9px 16px 9px 40px;border:1px solid var(--line-2);border-radius:99px;background:var(--paper);color:var(--ink);font:inherit;font-size:.95rem}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--muted);pointer-events:none}
.results{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line-2);border-radius:var(--radius-s);box-shadow:var(--shadow);list-style:none;margin:0;padding:6px;max-height:60vh;overflow:auto;z-index:50}
.results:empty{display:none}.results a{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:7px;color:var(--ink);text-decoration:none;font-size:.95rem}
.results a small{color:var(--muted);white-space:nowrap}.results a:hover,.results a.on{background:var(--paper-2)}
.search.big{max-width:560px;margin:0}.search.big input{padding:15px 22px 15px 50px;font-size:1.1rem;box-shadow:var(--shadow)}.search.big svg{left:19px;width:21px;height:21px}
/* text bits */
.crumbs{font-size:.86rem;color:var(--muted)}.crumbs a{color:var(--muted)}.crumbs span{margin:0 .4em;opacity:.6}
.meta{color:var(--muted);font-size:.92rem;margin:.1em 0 1.1em}
.lede{font-size:1.15rem;color:var(--muted);max-width:62ch}
.chip{display:inline-block;background:var(--paper-2);color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:2px 11px;font-size:.78rem;line-height:1.5;margin:0 4px 4px 0}
.chip.ok{background:var(--ok-bg);color:var(--teal);border-color:transparent}
.prose p,.prose li{max-width:68ch}.prose a{font-weight:500}
.notice,.callout{background:var(--paper-2);border-radius:var(--radius-s);padding:12px 16px;font-size:.93rem}
.callout.warn{background:var(--warn-bg);color:var(--warn-ink)}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:99px;font-weight:600;font-size:.97rem;text-decoration:none;border:2px solid var(--accent);cursor:pointer;font-family:inherit;line-height:1.2}
.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{color:var(--accent);background:transparent}.btn:hover{filter:brightness(1.07)}
.btn svg{width:16px;height:16px}
.buy{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 6px}.fine{font-size:.8rem;color:var(--muted);margin:4px 0 0}
.tg{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:99px;border:1.5px solid var(--line-2);background:var(--card);color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer}
.tg svg{width:16px;height:16px}.tg[aria-pressed=true]{border-color:var(--teal);background:var(--ok-bg);color:var(--teal);font-weight:600}
.toggles{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
/* mug page */
.mug-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:34px;align-items:start;margin-top:8px}
@media(max-width:860px){.mug-grid{grid-template-columns:1fr;gap:18px}}
@media(min-width:861px){.gallery{position:sticky;top:18px}}
.hero{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow)}
.stage{position:relative;border-radius:calc(var(--radius) - 4px);overflow:hidden;background:var(--paper-2)}.stage img{width:100%;height:auto}
.mk{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--accent);color:var(--accent-ink);border:2px solid #fff;font:700 .78rem/1 var(--sans);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.mk:hover,.mk.on{transform:scale(1.25);z-index:2}.markers-off .mk{display:none}
.hero figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.82rem;color:var(--muted);padding:8px 4px 0}
.view[hidden]{display:none}.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.vt{width:92px;padding:0;border:1.5px solid var(--line);border-radius:9px;background:var(--card);overflow:hidden;cursor:pointer;color:var(--muted);font:inherit;font-size:.76rem;text-align:center}
.vt img{aspect-ratio:4/3;object-fit:cover;width:100%}.vt span{display:block;padding:3px 4px}.vt[aria-pressed=true]{border-color:var(--accent);color:var(--ink);font-weight:600}
.facts{display:grid;grid-template-columns:auto 1fr;gap:0 18px;margin:14px 0 0;font-size:.95rem}
.facts div{display:contents}.facts dt{color:var(--muted);padding:7px 0;border-bottom:1px solid var(--line)}.facts dd{margin:0;padding:7px 0;border-bottom:1px solid var(--line)}
.facts .unk{color:var(--muted);font-style:italic}.facts small{display:block;color:var(--muted);font-size:.76rem;font-style:normal}
.byline{font-size:.86rem;color:var(--muted)}
ol.decoder{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
ol.decoder li{display:grid;grid-template-columns:34px 1fr;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);padding:12px 14px;scroll-margin-top:20px}
ol.decoder li.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
ol.decoder .n{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:700 .82rem/28px var(--sans);text-align:center}
ol.decoder p{margin:.15em 0 0;max-width:none;font-size:.97rem}ol.decoder strong{font-family:var(--serif);font-size:1.05rem;font-weight:560}
sup.ref{font-size:.7em}sup.ref a{text-decoration:none;font-weight:600}
.sources ol{padding-left:1.3em}.sources li{margin:.3em 0;font-size:.93rem}.sources li:target{background:var(--warn-bg);border-radius:6px}
.also{display:flex;flex-wrap:wrap;gap:8px}.also a{background:var(--card);border:1px solid var(--line);border-radius:99px;padding:6px 14px;text-decoration:none;font-size:.92rem;color:var(--ink)}.also a small{color:var(--muted)}
.gallery-x{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0 0 16px}.gallery-x img{border-radius:8px;aspect-ratio:4/3;object-fit:cover;width:100%;border:1px solid var(--line)}
/* cards */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:16px 0}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s}
.card:hover{transform:translateY(-3px)}.card img{aspect-ratio:4/3;object-fit:contain;width:100%;background:var(--paper-2)}
.card .t{padding:11px 14px 14px;font-weight:600;line-height:1.3;display:block}.card .t small{display:block;color:var(--muted);font-weight:400;margin-top:2px}
.tile{padding:20px 18px;min-height:132px;display:flex;flex-direction:column;justify-content:space-between;background:var(--paper-2)}
.tile b{font:600 2.2rem/1 var(--serif);color:var(--accent)}
/* home */
.hero-home{padding:26px 0 8px}.hero-home h1{max-width:20ch;font-size:clamp(2.1rem,6vw,3.6rem)}.hero-home .lede{margin:.4em 0 1.2em}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.steps div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.steps b{font-family:var(--serif);font-size:1.1rem;font-weight:560;display:block;margin-bottom:4px}
/* hub */
.tools{background:var(--paper);padding:12px 0 10px;border-bottom:1px solid var(--line);margin:18px 0 6px}@media(min-width:861px){.tools{position:sticky;top:0;z-index:20}}
.tools .row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tools input[type=search]{flex:1 1 220px;max-width:380px;padding:10px 16px;border:1px solid var(--line-2);border-radius:99px;background:var(--card);color:var(--ink);font:inherit}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:99px;overflow:hidden}.seg button{background:var(--card);color:var(--muted);border:0;padding:8px 14px;font:inherit;font-size:.88rem;cursor:pointer}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.progress{display:flex;align-items:center;gap:10px;margin-top:9px;font-size:.9rem;color:var(--muted)}
.bar2{flex:0 1 240px;height:8px;background:var(--paper-2);border-radius:99px;overflow:hidden}.bar2 i{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}
.az{display:flex;flex-wrap:wrap;gap:4px;margin:9px 0 0;font-size:.82rem}.az a{padding:2px 8px;border-radius:6px;background:var(--paper-2);color:var(--ink);text-decoration:none}
.sec h2{margin:1.5em 0 .45em;scroll-margin-top:130px}
ul.rows{list-style:none;padding:0;margin:0;columns:2 300px;column-gap:30px}ul.rows li{break-inside:avoid;padding:4px 0}
.rows li{display:flex;align-items:center;gap:8px}.rows label{display:flex;gap:9px;align-items:center;cursor:pointer;line-height:1.3;flex:1;min-width:0}
.rows input{accent-color:var(--teal);width:18px;height:18px;flex:none}.rows .n{display:flex;align-items:center;gap:9px;min-width:0}.rows a{font-weight:600}
.rows .th{width:44px;height:33px;border-radius:5px;object-fit:cover;flex:none;border:1px solid var(--line)}
.rows .w{background:none;border:0;padding:4px;cursor:pointer;color:var(--line-2);flex:none;line-height:0}.rows .w svg{width:18px;height:18px}.rows .w[aria-pressed=true]{color:var(--accent)}.rows .w[aria-pressed=true] svg{fill:currentColor}
.rows li.owned .n{text-decoration:line-through;text-decoration-color:var(--line-2);color:var(--muted)}
.rows li.hide,.sec.hide{display:none}.rows li.flash{background:var(--warn-bg);border-radius:8px}
/* footer, bars */
footer.site{border-top:1px solid var(--line);background:var(--card);padding:30px 0 90px;font-size:.88rem;color:var(--muted)}
footer.site a{color:var(--muted)}footer.site p{max-width:78ch;margin:.5em 0}.foot-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px}
.buybar{display:none}
@media(max-width:860px){.buybar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line-2);padding:10px 16px calc(10px + env(safe-area-inset-bottom));z-index:40}.buybar .btn{flex:1;justify-content:center;padding:11px 8px}}
@media(max-width:560px){body{font-size:16px}main{padding-top:14px}ul.rows{columns:1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{header.site,.tools,.buybar,.buy,.toggles,.search,footer.site .foot-links{display:none!important}body{background:#fff;color:#000;font-size:11pt}ul.rows{columns:3 150px}.rows li.owned .n{text-decoration:line-through}a{color:#000;text-decoration:none}}
