/*
Theme Name: Kvarleva Sagobibliotek 3.2.2
Author: Kvarleva
Description: Ett handillustrerat, interaktivt bibliotek för sagor och skräck. Kräver Kvarleva Bokhanterare.
Version: 3.2.2
Requires PHP: 7.4
Text Domain: kvarleva
*/
:root{--ink:#392f25;--paper:#eadfc9;--border:#a58b6a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 16%,#f9f0df,#d7c7ad);font-family:Georgia,serif;color:var(--ink)}a{color:inherit}.site-header,.site-footer{text-align:center;padding:12px 18px;font-size:13px}.site-header strong{letter-spacing:.22em}.site-header span{opacity:.7}.site-footer{opacity:.75;padding-bottom:50px}.stage{position:relative;width:min(94vw,950px);margin:0 auto;box-shadow:0 15px 45px #4635244d}.stage img{display:block;width:100%;height:auto}.book-spot{position:absolute;z-index:2;border:0;background:transparent;border-radius:4px;cursor:pointer;transition:box-shadow .2s,transform .2s;touch-action:manipulation}.book-spot:hover,.book-spot:focus-visible{outline:0;box-shadow:0 0 0 3px #f5de9aaa,0 0 23px #f5de9a88;transform:translateY(-2px)}.book-spot:focus-visible{outline:3px solid #705833}.book-spot::after{content:attr(aria-label);display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#f8edd9f5;padding:7px 9px;white-space:nowrap;font:12px Georgia,serif;box-shadow:0 2px 10px #0005}.book-spot:hover::after,.book-spot:focus-visible::after{display:block}.spot-0{left:13%;top:29.6%;width:14%;height:24.1%}.spot-1{left:31.2%;top:29.6%;width:14.2%;height:24.1%}.spot-2{left:49.1%;top:29.6%;width:13.6%;height:24.1%}.spot-3{left:67.2%;top:29.6%;width:14%;height:24.1%}.instruction{text-align:center;margin:15px 12px 35px;font-style:italic;color:#776954}.more-wrap{max-width:960px;margin:35px auto;padding:0 20px}.more-wrap h2{text-align:center;font-size:30px;font-weight:normal}.more-shelf{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;align-items:flex-end;padding:30px 20px 13px;border-bottom:18px solid #7c5a40;background:linear-gradient(#eee1c9,#c9b18e);box-shadow:0 15px 15px #5d412333}.extra-book{display:flex;align-items:center;justify-content:center;width:145px;height:205px;text-align:center;position:relative;border:4px double #b79c68;background:linear-gradient(90deg,#30362b,#66725a 13%,#444f3f 80%,#273124);color:#e8d7a8;box-shadow:6px 6px 9px #0004;cursor:pointer;padding:15px;font:23px/1.1 Georgia,serif;transition:transform .2s}.extra-book:nth-child(4n+2){background:linear-gradient(90deg,#3f2524,#845341 13%,#653b32 80%,#3a2221)}.extra-book:nth-child(4n+3){background:linear-gradient(90deg,#27313b,#65717e 13%,#434f5a 80%,#26303c)}.extra-book:nth-child(4n+4){background:linear-gradient(90deg,#4a3b28,#967b50 13%,#6f593a 80%,#433323)}.extra-book:hover,.extra-book:focus-visible{transform:translateY(-12px)}.extra-book.has-cover{background-size:cover!important;background-position:center!important;color:transparent}.dialog{display:none;position:fixed;inset:0;z-index:40;background:#171814dc;padding:18px;align-items:center;justify-content:center;backdrop-filter:blur(3px)}.dialog.open{display:flex}.panel{width:min(890px,100%);max-height:94vh;overflow:auto;padding:25px;background:linear-gradient(110deg,#f5ecdc,#ddcdb2);border:7px double #8d7757;box-shadow:0 25px 90px #0009;position:relative}.panel h2{font-size:clamp(28px,5vw,44px);font-weight:normal;margin:10px 25px 12px 0}.panel p{line-height:1.7}.close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:32px;cursor:pointer}.kicker{font-size:12px;letter-spacing:.18em;color:#78654a}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.actions a,.actions button{padding:12px 16px;border:1px solid #5b4835;background:#4a382c;color:#f7eedc;text-decoration:none;font:14px Georgia,serif;cursor:pointer}.actions .secondary{background:transparent;color:#493a2b}.viewer{display:none;width:100%;height:min(65vh,650px);border:1px solid #b3a184;background:white}.note{color:#77664f;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:600px){.site-header{font-size:11px}.stage{width:100%}.more-shelf{padding:18px 8px}.extra-book{width:115px;height:170px;font-size:18px}.panel{padding:16px}}

/* Kvarleva 2.0: all text and book covers are independently editable; the illustration stays intact. */
.painted-cover{--book-ink:#66503c;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:6px 6px 4px;border:3px ridge #b49a70;border-radius:3px 5px 5px 3px;color:#f3e4bf;background:linear-gradient(90deg,#17161070,transparent 13%,#ffffff12 57%,#120f0d62),var(--book-ink);box-shadow:inset 0 0 0 2px #423b2a,inset 0 0 0 4px #b69e6a,5px 4px 5px #0005;font-family:Georgia,serif;text-align:center;overflow:hidden}
.painted-cover::before{content:'';position:absolute;inset:7px;border:1px solid #d6be82a8;pointer-events:none}
.painted-cover::after{display:none}
.painted-ornament{font-size:clamp(8px,1.2vw,17px);color:#d2ba7f;line-height:1.1}
.painted-title{font-size:clamp(8px,1.45vw,19px);line-height:1.08;text-wrap:balance;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;position:relative;z-index:1;text-shadow:0 1px 2px #0009}
.painted-image{display:block;width:80%;flex:1;min-height:15%;max-height:55%;margin:5px auto;background:radial-gradient(ellipse at 50% 60%,#c6b391,#7c745c 46%,transparent 73%);background-size:cover;background-position:center;border-radius:45% 45% 8% 8%;border:1px solid #b6a1787a}
.painted-imprint{font-size:clamp(6px,.8vw,10px);letter-spacing:.09em;color:#d9c293}
.book-spot.painted-cover{transition:transform .2s ease,filter .2s ease;}
.book-spot.painted-cover:hover,.book-spot.painted-cover:focus-visible{transform:translateY(-5px);filter:brightness(1.13)}
.extra-book.painted-cover{height:215px;width:148px;flex:none;position:relative}
.extra-book.painted-cover .painted-title{font-size:20px}
.extra-book.painted-cover .painted-ornament{font-size:17px}
.extra-book.painted-cover .painted-imprint{font-size:10px}
.more-shelf{background:linear-gradient(#ebe0c9,#baa583)}
@media(max-width:600px){.book-spot.painted-cover{border-width:1px;padding:2px}.book-spot.painted-cover::before{inset:2px}.book-spot .painted-ornament{font-size:7px}.book-spot .painted-title{font-size:clamp(6px,1.55vw,10px)}.book-spot .painted-imprint{font-size:5px;letter-spacing:0}.book-spot .painted-image{margin:1px auto}.extra-book.painted-cover{width:115px;height:175px}.extra-book.painted-cover .painted-title{font-size:17px}}

/* Ugglan leder till Kvarlevas kontaktuppgifter. Klickytan följer bilden responsivt. */
.owl-hotspot{position:absolute;z-index:5;left:71.1%;top:55.5%;width:12.4%;height:16.5%;background:transparent;border:0;border-radius:46% 46% 24% 24%;cursor:pointer;touch-action:manipulation}
.owl-hotspot:hover{background:rgba(244,222,171,.12);box-shadow:0 0 0 2px rgba(230,196,133,.6),0 0 18px rgba(242,221,176,.46)}
.owl-hotspot:focus-visible{outline:3px solid #65452b;outline-offset:2px}
.owl-contact-panel{width:min(510px,100%);text-align:center}
.owl-contact-panel h2{margin:12px 0}
.owl-email{font-size:clamp(15px,2.4vw,21px);overflow-wrap:anywhere}
.owl-email a{color:#443022;text-decoration-thickness:1px;text-underline-offset:4px}
.owl-mail-button{display:inline-block;padding:11px 18px;background:#4a382c;color:#f7eedc;text-decoration:none;border:1px solid #5b4835}
.owl-mail-button:focus-visible{outline:3px solid #5b4835;outline-offset:2px}

/* 2.0.4: Inget gammalt vitt hover-falt. Visa genre som en del av omslaget. */
.book-spot.painted-cover:hover::after,
.book-spot.painted-cover:focus-visible::after{display:none!important;content:none!important}
.painted-genre{display:block;position:relative;z-index:2;max-width:96%;color:#f2e2bd;font:italic clamp(7px,.95vw,12px)/1.05 Georgia,serif;letter-spacing:.035em;text-transform:none;text-align:center;overflow-wrap:anywhere;text-shadow:0 1px 2px #0009;margin:2px auto 1px;border-top:1px solid #d3b77d88;border-bottom:1px solid #d3b77d88;padding:3px 2px}
.book-spot .painted-image{max-height:46%;}
.extra-book .painted-genre{font-size:12px;}
@media(max-width:600px){.book-spot .painted-genre{font-size:clamp(6px,1vw,9px);padding:1px 0;margin:1px auto}.book-spot .painted-image{max-height:42%}.extra-book .painted-genre{font-size:10px}}

/* Kvarleva 2.0.5 – smartphone-friendly library, original illustration retained. */
.mobile-library{display:none}
@media (max-width:700px){
  body{overflow-x:hidden}
  .site-header{padding:12px 14px;line-height:1.6;font-size:12px}
  .site-header strong{display:block;font-size:16px;letter-spacing:.16em}
  .site-header span{display:block}
  .stage{width:100%;max-width:460px;margin:0 auto;box-shadow:0 8px 25px #46352424}
  .stage>.book-spot{display:none!important}
  .stage>.owl-hotspot{display:none!important}
  .instruction{display:none}
  .more-wrap{display:none!important}
  .mobile-library{display:block;max-width:520px;margin:0 auto 30px;padding:14px 15px 26px;text-align:center}
  .mobile-library h2{font:normal 30px/1.1 Georgia,serif;margin:12px 0 23px;color:#483827}
  .mobile-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:19px 12px}
  .mobile-book.painted-cover{width:100%;max-width:196px;height:260px;position:relative;padding:12px 9px 9px;cursor:pointer;touch-action:manipulation;min-width:0;transition:transform .2s,box-shadow .2s}
  .mobile-book .painted-ornament{font-size:17px}
  .mobile-book .painted-title{font-size:clamp(17px,4.5vw,23px);-webkit-line-clamp:4;line-height:1.06}
  .mobile-book .painted-genre{font-size:12px;padding:4px 3px;margin:4px auto}
  .mobile-book .painted-image{height:85px;max-height:40%;min-height:60px;margin:5px auto;flex:1}
  .mobile-book .painted-imprint{font-size:10px;letter-spacing:.1em}
  .mobile-book:hover,.mobile-book:focus-visible{transform:translateY(-3px);box-shadow:0 0 0 3px #9a7b48, 4px 8px 16px #0004;outline:none}
  .mobile-owl-contact{margin:28px auto 0;min-height:48px;padding:12px 18px;background:#4a382c;color:#fff2dd;border:1px solid #7b5c40;font:15px Georgia,serif;cursor:pointer;touch-action:manipulation}
  .mobile-owl-contact:focus-visible{outline:3px solid #9a7b48;outline-offset:3px}
  .dialog{padding:8px;align-items:center}
  .panel{width:100%;max-height:92dvh;padding:17px 14px;border-width:4px}
  .panel h2{font-size:clamp(27px,8vw,39px);overflow-wrap:anywhere}
  .panel p{overflow-wrap:anywhere}
  .actions{gap:10px}
  .actions a,.actions button{min-height:46px;flex:1 1 130px;display:flex;align-items:center;justify-content:center;text-align:center}
  .viewer{height:62dvh}
  .site-footer{padding-bottom:28px}
}
@media (max-width:360px){
  .mobile-books{gap:12px 9px}
  .mobile-book.painted-cover{height:225px;padding:8px 6px}
  .mobile-book .painted-title{font-size:16px}
  .mobile-book .painted-image{min-height:42px}
}
@media (prefers-reduced-motion:reduce){.mobile-book.painted-cover{transition:none}}

/* Kvarlevas namnskylt och sidhuvud leder alltid till startsidan. */
.site-brand-link{color:inherit;text-decoration:none;letter-spacing:.22em;font-weight:bold}.site-brand-link:hover,.site-brand-link:focus-visible{text-decoration:underline;text-underline-offset:4px}.brand-spot{position:absolute;left:28%;top:9.5%;width:45%;height:16.8%;display:block;z-index:3;cursor:pointer;border-radius:5px}.brand-spot:focus-visible{outline:3px solid #684e2e;outline-offset:2px}.brand-spot:hover{background:rgba(255,238,191,.055)}

/* Version 2.0.7: Den illustrerade skattkistan leder till Om-sidan. */
.chest-hotspot{position:absolute;z-index:5;left:55.5%;top:64.5%;width:15%;height:7.1%;cursor:pointer;border-radius:7px;display:block;touch-action:manipulation}
.chest-hotspot:hover{background:rgba(248,225,167,.13);box-shadow:0 0 0 2px rgba(184,149,83,.55),0 0 16px rgba(245,217,159,.38)}
.chest-hotspot:focus-visible{outline:3px solid #63482c;outline-offset:2px}
.mobile-about-link{display:none}
.kvarleva-about{width:min(760px,calc(100% - 30px));margin:48px auto 65px;background:#f3e8d2;border:7px double #a48b65;box-shadow:0 15px 40px #4635243d;padding:clamp(23px,5vw,58px);font:18px/1.8 Georgia,serif}
.kvarleva-about h1{font:normal clamp(36px,6vw,58px)/1.1 Georgia,serif;text-align:center;margin:0 0 26px}
.kvarleva-about .about-ornament{text-align:center;color:#8b6d46;font-size:26px;margin-bottom:12px}
.kvarleva-about .about-content{overflow-wrap:anywhere}
.kvarleva-about .about-home{display:inline-block;margin-top:24px;padding:10px 16px;background:#4a382c;color:#f7eedc;text-decoration:none;font-size:15px}
.kvarleva-about .about-home:hover,.kvarleva-about .about-home:focus-visible{background:#654c39}
@media(max-width:700px){
  .stage>.chest-hotspot{display:none!important}
  .mobile-about-link{display:block;max-width:330px;margin:25px auto 0;padding:13px 15px;background:#f6ecda;color:#4a382c;border:2px solid #92785a;text-decoration:none;font:16px Georgia,serif;min-height:48px}
  .mobile-about-link:focus-visible{outline:3px solid #65452b}
  .mobile-owl-contact{margin-top:12px}
  .kvarleva-about{margin:24px auto 35px;padding:23px 18px;font-size:16px}
}

/* 2.0.8: tydlig stängknapp på Om-sidan, till startsidan */
.kvarleva-about{position:relative;}
.kvarleva-about .about-close{position:absolute;right:14px;top:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#352b20;text-decoration:none;font-family:Arial,sans-serif;font-size:36px;line-height:1;font-weight:400;border-radius:4px;z-index:2;}
.kvarleva-about .about-close:hover{background:#e2d1b6;}
.kvarleva-about .about-close:focus-visible{outline:3px solid #72563c;outline-offset:2px;}
@media(max-width:600px){.kvarleva-about .about-close{right:5px;top:3px;width:48px;height:48px;} .kvarleva-about h1{padding:0 25px;}}

/* Läsarnas röster */
.kvarleva-voices{border-top:1px solid #a78d66;margin-top:24px;padding-top:18px}.kvarleva-voices h3{font-size:26px;font-weight:normal}.kvarleva-voices h4{font-size:19px;font-weight:normal}.kvarleva-comment{border-top:1px solid #c8b89e;padding:13px 0}.kvarleva-comment.reply{margin-left:22px;border-left:2px solid #b9a07b;padding-left:14px}.kvarleva-comment-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.kvarleva-comment-head small{color:#6e604c}.kvarleva-comment-moons{color:#8a6a37;margin-left:auto;letter-spacing:.1em}.kvarleva-comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.kvarleva-reply-button{border:0;background:transparent;text-decoration:underline;color:#54422f;cursor:pointer;padding:3px 0}.kvarleva-voices form label{display:block;margin:12px 0;font-size:14px}.kvarleva-voices input:not([type=hidden]),.kvarleva-voices textarea{display:block;width:100%;padding:11px;border:1px solid #a99777;background:#fbf6ec;color:#32291f;font:16px Georgia,serif;border-radius:0;margin-top:5px}.kvarleva-voices form>button{border:1px solid #5b4835;background:#4a382c;color:#f7eedc;padding:12px 18px;font:14px Georgia,serif;cursor:pointer}.kvarleva-voices form>button:disabled{opacity:.6}.kvarleva-privacy{font-size:12px;color:#6f6250}.kvarleva-moons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.kvarleva-moons .moon{background:none;border:0;color:#b4a791;font:32px Georgia,serif;cursor:pointer;padding:1px 4px}.kvarleva-moons .moon.selected{color:#856236}.kvarleva-moons .moon:focus-visible{outline:2px solid #54422f}.kvarleva-trap{display:none!important}

/* 2.0.10: hopfälld läsarpanel */
.kvarleva-voices{padding-top:0;}
.kvarleva-voices details>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;min-height:56px;padding:14px 4px;color:#443426;font:normal 22px Georgia,serif;}
.kvarleva-voices details>summary::-webkit-details-marker{display:none;}
.kvarleva-voices details>summary::after{content:'+';font:normal 30px Georgia,serif;color:#745b3f;margin-left:10px;}
.kvarleva-voices details[open]>summary::after{content:'−';}
.kvarleva-voices details>summary:focus-visible{outline:2px solid #76593b;outline-offset:3px;}
.kvarleva-expand-hint{font:normal 13px Georgia,serif;color:#796a56;margin-left:auto;text-align:right;}
.kvarleva-voices-content{padding:0 2px 16px;}
@media(max-width:530px){.kvarleva-voices details>summary{font-size:19px;}.kvarleva-expand-hint{font-size:11px;}}

/* 2.0.11 – hemliga trädet; inget hover-ljus eller tooltip */
.tree-secret-hotspot{position:absolute;z-index:9;left:41%;top:2.5%;width:18%;height:6.9%;padding:0;border:0;background:transparent;cursor:default;touch-action:manipulation;}
.tree-secret-hotspot:hover{background:transparent;box-shadow:none;filter:none;}
.tree-secret-hotspot:focus-visible{outline:2px dashed #654d36;outline-offset:2px;}
.kvarleva-secret-panel{width:min(610px,100%);text-align:center;padding:34px 30px 30px;}
.kvarleva-secret-panel .kicker{letter-spacing:.22em;}
.kvarleva-secret-panel h2{margin:14px 26px 18px;font-weight:normal;}
.kvarleva-glyphs{font-size:clamp(23px,4.3vw,35px);letter-spacing:.16em;line-height:2;overflow-wrap:anywhere;color:#60472f;margin:28px 0 8px;}
.secret-hint{font-style:italic;color:#7a654e;font-size:14px;}
.omega-trigger{display:inline;vertical-align:baseline;font:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;background:transparent;border:0;border-radius:0;padding:0;margin:0;cursor:inherit;appearance:none;-webkit-appearance:none;text-decoration:none;box-shadow:none;transform:none;}
.omega-trigger:hover,.omega-trigger:active{color:inherit;background:transparent;border:0;outline:none;box-shadow:none;text-decoration:none;filter:none;transform:none;}
.omega-trigger:focus-visible{outline:1px dotted #705739;outline-offset:2px;}
.secret-final{font-style:italic;color:#705237;text-align:center;margin-top:28px;}
@media(max-width:600px){.stage>.tree-secret-hotspot{display:block!important}.kvarleva-secret-panel{padding:28px 18px 20px}.kvarleva-glyphs{letter-spacing:.07em}}

/* Kvarleva copyright footer */
.site-footer .footer-brand{margin-bottom:8px}
.site-footer .copyright-notice{margin:0 auto;max-width:760px;font-size:12px;line-height:1.7;opacity:.87;letter-spacing:.01em}
.site-footer .copyright-notice span{display:inline}
@media(max-width:600px){.site-footer .copyright-notice{font-size:11px;padding:0 10px}}

/* Kvarleva 2.1.2 – originalillustrationen är orörd. Tonade blad använder bildens egen textur. */
.stage .kvarleva-season-art{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;display:block;object-fit:fill;user-select:none}
/* Ingen grafisk snö, inga hårda ljusfilter, inga vita dekorränder. */
body.kvarleva-season-var{background:#e5e5d9}
body.kvarleva-season-sommar{background:#e4e1d0}
body.kvarleva-season-host{background:#e6ded2}
body.kvarleva-season-vinter,body.kvarleva-season-jul{background:#e2e5e0}

/* 2.2 – fyra fullständiga handmålade illustrationer; ingen påklistrad grafik */
.stage-wide{width:min(96vw,1050px)}
.stage-wide .spot-0{left:15.6%;top:40.3%;width:12.7%;height:30.8%}
.stage-wide .spot-1{left:31.7%;top:40.3%;width:12.8%;height:30.8%}
.stage-wide .spot-2{left:47.7%;top:40.3%;width:12.7%;height:30.8%}
.stage-wide .spot-3{left:63.6%;top:40.3%;width:12.8%;height:30.8%}
.stage-wide .brand-spot{left:30%;top:17.8%;width:43%;height:17%}
.stage-wide .tree-secret-hotspot{left:44%;top:6.8%;width:14%;height:9%}
.stage-wide .owl-hotspot{left:68.5%;top:75%;width:11%;height:20%}
.stage-wide .chest-hotspot{left:42.5%;top:82%;width:15%;height:12%}
/* Preserve book controls above the painted imagery. */
@media(max-width:700px){.stage-wide{max-width:520px}}

/* Kvarleva 2.4 — four equal size panels cut from one image; season-specific clickable layout. */
.stage-24{width:min(94vw,760px)}
.stage-24 .spot-0{left:11.5%;top:25.0%;width:17.1%;height:17.7%}
.stage-24 .spot-1{left:30.7%;top:25.0%;width:17.2%;height:17.7%}
.stage-24 .spot-2{left:49.7%;top:25.0%;width:17.1%;height:17.7%}
.stage-24 .spot-3{left:68.2%;top:25.0%;width:17.2%;height:17.7%}
.stage-24 .tree-secret-hotspot{left:42.8%;top:4.8%;width:17%;height:5.5%}
.stage-24 .brand-spot{left:25%;top:9.0%;width:50%;height:12.5%}
.stage-24 .owl-hotspot{left:72.3%;top:44.2%;width:14%;height:12.5%}
.stage-24 .chest-hotspot{left:54.5%;top:50.2%;width:16%;height:5.8%}
.rune-book-hotspot{position:absolute;z-index:10;left:51.9%;top:64.2%;width:6.5%;height:3.1%;border:0;background:transparent;padding:0;cursor:default}
.rune-book-hotspot:hover{background:transparent;outline:0;box-shadow:none}
.rune-book-hotspot:focus-visible{outline:1px dashed #6b5038}
.stage-original .rune-book-hotspot{display:none}
.rune-book-panel{background:#090708;color:#b73531;border:2px solid #702020;box-shadow:0 20px 95px #000;max-width:670px;text-align:center;padding:28px 24px}
.rune-book-panel .close{color:#bb423a}
.rune-book-panel h2{color:#d33b33;font-size:24px;margin:6px auto 12px}
.rune-book-symbols{color:#bc3931;font-size:28px;letter-spacing:.12em;line-height:1.8}
.rune-book-cryptic{font-size:clamp(12px,2.3vw,16px);color:#c13d36;line-height:1.7;overflow-wrap:anywhere}
#rune-book-form{display:flex;align-items:center;gap:8px;max-width:400px;margin:22px auto 12px}
#rune-book-input{min-width:0;flex:1;background:#110b0c;color:#e35149;border:1px solid #7a2a2a;padding:12px;font:18px Georgia,serif;outline-offset:3px}
#rune-book-form button{background:#1c1010;border:1px solid #7a2a2a;color:#d14a42;padding:10px 20px;cursor:pointer;font:21px Georgia,serif}
.rune-book-error{min-height:1.2em;color:#ba3632}
.rune-book-translation{border-top:1px solid #67201b;margin-top:20px;padding-top:16px;color:#db5047}
.rune-book-translation[hidden]{display:none!important}
.rune-book-translation p{line-height:1.85;margin:14px 0 26px;font-size:clamp(14px,2.3vw,19px)}
.kv-candle-glow{position:absolute;z-index:2;pointer-events:none;width:7%;height:7%;border-radius:50%;filter:blur(11px);background:radial-gradient(ellipse,#ffd88a66 0%,#ef973520 45%,transparent 76%);animation:kv-flicker 3.4s ease-in-out infinite alternate}
.kv-candle-glow-a{top:11%;left:86%}.kv-candle-glow-b{top:43%;left:23%;animation-delay:-1.6s}
@keyframes kv-flicker{0%{opacity:.24;transform:scale(.85)}30%{opacity:.5;transform:scale(.96)}65%{opacity:.3;transform:scale(.90)}100%{opacity:.67;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.kv-candle-glow{animation:none;opacity:.24}}
@media(max-width:600px){.stage-24{width:100%;max-width:520px}.stage-24 .book-spot{display:none!important}.rune-book-panel{padding:24px 14px}.rune-book-cryptic{font-size:12px}}

/* 2.4.1: Coordinates measured against the actual 760x1140 painted scene.
   All hitboxes are percentages of the same undistorted image, in every season. */
.stage-24 .spot-0{left:9.4%;top:31%;width:17.1%;height:21.1%}
.stage-24 .spot-1{left:28.8%;top:31%;width:17.2%;height:21.1%}
.stage-24 .spot-2{left:48.4%;top:31%;width:17.1%;height:21.1%}
.stage-24 .spot-3{left:67.3%;top:31%;width:17.3%;height:21.1%}
.stage-24 .tree-secret-hotspot{left:47.5%;top:7.2%;width:10%;height:5.5%}
.stage-24 .brand-spot{left:29.8%;top:13%;width:43%;height:9%}
.stage-24 .owl-hotspot{left:74.3%;top:54.7%;width:15.4%;height:14.7%}
.stage-24 .chest-hotspot{left:58.8%;top:62.3%;width:14.5%;height:7%}
.stage-24 .rune-book-hotspot{left:65.3%;top:78.7%;width:5%;height:5.3%;}
/* No visible hints on secret objects or on normal mouse hover. */
.stage-24 .owl-hotspot:hover,.stage-24 .chest-hotspot:hover,
.stage-24 .brand-spot:hover,.stage-24 .rune-book-hotspot:hover,
.stage-24 .tree-secret-hotspot:hover{background:transparent!important;box-shadow:none!important;filter:none!important;outline:none!important}
/* Focus indicators remain for keyboard accessibility. */
.stage-24 .owl-hotspot:focus-visible,.stage-24 .chest-hotspot:focus-visible,
.stage-24 .rune-book-hotspot:focus-visible,.stage-24 .tree-secret-hotspot:focus-visible{outline:2px dashed #8e785d!important;outline-offset:2px}
/* The painted books already exist on the background; these functional covers replace them in situ. */
.stage-24 .book-spot.painted-cover{padding:4px 4px 3px;border-width:2px}
.stage-24 .book-spot .painted-title{font-size:clamp(10px,1.8vw,19px);line-height:1.08;overflow-wrap:break-word;hyphens:auto}
.stage-24 .book-spot .painted-image{max-height:44%}
.stage-24 .book-spot .painted-genre{font-size:clamp(8px,1.2vw,12px)}
@media(max-width:600px){.stage-24 .book-spot{display:none!important}}

/* 2.4.2 – De två öppna hemligheterna får ett varmt sken på hover.
   Övriga påskägg förblir visuellt dolda. */
.stage-24 .owl-hotspot:hover,
.stage-24 .chest-hotspot:hover {
  background:rgba(255,219,139,.13)!important;
  box-shadow:0 0 0 2px rgba(236,191,105,.42), 0 0 18px 6px rgba(246,204,117,.33), inset 0 0 12px rgba(255,235,166,.16)!important;
  filter:none!important;
  outline:none!important;
  transition:background .24s ease, box-shadow .24s ease;
}
.stage-24 .owl-hotspot:focus-visible,
.stage-24 .chest-hotspot:focus-visible {
  outline:2px solid #b88742!important;
  outline-offset:3px;
  background:rgba(255,219,139,.13)!important;
  box-shadow:0 0 18px 6px rgba(246,204,117,.3)!important;
}
@media (prefers-reduced-motion:reduce){
  .stage-24 .owl-hotspot,.stage-24 .chest-hotspot{transition:none!important}
}

/* Kvarlevas bokläsare 2.5 – egna PDF-sidor utan att påverka resten av biblioteket */
.kv-reader{position:fixed;inset:0;background:#201912f5;z-index:150;display:none;flex-direction:column;padding:clamp(8px,2vw,22px);color:#e9d5ac;gap:10px}
.kv-reader.open{display:flex}.kv-reader-top{display:flex;align-items:center;gap:14px;min-height:32px;font:14px Georgia,serif}.kv-reader-brand{font-weight:bold;letter-spacing:.12em;white-space:nowrap}.kv-reader-top #kv-reader-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.kv-reader-top #kv-reader-close{background:none;border:0;color:#ecd8ae;font-size:32px;cursor:pointer}
.kv-reader-stage{display:flex;flex:1;min-height:0;align-items:center;justify-content:center;overflow:hidden;perspective:1600px}.kv-reader-pages{display:flex;max-width:100%;max-height:100%;justify-content:center;align-items:center;gap:3px;transform-origin:center}.kv-page{background:#f4ebd9;box-shadow:0 4px 25px #0807049a;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.kv-page canvas{display:block;max-width:100%;max-height:100%;object-fit:contain}.kv-page + .kv-page{box-shadow:inset 9px 0 18px #755c3b55,0 4px 25px #0807049a}.kv-reader-placeholder{padding:30px;color:#efdcba}.kv-reader-controls{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.kv-reader-controls button,.kv-reader-controls a{font:14px Georgia,serif;color:#f1e3c4;text-decoration:none;cursor:pointer;background:#51402e;border:1px solid #a78b5c;padding:10px 13px}.kv-reader-controls button:disabled{opacity:.35;cursor:default}.kv-reader-controls #kv-reader-count{min-width:110px;text-align:center;font-size:13px}.kv-reader-status{text-align:center;min-height:1.2em;margin:0;font-size:13px;color:#dbc39a}.kv-reader-pages.kv-turn-next{animation:kvflipnext .4s ease}.kv-reader-pages.kv-turn-prev{animation:kvflipprev .4s ease}@keyframes kvflipnext{0%{transform:rotateY(0)}45%{transform:rotateY(-8deg)}100%{transform:rotateY(0)}}@keyframes kvflipprev{0%{transform:rotateY(0)}45%{transform:rotateY(8deg)}100%{transform:rotateY(0)}}@media(max-width:650px){.kv-reader-brand{font-size:11px}.kv-reader-top #kv-reader-title{font-size:12px}.kv-reader-controls{gap:6px}.kv-reader-controls button,.kv-reader-controls a{padding:8px;font-size:12px}}@media(prefers-reduced-motion:reduce){.kv-reader-pages.kv-turn-next,.kv-reader-pages.kv-turn-prev{animation:none}}


/* Kvarleva 3.0 — V9 night library, responsive natural book slots */
.kv3-scene-outer{width:100%;overflow-x:auto;background:#17110e}
.kv3-scene{position:relative;max-width:1900px;min-width:880px;width:100%;aspect-ratio:1672/869;margin:auto;background:url("assets/kvarleva-bibliotek-ren-310.png") center / 100% 100% no-repeat;isolation:isolate}
.kv3-window,.kv3-owl{position:absolute;z-index:9;border:2px solid transparent;border-radius:8px;background:transparent;cursor:pointer}
.kv3-window{left:2%;top:6.2%;width:20%;height:50.7%}.kv3-owl{left:81%;top:10.5%;width:5.9%;height:11.9%}
.kv3-window:hover,.kv3-window:focus-visible,.kv3-owl:hover,.kv3-owl:focus-visible{outline:2px solid #f5d99c;background:#fff3b70d;box-shadow:0 0 20px #ffe9ac8a}
.kv3-shelf{position:absolute;z-index:7;left:32.6%;top:25.7%;width:43%;height:42.5%;display:flex;flex-direction:column;padding:.7% 1.2% .9%;border:clamp(3px,.45vw,8px) ridge #96683b;background:linear-gradient(90deg,#221409,#482b18 4%,#291809 8%,#302014 94%,#5b351d 97%,#27180e);box-shadow:inset 0 1px 18px #080503,0 9px 14px #1008068c;overflow:hidden;box-sizing:border-box}
.kv3-row{position:relative;flex:1 1 0;min-height:0;height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4.2%;padding:1.5% 2.7% 3.3%;align-items:end;border-bottom:clamp(3px,.45vw,8px) ridge #a57441;box-shadow:inset 0 -8px 9px #110702a8}
.kv3-row::after{content:"";position:absolute;bottom:-1.5%;left:0;right:0;height:3.2%;background:linear-gradient(#c49a63,#6a3b1d);pointer-events:none}
.kv3-book-wrap{min-width:0;min-height:0;width:100%;display:flex;justify-content:center;align-items:end;filter:drop-shadow(2px 4px 4px #0b0604bb);transition:transform .2s;position:relative;z-index:1}
.kv3-book-wrap:hover,.kv3-book-wrap:focus-within{transform:translateY(-4%) scale(1.035);z-index:11}
.kv3-book{box-sizing:border-box;position:relative;width:76%;height:auto;aspect-ratio:.69;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:2%;justify-items:center;align-items:start;padding:4.5% 5%;border:2px solid #c49c62;border-radius:2px;color:#f4dfbb;font:normal clamp(5px,.64vw,11px)/1.12 Georgia,serif;text-align:center;text-shadow:0 1px 2px #100904;background:linear-gradient(115deg,#4a2d20,#79563b 55%,#312017);box-shadow:inset 0 0 0 1px #2c1a12,inset 0 0 0 4px #a9834f,4px 4px 6px #100805;cursor:pointer;overflow:hidden}
.kv3-book:before{content:"";position:absolute;inset:3.5%;border:1px solid #f6dcaa80;pointer-events:none}.kv3-book:focus-visible{outline:3px solid #f9e7bd}
.kv3-book-wrap:nth-child(4n+2) .kv3-book{background:linear-gradient(115deg,#412731,#765768 55%,#2d1a22)}
.kv3-book-wrap:nth-child(4n+3) .kv3-book{background:linear-gradient(115deg,#273429,#5d724b 55%,#223122)}
.kv3-book-wrap:nth-child(4n+4) .kv3-book{background:linear-gradient(115deg,#473322,#8a6b44 55%,#342318)}
.kv3-flower{font-size:clamp(8px,.95vw,14px);line-height:1}.kv3-art-frame{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;border:1px solid #ecd09c88;background:#18100c;overflow:hidden}.kv3-art-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:sepia(.03) saturate(.94)}
.kv3-book-title{width:100%;font-weight:bold;overflow-wrap:anywhere;overflow:hidden;max-height:2.7em}.kv3-book.has-cover .kv3-book-title{display:none}.kv3-imprint{font-size:clamp(5px,.44vw,8px);letter-spacing:.1em}
.kv3-filler{height:74%;width:72%;display:flex;gap:1px;align-items:stretch;justify-self:center;opacity:.85;overflow:hidden}.kv3-filler i{flex:1;min-width:0;background:linear-gradient(90deg,#221511,#765039 55%,#30201a);border-left:1px solid #af8958;border-right:1px solid #180f09}.kv3-filler i:nth-child(2n){background:linear-gradient(90deg,#202720,#5e634b 60%,#23251e);margin-top:8%}.kv3-filler i:nth-child(3n){background:linear-gradient(90deg,#2b2025,#734751 60%,#2c1b20);margin-top:4%}
@media(max-width:650px){.kv3-scene{min-width:880px}.kv3-scene-outer{scrollbar-color:#8b6846 #25170e}.kv3-book{width:82%}.kv3-filler{width:78%}}
@media(prefers-reduced-motion:reduce){.kv3-book-wrap{transition:none}.kv3-book-wrap:hover{transform:none}}

/* 3.0.2 — Each book is sized by the shelf ROW height, never by the cover's intrinsic dimensions. */
.kv3-shelf{overflow:visible}
.kv3-row{overflow:visible}
.kv3-book-wrap{height:86%;max-height:86%;width:100%;min-height:0;align-self:end;position:relative}
.kv3-book{height:100%;width:auto;max-width:90%;aspect-ratio:0.69;min-height:0;max-height:100%;padding:4% 5%;grid-template-rows:auto minmax(0,1fr) auto auto}
.kv3-art-frame{min-height:0;min-width:0;overflow:hidden}
.kv3-art-frame img{max-width:100%;max-height:100%;object-fit:contain}
.kv3-book-wrap[data-book-title]::after{content:attr(data-book-title);position:absolute;z-index:40;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,5px);min-width:max-content;max-width:220px;width:max-content;white-space:normal;text-align:center;line-height:1.3;font:clamp(12px,.95vw,17px)/1.3 Georgia,serif;letter-spacing:.025em;color:#f5dfb8;background:#2a1a11f2;border:1px solid #bd9360;border-radius:5px;padding:9px 15px;box-shadow:0 9px 26px #000a;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.kv3-book-wrap[data-book-title]:is(:hover,:focus-within)::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){.kv3-book-wrap[data-book-title]::after{transition:none}}

/* 3.0.5: separate classic mobile edition; desktop V9 left intact */
.kv-mobile-classic{display:none}
@media(max-width:700px){
 .kv3-scene-outer{display:none!important}
 .kv-mobile-classic{display:block;max-width:560px;margin:0 auto;background:#e8e0d4}
 .kv-mobile-illustration{width:100%;max-height:400px;overflow:hidden;position:relative;background:#e4d9c7}
 .kv-mobile-illustration img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover;object-position:center top}
 .kv-mobile-classic .mobile-library{display:block;max-width:560px;margin:0;padding:20px 14px 34px;background:#e8e0d4}
 .kv-mobile-classic .mobile-library h2{font-size:clamp(24px,6vw,32px);margin:5px 0 21px;color:#493426}
 .kv-mobile-classic .mobile-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;justify-items:center}
 .kv-mobile-classic .mobile-book{max-width:100%;min-width:0}
 .kv-mobile-classic .mobile-about-link,.kv-mobile-classic .mobile-owl-contact{display:block;margin:18px auto 0;max-width:330px}
 .kv-mobile-classic .mobile-owl-contact{cursor:pointer}
 .more-wrap{display:none!important}
}
@media(min-width:701px){.kv-mobile-classic{display:none!important}}


/* 3.0.6 — Desktop hover title and genre, no change to mobile classic layout. */
.kv3-book-wrap[data-book-title]::after{content:none!important;display:none!important}
.kv3-hover-label{position:absolute;z-index:40;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,5px);max-width:220px;min-width:140px;width:max-content;padding:9px 15px;background:#2a1a11f2;border:1px solid #bd9360;border-radius:5px;color:#f5dfb8;box-shadow:0 9px 26px #000a;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;text-align:center;font:clamp(12px,.95vw,17px)/1.3 Georgia,serif;white-space:normal}
.kv3-hover-label strong{display:block;font-weight:normal;overflow-wrap:break-word}
.kv3-hover-label em{display:block;font-size:.79em;line-height:1.35;font-style:italic;letter-spacing:.06em;color:#d6b88c;margin-top:5px;padding-top:5px;border-top:1px solid #94714c85}
.kv3-book-wrap:is(:hover,:focus-within) .kv3-hover-label{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:700px){.kv3-hover-label{display:none!important}}
@media(prefers-reduced-motion:reduce){.kv3-hover-label{transition:none!important}}


/* Kvarleva 3.0.7 – Hybrid shelf integration: less boxy UI, more painterly library feel */
.kv3-shelf{
  left:33.1%; top:27.2%; width:42.1%; height:40.1%;
  padding:0.35% 0.65% 0.55%;
  background:linear-gradient(180deg,rgba(55,31,18,.10),rgba(33,18,11,.16));
  border:0; box-shadow:none; overflow:visible;
}
.kv3-row{
  gap:5.3%; padding:2.6% 2.3% 5.5%; border-bottom:0; box-shadow:none; overflow:visible;
}
.kv3-row::after{
  height:2.5%; bottom:1.2%; left:1.8%; right:1.8%;
  background:linear-gradient(180deg,rgba(238,193,119,.70),rgba(98,58,28,.82) 55%,rgba(46,24,11,.0));
  border-radius:2px; box-shadow:0 2px 8px rgba(24,11,5,.32);
}
.kv3-book-wrap{
  height:81%; max-height:81%; filter:drop-shadow(1px 4px 4px rgba(17,9,5,.42));
}
.kv3-book-wrap:hover,.kv3-book-wrap:focus-within{transform:translateY(-3%) scale(1.028)}
.kv3-book-wrap:nth-child(odd){transform:rotate(-.45deg)}
.kv3-book-wrap:nth-child(even){transform:rotate(.4deg)}
.kv3-book-wrap:nth-child(odd):hover,.kv3-book-wrap:nth-child(odd):focus-within,
.kv3-book-wrap:nth-child(even):hover,.kv3-book-wrap:nth-child(even):focus-within{transform:translateY(-3%) scale(1.028) rotate(0deg)}
.kv3-book{
  width:72%; max-width:84%;
  border:1px solid rgba(191,149,89,.95); border-radius:2px 4px 3px 2px;
  background:linear-gradient(90deg,rgba(39,24,15,.98) 0 6%,rgba(89,60,38,.96) 7%,rgba(69,46,29,.96) 13%,rgba(41,28,19,.96) 100%);
  box-shadow:inset 0 0 0 1px rgba(63,37,19,.95), inset 0 0 0 3px rgba(170,131,78,.62), 3px 5px 6px rgba(16,8,5,.36);
  padding:4.5% 6% 5%; gap:3%;
}
.kv3-book::before{inset:4%; border-color:rgba(227,197,139,.42)}
.kv3-book::after{
  content:""; position:absolute; left:0; top:0; bottom:0; width:10%;
  background:linear-gradient(90deg,rgba(27,15,9,.95),rgba(132,100,64,.55) 72%,rgba(27,15,9,.0));
  pointer-events:none;
}
.kv3-book.has-cover .kv3-art-frame{background:rgba(18,10,6,.72)}
.kv3-book:not(.has-cover) .kv3-art-frame{display:none}
.kv3-flower{font-size:clamp(7px,.9vw,13px); color:#d5bb84}
.kv3-art-frame{
  width:88%; height:100%; border:1px solid rgba(223,191,135,.42);
  background:linear-gradient(180deg,rgba(32,18,11,.66),rgba(15,9,6,.35));
  box-shadow:inset 0 0 0 1px rgba(76,49,27,.75);
}
.kv3-art-frame img{object-fit:cover; filter:sepia(.10) saturate(.86) brightness(.98)}
.kv3-book-title{font-size:clamp(5px,.61vw,10px); letter-spacing:.02em; max-height:3.2em}
.kv3-imprint{font-size:clamp(4px,.40vw,7px); letter-spacing:.11em; color:#dcc392}
.kv3-filler{
  height:73%; width:80%; align-self:end; justify-self:center; gap:2px; opacity:.96;
  filter:drop-shadow(1px 2px 1px rgba(13,7,5,.25));
}
.kv3-filler i{border-radius:2px 2px 0 0; box-shadow:inset 0 0 0 1px rgba(35,20,13,.28)}
.kv3-filler i:nth-child(1){flex:.65;background:linear-gradient(90deg,#2d201a,#7e5a42 58%,#3a291f);margin-top:14%}
.kv3-filler i:nth-child(2){flex:.82;background:linear-gradient(90deg,#2d3027,#70805d 58%,#2c3028);margin-top:3%}
.kv3-filler i:nth-child(3){flex:.58;background:linear-gradient(90deg,#312228,#845262 58%,#35242d);margin-top:10%}
.kv3-filler i:nth-child(4){flex:.92;background:linear-gradient(90deg,#2f241f,#8d6848 58%,#37291f);margin-top:0%}
.kv3-filler i:nth-child(5){flex:.74;background:linear-gradient(90deg,#222a2a,#627480 58%,#293338);margin-top:12%}
.kv3-filler i:nth-child(6){flex:.63;background:linear-gradient(90deg,#36221c,#a17558 58%,#3d281d);margin-top:6%}
.kv3-filler i:nth-child(7){flex:.78;background:linear-gradient(90deg,#2c2220,#6a4b45 58%,#302322);margin-top:9%}
.kv3-hover-label{
  max-width:250px; min-width:160px; padding:10px 15px 11px;
  background:linear-gradient(180deg,rgba(37,23,16,.97),rgba(22,13,9,.97));
  border:1px solid rgba(186,144,89,.95);
  box-shadow:0 10px 24px rgba(0,0,0,.48), inset 0 0 0 1px rgba(240,211,156,.12);
}
.kv3-hover-label::before{
  content:""; position:absolute; inset:4px; border:1px solid rgba(229,198,144,.17); pointer-events:none;
}
.kv3-hover-label strong{position:relative; z-index:1; font-size:clamp(12px,.98vw,16px)}
.kv3-hover-label em{position:relative; z-index:1}
@media(max-width:1200px){
  .kv3-book{width:76%}
  .kv3-filler{width:84%}
}

/* 3.0.8: no artificial bookshelf or overlaid book covers. The four painted
   covers in the background are the natural first-row buttons. Additional
   titles appear as unobtrusive groups of book spines on existing shelves. */
.kv3-shelf{display:none!important}
.kv308-bookmarks{position:absolute;inset:0;z-index:7;pointer-events:none}
.kv308-place{position:absolute;pointer-events:auto;width:7.7%;height:11%;}
.kv308-bookmark{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;position:relative;border-radius:3px;transition:filter .2s ease,transform .2s ease}
.kv308-bookmark:focus-visible{outline:2px solid #f4dcb0;outline-offset:2px}
.kv308-place:is(:hover,:focus-within) .kv308-bookmark{filter:brightness(1.16);transform:translateY(-2%)}
.kv308-place.kv308-painted-book{top:27.0%;height:19%;width:8.2%}
.kv308-place-0{left:33.8%}.kv308-place-1{left:44.0%}.kv308-place-2{left:54.5%}.kv308-place-3{left:64.7%}
.kv308-place-4,.kv308-place-5,.kv308-place-6,.kv308-place-7{top:48.5%}
.kv308-place-8,.kv308-place-9,.kv308-place-10,.kv308-place-11{top:60.8%}
.kv308-place-4,.kv308-place-8{left:34.0%}.kv308-place-5,.kv308-place-9{left:44.2%}
.kv308-place-6,.kv308-place-10{left:54.6%}.kv308-place-7,.kv308-place-11{left:64.9%}
.kv308-spines{display:flex;justify-content:center;align-items:end;height:100%;width:100%;gap:3%;padding:3% 11% 0;filter:drop-shadow(2px 3px 2px #140a0680)}
.kv308-spines i{display:block;height:91%;width:27%;border:1px solid #37261d;border-radius:2px 2px 0 0;background:linear-gradient(90deg,#251e1a 0%,#685039 30%,#967553 56%,#453026 100%);box-shadow:inset 1px 0 #c2a07850}
.kv308-spines i:first-child{height:83%;background:linear-gradient(90deg,#252a29,#526357 52%,#2a3430)}
.kv308-spines i:last-child{height:95%;background:linear-gradient(90deg,#302021,#795449 55%,#3c2826)}
.kv308-place:is(:hover,:focus-within) .kv3-hover-label{opacity:1;visibility:visible;transform:translate(-50%,0)}
.kv308-place .kv3-hover-label{bottom:calc(100% + 9px);z-index:50}
.kv308-place:nth-child(4n+1) .kv3-hover-label{left:60%}
@media(max-width:700px){.kv308-bookmarks{display:none!important}}
@media(prefers-reduced-motion:reduce){.kv308-bookmark{transition:none!important}}


/* Kvarleva 3.0.9 – Twelve integrated book-cluster icons. Published slots open books; unpublished slots whisper that something is coming. */
.kv308-bookmarks{display:none!important}
.kv309-bookmarks{position:absolute;left:33.4%;top:29.2%;width:41.5%;height:38.5%;z-index:8}
.kv309-slot{position:absolute;width:13.8%;height:16.4%}
.kv309-slot-0,.kv309-slot-4,.kv309-slot-8{left:3.6%}
.kv309-slot-1,.kv309-slot-5,.kv309-slot-9{left:28.8%}
.kv309-slot-2,.kv309-slot-6,.kv309-slot-10{left:54.2%}
.kv309-slot-3,.kv309-slot-7,.kv309-slot-11{left:79.2%}
.kv309-slot-0,.kv309-slot-1,.kv309-slot-2,.kv309-slot-3{top:6.5%}
.kv309-slot-4,.kv309-slot-5,.kv309-slot-6,.kv309-slot-7{top:41.1%}
.kv309-slot-8,.kv309-slot-9,.kv309-slot-10,.kv309-slot-11{top:74.8%}
.kv309-bookmark{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;position:relative;border-radius:6px;transition:transform .18s ease, filter .18s ease}
.kv309-bookmark:focus-visible{outline:2px solid #f4dcb0;outline-offset:2px}
.kv309-slot:is(:hover,:focus-within) .kv309-bookmark{transform:translateY(-4%) scale(1.035);filter:brightness(1.11) saturate(1.04)}
.kv309-cluster{display:flex;align-items:end;justify-content:center;width:100%;height:100%;gap:3.4%;padding:0 8% 2%;filter:drop-shadow(1px 3px 3px rgba(14,8,4,.42))}
.kv309-cluster i{display:block;width:21%;border-radius:2px 2px 0 0;border:1px solid rgba(44,27,19,.78);box-shadow:inset 1px 0 rgba(226,197,142,.28), inset -1px 0 rgba(16,8,5,.25)}
.kv309-cluster i:nth-child(1){height:72%;background:linear-gradient(90deg,#222920 0%,#57695d 48%,#2f3933 100%)}
.kv309-cluster i:nth-child(2){height:92%;background:linear-gradient(90deg,#2d201c 0%,#8a6847 50%,#473126 100%)}
.kv309-cluster i:nth-child(3){height:82%;background:linear-gradient(90deg,#2d2026 0%,#7a5566 48%,#392731 100%)}
.kv309-cluster i:nth-child(4){height:88%;background:linear-gradient(90deg,#2d2019 0%,#9a7a53 48%,#4a3425 100%)}
.kv309-cluster::before{content:"";position:absolute;left:7%;right:7%;bottom:1%;height:8%;background:radial-gradient(ellipse at 50% 50%,rgba(0,0,0,.24),rgba(0,0,0,0) 70%);pointer-events:none}
.kv309-slot.is-published .kv309-cluster{opacity:.98}
.kv309-slot.is-unpublished .kv309-cluster{opacity:.78;filter:grayscale(.08) brightness(.92) drop-shadow(1px 3px 2px rgba(14,8,4,.22))}
.kv309-slot.is-unpublished .kv309-bookmark{cursor:default}
.kv309-slot .kv3-hover-label{bottom:calc(100% + 12px);left:50%;transform:translate(-50%,5px);z-index:40;max-width:260px;min-width:150px}
.kv309-slot:nth-child(4n+1) .kv3-hover-label{left:62%}
.kv309-slot:nth-child(4n) .kv3-hover-label{left:38%}
.kv309-slot:is(:hover,:focus-within) .kv3-hover-label{opacity:1;visibility:visible;transform:translate(-50%,0)}
.kv309-coming-label{max-width:300px}
.kv309-coming-label strong{font-size:clamp(12px,1vw,16px)}
.kv309-coming-label em{font-size:.83em;line-height:1.45;letter-spacing:0;color:#e0c79f;text-transform:none}
@media(max-width:700px){.kv309-bookmarks{display:none!important}}
@media(prefers-reduced-motion:reduce){.kv309-bookmark,.kv309-slot .kv3-hover-label{transition:none!important}}

/* 3.0.10: the central shelf is a painted illustration of 12 clusters. Controls are invisible hotspots. */
.kv309-bookmarks{left:32.4%;top:26.1%;width:43.6%;height:44.8%}
.kv309-slot{width:20%;height:26%;}
.kv309-slot-0,.kv309-slot-4,.kv309-slot-8{left:2%}
.kv309-slot-1,.kv309-slot-5,.kv309-slot-9{left:27%}
.kv309-slot-2,.kv309-slot-6,.kv309-slot-10{left:52%}
.kv309-slot-3,.kv309-slot-7,.kv309-slot-11{left:77%}
.kv309-slot-0,.kv309-slot-1,.kv309-slot-2,.kv309-slot-3{top:2%}
.kv309-slot-4,.kv309-slot-5,.kv309-slot-6,.kv309-slot-7{top:35.5%}
.kv309-slot-8,.kv309-slot-9,.kv309-slot-10,.kv309-slot-11{top:69%}
.kv309-cluster{display:none!important}
.kv309-bookmark{outline:0;isolation:isolate;}
.kv309-bookmark::before{content:'';position:absolute;inset:3%;border-radius:9px;opacity:0;pointer-events:none;box-shadow:0 0 0 1px rgba(255,218,142,.45),inset 0 0 19px rgba(255,206,105,.31),0 0 28px rgba(243,173,62,.65);background:linear-gradient(180deg,rgba(255,218,146,.13),rgba(255,218,146,0) 62%);transition:opacity .23s ease}
.kv309-slot:is(:hover,:focus-within) .kv309-bookmark::before{opacity:1}
.kv309-slot:is(:hover,:focus-within) .kv309-bookmark{transform:translateY(-3%) scale(1.025);filter:brightness(1.08)}
.kv309-slot .kv3-hover-label{z-index:60;bottom:calc(100% + 3px);min-width:170px;max-width:310px}
.kv309-slot-0 .kv3-hover-label,.kv309-slot-1 .kv3-hover-label,.kv309-slot-2 .kv3-hover-label,.kv309-slot-3 .kv3-hover-label{bottom:auto;top:calc(100% + 3px)}
.kv309-slot.is-unpublished .kv309-bookmark{cursor:pointer}
@media(prefers-reduced-motion:reduce){.kv309-bookmark::before{transition:none}}


/* Kvarleva 3.1.1 — one painted scene with 12 invisible interactive hotspots. */
.kv3-scene{
  background-image:url("assets/kvarleva-bokkluster-311.png")!important;
  background-size:100% 100%!important;
}
.kv3-shelf,.kv308-bookmarks{display:none!important}
.kv309-bookmarks{position:absolute;inset:0;z-index:8;pointer-events:none;}
.kv309-slot{position:absolute;width:9%;height:13.4%;pointer-events:auto;}
.kv309-slot-0,.kv309-slot-4,.kv309-slot-8{left:31.3%}
.kv309-slot-1,.kv309-slot-5,.kv309-slot-9{left:41.8%}
.kv309-slot-2,.kv309-slot-6,.kv309-slot-10{left:52.3%}
.kv309-slot-3,.kv309-slot-7,.kv309-slot-11{left:62.8%}
.kv309-slot-0,.kv309-slot-1,.kv309-slot-2,.kv309-slot-3{top:29.9%}
.kv309-slot-4,.kv309-slot-5,.kv309-slot-6,.kv309-slot-7{top:44.3%}
.kv309-slot-8,.kv309-slot-9,.kv309-slot-10,.kv309-slot-11{top:58.4%}
.kv309-bookmark{display:block;width:100%;height:100%;background:transparent;border:0;outline:0;padding:0;cursor:pointer;border-radius:5px;position:relative;isolation:isolate;transition:transform .22s ease,filter .22s ease;}
.kv309-cluster{display:none!important}
.kv309-bookmark::before{content:"";position:absolute;inset:4% 3%;opacity:0;border-radius:12px;box-shadow:0 0 0 2px rgba(255,224,155,.55),inset 0 0 22px rgba(255,213,120,.28),0 0 21px 7px rgba(243,170,63,.44);background:linear-gradient(180deg,rgba(255,229,155,.07),transparent 70%);transition:opacity .22s ease;pointer-events:none;}
.kv309-bookmark::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(253,203,105,.16),transparent 72%);opacity:0;transition:opacity .22s ease;pointer-events:none;}
.kv309-slot:is(:hover,:focus-within) .kv309-bookmark{transform:translateY(-4%) scale(1.035);filter:brightness(1.08)}
.kv309-slot:is(:hover,:focus-within) .kv309-bookmark::before,.kv309-slot:is(:hover,:focus-within) .kv309-bookmark::after{opacity:1}
.kv309-bookmark:focus-visible{outline:2px solid #ffdd96;outline-offset:3px;}
.kv309-slot .kv3-hover-label{left:50%;bottom:calc(100% + 8px);top:auto;z-index:50;min-width:180px;max-width:290px;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;}
.kv309-slot:is(:hover,:focus-within) .kv3-hover-label{opacity:1;visibility:visible;transform:translate(-50%,0)}
.kv309-slot:nth-child(-n+4) .kv3-hover-label{top:calc(100% + 6px);bottom:auto}
.kv309-slot.is-unpublished .kv309-bookmark{cursor:help}
.kv309-coming-label em{font-size:.84em;line-height:1.4;letter-spacing:0;font-style:italic;color:#e6cdab}
@media(max-width:700px){.kv3-scene-outer{display:none!important}.kv309-bookmarks{display:none!important}}
@media(prefers-reduced-motion:reduce){.kv309-bookmark,.kv309-bookmark::before,.kv309-bookmark::after{transition:none!important}.kv309-slot:is(:hover,:focus-within) .kv309-bookmark{transform:none}}

/* 3.1.2: Fix hit-map coordinate system. Prior rules left the overlay at 41.5% width/38.5% height,
   so percentages below were calculated inside a tiny rectangle rather than the full illustration. */
.kv309-bookmarks{position:absolute!important;left:0!important;top:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;z-index:12!important;pointer-events:none!important}
.kv309-slot{position:absolute!important;width:10.1%!important;height:14.4%!important;pointer-events:auto!important;z-index:1}
.kv309-slot:hover,.kv309-slot:focus-within{z-index:30}
.kv309-bookmark{position:relative;display:block!important;width:100%!important;height:100%!important;pointer-events:auto!important;cursor:pointer}
.kv309-slot-0,.kv309-slot-4,.kv309-slot-8{left:30.7%!important}
.kv309-slot-1,.kv309-slot-5,.kv309-slot-9{left:41.1%!important}
.kv309-slot-2,.kv309-slot-6,.kv309-slot-10{left:51.5%!important}
.kv309-slot-3,.kv309-slot-7,.kv309-slot-11{left:62.0%!important}
.kv309-slot-0,.kv309-slot-1,.kv309-slot-2,.kv309-slot-3{top:29.1%!important}
.kv309-slot-4,.kv309-slot-5,.kv309-slot-6,.kv309-slot-7{top:43.8%!important}
.kv309-slot-8,.kv309-slot-9,.kv309-slot-10,.kv309-slot-11{top:58.3%!important}
.kv309-slot .kv3-hover-label{z-index:60}
.kv3-scene{background-image:url("assets/kvarleva-bokkluster-312.png")!important}

/* 3.1.5: The illustration is an actual img, not a CSS background.
   This removes dependency on cached or competing background-image declarations. */
.kv3-scene { background-image:none!important; aspect-ratio:1672/869; position:relative; }
.kv314-scene-art { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:fill; max-width:none; pointer-events:none; z-index:0; }
.kv309-bookmarks { z-index:12!important; }
.kv3-window,.kv3-owl { z-index:15; }
/* No rectangular highlight on invisible hit areas. */
.kv309-bookmark::before { content:"";position:absolute;inset:-18% -14%!important; border:0!important;
  border-radius:50%!important; box-shadow:none!important; opacity:0;
  background:radial-gradient(ellipse at center,rgba(255,196,91,.24),rgba(255,185,82,.12) 45%,transparent 74%)!important;
  pointer-events:none; transition:opacity .2s ease; }
.kv309-bookmark::after { content:none!important; }
.kv309-slot:is(:hover,:focus-within) .kv309-bookmark::before {opacity:1;}
.kv309-slot:is(:hover,:focus-within) .kv309-bookmark {transform:translateY(-2%) scale(1.015);filter:none;}
.kv309-bookmark:focus-visible {outline:2px dashed #e9c586;outline-offset:3px;}


/* 3.2.0 — cleaned desktop scene, repaired illustration, clickable logo, Cthulhu scrolls and Omega hourglass. */
.kv3-scene{position:relative;background:none!important;max-width:1672px;margin:0 auto}
.kv314-scene-art{display:block;width:100%;height:auto;position:relative;z-index:1}
.kv309-bookmarks,.kv3-window,.kv3-owl,.kv-logo-hotspot,.kv-cthulhu-hotspot,.kv-omega-hotspot{position:absolute;z-index:12}
.kv309-bookmarks{left:0!important;top:0!important;width:100%!important;height:100%!important;pointer-events:none!important}
.kv309-slot{position:absolute!important;width:10.1%!important;height:14.4%!important;pointer-events:auto!important;z-index:1}
.kv309-slot:hover,.kv309-slot:focus-within{z-index:30}
.kv309-slot-0,.kv309-slot-4,.kv309-slot-8{left:30.7%!important}
.kv309-slot-1,.kv309-slot-5,.kv309-slot-9{left:41.1%!important}
.kv309-slot-2,.kv309-slot-6,.kv309-slot-10{left:51.5%!important}
.kv309-slot-3,.kv309-slot-7,.kv309-slot-11{left:62.0%!important}
.kv309-slot-0,.kv309-slot-1,.kv309-slot-2,.kv309-slot-3{top:29.1%!important}
.kv309-slot-4,.kv309-slot-5,.kv309-slot-6,.kv309-slot-7{top:43.8%!important}
.kv309-slot-8,.kv309-slot-9,.kv309-slot-10,.kv309-slot-11{top:58.3%!important}
.kv309-cluster{display:none!important}
.kv309-bookmark{display:block!important;width:100%!important;height:100%!important;padding:0!important;border:0!important;background:transparent!important;cursor:pointer;pointer-events:auto!important;outline:none!important;position:relative;border-radius:50px;transform-origin:center center;transition:transform .18s ease,filter .18s ease}
.kv309-bookmark::before{content:"";position:absolute;left:-8%;right:-8%;top:-12%;bottom:-12%;background:radial-gradient(ellipse at center,rgba(255,216,128,.34) 0%,rgba(255,198,88,.15) 28%,rgba(255,183,62,.06) 48%,rgba(255,170,53,0) 72%);opacity:0;transform:scale(.85);transition:opacity .18s ease,transform .18s ease;pointer-events:none;filter:blur(2px)}
.kv309-slot:is(:hover,:focus-within) .kv309-bookmark{transform:translateY(-2.2%) scale(1.025);filter:brightness(1.06)}
.kv309-slot:is(:hover,:focus-within) .kv309-bookmark::before{opacity:1;transform:scale(1)}
.kv309-bookmark:focus-visible{outline:2px solid rgba(255,226,168,.95)!important;outline-offset:3px}
.kv309-slot .kv3-hover-label{z-index:60;left:50%;transform:translate(-50%,4px);bottom:calc(100% + 8px);top:auto;min-width:170px;max-width:310px;white-space:normal;opacity:0;visibility:hidden;pointer-events:none}
.kv309-slot:is(:hover,:focus-within) .kv3-hover-label{opacity:1;visibility:visible;transform:translate(-50%,0)}
.kv309-slot:nth-child(-n+4) .kv3-hover-label{top:calc(100% + 6px);bottom:auto}
.kv309-coming-label em{font-size:.84em;line-height:1.4;letter-spacing:0;font-style:italic;color:#e6cdab}
.kv3-window,.kv3-owl,.kv-logo-hotspot,.kv-cthulhu-hotspot,.kv-omega-hotspot{background:transparent;border:0;padding:0;cursor:pointer}
.kv3-window{left:2.2%;top:4%;width:19.6%;height:53%;}
.kv3-owl{left:84.6%;top:4.8%;width:10.4%;height:12%;}
.kv-logo-hotspot{left:25.7%;top:2.4%;width:48.5%;height:24.5%;}
.kv-cthulhu-hotspot{left:24.6%;top:48.8%;width:6.8%;height:8.1%;}
.kv-omega-hotspot{left:28.6%;top:62.2%;width:4.1%;height:8.2%;}
.kv3-window:focus-visible,.kv3-owl:focus-visible,.kv-logo-hotspot:focus-visible,.kv-cthulhu-hotspot:focus-visible,.kv-omega-hotspot:focus-visible{outline:2px dashed #d8b174;outline-offset:2px}
/* Secret panels */
.kvarleva-secret-panel{width:min(610px,100%);text-align:center;padding:34px 30px 30px}.kvarleva-secret-panel .kicker{letter-spacing:.22em}.kvarleva-secret-panel h2{margin:14px 26px 18px;font-weight:normal}.kvarleva-glyphs{font-size:clamp(23px,4.3vw,35px);letter-spacing:.16em;line-height:2;overflow-wrap:anywhere;color:#60472f;margin:28px 0 8px}.secret-final{font-style:italic;color:#705237;text-align:center;margin-top:28px}.omega-trigger{display:inline;vertical-align:baseline;font:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;background:transparent;border:0;border-radius:0;padding:0;margin:0;cursor:pointer;appearance:none;-webkit-appearance:none;text-decoration:none;box-shadow:none;transform:none}.omega-trigger:hover,.omega-trigger:active{color:inherit;background:transparent;border:0;outline:none;box-shadow:none;text-decoration:none;filter:none;transform:none}.omega-trigger:focus-visible{outline:1px dotted #705739;outline-offset:2px}
.rune-book-panel{background:#090708;color:#b73531;border:2px solid #702020;box-shadow:0 20px 95px #000;max-width:670px;text-align:center;padding:28px 24px}.rune-book-panel .close{color:#bb423a}.rune-book-panel h2{color:#d33b33;font-size:24px;margin:6px auto 12px}.rune-book-symbols{color:#bc3931;font-size:28px;letter-spacing:.12em;line-height:1.8}.rune-book-cryptic{font-size:clamp(12px,2.3vw,16px);color:#c13d36;line-height:1.7;overflow-wrap:anywhere}#rune-book-form{display:flex;align-items:center;gap:8px;max-width:400px;margin:22px auto 12px}#rune-book-input{min-width:0;flex:1;background:#110b0c;color:#e35149;border:1px solid #7a2a2a;padding:12px;font:18px Georgia,serif;outline-offset:3px}#rune-book-form button{background:#1c1010;border:1px solid #7a2a2a;color:#d14a42;padding:10px 20px;cursor:pointer;font:21px Georgia,serif}.rune-book-error{min-height:1.2em;color:#ba3632}.rune-book-translation{border-top:1px solid #67201b;margin-top:20px;padding-top:16px;color:#db5047}.rune-book-translation[hidden]{display:none!important}.rune-book-translation p{line-height:1.85;margin:14px 0 26px;font-size:clamp(14px,2.3vw,19px)}
@media(max-width:700px){.kv3-scene-outer{display:none!important}.kv309-bookmarks,.kv-logo-hotspot,.kv-cthulhu-hotspot,.kv-omega-hotspot{display:none!important}}
@media(prefers-reduced-motion:reduce){.kv309-bookmark,.kv309-bookmark::before{transition:none!important}.kv309-slot:is(:hover,:focus-within) .kv309-bookmark{transform:none!important}}

/* 3.2.1 — clean regenerated illustrated scene and new geometry. */
.kv3-scene{aspect-ratio:auto!important;min-width:880px;max-width:1672px;line-height:normal;background:none!important;overflow:visible}
.kv314-scene-art{display:block!important;position:relative!important;width:100%!important;height:auto!important;max-width:none!important;pointer-events:none;z-index:1}
.kv309-bookmarks{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:12!important;pointer-events:none!important}
.kv309-slot{width:10.3%!important;height:13.4%!important}
.kv309-slot-0,.kv309-slot-4,.kv309-slot-8{left:23.8%!important}
.kv309-slot-1,.kv309-slot-5,.kv309-slot-9{left:36.7%!important}
.kv309-slot-2,.kv309-slot-6,.kv309-slot-10{left:49.3%!important}
.kv309-slot-3,.kv309-slot-7,.kv309-slot-11{left:62.2%!important}
.kv309-slot-0,.kv309-slot-1,.kv309-slot-2,.kv309-slot-3{top:29.6%!important}
.kv309-slot-4,.kv309-slot-5,.kv309-slot-6,.kv309-slot-7{top:46.1%!important}
.kv309-slot-8,.kv309-slot-9,.kv309-slot-10,.kv309-slot-11{top:61.1%!important}
.kv-logo-hotspot{left:29.2%!important;top:1.1%!important;width:35.1%!important;height:24.7%!important;z-index:15!important}
.kv3-window{left:0.5%!important;top:4%!important;width:16.2%!important;height:55%!important;z-index:13!important}
.kv3-owl{left:81.8%!important;top:4.6%!important;width:8.1%!important;height:12.9%!important;border:0!important;border-radius:50%!important;outline:none;background:transparent!important;box-shadow:none!important;z-index:15!important}
.kv3-owl:hover,.kv3-owl:focus-visible{outline:none!important;border:0!important;box-shadow:none!important;background:transparent!important;filter:none!important}
.kv3-owl::after{content:"";position:absolute;inset:-9%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,218,139,.35),rgba(255,218,139,.08) 44%,transparent 70%);opacity:0;transition:opacity .18s;pointer-events:none;filter:blur(4px)}
.kv3-owl:hover::after,.kv3-owl:focus-visible::after{opacity:1}
.kv-cthulhu-hotspot{left:15.5%!important;top:49.1%!important;width:7.2%!important;height:11.1%!important;z-index:15!important}
.kv-omega-hotspot{left:17.7%!important;top:61.6%!important;width:5.2%!important;height:10.0%!important;z-index:15!important}
.kv-cthulhu-hotspot:hover,.kv-omega-hotspot:hover,.kv-logo-hotspot:hover{background:transparent!important;box-shadow:none!important;outline:none!important}
@media(max-width:700px){.kv3-scene-outer{display:none!important}}
@media(prefers-reduced-motion:reduce){.kv3-owl::after{transition:none}}


/* 3.2.2 — full-scene desktop overview: fit width and viewport height.
   The entire painting is scaled as one image, preserving every hotspot coordinate. */
@media (min-width:701px) {
  .kv3-scene-outer {
    display:flex!important;
    justify-content:center!important;
    align-items:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
    background:transparent!important;
  }
  .kv3-scene {
    box-sizing:border-box!important;
    display:block!important;
    width:min(100%, calc((100svh - 172px) * 1672 / 941))!important;
    min-width:0!important;
    max-width:1672px!important;
    height:auto!important;
    aspect-ratio:1672 / 941!important;
    margin:0 auto!important;
    overflow:visible!important;
  }
  .kv314-scene-art {
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1672 / 941!important;
    object-fit:contain!important;
  }
  .site-header {padding:5px 12px!important;}
  .instruction {margin:4px 12px 6px!important;}
  .site-footer {padding:4px 12px 8px!important;}
}
@media (min-width:701px) and (max-height:620px) {
  .kv3-scene {width:min(100%, calc((100svh - 112px) * 1672 / 941))!important;}
  .instruction {display:none!important;}
  .site-footer {padding:0 12px 3px!important;font-size:11px!important;}
}
