:root{--ink:#0e2f2e;--ink-2:#1c4745;--mist:#f2f5f3;--paper:#fff;--line:#d5dedb;--muted:#566664;--gold:#e8a317;--plum:#4a2342;--danger:#a3341f;--ok:#1d6b45;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:ui-sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--mist);color:var(--ink);font:16px/1.6 var(--sans);margin:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 .5em;font-weight:700;line-height:1.12}h1{font-size:clamp(2rem,5vw,3.4rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}h3{font-size:1.15rem}p{margin:0 0 1em}a{color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.wrap{width:min(1080px,100% - 32px);margin:0 auto}.narrow{width:min(680px,100% - 32px);margin:0 auto}.site-header{background:var(--ink);color:#fff}.site-header .wrap{justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.brand{font-family:var(--serif);font-size:1.25rem;font-weight:700;text-decoration:none}.site-header nav{gap:20px;font-size:.95rem;display:flex}.site-header nav a{opacity:.85;text-decoration:none}.site-header nav a:hover{opacity:1;text-decoration:underline}.site-footer{background:var(--ink);color:#cfdcd9;margin-top:72px;padding:36px 0;font-size:.92rem}.site-footer a{color:#fff}.hero{padding:56px 0 24px}.hero p.lede{max-width:38ch;color:var(--ink-2);font-size:1.15rem}.shelf{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-items:end;gap:28px;padding:24px 0 8px;display:grid}.shelf a.book{text-decoration:none;display:block}.shelf a.book:nth-child(2n) .cover{margin-bottom:14px}.price-tag{margin-top:10px;font-weight:600}.price-tag small{color:var(--muted);font-weight:400}.cover{aspect-ratio:2/3;color:#fff;border-radius:3px 8px 8px 3px;flex-direction:column;justify-content:space-between;padding:22px 20px 20px 26px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px #0003,0 14px 24px -12px #0e2f2e73}.cover:before{content:"";background:#00000038;width:9px;position:absolute;inset:0 auto 0 0}.cover .t{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:700;line-height:1.05}.cover .s{opacity:.85;max-width:22ch;font-size:.78rem}.cover.green{background:var(--ink-2)}.cover.plum{background:var(--plum)}.cover.ink{background:#1b1b1f}.cover.gold{background:var(--gold);color:var(--ink)}.cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.book-page{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:48px;padding:48px 0 0;display:grid}.book-page .cover{position:sticky;top:24px}.subtitle{font-family:var(--serif);color:var(--ink-2);margin-bottom:1.2em;font-size:1.2rem}.learn{margin:0 0 1.5em;padding-left:1.1em}.learn li{margin-bottom:.4em}.buy{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin-top:32px;padding:24px}.buy .amount{font-family:var(--serif);font-size:2.2rem;font-weight:700;line-height:1}.field{margin-bottom:14px;display:block}.field span{margin-bottom:4px;font-size:.88rem;font-weight:600;display:block}.field small{color:var(--muted);font-weight:400}input[type=email],input[type=text],input[type=tel],input[type=password],select{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #9fb0ad;border-radius:6px;padding:11px 12px}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.xsell{border:1px dashed var(--ink-2);background:#f8faf9;border-radius:8px;margin:6px 0 16px;padding:14px}.xsell label{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.xsell input{width:18px;height:18px;accent-color:var(--ink-2);margin-top:5px}.xsell b{font-family:var(--serif)}.btn{font:inherit;background:var(--gold);color:var(--ink);cursor:pointer;border:0;border-radius:8px;padding:14px 26px;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(.95)}.btn[disabled]{opacity:.6;cursor:wait}.btn.block{text-align:center;width:100%}.btn.quiet{border:1px solid var(--ink);background:0 0}.fine{color:var(--muted);font-size:.85rem}.err{color:var(--danger);margin:0 0 12px;font-weight:600}.panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin:24px 0;padding:24px}.dl{border-top:1px solid var(--line);align-items:center;gap:16px;padding:14px 0;display:flex}.dl:first-of-type{border-top:0}.dl .mini{flex:none;width:44px}.dl .grow{flex:1}.badge{background:#e5ece9;border-radius:99px;padding:2px 9px;font-size:.78rem;font-weight:700;display:inline-block}.badge.paid{color:var(--ok);background:#d7efe2}.badge.pending{color:#7a5200;background:#fdeec8}.badge.expired,.badge.review{color:var(--danger);background:#f6dcd6}.badge.refunded{background:#e3e3ea}.admin{padding:28px 0 0}.admin nav{border-bottom:1px solid var(--line);align-items:center;gap:18px;margin-bottom:24px;padding-bottom:12px;display:flex}.admin nav a{font-weight:600;text-decoration:none}.admin nav a.on{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:3px;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.admin nav form{margin-left:auto}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px 16px}.stat b{font-family:var(--serif);font-size:1.7rem;line-height:1.1;display:block}.stat span{color:var(--muted);font-size:.85rem}.tablewrap{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}th{white-space:nowrap;background:#f8faf9;font-weight:700}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.bars{align-items:flex-end;gap:3px;height:90px;padding:8px 0;display:flex}.bars i{background:var(--ink-2);border-radius:2px 2px 0 0;flex:1;min-height:2px}.cols{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-bottom:24px;display:grid}.filters{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.filters a{border:1px solid var(--line);background:#fff;border-radius:99px;padding:5px 12px;font-size:.88rem;text-decoration:none}.filters a.on{background:var(--ink);color:#fff;border-color:var(--ink)}@media (max-width:760px){.book-page{grid-template-columns:1fr;gap:28px}.book-page .cover{max-width:220px;position:static}.row2{grid-template-columns:1fr}.site-header nav{gap:14px}}@media (prefers-reduced-motion:no-preference){.btn{transition:filter .15s}}
