.room.book-open{height:auto;min-height:100svh;overflow:visible;padding:clamp(340px,46svh,500px) 24px 102px}
.book-open .scene,.book-open .shade{height:100svh;min-height:540px}
.book-open .shade{background:linear-gradient(180deg,#12090622,transparent 30%,#1b100b33 56%,#1b100b 100%)}
.book-open .greeting{top:130px;max-width:310px}.book-open .greeting h1{font-size:26px}
.book-form{position:relative;left:auto;bottom:auto;transform:none;width:min(960px,100%);max-width:none;margin:0 auto;padding:27px 38px 22px;border:1px solid #b99560;border-radius:12px;color:#432d21;background:radial-gradient(ellipse at 15% 0%,#fff9e5b3,transparent 60%),linear-gradient(105deg,#f1dfba,#f9edcf 48%,#f0dfbc);box-shadow:0 24px 80px #10060477,inset 0 0 0 5px #9c784d13;animation:record-reveal .34s ease-out both}
@keyframes record-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.book-form{color-scheme:light}
.record-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:19px;border-bottom:1px solid #96784b3b}
.record-kicker{margin:0 0 4px;font-size:10px;letter-spacing:.18em;color:#896033}
.record-heading h2{font:normal 28px/1.4 var(--serif);letter-spacing:-.05em;margin:0;outline:none}
.record-intro{font-size:12px;color:#81664f;margin:5px 0 0}
.record-seal{display:block;border:1px solid #8e3d36;padding:4px 8px;color:#8e3d36;font:17px/1.2 var(--serif);transform:rotate(4deg)}
.details-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;row-gap:19px}
.detail-field{margin:0;padding:0;border:0;min-width:0}
.book-form .detail-field>label,.detail-field legend,.field-label-row>label:first-child{display:block;padding:0;margin:0 0 8px;font:600 13px/1.5 var(--sans);text-shadow:none;color:#4f3525}
.date-parts{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px}
.book-form select,.book-form input[type="text"],.book-form input[type="time"]{display:block;width:100%;min-width:0;height:48px;padding:0 12px;border:1px solid #ba9a6f91;border-radius:5px;background:#fffaf0b8;color:#432d21;color-scheme:light;font:16px var(--sans);box-shadow:0 2px 2px #ffffff44}
.book-form input::placeholder{font-size:13px;color:#9c836b}
.book-form input:disabled{opacity:.55;background:#dbcdb6;cursor:not-allowed}
.book-form :is(input,select,button):focus-visible{outline:2px solid #8b4c32;outline-offset:3px}
.choice-group{display:flex;gap:7px;margin-top:8px}
.choice-group:has(input[type="checkbox"]){flex-wrap:wrap}.book-form .choice-group:has(input[type="checkbox"]) label{flex:1 0 110px;max-width:200px}
.book-form .choice-group label{position:relative;display:block;margin:0;flex:1;cursor:pointer;font:12px var(--sans);text-shadow:none}
.choice-group input{position:absolute;opacity:0;width:1px;height:1px}
.choice-group span{display:flex;align-items:center;justify-content:center;height:34px;border:1px solid #b493658c;border-radius:5px;background:#f8edd580;color:#6b4d33}
.choice-group input:checked+span{border-color:#6d2933;background:#632732;color:#ffedce;box-shadow:0 2px 6px #5e28221a}
.choice-group input:focus-visible+span{outline:2px solid #8b4c32;outline-offset:3px}
.gender-group{margin:0}.gender-group span{height:48px;font-size:15px}
.field-label-row{display:flex;justify-content:space-between;align-items:start;gap:8px}
.book-form label.unknown-time{display:flex;align-items:center;gap:5px;margin:0;font:12px/1.5 var(--sans);text-shadow:none;color:#79543e;cursor:pointer}
.unknown-time input{accent-color:#632732;width:15px;height:15px;margin:1px 0 0}
.optional{font-size:10px;font-weight:400;color:#9b8067;margin-left:5px}
.field-hint{font-size:11px;line-height:1.5;margin:7px 0 0;color:#8a7057}
.record-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #96784b3b;margin-top:20px;padding-top:17px}
.record-actions p{font-size:11px;color:#89715a;margin:0;line-height:1.6}
.record-actions button{display:flex;align-items:center;justify-content:space-between;gap:34px;min-height:46px;padding:11px 23px;border:1px solid #a76f50;border-radius:5px;background:linear-gradient(120deg,#73323c,#4a1a24);color:#ffedcf;font:15px var(--serif);box-shadow:inset 0 0 0 3px #f5c6850d,0 5px 12px #51291b1a}
.record-actions button:hover{background:#76333f}.record-actions button span{color:#d9b77f;font-size:18px}
.entry-status{margin:10px 0 0;color:#93352b;font-size:12px}.entry-status:empty{display:none}
.entry-review h3{font:normal 23px var(--serif);margin:2px 0 18px;outline:none}
.entry-review dl{display:grid;grid-template-columns:120px 1fr;gap:11px 20px;margin:0}
.entry-review dt{color:#846449;font-size:12px}.entry-review dd{margin:0;font-size:14px;overflow-wrap:anywhere}
.book-open .controls{left:50%;bottom:43px;transform:translateX(-50%);gap:12px;white-space:nowrap}
.book-open footer{bottom:13px}.book-open footer .preview-status{color:#d3b99b;text-shadow:0 1px 6px #120804}
@media(max-width:900px) and (min-width:721px){.book-open .greeting{max-width:230px;left:24px}.book-open .greeting h1{font-size:22px}}
@media(max-width:720px){
  .room.book-open{padding:340px 14px 111px;min-height:100svh}
  .book-open .scene,.book-open .shade{height:690px;min-height:0}.book-open .scene{object-position:50% 28%}
  .book-open .greeting{display:none}
  .book-form{left:auto;bottom:auto;transform:none;max-width:none;width:100%;padding:23px 20px 21px;border-radius:11px}
  .record-heading{margin-bottom:23px;padding-bottom:17px}.record-heading h2{font-size:23px;letter-spacing:-.055em}.record-intro{font-size:11px}.record-seal{font-size:14px;padding:4px 6px;margin-left:10px}
  .details-grid{grid-template-columns:1fr;row-gap:21px}
  .book-form .detail-field>label,.detail-field legend,.field-label-row>label:first-child{font-size:13px;margin-bottom:9px}
  .book-form select,.book-form input[type="text"],.book-form input[type="time"]{height:51px}
  .choice-group span{height:39px}.gender-group span{height:46px}
  .book-form label.unknown-time{font-size:12px;margin:0}.field-hint{font-size:11px}
  .record-actions{flex-direction:column-reverse;align-items:stretch;gap:12px;margin-top:22px;padding-top:20px}.record-actions button{min-height:51px;justify-content:center;gap:25px}.record-actions p{text-align:center;font-size:10px}
  .entry-review dl{grid-template-columns:75px 1fr;gap:13px 12px}.entry-review dd{font-size:13px}
  .book-open .controls{left:50%;bottom:46px;transform:translateX(-50%)}.book-open footer{bottom:13px}
}
@media(prefers-reduced-motion:reduce){.book-form{animation:none}}

/* Each consultation keeps its own chapter of questions. */
.question-panel{width:min(850px,calc(100% - 36px))}.topics{grid-template-columns:repeat(4,minmax(0,1fr))}
.entry-steps{display:flex;align-items:center;gap:28px;list-style:none;margin:0 0 28px;padding:0 0 17px;border-bottom:1px solid #a5885d40;color:#a18a72;font-size:12px}
.entry-steps li{display:flex;align-items:center;gap:9px}.entry-steps span{font:15px var(--serif)}.entry-steps [aria-current="step"]{color:#702b36;font-weight:700}
.section-heading{margin:0 0 21px}.section-heading h3,.topic-intro h3{font:normal 23px/1.5 var(--serif);margin:0 0 6px;outline:none}.section-heading p,.topic-intro p{font-size:12px;line-height:1.7;color:#8b6d50;margin:0}
.topic-intro{margin-bottom:24px}.topic-section{padding:23px 0;border-top:1px solid #a5885d40}.topic-section h4{font:600 15px/1.5 var(--sans);margin:0 0 19px;color:#623b27}.topic-section .details-grid{row-gap:23px}
.wide-field{grid-column:1 / -1}.book-form textarea{display:block;resize:vertical;min-height:105px;width:100%;border:1px solid #ba9a6f91;border-radius:5px;padding:12px 14px;background:#fffaf0b8;font:14px/1.7 var(--sans);color:#432d21}
.book-form textarea::placeholder{color:#9c836b;font-size:12px}.book-form textarea:focus-visible{outline:2px solid #8b4c32;outline-offset:3px}
.book-form input[type="number"],.book-form input[type="month"]{width:100%;height:48px;background:#fffaf0b8;border:1px solid #ba9a6f91;border-radius:5px;padding:0 12px;font:16px var(--sans);color:#432d21}
.book-form .detail-field:has(input[type="checkbox"]):not(:has(input[type="text"])) label{font:12px/1.6 var(--sans);text-shadow:none}
.book-form input[type="checkbox"]{accent-color:#632732}.book-form .checkbox-group{display:flex;gap:10px 18px;flex-wrap:wrap}.book-form .checkbox-group label{display:flex;gap:6px;align-items:center;margin:0;font:12px var(--sans)}
.book-form details{margin-top:19px;border:1px solid #b7986b70;border-radius:7px;padding:17px 20px;background:#fffaee50}.book-form summary{cursor:pointer;font:600 14px var(--sans);color:#70422a}.book-form details[open] summary{margin-bottom:20px}
.topic-divider{border:0;border-top:1px solid #a5885d40;margin:24px 0}.book-form .record-actions button.previous-step{border:0;background:none;color:#765336;box-shadow:none;padding:10px 0;min-height:40px;font:12px var(--sans);white-space:nowrap}
.topic-section>legend{font:600 15px/1.5 var(--sans);color:#623b27;padding:0;margin-bottom:10px}.topic-section>.field-hint{margin-bottom:18px}.topic-status:empty{display:none}
.entry-review dd{white-space:pre-wrap}.entry-review dt{align-self:start}.entry-review #reviewFields{max-height:440px;overflow:auto;padding-right:10px;scrollbar-color:#b69569 transparent;scrollbar-width:thin}
.book-form .photo-uploader{padding:20px;border:1px dashed #b58a5d;background:#fffaed90;border-radius:8px;min-width:0}
.photo-guidance{font-size:12px;color:#765a40;line-height:1.7;margin:0 0 13px}.book-form label.photo-consent{display:flex;align-items:flex-start;gap:7px;margin:0 0 15px;font:11px/1.6 var(--sans);text-shadow:none;color:#8a6a4e}.photo-consent input{flex:none;margin:3px 0 0;width:14px;height:14px}
.photo-controls{display:flex;align-items:center;gap:16px}.photo-pick{height:43px;padding:0 22px;border:1px solid #965d4b;border-radius:5px;background:#6a2d37;color:#ffedcd;font:13px var(--sans)}.photo-pick:disabled{background:#d6c4a5;border-color:#c2ac89;color:#99836c;cursor:not-allowed}.photo-count{font-size:11px;color:#8a6a4e}
.photo-local-note{display:block;font-size:10px;color:#a18a72;margin-top:10px}.photo-error{color:#9e3427;font-size:12px;margin:10px 0 0}.photo-error:empty{display:none}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.photo-grid:empty{display:none}
.photo-thumb{position:relative;margin:0;min-width:0}.photo-image{width:100%;height:145px;object-fit:contain;background:#d7cbb5;border-radius:5px}.photo-remove{position:absolute;bottom:9px;right:6px;background:#3a201ddd;border:1px solid #e7c6a165;color:#fff0d2;border-radius:4px;padding:5px 10px;font-size:11px}
#readingDemo{scroll-margin-top:20px}#bookForm{scroll-margin-top:20px}
@media(max-width:720px){.topics{grid-template-columns:repeat(2,minmax(0,1fr))}.question-panel{bottom:59px;width:calc(100% - 32px)}.topic{min-height:45px}.entry-steps{gap:21px;font-size:11px}.entry-steps li{gap:6px}.entry-steps span{font-size:13px}.record-actions{flex-direction:column;gap:13px}.record-actions button{width:100%}.record-actions #entryHint{order:3}.section-heading h3,.topic-intro h3{font-size:21px}.photo-uploader{padding:16px!important}.photo-grid{gap:7px}.photo-image{height:105px}.photo-remove{padding:4px 7px;font-size:10px}.wide-field{grid-column:auto}.book-form details{padding:15px}.entry-review #reviewFields{max-height:430px}}
