
:root{--paper:#f3f0e7;--ink:#203530;--muted:#646e64;--gold:#bba77e;--serif:'Prata',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #c2a567;outline-offset:6px}header{height:98px;display:flex;align-items:center;justify-content:space-between;max-width:1320px;margin:auto;padding:0 54px}.brand{display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:.17em;text-transform:uppercase}.brand svg{width:32px;height:35px}nav{display:flex;gap:34px;font-size:13px}nav a:hover{border-bottom:1px solid}main{overflow:hidden}.hero{min-height:690px;background:#192d2c;color:var(--paper);display:grid;grid-template-columns:1.05fr 1fr;position:relative}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 95% 25%,#5f73603b,transparent 50%);pointer-events:none}.hero-copy{padding:95px 40px 80px max(54px,calc((100vw - 1212px)/2));z-index:1;align-self:center}.eyebrow{font-size:10px;letter-spacing:.23em;text-transform:uppercase;display:flex;align-items:center;gap:13px}.eyebrow:before{content:'';width:26px;height:1px;background:currentColor}.hero .eyebrow{color:#c7b88f}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(65px,6.8vw,108px);line-height:1.13;letter-spacing:-.045em;margin:30px 0 27px}h1 em{font-weight:400;color:#c5bc9f}.hero-copy>p{color:#c1c9bf;max-width:355px;line-height:1.85;font-size:15px}.actions{display:flex;align-items:center;gap:28px;margin-top:36px}.button{background:#dfd7bf;color:#203530;display:inline-flex;align-items:center;justify-content:space-between;gap:37px;padding:17px 22px;font-size:12px;transition:background .2s,transform .2s}.button:hover{background:#f2ead6;transform:translateY(-2px)}.text-link{font-size:12px;border-bottom:1px solid #a5afa1;padding-bottom:5px}.hero-art{position:relative;min-height:610px;display:flex;justify-content:center;align-items:center;padding:45px 55px 40px 0}.scene{width:100%;height:100%;position:absolute;inset:0;opacity:.9}.art-note{position:absolute;bottom:27px;right:42px;font-size:9px;letter-spacing:.14em;color:#b3b9aa;text-transform:uppercase}.orbit{position:absolute;width:430px;height:430px;border:1px solid #c0b18729;border-radius:50%;top:105px;left:50%;transform:translateX(-50%)}.book{width:250px;height:374px;transform:rotate(-8deg);position:relative;box-shadow:27px 30px 55px #0008,6px 1px 0 #d4cebd,10px 2px 0 #8b8b79;transition:transform .6s;background:#142421;z-index:1;border:1px solid #7d88795c}.book:hover{transform:rotate(-10deg) translateY(-8px)}.book:after{content:'';position:absolute;left:7px;top:0;bottom:0;width:2px;background:#a6b49b40}.cover-title{position:absolute;top:43px;left:27px;font-family:var(--serif);font-size:35px;line-height:1.35;color:#e2decf;letter-spacing:.015em}.cover-line{position:absolute;bottom:25px;left:29px;font-size:8px;text-transform:uppercase;letter-spacing:.3em;color:#d2cfbc}.book svg{position:absolute;width:100%;height:100%}.strip{padding:24px 54px;display:flex;justify-content:center;gap:42px;border-bottom:1px solid #20353020;color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.strip span+span:before{content:'✦';margin-right:42px;color:#9f8f6c}.section{max-width:1212px;margin:0 auto;padding:100px 0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px}h2{font-size:clamp(33px,3.6vw,49px);line-height:1.35;letter-spacing:-.035em;margin:21px 0 25px}.body-copy{font-size:15px;line-height:1.95;color:var(--muted)}.intro .body-copy{padding-top:26px}.body-copy p{margin:0 0 19px}.small-label{font-size:10px;letter-spacing:.17em;text-transform:uppercase}.intro-foot{display:flex;gap:32px;margin-top:29px;padding-top:22px;border-top:1px solid #20353026}.intro-foot div{font-size:12px}.intro-foot span{display:block;color:#879084;font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}.excerpt{background:#e6e6db;padding:84px 30px;text-align:center;position:relative}.excerpt .eyebrow{justify-content:center}.quote-mark{font-family:Georgia,serif;font-size:90px;line-height:.6;color:#9b9f87;margin-top:42px}blockquote{font-family:var(--serif);font-size:clamp(22px,2.7vw,36px);line-height:1.65;max-width:820px;margin:7px auto 27px;letter-spacing:-.025em}.excerpt .attribution{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#717b69}.read-button{border:0;border-bottom:1px solid #596a54;padding:0 0 7px;background:transparent;color:var(--ink);margin-top:29px;font-size:12px;cursor:pointer}.shelf-head{display:flex;justify-content:space-between;align-items:flex-end}.shelf-head>p{font-size:12px;color:var(--muted);max-width:215px;line-height:1.7}.shelf{margin-top:35px;border-top:1px solid #20353025;padding-top:35px;display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:center}.mini-art{height:250px;background:#d8ded2;display:grid;place-items:center;position:relative;overflow:hidden}.mini-art:before{content:'';width:160px;height:160px;border-radius:50%;border:1px solid #80917c66;position:absolute}.mini-book{padding:31px 18px;width:123px;height:177px;background:#233c34;color:#ded7bf;font-family:var(--serif);font-size:23px;line-height:1.4;transform:rotate(-8deg);box-shadow:12px 14px 23px #20353035;z-index:1}.shelf h3{font-size:33px;margin:15px 0}.shelf p{max-width:500px;font-size:14px;line-height:1.8;color:var(--muted)}.shelf .text-link{display:inline-block;margin-top:15px}.closing{border-top:1px solid #20353020;max-width:1212px;margin:auto;padding:45px 0 55px;display:flex;justify-content:space-between;align-items:center}.closing p{color:var(--muted);font-family:var(--serif);font-size:18px;max-width:400px;line-height:1.6}footer{background:#172b29;color:#cbd1c2;padding:27px 54px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.05em}footer a{font-size:12px}dialog{border:0;padding:0;width:min(740px,calc(100% - 28px));max-height:88vh;color:var(--ink);background:var(--paper);box-shadow:0 20px 90px #0007}dialog::backdrop{background:#081c19c9;backdrop-filter:blur(5px)}.reader-top{position:sticky;top:0;background:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #20353020;z-index:1}.close{border:1px solid #20353040;background:transparent;width:36px;height:36px;cursor:pointer;font-size:22px}.reader{padding:20px 55px 50px}.reader h2{font-size:32px}.reader p{font-family:Georgia,serif;font-size:18px;line-height:1.9}.reader .small-label{font-family:var(--sans);font-size:10px}.reader .reader-end{font-family:var(--sans);font-size:12px;color:var(--muted);border-top:1px solid #20353020;padding-top:20px;margin-top:30px}@media(min-width:1500px){.hero-art{padding-right:140px}}@media(max-width:1300px){.section,.closing{margin-left:54px;margin-right:54px}.hero-copy{padding-top:75px;padding-bottom:75px}}@media(max-width:800px){header{height:80px;padding:0 25px}.brand{font-size:10px}nav{gap:20px;font-size:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 28px 15px}h1{font-size:73px}.hero-art{min-height:480px;padding:30px 0 65px}.orbit{width:340px;height:340px;top:50px}.book{width:215px;height:320px}.cover-title{font-size:30px;top:30px}.art-note{right:25px;bottom:20px}.hero-copy>p{max-width:410px}.strip{padding:20px 25px;gap:17px;font-size:8px;letter-spacing:.09em}.strip span+span:before{margin-right:17px}.section{margin:0 27px;padding:65px 0}.intro{grid-template-columns:1fr;gap:0}.intro .body-copy{padding-top:0}.excerpt{padding:65px 27px}.shelf-head{display:block}.shelf-head>p{max-width:none}.shelf{grid-template-columns:130px 1fr;gap:24px}.mini-art{height:210px}.mini-book{width:90px;height:145px;font-size:18px}.shelf h3{font-size:25px}.closing{margin:0 27px;gap:25px}.closing .brand{display:none}footer{padding:25px 27px;gap:20px;font-size:9px}.reader{padding:15px 27px 35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
:root{--ink:#34342d;--muted:#6e6a60;--gold:#b7aa8e}.hero{background:#171b1a}.hero:before{background:radial-gradient(ellipse at 85% 25%,#aaa28a25,transparent 55%)}.scene{filter:grayscale(1);opacity:.45}.orbit{border-color:#c0b18725}.book{width:280px;height:420px;border:0;background:#111;box-shadow:27px 30px 55px #0009,5px 1px 0 #c7bfa9,9px 2px 0 #736e61}.book:after{background:#ddd5bc25}.book>img{width:100%;height:100%;display:block;object-fit:contain}.mini-book{padding:0;width:123px;height:184.5px;object-fit:contain;background:#171b1a}.mini-art{background:#dedace}.excerpt{background:#e7e2d6}footer{background:#171b1a}.hero .eyebrow{color:#bfb298}@media(max-width:800px){.book{width:230px;height:345px}.mini-book{width:90px;height:135px}}@media(max-width:440px){header{padding:15px 20px;height:auto;min-height:85px;gap:12px}.brand{gap:8px;letter-spacing:.12em}.brand svg{width:26px}nav{gap:13px;font-size:11px}.hero-copy{padding:48px 25px 15px}.hero-copy>p br{display:none}.actions{gap:22px}.button{gap:25px}}
@font-face{font-family:'AuthorTitle';font-style:normal;font-weight:200 700;font-display:swap;src:url(/fonts/Oswald.ttf) format('truetype');}
@font-face{font-family:'AuthorSerif';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Lora.ttf) format('truetype');}
@font-face{font-family:'AuthorSans';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/NotoSans.ttf) format('truetype');}
:root{--serif:'AuthorSerif',Georgia,serif;--sans:'AuthorSans',Arial,sans-serif}body{font-family:var(--sans)}h1{font-family:'AuthorTitle','Arial Narrow',sans-serif;font-size:clamp(70px,6.6vw,102px);font-weight:400;line-height:1.18;letter-spacing:.12em;text-transform:uppercase;margin:30px 0}h1 em{font-family:inherit;font-style:normal;font-weight:400;color:inherit;letter-spacing:.2em}h2,h3,blockquote{font-family:var(--serif);font-synthesis:none}h2{font-size:clamp(31px,3.2vw,45px);line-height:1.4}.shelf h3{font-family:'AuthorTitle',sans-serif;font-size:38px;letter-spacing:.09em;text-transform:uppercase}.reader p{font-family:var(--serif);font-synthesis:none;font-size:17px;line-height:1.95}.reader .reader-end{font-family:var(--sans)}.author-section{border-top:1px solid #34342d26;display:grid;grid-template-columns:1fr 1.1fr;gap:85px}.author-section .body-copy{padding-top:0}.author-monogram{font-family:'AuthorTitle',sans-serif;font-size:clamp(80px,10vw,136px);letter-spacing:.12em;line-height:1;color:#aea18a;margin-top:34px}.intro-foot{flex-wrap:wrap}.intro-foot div:last-child{max-width:240px}.nav-author{white-space:nowrap}.hero-copy>p{max-width:400px}.reader-top{gap:20px}.reader .reader-end{font-size:12px}.reader .read-button{margin-top:10px}@media(max-width:800px){h1{font-size:76px}.author-section{grid-template-columns:1fr;gap:28px}.author-monogram{display:none}.shelf h3{font-size:29px}}@media(max-width:520px){header{flex-wrap:wrap;justify-content:center;padding:16px 22px;gap:13px}header .brand{width:100%;justify-content:center}nav{gap:22px;justify-content:center;font-size:11px}h1{font-size:clamp(55px,16vw,76px)}.hero-copy{padding-top:42px}.intro{gap:10px}.intro-foot{gap:23px}.reader{padding-left:24px;padding-right:24px}}

.mini-art{background:transparent;overflow:visible}.mini-art:before{display:none}.mini-book{transform:rotate(-5deg);box-shadow:8px 12px 18px #27292024}

.books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:35px}.books-grid .shelf{display:block;margin:0;border-top:1px solid #34342d26;padding-top:28px}.books-grid .mini-art{height:330px;margin-bottom:27px;background:transparent;overflow:visible;display:flex;align-items:center;justify-content:center}.books-grid .mini-art:before{display:none}.books-grid .mini-book{height:285px;width:auto;max-width:100%;object-fit:contain;transform:none;box-shadow:6px 10px 18px #27292020}.books-grid h3{margin:14px 0 19px;font-size:33px}.books-grid .shelf p{font-size:13px;line-height:1.9}.books-grid .shelf .text-link{margin-top:8px}.book-status{display:inline-block;font-size:10px;letter-spacing:.035em;border:1px solid #b5aa94;padding:8px 12px;border-radius:2px;color:#5f5c4f;background:transparent}.shelf-head>p{max-width:280px}@media(max-width:900px){.books-grid{gap:25px}.books-grid h3{font-size:28px}.books-grid .mini-art{height:280px}.books-grid .mini-book{height:250px}.book-status{font-size:9px;padding:8px}}@media(max-width:680px){.books-grid{grid-template-columns:1fr;gap:45px}.books-grid .shelf{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center}.books-grid .mini-art{height:200px;margin:0}.books-grid .mini-book{height:auto;width:110px;max-height:190px}.books-grid h3{font-size:27px;margin:10px 0 15px}.books-grid .shelf p{font-size:12px}}@media(max-width:360px){.books-grid .shelf{grid-template-columns:95px 1fr;gap:18px}.books-grid .mini-book{width:90px}.book-status{line-height:1.8}}

/* Author homepage */
.author-hero{position:relative;background:#171b1a;color:#f3f0e7;overflow:hidden}.author-hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 5% 80%,#b7a78b12,transparent 55%),radial-gradient(ellipse at 95% 0%,#aba18a10,transparent 60%)}.author-hero-inner{max-width:1212px;margin:auto;padding:76px 0 83px;position:relative}.author-hero .eyebrow{color:#bfb298}.author-opening{display:grid;grid-template-columns:1.22fr 1fr;gap:90px;margin-top:30px;align-items:center}.author-hero h1{font-family:var(--serif);text-transform:none;font-weight:400;font-size:clamp(48px,4.8vw,70px);line-height:1.21;letter-spacing:-.045em;margin:0}.author-hero h1 em{font:inherit;font-style:normal;color:#c7b99c;letter-spacing:inherit}.author-hero .actions{margin-top:40px;gap:26px}.author-hero .text-link{color:#d5d4c8;border-color:#7b8174}.author-manifesto{padding-left:32px;border-left:1px solid #b7a78b45}.author-manifesto p{font-family:var(--sans);font-size:14px;line-height:1.95;color:#bcc3b8;margin:0 0 23px}.author-manifesto p:last-child{margin:0}.author-manifesto .manifesto-lead{font-family:var(--serif);font-size:18px;line-height:1.8;color:#e5e0d1}.book-breadcrumb{max-width:1212px;margin:auto;display:flex;justify-content:space-between;gap:25px;padding:23px 0;font-size:11px;color:var(--muted)}.book-breadcrumb span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.book-back{padding:45px 25px 55px;text-align:center}.books-grid .text-link{line-height:1.9}.author-section .body-copy{padding-top:0}@media(max-width:1300px){.author-hero-inner{margin:0 54px}.author-opening{gap:55px}.book-breadcrumb{margin:0 54px}}@media(max-width:900px){.author-opening{gap:35px;grid-template-columns:1fr 1fr}.author-hero h1{font-size:51px}.author-manifesto{padding-left:24px}.author-manifesto p{font-size:13px}.author-manifesto .manifesto-lead{font-size:16px}.author-hero .actions{align-items:flex-start;flex-direction:column;gap:22px}}@media(max-width:680px){.author-hero-inner{margin:0 27px;padding:48px 0 52px}.author-opening{grid-template-columns:1fr;gap:40px}.author-hero h1{font-size:clamp(45px,11vw,62px);line-height:1.2}.author-hero h1 br:first-child{display:none}.author-manifesto{padding-left:21px}.author-manifesto p{font-size:14px}.author-manifesto .manifesto-lead{font-size:17px}.author-hero .actions{flex-direction:row;align-items:center;gap:25px;margin-top:30px}.book-breadcrumb{margin:0 25px}.book-breadcrumb span{display:none}.author-hero .button{gap:24px;padding:15px 18px}.author-hero .text-link{font-size:11px}}@media(max-width:370px){.author-hero .actions{align-items:flex-start;flex-direction:column}}

.book-details{transition:background .2s,color .2s}.book-details:hover{background:#34342d;color:#f3f0e7}.books-grid .book-status{line-height:1.6}.books-grid .shelf>div:last-child{padding-top:2px}

/* Granat i mgła — shared author palette */
:root{color-scheme:dark;--paper:#101C2A;--ink:#EDF2F4;--muted:#B4C1CD;--gold:#A8C2CB;--night:#0C1724;--line:#9BB8CA30;--ice:#B8CFDA}
body{background:var(--paper);color:var(--ink)}
header{background:var(--night);color:#E1EAF0}
header .brand small{color:#B4C7D4}
nav a{color:#CBD8E1}nav a:hover{color:#FFF;border-bottom-color:#A8C2CB}
a:focus-visible,button:focus-visible{outline-color:#A8C2CB}
.author-hero,.hero{background:#0C1724;color:var(--ink)}
.author-hero:before{background:radial-gradient(ellipse at 82% 87%,#7294AE26 0%,#7294AE09 33%,transparent 67%),radial-gradient(ellipse at 5% 28%,#3D627D1A 0%,transparent 65%),linear-gradient(150deg,#0B1420,#112333 90%)}
.author-hero .eyebrow,.hero .eyebrow{color:#A8C2CB}
.author-hero h1 em{color:#B2CCD7}
.author-hero .text-link{color:#DCE7ED;border-color:#9AB5C17A}
.author-manifesto{border-left-color:#94AFBF55}
.author-manifesto p{color:#BDCBD5}
.author-manifesto .manifesto-lead{color:#E0EAF0}
.button{background:#B8CFDA;color:#102330}
.button:hover{background:#D1E1E8;color:#0C1724}
.strip{background:#122332;color:#B4C7D4;border-color:var(--line)}
.strip span+span:before{color:#7F9FAC}
.body-copy,.shelf-head>p,.shelf p,.closing p{color:var(--muted)}
.section .eyebrow{color:#A8C2CB}
.books-grid .shelf,.author-section,.closing,.shelf,.intro-foot{border-color:var(--line)}
.books-grid .mini-art{position:relative;isolation:isolate}
.books-grid .mini-art:before{content:'';display:block;position:absolute;width:116%;height:85%;top:6%;left:-8%;border:0;border-radius:50%;background:radial-gradient(ellipse,#B1CDD530 0%,#759BAD13 43%,transparent 72%);filter:blur(16px);z-index:0;pointer-events:none}
.books-grid .mini-book{position:relative;z-index:1;outline:1px solid #B8D1DF40;outline-offset:0;box-shadow:0 18px 30px #0007,0 0 22px #9BBAC512}
.small-label{color:#B3C6D3}
.book-status{color:#C1D3DD;border-color:#8DAAB65C;background:transparent}
.book-details:hover{background:#B8CFDA;color:#102330;border-color:#B8CFDA}
.text-link{border-color:#9AB5C17A}
.excerpt{background:#152A3A;color:var(--ink)}
.quote-mark{color:#829DAA}
.excerpt .attribution{color:#BACBD6}
.read-button{color:#E2EDF2;border-color:#94ADBB}
.intro-foot span{color:#A8BECC}
.book-breadcrumb{color:#BACCD8}
.hero:before{background:radial-gradient(ellipse at 90% 55%,#8EAFBF20,transparent 65%)}
.hero-copy>p{color:#BDCBD5}
.hero-art{isolation:isolate}
.hero-art:before{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(ellipse,#8EADBC24,transparent 68%);filter:blur(18px);z-index:0;pointer-events:none}
.hero-art .scene,.hero-art .orbit{display:none}
.book{box-shadow:24px 30px 55px #0009,5px 1px 0 #A0AFB6,9px 2px 0 #566875;outline:1px solid #B8D1DF30}
footer{background:#0C1724;color:#C0CFDA}
dialog,.reader-top{background:#142332;color:#EDF2F4}
.reader-top{border-color:var(--line)}
.close{border-color:#9BB8CA66;color:#EDF2F4}
.reader .reader-end{color:#B9CCD7;border-color:var(--line)}
dialog::backdrop{background:#050D16CF}

/* Continuous midnight atmosphere: uneven light and fine film grain. */
body{background-color:#0C1724;background-image:radial-gradient(ellipse at 88% 13%,#456D8452 0%,transparent 39%),radial-gradient(ellipse at 8% 43%,#274B6257 0%,transparent 37%),radial-gradient(ellipse at 78% 79%,#385A6C38 0%,transparent 35%)}
header{background:transparent;box-shadow:none;clip-path:none}
main{position:relative;isolation:isolate}
main:after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:url('/assets/film-grain.svg') repeat;opacity:.055}
.author-hero,.hero{background:transparent}
.author-hero:before{mask-image:linear-gradient(transparent,#000 20%,#000 75%,transparent);background:radial-gradient(ellipse at 16% 36%,#48647E29 0%,transparent 53%),radial-gradient(ellipse at 79% 64%,#7CA4B51C 0%,transparent 55%)}
.strip{background:linear-gradient(90deg,transparent,#93BBC40A 45%,transparent);border-color:#9BB8CA1C}
footer{background:linear-gradient(180deg,transparent,#08121E99);border-top:1px solid #9BB8CA1C}
/* Circular backlight extends beyond the cover silhouette. */
.books-grid .mini-art:before{width:410px;height:410px;max-width:none;top:50%;left:50%;border-radius:50%;background:radial-gradient(circle closest-side,#E2F5FFD9 0%,#B7E1F5BF 35%,#8BC9EA8C 52%,#73B4D94D 67%,#5A92B51F 82%,transparent 100%);filter:blur(10px);opacity:.2;transform:translate(-50%,-50%) scale(.88);transition:opacity 1.5s ease,transform 1.5s ease}
.books-grid .mini-book{transform-origin:center;transition:transform 1.5s cubic-bezier(.2,.65,.3,1),box-shadow 1.5s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.books-grid .mini-art:hover .mini-book,.books-grid a.mini-art:focus-visible .mini-book{transform:scale(1.09);box-shadow:0 23px 32px #0006,0 0 16px #BADFED26}
.books-grid .mini-art:hover:before,.books-grid a.mini-art:focus-visible:before{opacity:1;transform:translate(-50%,-50%) scale(1.06)}
}
@media(max-width:900px){.books-grid .mini-art:before{width:355px;height:355px}}
@media(max-width:680px){.books-grid .mini-art:before{width:220px;height:220px;opacity:.25}}

/* Section rhythm follows spacing and typography on one continuous background. */
.strip{background:transparent;border:0}
.hero:before{mask-image:linear-gradient(transparent,#000 22%,#000 72%,transparent)}
.excerpt{background:transparent}
.book-progress,.hero-copy>.book-progress,.books-grid .shelf .book-progress{font-family:var(--sans);font-size:11px;line-height:1.7;color:var(--muted);margin:16px 0 0;letter-spacing:.02em}
.hero .lighthouse-title{font-family:var(--serif);font-size:clamp(46px,4.6vw,68px);letter-spacing:.01em;line-height:1.2}
.hero .lighthouse-title em{letter-spacing:.01em}
@media(max-width:800px){.hero .lighthouse-title{font-size:clamp(43px,10vw,68px)}}

/* Refined opening after removing duplicate labels. */
.author-opening{margin-top:0}
.author-hero h1{text-wrap:balance}
.author-manifesto p{font-size:14px;line-height:1.95}
@media(max-width:900px) and (min-width:681px){.author-manifesto p{font-size:13px}}

/* Author site navigation and dedicated catalogue / biography pages. */
header{height:auto;min-height:98px;padding-top:20px;padding-bottom:20px;gap:28px}
header nav{align-items:center;gap:32px}
header nav a{padding:9px 0;border-bottom:2px solid transparent;white-space:nowrap}
header nav a[aria-current="page"],header nav a.nav-parent{color:var(--ice);border-bottom-color:#A8C2CB}
footer nav{gap:25px;flex-wrap:wrap}
.page-title{font-family:var(--serif);text-transform:none;font-size:clamp(42px,5vw,66px);letter-spacing:-.035em;line-height:1.25;margin:0 0 42px}
.catalogue-page{padding-top:65px;padding-bottom:90px}
.catalogue-page .books-grid{margin-top:0}
.catalogue-genre{min-height:48px}
.author-page{max-width:900px;padding-top:65px;padding-bottom:90px}
.author-bio{max-width:690px;font-size:17px;line-height:1.95}
.author-body main{min-height:calc(100vh - 190px)}
.home-books{padding-top:20px;padding-bottom:75px}
.home-books .shelf-head h2{margin-top:0}
.home-books .books-grid{margin-top:25px}
.home-books .shelf{border-top:0;padding-top:0}
.home-books .mini-art{height:270px;margin-bottom:20px}
.home-books .mini-book{height:240px}
.home-books .books-grid h3{font-size:29px}
.related-books{padding-top:50px;padding-bottom:80px}
.related-books .books-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px;margin:30px auto 0;gap:65px}
/* Broad, still pools of light and shadow add variety without section bands. */
body{background-image:radial-gradient(ellipse at 93% 9%,#416D8254 0%,transparent 42%),radial-gradient(ellipse at 7% 47%,#3260784A 0%,transparent 37%),radial-gradient(ellipse at 76% 82%,#4B536A2E 0%,transparent 34%),radial-gradient(ellipse at 38% 62%,#02091166 0%,transparent 38%),linear-gradient(155deg,#09131F 0%,#101F2E 45%,#0B1725 100%)}
main:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 65% 15% at 12% 40%,#7799AA12,transparent 80%),radial-gradient(ellipse 75% 18% at 90% 73%,#91A7B310,transparent 78%);transform:skewY(-7deg)}
@media(max-width:900px){.home-books .books-grid{gap:25px}.home-books .mini-art{height:245px}.home-books .mini-book{height:215px}}
@media(max-width:680px){header{min-height:0;flex-direction:column;align-items:center;padding:22px 25px 16px;gap:12px}header .brand{width:auto}header nav{gap:30px;font-size:12px}.page-title{margin-bottom:30px}.catalogue-page,.author-page{padding-top:38px;padding-bottom:60px}.catalogue-genre{min-height:0}.author-bio{font-size:16px}.home-books{padding-top:12px;padding-bottom:55px}.home-books .shelf-head,.related-books .shelf-head{display:flex;align-items:center;gap:20px}.home-books .shelf-head h2,.related-books .shelf-head h2{font-size:29px;margin:0}.home-books .shelf-head .text-link,.related-books .shelf-head .text-link{font-size:11px;white-space:nowrap}.home-books .books-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-books .books-grid .shelf{display:block}.home-books .mini-art{height:165px;margin-bottom:14px}.home-books .mini-book{height:auto;max-height:150px;width:100%;max-width:100px}.home-books .books-grid h3{font-size:19px;margin:10px 0}.home-books .book-details{padding:6px;font-size:10px}.home-books .book-progress{font-size:10px!important}.related-books .books-grid{grid-template-columns:1fr;gap:40px}.related-books{padding-top:35px;padding-bottom:55px}.author-hero-inner{padding-top:36px}footer{align-items:flex-start}footer nav{gap:18px}}
@media(max-width:380px){.home-books .books-grid{gap:12px}.home-books .mini-art{height:140px}.home-books .mini-book{max-height:125px}.home-books .books-grid h3{font-size:17px}}

.home-books .shelf-head,.related-books .shelf-head{align-items:center}
.home-books .shelf-head h2,.related-books .shelf-head h2{margin:0}

/* More prominent author signature and a lighter latest-books preview. */
header .brand{font-size:20px;gap:15px;letter-spacing:.12em;line-height:1.2}
header .brand svg{width:42px;height:46px;flex-shrink:0}
header .brand-name{display:block;white-space:nowrap}
header .brand small{display:block;font-size:11px;letter-spacing:.14em;line-height:1.5;margin-top:5px}
.home-books .shelf-head{flex-wrap:wrap;gap:12px 28px}
@media(max-width:680px){header .brand{font-size:21px;gap:14px;letter-spacing:.1em}.home-books .books-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-books .shelf-head h2{font-size:29px}}

/* Author portrait on the biography page. */
.author-page{max-width:1212px;display:grid;grid-template-columns:1.2fr .85fr;gap:65px;align-items:center;padding-top:55px;padding-bottom:75px}
.author-page .page-title{margin-bottom:32px}
.author-page .author-bio{font-size:16px}
.author-portrait{position:relative;isolation:isolate;margin:0;max-width:420px;justify-self:center;width:100%}
.author-portrait:before{content:'';position:absolute;inset:8% -12% 7%;z-index:0;background:radial-gradient(ellipse at 50% 45%,#91B8CE32 0%,#608FA01C 45%,transparent 72%);filter:blur(20px);pointer-events:none}
.author-portrait img{position:relative;z-index:1;display:block;width:100%;height:auto;mask-image:linear-gradient(#000 0%,#000 86%,transparent 100%)}
@media(max-width:900px){.author-page{gap:35px;grid-template-columns:1.1fr .85fr}.author-page .author-bio{font-size:15px}}
@media(max-width:680px){.author-page{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-top:38px;padding-bottom:55px}.author-page .author-bio{font-size:16px}.author-portrait{max-width:300px;align-self:center;order:-1}.author-portrait img{max-height:420px;width:100%;object-fit:contain}.author-page .page-title{margin-bottom:25px}}

/* One current title on the homepage; the catalogue contains all books. */
.home-books .latest-grid{display:block;margin-top:30px}
.home-books .latest-grid .latest-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center;border:0;padding:0}
.home-books .latest-grid .mini-art{height:400px;margin:0}
.home-books .latest-grid .mini-book{height:340px;width:auto;max-width:100%;max-height:none}
.home-books .latest-grid .latest-copy{padding:0}
.home-books .latest-grid h3{font-size:45px;margin:0 0 25px}
.home-books .latest-grid .latest-copy p{font-size:15px;line-height:1.95;max-width:560px;margin:0 0 18px}
.home-books .latest-grid .actions{gap:25px;margin-top:28px;flex-wrap:wrap}
@media(max-width:900px){.home-books .latest-grid .latest-feature{gap:35px}.home-books .latest-grid h3{font-size:38px}}
@media(max-width:680px){.home-books .latest-grid .latest-feature{grid-template-columns:1fr;gap:28px}.home-books .latest-grid .mini-art{height:290px}.home-books .latest-grid .mini-book{height:260px;max-width:100%;width:auto}.home-books .latest-grid h3{font-size:35px;margin:0 0 20px}.home-books .latest-grid .latest-copy p{font-size:14px}.home-books .latest-grid .actions{align-items:flex-start;gap:22px}}

/* Quiet wordmark, persistent full-width navigation and legible book context. */
html{scroll-padding-top:122px}
header{position:sticky;top:0;z-index:20;max-width:none;width:100%;padding-left:max(54px,calc((100vw - 1212px)/2));padding-right:max(54px,calc((100vw - 1212px)/2));background:#0B1724F5;backdrop-filter:blur(16px);border-bottom:1px solid #9BB8CA1C}
header .brand{gap:0}
.book-genres{padding:30px 30px 38px;text-align:center}
.book-genres ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:12px}
.book-genres li{font-family:var(--sans);font-size:clamp(21px,2.2vw,28px);font-weight:400;line-height:1.4;color:#D5E4ED;letter-spacing:.025em}
.book-genres li:first-child{color:var(--ink)}
.intro>.body-copy{padding-top:0}
#historia .eyebrow{font-size:15px;line-height:1.6;letter-spacing:.14em}
#historia h2{margin-top:20px}
.materials-page{padding-top:55px;min-height:55vh}
.materials-intro{font-family:var(--serif);font-size:20px;line-height:1.7;color:#CBD9E2;max-width:650px}
.materials-empty{margin-top:55px;max-width:650px;padding-top:25px;border-top:1px solid var(--line)}
.materials-empty h2{font-family:var(--sans);font-size:18px;letter-spacing:0;line-height:1.5;margin:0 0 12px}
.materials-empty p{font-size:15px;line-height:1.8;color:var(--muted)}
@media(max-width:680px){html{scroll-padding-top:150px}header{padding:14px 25px 10px;gap:9px}.book-genres{padding:20px 25px 32px}.book-genres ul{gap:10px}.book-genres li{font-size:21px}#historia .eyebrow{font-size:14px}.materials-page{padding-top:35px}.materials-intro{font-size:18px}}

/* Tamara's drawings: full compositions, without cropping. */
.drawings-gallery{columns:2;column-gap:30px;margin-top:45px}
.drawing{margin:0 0 30px;break-inside:avoid}
.drawing-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;color:var(--ink);cursor:zoom-in}
.drawing-open img{display:block;width:100%;height:auto;box-shadow:0 12px 30px #0004;transition:filter .25s ease}
.drawing-open:hover img{filter:brightness(1.06)}
.drawing-caption{display:flex;justify-content:space-between;gap:20px;padding:13px 0;font-size:13px;line-height:1.6;color:#C6D6E0}
.drawing-caption>span:last-child{font-size:17px;color:var(--ice)}
.drawing-viewer{width:min(1240px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;border:1px solid #9BB8CA33;background:#0B1724;color:var(--ink);overflow:auto}
.drawing-viewer::backdrop{background:#030A12E8;backdrop-filter:blur(8px)}
.drawing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px;border-bottom:1px solid var(--line)}
.drawing-toolbar h2{margin:0;font:400 17px/1.5 var(--sans);letter-spacing:0}
.drawing-close{border:0;background:transparent;color:var(--ink);font-size:30px;line-height:1;min-width:44px;height:44px;cursor:pointer}
.drawing-stage{display:flex;justify-content:center;align-items:center;padding:18px;min-height:150px}
.drawing-stage img{display:block;max-width:100%;width:auto;height:auto;max-height:calc(100dvh - 210px);object-fit:contain}
.drawing-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 22px 16px}
.drawing-controls button{background:transparent;border:1px solid var(--line);padding:10px 16px;color:var(--ink);cursor:pointer;font-size:13px;min-height:44px}
.drawing-controls button:hover{background:#9BB8CA16}
#drawing-counter{font-size:13px;color:var(--muted);white-space:nowrap}
@media(max-width:680px){.drawings-gallery{columns:1;margin-top:30px}.drawing{margin-bottom:23px}.drawing-stage{padding:10px}.drawing-toolbar{padding:10px 14px}.drawing-controls{padding:8px 12px 12px;gap:10px}.drawing-controls button{padding:9px 12px}.drawing-stage img{max-height:calc(100dvh - 195px)}}

/* Compact genre summary with dot separators. */
.book-genres{padding:24px 30px 30px}
.book-genres ul{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:8px 0}
.book-genres li{font-size:18px;line-height:1.6;letter-spacing:.015em;display:flex;align-items:center}
.book-genres li+li:before{content:'•';padding:0 22px;font-size:14px;color:#90B3C6}
.music-list{list-style:none;max-width:820px;padding:0;margin:40px 0 0}
.music-list li{padding:24px 0;border-top:1px solid var(--line)}
.music-list h2{font-family:var(--serif);font-size:26px;line-height:1.4;letter-spacing:-.015em;margin:0 0 8px}
.music-list p{font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--muted);margin:0}
@media(max-width:680px){.book-genres{padding:20px 20px 25px}.book-genres li{font-size:15px}.book-genres li+li:before{padding:0 12px;font-size:12px}.music-list{margin-top:30px}.music-list li{padding:20px 0}.music-list h2{font-size:23px}}

/* Cover details quietly identify each book, including its companion pages. */
header[data-book-theme]{isolation:isolate;overflow:hidden;padding-right:max(235px,calc((100vw - 1212px)/2 + 235px));background:#101A22}
header[data-book-theme]::before{content:'';position:absolute;z-index:-1;inset:0 0 0 auto;width:390px;pointer-events:none;background-repeat:no-repeat;mask-image:linear-gradient(90deg,transparent 0%,#000 52%,#000 87%,transparent 100%);opacity:.8}
header[data-book-theme] .brand,header[data-book-theme] nav{position:relative;z-index:1}
header[data-book-theme="drapacz-snow"]{background:#191E1C;border-bottom-color:#A99C7040}
header[data-book-theme="drapacz-snow"]::before{width:270px;background-image:linear-gradient(90deg,#191E1C00,#191E1C20),url('46e30c3d9aeddc.png');background-size:100% 100%,250px auto;background-position:center,right 16px top -119px}
header[data-book-theme="zbieracz"]{background:#191C1B;border-bottom-color:#ACA18A40}
header[data-book-theme="zbieracz"]::before{width:240px;background-image:linear-gradient(90deg,#191C1B00,#191C1B20),url('zbieracz-okladka.jpeg');background-size:100% 100%,180px auto;background-position:center,right 30px top -47px}
header[data-book-theme="imie-latarnika"]{background:#16232D;border-bottom-color:#A7C6D140}
header[data-book-theme="imie-latarnika"]::before{background-image:linear-gradient(90deg,#16232D00,#16232D55),url('imie-latarnika-okladka.jpeg');background-size:100% 100%,380px auto;background-position:center,right 0 top -279px}
@media(min-width:681px) and (max-width:900px){header[data-book-theme]{padding-left:30px;padding-right:175px}header[data-book-theme] nav{gap:20px}header[data-book-theme]::before{right:-45px;width:300px}}
@media(max-width:680px){header[data-book-theme]{padding:14px 25px 10px}header[data-book-theme]::before{width:165px;right:-40px;opacity:.5;mask-image:linear-gradient(90deg,transparent,#000 75%)}header[data-book-theme="drapacz-snow"]::before{background-size:100% 100%,200px auto;background-position:center,right -25px top -92px}header[data-book-theme="zbieracz"]::before{background-size:100% 100%,160px auto;background-position:center,right 0 top -38px}header[data-book-theme="imie-latarnika"]::before{background-size:100% 100%,300px auto;background-position:center,right -3px top -211px}}

@media(max-width:680px){header[data-book-theme]::before{width:165px}}

/* A localized storm around the rabbit; navigation and page never flash. */
header[data-book-theme="drapacz-snow"]::before{display:none}
.rabbit-weather{position:absolute;z-index:-1;right:0;top:0;width:270px;height:98px;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 52%,#000 87%,transparent);animation:none}
.rabbit-weather svg{display:block;width:100%;height:100%;overflow:hidden}
.rabbit-ear-motion{transform-origin:137px 30px;animation:none}
@keyframes rabbit-breeze{0%,100%{transform:rotate(0deg)}28%{transform:rotate(-10deg)}62%{transform:rotate(7deg)}82%{transform:rotate(-4deg)}}
@keyframes rabbit-lightning{0%,3%,6%,69%,72%,100%{filter:brightness(1) saturate(1)}4%{filter:brightness(2.2) saturate(.55)}5%{filter:brightness(1.2) saturate(.8)}70%{filter:brightness(1.8) saturate(.65)}71%{filter:brightness(1.1) saturate(.9)}}
@media(min-width:681px) and (max-width:900px){.rabbit-weather{right:-45px}}
@media(max-width:680px){.rabbit-weather{right:-38px;width:216px;height:78.4px;opacity:.65;mask-image:linear-gradient(90deg,transparent 10%,#000 65%,#000 87%,transparent)}}
@media(prefers-reduced-motion:reduce){.rabbit-weather,.rabbit-ear-motion{animation:none}}

/* Companion cover details: a turning light and a restless, blinking eye. */
header[data-book-theme="zbieracz"]::before,header[data-book-theme="imie-latarnika"]::before{display:none}
.collector-watch,.lighthouse-weather{position:absolute;z-index:-1;right:0;top:0;height:98px;pointer-events:none;opacity:.8;mask-image:linear-gradient(90deg,transparent,#000 52%,#000 87%,transparent)}
.collector-watch{width:240px}.lighthouse-weather{width:390px}
.collector-watch svg,.lighthouse-weather svg{width:100%;height:100%;display:block;overflow:hidden}
.collector-gaze{animation:collector-look 11s ease-in-out infinite}
.collector-blink{opacity:0;animation:collector-blink 7.7s linear 1.5s infinite}
@keyframes collector-look{0%,10%,100%{transform:translate(0,0)}20%,35%{transform:translate(-3px,.3px)}44%,57%{transform:translate(1.6px,-1px)}65%,79%{transform:translate(-1px,1.4px)}88%,94%{transform:translate(1.5px,0)}}
@keyframes collector-blink{0%,37%,41%,85%,89%,100%{opacity:0}38%,40%,86%,88%{opacity:1}}
.lighthouse-beam{transform-origin:329px 42px;animation:lighthouse-turn 8s linear infinite}
.lighthouse-glow{animation:lighthouse-pulse 8s ease-in-out infinite}
@keyframes lighthouse-turn{from{transform:perspective(380px) rotateY(0deg)}to{transform:perspective(380px) rotateY(360deg)}}
@keyframes lighthouse-pulse{0%,50%,100%{opacity:.35}25%,75%{opacity:1}}
@media(min-width:681px) and (max-width:900px){.collector-watch,.lighthouse-weather{right:-45px}}
@media(max-width:680px){.collector-watch{width:192px;height:78.4px;right:-14px;opacity:.6}.lighthouse-weather{width:312px;height:78.4px;right:-29px;opacity:.5;mask-image:linear-gradient(90deg,transparent 35%,#000 80%,transparent)}}
@media(prefers-reduced-motion:reduce){.collector-gaze,.collector-blink,.lighthouse-beam,.lighthouse-glow{animation:none}.collector-blink{opacity:0}}

/* Feather every illustration into the header, including its lower edge on phones. */
.rabbit-weather,.collector-watch,.lighthouse-weather{mask-image:linear-gradient(90deg,transparent 0%,#000 44%,#000 84%,transparent 100%),linear-gradient(#000 0%,#000 55%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.collector-blink{transform-origin:82px 61px;opacity:1;transform:scaleY(0);animation:collector-lid 8.3s linear 1.2s infinite}
@keyframes collector-lid{0%,29%,34%,77%,82%,100%{transform:scaleY(0)}30.5%,32%,78.5%,80%{transform:scaleY(1)}}
@media(max-width:680px){
 header[data-book-theme]{padding:14px 25px 10px;min-height:112px}
 header[data-book-theme] .brand{align-self:flex-start;font-size:clamp(17px,5vw,21px);letter-spacing:.09em;text-align:left}
 header[data-book-theme] .brand small{font-size:10px}
 .rabbit-weather{right:0;top:5px;width:216px;height:78.4px;opacity:.8}
 .collector-watch{right:0;top:5px;width:192px;height:78.4px;opacity:.8}
 .lighthouse-weather{right:0;top:0;width:312px;height:78.4px;opacity:.65}
 .rabbit-weather,.collector-watch,.lighthouse-weather{mask-image:linear-gradient(90deg,transparent 8%,#000 58%,#000 84%,transparent 100%),linear-gradient(#000 0%,#000 45%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
}
@media(prefers-reduced-motion:reduce){.collector-blink{animation:none;transform:scaleY(0)}}
/* Fade before the face plate ends, rather than at the outer SVG boundary. */
.collector-watch{mask-image:linear-gradient(90deg,transparent 10%,#000 44%,#000 67%,transparent 87%),linear-gradient(transparent 0%,#000 13%,#000 55%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
@media(max-width:680px){.collector-watch{mask-image:linear-gradient(90deg,transparent 10%,#000 44%,#000 67%,transparent 87%),linear-gradient(transparent 0%,#000 13%,#000 45%,transparent 100%)}}

/* Full-height cover panoramas: keep the illustration visible to the bottom of the band. */
header[data-book-theme]{height:148px;min-height:148px;padding:0 max(40px,calc((100vw - 1212px)/2));gap:28px}
header[data-book-theme]::after{content:'';position:absolute;inset:-18px;z-index:-2;pointer-events:none;background-image:linear-gradient(90deg,#101917e8,#101917a6 45%,#10191770),var(--header-cover);background-size:cover;background-position:center 47%;filter:blur(14px);opacity:.85}
header[data-book-theme="drapacz-snow"]{--header-cover:url('46e30c3d9aeddc.png')}
header[data-book-theme="zbieracz"]{--header-cover:url('zbieracz-header-clean.webp')}
header[data-book-theme="imie-latarnika"]{--header-cover:url('latarnik-header-clean.webp')}
.rabbit-weather,.collector-watch,.lighthouse-weather{inset:0;width:100%;height:100%;opacity:1;mask-image:none;-webkit-mask-image:none}
.rabbit-weather svg,.collector-watch svg,.lighthouse-weather svg{position:absolute;right:0;top:0;height:100%;width:auto;max-width:none;overflow:visible;mask-image:linear-gradient(90deg,transparent,#000 28%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%,#000 94%,transparent)}
header[data-book-theme] .brand,header[data-book-theme] nav{text-shadow:0 1px 8px #000,0 0 18px #000}
header[data-book-theme] nav{margin-right:240px}
.collector-side-face{transform-origin:155px 85px;animation:collector-face-breathe 12.7s ease-in-out infinite}
@keyframes collector-face-breathe{0%,100%{transform:translate(0,0) rotate(0deg)}17%{transform:translate(1px,-.7px) rotate(.65deg)}31%{transform:translate(.2px,.8px) rotate(-.45deg)}48%{transform:translate(1.6px,.4px) rotate(.9deg)}63%{transform:translate(-.5px,-.8px) rotate(-.3deg)}81%{transform:translate(.8px,-.2px) rotate(.45deg)}}
@media(max-width:900px){header[data-book-theme]{padding:18px 25px;gap:14px}header[data-book-theme] nav{margin-right:165px;gap:20px}}
@media(max-width:680px){header[data-book-theme]{height:150px;min-height:150px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:18px 22px;gap:18px}header[data-book-theme] .brand{width:auto;align-self:flex-start;text-align:left;font-size:clamp(17px,5vw,21px)}header[data-book-theme] nav{margin:0;gap:22px;justify-content:flex-start;font-size:11px}.rabbit-weather svg{right:-22px}.collector-watch svg{right:-26px}.lighthouse-weather svg{right:-38px}header[data-book-theme]::after{opacity:.8}}
@media(prefers-reduced-motion:reduce){.collector-side-face{animation:none}}
/* Blend the cover's black surround into the panorama without cutting its outline. */
.rabbit-weather svg,.collector-watch svg,.lighthouse-weather svg{mix-blend-mode:lighten;mask-image:none;-webkit-mask-image:none}
header[data-book-theme]::after{opacity:.45}
.rabbit-weather svg,.collector-watch svg,.lighthouse-weather svg{mask-image:linear-gradient(90deg,transparent 0%,transparent 12%,#000 28%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 12%,#000 28%,#000 100%)}
header[data-book-theme]::before{display:block;content:'';position:absolute;inset:0;width:100%;z-index:0;background:linear-gradient(90deg,#0b141abb 0%,#0b141a77 35%,transparent 65%);mask-image:none;-webkit-mask-image:none;opacity:1;pointer-events:none}

/* Continuous panoramic plates fill the whole band; animated subjects keep their proportions. */
header[data-book-theme="drapacz-snow"]{--header-panorama:url('drapacz-header-panorama.webp')}
header[data-book-theme="zbieracz"]{--header-panorama:url('zbieracz-header-panorama.webp')}
header[data-book-theme="drapacz-snow"]::after,header[data-book-theme="zbieracz"]::after{inset:0;background-image:linear-gradient(90deg,#0B151A55,transparent 65%),var(--header-panorama);background-size:cover;background-position:center;filter:none;opacity:1}
header[data-book-theme="drapacz-snow"]::before,header[data-book-theme="zbieracz"]::before{background:linear-gradient(90deg,#0B141A88 0%,#0B141A33 45%,transparent 70%)}
@media(max-width:680px){header[data-book-theme="drapacz-snow"]::after,header[data-book-theme="zbieracz"]::after{background-position:60% center;opacity:1}}

/* Piotr's collection: quiet photographic plates, full framing and short captions. */
.objects-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:45px}
.objects-gallery .drawing{margin:0;min-width:0}
.objects-gallery .drawing-caption{font-size:16px;padding:15px 0 5px}
.objects-gallery .drawing-open img{width:100%;height:auto}
@media(max-width:680px){.objects-gallery{grid-template-columns:1fr;gap:25px;margin-top:30px}.objects-gallery .drawing-caption{font-size:15px}}

/* Desktop subjects: full-width illustration layer with a soft transition into the band. */
@media(min-width:681px){
 header[data-book-theme="zbieracz"] .collector-watch svg{width:320px;height:220px;top:-25px;right:12px;mix-blend-mode:lighten;mask-image:linear-gradient(90deg,transparent 5%,#000 32%,#000 78%,transparent 98%),linear-gradient(transparent,#000 12%,#000 80%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent 5%,#000 32%,#000 78%,transparent 98%),linear-gradient(transparent,#000 12%,#000 80%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
 header[data-book-theme="drapacz-snow"] .rabbit-weather svg{width:360px;height:193.33px;top:-4px;right:0;mix-blend-mode:lighten;mask-image:linear-gradient(90deg,transparent 3%,#000 30%,#000 78%,transparent 100%),linear-gradient(#000 0%,#000 75%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 3%,#000 30%,#000 78%,transparent 100%),linear-gradient(#000 0%,#000 75%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}
 header[data-book-theme="zbieracz"]::after,header[data-book-theme="drapacz-snow"]::after{background-size:100% 100%}
}
/* Music scenes retain their full photographic composition on every screen. */
.music-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.music-list li{min-width:0;overflow:hidden;padding:0;border:1px solid #b6c9d51f;background:#132431}
.music-list .music-scene{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#0b141a}
.music-list .music-info{padding:20px 22px 23px}
.music-list .music-info h2{margin:0 0 8px}
.music-list .music-info p{margin:0}
@media(max-width:680px){.music-list{grid-template-columns:1fr;gap:24px}.music-list .music-info{padding:17px 18px 20px}}

@media(min-width:681px){
 header[data-book-theme="zbieracz"] .collector-watch svg,header[data-book-theme="drapacz-snow"] .rabbit-weather svg{mask-image:linear-gradient(90deg,transparent 0%,transparent 12%,#000 40%,#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 12%,#000 40%,#000 70%,transparent 100%)}
 header[data-book-theme="zbieracz"] .collector-watch svg{width:280px;height:192.5px;top:-12px;right:12px}
}

/* Use the lighthouse header treatment for both book scenes on desktop. */
.desktop-header-scene{display:none}
@media(min-width:681px){
 header[data-book-theme="drapacz-snow"]::after,header[data-book-theme="zbieracz"]::after{inset:-18px;background-image:linear-gradient(90deg,#101917e8,#101917a6 45%,#10191770),var(--header-cover);background-size:cover;background-position:center 47%;filter:blur(14px);opacity:.45}
 header[data-book-theme="drapacz-snow"]::before,header[data-book-theme="zbieracz"]::before{background:linear-gradient(90deg,#0b141abb 0%,#0b141a77 35%,transparent 65%)}
 header .rabbit-weather,header .collector-watch{display:none}
 .desktop-header-scene{display:block;position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
 .desktop-header-scene>svg{position:absolute;right:0;top:0;height:100%;width:auto;max-width:none;overflow:visible;mix-blend-mode:lighten;mask-image:linear-gradient(90deg,transparent 0%,transparent 12%,#000 28%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 12%,#000 28%,#000 100%)}
}
@media(min-width:681px){.desktop-header-scene>svg{mask-image:linear-gradient(90deg,transparent 0%,transparent 47%,#000 66%,#000 83%,transparent 94%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 47%,#000 66%,#000 83%,transparent 94%)}}

@media(min-width:681px){header[data-book-theme="drapacz-snow"] .desktop-header-scene>svg{mask-image:linear-gradient(90deg,transparent 30%,#000 60%,#000 85%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 60%,#000 85%,transparent 100%)}}
@media(min-width:681px){header[data-book-theme="drapacz-snow"] .desktop-header-scene>svg{mask-image:linear-gradient(90deg,transparent 40%,transparent 48%,#000 68%,#000 80%,transparent 90%);-webkit-mask-image:linear-gradient(90deg,transparent 40%,transparent 48%,#000 68%,#000 80%,transparent 90%)}}

/* Author contact and simplified footer. */
.author-contact{padding-top:32px;padding-bottom:80px}.author-contact h2{margin:0 0 18px}.author-contact p{max-width:620px;color:var(--muted,#b7c5d0);line-height:1.8;margin:0 0 22px}.contact-email{display:inline-block;font-size:clamp(20px,3.5vw,30px);color:inherit;text-decoration:underline;text-underline-offset:7px;overflow-wrap:anywhere}.contact-email:hover{color:#b8d5e2}.contact-email:focus-visible{outline:2px solid currentColor;outline-offset:8px}footer{justify-content:flex-start}
@media(max-width:680px){.author-contact{padding-top:18px;padding-bottom:55px}header nav{flex-wrap:wrap}}

/* Cover-shaped shadows replace circular backlights. */
.books-grid .mini-art::before,.hero-art::before{display:none}
.books-grid .mini-book{box-shadow:0 20px 36px 13px #010409d9,0 8px 16px 3px #0009;transition:transform 1.5s cubic-bezier(.2,.65,.3,1),box-shadow 1.5s ease}
.book{box-shadow:16px 28px 44px 16px #010409e0,5px 1px 0 #A0AFB6,9px 2px 0 #566875;transition:transform .6s ease,box-shadow 1.5s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.books-grid .mini-art:hover .mini-book,.books-grid a.mini-art:focus-visible .mini-book{transform:scale(1.09);box-shadow:0 32px 55px 27px #010308f2,0 12px 24px 8px #000b}
.book:hover{box-shadow:20px 40px 64px 30px #010308f2,5px 1px 0 #A0AFB6,9px 2px 0 #566875}
}
@media(prefers-reduced-motion:reduce){.books-grid .mini-book,.book{transition:none}}

/* Align book-card details with the centre of each cover. */
.books-grid:not(.latest-grid) .shelf>div{text-align:center}
.books-grid:not(.latest-grid) .shelf p{margin-left:auto;margin-right:auto}
@media(max-width:680px){
.books-grid:not(.latest-grid) .shelf{display:block}
.books-grid:not(.latest-grid) .mini-art{height:260px;margin-bottom:24px}
.books-grid:not(.latest-grid) .mini-book{width:auto;height:230px;max-width:100%;max-height:none}
}

/* Softer portrait tones suit the surrounding midnight palette. */
.author-portrait img{filter:brightness(.82) contrast(.92) saturate(.8);opacity:.95}
.author-portrait::before{opacity:.6}

/* The closer, softly lit author portrait has its own finished tones. */
.author-portrait img{filter:none;opacity:1;mask-image:linear-gradient(#000 0%,#000 89%,transparent 100%)}
.author-portrait::before{display:none}

/* Purchase information and retailer availability. */
header nav{flex-wrap:wrap;align-items:center;gap:24px}
.hero-copy .actions{flex-wrap:wrap}
.purchase-button:disabled{opacity:.45;cursor:not-allowed;transform:none;background:#b8cbd5;color:#1c303c}
.buy-page{padding-top:55px;padding-bottom:95px;min-height:calc(100vh - 180px)}
.purchase-card{display:grid;grid-template-columns:minmax(180px,290px) minmax(0,1fr);gap:75px;align-items:center;scroll-margin-top:180px}
.purchase-cover{display:block;max-width:260px;margin:auto}
.purchase-cover img{display:block;width:100%;height:auto;box-shadow:0 20px 35px 8px #010409b3}
.purchase-copy h2{margin-top:0}
.purchase-intro{color:var(--muted);line-height:1.8;max-width:560px}
.retailer-list{list-style:none;padding:0;margin:30px 0;max-width:540px;border-top:1px solid #9bb8ca30}
.retailer-list li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #9bb8ca30}
.retailer-name{font-size:22px}.retailer-pending{color:var(--muted);font-size:13px}
@media(max-width:1000px){header nav{gap:16px}.purchase-card{gap:40px}}
@media(max-width:680px){header nav,header[data-book-theme] nav{column-gap:16px;row-gap:6px}.purchase-card{grid-template-columns:1fr;gap:35px}.purchase-cover{max-width:210px}.buy-page{padding-top:35px;padding-bottom:60px}.purchase-copy h2{font-size:34px}.retailer-name{font-size:20px}}

/* Transparent portrait blends directly into the page. */
.author-portrait{background:transparent}.author-portrait img{background:transparent;box-shadow:none;mask-image:linear-gradient(#000 0%,#000 82%,transparent 100%)}

/* Fourth novel: neutral cover placeholder, matching the book shelf. */
.books-grid .planned-book .planned-genre{margin:0 auto 6px;color:var(--muted);font-size:13px;line-height:1.9}
.books-grid .planned-book .planned-themes{margin:0 auto 18px;color:var(--muted);font-size:13px;line-height:1.9}
.books-grid .planned-book .book-status{color:#b8cad6;border-color:#9bb8ca44}
.planned-art{cursor:default}

.catalogue-page .books-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
@media(max-width:1100px){.catalogue-page .books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}}
@media(max-width:680px){.catalogue-page .books-grid{grid-template-columns:1fr}}

/* Status ribbon stays attached to the forthcoming novel's cover. */
.books-grid .planned-cover{aspect-ratio:2/3;flex:none;overflow:hidden}
.planned-cover>img{display:block;width:100%;height:100%;object-fit:contain}
.writing-ribbon{position:absolute;z-index:2;top:20%;left:-25%;width:150%;padding:10px 0;transform:rotate(-30deg);background:#a9bdc8;color:#10202c;border-block:1px solid #d4e0e6;box-shadow:0 3px 9px #0008;text-align:center;font-family:var(--sans);font-size:10px;font-weight:700;line-height:1.4;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;pointer-events:none}

/* Keep catalogue descriptions aligned when a title spans two lines. */
@media(min-width:681px){
 .catalogue-page .shelf h3{line-height:1.3;min-height:2.6em;margin:14px 0 16px;text-wrap:balance}
 .catalogue-page .shelf .catalogue-genre,.catalogue-page .shelf .planned-themes{min-height:3.8em;margin:0 auto;line-height:1.9}
 .catalogue-page .shelf .book-progress{margin-top:16px}
}

/* Social profile placeholders: icons only, no links until profiles exist. */
footer .social-icons{display:flex;align-items:center;gap:20px;color:#b9cbd7}
footer .social-icons span{display:inline-flex;width:23px;height:23px}
footer .social-icons svg{width:100%;height:100%}
@media(max-width:680px){footer{gap:20px;align-items:center;flex-wrap:wrap}}

/* v58: mobile book header only. Keep navigation outside animated artwork. */
@media(max-width:680px){
 header[data-book-theme]{display:grid;grid-template-columns:minmax(0,1fr) 145px;grid-template-rows:112px auto;height:auto;min-height:0;padding:0 22px 12px;gap:0 10px;align-items:center;justify-content:stretch}
 header[data-book-theme] .brand{grid-column:1;grid-row:1;align-self:center;justify-self:start;width:auto;max-width:100%;font-size:20px;letter-spacing:.09em;text-align:left;line-height:1.2}
 header[data-book-theme] .brand small{font-size:10px;letter-spacing:.12em}
 header[data-book-theme] nav{grid-column:1 / -1;grid-row:2;width:100%;margin:0;padding-top:8px;justify-content:center;align-items:center;gap:6px 16px;font-size:12px;line-height:1.5;flex-wrap:wrap}
 header[data-book-theme]::before{height:112px;bottom:auto}
 header[data-book-theme]::after{inset:0 0 auto;height:112px}
 header[data-book-theme] .rabbit-weather,header[data-book-theme] .collector-watch,header[data-book-theme] .lighthouse-weather{inset:0 0 auto auto;width:155px;height:112px;opacity:1;overflow:hidden;mask-image:none;-webkit-mask-image:none}
 header[data-book-theme] .rabbit-weather svg,header[data-book-theme] .collector-watch svg,header[data-book-theme] .lighthouse-weather svg{top:0;right:0;height:112px;width:auto;mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 100%)}
 header[data-book-theme] .rabbit-weather svg{width:209px;right:-8px}
 header[data-book-theme] .collector-watch svg{width:163px;right:0}
 header[data-book-theme] .lighthouse-weather svg{width:349px;right:0}
}
@media(max-width:360px){header[data-book-theme]{padding-left:18px;padding-right:18px;grid-template-columns:minmax(0,1fr) 135px;gap:0 6px}header[data-book-theme] .brand{font-size:17px}header[data-book-theme] nav{font-size:11px;column-gap:13px}}
