/* The public library uses the same paper, ink, copper and type as the homepage. */
.clear-systems .clear-system-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding-block:30px}
.clear-systems .clear-system-list li{font-size:28px;padding:0;margin:0;min-width:0}
.clear-system-list a{display:block;position:relative;padding-inline-end:24px}
.clear-system-list a>span:first-child{display:block;transition:color .2s}
.clear-system-list a:hover>span:first-child{color:var(--accent)}
.clear-system-list p{font-family:var(--sans);font-size:12px;line-height:1.8;color:var(--muted);margin-top:13px}
.system-feature-arrow{position:absolute;inset-inline-end:0;top:0;font-family:var(--sans);font-size:18px;color:var(--accent);transition:transform .2s}
.clear-system-list a:hover .system-feature-arrow{transform:translate(2px,-2px)}
.catalog-page .site-header{position:relative;background:var(--ink)}
.catalog-page .catalog-main{min-height:60vh}
.catalog-intro{padding-top:28px;padding-bottom:20px}
.catalog-intro h1,.system-intro h1{font-size:clamp(52px,6.7vw,100px);letter-spacing:-.04em;line-height:1.03;max-width:960px;text-wrap:balance}
.catalog-intro h1{font-size:clamp(36px,3.6vw,50px);max-width:1100px}
.catalog-intro .catalog-lead{font-size:13px;line-height:1.7;margin-top:10px;max-width:1000px}
.catalog-lead{font-size:16px;color:var(--muted);max-width:630px;line-height:1.9;margin-top:25px}
.catalog-intro .eyebrow{margin-bottom:10px}
.catalog-browser{padding-top:0;padding-bottom:80px}
.catalog-controls{padding:12px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 16px;align-items:end}
.catalog-search{grid-column:span 5}
.catalog-controls label{display:grid;gap:4px;font-size:10px;line-height:1.4;letter-spacing:.04em;min-width:0}
.catalog-controls input:not([type="radio"]),.catalog-controls select{font:inherit;letter-spacing:normal;font-size:13px;width:100%;height:36px;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:6px 10px;min-width:0}
.catalog-controls input:focus-visible,.catalog-controls select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.catalog-controls input::placeholder{color:var(--muted)}
.catalog-filters{display:grid;grid-column:span 8;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.catalog-results-bar{grid-column:span 4;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:36px;font-size:11px;color:var(--muted)}
.catalog-results-bar p{margin:0}
.catalog-results-bar>[data-catalog-count]{margin-inline-start:auto}
.catalog-controls .catalog-module-filter{display:flex;align-items:center;gap:7px;min-height:36px;border:1px solid var(--accent);padding:6px 9px;color:var(--accent);font-size:11px;letter-spacing:normal;cursor:pointer}
.catalog-controls .catalog-module-filter input{width:14px;height:14px;padding:0;flex-shrink:0;accent-color:var(--accent)}
.catalog-module-filter:has(input:checked){background:var(--accent);color:var(--paper)}
.catalog-module-filter:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}
.catalog-module-badge{display:block;width:fit-content;margin-top:14px;font-size:10px;line-height:1.6;color:var(--accent)}
.catalog-reset{background:transparent;padding:8px 0;color:var(--accent);font-size:12px;display:flex;gap:14px;align-items:center}
.catalog-reset span{font-size:20px;line-height:1}
.catalog-entry{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);gap:32px;padding:34px 20px 38px;border-top:1px solid var(--line);align-items:start;cursor:pointer;transition:background .2s}
.catalog-entry:hover{background:var(--paper-deep)}
.catalog-entry h2{transition:color .2s}
.catalog-entry:hover h2{color:var(--accent)}
.catalog-entry-link::after{content:'';position:absolute;inset:0}
.catalog-entry-link:focus-visible{outline:none}
.catalog-entry-link:focus-visible::after{outline:2px solid var(--accent);outline-offset:3px}
.catalog-number{font-size:11px;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:3px;direction:ltr}
.catalog-meta{font-size:10px;line-height:1.6;color:var(--muted);margin-bottom:12px}
.catalog-entry h2{font-size:clamp(29px,3vw,43px);line-height:1.1;letter-spacing:-.025em;overflow-wrap:anywhere}
.catalog-logo-title{display:flex;align-items:center;gap:16px;min-width:0}
.catalog-logo-title img{display:block;width:132px;height:72px;object-fit:contain;flex:0 0 132px}
.catalog-logo-title img.catalog-logo-on-ink{background:var(--ink);padding:6px;box-sizing:border-box}
.catalog-logo-title span{min-width:0}
.catalog-logo-credits{margin-top:28px;border-top:1px solid var(--line);padding-top:18px;font-size:11px;line-height:1.8;color:var(--muted)}
.catalog-logo-credits summary{cursor:pointer;color:var(--ink);width:fit-content;min-height:32px}
.catalog-logo-credits section{margin-top:20px;max-width:90ch}
.catalog-logo-credits h3{font:inherit;font-weight:600;color:var(--ink);margin-bottom:8px}
.catalog-logo-credit-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.catalog-logo-credit-links .text-link{font-size:11px;margin-block:8px}
.catalog-logo-credits pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}
@media(max-width:600px){.catalog-logo-title{gap:12px}.catalog-logo-title img{width:112px;height:64px;flex-basis:112px}}
.catalog-genre{font-size:11px;color:var(--muted);margin-top:14px}
.catalog-game-examples{font-size:11px;line-height:1.7;margin-top:8px;color:var(--ink)}
.catalog-entry-summary>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:48ch}
.catalog-entry .text-link{font-size:11px;margin-top:18px;gap:16px}
.catalog-empty{padding:65px 0 80px;border-top:1px solid var(--line)}
.catalog-empty h2{font-size:38px;margin-bottom:16px}
.catalog-empty>p{color:var(--muted);font-size:14px}
.catalog-pagination{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-block:28px;font-size:12px}
.catalog-pagination button{background:transparent;min-height:44px;padding:8px 14px;border:1px solid var(--line)}
.catalog-pagination button:hover:not(:disabled){background:var(--ink);color:var(--paper)}
.catalog-pagination button:disabled{opacity:.35;cursor:default}
.catalog-reference-note{font-size:11px;line-height:1.9;color:var(--muted);max-width:90ch;margin-top:28px}
.system-intro{padding-top:24px;padding-bottom:24px}
.system-intro h1{font-size:clamp(36px,3.6vw,50px);line-height:1.08;max-width:1100px;overflow-wrap:anywhere}
.system-title{display:flex;align-items:center;gap:20px}
.system-title>span{min-width:0}
.system-title-logo{display:block;width:220px;height:100px;object-fit:contain;flex:0 0 220px}
.system-title-logo.catalog-logo-on-ink{background:var(--ink);padding:8px;box-sizing:border-box}
@media(max-width:600px){.system-title{gap:12px}.system-title-logo{width:176px;height:84px;flex-basis:176px}}
.catalog-back{display:flex;width:fit-content;font-size:11px;line-height:1.6;margin:0 0 14px;padding:4px 0;min-height:28px;gap:10px}
.system-intro>.eyebrow{margin-bottom:8px}
.system-intro .catalog-lead{font-size:13px;line-height:1.7;margin-top:10px;max-width:1000px}
.system-intro-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:14px}
.system-intro-status .catalog-availability,.system-intro-status .catalog-module-badge{margin:0}
.system-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.7fr);gap:14px 24px;border-top:1px solid var(--line);padding-top:14px;margin:18px 0 0}
.system-facts>div{min-width:0}
.system-facts dt{font-size:10px;color:var(--muted)}
.system-facts dd{margin:4px 0 0;font-size:12px;overflow-wrap:anywhere}
.system-facts .text-link{font-size:inherit;line-height:1.6;gap:10px;margin:0;padding:0 0 4px;min-height:24px}
.system-reading{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);padding-top:12px;padding-bottom:80px}
.system-related-games{padding-block:10px 40px}
.system-related-games h2{font-size:clamp(30px,3.4vw,42px);max-width:850px}
.system-related-games .catalog-reference-note{margin-top:14px;max-width:110ch}
.system-related-games ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;list-style:none;margin:24px 0 0;padding:0}
.system-related-games li{padding-block:16px;border-top:1px solid var(--line);min-width:0}
.system-related-games h3{font-size:24px;line-height:1.3}
.system-related-games .text-link{font:inherit;gap:12px}
.system-related-games li p{font-size:10px;color:var(--muted);margin-top:8px}
@media(max-width:760px){.system-related-games ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.system-related-games h3{font-size:22px}}
@media(max-width:420px){.system-related-games ul{grid-template-columns:1fr}.system-related-games li{padding-block:12px}}
.system-prose section{border-top:1px solid var(--line);padding-top:28px}
.system-prose section+section{margin-top:44px}
.system-prose .eyebrow{margin-bottom:16px}
.system-prose h2{font-size:clamp(36px,4vw,54px);line-height:1.15;margin-bottom:23px}
.system-prose p:not(.eyebrow){font-size:15px;line-height:2;color:var(--muted);max-width:65ch}
.system-recast{align-self:start;background:var(--paper-deep);padding:32px}
.system-recast .eyebrow{margin-bottom:18px}
.system-recast h2{font-size:38px;margin-bottom:22px}
.system-recast>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:20px}
.system-recast .button{margin:4px 0 18px;gap:25px}
.system-recast>p.catalog-beta{font-size:10px}
.system-recast>.text-link{font-size:11px}
.system-recast-request{border-block-start:2px solid var(--accent)}
.system-recast-request>.button{max-width:100%;min-height:46px;padding:12px 16px;margin:8px 0 0;gap:20px;line-height:1.5}
.system-recast-request>.button>span{flex-shrink:0}
.system-recast-request>.button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.system-example{display:grid;grid-template-columns:minmax(100px,230px) minmax(0,1fr);gap:clamp(28px,6vw,90px);align-items:center;border-block:1px solid var(--line);padding-block:55px;background:var(--paper-deep)}
.system-example-art{display:block;max-width:210px;filter:drop-shadow(3px 9px 12px #17191326);transition:transform .25s}
.system-example-art:hover{transform:translateY(-4px)}
.system-example-art img{width:100%;height:auto}
.system-example h2{font-size:clamp(36px,4.5vw,64px);max-width:650px;margin-bottom:20px}
.system-example p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:20px}
.system-example .text-link{font-size:12px}
.system-sources{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,90px);padding-block:65px}
.system-sources h2{font-size:40px;margin-bottom:28px}
.system-sources h3{font-size:30px;margin-bottom:20px}
.system-sources ul{list-style:none;margin:0;padding:0}
.system-sources .text-link{font-size:12px;display:flex;width:fit-content;margin-bottom:16px;gap:12px}
.system-sources .catalog-reference-note{margin-top:18px}
[dir="rtl"] .catalog-back>span{transform:rotate(180deg)}
@media(min-width:1000px){.catalog-intro h1{animation:catalog-enter .55s ease both}.catalog-intro .catalog-lead{animation:catalog-enter .65s .06s ease both}}
@keyframes catalog-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.catalog-entry{gap:24px;grid-template-columns:30px minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:760px){
 .clear-systems .clear-system-list{grid-template-columns:1fr;gap:24px;padding-block:24px}
 .clear-systems .clear-system-list li{font-size:28px}
 .clear-system-list p{margin-top:7px}
 .catalog-intro{padding-top:24px;padding-bottom:16px}
 .system-intro h1{font-size:36px}
 .catalog-intro h1{font-size:36px}
 .catalog-lead{font-size:14px;margin-top:20px}
 .catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}

 .catalog-entry{grid-template-columns:22px minmax(0,1fr);gap:12px 18px;padding:26px 12px}
 .catalog-entry h2{font-size:32px}.catalog-meta{font-size:10px;margin-bottom:8px}
 .catalog-entry-summary{grid-column:2}.catalog-entry-summary>p{font-size:13px;max-width:none}
 .catalog-genre{margin-top:10px}.catalog-entry .text-link{margin-top:12px}
 .catalog-number{font-size:10px}
 .catalog-back{margin-bottom:12px}
 .system-intro{padding-top:20px;padding-bottom:20px}
 .system-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin-top:16px;padding-top:14px}
 .system-reading{grid-template-columns:1fr;gap:35px;padding-bottom:45px}
 .system-prose h2{font-size:38px}.system-prose p:not(.eyebrow){font-size:14px}
 .system-recast{padding:26px}
 .system-example{grid-template-columns:100px minmax(0,1fr);gap:24px;padding-block:32px}
 .system-example .eyebrow{margin-bottom:13px}.system-example h2{font-size:30px;margin-bottom:14px}
 .system-example .text-link{font-size:11px}.system-example p:not(.eyebrow){font-size:11px;margin-bottom:14px}
 .system-sources{grid-template-columns:1fr;gap:35px;padding-block:40px}
}
@media(prefers-reduced-motion:reduce){.catalog-page *,.clear-system-list *{animation:none!important;transition:none!important}}
.catalog-availability{font-size:10px;line-height:1.8;color:var(--muted);margin-top:12px}
.catalog-availability.is-available{color:var(--accent)}
.system-intro-status .catalog-availability{font-size:11px}


