/* V10.24: independent Jerusalem background, logo and blank book. Only login view is restyled. */
body:has(#entry:not(.hidden)){background:#192b3d url('/assets/new-jerusalem-background.png') center center/cover fixed no-repeat;min-height:100vh}
body:has(#entry:not(.hidden)) main{max-width:none;padding:0;margin:0}
body:has(#entry:not(.hidden)) main>header{display:none}
body:has(#entry:not(.hidden)) #entry.kh-book-entry{display:block;position:relative;box-sizing:border-box;width:min(96vw,1510px);max-width:none;margin:0 auto;padding:clamp(145px,19vh,205px) 0 25px;border:0;background:transparent;box-shadow:none;backdrop-filter:none;color:#3a2415;font-family:Georgia,'Times New Roman',serif}
body:has(#entry:not(.hidden)) #entry.hidden{display:none}
.kh-book-logo{position:absolute;top:clamp(5px,1vh,16px);left:50%;transform:translateX(-50%);width:clamp(165px,17vw,250px);height:auto;filter:drop-shadow(0 6px 10px #1d1b1b99);z-index:2}
.kh-book-pages{position:relative;box-sizing:border-box;aspect-ratio:1774/887;width:100%;background:url('/assets/book-of-life.png') center center/100% 100% no-repeat;display:grid;grid-template-columns:1fr 1fr;gap:4.5%;padding:7.5% 12.4% 16% 12.4%;align-items:start}
.kh-book-left,.kh-book-right{box-sizing:border-box;min-width:0;position:relative;text-align:center;background:none;border:0;box-shadow:none;padding:0;margin:0;color:#3b2515}
.kh-book-left h2{font:700 clamp(19px,2.45vw,39px) Georgia,serif;margin:0 0 4px;color:#4c2915}
.kh-book-subtitle,.kh-book-intro{font-size:clamp(10px,1.13vw,17px);color:#754721;margin:0 0 clamp(8px,1.4vw,20px)}
.kh-book-field{display:block;text-align:left;margin:clamp(7px,1vw,15px) 0;color:#593719;font-size:clamp(11px,1.1vw,16px);font-weight:700}
.kh-book-field span{display:block;margin-bottom:4px}
body:has(#entry:not(.hidden)) .kh-book-field input{box-sizing:border-box;display:block;width:100%;margin:0;background:rgba(255,249,222,.58);border:1.5px solid #ac7c38;border-radius:5px;color:#312215;font:clamp(12px,1.15vw,17px) Georgia,serif;padding:clamp(8px,.8vw,13px);min-height:36px}
body:has(#entry:not(.hidden)) #entry button{box-sizing:border-box;display:block;width:100%;margin:clamp(4px,.55vw,8px) 0;border:1.5px solid #c69b4e;border-radius:6px;background:linear-gradient(180deg,#16457b,#082448);color:#fff5df;font:700 clamp(12px,1.15vw,17px) Georgia,serif;padding:clamp(8px,.85vw,13px) 6px;cursor:pointer;box-shadow:0 2px 4px #51341d66;min-height:36px}
body:has(#entry:not(.hidden)) #entry button:hover{filter:brightness(1.12)}
body:has(#entry:not(.hidden)) #entry #create{background:linear-gradient(#f7d781,#c48a2c);color:#32200d;border-color:#986424}
body:has(#entry:not(.hidden)) #entry .buttons{display:flex;flex-direction:column;gap:0}
body:has(#entry:not(.hidden)) #entry .rule{color:#784a20;margin:clamp(4px,.7vw,11px) 0;text-align:center;font-size:clamp(10px,1vw,15px)}
body:has(#entry:not(.hidden)) #error{color:#a12420;font-weight:bold;font-size:13px;margin:3px 0}
@media(max-width:780px){
 body:has(#entry:not(.hidden)){background-attachment:scroll;background-position:center top}
 body:has(#entry:not(.hidden)) #entry.kh-book-entry{padding-top:145px;width:min(98vw,620px)}
 .kh-book-logo{width:185px;top:10px}
 .kh-book-pages{aspect-ratio:auto;min-height:600px;grid-template-columns:1fr;gap:20px;padding:75px 16% 95px;background-size:100% 100%}
 .kh-book-left,.kh-book-right{padding:8px 10px;background:rgba(255,239,201,.85);border-radius:8px}
 .kh-book-left h2{font-size:25px}
 .kh-book-subtitle,.kh-book-intro{font-size:13px}
 body:has(#entry:not(.hidden)) .kh-book-field input{font-size:16px}
 body:has(#entry:not(.hidden)) #entry button{font-size:15px;padding:11px}
}
@media(max-width:400px){.kh-book-pages{padding-left:13%;padding-right:13%;min-height:660px}}
/* V10.24.1: scale book down, align content to safe parchment areas. */
@media (min-width: 781px){
 body:has(#entry:not(.hidden)) #entry.kh-book-entry{width:min(78vw,1120px);padding-top:clamp(175px,23vh,230px);padding-bottom:30px}
 .kh-book-logo{width:clamp(150px,15vw,205px);top:12px}
 .kh-book-pages{padding:9.1% 15.5% 15.5%;gap:11%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .kh-book-left h2{font-size:clamp(19px,2vw,29px);margin-bottom:3px}
 .kh-book-subtitle,.kh-book-intro{font-size:clamp(10px,1vw,14px);margin-bottom:10px}
 .kh-book-field{font-size:clamp(11px,1vw,14px);margin:10px 0}
 body:has(#entry:not(.hidden)) .kh-book-field input{font-size:clamp(12px,1vw,15px);min-height:34px;padding:7px 9px}
 body:has(#entry:not(.hidden)) #entry button{font-size:clamp(12px,1vw,15px);min-height:33px;padding:7px 6px;margin:5px 0}
 body:has(#entry:not(.hidden)) #entry .rule{margin:5px 0;font-size:12px}
}
@media (min-width:781px) and (max-height:760px){
 body:has(#entry:not(.hidden)) #entry.kh-book-entry{width:min(72vw,1000px);padding-top:145px}
 .kh-book-logo{width:145px;top:3px}
}
/* V10.24.2: compact book, prominent crest, independent proportional page controls. */
@media (min-width:781px){
 body:has(#entry:not(.hidden)) #entry.kh-book-entry{width:min(64vw,900px);padding-top:clamp(230px,29vh,275px);padding-bottom:55px}
 .kh-book-logo{width:clamp(230px,22vw,310px);top:8px}
 .kh-book-pages{padding:9.1% 15.5% 15.5%;gap:11%}
 .kh-book-left h2{font-size:clamp(17px,1.65vw,25px)}
 .kh-book-subtitle,.kh-book-intro{font-size:clamp(10px,.9vw,13px);margin-bottom:7px}
 .kh-book-field{font-size:clamp(10px,.9vw,13px);margin:7px 0}
 body:has(#entry:not(.hidden)) .kh-book-field input{font-size:clamp(11px,.95vw,14px);min-height:31px;padding:5px 7px}
 body:has(#entry:not(.hidden)) #entry button{font-size:clamp(11px,.95vw,14px);min-height:31px;padding:6px 5px;margin:4px 0}
}
@media (min-width:781px) and (max-height:760px){
 body:has(#entry:not(.hidden)) #entry.kh-book-entry{width:min(61vw,810px);padding-top:205px}
 .kh-book-logo{width:240px;top:4px}
}
/* V10.24.3: lower both columns into the clear parchment area, without moving artwork. */
@media (min-width:781px){
 .kh-book-pages{padding-top:18.5%;}
}

/* V10.24.4: move actual form columns, not only the page padding.
   transform is applied directly to the content and wins over earlier layout padding. */
@media (min-width:781px){
  body:has(#entry:not(.hidden)) #entry .kh-book-pages {
    padding-top:9.1%;
  }
  body:has(#entry:not(.hidden)) #entry .kh-book-left,
  body:has(#entry:not(.hidden)) #entry .kh-book-right {
    transform:translateY(clamp(70px,8vw,112px));
  }
}

/* V10.24.5: purpose-built phone layout; never stretch the landscape book. */
@media (max-width:780px){
 body:has(#entry:not(.hidden)){background-position:center top;background-size:auto 100vh;background-attachment:fixed;overflow-x:hidden}
 body:has(#entry:not(.hidden)) #entry.kh-book-entry{width:100%;max-width:540px;padding:clamp(155px,37vw,205px) 12px 28px;margin:auto;min-height:100svh}
 body:has(#entry:not(.hidden)) #entry .kh-book-logo{top:12px;width:clamp(215px,61vw,310px);max-width:82%;z-index:3}
 body:has(#entry:not(.hidden)) #entry .kh-book-pages{display:flex;flex-direction:column;gap:14px;min-height:0;aspect-ratio:auto;width:100%;padding:clamp(145px,38vw,225px) 12px 16px;background-image:url('/assets/book-of-life.png');background-size:100% auto;background-position:center top;background-repeat:no-repeat;box-sizing:border-box}
 body:has(#entry:not(.hidden)) #entry .kh-book-left,
 body:has(#entry:not(.hidden)) #entry .kh-book-right{width:100%;transform:none!important;margin:0;padding:18px clamp(14px,5vw,25px);background:#fff1cd;border:2px solid #c59645;border-radius:13px;box-shadow:0 6px 22px #2110067a;text-align:center}
 body:has(#entry:not(.hidden)) #entry .kh-book-left h2{font-size:clamp(23px,6vw,32px);line-height:1.15}
 body:has(#entry:not(.hidden)) #entry .kh-book-subtitle,
 body:has(#entry:not(.hidden)) #entry .kh-book-intro{font-size:14px;line-height:1.4;margin:8px 0 16px}
 body:has(#entry:not(.hidden)) #entry .kh-book-field{font-size:15px;margin:13px 0;text-align:left}
 body:has(#entry:not(.hidden)) #entry .kh-book-field input{font-size:16px;min-height:48px;padding:10px 12px;background:#fffaf0}
 body:has(#entry:not(.hidden)) #entry button{font-size:16px;min-height:48px;padding:11px 8px;margin:8px 0}
 body:has(#entry:not(.hidden)) #entry .rule{font-size:13px;margin:9px 0}
}

/* V10.24.6: mobile standalone book image at intrinsic ratio; separate controls. */
@media screen and (max-width:780px) {
 body:has(#entry:not(.hidden)) #entry.kh-book-entry {
   width:100% !important; max-width:560px !important;
   padding:clamp(170px,46vw,245px) 12px 35px !important;
   margin:0 auto !important; overflow:visible !important;
 }
 body:has(#entry:not(.hidden)) #entry .kh-book-logo {
   width:min(78vw,340px) !important; max-width:none !important;
   top:14px !important;
 }
 body:has(#entry:not(.hidden)) #entry .kh-book-pages {
   position:relative !important; display:flex !important; flex-direction:column !important;
   width:100% !important; height:auto !important; min-height:0 !important;
   aspect-ratio:auto !important; padding:clamp(190px,47vw,280px) 0 0 !important;
   background:none !important; gap:15px !important;
 }
 body:has(#entry:not(.hidden)) #entry .kh-book-pages::before {
   content:''; position:absolute; z-index:0; left:0; right:0; top:0;
   width:100%; aspect-ratio:1774/887;
   background:url('/assets/book-of-life.png') center top/contain no-repeat;
   pointer-events:none;
 }
 body:has(#entry:not(.hidden)) #entry .kh-book-left,
 body:has(#entry:not(.hidden)) #entry .kh-book-right {
   position:relative !important; z-index:1; transform:none !important;
   box-sizing:border-box !important; width:100% !important;
   padding:18px 18px !important; margin:0 !important;
   border:2px solid #b88a41 !important; border-radius:14px !important;
   background:#fff0ce !important; box-shadow:0 6px 24px #2916057a !important;
   text-align:center !important;
 }
 body:has(#entry:not(.hidden)) #entry .kh-book-field input {
   width:100% !important; font-size:16px !important; min-height:48px !important;
 }
 body:has(#entry:not(.hidden)) #entry button {
   width:100% !important; font-size:16px !important; min-height:48px !important;
 }
}
