/* R2 discovery composition. Shared interaction/token files govern controls and lettering. */
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0}a{color:var(--fc-link);text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}.skip-link{position:absolute;top:-90px;left:16px;background:var(--fc-surface);padding:16px;z-index:100}.skip-link:focus{top:8px}h1,h2,h3,p{margin-top:0}
.shelves,.discovery,footer{max-width:1280px;margin:0 auto;padding:56px clamp(24px,4vw,52px)}.section-heading{max-width:700px;margin-bottom:32px}body[data-fc-library] .section-heading h2{font:700 clamp(30px,3.3vw,46px)/1.12 var(--fc-type-display);letter-spacing:-.025em;margin-bottom:18px}.section-heading>p{color:var(--fc-text-muted);font-size:17px;line-height:1.65}.section-heading>.eyebrow{font-size:13px;margin-bottom:14px}
.shelf-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.shelf-card{display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;min-width:0;border:1.5px solid var(--fc-border-subtle);border-radius:24px;text-decoration:none;background:var(--fc-surface);color:var(--fc-text);transition:transform 180ms cubic-bezier(.2,.8,.2,1),border-color 180ms,box-shadow 180ms}.shelf-copy{padding:27px 26px 2px;z-index:1;flex:1}.shelf-copy h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font:700 25px/1.16 var(--fc-type-display);letter-spacing:-.02em;margin-bottom:14px}.shelf-copy h3 span{font-family:var(--fc-type-body);transition:transform 180ms}.shelf-teal h3{color:var(--fc-display-teal)}.shelf-ink h3{color:var(--fc-text)}.shelf-coral h3{color:#b83058}[data-theme=dark] .shelf-coral h3{color:#ff9bb8}.shelf-copy p{font-size:15px;line-height:1.6;color:var(--fc-text-muted);margin:0}.shelf-art{display:block;position:relative;width:100%;aspect-ratio:4/3;z-index:0;margin-top:0;background:var(--fc-canvas)}.shelf-art:before{content:'';position:absolute;inset:0 0 auto;height:56px;z-index:1;background:linear-gradient(var(--fc-surface),transparent);pointer-events:none}.shelf-art img{display:block;width:100%;height:100%;object-fit:contain}.shelf-card:hover{border-color:var(--fc-link);box-shadow:0 8px 20px #0f2d4614;transform:translateY(-3px);text-decoration:none}.shelf-card:hover h3 span{transform:translateX(3px)}.shelf-card:active{transform:translateY(1px);box-shadow:none}
.discovery{background:var(--fc-surface-soft);border:1px solid var(--fc-border-subtle);border-radius:32px;padding-top:44px;margin-block:20px 56px;scroll-margin-top:24px}#search-form label{display:block;font-weight:700;font-size:15px}#search-form input,#search-form select{display:block;width:100%;margin-top:8px;padding:14px 16px;border:1.5px solid var(--fc-border-control);border-radius:12px;background:var(--fc-surface);color:var(--fc-text);font-size:16px;min-height:52px}#search-form select{padding-right:48px}#search-form input:not(:placeholder-shown),#search-form select:has(option:checked:not([value=all]):not([value=recommended])){background:var(--fc-selected-bg);border-color:var(--fc-link)}#scope-note{font-size:14px;line-height:1.6;color:var(--fc-text-muted);font-weight:400;margin-top:9px;max-width:72ch}.discovery-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:end;margin-top:20px}.clear-controls{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px}.clear-controls button,.discovery-empty button,#results>button{min-height:44px;color:var(--fc-link);background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;font-weight:600;padding:8px 0}.clear-controls button:hover,.discovery-empty button:hover{text-decoration-thickness:2px}
#status{margin:24px 0 0;font-size:14px;color:var(--fc-text-muted)}.discovery-result{padding:27px 0;border-bottom:1px solid var(--fc-border-subtle);display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:30px}.result-collection{font-size:13px;font-weight:700;color:var(--fc-text-accent);grid-row:1/4}.discovery-result h3{font-size:23px;line-height:1.3;margin-bottom:10px}.discovery-result h3 a{color:var(--fc-text);text-decoration:none}.discovery-result h3 a:hover{text-decoration:underline;text-decoration-color:var(--fc-link)}.result-summary{margin:0 0 10px;color:var(--fc-text-muted);line-height:1.6;font-size:16px}.result-category{font-size:13px;margin:0;color:var(--fc-text-muted)}#more{margin-top:28px}.discovery-empty{padding:28px 0;max-width:650px;min-height:240px}.fc-library-empty-art{float:right;object-fit:contain;width:180px;height:180px;margin:0 0 16px 24px}.small{font-size:13px;color:var(--fc-text-muted);max-width:850px}.noscript{padding:24px}.fc-feedback{pointer-events:none}
@media(max-width:1000px){.shelf-list{gap:18px}.shelf-copy{padding:22px 20px 0}.shelf-copy h3{font-size:22px}}
@media(max-width:800px){.shelf-list{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery{border-radius:0;border-inline:0}.discovery-controls{grid-template-columns:1fr 1fr}.discovery-controls>button{grid-column:1/-1;justify-self:start}.discovery-result{display:block}.result-collection{margin-bottom:8px}.shelves,.discovery,footer{padding:40px 24px}.section-heading{margin-bottom:26px}}
@media(max-width:500px){.shelf-list{grid-template-columns:1fr;gap:14px}.shelf-card{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center;border-radius:20px}.shelf-copy{padding:22px 0 22px 20px}.shelf-copy h3{font-size:22px;gap:8px;margin-bottom:10px}.shelf-copy h3 span{display:none}.shelf-copy p{font-size:14px}.shelf-art{width:110px;aspect-ratio:4/3;margin:0;align-self:center;background:transparent}.shelf-art:before{inset:0 auto 0 0;height:auto;width:16px;background:linear-gradient(to right,var(--fc-surface),transparent)}.shelf-art img{mask-image:linear-gradient(to right,transparent,#000 12px)}.discovery-controls{grid-template-columns:1fr}.discovery-controls>button{grid-column:auto}.clear-controls{gap:14px}.fc-library-empty-art{float:none;display:block;width:150px;height:150px;margin:0 0 20px}.section-heading h2{max-width:20ch}}
@media(prefers-reduced-motion:reduce){.shelf-card,.shelf-copy h3 span{transition:none!important;transform:none!important}}:is([data-motion=off],[data-motion=reduced]) :is(.shelf-card,.shelf-copy h3 span){transition:none!important;transform:none!important}
[data-theme=dark] .fc-library-empty-art{background:radial-gradient(ellipse at 50% 68%,#39647b 0,transparent 68%);border-radius:24px}
/* The first visit offers a useful sample, not thirty rows from one source file. */
.results-intro{margin-top:32px;max-width:72ch}
.results-intro h3{font:700 26px/1.25 var(--fc-type-body);margin:0 0 12px}
.results-intro p{font-size:16px;line-height:1.65;color:var(--fc-text-muted);margin:0}
.results-intro+#status{margin-top:18px}
#search::placeholder{color:var(--fc-text-muted);opacity:1}
.library-start-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.library-search-link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:700;color:var(--fc-link);text-underline-offset:4px}
#collections{scroll-margin-top:24px}
.starting-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px}
.starting-results .discovery-result{display:block;min-width:0;padding:25px 0}
.starting-results .result-collection{margin-bottom:8px}
.starting-results .result-summary{max-width:64ch}
@media(max-width:720px){.starting-results{display:block}.starting-results .discovery-result{padding:24px 0}}
