:root{--ink:#2b2118;--parchment:#f4e7cf;--gold:#b8862f;--gold-lit:#f0c460;--green:#9fd98a;--panel:rgba(40,30,21,0.94);--panel-top:rgba(62,47,33,0.95);--display:"Cinzel","Palatino Linotype",Georgia,serif;--body:"EB Garamond","Palatino Linotype",Georgia,serif;--ui:1;--fs-cap:calc(11px * var(--ui));--fs-xs:calc(13px * var(--ui));--fs-sm:calc(15px * var(--ui));--fs-md:calc(18px * var(--ui));--fs-lg:calc(21px * var(--ui));--sp-1:calc(5px * var(--ui));--sp-2:calc(9px * var(--ui));--sp-3:calc(14px * var(--ui));--sp-4:calc(20px * var(--ui));--r:calc(11px * var(--ui));--r-sm:calc(7px * var(--ui));--app-h:100%;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--edge:calc(11px * var(--ui));--pad:clamp(92px,26vmin,146px);--pad-x:calc(var(--safe-l) + 16px);--pad-y:calc(var(--safe-b) + 16px);--act:clamp(52px,14vmin,76px);--act-sm:max(44px,calc(var(--act) * 0.78));--act-x:calc(var(--safe-r) + 16px);--act-y:calc(var(--safe-b) + 18px)}@supports (height:100dvh){:root{--app-h:100dvh}}*{box-sizing:border-box}body.pj-playing,html.pj-playing{margin:0;height:100%;overflow:hidden;background:#1a1410;font-family:var(--body);color:var(--parchment);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body.pj-game{position:fixed;inset:0;width:100%}#stage{position:fixed;left:0;right:0;top:0;height:var(--app-h);z-index:0}canvas{display:block;width:100%;height:100%;image-rendering:pixelated}#vignette{position:fixed;left:0;right:0;top:0;height:var(--app-h);z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,rgba(0,0,0,0) 40%,rgba(0,0,0,.26) 78%,rgba(0,0,0,.5) 100%)}.hidden{display:none!important}.btn{background:linear-gradient(180deg,var(--gold-lit),var(--gold));color:#241a10;border:none;border-radius:var(--r-sm);padding:calc(10px * var(--ui)) calc(18px * var(--ui));font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.06em;cursor:pointer;box-shadow:0 3px 0 #7d5a1c,inset 0 1px 0 rgba(255,255,255,.32);min-height:44px;transition:transform .08s,box-shadow .08s,background .15s}.btn:active{transform:translateY(2px);box-shadow:0 1px 0 #7d5a1c}.btn.ghost{background:rgba(244,231,207,.05);color:var(--parchment);border:2px solid var(--gold);box-shadow:inset 0 1px 0 rgba(240,196,96,.14)}.btn.ghost:hover{background:rgba(184,134,47,.24)}.btn.quiet{border-color:rgba(184,134,47,.5);opacity:.82}.btn:disabled{opacity:.35;cursor:default;box-shadow:none}#choices button:focus-visible,.abtn:focus-visible,.btn:focus-visible,.iconbtn:focus-visible,.opts button:focus-visible{outline:3px solid var(--gold-lit);outline-offset:2px}.panel{background:var(--panel);border:2px solid var(--gold);border-radius:var(--r);box-shadow:0 8px 0 rgba(0,0,0,.32),0 14px 34px rgba(0,0,0,.5);position:relative}.panel:before{content:"";position:absolute;inset:4px;pointer-events:none;border:1px solid rgba(240,196,96,.18);border-radius:calc(var(--r) - 4px)}.cap{font-family:var(--display);font-size:var(--fs-cap);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lit)}.rule{height:1px;background:var(--gold);opacity:.35;margin:var(--sp-3) 0}.scrim{position:fixed;left:0;right:0;top:0;height:var(--app-h);z-index:60;align-items:center;justify-content:center;padding:calc(var(--safe-t) + var(--sp-3)) calc(var(--safe-r) + var(--sp-3)) calc(var(--safe-b) + var(--sp-3)) calc(var(--safe-l) + var(--sp-3));background:rgba(10,7,4,.74);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overscroll-behavior:contain}.plate,.scrim{display:flex;overflow-y:auto}.plate{width:min(420px,100%);max-height:100%;padding:var(--sp-4) var(--sp-3);flex-direction:column;gap:var(--sp-3);text-align:center}.plate h2{margin:0;font-family:var(--display);font-size:var(--fs-lg);font-weight:700;letter-spacing:.03em;text-wrap:balance}.plate p{margin:0;font-size:var(--fs-sm);line-height:1.55}.plate p b{color:var(--gold-lit)}.plate-menu{display:flex;flex-direction:column;gap:var(--sp-2)}#hud{position:fixed;z-index:20;top:calc(var(--safe-t) + var(--edge));left:calc(var(--safe-l) + var(--edge));right:calc(var(--safe-r) + var(--edge));justify-content:space-between;pointer-events:none}#hud,#hudRight{gap:var(--sp-2)}#hud,#hudLeft,#hudRight{display:flex;align-items:flex-start}#hudLeft{gap:var(--sp-1)}#hudLeft,#miniBox{flex-direction:column}#miniBox{--mini:clamp(96px,27vmin,calc(156px * var(--ui)));display:flex;align-items:center;gap:calc(4px * var(--ui));width:var(--mini)}#miniMap{pointer-events:auto;position:relative;width:var(--mini);height:var(--mini);padding:0;border-radius:50%;border:calc(3px * var(--ui)) solid var(--gold);background:#16110c;cursor:pointer;box-shadow:0 3px 0 rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.65),0 6px 18px rgba(0,0,0,.4);transition:transform .12s,border-color .15s}#miniMap:hover{border-color:var(--gold-lit)}#miniMap:active{transform:scale(.97)}#miniMap:focus-visible{outline:3px solid var(--gold-lit);outline-offset:3px}#miniCanvas,.miniN{border-radius:50%}.miniN{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);width:calc(19px * var(--ui));height:calc(19px * var(--ui));min-width:16px;min-height:16px;display:grid;place-items:center;background:#1d1610;border:1px solid var(--gold);color:var(--gold-lit);font-family:var(--display);font-weight:700;font-size:calc(11px * var(--ui));line-height:1;pointer-events:none}#miniTally{display:flex;gap:var(--sp-2);justify-content:center;padding:calc(2px * var(--ui)) calc(10px * var(--ui));background:rgba(16,12,8,.82);border:1px solid rgba(240,196,96,.45);border-radius:999px;font:600 var(--fs-cap)/1.45 ui-monospace,Menlo,Consolas,monospace;white-space:nowrap}#miniStones{color:var(--gold-lit)}#miniSpirits{color:#b083c8}#miniCaves{color:#c9b8a0}#miniRelics{color:#ffd77a}#miniRosaries{color:#9fd3e8}#miniTreasures{color:#e8a36a}#chapelList .chest-head{grid-column:1/-1;margin:var(--sp-2) 0 0;font-family:var(--display);color:var(--gold-lit);text-align:center}#chapelList .treasure.missing img{filter:grayscale(1) brightness(.28)}#miniTally{flex-wrap:wrap;row-gap:0}#miniTally>span{white-space:nowrap}#miniTally{cursor:pointer;pointer-events:auto}#miniTally.worded{flex-direction:column;align-items:flex-start;border-radius:12px;padding:calc(4px * var(--ui)) calc(12px * var(--ui))}#bigMapPlate{width:min(1180px,100%);max-height:100%;flex-direction:column;padding:var(--sp-3)}#bigMapHead,#bigMapPlate{display:flex;gap:var(--sp-2)}#bigMapHead{align-items:center;justify-content:space-between}#bigMapHead h2{margin:0;font-family:var(--display);font-size:var(--fs-lg);letter-spacing:.04em;color:var(--gold-lit)}#bigMapFrame{display:grid;place-items:center}#bigMapCanvas{width:auto;height:auto;border:2px solid rgba(240,196,96,.55);border-radius:var(--r-sm);box-shadow:0 0 0 1px rgba(0,0,0,.6)}#bigMapKey{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-1) var(--sp-3);font-size:var(--fs-xs)}#bigMapKey span:before{content:"";display:inline-block;vertical-align:middle;width:.8em;height:.8em;margin-right:.4em;border-radius:2px}#bigMapKey .k-you:before{background:#e03028;border:2px solid #fff;border-radius:50%}#bigMapKey .k-story:before{background:#ffd460;border:1px solid #6b4a22}#bigMapKey .k-mist:before{background:#d6dde8}#bigMapKey .k-mark:before{background:#16a3a6;border:2px solid #fff;border-radius:50%}#bigMapCanvas{cursor:crosshair}#bigMapStones{color:var(--gold-lit)}#bigMapSpirits,#bigMapStones{font-family:ui-monospace,Menlo,Consolas,monospace}#bigMapSpirits{color:#b083c8}#bigMapFinds{color:#e8d9b8;font-family:ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;text-align:center}#bigMapFinds:before,#bigMapSpirits:before,#bigMapStones:before{display:none!important}.badge{background:linear-gradient(180deg,var(--panel-top),var(--panel));border:1px solid var(--gold);border-radius:var(--r-sm);padding:calc(6px * var(--ui)) calc(11px * var(--ui));font-size:var(--fs-xs);line-height:1.25;box-shadow:0 2px 0 rgba(0,0,0,.45),inset 0 1px 0 rgba(240,196,96,.26);min-width:calc(94px * var(--ui))}.badge b{color:var(--gold-lit);font-family:var(--display);font-size:var(--fs-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge .sub{opacity:.7;font-size:var(--fs-cap);display:block;font-style:italic}#progBadge{text-align:right}.meter{display:block;height:calc(3px * var(--ui));min-height:2px;margin-top:calc(4px * var(--ui));background:rgba(0,0,0,.5);border-radius:99px;overflow:hidden}.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-lit));transition:width .45s ease}.meter.stone i{background:linear-gradient(90deg,#6f8f5f,var(--green))}.iconbtn{pointer-events:auto;width:calc(40px * var(--ui));height:calc(40px * var(--ui));min-width:44px;min-height:44px;border-radius:var(--r-sm);background:linear-gradient(180deg,var(--panel-top),var(--panel));border:1px solid var(--gold);box-shadow:0 2px 0 rgba(0,0,0,.45),inset 0 1px 0 rgba(240,196,96,.26);color:var(--gold-lit);font-size:calc(17px * var(--ui));line-height:1;cursor:pointer;display:grid;place-items:center}.iconbtn:active{transform:translateY(2px);box-shadow:0 0 0 rgba(0,0,0,.45)}#placeName{position:fixed;z-index:19;top:calc(var(--safe-t) + var(--edge) + calc(58px * var(--ui)));left:50%;transform:translateX(-50%);text-align:center;font-family:var(--display);font-size:var(--fs-cap);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lit);background:rgba(26,20,16,.78);border-radius:999px;padding:calc(4px * var(--ui)) calc(15px * var(--ui));white-space:nowrap;pointer-events:none;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis;transition:opacity .25s}body.pj-toasting #placeName{opacity:0}#prompt{position:fixed;z-index:25;left:50%;bottom:calc(var(--safe-b) + calc(24px * var(--ui)));transform:translateX(-50%);background:var(--panel);border:2px solid var(--gold);border-radius:var(--r-sm);padding:calc(7px * var(--ui)) calc(15px * var(--ui));font-size:var(--fs-xs);white-space:nowrap;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis;display:none;pointer-events:none;animation:bob 1.4s ease-in-out infinite}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-4px)}}body.touch #prompt{bottom:calc(var(--pad-y) + var(--pad) + 14px)}@media (orientation:landscape){body.touch #prompt{bottom:calc(var(--safe-b) + 18px)}}#toast{position:fixed;z-index:30;left:50%;top:calc(var(--safe-t) + var(--edge) + calc(58px * var(--ui)));transform:translateX(-50%) translateY(-6px);background:rgba(26,20,16,.96);border:2px solid var(--gold-lit);border-radius:var(--r-sm);padding:calc(7px * var(--ui)) calc(15px * var(--ui));font-family:var(--display);font-size:var(--fs-xs);letter-spacing:.05em;color:var(--gold-lit);white-space:nowrap;opacity:0;transition:opacity .35s,transform .35s;pointer-events:none}#toast.show{opacity:1;transform:translateX(-50%) translateY(6px)}#dialogue,#quiz{position:fixed;z-index:40;left:calc(var(--safe-l) + var(--edge));right:calc(var(--safe-r) + var(--edge));bottom:calc(var(--safe-b) + var(--edge));max-width:760px;margin:0 auto;padding:var(--sp-3);display:none}#quiz{max-height:calc(var(--app-h) - var(--safe-t) - calc(70px * var(--ui)));overflow-y:auto;overscroll-behavior:contain}#speaker{color:var(--gold-lit);font-family:var(--display);font-weight:700;font-size:var(--fs-xs);margin-bottom:var(--sp-1);letter-spacing:.07em;text-transform:uppercase}#line{font-size:var(--fs-md);line-height:1.5;min-height:3em;max-width:62ch}#choices{display:none;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3)}#choices button,.opts button{background:rgba(244,231,207,.05);border:2px solid var(--gold);border-radius:var(--r-sm);color:var(--parchment);font-family:var(--body);font-size:var(--fs-sm);text-align:left;padding:calc(10px * var(--ui)) calc(13px * var(--ui));cursor:pointer;line-height:1.4;min-height:44px;transition:background .12s,border-color .12s}#choices button:focus-visible,#choices button:hover,.opts button:focus-visible,.opts button:hover{background:rgba(184,134,47,.28);outline:none}#dlgFoot{margin-top:var(--sp-3);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2)}#dlgHint{font-size:var(--fs-cap);opacity:.6;font-style:italic}#quizTitle{color:var(--gold-lit);font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;margin-bottom:var(--sp-1)}#battle{display:flex;align-items:flex-end;justify-content:center;gap:var(--sp-3);position:-webkit-sticky;position:sticky;top:0;z-index:3;margin:0 calc(-1 * var(--sp-3));padding:var(--sp-2) var(--sp-3) var(--sp-1);background:var(--panel);box-shadow:0 6px 12px -6px rgba(0,0,0,.55);min-height:calc(104px * var(--ui))}#battle[hidden]{display:none}#battle .fighter{display:flex;flex-direction:column;align-items:center}#battle img{width:calc(108px * var(--ui));height:calc(108px * var(--ui));image-rendering:pixelated;transition:opacity .42s ease,transform .42s ease}#battleSpirit{transform:scaleX(-1)}#battleSpirit.gone{opacity:0;transform:scaleX(-1) translateY(-10px) scale(.86)}#battleSpirit.shrug{animation:shrug .46s ease}#battleName{font-size:calc(12px * var(--ui));letter-spacing:.08em;text-transform:uppercase;color:rgba(244,231,207,.5)}#battleSpirit.gone+#battleName{opacity:.25}#battleTaunt{font-size:var(--fs-sm);font-style:italic;color:rgba(244,231,207,.62);text-align:center;margin-bottom:var(--sp-2)}#battle[hidden]+#battleTaunt{display:none}#battleFlash{position:absolute;inset:calc(-12px * var(--ui));pointer-events:none;opacity:0;z-index:2;background:radial-gradient(circle at 70% 46%,rgba(255,255,255,1) 0,rgba(255,244,205,.95) 14%,rgba(240,196,96,.7) 30%,rgba(240,196,96,.15) 48%,transparent 66%)}#battleFlash:after{content:"";position:absolute;left:46%;top:4%;width:calc(76px * var(--ui));height:calc(104px * var(--ui));transform:rotate(18deg);background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.98) 50%,transparent 58%)}#battleFlash.hit{animation:strike-flash .56s cubic-bezier(.1,.7,.3,1)}@keyframes strike-flash{0%{opacity:0;transform:scale(.82)}12%{opacity:1;transform:scale(1.06)}38%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes shrug{0%,to{transform:scaleX(-1) translateY(0)}35%{transform:scaleX(-1) translateY(-5px) rotate(2deg)}70%{transform:scaleX(-1) translateY(0) rotate(-2deg)}}@media (max-height:560px){#battle{min-height:calc(74px * var(--ui));gap:var(--sp-2)}#battle img{width:calc(72px * var(--ui));height:calc(72px * var(--ui))}#battleName{font-size:calc(10px * var(--ui))}#battleTaunt{margin-bottom:var(--sp-1)}}@media (prefers-reduced-motion:reduce){#battleFlash.hit{animation:none;opacity:0}#battleSpirit.shrug{animation:none}#battle img{transition:none}}#quizSteps{display:flex;gap:var(--sp-1);margin:var(--sp-2) 0 0}#quizSteps .step{display:inline-flex;align-items:center;justify-content:center;width:calc(22px * var(--ui));height:calc(22px * var(--ui));border-radius:50%;border:2px solid rgba(240,196,96,.35);font-size:calc(11px * var(--ui));color:rgba(244,231,207,.55)}#quizSteps .step.now{border-color:var(--gold);color:var(--parchment)}#quizSteps .step.done{background:rgba(159,217,138,.22);border-color:#9fd98a;color:#9fd98a}#quizNext[hidden],#quizPrev[hidden],#quizSteps[hidden]{display:none}#quizPrompt{font-size:var(--fs-sm);line-height:1.5;max-width:62ch}.recite{font-size:var(--fs-md);line-height:2;margin:var(--sp-3) 0 var(--sp-1);max-width:60ch}.recite .gap{display:inline-block;min-width:calc(70px * var(--ui));border-bottom:2px dotted var(--gold);text-align:center;color:var(--gold-lit)}.recite .gap.now{background:rgba(184,134,47,.22);border-bottom-style:solid}.recite .gap.filled{border-bottom-color:rgba(244,231,207,.3);color:var(--parchment)}.seq{display:flex;flex-direction:column;gap:var(--sp-1);margin:var(--sp-3) 0 var(--sp-1)}.seq .slot{display:flex;gap:var(--sp-2);align-items:baseline;border:2px dashed rgba(184,134,47,.45);border-radius:var(--r-sm);padding:calc(8px * var(--ui)) calc(11px * var(--ui));font-size:var(--fs-xs);min-height:calc(38px * var(--ui))}.seq .slot.done{border-style:solid;background:rgba(184,134,47,.16)}.seq .slot .n{font-family:var(--display);color:var(--gold-lit);font-size:var(--fs-cap);min-width:1.2em}.opts{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.opts button:disabled{opacity:.28;cursor:default}.opts.stack{flex-direction:column}.opts.stack button{width:100%}#quizFeedback{margin-top:var(--sp-2);font-size:var(--fs-sm);font-style:italic;min-height:1.5em}#quizFeedback.good{color:var(--green);font-style:normal}#quizFeedback.soft{color:var(--gold-lit)}#quizFoot{margin-top:var(--sp-3);display:flex;justify-content:space-between;gap:var(--sp-2)}#title{position:fixed;left:0;right:0;top:0;height:var(--app-h);z-index:55;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:calc(var(--safe-t) + var(--sp-4)) calc(var(--safe-r) + var(--sp-4)) calc(var(--safe-b) + var(--sp-4)) calc(var(--safe-l) + var(--sp-4));text-align:center;background-color:#1a1410;background-image:var(--title-scrim,radial-gradient(ellipse at 50% 42%,rgba(26,20,16,.32) 0,rgba(26,20,16,.88) 60%,rgba(26,20,16,.98) 100%)),var(--title-art,none);background-size:cover;background-position:var(--title-focus,50% 62%);background-repeat:no-repeat;overflow-y:auto;overscroll-behavior:contain}#title .eyebrow{font-size:var(--fs-cap);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}#title .eyebrow,#title h1{font-family:var(--display)}#title h1{font-weight:700;font-size:clamp(26px,7.5vmin,52px);margin:0;letter-spacing:.02em;color:var(--parchment);text-shadow:0 3px 14px rgba(0,0,0,.9);text-wrap:balance}#title .tagline{font-size:var(--fs-sm);font-style:italic;opacity:.85;max-width:34ch;margin:0;line-height:1.5}#pick{border:0;margin:var(--sp-2) 0 0;padding:0;text-align:center}#pick legend{font-size:calc(12px * var(--ui));letter-spacing:.08em;text-transform:uppercase;color:rgba(244,231,207,.45);padding:0 0 var(--sp-1)}#pickRow{display:flex;gap:var(--sp-2);justify-content:center}#pickRow button{display:flex;flex-direction:column;align-items:center;gap:calc(2px * var(--ui));background:transparent;border:2px solid transparent;border-radius:calc(8px * var(--ui));padding:calc(4px * var(--ui)) calc(10px * var(--ui));color:rgba(244,231,207,.55);font:inherit;font-size:calc(12px * var(--ui));cursor:pointer}#pickRow button img{width:calc(64px * var(--ui));height:calc(64px * var(--ui));image-rendering:pixelated;opacity:.45;transition:opacity .16s ease}#pickRow button[aria-pressed=true]{border-color:var(--gold);color:var(--parchment)}#pickRow button[aria-pressed=true] img{opacity:1}#pickRow button:focus-visible img,#pickRow button:hover img{opacity:.85}#pickRow{flex-wrap:wrap}#dyeRow{display:flex;gap:calc(8px * var(--ui));justify-content:center;margin-top:var(--sp-1)}#dyeRow button{width:calc(22px * var(--ui));height:calc(22px * var(--ui));border-radius:50%;border:2px solid rgba(244,231,207,.25);padding:0;cursor:pointer}#dyeRow button[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 2px rgba(0,0,0,.35)}#swordSlot{display:flex;align-items:center;gap:calc(6px * var(--ui))}#swordSlot img{width:calc(28px * var(--ui));height:calc(28px * var(--ui));image-rendering:pixelated}#swordSlot[hidden]{display:none}#cast{display:flex;gap:calc(3px * var(--ui));justify-content:center;align-items:flex-end;flex-wrap:wrap}#cast img{width:clamp(34px,9vmin,66px);height:clamp(34px,9vmin,66px);image-rendering:pixelated;filter:drop-shadow(0 3px 5px rgba(0,0,0,.65))}#menu{display:flex;flex-direction:column;gap:var(--sp-2);width:min(300px,84vw)}#menu .btn{padding:calc(12px * var(--ui)) calc(18px * var(--ui));font-size:var(--fs-sm)}#saveNote{font-size:var(--fs-cap);font-style:italic;opacity:.6;min-height:1.2em;max-width:38ch}#journey{margin-top:var(--sp-2)}#journeyMaps{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);align-items:end}.journeyHead{color:var(--gold);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;border-bottom:1px solid rgba(240,196,96,.3);padding:var(--sp-2) 0 4px}.journeyHead,.journeyLessons{grid-column:1/-1;text-align:left}.journeyLessons{display:grid;grid-template-columns:1fr;grid-gap:2px;gap:2px;margin:0 0 var(--sp-2)}.journeyLessons .jl{display:flex;gap:8px;align-items:baseline;font-size:var(--fs-xs);line-height:1.35;color:var(--muted);padding:2px 4px;border-radius:3px}.journeyLessons .jl b{flex:0 0 2.4em;text-align:right;font-weight:600}.journeyLessons .jl span{flex:1 1 auto;min-width:0}.journeyLessons .jl small{flex:0 0 auto;opacity:.8}.journeyLessons .jl.done{color:var(--parchment)}.journeyLessons .jl.done b:before{content:"\2713  ";color:#8fd18b}.journeyLessons .jl.now{color:var(--gold);background:rgba(240,196,96,.12);font-weight:600}.journeyLessons .jl.now b:before{content:"\25B6  "}.journeyLessons .jl.later{opacity:.45}#journeyMaps figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:calc(var(--sp-1) / 2)}#journeyMaps .shot{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#16202e;border:1px solid rgba(240,196,96,.28);border-radius:4px;overflow:hidden}#journeyMaps img{max-width:100%;max-height:100%;image-rendering:pixelated;opacity:.5;display:block}#journeyMaps figure.here .shot{border-color:rgba(240,196,96,.9)}#journeyMaps figure.here img{opacity:1}#journeyMaps figcaption{font-size:var(--fs-xs);line-height:1.25;color:var(--muted);text-align:center}#journeyMaps figure.here figcaption{color:var(--gold)}#journeyNote{font-size:var(--fs-xs);color:var(--muted);text-align:center;margin:var(--sp-2) 0 0}@media (max-width:520px){#journeyMaps{grid-template-columns:1fr 1fr}}#stories{margin-top:var(--sp-2)}#storiesList{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);max-height:52vh;overflow-y:auto;padding-right:4px}#storiesList button{display:flex;flex-direction:column;gap:4px;padding:0;background:none;border:0;color:var(--muted);font:inherit;font-size:var(--fs-xs);line-height:1.25;text-align:center;cursor:pointer}#storiesList img{width:100%;aspect-ratio:16/9;object-fit:cover;image-rendering:pixelated;border:1px solid rgba(240,196,96,.5);border-radius:4px;display:block}#storiesList button:focus-visible img,#storiesList button:hover img{border-color:var(--gold)}#storiesList button:focus-visible,#storiesList button:hover{color:var(--gold)}#storiesList .n{color:var(--gold);font-weight:600}#storiesList button[disabled]{cursor:default}#storiesList button[disabled] img{filter:grayscale(1) brightness(.35);border-color:rgba(240,196,96,.18)}#storiesList button[disabled] .n,#storiesNote{color:var(--muted)}#storiesNote{font-size:var(--fs-xs);text-align:center;margin:var(--sp-2) 0 0}@media (max-width:720px){#storiesList{grid-template-columns:repeat(3,1fr)}}@media (max-width:520px){#storiesList{grid-template-columns:1fr 1fr}}#chapel{margin-top:var(--sp-2)}#chapelRosaries{display:flex;align-items:center;justify-content:center;gap:calc(8px * var(--ui));font-size:var(--fs-xs);color:var(--muted);margin:0 0 var(--sp-2)}#chapelRosaries img{width:calc(22px * var(--ui));height:calc(22px * var(--ui));object-fit:contain;image-rendering:pixelated}#chapelRosaries b{color:var(--gold);font-weight:600}#chapelList{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);max-height:52vh;overflow-y:auto;padding:2px 4px 2px 2px}.relic{flex-direction:column;gap:4px;padding:0;background:none;border:0;color:var(--muted);font:inherit;font-size:var(--fs-xs);line-height:1.2;text-align:center;cursor:pointer}.relic,.relic .frame{display:flex;align-items:center}.relic .frame{width:100%;aspect-ratio:1;justify-content:center;border:1px solid rgba(240,196,96,.5);border-radius:6px;background:radial-gradient(circle at 50% 45%,rgba(240,196,96,.16),rgba(0,0,0,.25) 70%)}.relic img{width:70%;height:70%;object-fit:contain;image-rendering:pixelated}.relic .who{color:var(--gold);font-weight:600}.relic:focus-visible .frame,.relic:hover .frame{border-color:var(--gold)}.relic:focus-visible .who,.relic:hover .who{text-decoration:underline}.relic[disabled]{cursor:default}.relic[disabled] .frame{border-color:rgba(240,196,96,.16);background:rgba(0,0,0,.25)}.relic[disabled] img{filter:grayscale(1) brightness(.22)}.relic[disabled] .who{color:var(--muted);font-weight:400}#chapelNote{font-size:var(--fs-xs);color:var(--muted);text-align:center;margin:var(--sp-2) 0 0}#scrollList{gap:var(--sp-1)}#scrollList,#scrollList .promise{display:flex;flex-direction:column}#scrollList .promise{gap:2px;padding:var(--sp-1) var(--sp-2);border-left:3px solid rgba(240,196,96,.25);font-size:var(--fs-xs);color:var(--muted)}#scrollList .promise b{font-family:var(--display);color:var(--parchment);font-weight:600}#scrollList .promise.sealed{border-left-color:var(--gold-lit);color:var(--parchment)}#scrollList .promise.sealed span{font-style:italic}#scrollNote{font-size:var(--fs-xs);color:var(--muted);text-align:center;margin:var(--sp-2) 0 0}@media (max-width:720px){#chapelList{grid-template-columns:repeat(4,1fr)}}@media (max-width:520px){#chapelList{grid-template-columns:repeat(3,1fr)}}#help,#pauseHelpBody{text-align:left;font-size:var(--fs-xs);line-height:1.6}#help{background:var(--panel);border:2px solid var(--gold);border-radius:var(--r);padding:var(--sp-3) var(--sp-4);max-width:min(440px,92vw)}#help dt,#pauseHelpBody dt{font-family:var(--display);font-size:var(--fs-cap);letter-spacing:.08em;color:var(--gold-lit);text-transform:uppercase}#help dl,#pauseHelpBody dl{margin:0;display:grid;grid-template-columns:auto 1fr;grid-gap:var(--sp-1) var(--sp-3);gap:var(--sp-1) var(--sp-3);align-items:baseline}#help dd,#pauseHelpBody dd{margin:0}#pauseStats{display:flex;justify-content:space-around;gap:var(--sp-2);font-family:var(--display)}#pauseStats div{display:flex;flex-direction:column;gap:2px}#pauseStats b{color:var(--gold-lit);font-size:var(--fs-lg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#pauseStats span{font-size:var(--fs-cap);letter-spacing:.12em;text-transform:uppercase;opacity:.66}#authWho{font-size:var(--fs-cap);opacity:.62;font-style:italic;word-break:break-word}#btnSignOut{margin-top:var(--sp-2);width:100%}.btn.danger{border-color:rgba(216,120,120,.7);color:#f0c8c8}.btn.danger:hover{background:rgba(180,80,80,.24)}.rotate-glyph{display:grid;place-items:center;height:calc(74px * var(--ui))}.rotate-glyph i{display:block;width:calc(38px * var(--ui));height:calc(62px * var(--ui));border:3px solid var(--gold-lit);border-radius:calc(7px * var(--ui));box-shadow:inset 0 0 0 2px rgba(240,196,96,.18);animation:tip 2.6s ease-in-out infinite}@keyframes tip{0%,22%{transform:rotate(0deg)}45%,78%{transform:rotate(-90deg)}to{transform:rotate(0deg)}}#certWrap{position:fixed;left:0;right:0;top:0;height:var(--app-h);z-index:70;background:rgba(12,9,6,.88);display:none;align-items:center;justify-content:center;padding:calc(var(--safe-t) + var(--sp-3)) var(--sp-3) calc(var(--safe-b) + var(--sp-3));overflow:auto}#cert{background:var(--parchment);color:var(--ink);border:10px double var(--gold);padding:var(--sp-4) var(--sp-3);max-width:520px;width:100%;text-align:center}#cert h2{margin:0 0 6px;font-weight:500;font-size:var(--fs-cap);letter-spacing:.26em;color:#8a6520;text-transform:uppercase}#cert h1,#cert h2{font-family:var(--display)}#cert h1{margin:0 0 var(--sp-3);font-weight:700;font-size:calc(28px * var(--ui));text-wrap:balance}#cert .rule{height:2px;background:var(--gold);opacity:.45;margin:var(--sp-3) 0}#cert p{margin:var(--sp-1) 0;font-size:var(--fs-sm);line-height:1.6}#cert .nameline{margin:var(--sp-4) 0 var(--sp-1);border-bottom:2px dotted #9c7a3e;height:calc(30px * var(--ui))}#cert .namecap{font-family:var(--display);font-size:calc(10px * var(--ui));letter-spacing:.16em;color:#7d6238;text-transform:uppercase}#cert .sponsor{margin-top:var(--sp-4);font-size:var(--fs-xs);color:#6d552f;font-style:italic}#cert .sponsor b{color:var(--ink);font-style:normal}#certActions{margin-top:var(--sp-3);display:flex;gap:var(--sp-2);justify-content:center;flex-wrap:wrap}#touch{position:fixed;left:0;right:0;top:0;height:var(--app-h);z-index:15;pointer-events:none;display:none;transition:opacity .18s ease,transform .18s ease}body.touch #touch{display:block}body.pj-titled #touch{display:none}body.pj-modal #touch{opacity:0;transform:scale(.94)}body.pj-cutscene #hud,body.pj-cutscene #placeName,body.pj-cutscene #prompt,body.pj-cutscene #toast,body.pj-cutscene #touch,body.pj-cutscene #vignette{visibility:hidden!important}body.pj-modal #touch,body.pj-modal #touch *{pointer-events:none!important}#padZone{left:0;bottom:0;width:52%;height:58%;pointer-events:auto}#pad,#padZone{position:absolute;touch-action:none}#pad{left:var(--pad-x);bottom:var(--pad-y);width:var(--pad);height:var(--pad);pointer-events:none;opacity:.5;transition:opacity .18s ease}#pad.live{opacity:1}#padBase{inset:0;border-radius:50%;background:radial-gradient(circle at 50% 38%,rgba(60,46,32,.62),rgba(26,20,16,.5));border:2px solid rgba(184,134,47,.75);box-shadow:inset 0 2px 10px rgba(0,0,0,.5)}#padBase,#padNub{position:absolute}#padNub{width:40%;height:40%;left:30%;top:30%;border-radius:50%;background:radial-gradient(circle at 42% 34%,var(--gold-lit),var(--gold));border:2px solid #7d5a1c;box-shadow:0 2px 6px rgba(0,0,0,.5)}#actions{position:absolute;right:var(--act-x);bottom:var(--act-y);display:grid;grid-template-columns:auto auto;align-items:end;justify-items:end;grid-gap:calc(10px * var(--ui));gap:calc(10px * var(--ui));pointer-events:auto}#actions,.abtn{touch-action:none}.abtn{border-radius:50%;background:radial-gradient(circle at 50% 34%,rgba(72,55,38,.86),rgba(30,23,16,.82));border:2px solid var(--gold);color:var(--parchment);font-family:var(--display);font-size:calc(10px * var(--ui));font-weight:700;letter-spacing:.06em;box-shadow:0 3px 0 rgba(0,0,0,.45),inset 0 1px 0 rgba(240,196,96,.22);cursor:pointer;padding:0}.abtn.small{width:var(--act-sm);height:var(--act-sm)}.abtn.primary{width:var(--act);height:var(--act);font-size:calc(18px * var(--ui));color:var(--gold-lit);border-color:var(--gold-lit)}.abtn.on,.abtn:active{background:radial-gradient(circle at 50% 34%,rgba(184,134,47,.82),rgba(120,86,30,.7))}.abtn.on{color:#241a10}#btnJump{grid-column:1;grid-row:2}#btnRun{grid-column:2;grid-row:1}#btnTalk{grid-column:2;grid-row:2}#loader{position:fixed;left:0;right:0;top:0;height:var(--app-h);z-index:80;display:flex;flex-direction:column;gap:var(--sp-3);align-items:center;justify-content:center;background:#1a1410;font-family:var(--display);font-size:var(--fs-cap);letter-spacing:.14em;text-transform:uppercase;color:var(--parchment)}#loader .bar{width:min(190px,60vw);height:6px;background:#3a2d20;border-radius:3px;overflow:hidden}#loader .fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-lit));transition:width .15s}body.pj-notice #hud{top:calc(var(--safe-t) + var(--edge) + 30px)}body.pj-notice #placeName,body.pj-notice #toast{top:calc(var(--safe-t) + var(--edge) + calc(58px * var(--ui)) + 30px)}@media (orientation:portrait) and (max-width:560px){.badge .sub{display:none}.badge{padding:calc(5px * var(--ui)) calc(9px * var(--ui));min-width:0}#placeName{top:calc(var(--safe-t) + var(--edge) + max(50px, calc(48px * var(--ui))));left:calc(var(--safe-l) + var(--edge) + clamp(96px, 27vmin, calc(156px * var(--ui))) + var(--sp-2));right:calc(var(--safe-r) + var(--edge));transform:none;max-width:none;white-space:normal;letter-spacing:.1em;line-height:1.5;border-radius:var(--r)}}@media (orientation:landscape) and (max-height:500px){#hud{top:calc(var(--safe-t) + 6px)}.badge .sub{display:none}.badge{padding:calc(4px * var(--ui)) calc(9px * var(--ui));min-width:0}#placeName,#toast{top:calc(var(--safe-t) + calc(44px * var(--ui)))}#placeName{left:calc(var(--safe-l) + var(--edge) + clamp(96px, 27vmin, calc(156px * var(--ui))) + var(--sp-2));right:calc(var(--safe-r) + var(--edge));top:calc(var(--safe-t) + 6px + max(50px, calc(50px * var(--ui))));transform:none;max-width:max-content;margin:0 auto}#line{min-height:1.6em}#dialogue,#quiz{bottom:calc(var(--safe-b) + 6px);padding:var(--sp-2) var(--sp-3)}#quiz{max-height:calc(var(--app-h) - var(--safe-t) - 46px)}#dlgFoot{margin-top:var(--sp-2)}#title{gap:var(--sp-2);justify-content:flex-start}#cast{display:none}.plate{padding:var(--sp-3);gap:var(--sp-2)}.rotate-glyph{height:calc(52px * var(--ui))}}@media (max-height:400px){#title{justify-content:flex-start}#title h1{font-size:clamp(20px,6vmin,30px)}}@media (prefers-reduced-motion:reduce){#prompt{animation:none}#placeName,#toast,#touch,.btn,.meter i{transition:none}.rotate-glyph i{animation:none;transform:rotate(-90deg)}}@media print{body,html{position:static!important;height:auto!important;overflow:visible!important}body.pj-game *{visibility:hidden!important}body.pj-game #certWrap,body.pj-game #certWrap *{visibility:visible!important}body.pj-game #certWrap{position:absolute;inset:0 auto auto 0;display:block!important;background:none;padding:0;overflow:visible}body.pj-game #certActions{display:none!important}body.pj-game #cert{border-color:#b8862f;max-width:100%;box-shadow:none}}