:root{--gesso:#e7d7b5;--gesso-dark:#cdbb91;--gesso-deep:#bca77a;--lead:#f2e8ce;--bone:#211b17;--bone-soft:#4a3b31;--azurite:#365f87;--azurite-deep:#274763;--ultramarine:#2e4a9e;--verte:#667653;--malachite:#587456;--sienna:#a6763c;--sienna-burnt:#8a4a2b;--madder:#983b2f;--madder-deep:#64281f;--vermilion:#b84a32;--orpiment:#d9a441;--tyrian:#6b3a5b;--ash:#7a7c78;--ash-light:#a9aaa5;--gold:#c2a052;--gold-hi:#d8b968;--gold-deep:#82682d;--bole:#9b4a34;--desk:#17120f;--hand-narrator:"IM Fell DW Pica", "EB Garamond", serif;--hand-bishop:"UnifrakturMaguntia", "EB Garamond", serif;--hand-monk:"Uncial Antiqua", "EB Garamond", serif;--hand-rough:"Homemade Apple", cursive;--hand-print:"IM Fell English", "EB Garamond", serif;--hand-player:"Caveat", cursive;--reader:"EB Garamond", Georgia, serif;--display:"Cormorant Garamond", "EB Garamond", serif}:root[data-dyslexia="1"]{--hand-narrator:"Atkinson Hyperlegible", sans-serif;--hand-bishop:"Atkinson Hyperlegible", sans-serif;--hand-monk:"Atkinson Hyperlegible", sans-serif;--hand-rough:"Atkinson Hyperlegible", sans-serif;--hand-print:"Atkinson Hyperlegible", sans-serif;--hand-player:"Atkinson Hyperlegible", sans-serif;--reader:"Atkinson Hyperlegible", sans-serif}*{box-sizing:border-box}html,body{background:var(--desk);height:100%;color:var(--bone);margin:0;overflow:hidden}body{font-family:var(--reader);-webkit-font-smoothing:antialiased;font-size:18px;line-height:1.45}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none}.stage{-webkit-touch-callout:none}.figure,.card,.target,.hotspot,.choice,.continue,.rubric,.hud{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#app{background:radial-gradient(ellipse at 50% 42%, #785a3229, transparent 64%), repeating-linear-gradient(90deg, #ffffff03 0 1px, transparent 1px 8px), var(--desk);place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}button{font:inherit;color:inherit;cursor:inherit;background:0 0;border:0;padding:0}button:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}[tabindex]:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}.stage{transform-origin:50%;background:var(--gesso);cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M4 28 L20 6 L26 4 L24 10 L8 30 Z' fill='%23F1EBDD' stroke='%232B2622' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M8 30 L4 28 L6 25' fill='%232B2622'/%3E%3C/svg%3E") 4 28,auto;width:1600px;height:900px;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 24px 70px #0000009e,0 0 0 1px #00000080}.stage.reduced-motion *{transition:none!important;animation:none!important}.gesso{pointer-events:none;z-index:0;mix-blend-mode:multiply;opacity:.34;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.27 0 0 0 0 0.16 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;top:0;bottom:0;left:0;right:0}.gesso.mottle{opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='800'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.004' numOctaves='4' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.35 0 0 0 0 0.2 0 0 0 0.35 0'/%3E%3C/filter%3E%3Crect width='800' height='800' filter='url(%23m)'/%3E%3C/svg%3E")}.frame{pointer-events:none;z-index:40;position:absolute;top:0;bottom:0;left:0;right:0}.scene{z-index:5;border:2px solid var(--bone);width:1460px;height:540px;box-shadow:inset 0 0 0 5px var(--gesso), inset 0 0 0 7px var(--gold);background:var(--gesso-dark);position:absolute;top:72px;left:70px;overflow:hidden}.scene .layer{width:100%;height:100%;position:absolute;top:0;left:0}.scene .layer svg{width:100%;height:100%;display:block;position:relative}.scene .figures{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.figure{transform-origin:bottom;pointer-events:none;transition:filter .14s steps(2,end);position:absolute;bottom:0;transform:translate(-50%)}.figure .sprite,.figure .sprite svg{width:auto;height:100%;display:block;overflow:visible}.figure .sprite.flip{transform:scaleX(-1)}.figure.clickable{pointer-events:auto;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M11 30 L11 16 C11 13 15 13 15 16 L15 8 C15 5 19 5 19 8 L19 4 C19 1 23 1 23 4 L23 14 L26 14 C29 14 29 18 27 22 L25 30 Z' fill='%23F1EBDD' stroke='%232B2622' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 19 4,pointer}.figure.clickable:hover,.figure.speaking{filter:drop-shadow(3px 3px #c2a052bf)}.figure.clickable:focus-visible{filter:drop-shadow(3px 3px #c2a052bf)}.figure .name{white-space:nowrap;font-family:var(--display);letter-spacing:.06em;color:var(--bone);background:var(--lead);border:1px solid var(--bone);box-shadow:2px 2px 0 var(--gold);opacity:0;pointer-events:none;padding:3px 10px;font-size:17px;font-weight:700;transition:opacity .1s steps(2,end);position:absolute;top:-34px;left:50%;transform:translate(-50%)}.figure.clickable .name,.figure.speaking .name{opacity:1}.figure.clickable .name:before{content:"☞";color:var(--madder);margin-right:6px}.hotspot{pointer-events:auto;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Ccircle cx='14' cy='14' r='9' fill='rgba(241,235,221,0.5)' stroke='%232B2622' stroke-width='2'/%3E%3Cpath d='M21 21 L31 31' stroke='%232B2622' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M9 12 Q12 8 16 10' stroke='%23F1EBDD' stroke-width='2' fill='none'/%3E%3C/svg%3E") 14 14,zoom-in;position:absolute}.hotspot:after{content:"";border:2px dashed #c2a052b8;transition:border-color .12s steps(2,end),background .12s steps(2,end);position:absolute;top:-5px;bottom:-5px;left:-5px;right:-5px}.hotspot:hover:after{border-color:var(--madder);background:#f2e8ce1f}.hotspot:focus-visible:after{border-color:var(--madder);background:#f2e8ce1f}.hotspot .label{white-space:nowrap;font-family:var(--display);letter-spacing:.04em;color:var(--bone);background:var(--lead);border:1px solid var(--bone);box-shadow:2px 2px 0 var(--gold);opacity:1;pointer-events:none;padding:3px 9px;font-size:16px;font-weight:700;position:absolute;bottom:100%;left:50%;transform:translate(-50%,-8px)}.hotspot.done:after{border-color:var(--gold);opacity:.6;border-style:solid}.hotspot.below .label{top:100%;bottom:auto;transform:translate(-50%,8px)}.hotspot .mark{pointer-events:none;filter:drop-shadow(1px 1px #211b178c);width:26px;height:26px;animation:1.9s ease-in-out infinite spot-breathe;position:absolute;top:-9px;right:-9px}.hotspot .mark svg{width:100%;height:100%;display:block}.hotspot.below .mark{top:auto;bottom:-9px}.hotspot.done .mark{display:none}@keyframes spot-breathe{0%,to{opacity:.88;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}@media (prefers-reduced-motion:reduce){.hotspot .mark{animation:none}}.scene:after{content:"";pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 0 0 1px #211b1729}.margin{z-index:10;grid-template-columns:126px 1fr;align-items:start;gap:22px;width:1165px;height:238px;padding-top:5px;display:grid;position:absolute;top:630px;left:70px}.margin .center{min-height:232px;position:relative}.margin .portrait{border:2px solid var(--bone);width:118px;height:118px;box-shadow:3px 3px 0 var(--gold);background:var(--gesso-dark);opacity:0;border-radius:50%;margin-top:6px;transition:opacity .12s steps(2,end),transform .12s steps(2,end);overflow:hidden;transform:scale(.94)}.margin .portrait.show{opacity:1;transform:none}.margin .portrait svg{width:100%;height:100%;display:block}.margin .speaker{font-family:var(--display);letter-spacing:.09em;text-transform:uppercase;color:var(--madder);min-height:26px;margin:0 0 3px;font-size:19px;font-weight:700}.margin .line{max-width:930px;min-height:132px;color:var(--bone);padding-right:8px;font-size:27px;line-height:1.28;position:relative}.margin .line.compact{min-height:0;margin-bottom:6px;font-size:24px}.margin .line .ink{filter:url(#inkbleed)}.margin .line .cursor{background:var(--bone);vertical-align:-.12em;width:2px;height:.9em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.margin .line.narration{color:var(--bone-soft);font-style:italic}.margin .line.hand-narrator{font-family:var(--hand-narrator)}.margin .line.hand-bishop{font-family:var(--hand-bishop);letter-spacing:.01em;font-size:25px}.margin .line.hand-monk{font-family:var(--hand-monk);font-size:24px}.margin .line.hand-rough{font-family:var(--hand-rough);font-size:22px;line-height:1.5}.margin .line.hand-print{font-family:var(--hand-print)}.margin .line.hand-player{font-family:var(--hand-player);font-size:30px;line-height:1.3}.margin .line.hand-reader{font-family:var(--reader)}.margin .continue{min-height:42px;font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--madder);opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:10px;padding:5px 8px 5px 13px;font-size:16px;font-weight:700;transition:opacity .1s steps(2,end);display:inline-flex;position:absolute;bottom:2px;right:4px}.margin .continue.show{opacity:1;visibility:visible;pointer-events:auto}.margin .continue:hover{border-bottom-color:var(--madder);background:#c2a0521f}.margin .continue:focus-visible{border-bottom-color:var(--madder);background:#c2a0521f}.margin .continue kbd{font:12px/1 var(--reader);letter-spacing:0;text-transform:none;color:var(--bone-soft);border:1px solid var(--bone-soft);box-shadow:1px 1px 0 var(--gesso-deep);padding:4px 6px}.margin .continue>span:last-child{font-size:29px;line-height:.5}.choices{flex-direction:column;gap:5px;margin-top:2px;display:flex}.margin.tight .line{font-size:23px}.margin.tight .line.compact{margin-bottom:3px;font-size:21px}.margin.tight .speaker{min-height:22px;font-size:18px}.margin.tight .choices{gap:3px}.margin.tight .choice{padding:5px 10px 5px 4px;font-size:18px}.margin.tighter .line{font-size:21px}.margin.tighter .line.compact{margin-bottom:2px;font-size:19px}.margin.tighter .speaker{min-height:19px;font-size:17px}.margin.tighter .choices{gap:2px}.margin.tighter .choice{padding:3px 10px 3px 4px;font-size:17px;line-height:1.18}.choice{text-align:left;font-family:var(--reader);color:var(--bone);cursor:pointer;border-left:3px solid #0000;grid-template-columns:34px 1fr;align-items:start;gap:10px;padding:7px 10px 7px 4px;font-size:20px;line-height:1.22;transition:border-color .12s steps(2,end),background .12s steps(2,end),transform .12s steps(2,end);animation:.22s steps(3,end) both choice-in;display:grid}.choice:nth-child(2){animation-delay:90ms}.choice:nth-child(3){animation-delay:.18s}.choice:nth-child(4){animation-delay:.27s}.choice:nth-child(5){animation-delay:.36s}@keyframes gloss-in{to{opacity:1;transform:none}}@keyframes choice-in{0%{opacity:0;transform:translate(8px)}}.choice .manicule{width:30px;height:26px;margin-top:2px;transition:transform .2s}.choice:hover{border-left-color:var(--gold);background:#b8975a1f}.choice:focus-visible{border-left-color:var(--gold);background:#b8975a1f}.choice:hover .manicule{transform:translate(3px)rotate(-4deg)}.choice .tag{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--lead);background:var(--azurite);vertical-align:2px;margin-right:6px;padding:0 6px;font-size:13px;display:inline-block}.choice .tag.verum{background:var(--azurite)}.choice .tag.bonum{background:var(--malachite)}.choice .tag.pulchrum{background:var(--tyrian)}.choice:disabled{opacity:.4}.choice.cite{font-family:var(--reader);font-style:italic}.rubric{z-index:10;width:1460px;min-height:46px;font-family:var(--display);justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:16px;left:70px}.rubric-copy{align-items:baseline;gap:20px;min-width:0;display:flex}.rubric .chapter{letter-spacing:.12em;text-transform:uppercase;color:var(--madder);white-space:nowrap;font-size:21px;font-weight:700}.rubric .objective{font-family:var(--reader);color:var(--bone-soft);border-left:1px solid var(--gold-deep);white-space:nowrap;text-overflow:ellipsis;max-width:620px;padding-left:20px;font-size:16px;font-style:italic;overflow:hidden}.rubric .place{color:var(--bone-soft);letter-spacing:.03em;font-size:20px;font-style:italic}.rubric .place:before{content:"¶ ";color:var(--madder);font-style:normal}.hud{z-index:12;grid-template-rows:auto 1fr;gap:6px;width:265px;height:238px;display:grid;position:absolute;top:630px;right:70px}.palette{grid-template-columns:repeat(3,1fr);align-items:end;gap:10px;display:grid}.shell{text-align:center;cursor:help;height:78px;position:relative}.shell svg{width:100%;height:60px;display:block;overflow:visible}.shell .cap{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--bone-soft);font-size:12px}.shell .fill{transform-origin:bottom;transition:transform .9s cubic-bezier(.3,.9,.3,1)}.hudrow{justify-content:flex-end;align-items:center;gap:10px;display:flex}.clasp{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--bone);border:1.5px solid var(--bone);background:var(--lead);box-shadow:2px 2px 0 var(--gold);cursor:pointer;align-items:center;gap:10px;padding:8px 14px;font-size:17px;font-weight:700;transition:transform .1s steps(2,end),box-shadow .1s steps(2,end);display:inline-flex}.clasp:hover{box-shadow:3px 3px 0 var(--gold), 4px 4px 0 var(--bone);transform:translate(-1px,-1px)}.clasp:active{box-shadow:0 0 0 var(--gold), 1px 1px 0 var(--bone);transform:translate(2px,2px)}.clasp svg{width:22px;height:22px}.clasp.small{letter-spacing:.1em;padding:5px 10px;font-size:13px}.clasp .badge{background:var(--madder);color:var(--lead);border-radius:10px;padding:0 6px;font-size:12px}.abilities{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.seal{width:34px;height:34px;font-family:var(--display);color:var(--lead);background:var(--madder);box-shadow:1px 1px 0 var(--bone);cursor:help;border:2px double #f1ebdda6;border-radius:50%;place-items:center;font-size:13px;font-weight:700;animation:.26s steps(4,end) both seal-in;display:grid;position:relative}.seal.gold{background:var(--gold);color:var(--bone)}.seal.blue{background:var(--azurite)}.seal.green{background:var(--malachite)}.seal.locked:after{content:"";border:1.5px dashed var(--gold-hi);border-radius:50%;position:absolute;top:-3px;bottom:-3px;left:-3px;right:-3px}@keyframes seal-in{0%{opacity:0;transform:scale(.6)}}.tip{z-index:60;background:var(--lead);max-width:340px;color:var(--bone);border:1.5px solid var(--bone);box-shadow:3px 3px 0 var(--gold);pointer-events:none;opacity:0;padding:10px 14px;font-size:16px;line-height:1.35;transition:opacity .15s;position:absolute}.tip.show{opacity:1}.tip b{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--madder)}.illum{z-index:45;pointer-events:none;font-family:var(--display);letter-spacing:.07em;color:var(--bone);background:var(--gold-hi);border:1px solid var(--bone);opacity:0;padding:6px 34px;font-size:20px;font-weight:700;position:absolute;top:600px;left:50%;transform:translate(-50%)}.illum.show{animation:2.6s ease-out forwards illum}@keyframes illum{0%{opacity:0;transform:translate(-50%,12px)}15%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-8px)}}.veil{z-index:90;pointer-events:none;background:var(--gesso);opacity:0;transition:opacity .5s;position:absolute;top:0;bottom:0;left:0;right:0}.veil.on{opacity:1;pointer-events:auto}.veil.instant{transition:none}.pageturn{z-index:95;pointer-events:none;perspective:2400px;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.pageturn .leaf{visibility:hidden;background:var(--gesso);transform-origin:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;top:0;bottom:0;left:0;right:0;transform:rotateY(0);box-shadow:-14px 0 #211b172e}.pageturn.play .leaf{visibility:visible;animation:1.06s cubic-bezier(.6,.05,.3,1) both leaf}@keyframes leaf{0%{opacity:1;transform:rotateY(0)}16%{opacity:1;transform:rotateY(0)}87%{opacity:1}to{opacity:0;visibility:hidden;transform:rotateY(-180deg)}}.overlay{z-index:70;opacity:0;pointer-events:none;background:#211b179e;place-items:center;transition:opacity .16s steps(3,end);display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.overlay.open{opacity:1;pointer-events:auto}.sheet{background:var(--gesso);border:2px solid var(--bone);width:1420px;height:800px;box-shadow:10px 12px 0 #211b177a, inset 0 0 0 5px var(--gesso), inset 0 0 0 7px var(--gold);transition:transform .18s steps(3,end);position:relative;overflow:hidden;transform:translateY(10px)}.overlay.open .sheet{transform:none}.sheet .close{z-index:5;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--madder);cursor:pointer;border:1px solid #0000;padding:4px 8px;font-size:15px;position:absolute;top:14px;right:18px}.sheet .close:hover{border-color:var(--madder)}.sheet .title{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--madder);margin:0;font-size:28px;font-weight:700}.sheet .subtitle{font-family:var(--display);color:var(--bone-soft);margin:2px 0 0;font-size:20px;font-style:italic}.enc{grid-template-rows:auto 1fr auto;gap:14px;padding:34px 40px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.enc .body{min-height:0;position:relative}.enc .foot{justify-content:space-between;align-items:center;gap:16px;display:flex}.enc .note{color:var(--bone-soft);font-size:18px;font-style:italic}.enc .note b{color:var(--madder);font-style:normal}.chapter-complete{flex-direction:column;justify-content:center;align-items:flex-start;width:850px;height:auto;min-height:560px;padding:64px 74px;display:flex}.chapter-complete:before{content:"❦";color:var(--gold-deep);font-size:80px;line-height:1;position:absolute;top:42px;right:62px}.chapter-complete .title{max-width:650px;font-size:38px;line-height:1.08}.chapter-complete .subtitle{margin-top:10px;font-size:24px}.chapter-marks{border-top:1px solid var(--gold-deep);gap:0;width:100%;margin:28px 0 34px;display:grid}.chapter-marks>div{border-bottom:1px solid #82682d8c;grid-template-columns:135px 1fr;align-items:baseline;gap:22px;padding:13px 0;display:grid}.chapter-marks b{color:var(--madder);text-transform:uppercase;letter-spacing:.1em;font:700 14px var(--display)}.chapter-marks span{font-size:20px}.drop{border:1.5px dashed var(--bone-soft);text-align:center;font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--bone-soft);background:#f1ebdd59;place-items:center;font-size:15px;transition:background .12s steps(2,end),border-color .12s steps(2,end),box-shadow .12s steps(2,end);display:grid;position:absolute}.drop.over{border-color:var(--gold);background:#d4b26a40;box-shadow:0 0 20px #d4b26a66}.drop.filled{border-style:solid;border-color:var(--bone);background:var(--lead)}.drop.ok{border-color:var(--malachite);box-shadow:0 0 0 2px #4e8a6a59}.drop.bad{border-color:var(--madder);animation:.4s shake}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.card{background:var(--lead);border:1.5px solid var(--bone);width:150px;box-shadow:2px 2px 0 var(--gold);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;text-align:center;will-change:transform;padding:8px 8px 10px;transition:box-shadow .15s;position:absolute}.card:hover{box-shadow:3px 5px 0 var(--gold)}.card.dragging{cursor:grabbing;z-index:20;pointer-events:none;box-shadow:8px 14px 22px #00000047}.drop.over{transform:scale(1.03)}.card svg{width:64px;height:64px;margin:0 auto 6px;display:block}.card .cname{font-family:var(--display);font-size:16px;font-weight:600;line-height:1.15}.card .csub{color:var(--bone-soft);font-size:13px;font-style:italic}.card.static{cursor:default}.card.wrongcard{border-color:var(--madder)}.btnrow{align-items:center;gap:12px;display:flex}.pill{min-height:42px;font-family:var(--display);letter-spacing:.11em;text-transform:uppercase;color:var(--bone);border:1.5px solid var(--bone);background:var(--lead);box-shadow:2px 2px 0 var(--gold);cursor:pointer;padding:8px 16px;font-size:15px;font-weight:700;transition:transform .1s steps(2,end),box-shadow .1s steps(2,end),background .1s steps(2,end)}.pill:hover{box-shadow:3px 3px 0 var(--gold);transform:translate(-1px,-1px)}.pill:active{box-shadow:1px 1px 0 var(--gold);transform:translate(1px,1px)}.pill.primary{background:var(--gold-hi)}.pill.large{min-height:52px;padding:11px 22px;font-size:17px}.pill.quiet{box-shadow:none;border-color:var(--gold-deep);background:0 0}.pill:disabled{opacity:.45;cursor:not-allowed;box-shadow:2px 2px 0 var(--ash);transform:none}.pill.ghost{box-shadow:none;border-color:var(--bone-soft);background:0 0}.titlescreen{z-index:20;background:var(--gesso);position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.titleart{z-index:0;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.titleart img{object-fit:cover;width:100%;height:100%;display:block}.titlecut{background:#211b176b;width:3px;position:absolute;top:0;bottom:0;left:38.5%;box-shadow:-7px 0 14px #211b171f}.titlecopy{z-index:2;text-align:left;background:#e7d7b5f0;border:1px solid #211b176b;flex-direction:column;align-items:flex-start;width:520px;padding:24px 42px 28px;display:flex;position:absolute;top:32px;bottom:32px;left:76px;box-shadow:7px 7px #983b2f3d}.title-seal{flex-shrink:0;width:80px;height:80px;margin-bottom:8px}.title-seal svg{width:100%;height:100%;display:block}.eyebrow{color:var(--madder);font:700 14px/1.2 var(--display);letter-spacing:.16em;text-transform:uppercase;margin:0 0 7px}.titlescreen .name{font-family:var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--bone);white-space:nowrap;max-width:100%;margin:0;font-size:58px;font-weight:700;line-height:.92}.titlescreen .name .initial{color:var(--madder);font-size:1.16em}.titlescreen .sub{font-family:var(--display);color:var(--bone-soft);letter-spacing:.06em;margin:9px 0 22px;font-size:29px;font-style:italic}.titlescreen .premise{max-width:420px;margin:0;font-size:21px;line-height:1.42}.chapter-ribbon{border-top:1px solid var(--gold-deep);border-bottom:1px solid var(--gold-deep);width:100%;margin:24px 0 26px}.chapter-ribbon span{padding:8px 0;font-size:16px;display:block}.chapter-ribbon span+span{border-top:1px dotted #82682da6}.chapter-ribbon b{min-width:76px;color:var(--madder);font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;display:inline-block}.titlescreen .menu{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.titlescreen .menu .pill.large{min-height:44px;padding:8px 18px;font-size:15px}.titlescreen .playhint{color:var(--bone-soft);margin:15px 0 0;font-size:14px;font-style:italic}.titlescreen .fine{z-index:3;max-width:820px;color:var(--lead);letter-spacing:.03em;background:#211b17c7;margin:0;padding:5px 10px;font-size:13px;position:absolute;bottom:16px;right:24px}.create{z-index:20;background:var(--gesso);grid-template-columns:720px 1fr;gap:48px;min-height:0;padding:44px 80px 40px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.commission{border-left:2px solid var(--madder);background:#f2e8ce61;border-right:1px solid #82682d8c;flex-direction:column;min-height:0;padding:22px 34px 18px;display:flex;overflow:hidden}.commission-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;flex:auto;min-height:0;margin-right:-12px;padding-right:12px;overflow-y:auto}.create h2{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--bone);margin:0 0 6px;font-size:38px;font-weight:700}.create p{margin:0 0 10px;font-size:18px}.create .create-intro{max-width:590px;color:var(--bone-soft)}.create .create-note{border-left:3px solid var(--gold);max-width:590px;color:var(--bone);background:#b8975a1f;margin:0 0 4px;padding:8px 12px;font-style:italic}.create label{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--bone-soft);margin:12px 0 5px;font-size:15px;font-weight:600;display:block}.create input[type=text]{width:100%;font:28px var(--hand-player);color:var(--bone);border:0;border-bottom:1.5px solid var(--bone);background:0 0;outline:none;padding:6px 4px}.create input[type=text]:focus{border-bottom-color:var(--gold);box-shadow:0 2px 0 var(--gold-hi)}.origins{grid-template-columns:1fr 1fr;gap:8px;display:grid}.origins.three{grid-template-columns:1fr 1fr 1fr}.origin{text-align:left;border:1.5px solid var(--bone-soft);cursor:pointer;background:#f1ebdd80;min-height:0;padding:8px 12px;transition:border-color .1s steps(2,end),background .1s steps(2,end),box-shadow .1s steps(2,end)}.origin b{font-family:var(--display);letter-spacing:.04em;color:var(--bone);font-size:19px;display:block}.origin span{color:var(--bone-soft);font-size:14px;font-style:italic;line-height:1.25;display:block}.origin:hover{border-color:var(--gold)}.origin.on{border-color:var(--madder);background:var(--lead);box-shadow:3px 3px 0 var(--gold)}.appearance{grid-template-columns:1fr 1fr;gap:24px;display:grid}.create-actions{background:var(--gesso);border-top:1px solid #82682d73;flex:none;align-items:center;gap:16px;margin:0 -34px -18px;padding:14px 34px 18px;display:flex}.preview{border:2px solid var(--bone);box-shadow:inset 0 0 0 7px var(--gesso), inset 0 0 0 9px var(--gold);background:#cdbb9173;grid-template-rows:auto auto 1fr auto;place-items:end center;padding:34px 36px 26px;display:grid;position:relative}.preview:before{content:"";border:1px dotted var(--gold-deep);pointer-events:none;position:absolute;top:18px;bottom:18px;left:18px;right:18px}.preview .fig{z-index:1;height:560px;max-height:100%}.preview .fig svg{width:auto;height:100%;display:block}.figpick{z-index:2;justify-self:center;gap:8px;display:flex;position:relative}.preview-label{z-index:2;color:var(--madder);font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;justify-self:start;font-weight:700;position:relative}.marginal-note{z-index:2;color:var(--bone-soft);font-style:italic;position:relative;margin:0!important}.swatchrow{gap:8px;margin-top:6px;display:flex}.swatch{border:1.5px solid var(--bone);cursor:pointer;width:30px;height:30px}.swatch.on{box-shadow:0 0 0 2px var(--gesso), 0 0 0 3.5px var(--gold)}@media (max-width:900px),(max-aspect-ratio:5/4){body:after{content:"For readable play, turn your device sideways.";z-index:999;left:50%;bottom:max(10px, env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 24px);color:var(--lead);background:var(--bone);border:1px solid var(--gold);font:700 14px var(--reader);text-align:center;pointer-events:none;padding:9px 14px;animation:6s ease-in-out forwards sideways-nudge;position:fixed;transform:translate(-50%)}}@keyframes sideways-nudge{0%{opacity:0}6%{opacity:1}75%{opacity:1}to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body:after{animation-duration:6s!important}}.settings{z-index:25;gap:10px;display:flex;position:absolute;top:22px;right:80px}.hidden{display:none!important}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.figure .body,.figure .body svg{width:auto;height:100%;display:block;overflow:visible}.figure .body{transform:scaleX(var(--face,1));transform-origin:bottom}.figure .gloss{display:none}@keyframes walk-step{50%{translate:0 -3px}}@media (prefers-reduced-motion:reduce){.figure.walking .body{animation:none}}.figure .body{animation:4.2s ease-in-out infinite bob}.figure.speaking .body{animation:1.1s ease-in-out infinite talk}.figure.walking .body{animation:.42s ease-in-out infinite walk}@keyframes bob{0%,to{transform:scaleX(var(--face,1)) translateY(0)}50%{transform:scaleX(var(--face,1)) translateY(-3px)}}@keyframes talk{0%,to{transform:scaleX(var(--face,1)) translateY(0) rotate(0)}50%{transform:scaleX(var(--face,1)) translateY(-2px) rotate(.5deg)}}@keyframes walk{0%,to{transform:scaleX(var(--face,1)) translateY(0) rotate(-.8deg)}50%{transform:scaleX(var(--face,1)) translateY(-5px) rotate(.8deg)}}.figure .name{transform:translate(-50%)}.margin .line .w{white-space:pre;display:inline-block}.margin .line .ch{animation:.9s ease-out both inkdry}@keyframes inkdry{0%{color:var(--azurite-deep);opacity:0;transform:translateY(1px)}20%{opacity:1}to{color:inherit;opacity:1;transform:none}}.margin .line .initial{font-family:var(--display);color:var(--madder);vertical-align:-.2em;margin-right:2px;font-size:1.9em;font-weight:700;line-height:.8;animation:none}.stage.reduced-motion .margin .line .ch{animation:none}.incipit{z-index:8;pointer-events:none;font-family:var(--display);color:var(--lead);letter-spacing:.04em;text-shadow:0 1px 2px #00000080;opacity:0;border-left:4px solid var(--gold);background:linear-gradient(90deg,#2b2622b8,#2b262273 70%,#0000);padding:6px 26px 8px 22px;font-size:30px;font-style:italic;position:absolute;top:90px;left:70px}.incipit:before{content:"¶ ";color:var(--gold-hi);font-style:normal}.incipit.show{animation:3.8s ease-out forwards incipit}@keyframes incipit{0%{opacity:0;transform:translate(-12px)}12%{opacity:1;transform:none}78%{opacity:1}to{opacity:0}}.chaptercard{z-index:30;text-align:center;cursor:pointer;align-content:center;place-items:center;gap:12px;animation:.9s ease-out both cardin;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.chaptercard.out{animation:.5s ease-in forwards cardout}.chaptercard .kicker{font-family:var(--display);letter-spacing:.32em;text-transform:uppercase;color:var(--madder);font-size:22px}.chaptercard h2{font-family:var(--display);letter-spacing:.06em;color:var(--bone);max-width:1100px;margin:0;font-size:64px;font-weight:600;line-height:1.15}.chaptercard h2 .initial{color:var(--madder);vertical-align:-.08em;text-shadow:3px 3px 0 var(--gold-hi);font-size:1.35em;line-height:.8}.chaptercard .hint{font-family:var(--display);color:var(--bone-soft);letter-spacing:.1em;opacity:.8;margin-top:30px;font-size:17px;font-style:italic}@keyframes cardin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes cardout{to{opacity:0;transform:translateY(-8px)}}.guidefold{border-top:1px dotted #2b26224d;margin-top:auto;padding-top:6px}.guidefold summary{cursor:pointer;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--bone-soft);font-size:13px}.guidefold[open] summary{margin-bottom:8px}.figure .body img.painted.flip{transform:scaleX(-1)}.figure .body img.painted{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 2px #2b26222e);width:auto;height:100%;display:block}.margin .portrait img.painted,.disp .challenge .portrait img.painted{object-fit:cover;width:100%;height:100%;display:block}.letter .page-in .writer{float:right;border:2.5px solid var(--gold);width:96px;height:96px;box-shadow:0 0 0 1.5px var(--bone);border-radius:50%;margin:-8px -8px 8px 12px;overflow:hidden}.letter .page-in .writer img,.letter .page-in .writer svg{object-fit:cover;width:100%;height:100%;display:block}.choice.faded{opacity:.35}.choice.chosen{border-left-color:var(--gold);background:#b8975a24}.choice .tag.stamp{vertical-align:1px;margin-left:10px;margin-right:0;animation:.32s cubic-bezier(.2,1.4,.4,1) both stampin;transform:rotate(-4deg)}@keyframes stampin{0%{opacity:0;transform:rotate(-12deg)scale(1.6)}to{opacity:1;transform:rotate(-4deg)scale(1)}}.preview .fig img.painted{filter:drop-shadow(0 3px #2b262233);width:auto;height:100%;display:block}.scene .layer img.painted-layer{object-fit:cover;object-position:50% 12%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.scene .layer .altarpiece-painted{pointer-events:none;filter:drop-shadow(0 4px 6px #2b262259);position:absolute}.scene .layer .altarpiece-painted img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.scene .layer .altarpiece-painted img.gold{animation:1.6s ease-out both gild}.scene .layer .altarpiece-painted.night img{filter:brightness(.62)saturate(.85)}@keyframes gild{0%{opacity:0}to{opacity:1}}.codex{grid-template-columns:1fr 1fr;height:100%;display:grid;position:relative}.codex:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000,#2b26222e 45%,#2b262247 50%,#2b26222e 55%,#0000);width:60px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.page{flex-direction:column;min-height:0;padding:40px 48px 36px;display:flex;position:relative;overflow:hidden}.page.left{border-right:1px solid #2b262226}.page .head{border-bottom:1.5px solid var(--madder);justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-bottom:6px;display:flex}.page .head .t{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--madder);font-size:20px;font-weight:700}.page .head .n{font-family:var(--display);color:var(--bone-soft);font-size:16px;font-style:italic}.page .scroll{scrollbar-width:thin;scrollbar-color:var(--gold) transparent;flex:1;min-height:0;padding-right:8px;overflow:auto}.ribbons{z-index:6;gap:14px;display:flex;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.ribbon{cursor:pointer;width:44px;height:92px;transition:transform .2s;position:relative;transform:translateY(-38px)}.ribbon:hover,.ribbon.on{transform:translateY(-10px)}.ribbon .silk{clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset -6px 0 10px #0003}.ribbon .lbl{transform-origin:50%;font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--lead);white-space:nowrap;font-size:12px;font-weight:700;position:absolute;top:14px;left:50%;transform:translate(-50%)rotate(90deg)}.ribbon.catechism .silk{background:var(--madder)}.ribbon.scripture .silk{background:var(--azurite)}.ribbon.art .silk{background:var(--tyrian)}.ribbon.self .silk{background:var(--malachite)}.ribbon.journal .silk{background:var(--sienna)}.entries{margin:0;padding:0;list-style:none}.entries li{cursor:pointer;border-bottom:1px dotted #2b262240;align-items:baseline;gap:10px;padding:6px 4px;font-size:17px;display:flex}.entries li:hover{background:#b8975a24}.entries li.on{background:#b8975a38}.entries li .num{font-family:var(--display);color:var(--madder);letter-spacing:.04em;min-width:64px;font-weight:700}.entries li .gilt{background:radial-gradient(circle at 35% 35%, var(--gold-hi), var(--gold-deep));width:10px;height:10px;box-shadow:0 0 4px var(--gold-hi);border-radius:50%;margin-left:auto}.search{align-items:center;gap:8px;margin-bottom:10px;display:flex}.search input{font:17px var(--reader);border:1.5px solid var(--bone-soft);background:var(--lead);color:var(--bone);outline:none;flex:1;padding:6px 10px}.search input:focus{border-color:var(--gold)}.empty{color:var(--bone-soft);padding:12px 4px;font-style:italic}.reader{font-family:var(--reader);color:var(--bone);font-size:21px;line-height:1.55}.reader .rub{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--madder);justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:18px;font-weight:700;display:flex}.reader .rub .src{letter-spacing:.08em;color:var(--bone-soft);text-transform:none;font-size:13px;font-style:italic;font-weight:500}.reader .initial{float:left;font-family:var(--display);color:var(--madder);padding:8px 10px 0 0;font-size:74px;font-weight:700;line-height:.78}.reader .initial.blue{color:var(--azurite)}.reader .s{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath d='M4 26 L16 10 L20 14 L8 28 Z' fill='%23D4B26A' stroke='%232B2622' stroke-width='1.5'/%3E%3Cpath d='M16 10 L22 2 L28 8 L20 14 Z' fill='%23B8975A' stroke='%232B2622' stroke-width='1.5'/%3E%3C/svg%3E") 4 26,pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px;padding:1px 0;transition:background .2s}.reader .s:hover{background:#d4b26a38}.reader .s.sel{box-shadow:0 1px 0 var(--gold-deep);background:linear-gradient(90deg,#d4b26a8c,#b8975abf,#d4b26a8c) 0 0/200% 100%;animation:2.4s linear infinite shimmer}.reader .s.ok{box-shadow:0 1px 0 var(--gold-deep);background:linear-gradient(90deg,#d4b26abf,#b8975ad9)}.reader .s.bad{text-decoration:line-through;-webkit-text-decoration-color:var(--bole);text-decoration-color:var(--bole);background:#9b4a3459}.reader .s.flake{animation:.7s forwards flake}.reader .v{display:inline}.reader .v .vn{font-family:var(--display);color:var(--madder);vertical-align:super;margin-right:3px;font-size:12px;font-weight:700}.reader.static .s{cursor:default}.reader.static .s:hover{background:0 0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes flake{0%{background:#b8975acc}60%{background:#9b4a3480}to{background:#9b4a3440}}.reader .xref{color:var(--bone-soft);margin-top:12px;font-size:15px;font-style:italic}.reader .xref a,.reader .xref button{color:var(--azurite);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);cursor:pointer;font:inherit;margin-right:8px}.notice{color:var(--bone-soft);margin-top:14px;font-size:12px;font-style:italic;line-height:1.3}.gloss{border-bottom:1px dotted var(--azurite);cursor:help;position:relative}.artgrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.artcard{cursor:pointer;border:1.5px solid var(--bone);background:var(--lead);box-shadow:2px 2px 0 var(--gold);padding:6px;transition:transform .15s}.artcard:hover{transform:translateY(-2px)}.artcard img{object-fit:cover;border:1px solid var(--bone-soft);width:100%;height:130px;display:block}.artcard .cap{font-family:var(--display);margin-top:6px;font-size:15px;line-height:1.2}.artcard .cap i{color:var(--bone-soft)}.artview{flex-direction:column;height:100%;display:flex;position:relative}.frame-art{border:8px solid var(--gold-deep);outline:1.5px solid var(--bone);background:var(--ash-deep);cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Ccircle cx='14' cy='14' r='9' fill='rgba(241,235,221,0.5)' stroke='%232B2622' stroke-width='2'/%3E%3Cpath d='M21 21 L31 31' stroke='%232B2622' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M9 12 Q12 8 16 10' stroke='%23F1EBDD' stroke-width='2' fill='none'/%3E%3C/svg%3E") 14 14,zoom-in;touch-action:none;background-image:radial-gradient(#f1ebdd0f,#0000 70%);flex:1;min-height:0;position:relative;overflow:hidden}.frame-art:active{cursor:grabbing}.artcanvas{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.artcanvas>img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;image-rendering:auto;display:block}.ztools{border:1.5px solid var(--bone);box-shadow:2px 2px 0 var(--gold);cursor:default;background:#e9dfc7eb;align-items:center;gap:6px;padding:5px 8px;display:flex;position:absolute;bottom:10px;right:10px}.ztools .zb{width:30px;height:30px;font-family:var(--display);color:var(--bone);border:1.5px solid var(--bone-soft);background:var(--lead);cursor:pointer;place-items:center;font-size:20px;font-weight:700;line-height:1;display:grid}.ztools .zb.fit{letter-spacing:.1em;text-transform:uppercase;width:auto;padding:0 10px;font-size:13px}.ztools .zb:hover{border-color:var(--gold);background:var(--gesso)}.ztools .zb:disabled{opacity:.4;cursor:default}.ztools .zr{text-align:center;min-width:48px;font-family:var(--display);letter-spacing:.06em;color:var(--bone-soft);font-size:14px}.artview .credit{color:var(--bone-soft);margin-top:8px;font-size:13px;line-height:1.3}.selfpage .row{align-items:center;gap:14px;margin:10px 0;display:flex}.selfpage .big{font-family:var(--hand-player);font-size:30px}.selfpage dl{grid-template-columns:140px 1fr;gap:6px 12px;font-size:17px;display:grid}.selfpage dt{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--bone-soft);font-size:13px;font-weight:700}.selfpage .ab{grid-template-columns:40px 1fr;align-items:start;gap:10px;margin:8px 0;font-size:16px;display:grid}.journal .note{font-family:var(--hand-player);border-bottom:1px dotted #2b26224d;padding:8px 0;font-size:19px;line-height:1.4}.journal .note small{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--madder);font-size:12px;display:block}.setrow{border-bottom:1px dotted #2b26224d;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:17px;display:flex}.toggle{border:1.5px solid var(--bone);background:var(--lead);cursor:pointer;width:54px;height:28px;position:relative}.toggle:after{content:"";background:var(--bone-soft);width:20px;height:20px;transition:left .15s,background .15s;position:absolute;top:3px;left:3px}.toggle.on:after{background:var(--madder);left:29px}.selfpage .tie{border-left:3px solid var(--gold);margin:6px 0;padding:6px 0 6px 14px;font-size:16px;line-height:1.35}.enc .intro{color:var(--bone);max-width:1100px;margin:4px 0 0;font-size:19px;line-height:1.45}.enc .intro em{color:var(--madder);font-style:normal;font-weight:600}.sheet.wide{width:1560px;height:862px}.sheet.wide .enc{gap:10px;padding:20px 26px 18px}.sheet.wide .enc .title{font-size:24px}.sheet.wide .enc .subtitle{font-size:17px}.visio{grid-template-columns:1fr 320px;gap:18px;height:100%;min-height:0;display:grid}.visio.focus{grid-template-columns:1fr 0;gap:0}.visio.focus .side{display:none}.visio .artview{height:100%;min-height:0}.visio .side{flex-direction:column;gap:10px;min-height:0;padding-right:6px;display:flex;overflow:auto}.visio .side .intro{margin:0;font-size:17px;line-height:1.4}.visio .found{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--bone-soft);font-size:14px}.visio .target{transform-origin:50%;width:52px;height:52px;cursor:inherit;pointer-events:auto;background:0 0;border:2px solid #0000;border-radius:50%;transition:border-color .16s,box-shadow .16s;position:absolute;transform:translate(-50%,-50%)}.visio .target:hover{border-color:var(--gold-hi);box-shadow:0 0 24px #d4b26a8c,inset 0 0 12px #d4b26a40}.visio .target:focus-visible{border-color:var(--gold-hi);box-shadow:0 0 24px #d4b26a8c,inset 0 0 12px #d4b26a40}.visio .target.shown{border-style:dashed;border-color:#d4b26ae6;box-shadow:0 0 16px #d4b26a59}.visio .target.found{border-color:var(--gold-hi);cursor:default;box-shadow:none;background:radial-gradient(circle,#d4b26a52,#0000 70%);border-style:solid}.visio .target.found:after{content:"";background:var(--gold-hi);box-shadow:0 0 0 2px var(--bone);border-radius:50%;position:absolute;top:16px;bottom:16px;left:16px;right:16px}.visio .target-guide{border:1px solid var(--gold-deep);background:#f2e8ce61;grid-template-columns:1fr 1fr;gap:6px;padding:9px;display:grid}.visio .target-guide>b{color:var(--madder);font:700 13px var(--display);letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1}.visio .target-key{border:1px solid var(--bone-soft);background:var(--lead);min-height:40px;color:var(--bone);font:14px/1.2 var(--reader);cursor:pointer;padding:5px 7px}.visio .target-key:hover{border-color:var(--madder)}.visio .target-key:focus-visible{border-color:var(--madder)}.visio .target-key.found{color:var(--bone-soft);border-color:var(--gold);text-decoration:line-through}.visio .note-card{background:var(--lead);border:1.5px solid var(--bone);box-shadow:2px 2px 0 var(--gold);padding:12px 14px;font-size:16px;line-height:1.4;animation:.3s both gloss-in}.visio .note-card b{font-family:var(--display);color:var(--madder);letter-spacing:.06em}.visio .qa{border-top:1.5px solid var(--madder);padding-top:10px}.visio .qa .q{margin-bottom:8px;font-size:18px;font-weight:600}.visio .qa .choice{font-family:var(--reader);font-size:16px}.visio .why{color:var(--bone-soft);margin-top:6px;font-size:15px;font-style:italic}.enc .foot .tuck{margin-right:auto}.bridge{height:100%;position:relative}.bridge .spans{grid-template-columns:repeat(4,1fr) 190px;align-items:start;gap:14px;display:grid;position:absolute;top:0;left:0;right:0}.bridge .pillar{background:var(--lead);border:1.5px solid var(--bone);box-shadow:2px 2px 0 var(--gold);text-align:center;cursor:pointer;padding:8px;transition:transform .15s}.bridge .pillar:hover{transform:translateY(-2px)}.bridge .pillar img{object-fit:cover;border:1px solid var(--bone-soft);filter:saturate(.2)brightness(.8);width:100%;height:120px;transition:filter .6s;display:block}.bridge .pillar.built img{filter:none}.bridge .pillar.active{outline:2px solid var(--gold)}.bridge .pillar .pl{font-family:var(--display);margin-top:6px;font-size:15px;font-weight:600;line-height:1.2}.bridge .pillar .state{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--bone-soft);font-size:12px}.bridge .pillar.built .state{color:var(--malachite)}.bridge .fontcol{place-items:center;height:100%;display:grid}.bridge .work{grid-template-columns:1fr 1fr;gap:20px;display:grid;position:absolute;top:235px;bottom:0;left:0;right:0}.bridge .work.withplate{grid-template-columns:460px 1fr 1fr}.bridge .work.review{grid-template-columns:700px 1fr}.bridge .plate{flex-direction:column;min-height:0;display:flex}.bridge .plate .artview{flex:1;min-height:0}.bridge .platecredit{color:var(--bone-soft);margin-top:6px;font-size:12px;line-height:1.3}.bridge .blessing{font-family:var(--reader);color:var(--bone);font-size:17px;font-style:italic;line-height:1.45}.bridge .joinedby{font-family:var(--display);letter-spacing:.04em;color:var(--malachite);margin-top:10px;font-size:14px}.bridge .col h4{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--madder);border-bottom:1.5px solid var(--madder);margin:0 0 8px;padding-bottom:4px;font-size:15px;font-weight:700}.bridge .opt{text-align:left;border:1.5px solid var(--bone-soft);cursor:pointer;background:#f1ebdd99;width:100%;margin-bottom:8px;padding:8px 10px;font-size:15px;line-height:1.35;transition:all .15s;display:block}.bridge .opt b{font-family:var(--display);color:var(--madder)}.bridge .opt:hover{border-color:var(--gold)}.bridge .opt.on{border-color:var(--madder);background:var(--lead);box-shadow:2px 2px 0 var(--gold)}.bridge .opt.bad{border-color:var(--bole);background:#9b4a341f}.bridge .opt.ok{border-color:var(--malachite);background:#4e8a6a26}.bridge .col .scroll{max-height:100%;padding-right:6px;overflow:auto}.bridge .arc{pointer-events:none;height:40px;position:absolute;top:190px;left:0;right:190px}.bridge .arc svg{width:100%;height:100%}.crucible{background:linear-gradient(#0000 0 55%,#785a3c1f 55% 100%);height:100%;position:relative}.crucible .slab{background:linear-gradient(180deg, var(--stone,#c9bfa8), #a89c82);border:1.5px solid var(--bone);height:210px;box-shadow:inset 0 0 0 6px #f1ebdd59, 4px 6px 0 var(--bone-soft);position:absolute;top:0;left:0;right:0}.crucible .slab .drop{width:160px;height:120px}.crucible .tray{flex-wrap:wrap;align-content:flex-start;gap:10px;padding:4px 4px 6px;display:flex;position:absolute;top:224px;bottom:0;left:0;right:0;overflow-y:auto}.crucible .tray .card{flex:none;position:relative}.crucible .card svg{width:46px;height:46px;margin-bottom:4px}.crucible .font-mini{width:150px;height:188px;position:absolute;top:10px;right:12px}.rite{grid-template-columns:1fr 1fr;gap:24px;height:100%;display:grid}.rite .col h4{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--madder);border-bottom:1.5px solid var(--madder);margin:0 0 10px;padding-bottom:4px;font-size:15px;font-weight:700}.rite .slotlist{gap:8px;display:grid}.rite .slotlist .drop{height:56px;position:relative}.rite .pool{height:100%;position:relative}.rite .card{text-align:left;width:100%;margin-bottom:8px;padding:8px 12px;position:relative}.rite .card.placed{align-items:center;width:100%;height:100%;margin:0;padding:6px 12px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.rite .card .cname{font-size:17px}.rite .card .csub{font-size:13px}.rite .ordnum{font-family:var(--display);color:var(--madder);font-weight:700;position:absolute;top:50%;left:-34px;transform:translateY(-50%)}.disp{grid-template-columns:560px 1fr;gap:24px;height:100%;min-height:0;display:grid}.disp .left{flex-direction:column;gap:12px;min-height:0;padding-right:6px;display:flex;overflow:auto}.disp .challenge{grid-template-columns:90px 1fr;align-items:start;gap:12px;display:grid}.disp .challenge .portrait{border:2.5px solid var(--gold);border-radius:50%;width:84px;height:84px;overflow:hidden}.disp .challenge .portrait svg{width:100%;height:100%}.disp .challenge .text{font-size:21px;line-height:1.35}.disp .challenge .who{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--madder);font-size:14px;font-weight:700}.disp .step{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--bone-soft);border-bottom:1.5px solid var(--madder);padding-bottom:4px;font-size:14px;font-weight:700}.disp .props .choice{font-family:var(--reader);font-size:17px}.disp .right{flex-direction:column;min-height:0;display:flex}.disp .tabs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.disp .tab{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--bone-soft);cursor:pointer;background:#f1ebdd99;padding:4px 10px;font-size:13px;font-weight:700}.disp .tab.on{border-color:var(--madder);background:var(--lead);box-shadow:2px 2px 0 var(--gold)}.disp .tab.scr{border-style:dashed}.disp .readerbox{border:1.5px solid var(--bone-soft);background:#f1ebdd80;flex:1;min-height:0;padding:4px 8px 4px 0;overflow:auto}.disp .readerbox .reader{padding:10px 14px;font-size:19px}.disp .cite{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.disp .cite .sel{color:var(--bone-soft);flex:1;font-size:15px;font-style:italic}.disp .reply{background:var(--lead);border:1.5px solid var(--bone);box-shadow:2px 2px 0 var(--gold);padding:10px 14px;font-size:17px;line-height:1.4;animation:.3s both gloss-in}.disp .reply.good{border-color:var(--malachite)}.disp .reply.warn{border-color:var(--bole)}.disp textarea{width:100%;height:130px;font:20px var(--hand-player);color:var(--bone);border:1.5px solid var(--bone-soft);resize:none;background:#f1ebdd99;outline:none;padding:10px 12px;line-height:1.45}.disp textarea:focus{border-color:var(--gold)}.disp .progress{gap:8px;display:flex}.disp .progress span{border:1.5px solid var(--bone);background:0 0;border-radius:50%;width:14px;height:14px}.disp .progress span.on{background:var(--gold)}.disp .progress span.cur{box-shadow:0 0 0 2px var(--gesso), 0 0 0 3.5px var(--madder)}.cbuild{grid-template-columns:1fr 1fr 300px;gap:18px;height:100%;min-height:0;display:grid}.cbuild.single{grid-template-columns:1fr 340px}.cbuild .cpage{border:1.5px solid var(--bone);background:#f1ebdd80;padding:14px 16px;position:relative;overflow:auto}.cbuild .cpage h4{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--madder);border-bottom:1.5px solid var(--madder);margin:0 0 10px;padding-bottom:4px;font-size:15px;font-weight:700}.cbuild .cslot{margin-bottom:8px;position:relative}.cbuild .cslot .lab{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--bone-soft);margin-bottom:2px;font-size:12px}.cbuild .cslot .drop{height:auto;min-height:46px;padding:4px;position:relative}.cbuild .cslot .drop .card{text-align:left;cursor:default;width:100%;padding:6px 10px;position:relative}.cbuild .cslot.crack .drop{border-color:var(--bole);background:#9b4a341f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cpath d='M0 30 l20 -8 15 12 18 -16 20 10 22 -14 25 12' fill='none' stroke='%239B4A34' stroke-width='1.5'/%3E%3C/svg%3E")}.cbuild .pool{position:relative;overflow:auto}.cbuild .pool .card{text-align:left;width:100%;margin-bottom:8px;padding:8px 10px;position:relative}.cbuild .card .cname{font-size:15px;font-family:var(--reader);font-weight:500}.panelv{grid-template-columns:1fr 480px;gap:24px;height:100%;min-height:0;display:grid}.panelv .art{border:10px solid var(--gold-deep);outline:1.5px solid var(--bone);background:var(--ash-deep);position:relative;overflow:hidden}.panelv .art img{max-width:none;position:absolute;top:0;left:0}.panelv .art .ashen{filter:saturate(0)brightness(.6)contrast(.85)}.panelv .art .lit{clip-path:circle(0% at 50% 60%);transition:clip-path 4s cubic-bezier(.2,.8,.2,1)}.panelv .art.reveal .lit{clip-path:circle(120% at 50% 60%)}.panelv .art .leaf{mix-blend-mode:soft-light;opacity:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.83 0 0 0 0 0.7 0 0 0 0 0.42 0 0 0 0.35 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");transition:opacity 3s;position:absolute;top:0;bottom:0;left:0;right:0}.panelv .art.reveal .leaf{opacity:1}.panelv .side{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:auto}.panelv textarea{width:100%;height:150px;font:19px var(--hand-player);color:var(--bone);border:1.5px solid var(--bone-soft);resize:none;background:#f1ebdd99;outline:none;padding:10px 12px;line-height:1.45}.panelv .sending{border-top:1.5px solid var(--madder);padding-top:8px}.panelv .sending .choice{font-family:var(--reader);font-size:16px}.drop .card{text-transform:none;letter-spacing:normal;font-family:var(--reader);color:var(--bone)}.drop .card .cname{font-family:var(--display);font-size:14px;line-height:1.1}.drop .card .csub{display:none}.drop .card svg{width:40px;height:40px;margin-bottom:2px}.crucible .slab{z-index:2}.crucible .tray{z-index:1}.crucible .slab .drop .card{z-index:3;width:150px;padding:6px 6px 8px;position:absolute;top:4px;left:4px}.crucible .card.placement-selected{z-index:25;outline:3px solid var(--gold-hi);outline-offset:3px;box-shadow:0 0 0 5px #d8b96838, 4px 6px 0 var(--gold)}.letter-sheet .enc{grid-template-rows:auto 1fr auto}.letter{grid-template-columns:1fr 1fr;gap:28px;height:100%;min-height:0;display:grid}.letter .fold{min-height:0;padding:6px 4px;position:relative;overflow:auto}.letter .page-in{background:var(--lead);border:1.5px solid var(--bone);box-shadow:3px 4px 0 var(--gold-deep);background-image:repeating-linear-gradient(#0000 0 33px,#2b262214 33px 34px);background-position:0 24px;padding:28px 30px 22px;transform:rotate(-.6deg)}.letter .page-in p{margin:0 0 12px;line-height:34px}.letter .page-in.hand-child{font:21px var(--hand-rough);color:var(--azurite-deep)}.letter .page-in.hand-father{font:22px var(--hand-print);color:var(--bone)}.letter .page-in.hand-player{font:24px var(--hand-player);color:var(--bone)}.letter .page-in .ps{color:var(--bone-soft);margin-top:20px;font-size:.92em}.letter .page-out{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:auto}.letter .step{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--bone-soft);border-bottom:1.5px solid var(--madder);padding-bottom:4px;font-size:14px;font-weight:700}.letter .choices .choice{font-family:var(--hand-player);font-size:22px}.letter .opening{font:24px var(--hand-player);color:var(--bone);border-left:3px solid var(--gold);padding:6px 10px;display:none}.letter .opening.on{display:block}.letter textarea{width:100%;min-height:220px;font:24px/1.45 var(--hand-player);color:var(--bone);border:1.5px solid var(--bone-soft);resize:none;background:#f1ebdd99 repeating-linear-gradient(#0000 0 34px,#2b262214 34px 35px) 0 12px;outline:none;flex:1;padding:12px 14px}.letter textarea:focus{border-color:var(--gold)}:root[data-dyslexia="1"] .letter .page-in,:root[data-dyslexia="1"] .letter textarea{font-family:var(--reader)}
