/* v0.3.4: real interactive regions on the approved, originally blank illustrated book. */
.visual-stage{min-height:100dvh;display:grid;place-items:center;padding:10px;background:#33271e;overflow:auto}
.visual-book{position:relative;isolation:isolate;container-type:inline-size;width:min(98vw,161.8dvh,1672px);aspect-ratio:1672 / 941;flex:none;color:#49301b;font:clamp(11px,0.99cqw,17px)/1.21 Georgia,'Times New Roman',serif}
.visual-art{display:block;width:100%;height:100%;user-select:none;pointer-events:none}
.visual-book section,.visual-book nav,.visual-book .visual-alert{position:absolute;z-index:2;min-width:0;box-sizing:border-box}
.visual-book button,.visual-book input,.visual-book select,.visual-book textarea{font-family:inherit;font-size:inherit}
.visual-book button{cursor:pointer}
.visual-book button:focus-visible,.visual-book input:focus-visible,.visual-book textarea:focus-visible,.visual-book select:focus-visible{outline:3px solid #174d7a;outline-offset:2px}
.visual-book [hidden]{display:none!important}
.visual-nav{left:7.55%;top:23.7%;width:10.1%;height:26.4%;display:grid;grid-template-rows:repeat(4,1fr)}
.visual-nav-item{display:block;border:0;background:transparent;width:100%;height:100%;border-radius:0}
.visual-nav-item:hover,.visual-nav-item:focus-visible{background:#e9bb6830;box-shadow:inset 3px 0 #9f2f21}
.visual-nav-item.is-current{box-shadow:inset 3px 0 #a33b2a}
.visual-chron{left:13.6%;top:48.0%;width:31.7%;height:14.1%;overflow:auto;scrollbar-width:thin;padding:0.5% 0.7%}
.visual-chron-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.32cqw 1.2cqw}
.visual-chron-grid>div{border-bottom:1px solid #af885168;min-width:0}
.visual-chron-grid small{display:block;font-size:.68em;color:#764c2c;font-variant:small-caps}
.visual-chron-grid b{display:block;font-size:.93em;font-weight:600;overflow-wrap:anywhere}
.visual-memory{left:13.6%;top:65.3%;width:15.1%;height:20.7%;overflow:auto;scrollbar-width:thin;padding:.35% .25%}
.visual-memory b,.visual-phase strong,.visual-next strong{display:block;color:#823528;font-variant:small-caps;font-size:1.08em}
.visual-memory small,.visual-phase small{font-size:.72em;display:block}
.visual-memory p,.visual-phase p,.visual-next p{margin:.45em 0;line-height:1.24;font-size:.88em}
.visual-phase{left:31.7%;top:65%;width:12.8%;height:8.3%;overflow:auto;scrollbar-width:thin;padding:.28% .25%}
.visual-next{left:31.7%;top:75.0%;width:12.8%;height:11.2%;overflow:auto;scrollbar-width:thin;padding:.28% .25%}
.visual-intro{left:53.2%;top:23.8%;width:38.0%;height:16.9%;padding:.3% .5%;overflow:auto;scrollbar-width:thin}
.visual-intro h3,.visual-editor h3{color:#832d21;font-size:1.3em;font-variant:small-caps;margin:0 0 .25em;font-weight:700;line-height:1.13}
.visual-intro p,.visual-editor p{margin:.26em 0;line-height:1.21}
.visual-intro .visual-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.1cqw;margin-top:.45em}
.visual-book label{font-size:.88em;color:#62331d;font-weight:bold;display:block;min-width:0}
.visual-book input:not([type=checkbox]),.visual-book textarea,.visual-book select{width:100%;min-width:0;box-sizing:border-box;background:#fff4dbdf;border:1px solid #987344;border-radius:2px;color:#352312;padding:.3em .38em;min-height:1.9em;margin-top:.25em}
.visual-book textarea{resize:vertical;max-height:7.8cqw;min-height:3.25em}
.visual-slots{left:51.4%;top:43.2%;width:41.2%;height:17.4%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2%;padding:0}
.visual-slot{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.25em;color:#663020;min-width:0;padding:.75em .4em .2em;overflow:hidden}
.visual-slot b{font-size:1.21em;font-variant:small-caps;color:#813328}
.visual-slot span{font-weight:600;font-size:.92em;overflow-wrap:anywhere;max-height:3em;overflow:hidden}
.visual-slot small{font-size:.75em;color:#684e32}
.visual-slot:hover{background:#fff2d67a;box-shadow:inset 0 0 0 2px #976b3b}
.visual-slot.is-selected{background:#f2dba458;box-shadow:inset 0 0 0 2px #a13f2d}
.visual-editor{left:52.9%;top:63.1%;width:39.0%;height:13.7%;overflow:auto;scrollbar-width:thin;padding:.22% .4%}
.visual-editor .visual-full-label textarea{height:5.3cqw;max-height:5.5cqw;resize:none;font-size:1em}
.visual-assignment{display:grid;grid-template-columns:1.15fr 1fr;gap:1.1cqw;height:100%}
.visual-assignment b{font-size:.89em;color:#7b3026}
.visual-members{display:flex;gap:.3cqw;flex-wrap:wrap;overflow-y:auto;max-height:6.2cqw;padding:.15em}
.visual-member{display:flex!important;align-items:center;gap:.26em;font-size:.86em!important;font-weight:normal!important;background:#f4dfa68a;border:1px solid #b48c53;padding:.12em .24em;max-width:100%}
.visual-member input{accent-color:#96372a}
.visual-member small{color:#9d2e20;font-size:.66em}
.visual-member.is-occupied{opacity:.55}
.visual-assignment textarea{height:4.9cqw;max-height:5.2cqw;resize:none}
.visual-register{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6cqw}
.visual-register div{min-width:0;overflow-wrap:anywhere;border-right:1px solid #bd9a63}
.visual-register small{display:block;font-style:italic;font-size:.78em}
.visual-bottom{left:52.9%;top:78.7%;width:39.1%;height:7.0%;display:flex;align-items:center;justify-content:center;gap:.7cqw;overflow:auto;scrollbar-width:thin;padding:.18% .3%}
.visual-bottom>span{font-size:.85em}
.visual-button{border:1px solid #9a7139!important;background:#efdbb4!important;color:#5b291b!important;padding:.4em .65em!important;white-space:nowrap;line-height:1.1;min-height:2.1em;font-size:.9em!important}
.visual-button.primary{background:#893027!important;color:#fff0d3!important}
.visual-button:hover{filter:brightness(.94)}
.visual-pager{left:68.2%;top:87.0%;width:22%;height:5.0%;display:flex;align-items:center;justify-content:center;gap:.4cqw}
.visual-page-button{border:1px solid #9c713f!important;background:#f4e1b7eb!important;color:#6b3322!important;min-width:2em;padding:.19em .36em}
.visual-page-button:disabled{opacity:.35;cursor:default}
.visual-pager span{font-size:.8em;color:#63341e;text-align:center}
.visual-alert{left:52.2%;top:60.5%;width:40.4%;background:#f8e8bf;border:2px solid #963a28;color:#742d20;font-size:.85em;z-index:5!important;padding:.4em .5em;box-shadow:0 3px 8px #4b251a44}
.visual-alert-close{float:right;border:0;background:transparent;font-size:1.3em!important}
.visual-version{position:absolute;left:19%;top:89%;width:23%;font-size:.59em!important;text-align:center;color:#775332;margin:0;z-index:2}
@media(max-width:800px){.visual-stage{display:block;padding:4px;min-height:100vh;overflow:auto}.visual-book{width:max(1040px,98vw);margin:0;}.visual-stage{overflow-x:auto}.visual-intro,.visual-editor{scrollbar-width:auto}}
@media(prefers-reduced-motion:reduce){.visual-book *{scroll-behavior:auto!important}}

.visual-unsaved{color:#8a271c;font-weight:bold;background:#fff0bdc9;border-left:3px solid #aa4b20;padding:.2em .45em}
/* v0.3.4 final safe regions, measured against the painted, empty master folio.
   No opaque panel is introduced: the illustration remains the page surface. */
.visual-intro{left:59.3%;top:25.1%;width:30.4%;height:14.6%;padding:.2% .35%}
.visual-intro h3{font-size:1.12em}
.visual-intro p{font-size:.88em;line-height:1.19}
.visual-intro .visual-fields{gap:.65cqw;margin-top:.3em}
.visual-slots{top:43.8%;height:16.7%}
.visual-slot.is-selected{background:#f2dba425;box-shadow:inset 0 0 0 2px #a13f2d}
.visual-editor{left:57.7%;top:63.1%;width:33.6%;height:13.4%;padding:.1% .3%}
.visual-editor h3{font-size:1.05em}
.visual-editor .visual-full-label textarea{height:5.2cqw;max-height:5.2cqw}
.visual-memory{left:15.0%;width:13.5%;top:65.8%;height:20.0%}
.visual-phase,.visual-next{left:35.0%;width:9.1%}
.visual-phase{top:65.5%;height:8.0%}
.visual-next{top:75.2%;height:10.3%}
.visual-bottom{top:78.0%;height:6.0%;gap:.35cqw}
.visual-pager{top:84.6%;height:3.0%}
.visual-slot:focus-visible{outline:2px solid #153e73;outline-offset:-3px}
.visual-nav-item.is-current{background:#9e402524;box-shadow:inset 3px 0 #9b3020}
