/* Genre Atlas v1.7 — shared components own surfaces; module owns layout and genre accents. */
.ga{max-width:1320px;margin-inline:auto;padding:4px 8px 64px;color:var(--rs-text-primary)}
.ga *{box-sizing:border-box}.ga [hidden]{display:none!important}
.ga a{text-decoration:none}.ga a:hover{text-decoration:none}
.ga-hero{padding:var(--rs-space-4);background:var(--rs-card-bg);border-color:var(--rs-card-border)}
.ga-eyebrow{color:var(--rs-text-muted);font-size:var(--rs-text-xs);font-weight:var(--rs-weight-semibold);letter-spacing:.09em;text-transform:uppercase}
.ga-hero h1{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.15;margin:var(--rs-space-2) 0 var(--rs-space-1)}
.ga-hero p{color:var(--rs-text-secondary);font-size:var(--rs-text-sm);margin:0 0 var(--rs-space-3)}
.ga-search-label{display:block;margin-bottom:var(--rs-space-2);font-size:var(--rs-text-sm);font-weight:var(--rs-weight-semibold)}
.ga-search-feedback:empty{display:none}.ga-search-feedback:not(:empty){margin:var(--rs-space-2) 0 0!important}
.ga-tabs{margin-top:var(--rs-space-3)}.ga .ga-tab{flex:none;border-radius:0;min-height:52px}
.ga-section{padding:var(--rs-space-5) 0;border-bottom:1px solid var(--rs-border-subtle)}
.ga-tab-panel>.ga-section:last-child{border-bottom:0}.ga-heading{margin-bottom:var(--rs-space-3)}
.ga-heading h2{margin:0 0 var(--rs-space-1);font-size:clamp(1.3rem,2vw,1.7rem)}
.ga-heading p{margin:0;color:var(--rs-text-secondary);font-size:var(--rs-text-sm)}
.ga-worlds,.ga-discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--rs-space-3)}
.ga-world{min-height:108px;display:grid;grid-template-columns:26px minmax(0,1fr);gap:2px var(--rs-space-3);align-content:center;color:var(--rs-text-primary)}
.ga-world-symbol{grid-row:1/4;color:var(--rs-info);font-size:1.5rem}.ga-world-name{font-weight:var(--rs-weight-semibold);font-size:1.1rem}
.ga-world-copy{grid-column:2;color:var(--rs-text-secondary);font-size:var(--rs-text-xs)}
.ga-world-count{grid-column:2;color:var(--rs-text-secondary);font-size:var(--rs-text-xs);margin-top:var(--rs-space-1)}
.ga-fusion-form{display:flex;align-items:end;gap:var(--rs-space-3);flex-wrap:wrap}
.ga-fusion-form label{display:grid;flex:1 1 240px;min-width:0;gap:var(--rs-space-2);font-size:var(--rs-text-sm);font-weight:var(--rs-weight-semibold)}
.ga-fusion-form .rs-select{display:block;width:100%;height:46px;min-height:46px;line-height:normal;padding:0 36px 0 12px;color:var(--rs-text-primary);font-size:14px;appearance:auto}
.ga-fusion-form option{background:var(--rs-surface-2);color:var(--rs-text-primary)}
.ga-fusion-form .rs-button{min-height:46px}.ga-plus{align-self:end;padding-bottom:8px;color:var(--rs-text-secondary);font-size:1.3rem}
.ga-result,.ga-related{margin-top:var(--rs-space-3)}.ga-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rs-space-2) var(--rs-space-4);list-style:none;padding:0}
.ga-books li{display:flex;justify-content:space-between;gap:var(--rs-space-3);border-bottom:1px solid var(--rs-border-subtle);padding:var(--rs-space-2) 0}
.ga-books span,.ga-note{color:var(--rs-text-secondary)}.ga-note{font-size:var(--rs-text-xs)}
.ga-chips{display:flex;flex-wrap:wrap;gap:var(--rs-space-2)}.ga-chip span{color:var(--rs-text-muted)}
.ga-panel h3{margin:0 0 var(--rs-space-3)}.ga-panel ol{list-style:none;margin:0;padding:0}
.ga-panel li{display:flex;justify-content:space-between;gap:var(--rs-space-3);padding:var(--rs-space-2) 0;border-bottom:1px solid var(--rs-border-subtle)}
.ga-panel li:last-child{border-bottom:0}.ga-panel li span{color:var(--rs-text-secondary);font-variant-numeric:tabular-nums}
.ga-filter{margin-bottom:var(--rs-space-3);flex-wrap:wrap}.ga-filter .rs-segmented__item.is-active{color:var(--rs-text-primary);background:var(--rs-surface-2)}
.ga-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--rs-space-2)}
.ga-directory a{display:flex;justify-content:space-between;gap:var(--rs-space-2);padding:var(--rs-space-3);border:1px solid var(--rs-border-subtle);border-radius:var(--rs-radius-md);color:var(--rs-text-primary);min-width:0}
.ga-directory a:hover{border-color:var(--rs-border-default);background:var(--rs-surface-2)}
.ga-directory a span{overflow-wrap:anywhere}.ga-directory small{color:var(--rs-text-muted)}
.ga-show-more{display:block;margin:var(--rs-space-4) auto 0}
.ga-taxonomy-toolbar{display:flex;align-items:end;gap:var(--rs-space-3);flex-wrap:wrap;margin:var(--rs-space-4) 0}
.ga-taxonomy-toolbar label{display:grid;flex:1 1 260px;gap:var(--rs-space-2);font-size:var(--rs-text-sm);font-weight:var(--rs-weight-semibold)}
.ga-taxonomy-stats,.ga-taxonomy-count,.ga-taxonomy-id,.ga-taxonomy-children,.ga-taxonomy-class{color:var(--rs-text-muted);font-size:var(--rs-text-xs)}
.ga-taxonomy-groups{display:grid;gap:var(--rs-space-3)}.ga-taxonomy-group{padding:0 var(--rs-space-4)}
.ga-taxonomy-group>summary{cursor:pointer;padding:var(--rs-space-3) 0;font-weight:var(--rs-weight-semibold)}
.ga-taxonomy-tree,.ga-taxonomy-tree ul{list-style:none;margin:0;padding:0 0 0 var(--rs-space-4);border-left:1px solid var(--rs-border-subtle)}
.ga-taxonomy-tree{border:0;padding-bottom:var(--rs-space-3)}.ga-taxonomy-tree li{margin:var(--rs-space-1) 0;padding-left:var(--rs-space-2)}
.ga-taxonomy-line{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--rs-space-2);padding:var(--rs-space-1) 0}
.ga-taxonomy-class{border:1px solid var(--rs-border-default);border-radius:var(--rs-radius-pill);padding:2px 7px}
.ga-taxonomy-warning{color:var(--rs-warning);font-size:var(--rs-text-xs)}
@media(max-width:900px){.ga-worlds,.ga-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ga-worlds,.ga-discovery-grid,.ga-directory,.ga-books{grid-template-columns:1fr}.ga-fusion-form{display:grid}.ga-plus{text-align:center;padding:0}.ga-hero{padding:var(--rs-space-3)}.ga-section{padding:var(--rs-space-4) 0}}

