:root{color-scheme:light;--serif:'STKaiti','Kaiti SC','KaiTi','Songti SC',serif;--ink:#3d4938;--muted:#8b8974;--red:#984530;--line:#b5ad9280;--paper:#f2ecde;--paper-art:url('/assets/ui/xuan-paper-v1.png');--painting-edge:url('/assets/ui/ink-edge-mask-v1.svg');--stage-scale:1}*{box-sizing:border-box}body{margin:0;background:#ece6d8 var(--paper-art) center/1254px auto;color:var(--ink);font:24px/1.6 var(--serif);overflow:hidden}button,input,a,summary{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0;font-weight:400}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent;padding:0}button:hover:not(:disabled),a:hover{color:var(--red)}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}button svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.stage-viewport{position:fixed;inset:0;overflow:hidden}.original-stage{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform:translate(-50%,-50%) scale(var(--stage-scale));transform-origin:center}.scroll-paper{position:absolute;inset:80px 15px 10px;background:url('/assets/ui/scroll-mount-v1.png') center/100% 100% no-repeat;pointer-events:none}.scroll-interior{position:absolute;inset:0}.inside-heading{position:absolute;left:160px;right:160px;top:191px;display:flex;align-items:center;justify-content:space-between;height:48px;border-bottom:1px solid var(--line);padding-bottom:13px;font-size:20px}.brand{font-size:29px;letter-spacing:6px;display:flex;align-items:center;gap:25px}.brand span{font-size:17px;color:#8f907a;letter-spacing:3px}.inside-heading nav{display:flex;align-items:center;gap:28px;letter-spacing:2px}.inside-heading nav button:nth-last-child(-n+2){font-size:17px;color:#90907b}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:64px;padding:14px 24px;letter-spacing:3px}.primary{background:var(--red);color:#f7ecd5;box-shadow:inset 0 0 0 4px var(--red),inset 0 0 0 5px #d2a28266}.primary:hover:not(:disabled){background:#803825;color:#fff2d6}.secondary{border:1px solid #b1aa9180;color:#75755e}.eyebrow{font-size:19px;letter-spacing:4px;color:#969078}.side-label{display:block;font-size:19px;letter-spacing:5px;color:#96977f;margin-bottom:12px}.painting-edge{mask:var(--painting-edge) center/100% 100% no-repeat;-webkit-mask:var(--painting-edge) center/100% 100% no-repeat}.home-landscape{position:absolute;left:530px;top:274px;width:1200px;height:675px;mask-image:linear-gradient(90deg,transparent,#000 25%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%)}.home-landscape img{width:100%;height:100%;object-fit:cover;filter:saturate(.83);mix-blend-mode:multiply}.home-copy{position:absolute;left:220px;top:290px;width:460px}.home-copy h1{font-size:112px;line-height:1.13;letter-spacing:20px;margin:28px 0 20px}.home-verse{font-size:27px;line-height:1.85;letter-spacing:4px;color:#6e795f}.home-invitation{margin-top:36px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}.home-invitation .primary{width:325px;justify-content:space-between}.home-invitation>button:not(.primary){font-size:21px;letter-spacing:2px}.home-invitation button span{font-size:16px;color:#9c977f;border-left:1px solid var(--line);padding-left:16px;margin-left:16px}.home-colophon{position:absolute;right:260px;top:296px;writing-mode:vertical-rl;letter-spacing:6px;font-size:25px;color:#64715b;line-height:1.9}.book-view{position:absolute;left:175px;right:175px;top:274px;bottom:130px}.book-heading{display:flex;align-items:center;justify-content:space-between;height:96px}.book-heading h1{font-size:43px;letter-spacing:7px}.book-heading>span,.book-heading>button{font-size:22px;color:#8a8770}.tabs{display:flex;gap:30px}.tabs button{font-size:21px;padding:5px 0;color:#97917b;border-bottom:1px solid transparent}.tabs button[aria-pressed=true]{color:var(--red);border-bottom-color:var(--red)}.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,250px);gap:18px 45px;margin-top:12px}.chapter-card{text-align:left;min-width:0;display:block}.chapter-card .thumb{height:171px;width:100%;position:relative}.chapter-card img{width:100%;height:100%;object-fit:cover;display:block;transition:filter .3s}.chapter-card:hover img{filter:saturate(1.12)}.chapter-card .eyebrow{display:block;margin-top:9px;font-size:16px;letter-spacing:2px}.chapter-card h3{font-size:29px;letter-spacing:3px;line-height:1.4}.chapter-card>p{font-size:17px;color:#8a8671;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.pagination{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;gap:50px;font-size:20px;color:#857e67;height:35px}.pagination span{letter-spacing:3px}.empty{color:var(--muted);padding:80px 20px;text-align:center;grid-column:1/-1}.play-canvas{position:absolute;left:245px;top:282px;width:1120px;height:630px}.canvas-shell{position:relative;width:100%;height:100%;isolation:isolate}.scene,.ink{position:absolute;inset:0;width:100%;height:100%;display:block}.scene{object-fit:fill;user-select:none;pointer-events:none}.ink{touch-action:none;cursor:crosshair}.original-tools{position:absolute;left:160px;top:292px;width:60px;display:flex;align-items:center;flex-direction:column;gap:20px;font-size:21px;letter-spacing:4px;color:#88917b}.tool{display:grid;place-items:center;width:60px;height:60px;border-radius:2px}.tool svg{width:35px;height:35px}.tool.active{background:#64725a;color:#f1e5c9}.original-tools i{width:35px;border-top:1px solid var(--line);margin:4px 0}.colors{display:flex;gap:12px}.swatch{background:var(--color);width:35px;height:35px;border-radius:50%;border:1px solid #aaa48f}.story-aside,.final-inscription{position:absolute;left:1420px;top:281px;width:340px;height:645px;display:flex;flex-direction:column;align-items:stretch}.story-aside h1,.final-inscription h1{font-size:41px;letter-spacing:4px;line-height:1.4;margin:15px 0 24px}.original-story{font-size:25px;line-height:1.6;color:#64715a}.chapter-goal{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.chapter-goal>p{font-size:26px;line-height:1.55}.hint-button{font-size:18px;color:#95816a;text-align:left;margin-top:22px;text-decoration:underline;text-underline-offset:6px}#chapter-hint{font-size:20px;line-height:1.55;color:#8a826d;margin-top:12px}.story-aside .submit{margin-top:auto;width:100%;font-size:25px}.painting-view{position:absolute;left:175px;top:297px;width:1190px;height:669.375px;isolation:isolate}.painting-view>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.result-view-switch{position:absolute;left:200px;top:252px}.ending-screen .painting-view{top:297px;height:630px;width:1120px;left:245px}.ending-screen .result-view-switch{left:262px}.final-inscription{top:280px;height:646px}.final-inscription h1{font-size:34px;letter-spacing:2px;margin-bottom:16px}.final-story{font-size:23px;line-height:1.6;color:#64715a}.ending-poem{border-top:1px solid var(--line);padding-top:12px;margin-top:18px}.ending-poem>span{font-size:16px;letter-spacing:6px;color:#98775c}.ending-poem p{font-size:26px;letter-spacing:3px;line-height:1.7;margin-top:3px}.ending-poem button{font-size:22px}.reason-button{font-size:18px;color:#8f7c63;text-align:left;margin-top:14px}.ending-actions{display:flex;gap:14px;margin-top:auto}.ending-actions button{flex:1;font-size:22px;min-width:0;padding-inline:8px;letter-spacing:1px}.result-foot{position:absolute;top:941px;left:262px;width:1100px;display:flex;justify-content:flex-end;gap:24px;font-size:17px;color:#979077}.missing-ending{font-size:18px;color:var(--red);margin-top:12px}.compare-before{clip-path:inset(0 calc(100% - var(--split,50%)) 0 0)}.compare-line{position:absolute;left:var(--split,50%);top:0;bottom:0;width:2px;background:#f9edcf}.compare-slider{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:ew-resize;z-index:3}.reason-view{position:absolute;left:185px;right:185px;top:300px;display:grid;grid-template-columns:1100px 360px;gap:65px}.reason-view img{display:block;width:100%;height:619px;object-fit:fill}.reason-view h1{font-size:38px;line-height:1.5;margin:24px 0}.reason-view aside>p:not(.eyebrow){font-size:26px;line-height:1.75}.reason-view .side-label{margin-top:30px}.reason-view .primary{margin-top:36px}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(6,75px);gap:17px 40px;margin-top:20px}.journey-entry{display:flex;align-items:center;border-bottom:1px solid var(--line);gap:22px;text-align:left}.journey-entry>span{font-size:22px;color:#a69d86;width:34px}.journey-entry h3{font-size:25px;letter-spacing:2px;flex:1}.journey-entry small{font-size:16px;color:#9d957e}.journey-entry.stamped small{color:#9c4932;border:1px solid #a8503b60;padding:5px;transform:rotate(-3deg)}.choice-intro{font-size:23px;color:#8d856d;margin-top:12px}.choices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:55px}.choices-grid .thumb,.new-ordeal-art{width:100%;height:260px}.choice-card h3,.new-ordeal-wait h3{font-size:37px;letter-spacing:4px;margin-top:8px}.choice-card>p{font-size:23px;line-height:1.7;white-space:normal;margin-top:20px;min-height:76px}.choice-card .eyebrow{font-size:19px;margin-top:22px}.choose-call{display:inline-block;margin-top:25px;font-size:24px;color:#93452f;letter-spacing:4px;border-bottom:1px solid #b3917455;padding-bottom:9px}.new-ordeal-art{position:relative;overflow:hidden}.new-ordeal-art img{width:100%;height:100%;object-fit:cover;opacity:.28;filter:blur(3px)}.new-ordeal-art:after{content:'墨';font-size:80px;color:#65705588;position:absolute;inset:0;display:grid;place-items:center;animation:breathe 2.5s ease-in-out infinite}.new-ordeal-wait>.eyebrow{display:block;margin-top:22px}.new-ordeal-wait>p{font-size:23px;color:#8b866f;min-height:76px;margin-top:20px}.new-ordeal-wait>.secondary{margin-top:16px;font-size:22px}.signature-view{position:absolute;left:200px;right:200px;top:307px;display:grid;grid-template-columns:930px 480px;gap:95px}.signature-preview{height:580px;align-self:center}.signature-preview img{width:100%;height:100%;object-fit:cover}.signature-view h1{font-size:39px;letter-spacing:3px;margin-top:22px}.signature-view form>p{font-size:24px;line-height:1.65;color:#8a856d;margin-top:21px}.signature-view label{display:block;font-size:20px;color:#8c8269;margin-top:33px}.signature-input{display:flex;align-items:center;gap:20px;margin-top:15px}.signature-input input{width:335px;border:0;border-bottom:1px solid #9b957b;background:transparent;padding:12px 5px;font-size:35px;outline-offset:8px}.signature-input input::placeholder{font-size:23px;color:#aba088}.signature-input canvas{width:108px;height:108px}.signature-view form>.signature-note{font-size:22px;border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.signature-view .primary{margin-top:32px;width:100%;font-size:25px}.signature-view button[type=button]{display:block;font-size:20px;color:#91856c;margin-top:20px}.film-view{position:absolute;left:180px;top:254px;width:1560px;height:704px}.film-heading{display:flex;justify-content:space-between;align-items:center;height:35px;font-size:19px;color:#938770;letter-spacing:3px}.film-view canvas{display:block;position:absolute;left:0;top:52px;width:1110px;height:624.375px}.film-transport{position:absolute;left:0;top:681px;display:flex;align-items:center;width:1110px;gap:22px;font-size:18px;color:#92876e;height:32px}.film-transport button{min-width:50px}.film-transport input{flex:1;accent-color:#8e4934;height:2px;cursor:pointer}.film-actions{position:absolute;right:0;top:115px;width:375px;display:flex;flex-direction:column;gap:27px;align-items:stretch}.film-actions>button:not(.primary):not(.secondary){font-size:21px;color:#8a7f65}.film-actions .primary{margin-top:25px;font-size:24px;padding:18px 14px;gap:10px}.film-actions a{text-align:center;font-size:23px}#film-status{position:absolute;right:0;top:530px;width:375px;font-size:24px;line-height:1.75;color:#7b7a61}.error-view{position:absolute;left:500px;top:430px;width:920px;text-align:center}.error-view p{margin:25px}.error-view button{border-bottom:1px solid var(--line)}#toast{position:absolute;left:50%;bottom:136px;transform:translate(-50%,15px);max-width:1120px;min-width:400px;z-index:99;padding:15px 26px;background:#f0e8d5 var(--paper-art) center/900px auto;border:1px solid #b0a58a;box-shadow:0 7px 22px #483e2518;text-align:center;font-size:22px;line-height:1.55;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0)}@keyframes breathe{50%{opacity:.65}}@keyframes ink-flow{0%{transform:translateX(-80%)}100%{transform:translateX(80%)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Long archived stories keep their complete narrative, poem and actions on paper. */
.final-inscription{left:1395px;width:385px;height:660px}
.final-inscription h1{font-size:32px;margin:12px 0 14px}
.final-story{font-size:21px;line-height:1.5}
.final-inscription .ending-poem{margin-top:15px;padding-top:11px}
.final-inscription .ending-poem p{font-size:24px;line-height:1.5;letter-spacing:3px}
.final-inscription .ending-poem>span{font-size:15px}
.final-inscription .reason-button{font-size:17px;margin-top:12px}
.ending-screen .painting-view{left:245px;top:307px;width:1090px;height:613.125px}
.result-foot{width:1090px;left:245px}
.home-landscape{mask-image:var(--painting-edge),linear-gradient(90deg,transparent,#000 25%);-webkit-mask-image:var(--painting-edge),linear-gradient(90deg,transparent,#000 25%);mask-composite:intersect;-webkit-mask-composite:source-in}
.choices-grid{margin-top:25px}
.choices-grid .thumb,.new-ordeal-art{height:230px}
.choice-card h3,.new-ordeal-wait h3{font-size:32px;line-height:1.4;margin-top:6px}
.choice-card .eyebrow,.new-ordeal-wait>.eyebrow{font-size:17px;margin-top:16px}
.choice-card>p,.new-ordeal-wait>p{font-size:21px;line-height:1.5;margin-top:15px;min-height:65px}
.choose-call{margin-top:18px;font-size:22px;padding-bottom:6px}
.new-ordeal-wait>.secondary{margin-top:12px;min-height:50px}
.signature-view{top:290px}
.signature-preview{height:523.125px}
.signature-view form>.signature-note{margin-top:18px;padding-top:16px}
.signature-view .primary{margin-top:24px}
.signature-view button[type=button]{margin-top:14px}
.story-aside{left:1395px;width:385px;height:660px}
.story-aside h1{font-size:36px;line-height:1.4;margin:10px 0 20px}
.story-aside .side-label{font-size:18px;line-height:1.5;margin-bottom:9px}
.story-aside .original-story{font-size:21px;line-height:1.5}
.story-aside .chapter-goal{margin-top:20px;padding-top:14px}
.story-aside .chapter-goal>p{font-size:24px;line-height:1.5}
.story-aside .hint-button{font-size:17px;margin-top:16px}
.story-aside #chapter-hint{font-size:18px;line-height:1.5;margin-top:9px}
.drawing-screen .play-canvas{left:245px;top:297px;width:1090px;height:613.125px}
/* Clip the existing painted rods to their silhouettes before casting a shadow. */
.scroll-roll-rod{display:block;position:absolute;top:80px;width:80px;height:990px;pointer-events:none;z-index:90}
.scroll-roll-rod:before{content:'';position:absolute;inset:0;background-image:url('/assets/ui/scroll-mount-v1.png');background-size:1890px 990px;background-repeat:no-repeat;mask:var(--rod-mask) center/100% 100% no-repeat;-webkit-mask:var(--rod-mask) center/100% 100% no-repeat}
.roll-left{left:15px;--rod-mask:url('/assets/ui/scroll-rod-left-mask-v1.svg');filter:drop-shadow(4px 2px 5px #443b2a26)}.roll-left:before{background-position:left top}
.roll-right{right:15px;--rod-mask:url('/assets/ui/scroll-rod-right-mask-v1.svg');filter:drop-shadow(-4px 2px 5px #443b2a26)}.roll-right:before{background-position:right top}

/* Keep every caption clear of the next row and the page controls. */
.chapter-grid .chapter-card .thumb{height:158px}
.chapter-grid .chapter-card .eyebrow{margin-top:6px;line-height:1.4}
.chapter-grid .chapter-card h3{line-height:1.25}
.chapter-card .thumb img{object-fit:contain}

/* All moving edges derive from one progress value to avoid compositor drift. */
@property --scroll-fold{syntax:'<number>';inherits:true;initial-value:0}
.original-stage{--scroll-fold:0}
.scroll-paper{clip-path:inset(0px calc(50px + 895px * var(--scroll-fold)));mask:linear-gradient(to bottom,transparent 36px,#000 41px,#000 935px,transparent 950px);-webkit-mask:linear-gradient(to bottom,transparent 36px,#000 41px,#000 935px,transparent 950px)}
.scroll-interior{clip-path:inset(0px calc(65px + 895px * var(--scroll-fold)))}
.roll-left{transform:translateX(calc(880px * var(--scroll-fold)))}
.roll-right{transform:translateX(calc(-880px * var(--scroll-fold)))}
.original-stage[data-rolled=true],#app[data-scroll-state=closed] .original-stage{--scroll-fold:1}
.pagination{bottom:-12px}
.journey-grid{row-gap:13px}
.tool-item,.tool{position:relative}
.pen-color-dot{position:absolute;width:10px;height:10px;right:7px;bottom:7px;border:1px solid #e9dfc6;border-radius:50%}
.tool-palette{position:absolute;left:82px;top:-12px;z-index:30;width:450px;padding:24px 26px;background:#f3eddd var(--paper-art) center/600px auto;border:1px solid #b5aa8c;box-shadow:0 12px 28px #493f2926;font-size:21px;letter-spacing:1px;color:#65705b}
.palette-title{display:flex;align-items:center;justify-content:space-between;font-size:27px;letter-spacing:5px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.palette-title button{font:25px/1 sans-serif;padding:2px 8px;color:#93866d}
.pen-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 16px}
.pen-preset{display:flex;align-items:center;flex-direction:column;padding:12px 4px 7px;border:1px solid transparent;background:#e5ddc829;min-width:0}
.pen-preset[aria-pressed=true]{border-color:#9c674c;background:#dcc9a934}
.pen-preset strong{font-size:23px;letter-spacing:3px;font-weight:400;margin-top:7px}
.pen-preset>span{font-size:17px;color:#978971}
.pen-preset .writing-brush{width:34px;height:88px;stroke:#8a7753;stroke-width:.9;fill:none}
.writing-brush .brush-handle{fill:#b99960}
.writing-brush .brush-binding{fill:#635441;stroke:#52462f}
.writing-brush .brush-hair{fill:#53462f;stroke:#504936}
.writing-brush.brush-mixed .brush-hair{fill:#b9a582}
.writing-brush.brush-goat .brush-hair{fill:#e7ddc3}
.writing-brush .brush-fibers{stroke:#827251;stroke-width:.5;opacity:.75}
.pen-sample{width:100%;height:30px;display:block;margin-top:7px}
.tool-size-label{display:flex;justify-content:space-between;align-items:center;font-size:20px;color:#7d795f}
.tool-size-label output{font-size:18px;letter-spacing:0;color:#9b6c4e}
.tool-palette input[type=range]{display:block;width:100%;margin:13px 0 20px;accent-color:#85533a}
.palette-subtitle{display:block;font-size:20px;color:#7d795f;margin-bottom:12px}
.tool-palette .colors{justify-content:space-between;gap:18px;padding:3px}
.swatch[aria-pressed=true]{outline:1px solid #986346;outline-offset:4px}
.eraser-palette{width:340px}
.eraser-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.eraser-presets button{height:86px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:10px;border:1px solid transparent;padding:7px;font-size:19px}
.eraser-presets button[aria-pressed=true]{border-color:#9c674c;background:#dcc9a934}
.eraser-size-mark{display:block;border:1px solid #8f8d77;background:#fbf5e752;border-radius:50%;width:var(--diameter);height:var(--diameter);flex-shrink:0}
.clear-ink{display:block;width:100%;border-top:1px solid var(--line);padding-top:18px;margin-top:3px;text-align:left;font-size:21px;color:#984b35}
.clear-note{font-size:16px;color:#9b9078;margin-top:7px;letter-spacing:1px}

/* Generation stays in the upper paper margin, leaving the submitted art visible. */
.painting-progress{position:absolute;left:245px;top:243px;width:1090px;height:48px;z-index:15;display:grid;grid-template-columns:minmax(0,1fr) 250px auto;align-items:center;gap:22px;color:#4e5b43;text-align:left}
.painting-progress-copy{display:flex;flex-direction:column;min-width:0}
.painting-progress-copy strong{font-size:21px;font-weight:400;letter-spacing:3px;line-height:24px}
.painting-progress-copy>span{font-size:17px;line-height:21px;white-space:nowrap;color:#85816b}
.painting-progress ol{display:flex;list-style:none;padding:0;margin:0;gap:18px;justify-content:center;font-size:18px;line-height:24px}
.painting-progress li{color:#a79e85;border-bottom:1px solid #bcb39b55;padding-bottom:4px;min-width:44px;text-align:center}
.painting-progress .is-active{color:#97482f;border-color:#97482f}.painting-progress .is-done{color:#647259;border-color:#647259}
.stop-painting{font-size:17px;line-height:24px;white-space:nowrap;padding:6px 0;text-decoration:underline;text-underline-offset:5px;color:#8d8169}
.ink-current{position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#85917755,transparent);background-size:200% 100%;animation:progress-ink 2.6s linear infinite;pointer-events:none}
.has-painting-progress .result-view-switch{visibility:hidden}
@keyframes progress-ink{from{background-position:200% 0}to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.ink-current{animation:none}}

/* The original artwork remains visible while a soft light crosses the ink. */
.painting-motion{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:6;isolation:isolate}
.painting-light-sweep{position:absolute;inset:0 auto 0 0;width:42%;background:linear-gradient(100deg,transparent 4%,#fff9db0a 22%,#fff7d447 48%,#fffdf57a 56%,#fff4d124 72%,transparent 94%);mix-blend-mode:screen;transform:translateX(-130%);animation:painting-light-pass 5.4s ease-in-out infinite}
.painting-corner-progress{position:absolute;right:26px;bottom:24px;display:flex;align-items:center;gap:11px;padding:9px 15px;background:#f7efdddc;color:#625e47;border:1px solid #c0ae8366;border-radius:30px;font-size:19px;line-height:25px;letter-spacing:3px;box-shadow:0 2px 12px #40371d13}
.painting-ink-spinner{display:block;width:22px;height:22px;border:2px solid #78775030;border-top-color:#556143;border-right-color:#878364;border-radius:48% 52% 46% 54%;animation:painting-ink-turn 1.45s linear infinite;transform-origin:center}
.painting-wait-dots{letter-spacing:1px;margin-left:-7px}
@keyframes painting-light-pass{0%,12%{transform:translateX(-130%);opacity:0}17%{opacity:.9}68%{opacity:.9}76%,100%{transform:translateX(360%);opacity:0}}
@keyframes painting-ink-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.painting-light-sweep{animation:none;display:none}.painting-ink-spinner{animation:none}}

.settings-view{position:absolute;left:270px;right:270px;top:270px;bottom:145px}
.settings-view h1,.settings-confirm h1{font-size:49px;line-height:1.3;letter-spacing:7px;margin:12px 0 20px;font-weight:400}
.settings-intro{font-size:23px;color:#90866c;line-height:1.7;margin-bottom:32px}
.settings-row{display:flex;justify-content:space-between;align-items:center;gap:60px;padding:30px 0;border-top:1px solid #b2a68b66}
.settings-row h2{font-size:30px;font-weight:400;margin:0 0 13px;letter-spacing:3px}.settings-row p{font-size:22px;line-height:1.6;margin:0 0 9px}.settings-row small{font-size:19px;color:#95866c;line-height:1.6}.settings-row button{font-size:24px;white-space:nowrap;min-width:245px}
.settings-back{font-size:24px;position:absolute;left:0;bottom:0;color:#877960}
.settings-confirm{position:absolute;left:470px;right:470px;top:330px}.settings-confirm>p{font-size:27px;line-height:1.9;margin:22px 0}.settings-confirm>.eyebrow{font-size:21px;line-height:1.5}.settings-confirm .settings-note{font-size:23px;color:#91816a}.settings-confirm-actions{display:flex;gap:30px;margin-top:50px}.settings-confirm-actions button{font-size:25px;min-width:290px}

/* Exhibition edition: the scroll carries one quiet options button. */
.inside-heading{border:0;z-index:45;top:184px}
.scroll-section-title{flex:0 1 auto;min-width:0;margin-left:24px;font-size:40px;line-height:1;letter-spacing:7px;white-space:nowrap}
.scroll-home,.options-toggle{width:50px;height:50px;display:grid;place-items:center;color:#737c65}
.scroll-home svg,.options-toggle svg{width:29px;height:29px}.options-toggle svg circle{fill:#eee8d7}
.home-screen .scroll-home{visibility:hidden}.options-menu{position:relative;margin-left:auto}
.inside-heading .scroll-options{position:absolute;right:0;top:57px;width:275px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:15px 24px;background:#f3eddd var(--paper-art) center/600px auto;border:1px solid #b5aa8c;box-shadow:0 12px 28px #493f2926}
.inside-heading .scroll-options button{font-size:23px;text-align:left;line-height:1.5;padding:12px 6px;color:#687259;letter-spacing:3px}.scroll-options i{border-top:1px solid var(--line);margin:8px 0}.scroll-options button:hover{color:var(--red)}
.home-copy{left:235px;top:243px;width:515px}.home-logo{display:block;width:390px;height:390px;object-fit:contain;margin-left:-9px}.home-verse{font-size:24px;letter-spacing:3px;line-height:1.8;margin:5px 0 0}.home-invitation{margin-top:25px;gap:20px}.home-invitation .primary{width:365px;font-size:28px;min-height:77px}.home-invitation>button:not(.primary){font-size:26px;line-height:1.6}.home-invitation button span{font-size:17px;margin-left:13px;padding-left:13px}.home-relay{font-size:18px;letter-spacing:2px;line-height:1.7;color:#97886e;margin-top:21px;max-width:465px}.home-landscape{left:610px;top:270px;width:1160px;height:652.5px}
.ending-actions{flex-wrap:wrap}.ending-actions button{flex:1 0 100%;min-height:51px;padding-block:10px;font-size:21px}.ending-actions .secondary{min-height:44px;padding-block:7px}
.exhibition-title{position:absolute;left:230px;right:200px;top:240px;display:flex;justify-content:space-between;align-items:center;font-size:18px;color:#978a71;letter-spacing:2px}
.exhibition-tabs{position:absolute;left:245px;top:272px;gap:29px}.exhibition-tabs button{font-size:20px}
.exhibition-art{position:absolute;left:225px;top:317px;width:1090px;height:613.125px}.exhibition-art>img,.exhibition-art>video{display:block;width:100%;height:100%;object-fit:contain}
.exhibition-inscription{position:absolute;left:1380px;top:282px;width:380px;height:650px;display:flex;flex-direction:column}.exhibition-inscription h1{font-size:36px;line-height:1.4;letter-spacing:4px;margin:13px 0 10px}
.exhibition-author{display:flex;align-items:center;justify-content:space-between;min-height:83px;font-size:28px;letter-spacing:3px;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:17px}.exhibition-author small{display:block;font-size:16px;color:#9a8b72;margin-top:6px}.exhibition-author canvas{width:86px;height:86px}
.exhibition-story{font-size:22px;line-height:1.65;color:#637059}.exhibition-poem{font-size:23px;line-height:1.65;letter-spacing:2px;margin-top:16px;color:#857050}.exhibition-goal{font-size:22px;line-height:1.7;margin-top:25px;color:#847051}.exhibition-next{font-size:18px;line-height:1.6;color:#9b896d;border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.exhibition-pager{position:absolute;left:245px;width:1090px;top:940px;display:flex;align-items:center;justify-content:space-between;font-size:21px;line-height:30px;color:#8e8068}.exhibition-pager span{letter-spacing:3px}
