:root{color-scheme:light;--font-factor:1;--scan:65px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#302920;background:#183426}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;border:0;border-radius:8px;padding:9px 15px;background:#fff5eae8;color:#302920;font-size:14px}button:hover{background:#fffaf1}button:focus-visible,input:focus-visible,select:focus-visible,#text-scroll:focus-visible{outline:3px solid #efca68;outline-offset:2px}[hidden]{display:none!important}#experience{position:fixed;inset:0;isolation:isolate}#backdrop{position:absolute;inset:-30px;background:center/cover no-repeat;filter:blur(20px) brightness(.65);z-index:-1}#stage{position:absolute;inset:0;touch-action:pan-y}#composition-space{position:absolute;inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}#composition{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;aspect-ratio:4/3;--base-font:28px;--text-padding:32px;--caption-height:24px;--caption-font:10px}#canvas{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.layer,#intro-film{position:absolute;inset:0;width:100%;height:100%}.layer>img,.layer>video{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.layer img.movable{max-width:none}.layer>.family{inset:auto}#intro-film{object-fit:contain;background:#172e20;z-index:5}.toolbar{position:absolute;z-index:10;top:max(14px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px;pointer-events:none}.toolbar>*{pointer-events:auto}.toolbar button{background:#1722199e;color:#fffaf0;border:1px solid #ffffff35;backdrop-filter:blur(10px)}.toolbar button:hover{background:#172219d9}.toolbar #home{font-size:25px;padding:4px 12px}.chapter-title{color:#fff9e8;font-family:Georgia,serif;font-size:21px;text-shadow:0 1px 6px #000a}.chapter-title small{display:block;font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.04em;margin-top:2px}.tools{margin-left:auto;display:flex;gap:7px}.toolbar #fullscreen{font-size:25px;line-height:1}#welcome{position:absolute;inset:0;z-index:15;display:grid;place-items:center;background:linear-gradient(0deg,#102516e3,#11231910 80%)}.welcome-card{margin-top:20vh;text-align:center;color:#fff9ec;padding:25px;max-width:620px;text-shadow:0 2px 7px #092c1899}.eyebrow{font-size:11px!important;letter-spacing:.2em}h1{font:italic clamp(38px,5vw,66px)/1.1 Georgia,serif;margin:18px 0}#welcome p{line-height:1.65;font-size:17px}#welcome .credits{font-size:12px;margin:26px 0 0}#welcome .language-info{font-size:11px;margin-top:4px;color:#eee5d4}.primary{display:block;margin:24px auto 8px;background:#f9e6a2;font-weight:650;padding:14px 28px;border-radius:30px;min-width:215px}.plain{color:white;background:transparent;text-decoration:underline;text-underline-offset:4px}#skip-intro{position:absolute;right:20px;top:78px;z-index:15;background:#172219bd;color:white}
#text-dock{position:absolute;z-index:8;top:63.28125%;left:16.11328125%;width:67.7734375%;height:34.375%;background:#fffaedee;border:1px solid #fff9dfb3;border-radius:10px;box-shadow:0 4px 25px #15211130;backdrop-filter:blur(12px);display:flex;flex-direction:column;overflow:hidden}.dock-caption{display:flex;justify-content:space-between;align-items:center;padding:3px var(--text-padding) 0;font-size:max(9px,var(--caption-font));letter-spacing:.07em;color:#776b51;flex-shrink:0;height:max(18px,var(--caption-height))}.text-window{position:relative;flex:1;min-height:0}#text-scroll{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a0968055 transparent;touch-action:pan-y;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(to bottom,transparent,black 17%,black 85%,transparent)}#story{font-family:Georgia,"Times New Roman",serif;font-size:max(16px,calc(var(--base-font)*var(--font-factor)));line-height:1.55;padding:var(--scan) var(--text-padding) 170px}#story p{margin:0 0 .72em}#story .passage{display:contents}.cue{display:inline-block;width:0;height:1em;vertical-align:text-bottom;pointer-events:none}.reading-guide{position:absolute;left:9px;top:calc(var(--scan) - 7px);font:26px/1 Georgia,serif;color:#9f8140;z-index:1;pointer-events:none}#story .chapter-end{font:16px/1.6 -apple-system,sans-serif;text-align:center;color:#7f704f;padding:25px 0 0}#progress{appearance:none;border:0;width:100%;height:3px;background:transparent;flex-shrink:0}#progress::-webkit-progress-bar{background:transparent}#progress::-webkit-progress-value{background:#a48b54}#progress::-moz-progress-bar{background:#a48b54}#thought-controls{position:absolute;z-index:9;right:2%;bottom:38%;color:#fff8ed;background:#23321ed0;padding:8px 13px;border-radius:20px;display:flex;align-items:center;gap:12px;max-width:290px;font-size:10px}#thought-position{width:100px;accent-color:#ecd08c}.dragging{cursor:grabbing}#media-notice{position:absolute;z-index:20;left:50%;top:80px;transform:translateX(-50%);padding:10px 14px;border-radius:10px;background:#fff8eb;max-width:90vw;font-size:12px;box-shadow:0 2px 15px #0004;display:flex;gap:10px;align-items:center}#media-notice button{white-space:nowrap;background:#efe1bf;font-size:12px}.large{--font-factor:1.18}.extra{--font-factor:1.36}
dialog{border:1px solid #daceb7;border-radius:16px;padding:25px;background:#fcf7ec;color:#302920;width:min(520px,calc(100vw - 30px));max-height:85dvh;overflow:auto;box-shadow:0 20px 80px #0006}dialog::backdrop{background:#0a160cb3;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px}h2{font:27px Georgia,serif;margin:0}.dialog-head button{font-size:12px;background:#eee5d4;white-space:nowrap}.field{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0;font-size:14px}.field select{padding:9px;border:1px solid #d3c8b0;border-radius:8px;min-height:44px;background:#fffdf6;color:#302920}.check{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.5;min-height:44px;margin-top:12px}.check input{width:20px;height:20px;accent-color:#6a7550}.help{font-size:12px;line-height:1.6;color:#7a705c;margin:3px 0 17px}.menu-actions{display:grid;gap:8px;margin-top:20px}.menu-actions button{text-align:left;background:#eee5d4}#scene-list{padding:0;list-style:none;counter-reset:passage}#scene-list button{display:flex;text-align:left;width:100%;gap:15px;font-size:14px;background:transparent}#scene-list button:before{counter-increment:passage;content:counter(passage,decimal-leading-zero);font-size:11px;color:#887751;min-width:20px}#scene-list button:hover,#scene-list button[aria-current]{background:#e9dec6}
@media(orientation:portrait){.toolbar .chapter-title{display:none}.welcome-card{margin-top:10vh}}
@media(max-width:600px){.toolbar{left:10px;right:10px;top:10px;gap:6px}.toolbar button{font-size:11px;padding:7px 10px}.tools{gap:4px}.chapter-title{display:none}#text-dock{left:5%;width:90%;top:56%;height:42%}.dock-caption{font-size:9px}#story{padding-left:20px;padding-right:18px}.field{flex-wrap:wrap}.welcome-card{padding:20px}#media-notice{flex-wrap:wrap;top:65px}#thought-controls{right:2%;bottom:46%;font-size:9px}#thought-controls label{display:none}#skip-intro{top:65px}}
@media(max-height:540px) and (orientation:landscape){#thought-controls{padding:2px 10px}#thought-controls label{display:none}.toolbar{top:8px}.toolbar .chapter-title{font-size:16px}.toolbar small{display:none}.welcome-card{margin-top:0}#welcome h1{margin:10px 0}#welcome .credits,#welcome .language-info{display:none}}

/* The original purple next-chapter arrow, redrawn in CSS for every display. */
#story .next-chapter{display:block;position:relative;width:min(100%,360px);margin:18px auto 24px;min-height:60px;padding:14px 40px 14px 22px;border-radius:0;clip-path:polygon(0 12%,86% 12%,86% 0,100% 50%,86% 100%,86% 88%,0 88%);background:linear-gradient(160deg,#cf37c5,#901083);color:#fff;font:italic 700 clamp(15px,2vw,20px)/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:center;text-shadow:0 2px 1px #590c55;transition:filter .15s}
#story .next-chapter:hover{filter:brightness(1.12)}
#story .next-chapter:focus-visible{clip-path:none;border-radius:8px;outline:3px solid #692061;outline-offset:3px}
#next-dialog{text-align:center}#next-message{font-size:16px;line-height:1.65;margin:20px 0}#next-dialog .eyebrow{color:#901083}

#interaction-controls{position:absolute;z-index:9;right:2%;bottom:38%;display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:300px;padding:8px 12px;background:#23321ee8;color:#fff8ed;border-radius:15px;font-size:12px}
#interaction-controls input{width:105px;accent-color:#db9bd6;min-height:30px}
#stage.interactive{touch-action:none;cursor:grab}#stage.interactive:active{cursor:grabbing}
#story p.invitation{text-align:center;font-style:italic;font-weight:bold;margin-bottom:.2em}
#resume-reading{display:block;margin:4px auto}#welcome .primary{margin-top:16px}
@media(max-width:600px){#interaction-controls{bottom:46%;max-width:230px;font-size:10px;padding:3px 8px}#interaction-controls input{width:80px}#interaction-label{width:100%}}

/* An unnumbered introduction, before the twelve story chapters. */
#who-is-who{position:absolute;inset:0;z-index:16;background:#fff2ac url('assets/who/background.jpg') center/100% 100%;color:#542e30;overflow:auto;text-align:center}
.who-heading{position:absolute;top:16%;left:4%;right:4%}.who-heading h1{font-size:clamp(26px,calc(var(--base-font)*1.9),60px);margin:0 0 8px}.who-heading p{font-size:clamp(12px,calc(var(--base-font)*.6),18px);margin:0}
.who-family{position:absolute;left:5%;right:5%;top:35%;display:grid;grid-template-columns:repeat(4,1fr);gap:2%}.who-family button{padding:0;overflow:hidden;border:3px solid #fff8df;border-radius:14px;background:#fff7dc;box-shadow:0 5px 14px #81372c30;transition:transform .15s}.who-family button:hover{transform:translateY(-5px)}.who-family img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.who-family span{display:block;padding:9px 2px;font:bold clamp(14px,calc(var(--base-font)*.85),25px) Georgia,serif}.who-family small{display:block;font:11px -apple-system,sans-serif;margin-top:6px;color:#805651}
.who-actions{position:absolute;left:4%;right:4%;bottom:5%;display:flex;justify-content:center;gap:12px;align-items:center}.who-actions .primary{margin:0;background:#992184;color:white;min-width:0}.who-actions>button{box-shadow:0 3px 8px #542e3020}
#who-player{position:absolute;inset:0;background:#14251a;z-index:2}#who-film{width:100%;height:100%;object-fit:contain}#who-back{position:absolute;top:3%;left:3%;background:#fff7e9ed}#who-error{position:absolute;top:20%;left:10%;right:10%;padding:15px;background:#fff7e9}
@media(max-width:600px){.who-heading{top:15%}.who-family{left:3%;right:3%;top:36%}.who-family button{border-width:2px;border-radius:8px}.who-family span{padding:5px 0}.who-family small{display:none}.who-actions{bottom:4%;gap:6px}.who-actions button{font-size:12px;padding:8px 12px}}

/* The supplied cover opens the book before the family introduction. */
#book-cover{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:max(16px,env(safe-area-inset-top)) 20px max(16px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 35%,#71392b,#30120e 80%)}
.book-cover-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 116px - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;box-shadow:0 12px 45px #13070480;border-radius:3px}
#cover-start{flex-shrink:0;margin:0;min-width:190px;min-height:52px;padding:12px 36px;background:#fff0a5;color:#4b2015;font-size:20px;box-shadow:0 5px 18px #16090455}
#cover-start:hover{background:#fff7d0;transform:translateY(-1px)}