/* Compact, consistent vertical rhythm. */
.ga{padding-bottom:var(--rs-space-5)}
.ga-hero{padding:var(--rs-space-3) var(--rs-space-4);position:relative}
.ga-hero h1{font-size:clamp(1.55rem,2.5vw,2.1rem);margin:var(--rs-space-1) 0}
.ga-hero p{margin-bottom:var(--rs-space-2)}
.ga-search-label{margin-bottom:var(--rs-space-1)}
.ga-tabs{margin-top:var(--rs-space-2)}
.ga-section{padding:var(--rs-space-4) 0}
.ga-heading h2{font-size:clamp(1.2rem,1.9vw,1.5rem)}
.ga-world{min-height:98px;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}
.ga-world--fantasy{--ga-accent:#43aa78}
.ga-world--horror{--ga-accent:#d86b72}
.ga-world--science-fiction{--ga-accent:#64a4e6}
.ga-world--neutral{--ga-accent:var(--rs-info)}
.ga-world-symbol{color:var(--ga-accent)}
.ga-world:hover,.ga-world:focus-visible{border-color:var(--ga-accent);transform:translateY(-1px)}
.ga-world:focus-visible{outline:2px solid var(--ga-accent);outline-offset:3px}
.ga-world-name{font-size:1rem}.ga-world-copy{line-height:1.45}
.ga-discovery-switch{display:inline-flex;flex-wrap:wrap;margin-bottom:var(--rs-space-3)}
.ga-discovery-grid{grid-template-columns:minmax(0,1fr)}
.ga-discovery-grid>.ga-panel{max-width:100%;padding:var(--rs-space-3) var(--rs-space-4)}
.ga-panel h3{font-size:var(--rs-text-sm);color:var(--rs-text-secondary);margin-bottom:var(--rs-space-2)}
.ga-panel ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--rs-space-5)}
.ga-panel li{min-width:0;gap:var(--rs-space-2)}
.ga-panel li a{overflow-wrap:anywhere}
.ga-directory a{padding:var(--rs-space-2) var(--rs-space-3);align-items:center}
.ga-directory small{font-variant-numeric:tabular-nums;white-space:nowrap}
.ga-taxonomy-toolbar{align-items:end}
.ga-taxonomy-line{line-height:1.5}
.ga-taxonomy-tree ul{border-left-color:var(--rs-border-default)}
.ga-taxonomy-tree li{margin:0;padding-block:2px}
.ga-taxonomy-tree details>summary{cursor:pointer}
.ga-taxonomy-tree a:hover{text-decoration:underline}
.ga-taxonomy-id{font-variant-numeric:tabular-nums}
/* Suggestions are links, never a second search index or separate query. */
.ga-search-suggestions{position:absolute;z-index:20;left:var(--rs-space-4);right:var(--rs-space-4);padding:var(--rs-space-2);box-shadow:0 12px 28px #0005}
.ga-search-suggestions a{display:flex;justify-content:space-between;gap:var(--rs-space-3);padding:var(--rs-space-2);border-radius:var(--rs-radius-md);color:var(--rs-text-primary)}
.ga-search-suggestions a:hover,.ga-search-suggestions a:focus-visible{background:var(--rs-surface-2)}
.ga-search-suggestions small{color:var(--rs-text-muted);white-space:nowrap}
@media(max-width:620px){.ga-hero{padding:var(--rs-space-3)}.ga-panel ol{grid-template-columns:1fr}.ga-search-suggestions{left:var(--rs-space-3);right:var(--rs-space-3)}.ga-discovery-switch{display:flex}.ga-discovery-switch .rs-segmented__item{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){.ga-world{transition:none}.ga-world:hover{transform:none}}

/* v1.8: searchable Fusion selectors; shared input/card/button surfaces remain canonical. */
.ga-fusion-field{position:relative;display:grid;flex:1 1 260px;min-width:0;gap:var(--rs-space-2)}
.ga-fusion-field>label{font-size:var(--rs-text-sm);font-weight:var(--rs-weight-semibold)}
.ga-combo-input-wrap{position:relative}.ga-combo-input{width:100%;min-height:46px;padding-right:44px}
.ga-combo-toggle{position:absolute;right:4px;top:4px;bottom:4px;width:38px;border:0;background:transparent;color:var(--rs-text-secondary);cursor:pointer;font-size:22px}
.ga-combo-options{position:absolute;z-index:40;top:calc(100% - 1px);left:0;right:0;max-height:300px;overflow-y:auto;padding:var(--rs-space-2);box-shadow:0 12px 28px #0006}
.ga-combo-option{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:0;border-radius:var(--rs-radius-md);background:transparent;color:var(--rs-text-primary);text-align:left;cursor:pointer}
.ga-combo-option:hover,.ga-combo-option.is-active{background:var(--rs-surface-2)}
.ga-combo-option small{color:var(--rs-text-muted);white-space:nowrap}
.ga-combo-help{font-size:var(--rs-text-xs);color:var(--rs-text-muted)}.ga-combo-help:empty{display:none}
.ga-combo-input[aria-invalid="true"]{outline:2px solid var(--rs-warning)}
@media(max-width:620px){.ga-fusion-field{width:100%}.ga-combo-options{max-height:240px}}

/* v1.9 Genre Explorer. Shared cards, buttons and input styles remain canonical. */
.ga-explorer-shell{display:grid;gap:var(--rs-space-5);padding:var(--rs-space-5)}
.ga-explorer-selected,.ga-explorer-filter,.ga-explorer-books{display:grid;gap:var(--rs-space-3);min-width:0}
.ga-explorer-selected h3,.ga-explorer-books h3{margin:0;font-size:var(--rs-text-lg)}
.ga-explorer-chosen{display:flex;flex-wrap:wrap;gap:var(--rs-space-2)}
.ga-explorer-chip{min-height:34px}.ga-explorer-total{font-weight:700;color:var(--rs-text-primary)}
.ga-explorer-filter>label{font-weight:600}.ga-explorer-filter>.rs-input{width:100%}
.ga-explorer-facets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--rs-space-2)}
.ga-explorer-facet{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--rs-border-subtle);border-radius:var(--rs-radius-md);background:var(--rs-surface-1);color:var(--rs-text-primary);cursor:pointer;text-align:left}
.ga-explorer-facet:hover,.ga-explorer-facet:focus-visible{border-color:var(--rs-accent);background:var(--rs-surface-2)}
.ga-explorer-facet small{color:var(--rs-text-secondary);font-variant-numeric:tabular-nums}
.ga-explorer-books-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ga-explorer-book-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rs-space-2)}
.ga-explorer-book{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--rs-border-subtle);border-radius:var(--rs-radius-md);color:var(--rs-text-primary);text-decoration:none}
.ga-explorer-book:hover{background:var(--rs-surface-2)}.ga-explorer-book-icon{width:36px;height:48px;display:grid;place-items:center;background:var(--rs-surface-2);border-radius:4px}
.ga-explorer-book-title{display:grid;gap:4px;min-width:0}.ga-explorer-book-title strong{overflow-wrap:anywhere}.ga-explorer-book-title small{color:var(--rs-text-secondary)}
@media(max-width:700px){.ga-explorer-facets{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-explorer-book-list{grid-template-columns:1fr}}
@media(max-width:420px){.ga-explorer-facets{grid-template-columns:1fr}.ga-explorer-shell{padding:var(--rs-space-3)}}

/* v2.0: Genre Explorer visual refinement. All surfaces inherit shared Design System tokens. */
.ga-explorer-shell{gap:0;padding:0;overflow:hidden}
.ga-explorer-selected{padding:var(--rs-space-4) var(--rs-space-5);gap:var(--rs-space-2)}
.ga-explorer-selected h3{font-size:var(--rs-text-sm);font-weight:var(--rs-weight-semibold);color:var(--rs-text-secondary)}
.ga-explorer-chosen{align-items:center;min-height:34px}
.ga-explorer-chosen .ga-note{margin:0}
.ga-explorer-chip{display:inline-flex;align-items:center;gap:var(--rs-space-2);border-radius:var(--rs-radius-pill);min-height:36px}
.ga-explorer-chip-x{font-size:1.1em;opacity:.75}
.ga-explorer-chip:hover .ga-explorer-chip-x{opacity:1}
.ga-explorer-total{font-size:clamp(1.1rem,2vw,1.4rem);font-variant-numeric:tabular-nums;line-height:1.4}
.ga-explorer-filter{padding:var(--rs-space-4) var(--rs-space-5);border-top:1px solid var(--rs-border-subtle);gap:var(--rs-space-3)}
.ga-explorer-filter>label{font-size:var(--rs-text-sm)}
.ga-explorer-filter>.rs-input{min-height:44px}
.ga-explorer-facets{gap:var(--rs-space-2)}
.ga-explorer-facet{min-height:44px;padding:8px 12px;transition:background-color .15s ease,border-color .15s ease}
.ga-explorer-facet-name{min-width:0;overflow-wrap:anywhere;font-weight:var(--rs-weight-medium)}
.ga-explorer-facet-count{margin-left:auto;flex-shrink:0;color:var(--rs-text-muted);font-variant-numeric:tabular-nums;font-size:var(--rs-text-xs)}
.ga-explorer-facet:hover .ga-explorer-facet-count{color:var(--rs-text-primary)}
.ga-explorer-facet:focus-visible,.ga-explorer-book:focus-visible{outline:2px solid var(--rs-accent);outline-offset:2px}
.ga-explorer-expand{justify-self:center;margin-top:var(--rs-space-1)}
.ga-explorer-books{padding:var(--rs-space-4) var(--rs-space-5) var(--rs-space-5);border-top:1px solid var(--rs-border-subtle);gap:var(--rs-space-3)}
.ga-explorer-books-heading h3{font-size:var(--rs-text-lg)}
.ga-explorer-books-heading span{font-size:var(--rs-text-sm);color:var(--rs-text-muted);font-variant-numeric:tabular-nums}
.ga-explorer-book{min-height:78px;padding:var(--rs-space-3);gap:var(--rs-space-3);transition:background-color .15s ease,border-color .15s ease}
.ga-explorer-book:hover{border-color:var(--rs-border-default)}
.ga-explorer-book-icon{flex:0 0 40px;width:40px;height:52px;color:var(--rs-text-muted)}
.ga-explorer-book-title{flex:1;line-height:1.4}
.ga-explorer-book-title strong{font-size:var(--rs-text-sm)}
.ga-explorer-book-arrow{color:var(--rs-text-muted);opacity:0;transition:opacity .15s ease}
.ga-explorer-book:hover .ga-explorer-book-arrow,.ga-explorer-book:focus-visible .ga-explorer-book-arrow{opacity:1}
#ga-explorer-more{justify-self:center}
#ga-explorer[aria-busy="true"] .ga-explorer-total{opacity:.7}
@media(max-width:700px){.ga-explorer-selected,.ga-explorer-filter,.ga-explorer-books{padding:var(--rs-space-3)}.ga-explorer-book-arrow{opacity:1}}
@media(prefers-reduced-motion:reduce){.ga-explorer-facet,.ga-explorer-book,.ga-explorer-book-arrow{transition:none}}

/* v2.1: canonical book thumbnails and author line. */
.ga-explorer-book-cover{display:block;flex:0 0 52px;width:52px;height:78px;object-fit:cover;border-radius:var(--rs-radius-sm);background:var(--rs-surface-subtle);align-self:center}
.ga-explorer-book{min-height:102px;align-items:center}
.ga-explorer-book-title{display:flex;flex-direction:column;gap:3px;min-width:0}
.ga-explorer-book-author{font-size:var(--rs-text-sm);color:var(--rs-text-secondary);overflow-wrap:anywhere}
.ga-explorer-book-title small{font-size:var(--rs-text-xs);color:var(--rs-text-muted)}
.ga-explorer-book-icon{flex:0 0 52px;width:52px;height:78px;display:grid;place-items:center}

/* v2.2: Explorer is the /genres landing view; directory search is tab-local. */
.ga-landing-header{padding:var(--rs-space-3) 0 var(--rs-space-2)}
.ga-landing-header h1{font-size:clamp(1.6rem,2.6vw,2.15rem);line-height:1.2;margin:var(--rs-space-1) 0}
.ga-landing-header p{margin:0;color:var(--rs-text-secondary);font-size:var(--rs-text-sm)}
.ga-directory-search{position:relative;margin:0 0 var(--rs-space-3)}
.ga-directory-search .rs-input{display:block;width:100%}
.ga-directory-search .ga-search-suggestions{position:absolute;z-index:20;top:100%;left:0;right:0}

/* v2.3: canonical Risingshadow page hero, matching the community landing pattern. */
.ga-landing-header.rs-card{padding:clamp(20px,2.4vw,36px);border:1px solid var(--rs-border-default);border-radius:var(--rs-radius-xl,20px);background:linear-gradient(115deg,var(--rs-surface-2),var(--rs-card-bg));}
.ga-landing-header .ga-eyebrow{font-size:var(--rs-text-xs);font-weight:700;letter-spacing:.12em;color:var(--rs-text-secondary);}
.ga-landing-header h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1.13;margin:var(--rs-space-3) 0 var(--rs-space-2);}
.ga-landing-header p{max-width:76ch;font-size:var(--rs-text-base,1rem);line-height:1.55;color:var(--rs-text-secondary);}
.ga-tabs{margin-top:var(--rs-space-4);}
@media(max-width:620px){.ga-landing-header.rs-card{padding:var(--rs-space-4)}.ga-landing-header h1{font-size:clamp(1.8rem,8vw,2.4rem)}}