.catalog-support{grid-column:span 7;min-width:0;margin:0;padding:0;border:0}
.catalog-support legend{font-size:10px;line-height:1.4;letter-spacing:.04em;padding:0;margin-bottom:4px}
.catalog-support-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}
.catalog-support label{display:flex;position:relative;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 10px;font-size:12px;line-height:1.35;letter-spacing:normal;cursor:pointer;text-align:center;transition:background .15s,color .15s}
.catalog-support label+label{border-inline-start:1px solid var(--line)}
.catalog-support input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.catalog-support label:has(input:checked){background:var(--ink);color:var(--paper)}
.catalog-support label:has(input[value="available"]:checked){background:var(--accent);color:#fff5e8}
.catalog-support label:hover:not(:has(input:checked)){background:var(--paper-deep)}
.catalog-support label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px;z-index:1}
.catalog-support-count{font-size:10px;opacity:.7;font-variant-numeric:tabular-nums}
@media(max-width:900px){.catalog-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.catalog-search,.catalog-support,.catalog-filters,.catalog-results-bar{grid-column:1/-1}.catalog-support-options{max-width:none}.catalog-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-results-bar{justify-content:flex-start}}
@media(max-width:760px){.catalog-controls{padding-block:10px;gap:10px}.catalog-controls input:not([type="radio"]),.catalog-controls select{height:44px;font-size:16px}.catalog-support label{min-height:42px;font-size:11px;padding:8px 6px;gap:5px}.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.catalog-controls .catalog-module-filter{min-height:44px;font-size:12px}.catalog-controls .catalog-module-filter input{width:16px;height:16px}.catalog-intro .catalog-lead{font-size:12px}}
.catalog-license-state{font-size:10px;color:var(--accent);margin-top:5px}
.catalog-language-note{font-size:11px!important;color:var(--accent)!important;margin-bottom:14px}
.system-license{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;border-top:1px solid var(--line);padding-block:40px}
.system-license h2{font-size:38px;margin-bottom:18px}
.system-license dl{margin:0;display:grid;gap:20px}
.system-license dt{font-size:10px;color:var(--accent);margin-bottom:6px}
.system-license dd{margin:0;font-size:12px;line-height:1.9;color:var(--muted)}
.catalog-license-status{font-size:12px;margin-bottom:12px}
@media(max-width:760px){.system-license{grid-template-columns:1fr;gap:24px;padding-block:30px}}
.system-module-publication{scroll-margin-top:30px}
.system-module-publication p:not(.eyebrow,.catalog-meta,.catalog-license-status,.catalog-language-note){font-size:13px;line-height:1.9;color:var(--muted)}
.system-module-publication h3{font:inherit;font-size:11px;color:var(--accent);margin:22px 0 8px}
.system-module-publication ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.system-module-publication .text-link{font-size:11px;overflow-wrap:anywhere}
