:root{--bg:#f1eadc;--surface:#f9f4e9;--ink:#29232b;--muted:#655961;--accent:#75394e;--line:#c8b9ab;--on:#fff8ee;color-scheme:light}
:root[data-theme=iris]{--bg:#25243a;--surface:#36344d;--ink:#f0edf7;--accent:#baace9}
:root[data-theme=cherry]{--bg:#171419;--surface:#252027;--ink:#f0e8e1;--accent:#c9778d}
:root[data-theme=plum]{--bg:#211923;--surface:#332737;--ink:#f3e9ee;--accent:#c5a0d5}
:root[data-theme=moon]{--bg:#101622;--surface:#1b2636;--ink:#e8edf4;--accent:#88b9cd}
:root[data-theme=green]{--bg:#0d1715;--surface:#192923;--ink:#e9e5d9;--accent:#64b89b}
:root:not([data-theme=paper])[data-theme]{--muted:color-mix(in srgb,var(--ink) 72%,var(--bg));--line:color-mix(in srgb,var(--ink) 27%,var(--bg));--on:#17141a;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.65 Georgia,'Times New Roman',serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button{background:none;border:0}a:hover,button:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.skip,.visuallyhidden{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.skip:focus{clip-path:none;width:auto;height:auto;background:var(--surface);z-index:9;padding:10px}.navwrap,main,footer{width:min(1280px,92%);margin:auto}header{border-bottom:1px solid var(--line)}.navwrap,.tools,header nav,.actions,.caption,.sectionhead,footer,.reader nav{display:flex;align-items:center;justify-content:space-between;gap:18px}.navwrap{min-height:70px}.brand{font-size:1.22rem;white-space:nowrap}.sigil{color:var(--accent);font-size:1.65rem;vertical-align:middle;padding-right:8px}header nav,.tools,.btn,.under,.tags,label,select,.caption,.crumb,.chapters,.reader nav,footer{font-family:Arial,sans-serif;font-size:.9rem}header nav a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.tools{gap:6px}.tools a,.caption button{display:grid;place-items:center;min-width:38px;min-height:38px}.tools svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4}small,time{font:600 .7rem/1.5 Arial,sans-serif;letter-spacing:.16em;color:var(--accent)}h1,h2,h3,blockquote{font-weight:normal;line-height:1.04;margin:.23em 0 .4em;letter-spacing:-.04em}h1{font-size:clamp(3.3rem,6.4vw,6rem)}h2{font-size:clamp(2.2rem,4vw,3.65rem)}h3{font-size:1.85rem}p{margin:.75em 0 1.1em}.hero{display:grid;grid-template-columns:1.07fr 1fr;gap:5%;align-items:center;min-height:540px;padding:40px 2% 42px;border-bottom:3px double var(--line)}.hero h1{font-size:clamp(3.45rem,6.7vw,6.7rem);margin:.22em 0}.hero em{color:var(--accent)}.herotext p{max-width:34ch;color:var(--muted);font-size:1.18rem}.rule{display:flex;align-items:center;gap:12px}.rule:before{content:"";width:36px;border-top:1px solid}.actions{justify-content:flex-start;flex-wrap:wrap;margin-top:26px}.btn,.under{display:inline-block}.btn{background:var(--accent);color:var(--on);padding:12px 21px;border:1px solid var(--accent)}.btn:hover{color:var(--on);filter:brightness(1.13)}.under{border-bottom:1px solid var(--accent);padding:4px 0;color:var(--accent)}figure{margin:0}.arch{position:relative;padding:6px;border:1px solid var(--accent);border-radius:48% 48% 2px 2px / 30% 30% 2px 2px;overflow:hidden}.arch img{width:100%;height:clamp(300px,30vw,425px);object-fit:cover;border-radius:inherit;display:block}.front figcaption{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--muted);font-size:.9rem;padding:5px 0}.section,.afterword{padding:38px 0}.sectionhead{align-items:end;margin-bottom:22px}.sectionhead h2{margin-bottom:0}.tiles,.afterword,.album{display:grid;gap:26px}.tiles{grid-template-columns:repeat(3,1fr)}.tile{min-width:0}.tilepic,.bindingart{position:relative;overflow:hidden}.tilepic img{display:block;width:100%;aspect-ratio:1.9;object-fit:cover;transition:transform .4s}.tile:hover img{transform:scale(1.035)}.tilemark{position:absolute;bottom:8px;right:9px;background:#171622cf;color:white;padding:2px 7px;font:12px/1.6 Arial}.tilebody{padding:15px 0;border-bottom:1px solid var(--line)}.tilebody p{color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{border:1px solid var(--line);padding:2px 9px;font-size:.75rem}.afterword,.album{grid-template-columns:1fr 1fr}.afterword>section{border-top:1px solid var(--line);padding:20px 0}.afterword h2{font-size:2rem}footer{border-top:3px double var(--line);padding:22px 0;color:var(--muted);margin-top:42px}.intro{text-align:center;padding:55px 0 24px;border-bottom:3px double var(--line)}.intro p,.crumb{color:var(--muted)}.chapter,.reader{max-width:820px;margin:40px auto;padding:28px 0;border-top:1px solid var(--line)}.catalog label{display:inline-grid;gap:4px;margin:0 12px 14px 0}.catalog :is(input,select){background:var(--surface);border:1px solid var(--line);padding:10px;max-width:100%}.result{color:var(--muted);margin-bottom:15px}.crumb{padding:22px 0}.bookhead{display:grid;grid-template-columns:minmax(235px,.68fr) 1.3fr;gap:7%;align-items:center;max-width:1040px;margin:15px auto 40px}.bookhead h1{font-size:clamp(3rem,6vw,5rem)}.binding{padding:7px;border:1px solid var(--line);background:var(--surface)}.bindingart{aspect-ratio:3/4;color:#fff5e4;display:grid;align-items:end;background:#312431}.bindingart img,.covertext{position:absolute;width:100%;height:100%;object-fit:cover}.covertext{display:flex;flex-direction:column;justify-content:end;padding:8%;background:linear-gradient(transparent,#111322e8)}.covertext small{color:inherit}.covertext strong{font:italic 2.6rem/1.05 Georgia}.bindingart.alt img{visibility:hidden}.bindingart.alt .covertext{justify-content:center;text-align:center;border:5px double #b89982;inset:7%;width:86%;height:86%;background:none}.caption{text-align:center;font-size:.78rem}.lead{font-size:1.25em;color:var(--accent)}dl{display:grid;grid-template-columns:auto 1fr;gap:3px 16px;font-size:.92em}dd{margin:0}dt{color:var(--muted)}.chapters{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;border-block:1px solid var(--line);padding:14px}.person{display:flex;align-items:center;gap:24px}.initial,.portrait{width:95px;height:128px;flex:none;border-radius:45% 45% 1px 1px;border:3px double var(--line);background:var(--surface);display:grid;place-items:center;color:var(--accent);font:italic 3.4rem Georgia;object-fit:cover}.quotation{padding:36px;text-align:center;background:var(--surface)}blockquote{font-size:clamp(1.7rem,3vw,2.7rem);font-style:italic}.quiz{display:flex;flex-wrap:wrap;gap:8px}.quiz button,.prefs label{background:var(--surface);border:1px solid var(--line);padding:10px}.landscape{overflow:hidden}.landscape img,.album img{width:100%;display:block;object-fit:cover}.landscape img{aspect-ratio:2}.album figure,.crop{overflow:hidden}.crop img,.landscape img.detail{object-fit:cover;object-position:70% 30%;scale:1.45}.landscape{position:relative}.landscape figcaption{background:var(--bg);position:relative}.crop{aspect-ratio:1.7}.crop img{height:100%}.album button{display:block;width:100%;padding:0}.album figcaption{padding:10px}.prefs fieldset{border:0;margin:0 0 25px;padding:0;display:flex;flex-wrap:wrap;gap:8px}.prefs legend{font-size:1.5rem;margin-bottom:10px}.prefs label{cursor:pointer}.prefs input{accent-color:var(--accent)}.drawstack{max-width:530px;margin:20px auto}.draw{text-align:center}.reader{max-width:64ch}.reader small{display:block;margin-top:40px}.reader h1{font-size:3.5rem}.reader p{font-size:1.13em;line-height:1.85}.reader nav{margin-top:40px;border-top:1px solid var(--line);padding:16px 0}.reader a{color:var(--accent)}dialog{width:min(900px,94%);background:var(--surface);color:var(--ink);border:1px solid var(--line)}dialog::backdrop{background:#15121dd9}dialog img{width:100%;max-height:65vh;object-fit:contain}dialog .zoom{overflow:hidden}dialog .zoom.detail img{transform:scale(1.5)}.motif{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:4}.motif span{position:absolute;left:var(--x);top:var(--y);color:var(--accent);font-size:1.6rem;opacity:.6;animation:drift 4s ease-in-out infinite alternate;animation-delay:var(--delay)}@keyframes drift{to{transform:translateY(12px) rotate(12deg)}}html[data-size=large]{font-size:19px}[data-quiet] *,[data-quiet] *::before{transition:none!important;animation:none!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:900px){.navwrap{flex-wrap:wrap;padding:10px 0;gap:4px}.navwrap nav{order:3;width:100%;justify-content:flex-start;flex-wrap:wrap;gap:8px 18px}.hero{min-height:0}.tiles{gap:15px}}
@media(max-width:650px){.hero,.bookhead,.tiles,.album,.afterword{grid-template-columns:1fr}.hero{padding:28px 0;gap:26px}.hero h1{font-size:clamp(2.9rem,10vw,4.4rem)}.arch img{height:220px}.front{width:100%}.sectionhead,footer{flex-wrap:wrap}.binding{max-width:320px;width:100%;margin:auto}.bookhead{gap:24px}.person{align-items:start;gap:14px}.chapter{margin:25px auto}.tiles{gap:24px}.sectionhead{gap:8px}.quotation{padding:24px 12px}.intro{padding-top:36px}.reader h1{font-size:2.7rem}.navwrap nav{font-size:.82rem}}

/* Общий ритм каталога и страниц книг. */
body { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
header,footer { flex:none; }
main { flex:1 0 auto; margin:0 auto; }
html[data-size=small] { font-size:14px; }
.tiles > .tile { display:flex; }
.tile > a { width:100%; display:flex; flex-direction:column; }
.tilebody { flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.tilebody small { font-size:.94rem; letter-spacing:.035em; }
.tilebody h3, .bookhead h1, .covertext strong { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-style:normal; }
.tilebody .tags { margin-top:auto; }
.tag { font-size:.9rem; padding:3px 10px; }
.read-links { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:1.6rem; }
.read-links a:not(.btn) { text-decoration:underline; text-underline-offset:.25em; }
.filters { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); align-items:end; gap:16px; max-width:52rem; }
.filters label { display:grid; margin:0; gap:6px; }
.filters :is(input,select) { width:100%; min-width:0; height:3rem; font-size:1rem; padding:0 .9rem; }
.result { margin:1rem 0; }
.quotation h2 { font-size:1.65rem; }
.quote-slides { display:grid; align-items:center; min-height:5.5em; }
.quote-slides blockquote { margin:.6rem auto; max-width:42ch; font-size:clamp(1.1rem,2vw,1.42rem); letter-spacing:-.015em; line-height:1.45; }
.quote-controls { display:flex; justify-content:center; align-items:center; gap:.8rem; font:.85rem Arial,sans-serif; color:var(--muted); }
.quote-controls button { width:44px; height:44px; border:1px solid var(--line); color:var(--accent); }
footer { display:grid; grid-template-columns:2fr 1fr 1fr; gap:24px; align-items:start; padding:24px 0; margin:36px auto 0; }
.footer-home,.footer-group { display:grid; justify-items:start; gap:3px; }
.footer-group strong { color:var(--ink); margin-bottom:5px; }
.footer-home .brand { white-space:normal; font-family:Georgia,serif; color:var(--ink); }
footer a:hover { text-decoration:underline; }
@media(max-width:650px) {
  .filters { grid-template-columns:1fr; gap:12px; }
  footer { grid-template-columns:1fr 1fr; gap:16px; }
  .footer-home { grid-column:1 / -1; }
}

.reader { width:100%; max-width:64rem; }
.reader-tools,.reader-outlets { max-width:52rem; margin:0 auto; }
.reader-tools > a { display:inline-block; margin-bottom:.65rem; }
.read-options { border-block:1px solid var(--line); font:1rem/1.45 Arial,sans-serif; }
.read-options summary { cursor:pointer; padding:.7rem 0; color:var(--accent); }
.read-options fieldset { margin:0 0 1rem; padding:0; border:0; }
.read-options legend { margin-bottom:.5rem; }
.options-inner { padding:.25rem 0 1rem; }
.read-presets,.reader-outlets { display:flex; flex-wrap:wrap; gap:.5rem; }
.read-presets button,.read-fields select { border:1px solid var(--line); background:var(--surface); padding:.5rem .7rem; }
.read-presets button[aria-pressed=true] { background:var(--accent); color:var(--on); }
.read-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); gap:.8rem 1rem; }
.read-fields label { display:grid; gap:.25rem; }
.read-fields select { width:100%; font-size:1rem; }
.reader nav.reader-outlets { justify-content:flex-start; margin:1rem auto; border:0; }
.reading-sheet { max-width:var(--read-width,64ch); margin:1rem auto; padding:1rem min(var(--read-margin,2vw),4rem); overflow-wrap:anywhere; }
.reading-sheet[data-paper=night] { background:#202124; color:#e4e1dc; --accent:#d1bbdc; }
.reading-sheet[data-paper=cream] { background:#f7efdd; color:#352c28; --accent:#733c46; }
.reading-sheet small { margin-top:1rem; }
.reading-sheet p { font-family:var(--read-face,Georgia,serif); font-size:var(--read-size,1.13rem); line-height:var(--read-line,1.7); margin:0 0 var(--read-gap,.85em); text-indent:var(--read-indent,0); text-align:var(--read-align,left); }
.reading-sheet nav { flex-wrap:wrap; }

.intro { padding:clamp(20px,3vw,36px) 0 18px; }
.intro h1 { font-size:clamp(2.25rem,4vw,3.75rem); margin:.1em 0; }
.intro p { margin:.25rem 0 0; }
small,time { letter-spacing:.08em; }
.tilepic,.bindingart { aspect-ratio:9/16; }
.tilepic img { height:100%; width:100%; aspect-ratio:auto; object-fit:cover; }
.tilepic { width:min(100%,17rem); margin-inline:auto; }
.binding { width:min(100%,20rem); justify-self:center; }
.chapter-heading { display:flex; align-items:center; gap:1rem; justify-content:space-between; }
.focus { font:.92rem Arial,sans-serif; color:var(--accent); border:1px solid var(--line); padding:.4rem .85rem; }
.focus[aria-pressed=true] { color:var(--on); background:var(--accent); }
.person .portrait,.person .initial { width:clamp(150px,18vw,220px); height:auto; aspect-ratio:3/4; border-radius:2px; }
.person .portrait { object-fit:contain; }
.news-list { max-width:64rem; margin:1.5rem auto; }
.news-row { display:grid; grid-template-columns:minmax(90px,30%) 1fr; align-items:center; gap:clamp(12px,3vw,36px); padding:1.2rem 0; border-bottom:1px solid var(--line); }
.news-row img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.news-row h2 { font-size:clamp(1.25rem,2.8vw,2.3rem); margin:0; }
.news-row p { margin:.45rem 0; }
main:has(.reader) {
  --outer-edge:max(4%,calc((100% - 1280px)/2));
  width:auto;
  max-width:none;
  margin-inline:max(3%,calc((100% - 1728px)/2)) var(--outer-edge);
}
.reader { display:grid; grid-template-columns:clamp(235px,21vw,340px) minmax(0,1fr); gap:clamp(20px,3vw,48px); align-items:start; max-width:none; margin:1rem auto; padding:.8rem 0; }
.reader-tools { width:100%; margin:0; }
.reading-sheet { width:100%; max-width:none; min-width:0; margin:0; padding:.75rem clamp(.45rem,var(--read-margin,2vw),2.5rem); }
.reading-column { width:100%; max-width:var(--read-width,94ch); margin-inline:auto; }
.reading-sheet h1 { font-size:clamp(1.65rem,2.4vw,2.3rem); margin:.25em 0 .55em; }
.reading-sheet small { margin:0; }
.reading-sheet p { text-indent:var(--read-indent,0); }
.chapter-index summary { padding:.65rem 0; color:var(--accent); cursor:pointer; font:1rem Arial,sans-serif; }
.toc { padding-inline-start:1.6rem; }
.toc li { padding:.2rem 0; }
.read-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
.read-fields select { padding:.35rem; font-size:.86rem; }
.read-presets { gap:.3rem; }
.read-presets button { padding:.4rem .55rem; font-size:.85rem; }
@media(max-width:800px) {
 main:has(.reader) { margin-inline:4%; }
 .reader { grid-template-columns:minmax(0,1fr); gap:.5rem; }
 .reader-tools { max-width:none; }
 .read-fields { grid-template-columns:repeat(auto-fit,minmax(min(135px,100%),1fr)); }
}
@media(max-width:480px) {
 .person { flex-direction:column; }
 .tilepic { width:min(100%,14rem); }
}

.catalog .tiles { grid-template-columns:minmax(0,1fr); gap:0; }
:is(.catalog,.drawstack) .tile { padding:1rem 0; border-bottom:1px solid var(--line); }
:is(.catalog,.drawstack) .tile > a { display:grid; grid-template-columns:clamp(6rem,16vw,10rem) minmax(0,1fr); gap:clamp(.8rem,2.6vw,2.25rem); align-items:start; }
:is(.catalog,.drawstack) .tilepic { width:100%; margin:0; }
:is(.catalog,.drawstack) .tilebody { padding:0; border:0; min-width:0; overflow-wrap:anywhere; }
:is(.catalog,.drawstack) .tilebody h2 { margin:0; font-size:clamp(1.4rem,2.4vw,2.15rem); }
:is(.catalog,.drawstack) .tilebody .tags { width:100%; margin:.65rem 0 0; padding:.65rem 0; border-block:1px solid var(--line); }
:is(.catalog,.drawstack) .tilebody p { margin:.7rem 0 0; max-width:74ch; }
@media(max-width:540px) {
  :is(.catalog,.drawstack) .tile > a { grid-template-columns:minmax(4rem,23%) minmax(0,1fr); }
  :is(.catalog,.drawstack) .tag { padding:2px 6px; font-size:.8rem; }
}

.rights { grid-column:1 / -1; justify-self:start; padding:.3rem .7rem; border:1px solid var(--line); color:var(--muted); font-size:.8rem; }
.tilebody p, .bookhead p, .person p, #reasons li {
  -webkit-user-select:none;
  user-select:none;
}

.drawstack { max-width:none; text-align:left; }
