/* Local materials and typography; only the gallery template loads this file. */
@font-face{font-family:'Grenze Gotisch';src:url('fonts/GrenzeGotisch.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
.chronicle-page{background:#17100e}
.chronicle-page main{max-width:1440px;padding:0}
.chronicle{padding:28px 48px 58px;min-height:80vh;color:#e9dbc1;background:radial-gradient(ellipse at 50% 42%,#b57c3b20,transparent 62%),linear-gradient(#120c0bc9,#120c0b91 48%,#120c0bde),url('materials/oak.webp') center top/cover no-repeat}
.chronicle .chronicle-heading{display:block;text-align:center;border:0;padding:0;margin:0;max-width:none}
.chronicle-heading h1{font:normal 30px/1.2 Georgia,serif;letter-spacing:0;margin:0 0 8px;color:#e5d3b7}
.chronicle-heading .eyebrow{font-size:9px;letter-spacing:3px;margin-bottom:10px;color:#baa381}
.chronicle-heading p{color:#c1ab8e;font-size:13px;margin-bottom:18px}
.year-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:18px auto;max-width:1000px}
.year-tabs a{padding:8px 13px;border:1px solid #856340;background:#321916;color:#eddbb8;border-radius:3px}
.chronicle.enhanced .year-tabs{display:none}
.year-select{max-width:320px;margin:14px auto 12px;display:flex;align-items:center;gap:12px}
.year-select label{font-size:12px;white-space:nowrap;color:#d6c3a6}
.year-select select{min-width:0;width:100%;min-height:42px;margin:0;border:1px solid #79603e;border-radius:3px;background:#281916;color:#ecddc2;padding:8px 24px 8px 10px;font:13px system-ui}
.mode-switch{display:flex;gap:4px;justify-content:center;margin:12px auto 22px}
.chronicle button{min-height:44px;padding:9px 16px;border:1px solid #8f7044;border-radius:3px;background:#3b1e1d;color:#efdec0;cursor:pointer;font:14px/1.5 system-ui}
.chronicle button:hover{background:#542725;color:#fff1d4;border-color:#c49c60}
.chronicle button[aria-pressed=true]{background:#612f2d;box-shadow:inset 0 1px #cb995d33}
.chronicle button:disabled{opacity:.45;cursor:default}
.chronicle :focus-visible{outline:3px solid #ffcd77;outline-offset:5px}
.chronicle [hidden]{display:none!important}
/* The book is one stateful object. All decorative layers ignore input. */
.book{position:relative;max-width:1000px;width:calc(100% - 72px);height:610px;margin:32px auto 40px;perspective:1800px;isolation:isolate;touch-action:pan-y;outline-offset:14px}
.book.is-closed{width:min(calc(100% - 72px),438px)}
.book:before{content:'';position:absolute;inset:5% -2% -5%;border-radius:40%;background:#0009;filter:blur(18px);transform:translateY(17px);pointer-events:none;z-index:-2}
.book-leaves{position:absolute;inset:0;border-radius:9px 12px 18px 10px;padding:12px 12px 17px;background:#341814 url('materials/leather.webp') center/100% 100%;box-shadow:0 4px 2px #100704,0 16px 25px #0009,0 30px 65px #0008,inset 0 0 0 2px #ae815140;}
.book-leaves:before{content:'';position:absolute;inset:9px -7px -9px 6px;border-radius:4px 10px 13px 5px;background:repeating-linear-gradient(0deg,#b4a17d 0 1px,#e3d4b7 1px 2px,#cdbb94 2px 4px);box-shadow:1px 2px 1px #20150d,3px 6px 0 #361a17,3px 8px 1px #0d0806;z-index:-1;pointer-events:none}
.is-closed .book-leaves{inset:8px -12px -15px 7px;padding:12px;background:repeating-linear-gradient(0deg,#b2a081 0 1px,#e1d2b5 1px 3px,#c7b28c 3px 5px);border:4px solid #3c211b;box-shadow:4px 5px 0 #21120f,5px 8px 1px #99794e,8px 12px 3px #0c0705,0 27px 35px #000b}
.is-closed .spread{visibility:hidden}
.book-spine{position:absolute;left:-15px;top:1px;bottom:-4px;width:36px;border-radius:45% 8px 7px 45% / 3% 6px 6px 3%;background:linear-gradient(90deg,#0b0807c9,#6e493546 37%,#110806a8 91%),url('materials/leather.webp') 0 center/300px 100%;box-shadow:inset 2px 0 2px #b68b5859,-4px 3px 7px #0009,3px 0 5px #000b;z-index:4;pointer-events:none;display:flex;flex-direction:column;justify-content:space-around;padding:28px 0}
.book-spine i{height:13px;background:linear-gradient(#160b08,#734c32 25%,#32170f 55%,#100807);border-top:1px solid #b187514f;border-radius:50% / 15%;box-shadow:0 4px 5px #0008}
.book:not(.is-closed) .book-spine{display:none}
.cover{position:absolute;inset:0 0 0 0;border-radius:5px 11px 14px 6px;transform-origin:left center;backface-visibility:hidden;background:#29110f;border:2px solid #2c160f;box-shadow:inset 2px 1px 2px #caa47288,inset -3px -2px 3px #130a06,0 4px 0 #3f2418,2px 7px 1px #100805,6px 13px 12px #0009;z-index:3}
.cover-texture{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 52% 38%,transparent 25%,#0804037a 100%),url('materials/leather.webp') center/100% 100%;box-shadow:inset 12px 0 12px #0008,inset 0 0 6px #140804;pointer-events:none}
.is-open .cover{pointer-events:none;visibility:hidden}
.book:not(.is-closed) .cover{right:auto;width:50%;box-sizing:border-box}
.cover-border{position:absolute;inset:12% 10% 10%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.cover h2{font:700 clamp(3rem,5vw,4.5rem)/1.02 'Grenze Gotisch',serif;letter-spacing:.3px;margin:0 0 24px;color:#c84740;text-shadow:0 -1px 0 #f0806455,0 2px 0 #280605,1px 3px 3px #050100;}
.cover .pitchfork{width:59px;height:111px;fill:url('#fork-brass');stroke:#291b0a;stroke-width:.65;filter:drop-shadow(1px 2px 1px #000c);margin:0 0 36px}
.cover img{width:65%;max-width:205px;height:auto;opacity:.95;filter:drop-shadow(0 2px 1px #090100);margin:0}
.corner{position:absolute;width:95px;height:97px;background:url('materials/brass-corner.webp') center/contain no-repeat;filter:brightness(.82) drop-shadow(1px 3px 2px #000c);z-index:2;pointer-events:none}
.tl{top:-3px;left:-3px}.tr{top:-3px;right:-3px;transform:scaleX(-1)}.br{bottom:-3px;right:-3px;transform:scale(-1)}.bl{bottom:-3px;left:-3px;transform:scaleY(-1)}
.book-clasp{position:absolute;right:-17px;top:49%;width:65px;height:33px;border:2px solid #987442;border-radius:45% 6px 6px 45%;background:linear-gradient(#ad8958,#5b3b1d 15%,#a5824f 27%,#594025 65%,#c0a46d 89%,#47311b);box-shadow:0 3px 2px #0c0706,2px 7px 7px #0009,inset 0 0 0 3px #312317;pointer-events:none}
.book-clasp:before,.book-clasp:after{content:'';position:absolute;top:11px;width:6px;height:6px;border-radius:50%;background:#c2a268;box-shadow:1px 1px 2px #000}
.book-clasp:before{left:8px}.book-clasp:after{right:7px}
.book-clasp span{position:absolute;inset:6px 19px;border:1px solid #291a0c;box-shadow:1px 1px 1px #d5b36b;transform:rotate(-6deg)}
.book:not(.is-closed) .book-clasp{display:none}
.book-open-control{text-align:center;margin:0 auto 20px}
.book-open-control:has([hidden]){display:none}
.chronicle #open-book{padding:11px 26px;background:linear-gradient(#512326,#321417);border-color:#af8953;box-shadow:inset 0 0 0 3px #24100f,inset 0 0 0 4px #956d3f55,0 4px 9px #0008;letter-spacing:.5px}
.book-year-tabs{position:absolute;left:100%;top:48px;bottom:40px;display:flex;flex-direction:column;gap:9px;overflow-y:auto;overflow-x:hidden;max-height:calc(100% - 88px);width:64px;padding:4px 7px 8px 0;z-index:1;font-size:12px}
.book-year-tabs:empty{display:none}
.book-year-tabs a{display:block;flex-shrink:0;width:53px;min-height:44px;padding:11px 5px 10px 9px;background:linear-gradient(90deg,#291011,#58272a);color:#ecdbc0;border:1px solid #997240;border-left:0;border-radius:0 3px 3px 0;box-shadow:1px 3px 3px #0008;letter-spacing:1px}
.book-year-tabs a[aria-current]{background:linear-gradient(90deg,#3d1719,#79373b);color:#fff0cc}
/* Warm paper with edge wear; shadow is part of each page, never painted over photos. */
.spread{display:flex;height:100%;position:relative}
.paper{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;gap:14px;padding:42px 34px 38px;color:#493725;background:linear-gradient(90deg,#79532c29,transparent 7%,transparent 83%,#5d3e2059 97%,#2c1b1280),url('materials/paper.webp') center/100% 100%;border:1px solid #a385534d;border-radius:5px 12px 14px 5px / 3px 3px 12px 3px;box-shadow:inset 1px 0 3px #fef6e0,0 3px 0 #b6a07b,0 5px 0 #e5d7b9,0 7px 0 #a48c62,0 9px 0 #d2be96}
.paper:nth-child(2){background:linear-gradient(90deg,#34231780,#8d704939 4%,transparent 15%,transparent 94%,#876b3633),url('materials/paper.webp') center/100% 100%;border-radius:12px 5px 5px 14px / 3px 3px 3px 12px}
.paper:before,.paper:after{content:'';position:absolute;width:26px;height:26px;pointer-events:none;opacity:.55;background:url('materials/page-ornament.svg') center/contain no-repeat}
.paper:before{top:14px;left:14px}.paper:after{bottom:16px;right:14px;transform:rotate(180deg)}
.paper h2{font:normal clamp(1.35rem,2.5vw,2rem)/1.3 Georgia,serif;letter-spacing:0;margin:16px 0 12px;text-align:center;color:#502b25}
.paper p{color:inherit}
.paper .intro{font:16px/1.9 Georgia,serif;white-space:pre-line;overflow:auto;text-align:center}
.paper .empty{margin:auto;text-align:center;font:1.15rem/1.8 Georgia,serif}
.page-index{position:absolute;bottom:12px;left:0;right:0;text-align:center;font:13px Georgia,serif;color:#71542d}
.paper figure{margin:0;min-height:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.paper .photo-link{display:flex;align-items:center;justify-content:center;flex:0 1 auto;min-height:0;max-height:calc(100% - 85px);width:100%;padding:0;transform:rotate(-.6deg)}
.paper figure:nth-of-type(2) .photo-link{transform:rotate(.7deg)}
.paper img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;min-height:0;object-fit:contain;padding:6px;background:#fff9e9;box-shadow:1px 2px 2px #3b2b1933,3px 6px 9px #35201240}
.paper figcaption{flex:none;text-align:center;font:italic .95rem/1.5 Georgia,serif;max-height:72px;overflow:auto;color:#463321}
.paper figcaption small{display:block;font-size:.8rem}
.paper.has-pair{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:14px}
.paper.has-pair figure{height:100%;min-width:0}
.paper.has-pair img{padding:4px}
.paper.has-pair figcaption{font-size:.85rem}
#book-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;max-width:1050px;margin:auto}
#page-number{min-width:140px;text-align:center;color:#decaa4;font-size:13px}
.book-hint{text-align:center;font-size:12px;color:#bca788;margin:18px auto 0}
.turn-sheet{position:absolute;top:0;bottom:0;width:50%;z-index:2;transform-style:preserve-3d;pointer-events:none;box-shadow:-8px 4px 20px #0004}
.turn-sheet .paper{position:absolute;inset:0;height:100%;width:100%;box-sizing:border-box;backface-visibility:hidden}
.turn-sheet .sheet-back{transform:rotateY(180deg)}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:25px;max-width:1100px;margin:auto}
.photo-grid figure{margin:0;padding:10px;background:#e8d5b0;color:#493521;box-shadow:0 8px 18px #0005}
.photo-grid img{width:100%;height:270px;object-fit:contain}
.photo-grid img:not([src]){display:none}
.photo-grid figcaption{padding:10px;white-space:pre-line}
.photo-grid small{display:block}
#classic-gallery>h2,#classic-gallery>p{text-align:center;max-width:900px;margin:24px auto}
.empty-gallery{max-width:520px;margin:45px auto;text-align:center;padding:30px;line-height:1.8;border:1px solid #87653c}
.preview-banner{background:#5a3521;padding:15px}
#photo-dialog{width:min(1200px,95vw);max-width:95vw;max-height:95dvh;padding:20px;background:#21170f;color:#f5e6cb;border:1px solid #b08b54;box-sizing:border-box}
#photo-dialog::backdrop{background:#000d}
#lightbox-image{display:block;width:100%;height:62dvh;object-fit:contain}
.lightbox-toolbar,.lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.lightbox-toolbar h2{font-size:1.1rem;margin:0}
#lightbox-caption{white-space:pre-line;text-align:center}
.lightbox-controls button{flex:1}
.lightbox-controls span{text-align:center}
body.lightbox-open{overflow:hidden}
@media(max-width:700px){
 .chronicle{padding:23px 16px 42px}.chronicle-heading h1{font-size:25px}.chronicle-heading .eyebrow{font-size:8px}
 .book{width:calc(100% - 32px);height:540px;margin:28px 20px 32px 12px}
 .book.is-closed{width:calc(100% - 32px);height:510px;max-width:360px;margin-inline:auto}
 .book-spine{left:-10px;width:26px}.book-spine i{height:10px}
 .book-leaves{padding:8px 8px 14px}
 .book-year-tabs{display:none}
 .cover-border{inset:14% 10% 12%}.cover h2{font-size:clamp(2.7rem,12vw,3.7rem);margin-bottom:22px}
 .corner{width:72px;height:74px}.cover .pitchfork{height:93px;margin-bottom:30px}.cover img{width:70%;max-width:180px}
 .book-clasp{right:-12px;width:47px;height:29px}.book-clasp span{inset:6px 14px}.book-clasp:before,.book-clasp:after{top:9px}
 .book:not(.is-closed) .cover{width:100%}
 .paper,.paper:nth-child(2){padding:35px 22px;background:linear-gradient(90deg,#5b3d2030,transparent 10%,transparent 94%,#76532633),url('materials/paper.webp') center/100% 100%;border-radius:5px 8px 12px 5px}
 .paper.has-pair{gap:10px}.paper.has-pair figcaption{font-size:.8rem}.paper .intro{font-size:15px}
 .turn-sheet{width:100%}.lightbox-controls button{font-size:.85rem;padding:10px}#lightbox-image{height:53dvh}#photo-dialog{padding:12px}#book-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;max-width:360px}#book-controls button{gap:8px;padding-inline:12px;justify-content:center}#page-number{min-width:0;font-size:12px}#close-book{grid-column:1/-1;justify-self:center;width:100%;max-width:270px}
}
@media(max-width:360px){.book.is-closed{height:450px}.book{height:500px}.cover h2{font-size:2.75rem}.cover .pitchfork{height:80px;margin-bottom:25px}.corner{width:64px;height:66px}.mode-switch button{font-size:13px}.paper{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.cover,.turn-sheet{transform:none!important}}