/* v2.4: compact landing hero; avoid unnecessary vertical space. */
.ga-landing-header.rs-card{padding:clamp(16px,1.8vw,24px) clamp(20px,2.4vw,32px)}
.ga-landing-header h1{font-size:clamp(1.9rem,2.7vw,2.65rem);line-height:1.1;margin:var(--rs-space-2) 0 var(--rs-space-1)}
.ga-landing-header p{max-width:none;line-height:1.4;margin:0;font-size:var(--rs-text-base,1rem)}
.ga-tabs{margin-top:var(--rs-space-3)}
@media(max-width:620px){.ga-landing-header.rs-card{padding:var(--rs-space-3) var(--rs-space-4)}.ga-landing-header h1{font-size:clamp(1.7rem,7vw,2.1rem)}}

/* v2.5: responsive compass. Existing Design System surfaces and controls remain canonical. */
.ga-explorer-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:0;overflow:visible}
.ga-explorer-controls{min-width:0;display:grid;align-content:start;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto;overscroll-behavior:contain}
.ga-explorer-books{border-top:0;border-left:1px solid var(--rs-border-subtle);min-width:0}
.ga-explorer-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ga-explorer-selection-heading h2{margin:0;font-size:var(--rs-text-sm);color:var(--rs-text-secondary)}
.ga-explorer-clear{font-size:var(--rs-text-xs);min-height:30px;padding:4px 9px}
.ga-explorer-selected{padding-bottom:var(--rs-space-3)}
.ga-explorer-filter{padding-top:var(--rs-space-3)}
.ga-explorer-total{font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:700}
.ga-explorer-facets{grid-template-columns:repeat(2,minmax(0,1fr))}
.ga-explorer-facet{min-height:42px}
.ga-explorer-mobile-bar{display:none}
@media(max-width:900px){.ga-explorer-shell{grid-template-columns:minmax(0,1fr)}.ga-explorer-controls{position:static;max-height:none;overflow:visible}.ga-explorer-books{border-left:0;border-top:1px solid var(--rs-border-subtle)}.ga-explorer-facets{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.ga-explorer-selected,.ga-explorer-filter{padding:var(--rs-space-3)}.ga-explorer-selected{padding-bottom:8px}.ga-explorer-filter{padding-top:8px;border-top:0}.ga-explorer-chosen{min-height:0}.ga-explorer-total{margin-top:2px}.ga-explorer-facets{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-explorer-mobile-bar:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:12px;right:12px;z-index:50;padding:10px 12px;border:1px solid var(--rs-border-default);border-radius:var(--rs-radius-lg);background:var(--rs-surface-2);box-shadow:0 6px 28px rgba(0,0,0,.35);font-weight:700}.ga-explorer-mobile-bar .rs-button{white-space:nowrap}.ga-explorer-books{scroll-margin-top:14px}}
@media(max-width:420px){.ga-explorer-facets{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-explorer-facet{padding:8px;gap:5px}.ga-explorer-facet-name{font-size:var(--rs-text-sm)}}

/* v2.6 Kirjakompassi: one-column compact search, results directly below. */
.ga-explorer-shell{display:block;overflow:hidden}
.ga-explorer-controls{display:block;position:static;max-height:none;overflow:visible;overscroll-behavior:auto}
.ga-explorer-selected{padding:var(--rs-space-3) var(--rs-space-4) var(--rs-space-2);gap:var(--rs-space-2)}
.ga-explorer-selection-heading h2{font-size:var(--rs-text-sm)}
.ga-explorer-chosen{min-height:0;gap:var(--rs-space-2)}
.ga-explorer-chip{min-height:32px;padding:5px 10px}
.ga-explorer-total{margin:0;font-size:var(--rs-text-base);line-height:1.35}
.ga-explorer-filter{padding:var(--rs-space-2) var(--rs-space-4) var(--rs-space-3);border-top:0;gap:var(--rs-space-2)}
.ga-explorer-filter>.rs-input{min-height:42px}
.ga-explorer-facets{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--rs-space-2)}
.ga-explorer-facet{min-height:38px;padding:7px 10px}
.ga-explorer-expand{margin-top:0}
.ga-explorer-books{border-left:0;border-top:1px solid var(--rs-border-subtle);padding:var(--rs-space-4);scroll-margin-top:16px}
.ga-explorer-book-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.ga-explorer-mobile-bar{display:none!important}
@media(max-width:700px){
 .ga-explorer-selected{padding:12px 12px 6px}
 .ga-explorer-filter{padding:6px 12px 12px}
 .ga-explorer-total{font-size:var(--rs-text-base)}
 .ga-explorer-facets{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .ga-explorer-facet{min-height:38px;padding:7px 9px}
 .ga-explorer-books{padding:12px}
 .ga-explorer-book-list{grid-template-columns:1fr}
}
@media(max-width:420px){.ga-explorer-facets{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-explorer-shell{padding:0}}

/* v2.7: decorative compass stays behind content without affecting hero dimensions. */
.ga-landing-header{position:relative;isolation:isolate;overflow:hidden}
.ga-hero-content{position:relative;z-index:1}
.ga-hero-art{position:absolute;inset:0 0 0 auto;width:min(52%,440px);height:100%;pointer-events:none;opacity:.22;z-index:0;overflow:hidden}
.ga-hero-art svg{width:100%;height:100%;object-fit:cover;stroke:#7ab2d4;stroke-width:1;fill:none}
.ga-hero-art svg path{fill:#416d8b;stroke:none}.ga-hero-art svg .ga-hero-needle{fill:#acd9f6}
.ga-explorer-book-name{font-weight:700;color:var(--rs-text-primary);text-decoration:none}.ga-explorer-book-name:hover{text-decoration:underline}
.ga-explorer-book-series{font-size:var(--rs-text-xs);color:var(--rs-text-secondary)}.ga-explorer-book-series a{color:inherit;text-decoration:none}.ga-explorer-book-series a:hover{text-decoration:underline}
.ga-management{margin-bottom:var(--rs-space-4);padding:var(--rs-space-4)}
.ga-management-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rs-space-3)}
.ga-management-form label:not(.ga-management-check){display:grid;gap:6px;font-weight:600}
.ga-management-wide,.ga-management-actions{grid-column:1/-1}
.ga-management-check{display:flex;align-items:center;gap:8px}
.ga-management-actions{display:flex;gap:10px;flex-wrap:wrap}
.ga-management-success{color:#86cba0}.ga-management-error{color:#f4a0a0}
.ga-taxonomy-edit{font-size:.8em;margin-inline-start:8px}
@media(max-width:620px){.ga-management-form{grid-template-columns:1fr}.ga-hero-art{width:70%;opacity:.12}}

/* v2.8: management is opt-in, never the default taxonomy content. */
.ga-management[hidden]{display:none!important}
.ga-management-toolbar{display:flex;justify-content:flex-end;margin:0 0 var(--rs-space-3)}
.ga-management-form small{font-size:var(--rs-text-xs);font-weight:400;color:var(--rs-text-secondary)}
.ga-management-form input[readonly]{opacity:.8;cursor:not-allowed}
.ga-management-advanced{border:1px solid var(--rs-border-subtle);border-radius:var(--rs-radius-md);padding:var(--rs-space-3)}
.ga-management-advanced summary{cursor:pointer;font-weight:600}
.ga-management-advanced-fields{display:flex;flex-wrap:wrap;gap:var(--rs-space-3);padding-top:var(--rs-space-3)}

/* v2.9: compact expandable taxonomy editor, single-column field flow. */
.ga-management-shell{margin:0 0 var(--rs-space-4);border:1px solid var(--rs-border-subtle);border-radius:var(--rs-radius-lg);overflow:hidden;background:var(--rs-surface,transparent)}
.ga-management-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 18px;border:0;background:var(--rs-surface-secondary,rgba(120,150,170,.07));color:var(--rs-text-primary);font:inherit;font-weight:700;text-align:left;cursor:pointer}
.ga-management-toggle:hover{background:var(--rs-surface-hover,rgba(120,150,170,.12))}
.ga-management-toggle:focus-visible{outline:2px solid var(--rs-focus-ring,#80b6e5);outline-offset:-3px}
.ga-management-toggle-label{display:flex;align-items:center;gap:12px}
.ga-management-toggle-symbol{font-size:1.2em;color:var(--rs-text-secondary)}
.ga-management-chevron{transition:transform .15s ease;color:var(--rs-text-secondary)}
.ga-management-toggle[aria-expanded=true] .ga-management-chevron{transform:rotate(180deg)}
.ga-management-content{padding:var(--rs-space-4);border-top:1px solid var(--rs-border-subtle)}
.ga-management-content[hidden]{display:none!important}
.ga-management-form{display:flex;flex-direction:column;gap:var(--rs-space-3)}
.ga-management-step{display:grid;grid-template-columns:minmax(175px,25%) minmax(0,1fr);gap:var(--rs-space-4);padding:var(--rs-space-3) 0;border-bottom:1px solid var(--rs-border-subtle)}
.ga-management-step-head{display:flex;align-items:flex-start;gap:12px}
.ga-management-step-number{display:inline-flex;align-items:center;justify-content:center;flex:none;width:27px;height:27px;border:1px solid var(--rs-border-subtle);border-radius:50%;font-size:.8rem}
.ga-management-step-head h3{margin:2px 0 6px;font-size:1rem}
.ga-management-step-head p{margin:0;color:var(--rs-text-secondary);font-size:.85rem;line-height:1.55}
.ga-management-step-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--rs-space-3);min-width:0}
.ga-management-step-fields label{display:grid;gap:7px;font-weight:600}
.ga-management-step-fields .rs-input{width:100%;box-sizing:border-box}
.ga-management-step-fields small{font-size:var(--rs-text-xs);font-weight:400;color:var(--rs-text-secondary);line-height:1.5}
.ga-management-advanced{margin-top:var(--rs-space-2)}
.ga-management-actions{justify-content:flex-end}
.ga-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.ga-management-step{grid-template-columns:1fr;gap:var(--rs-space-2)}.ga-management-content{padding:var(--rs-space-3)}}

/* v2.10: compact, accessible placeholder-first genre editor. */
.ga-management-step{padding:var(--rs-space-2) 0;gap:var(--rs-space-3)}
.ga-management-step-fields{gap:var(--rs-space-2)}
.ga-management-step-fields .ga-management-placeholder-field{gap:4px}
.ga-management-step-fields .ga-management-placeholder-field .rs-input{min-height:44px}
.ga-management-step-fields .ga-management-placeholder-field small{margin-top:2px}
.ga-management-step-fields .ga-management-description textarea{min-height:94px}
.ga-management-step-fields .ga-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* v2.11: taxonomy administration tree – clear rows and direct inline editing */
.ga-taxonomy-tree,.ga-taxonomy-tree ul{list-style:none;margin:0;padding:0;border:0}
.ga-taxonomy-tree ul{margin-inline-start:17px;padding-inline-start:12px;border-inline-start:1px solid var(--rs-border-default)}
.ga-taxonomy-tree li{margin:0;padding:0;min-width:0}
.ga-taxonomy-tree details>summary{list-style:none;cursor:pointer}
.ga-taxonomy-tree details>summary::-webkit-details-marker{display:none}
.ga-taxonomy-row{display:flex;align-items:center;gap:8px;min-height:43px;padding:5px 9px;border-radius:var(--rs-radius-md);min-width:0}
.ga-taxonomy-tree li:nth-child(odd)>details>summary>.ga-taxonomy-row,.ga-taxonomy-tree li:nth-child(odd)>.ga-taxonomy-row{background:var(--rs-surface-subtle,rgba(140,160,185,.045))}
.ga-taxonomy-tree details>summary:hover .ga-taxonomy-row,.ga-taxonomy-tree li>.ga-taxonomy-row:hover{background:var(--rs-surface-hover,rgba(140,160,185,.10))}
.ga-taxonomy-tree details>summary::before{content:'▸';display:inline-block;position:absolute;margin:13px 0 0 3px;color:var(--rs-text-muted);font-size:12px}
.ga-taxonomy-tree details[open]>summary::before{content:'▾'}
.ga-taxonomy-tree details>summary>.ga-taxonomy-row{padding-inline-start:24px}
.ga-taxonomy-toggle-placeholder{width:15px;flex:none}
.ga-taxonomy-line{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:0;line-height:1.4}
.ga-taxonomy-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;flex-wrap:wrap}
.ga-taxonomy-name{font-weight:650;text-decoration:none}
.ga-taxonomy-class{font-size:11px;padding:2px 7px;opacity:.85}
.ga-taxonomy-category{display:inline-flex;align-items:center;border:1px solid rgba(215,160,70,.45);border-radius:999px;padding:2px 8px;color:#e8b969;background:rgba(194,132,40,.12);font-size:11px;font-weight:650}
.ga-taxonomy-item.is-category>.ga-taxonomy-row,.ga-taxonomy-item.is-category>details>summary>.ga-taxonomy-row{border-inline-start:3px solid #c99848;background:rgba(194,132,40,.065)}
.ga-taxonomy-meta{display:flex;gap:12px;align-items:center;justify-content:flex-end;min-width:155px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ga-taxonomy-edit{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:5px 9px;border:1px solid var(--rs-border-default);border-radius:var(--rs-radius-md);font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}
.ga-taxonomy-edit:hover,.ga-taxonomy-edit:focus-visible{border-color:var(--rs-text-muted);background:var(--rs-surface-hover,rgba(140,160,185,.10))}
.ga-taxonomy-stats{line-height:1.6}
@media(max-width:650px){.ga-taxonomy-row{align-items:flex-start}.ga-taxonomy-line{flex-wrap:wrap;gap:5px 8px}.ga-taxonomy-main{flex-basis:100%}.ga-taxonomy-meta{min-width:0;justify-content:flex-start;gap:8px}.ga-taxonomy-edit{margin-inline-start:auto}.ga-taxonomy-tree ul{margin-inline-start:8px;padding-inline-start:7px}}

/* v2.12: editor matches the established book-description interaction language. */
.ga-rich-editor{border:1px solid var(--rs-border-default);border-radius:10px;overflow:hidden;background:var(--rs-surface-subtle)}
.ga-rich-modes,.ga-rich-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border-bottom:1px solid var(--rs-border-default)}
.ga-rich-editor button{border:1px solid var(--rs-border-default);border-radius:6px;background:transparent;color:inherit;padding:6px 10px;cursor:pointer}
.ga-rich-editor button[aria-pressed="true"]{background:var(--rs-surface-hover,rgba(140,160,185,.13))}
.ga-rich-surface,.ga-rich-preview{padding:15px;min-height:170px;max-height:420px;overflow:auto;line-height:1.65;overflow-wrap:anywhere}
.ga-rich-surface:focus{outline:2px solid var(--rs-accent,#76b6e5);outline-offset:-2px}
.ga-rich-editor.is-fullscreen{position:fixed;inset:16px;z-index:9999;display:flex;flex-direction:column;background:var(--rs-surface,#171c24)}
.ga-rich-editor.is-fullscreen .ga-rich-surface,.ga-rich-editor.is-fullscreen .ga-rich-preview{max-height:none;flex:1}
.ga-rich-editor [hidden]{display:none!important}

/* v2.18: shared genre editor field skin. No dependency on the atlas page wrapper.
   The same GenreEditForm.php is rendered on /genres and /genre/{slug}. */
.ga-management-shell .ga-management-form .ga-management-step-fields input.rs-input,
.ga-management-shell .ga-management-form .ga-management-step-fields select.rs-input,
.ga-management-shell .ga-management-form .ga-management-step-fields textarea.rs-input{
  display:block;width:100%;min-width:0;min-height:42px;box-sizing:border-box;
  padding:9px 12px;border:1px solid var(--rs-border-default,#394350);
  border-radius:var(--rs-radius-md,8px);
  background:var(--rs-surface-raised,#1b222b);color:var(--rs-text-primary,#f0f3f7);
  font:inherit;line-height:1.4;color-scheme:dark;
}
.ga-management-shell .ga-management-form .ga-management-step-fields input.rs-input[readonly]{
  background:var(--rs-surface-secondary,#171d24);color:var(--rs-text-secondary,#abb8c7);opacity:1;
}
.ga-management-shell .ga-management-form .ga-management-step-fields .rs-input:focus-visible{
  outline:2px solid var(--rs-focus-ring,#80b6e5);outline-offset:1px;
}
.theme-light .ga-management-shell .ga-management-form .ga-management-step-fields .rs-input,
[data-theme="light"] .ga-management-shell .ga-management-form .ga-management-step-fields .rs-input{color-scheme:light}
