*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--surface);color:var(--ink);font:16px/1.65 var(--body)}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.1;text-wrap:balance;margin:0 0 24px;white-space:pre-line}h1{font-size:clamp(48px,6.5vw,96px)}h2{font-size:clamp(36px,4vw,60px)}h3{font-size:30px}p{max-width:65ch;margin:0 0 24px;text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;object-fit:cover;height:auto}picture{display:block}figure{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ring);outline-offset:5px}button:disabled{opacity:.45;cursor:wait}.wrap{padding:88px var(--gutter);max-width:var(--wrap);margin:auto}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;border:1px solid var(--accent);color:var(--paper);background:transparent;font-weight:500;white-space:nowrap}.text-link{display:inline-flex;min-height:44px;align-items:center;color:var(--accent);border-bottom:1px solid var(--accent);width:fit-content}.site-header{display:flex;align-items:center;justify-content:space-between;padding:20px var(--gutter);gap:32px;min-height:96px;background:var(--surface-deep);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:27px;line-height:1.1;min-width:0;max-width:44%}.brand>span{overflow-wrap:anywhere}.brand svg{flex-shrink:0;color:var(--accent)}.brand-sub{display:block;font:11px/1.8 var(--body);margin-top:5px;letter-spacing:.05em}.site-header nav{display:flex;align-items:center;gap:28px;font-size:13px}.site-header nav a[aria-current]{color:var(--accent)}.site-header nav .button{padding:8px 18px}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:24px;padding:12px;background:var(--paper);color:var(--ink-dark);z-index:100}.skip:focus{top:12px}.site-footer{padding:64px var(--gutter) 24px;background:var(--surface-deep);display:grid;grid-template-columns:2fr 1fr;gap:32px}.footer-brand{font:32px var(--display)}.site-footer p{margin-top:16px;white-space:pre-line;font-size:14px;color:var(--muted)}.site-footer>div:nth-child(2){display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:12px;color:var(--muted)}.mobile-book{display:none}[hidden]{display:none!important}.filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.filter button{padding:10px 18px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--paper)}.filter button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.empty-state{padding:32px;border:1px solid var(--line)}@media(hover:hover) and (pointer:fine){a:hover{color:var(--accent)}.button:hover{background:var(--paper);color:var(--ink-dark)}button:hover{border-color:var(--accent)}}@media(max-width:1000px){.site-header nav{gap:14px}.brand{font-size:24px}.site-header{gap:16px}}@media(max-width:800px){.site-header{min-height:80px;padding:16px 24px}.brand{max-width:78%;font-size:24px}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;color:var(--paper);min-height:44px;padding:8px 12px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface-deep);padding:24px;align-items:stretch;flex-direction:column;font-size:16px;gap:8px}.site-header nav.open{display:flex}.site-header nav a{padding:8px 0;min-height:44px}.wrap{padding:64px 24px}.site-footer{padding:48px 24px 100px;grid-template-columns:1fr}.footer-bottom{flex-direction:column}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;min-height:54px;align-items:center;justify-content:center;background:var(--paper);color:var(--ink-dark);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}h1{font-size:52px}h2{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(prefers-contrast:more){:root{--muted:#ded4c4;--line:#97816a}}
