/* Soft depth during the dolly; only the backdrop is blurred. */
.gate-cinema { background:#15302b url('assets/theatre-courtyard-v18.png') center/cover; }
.gate-cinema::before { content:''; position:absolute; inset:-18px; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 15% 60%,#ffc66c20,transparent 25%),radial-gradient(ellipse at 90% 30%,#e7c1831c,transparent 27%),url('assets/theatre-courtyard-v18.png') center/cover; filter:blur(5px); opacity:0; transition:opacity 1s ease; }
.gate-cinema[data-focus=near]::before { opacity:1; }
.gate-cinema::after { content:''; position:absolute; inset:0; pointer-events:none; z-index:2; background:radial-gradient(ellipse at center,transparent 40%,#0d252623 90%); }
.journey-actions { z-index:4; }
/* Use the former caption space for the painted scroll and its real controls. */
.story .scroll-footer { bottom:10px; }
.story .scroll-rail { height:calc(100% - 254px); }
/* The same quiet wood mount and paper inset across the later experiences. */
:is(.diy-guide,#craft-panel .craft-guide,#blessing-main .controls) { border:1px solid #9d794c; border-radius:3px; background:linear-gradient(115deg,#fff4dc8a,transparent 45%),var(--warm-paper); box-shadow:inset 0 0 0 4px #fdf3db,inset 0 0 0 5px #b69a6380,0 6px 22px #14251c45; }
.diy-guide::before,#craft-panel .craft-guide::before { content:''; display:block; width:76px; height:26px; background:url('assets/cloud-corner-v18.svg') left center/contain no-repeat; opacity:.8; margin:0 0 13px; pointer-events:none; }
.diy-guide h2,#craft-panel .craft-guide h2 { margin-block:12px 18px; line-height:1.55; }
.diy-options { margin-block:18px; padding-block:15px; border-color:#b798665e; }
.diy-options summary { display:flex; align-items:center; gap:9px; min-height:36px; list-style:none; font-size:12px; letter-spacing:.06em; color:#785534; }
.diy-options summary::-webkit-details-marker { display:none; }
.diy-options summary::before { content:''; width:7px; height:7px; border-right:1px solid #9b743e; border-bottom:1px solid #9b743e; transform:rotate(-45deg); transition:transform .2s; margin-left:2px; }
.diy-options[open] summary::before { transform:rotate(45deg); }
.diy-options[open] summary { margin-bottom:15px; }
.diy-guide label,#craft-panel .craft-guide label,#blessing-main label { color:#856340; line-height:1.7; }
.diy-guide label { font-size:11px; }
:is(.diy-guide,#craft-panel .craft-guide,#blessing-main .controls) :is(select,input:not([type=file])) { box-sizing:border-box; width:100%; min-height:46px; color:#58422e; background-color:#fff7e4; border:1px solid #b69a6b; border-radius:3px; box-shadow:inset 0 1px 3px #7d542310; padding:11px 14px; line-height:1.45; font-family:var(--serif); transition:border-color .2s,box-shadow .2s,background-color .2s; }
:is(.diy-guide,#craft-panel .craft-guide,#blessing-main .controls) select { appearance:none; -webkit-appearance:none; padding-right:38px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23846b44' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position:right 13px center; background-size:16px; background-repeat:no-repeat; }
.diy-guide select { font-size:12px; margin-block:7px 14px; }
:is(.diy-guide,#craft-panel .craft-guide,#blessing-main .controls) :is(select,input):hover { border-color:#927140; }
:is(.diy-guide,#craft-panel .craft-guide,#blessing-main .controls) :is(select,input):focus { outline:2px solid #a98042; outline-offset:3px; border-color:#927140; background-color:#fff9eb; box-shadow:0 0 0 6px #cbb27a22; }
#keepsake :is(button,summary):focus-visible,.exhibit-reader :focus-visible { outline:2px solid #ad854b; outline-offset:4px; }
.diy-option-pair { gap:14px; }
.diy-guide .soft-button,#craft-panel .craft-guide .soft-button,#blessing-main .save { border-radius:3px; border:1px solid #bf985f; box-shadow:inset 0 0 0 3px #f9db9130,0 2px 5px #58381815; }
.diy-guide .soft-button:hover,#craft-panel .craft-guide .soft-button:hover,#blessing-main .save:hover { filter:brightness(1.06); }
.diy-revise,.craft-guide details,#blessing-main details { border-color:#b99b6860; }
.craft-role-tags button,.craft-slots button,#blessing-main .choice button { border-radius:3px; border-color:#b79b68; box-shadow:inset 0 0 0 2px #fff1cc45; }
.craft-slots button { padding:12px 8px; }
.craft-role-tags [aria-pressed=true] { background:#264b3d; color:#ffe7b6; border-color:#9f8453; }
.compact-reader .detail-text { background:linear-gradient(110deg,#fff4d963,transparent 65%),var(--warm-paper); box-shadow:inset 0 0 0 1px #b89a6266,inset 0 0 0 6px #fff5dc77; }
.detail-more { padding-top:16px; border-color:#b798665e; }
.record-buttons button { border-radius:3px; background:linear-gradient(120deg,#fff2d4,#ecdbb8); box-shadow:inset 0 0 0 3px #fff8de88; }
.record-buttons button:hover { box-shadow:inset 0 0 0 3px #e6bd7730; }
@media(max-width:1000px) { .story .scroll-rail { height:calc(100% - 329px); } }
@media(max-width:600px) {
 :is(.diy-guide,#craft-panel .craft-guide,#blessing-main .controls) { padding:25px 21px; }
 :is(.diy-guide,#craft-panel .craft-guide,#blessing-main .controls) :is(select,input:not([type=file])) { font-size:16px; }
 .diy-option-pair { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .gate-cinema::before,.diy-options summary::before { transition:none; } }
