/* Shared Dramiona library design, scoped by the domain-specific stylesheet. */
html:root {
 --page:#faf9f7; --surface:#fff; --surface-soft:#f1eeeb; --ink:#292629; --muted:#746d71; --line:#e5dfe0;
 --accent-text:#753e50; --accent-soft:#f1e5e9; --club-green:#753e50; --club-on-green:#fff;
 --detail:#9a6979; --inverse-bg:#252125; --inverse-ink:#f8f4f3;
 --font-display:'Manrope',Arial,sans-serif; --font-editorial:Georgia,serif; --font-ui:'Manrope',Arial,sans-serif;
 --content-width:1280px; --page-gutter:40px; --bs-body-bg:var(--page); --bs-body-color:var(--ink);
}
html[data-bs-theme=dark] {
 --page:#19171a; --surface:#242126; --surface-soft:#2d282e; --ink:#f1edef; --muted:#b9aeb4; --line:#40373e;
 --accent-text:#e2a8ba; --accent-soft:#392b33; --club-green:#e2a8ba; --club-on-green:#25151d; --detail:#c58c9f;
 --inverse-bg:#100e11; --inverse-ink:#f8f4f3;
}
.editorial-site.atelier-site { background:var(--page); color:var(--ink); font:400 15px/1.7 var(--font-ui); --font-body:var(--font-ui); --font-heading:var(--font-ui); --accent:var(--club-green); --accent-rgb:117,62,80; }
html[data-bs-theme=dark] .atelier-site { --accent-rgb:226,168,186; }
.atelier-site :is(h1,h2,h3,h4,.navbar-brand,.footer-brand) { font-family:var(--font-display)!important; letter-spacing:-.035em!important; color:var(--ink); font-weight:700; }
.atelier-site h1 { font-size:clamp(2rem,3.8vw,3rem)!important; line-height:1.18!important; }
.atelier-site h2 { font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.3!important; }
.atelier-site h3 { font-size:1.2rem; line-height:1.4; }
.atelier-site main .container,.atelier-site .header-main,.atelier-site .site-footer>.container,.atelier-site .resource-quick-nav>.container { width:100%; max-width:var(--content-width); padding-inline:40px; }
.atelier-site :is(a,button,input,summary):focus-visible { outline:2px solid var(--accent-text); outline-offset:4px; }
.atelier-site a { text-underline-offset:4px; }
.atelier-site .site-navbar { position:relative; background:var(--page)!important; border:0!important; }
.atelier-site .header-main { gap:32px; min-height:90px; }
.atelier-site .navbar-brand { gap:9px!important; margin:0; font-size:1.6rem; font-weight:800!important; color:var(--ink); }
.library-brand-mark { color:var(--accent-text); flex:none; }
.library-search { position:relative; width:min(370px,35vw); margin:0 auto 0 10px; }
.library-search input { width:100%; height:44px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); font-size:.8rem; padding:0 45px 0 16px; }
.library-search input::placeholder { color:var(--muted); opacity:1; }
.library-search button { position:absolute; right:3px; top:3px; width:38px; height:38px; border:0; border-radius:8px; background:transparent; color:var(--muted); display:grid; place-items:center; }
.library-search button:hover { background:var(--accent-soft); color:var(--accent-text); }
.library-search svg { width:20px; height:20px; }
.atelier-site .header-actions { gap:16px!important; margin-left:0!important; }
.atelier-site .header-actions .btn-soft { background:none; color:var(--ink); font-weight:600; font-size:.8rem; padding:10px 0; white-space:nowrap; border:0; }
.atelier-site .header-actions .btn-soft:hover { color:var(--accent-text); }
.atelier-site .theme-toggle { min-width:42px; width:42px; height:42px; min-height:42px; border:1px solid var(--line); border-radius:50%; background:var(--surface)!important; color:var(--ink); font-size:1.15rem; margin:0 0 0 7px; }
.atelier-site .resource-quick-nav { background:var(--page)!important; border:0!important; }
.atelier-site .resource-quick-nav>.container { justify-content:flex-start; gap:32px!important; padding:0 40px 12px!important; }
.atelier-site .resource-quick-label { display:none; }
.atelier-site .resource-quick-nav a { color:var(--muted); font-size:.82rem; font-weight:500; min-height:38px; padding:8px 0; }
.atelier-site .resource-quick-nav a:hover,.atelier-site .resource-quick-nav a[aria-current] { color:var(--accent-text); }
.atelier-site .resource-quick-nav a[aria-current]::after { background:var(--accent-text); }
.atelier-site .resource-quick-nav .mobile-collections { display:inline-flex; }
.atelier-site .btn { border-radius:8px; }
.atelier-site .btn-accent,.atelier-site .library-button { background:var(--club-green); color:var(--club-on-green); border:1px solid transparent; }
.atelier-site .library-button { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:50px; padding:14px 24px; border-radius:9px; font-size:.88rem; font-weight:700; text-decoration:none; }
.atelier-site .btn-accent:hover,.atelier-site .library-button:hover { filter:brightness(1.12); }
.library-home { padding-top:10px; }
.library-hero { position:relative; isolation:isolate; overflow:hidden; border-radius:18px; min-height:505px; background:#30292d; }
.library-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:68% 40%; z-index:-2; }
.library-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(35,27,33,.96),rgba(35,27,33,.79) 30%,rgba(35,27,33,.1) 65%,transparent); z-index:-1; }
.library-hero-copy { padding:52px 50px 55px; width:52%; }
.atelier-site .library-eyebrow { display:block; color:var(--accent-text); font-size:.66rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.library-hero .library-eyebrow { color:#e2c4cc; letter-spacing:.15em; font-size:.66rem; }
.atelier-site .library-hero h1 { color:#fff8f6; font-size:clamp(2.6rem,4.3vw,3.65rem)!important; line-height:1.1!important; letter-spacing:-.055em!important; margin:22px 0; font-weight:700; }
.library-hero-copy p { color:#dfd5d9; font-size:.9rem; line-height:1.8; margin:0 0 26px; }
.atelier-site .library-hero .library-button { background:#f2e5e8; color:#512d3b; }
.library-hero-caption { position:absolute; bottom:23px; right:27px; color:#ede3e6; font-size:.6rem; letter-spacing:.05em; text-shadow:0 1px 8px #000; }
.library-hero-caption span { margin-inline:9px; }
.library-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; padding:29px 0; border-bottom:1px solid var(--line); }
.library-shortcuts a { display:flex; gap:14px; align-items:center; color:var(--ink); text-decoration:none; }
.library-shortcuts svg { width:26px; height:26px; flex:none; stroke:var(--accent-text); stroke-width:1.25; fill:none; }
.library-shortcuts strong { display:block; font-size:.76rem; font-weight:700; }
.library-shortcuts small { display:block; font-size:.63rem; color:var(--muted); margin-top:4px; }
.library-shortcuts a>span:last-child { margin-left:auto; color:var(--muted); font-size:.7rem; }
.atelier-site .library-section { padding:46px 0 12px; background:none; border:0; }
.library-section-head { display:flex; gap:24px; align-items:center; justify-content:space-between; margin-bottom:25px; }
.library-section-head h2 { margin:0 0 7px; }
.library-section-head p { color:var(--muted); font-size:.83rem; margin:0; }
.library-section-head>a { color:var(--accent-text); font-size:.76rem; font-weight:600; text-decoration:none; white-space:nowrap; }
.library-section-head>a span { padding-left:13px; }
.library-bookshelf { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:25px; }
.library-bookshelf,.library-games,.atelier-site .resource-quick-nav,.atelier-site .resource-quick-nav>.container { scroll-padding-inline:var(--page-gutter); }
.library-bookshelf:focus-visible,.library-games:focus-visible { outline:2px solid var(--accent-text); outline-offset:4px; }
.library-book { min-width:0; }
.library-book>a,.library-game { display:block; color:var(--ink); text-decoration:none; }
.library-cover { position:relative; overflow:hidden; aspect-ratio:2/3; border-radius:7px; background:var(--surface-soft); box-shadow:0 7px 15px #20151d14; transition:transform .25s,box-shadow .25s; }
.library-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.library-book:hover .library-cover { transform:translateY(-5px); box-shadow:0 12px 20px #20151d22; }
.library-format { position:absolute; top:9px; left:9px; background:#fff5; backdrop-filter:blur(12px); color:#fff; text-shadow:0 1px 4px #000; border:1px solid #fff5; border-radius:5px; font-size:.56rem; padding:3px 7px; }
.library-novel .library-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 30%,#16131de8); }
.library-novel-title { position:absolute; bottom:18px; left:16px; right:14px; font:500 1.3rem/1.12 Georgia,serif; color:white; z-index:1; }
.library-cover-fallback { display:grid; place-items:center; width:100%; height:100%; padding:18px; background:var(--accent-soft); color:var(--accent-text); font:1.4rem/1.3 Georgia,serif; }
.library-book-kind { display:block; color:var(--muted); font-size:.62rem; margin:16px 0 6px; }
.atelier-site .library-book h3 { font-size:.88rem; line-height:1.5; letter-spacing:-.02em!important; margin:0 0 5px; font-weight:700; }
.library-book p { font-size:.7rem; line-height:1.5; color:var(--muted); margin:0; }
.library-collections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.library-collection { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; min-height:268px; padding:27px; border-radius:12px; background:#eee3e7; color:#462c36; text-decoration:none; }
.library-collection-1 { background:#e7e9e5; color:#343c35; }
.library-collection-2 { background:#e8e5ed; color:#3d3548; }
.atelier-site .library-collection h3 { max-width:85%; font-size:1.35rem; color:inherit; margin:18px 0 10px; }
.library-collection p { max-width:88%; font-size:.75rem; line-height:1.7; opacity:.8; margin:0 0 24px; }
.library-collection .library-eyebrow { color:inherit; opacity:.75; font-size:.59rem; letter-spacing:.08em; }
.library-collection-footer { display:flex; align-items:center; justify-content:space-between; margin-top:auto; font-size:.72rem; font-weight:700; }
.library-collection-symbol { position:absolute; font-family:Georgia,serif; font-size:170px; bottom:30px; right:-10px; color:currentColor; opacity:.06; line-height:1; z-index:-1; transform:rotate(-15deg); }
html[data-bs-theme=dark] .library-collection { background:#392b33; color:#f0dce4; }
html[data-bs-theme=dark] .library-collection-1 { background:#2e352f; color:#dce6dd; }
html[data-bs-theme=dark] .library-collection-2 { background:#312e3c; color:#e6e0ee; }
.library-games { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.library-game-image { position:relative; overflow:hidden; border-radius:11px; aspect-ratio:1.65; }
.library-game-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.library-game:hover img { transform:scale(1.025); }
.library-game-image>span { position:absolute; bottom:12px; left:12px; color:#fff; background:#19121c99; backdrop-filter:blur(10px); border-radius:5px; font-size:.58rem; padding:5px 9px; }
.atelier-site .library-game h3 { font-size:1.07rem; margin:6px 0 9px; }
.library-game>p { font-size:.77rem; line-height:1.7; color:var(--muted); margin:0; }
.library-resources { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.library-resources>a { display:flex; align-items:center; gap:20px; background:var(--surface); border:1px solid var(--line); border-radius:11px; padding:22px; color:var(--ink); text-decoration:none; }
.library-resources .editorial-rubric-art { position:static; width:42px; height:42px; flex:none; color:var(--accent-text); margin:0; }
.atelier-site .library-resources h3 { font-size:1rem; margin:0 0 5px; }
.library-resources p { font-size:.65rem; margin:0; color:var(--muted); }
.library-resources>a>span { margin-left:auto; color:var(--accent-text); }
.library-directory { display:grid; grid-template-columns:1fr 1fr; column-gap:40px; }
.library-directory>a { display:flex; align-items:center; gap:18px; color:var(--ink); text-decoration:none; border-top:1px solid var(--line); padding:22px 0; }
.library-directory-number { font-size:.66rem; color:var(--muted); font-variant-numeric:tabular-nums; }
.library-directory strong { display:block; font-weight:600; font-size:.95rem; }
.library-directory small { display:block; color:var(--muted); font-size:.72rem; margin-top:5px; }
.library-directory>a>span:last-child { margin-left:auto; color:var(--accent-text); }
.atelier-site .tag-cloud { gap:10px; margin-top:22px; }
.atelier-site .tag-cloud a { border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:24px; padding:10px 18px; font-size:.75rem; }
.atelier-site .tag-cloud a:hover { background:var(--accent-soft); border-color:var(--detail); }
.library-about { padding:55px 0; margin-top:48px; border-top:1px solid var(--line); background:var(--surface-soft); }
.library-about-intro { max-width:860px; }
.library-about-intro h2 { margin:15px 0 20px; }
.library-about-intro p { font-size:.85rem; color:var(--muted); }
.library-guide { border-top:1px solid var(--line); margin-top:25px; }
.library-guide summary { display:flex; justify-content:space-between; list-style:none; font-size:.85rem; font-weight:600; cursor:pointer; padding:24px 0 0; }
.library-guide summary::-webkit-details-marker { display:none; }
.library-guide[open] summary { margin-bottom:25px; }
.library-guide[open] summary>span { transform:rotate(45deg); }
.atelier-site .library-guide .legal-content { max-width:900px; }
/* One rhythm for breadcrumbs and headings across catalogs, resources and stories. */
.atelier-site .site-breadcrumbs { width:100%; margin:0 0 24px!important; padding:0!important; color:var(--muted); font:400 .72rem/1.7 var(--font-ui); }
.atelier-site .site-breadcrumbs ol { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:0; margin:0; }
.atelier-site .site-breadcrumbs a { color:var(--muted); text-decoration:none; }
.atelier-site .site-breadcrumbs a:hover { color:var(--accent-text); text-decoration:underline; }
.atelier-site .site-breadcrumbs [aria-current] { color:var(--ink); }
.atelier-site main :is(.collection-hero,.tag-hero,.legal-hero,.fanfics-header,.echo-header) { background:none; padding:30px 0 34px; border:0; }
.atelier-site main :is(.collection-hero,.tag-hero,.legal-hero,.fanfics-header) h1 { margin:14px 0 18px; }
.atelier-site main :is(.collection-hero,.tag-hero,.legal-hero,.fanfics-header)>p,.atelier-site .fanfics-header p { color:var(--muted); max-width:760px; font-size:.95rem; line-height:1.8; }
.atelier-site .eyebrow { background:var(--accent-soft); color:var(--accent-text); font-size:.63rem; border:0; letter-spacing:.08em; }
.atelier-site :is(.collection-grid,.resource-section-grid) { gap:24px; }
.atelier-site :is(.collection-card,.resource-section-card,.collection-item,.resource-card,.read-card,.empty-card,.tag-card) { background:var(--surface)!important; border:1px solid var(--line)!important; border-radius:12px; box-shadow:none!important; color:var(--ink); }
.atelier-site .collection-card { padding:28px; }
.atelier-site .collection-card strong { font-family:var(--font-ui); font-size:1.3rem; line-height:1.4; }
.atelier-site .collection-card-kicker,.atelier-site .resource-section-kicker { color:var(--accent-text); }
.atelier-site .resource-title,.atelier-site .collection-item-title { font-family:var(--font-ui); font-weight:700; letter-spacing:-.02em; }
.atelier-site .fanfics-catalog { padding:0 0 45px; }
.atelier-site .fic-card { border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:28px; box-shadow:none; }
.atelier-site .fic-card-title { font-size:1.5rem; line-height:1.35!important; }
.atelier-site .fic-card-copy p { font-size:.85rem; line-height:1.8; }
.atelier-site .fic-card-meta,.atelier-site .fic-card-tags { color:var(--muted); }
.atelier-site .fic-card-tags span { background:var(--surface-soft); border-color:var(--line); color:var(--muted); }
.atelier-site .fic-card-action { color:var(--accent-text); }
.atelier-site .fic-story .echo-header { margin-bottom:0; padding-bottom:30px; }
.atelier-site .fic-story .echo-header h1 { font-size:clamp(2rem,4vw,3.3rem)!important; }
.atelier-site .fic-story .echo-prose { color:var(--ink); }
.atelier-site .fic-story .echo-prose h2 { font-size:1.5rem; }
.atelier-site .fic-story .echo-prose .market-shelf { margin-block:40px; padding:24px; border-left-color:var(--detail); background:var(--surface-soft); }
.atelier-site .fic-story .echo-prose .market-shelf-head { padding-top:0; border-top:0; }
.atelier-site .fic-catalog-note { margin-top:28px; }
.atelier-site .romance-page { --rn-paper:var(--page); --rn-ink:var(--ink); --rn-muted:var(--muted); --rn-line:var(--line); --rn-soft:var(--surface-soft); padding-top:32px; }
.atelier-site .romance-catalog-heading { padding:0 0 32px; }
.atelier-site .romance-catalog-heading h1,.atelier-site .romance-story-heading h1 { font-size:clamp(2rem,3.8vw,3rem)!important; line-height:1.18!important; font-weight:700!important; margin:14px 0 18px; letter-spacing:-.035em!important; }
.atelier-site .romance-catalog-heading h1 em { font-family:inherit; font-style:normal; font-weight:inherit; }
.atelier-site .romance-catalog-intro>p { font-size:.95rem; max-width:760px; }
.atelier-site .romance-story-heading { padding:0 0 32px; }
.atelier-site .romance-grid { gap:32px 24px; }
.atelier-site .romance-card-copy h2 { font-size:1.3rem!important; font-weight:700!important; }
.atelier-site .romance-card-image img { border-radius:12px; }
.atelier-site .market-shelf { max-width:var(--content-width); padding-inline:40px; margin-block:40px 0; }
.atelier-site .market-shelf-head { border-color:var(--line); }
.atelier-site .market-shelf-head h2 { font-size:1.3rem; }
.atelier-site .market-product { background:var(--surface); border-color:var(--line); border-radius:10px; }
.atelier-site .market-product h3 { font-size:.8rem; letter-spacing:0!important; }
.atelier-site .market-disclosure { opacity:1; color:var(--muted); }
.atelier-site .container .market-shelf { padding-inline:0; }
.atelier-site .yan-slot { box-sizing:border-box; width:100%; max-width:var(--content-width); margin:44px auto; padding-inline:var(--page-gutter); }
.yan-slot[hidden] { display:none!important; }
.yan-slot-frame { padding:16px 0; border-block:1px solid var(--line); }
.yan-slot-label { display:block; margin-bottom:12px; color:var(--muted); font:400 .62rem/1.4 var(--font-ui); letter-spacing:.08em; text-transform:uppercase; }
.yan-slot-mount { width:100%; height:250px; max-height:250px; }
.atelier-site .cookie-notice { border:1px solid var(--line); background:var(--surface); border-radius:12px; font-size:.75rem; }
.atelier-site .site-footer { background:var(--inverse-bg); color:#c0b5be; padding:48px 0 24px; }
.atelier-site .footer-brand { color:#fbf7f9; font-weight:800; font-size:1.5rem; }
.atelier-site .footer-grid { grid-template-columns:1.2fr 1fr 1fr; gap:60px; }
.atelier-site .footer-about p { font-size:.78rem; max-width:260px; margin-top:15px; }
.atelier-site .footer-heading { color:#f8eff4; font-size:.68rem; }
.atelier-site .footer-nav a,.atelier-site .footer-legal a { color:#bfb4bc; font-size:.75rem; }
.atelier-site .footer-bottom { border-color:#494048; margin-top:40px; font-size:.67rem; }
.library-search-page { padding-block:32px 70px; min-height:55vh; }
.library-page-crumbs { padding-top:32px; }
.atelier-site .legal-content>p,.atelier-site .legal-content>ul,.atelier-site .legal-content>ol { max-width:90ch; }
.atelier-site .fanfic-link-card { border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); box-shadow:none; }
.atelier-site .fic-card-tags>span+span::before { content:none; }
.atelier-site .fic-card-tags>span { padding:4px 8px; }
.atelier-site .fic-toc,.atelier-site .fic-story .echo-prose .void { border-radius:10px; }
.library-back { color:var(--muted); font-size:.75rem; text-decoration:none; }
.library-search-page h1 { margin:25px 0 15px; }
.library-subtitle { color:var(--muted); }
.library-search-results { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:30px; }
.library-search-result { display:flex; gap:20px; align-items:center; padding:24px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--surface); text-decoration:none; }
.library-search-result>div { min-width:0; }
.library-search-result>span:last-child { margin-left:auto; color:var(--accent-text); }
.library-search-result h2 { font-size:1.15rem; margin:10px 0; }
.library-search-result p { font-size:.78rem; color:var(--muted); margin:0; }
.library-search-cover { flex:0 0 70px; }
.library-search-cover img { width:70px; height:auto; border-radius:4px; }
.library-empty { padding:40px; margin-top:30px; background:var(--surface-soft); border-radius:14px; }
@media(min-width:768px) and (prefers-reduced-motion:no-preference) {
 .library-hero-copy { animation:library-enter .7s ease-out both; }
 @keyframes library-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
}
@media(max-width:1100px) {
 .atelier-site .header-main { gap:22px; }
 .library-search { margin-left:0; }
 .atelier-site .header-actions { gap:15px!important; }
 .library-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 45px; }
 .library-bookshelf { gap:18px; }
 .library-novel-title { font-size:1.1rem; left:12px; bottom:14px; }
 .library-resources>a { padding:20px 16px; gap:12px; }
 .library-hero-copy { padding-left:35px; }
}
@media(max-width:767px) {
 .atelier-site { --page-gutter:22px; }
 .atelier-site main .container,.atelier-site .header-main,.atelier-site .site-footer>.container,.atelier-site .resource-quick-nav>.container { padding-inline:22px; }
 .atelier-site .header-main { display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:14px; padding-top:18px!important; padding-bottom:12px!important; }
 .atelier-site .navbar-brand { font-size:1.45rem; }
 .library-brand-mark { width:26px; height:29px; }
 .atelier-site .header-actions { margin-left:auto!important; }
 .atelier-site .header-actions .header-collections { display:none; }
 .atelier-site .header-actions .btn-soft { font-size:.72rem; }
 .atelier-site .theme-toggle { width:38px; min-width:38px; height:38px; min-height:38px; margin:0; }
 .library-search { order:3; grid-column:1/-1; width:100%; margin:0; }
 .library-search input { font-size:16px; height:44px; }
 .atelier-site .resource-quick-nav>.container { gap:24px!important; padding-inline:22px!important; overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; }
 .atelier-site .resource-quick-nav a { flex:none; font-size:.75rem; }
 .library-home { padding-top:2px; }
 .library-hero { min-height:570px; border-radius:12px; }
 .library-hero-image { object-position:73% top; height:66%; }
 .library-hero::before { background:linear-gradient(0deg,#30272d 0%,#30272d 27%,rgba(48,39,45,.8) 44%,transparent 75%); }
 .library-hero-copy { padding:275px 25px 30px; width:100%; }
 .atelier-site .library-hero h1 { font-size:2rem!important; margin:14px 0; }
 .library-hero .library-eyebrow { font-size:.53rem; }
 .library-hero-copy p { font-size:.76rem; margin-bottom:22px; }
 .atelier-site .library-hero .library-button { min-height:46px; padding:12px 18px; font-size:.8rem; }
 .library-hero-caption { top:16px; bottom:auto; right:16px; font-size:.48rem; }
 .library-shortcuts { padding:24px 0; gap:22px 18px; }
 .library-shortcuts a { gap:10px; }
 .library-shortcuts svg { width:22px; height:22px; }
 .library-shortcuts strong { font-size:.67rem; }
 .library-shortcuts small { font-size:.57rem; }
 .library-shortcuts a>span:last-child { display:none; }
 .atelier-site .library-section { padding:32px 0 5px; }
 .library-section-head { gap:12px; align-items:flex-start; margin-bottom:20px; }
 .library-section-head h2 { font-size:1.35rem; }
 .library-section-head p { font-size:.72rem; margin-top:7px; }
 .library-section-head>a { font-size:.63rem; margin-top:4px; }
 .library-section-head>a span { padding-left:3px; }
 .library-bookshelf { display:grid; grid-template-columns:repeat(6,145px); overflow-x:auto; gap:18px; margin-inline:-22px; padding:5px 22px 18px; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
 .library-book { scroll-snap-align:start; }
 .library-book-kind { font-size:.6rem; margin-top:12px; }
 .atelier-site .library-book h3 { font-size:.8rem; }
 .library-book p { font-size:.67rem; }
 .library-collections,.library-games,.library-resources { grid-template-columns:1fr; gap:18px; }
 .library-collection { min-height:230px; padding:24px; }
 .library-collection p { max-width:90%; }
 .library-games { grid-template-columns:repeat(3,270px); overflow-x:auto; margin-inline:-22px; padding:0 22px 18px; scroll-snap-type:x proximity; }
 .library-game { scroll-snap-align:start; }
 .library-directory { grid-template-columns:1fr; }
 .library-directory>a { padding:19px 0; }
 .library-resources>a { padding:20px; }
 .atelier-site .tag-cloud { gap:8px; }
 .atelier-site .tag-cloud a { font-size:.68rem; padding:9px 13px; }
 .library-about { margin-top:35px; padding:35px 0; }
 .library-about-intro h2 { font-size:1.55rem; }
 .library-about-intro p { font-size:.8rem; }
 .atelier-site main :is(.collection-hero,.tag-hero,.legal-hero,.fanfics-header,.echo-header) { padding:22px 0 26px; }
 .atelier-site .site-breadcrumbs { font-size:.66rem; margin-bottom:20px!important; }
 .atelier-site .fic-card { padding:20px; }
 .atelier-site .fic-card-title { font-size:1.3rem; }
 .atelier-site .fic-card-copy p { font-size:.78rem; }
 .atelier-site .romance-page { padding-top:24px; }
 .atelier-site .romance-grid { gap:30px; }
 .atelier-site .romance-catalog-intro>p { font-size:.85rem; }
 .atelier-site .market-shelf { padding-inline:22px; margin-top:30px; }
 .atelier-site .market-shelf-head h2 { font-size:1.1rem; }
 .atelier-site .footer-grid { grid-template-columns:1fr 1fr; gap:30px; }
 .atelier-site .footer-about { grid-column:1/-1; }
 .atelier-site .footer-nav { grid-template-columns:1fr; }
 .library-search-results { grid-template-columns:1fr; }
 .library-search-result { padding:20px; gap:15px; }
 .library-search-cover { flex-basis:55px; }
 .library-search-cover img { width:55px; }
 .library-empty { padding:25px; }
 .library-page-crumbs { padding-top:24px; }
}
@media(max-width:370px) {
 .atelier-site { --page-gutter:16px; }
 .atelier-site .resource-quick-nav>.container { padding-inline:16px!important; }
 .atelier-site main .container,.atelier-site .header-main,.atelier-site .site-footer>.container,.atelier-site .resource-quick-nav>.container { padding-inline:16px; }
 .library-hero-copy { padding-left:20px; padding-right:20px; }
 .atelier-site .library-hero h1 { font-size:2rem!important; }
 .library-shortcuts { column-gap:10px; }
 .library-shortcuts svg { display:none; }
 .library-section-head { flex-wrap:wrap; }
 .library-bookshelf,.library-games { margin-inline:-16px; padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) {
 .atelier-site *,.atelier-site *::before,.atelier-site *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
