@charset "UTF-8";
:root{color-scheme:light;--forest:#234e3f;--deep:#183c30;--ink:#263f34;--paper:#fffaf0;--honey:#ffd285;--line:#dcdacb;--body:ui-rounded,"Avenir Next","Trebuchet MS",system-ui,sans-serif}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:#f3f0e5;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.52;cursor:default}button:focus-visible{outline:3px solid #2d7661;outline-offset:4px}button img{pointer-events:none}button,dialog{-webkit-user-select:none;user-select:none}[hidden]{display:none!important}.app{max-width:1480px;margin:auto;padding:0 34px 20px}.topbar{min-height:103px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:13px;font-family:Georgia,serif;font-size:30px;font-weight:bold;letter-spacing:-1px}.brand-heart{display:grid;place-items:center;width:43px;height:47px;border-radius:50% 50% 43% 43%;background:var(--forest);color:var(--honey);font-family:var(--body);font-size:26px;letter-spacing:0}.wordmark small{display:block;font:700 12px/1.4 var(--body);letter-spacing:1.2px;margin-top:5px;color:#637366}.utilities{display:flex;gap:8px;align-items:center}.utility{background:transparent;border:1px solid #d4d7c8;border-radius:30px;padding:10px 15px;font-size:14px;min-height:44px;white-space:nowrap}.utility:hover,.utility[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:white}.utility span:first-child{margin-right:4px;font-size:18px}.help-toggle{width:44px;padding:8px;font-weight:700}.chapter-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:28px 0 22px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.7px;line-height:1.6;color:#946031;margin:0 0 6px}h1{font-family:Georgia,serif;font-weight:normal;letter-spacing:-1px;font-size:36px;line-height:1.14;margin:0}.session-note{font-family:Georgia,serif;font-style:italic;font-size:16px;color:#687564;padding-bottom:4px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:24px;align-items:start}.adventure{min-width:0}.scene{width:100%;aspect-ratio:3/2;position:relative;border-radius:18px 18px 0 0;overflow:hidden;background:#bf9b67;isolation:isolate;box-shadow:0 8px 30px #40341512}.room-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scene-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px #50321722}.scene-caption{position:absolute;left:20px;top:18px;background:#fff9e8ed;box-shadow:0 2px 8px #2b211120;border:1px solid #fff8df99;padding:8px 12px;border-radius:20px;display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1.2px;font-weight:800;color:var(--forest);z-index:2}.chapter-dot{height:6px;width:6px;border-radius:50%;background:#a77b38}.actor{position:absolute;left:50%;top:86%;transform:translate(-50%,-100%);border:0;background:none;padding:0;width:23%;transition:left 850ms cubic-bezier(.3,.05,.3,1),top 850ms cubic-bezier(.3,.05,.3,1),filter .25s;filter:drop-shadow(0 9px 6px #37261e40);z-index:3;line-height:0}.actor img{width:100%;height:auto;display:block}.actor.pip{width:14%;left:66%;top:84%;z-index:4}.actor.pip.hopping{animation:hop .85s ease-in-out}.actor.selected{filter:drop-shadow(0 0 5px #ffebbd) drop-shadow(0 9px 5px #3b28194d)}.actor-name{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);font-size:12px;font-weight:800;line-height:20px;border-radius:15px;background:var(--forest);color:#fffbea;padding:2px 10px;opacity:0;transition:opacity .2s}.actor.selected .actor-name{opacity:1}.actor:focus-visible{outline:0;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 2px #183c30)}.actor:focus-visible .actor-name{opacity:1}.spots{position:absolute;inset:0;pointer-events:none;z-index:6}.spot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);min-width:44px;min-height:44px;border:0;background:none;padding:3px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;pointer-events:auto;transition:opacity .25s}.spot-dot{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff6dfe8;color:#604725;border:2px solid #fff9e4;box-shadow:0 0 0 5px #fff8e133,0 3px 12px #49301733;font-size:25px;line-height:1;font-weight:700;transition:transform .2s,background .2s}.spot-label{font-size:14px;font-weight:700;line-height:1.3;padding:4px 9px;background:#203e32eb;color:#fff9e7;border-radius:14px;box-shadow:0 3px 10px #1c241622;white-space:nowrap}.spot:hover .spot-dot,.spot:focus-visible .spot-dot{transform:scale(1.14);background:#ffdb91}.spot.suggested .spot-dot{animation:beacon 1.7s ease-in-out infinite;background:#ffc967;box-shadow:0 0 0 7px #fff7dc66,0 0 25px #fffbd2}.spot.complete .spot-dot{background:#234e3f;color:white;border-color:#e7eccd}.spot.optional .spot-dot{font-size:17px;width:27px;height:27px;background:#fff8e2bb}.spot.optional:not(:hover) .spot-label{opacity:.85}.ribbon-spot .spot-label{transform:translateX(-12px)}.door-glow{position:absolute;left:77%;top:6%;width:17%;height:55%;border:3px solid transparent;border-radius:10px;pointer-events:none;z-index:1;transition:box-shadow .7s,border-color .7s}.door-glow.open{box-shadow:0 0 25px 12px #ffe48d88,inset 0 0 35px #ffedb677;border-color:#fff0aa99}.scene-toast{position:absolute;left:50%;top:15%;transform:translate(-50%,-8px);background:#fff8e9f5;color:var(--forest);border:1px solid #ffedc1;border-radius:24px;padding:10px 20px;font-weight:700;font-size:16px;box-shadow:0 4px 20px #291e2222;opacity:0;pointer-events:none;z-index:8;transition:.3s}.scene-toast.visible{opacity:1;transform:translate(-50%,0)}.inventory{position:absolute;bottom:17px;left:18px;display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #faf3d8;background:#fff8e9ee;box-shadow:0 3px 14px #51391422;border-radius:20px;font-size:14px;font-weight:700;z-index:7}.inventory span{font-size:23px}.story-strip{min-height:112px;background:var(--forest);border-radius:0 0 18px 18px;display:flex;align-items:center;gap:16px;padding:20px 24px;color:#fff9e9;box-shadow:0 8px 30px #40341512}.speaker-portrait{width:50px;height:55px;flex-shrink:0;overflow:hidden;border-radius:50%;background:#e9d4a6;padding-top:4px;border:2px solid #f6dc9c}.speaker-portrait img{width:100%;height:100%;object-fit:contain}.story-copy{flex:1}.story-copy>span{color:#f2cd84;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700}.story-copy p{font-size:17px;line-height:1.55;margin:4px 0 0}.read-line{border:1px solid #ffffff44;background:none;border-radius:50%;color:#fff1c8;width:42px;height:42px;flex-shrink:0;font-size:24px}.read-line:hover{background:#fff1c822}.friend-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:19px}.friend-bar>p{font-family:Georgia,serif;font-size:17px;color:#6a7160;margin:0}.friend-buttons{display:flex;gap:10px;flex:1;max-width:510px}.friend{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:#fbf9ef;border:1px solid #d7d9c9;padding:10px 12px;border-radius:13px;text-align:left;min-height:78px;transition:background .2s,border .2s,transform .2s}.friend img{height:51px;width:46px;object-fit:contain;align-self:flex-end}.friend.active{background:#e4ebd9;border:2px solid #52745b;padding:9px 11px;box-shadow:0 3px 0 #324c2714}.friend:hover{transform:translateY(-2px)}.friend strong{display:block;font-size:17px}.friend small{font-size:12px;display:block;margin-top:3px;white-space:nowrap;color:#61705e}.friend kbd{margin-left:auto;border:1px solid #c6ccb8;border-bottom-width:2px;border-radius:5px;font:12px var(--body);padding:2px 5px;color:#627158}.friend.hint-choice{outline:3px solid #d7a047;outline-offset:2px}.journal{background:#fbf9ed;border:1px solid #dedfce;border-radius:17px;padding:23px 21px}.journal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.journal-heading .eyebrow{color:#72765f;font-size:12px;margin:0}.journal-heading>span:last-child{font-size:21px;color:#a58341}.chapters{list-style:none;margin:0;padding:0 0 21px;border-bottom:1px solid #dbddca}.chapters li{display:flex;gap:11px;align-items:center;margin:0 0 19px;opacity:.52}.chapters li:last-child{margin-bottom:0}.chapters li.current,.chapters li.done{opacity:1}.step-number{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid #b6bfa6;color:#68785b;font-size:14px;font-weight:700}.current .step-number{background:var(--forest);color:#fff5d7;border-color:var(--forest)}.done .step-number{background:#e5ead6;color:#466041}.chapters strong{font-size:15px;display:block;font-weight:700}.chapters small{display:block;color:#69745e;font-size:12px;margin-top:4px}.goal-panel{padding-top:23px}.goal-panel .eyebrow{font-size:12px;color:#a06635}h2{font-family:Georgia,serif;font-weight:normal;font-size:27px;line-height:1.2;letter-spacing:-.6px;margin:0 0 12px}.goal-panel>p:not(.eyebrow){line-height:1.55;font-size:16px;margin:0;color:#65705c}.path-tracker{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:18px;font-size:12px}.path-tracker span[data-path]{padding:4px 5px;border-radius:5px;background:#e9eada;color:#717861}.path-tracker span.reached{background:#315c43;color:white}.hint-button{width:100%;border:1px solid #d6cfb6;border-radius:10px;margin-top:23px;background:#f2e9ce;padding:12px;font-size:14px;font-weight:700}.hint-button:hover{background:#eadcb7}.hint-button span{font-size:20px;vertical-align:middle;margin-right:5px;color:#97682e}.hint-text{font-size:14px;line-height:1.5;color:#8a5b28;margin:10px 0 0}.hint-text:empty{display:none}.discoveries{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid #dcddc9;font-size:12px;color:#6a755e}.discoveries span:last-child{display:flex;gap:6px}.discoveries i{display:block;width:12px;height:12px;border-radius:50%;border:1px solid #c1be9d}.discoveries i.found{background:#d9aa4c;border-color:#bd9237}.gentle-note{font-family:Georgia,serif;font-style:italic;font-size:15px;line-height:1.5;color:#7c806c;margin:17px 0 0}.restart{border:0;border-bottom:1px solid #d8d8c4;background:none;padding:4px 0;color:#74765e;font-size:12px;margin-top:20px;min-height:32px}footer{display:flex;justify-content:space-between;gap:20px;margin-top:27px;color:#7f8473;font-size:12px;line-height:1.7}
dialog{border:1px solid #efdfba;border-radius:23px;background:#fffaf0;color:var(--ink);max-width:calc(100vw - 32px);padding:34px;box-shadow:0 28px 100px #11271f55;font-family:var(--body)}dialog::backdrop{background:#14291da6;backdrop-filter:blur(4px)}.intro-dialog{width:478px;text-align:center;overflow:visible}.intro-cats{display:flex;align-items:flex-end;justify-content:center;height:115px;margin:-86px 0 22px;filter:drop-shadow(0 5px 3px #5b3d1426)}.intro-cats img:first-child{width:132px;height:141px;object-fit:contain}.intro-cats img:last-child{width:93px;height:107px;object-fit:contain;margin-left:-3px}.intro-dialog h2{font-size:45px;line-height:1.05;color:var(--forest);letter-spacing:-1px;margin:12px 0 20px}.intro-dialog>p:not(.eyebrow):not(.intro-instruction){font-size:17px;line-height:1.6;color:#63705d}.primary-button{display:flex;align-items:center;justify-content:center;gap:17px;border:1px solid var(--forest);border-radius:11px;background:var(--forest);color:#fff8df;font-weight:700;font-size:17px;min-height:54px;width:100%;padding:13px 20px;box-shadow:0 4px 0 #15392c;margin-top:23px;transition:background .2s,transform .2s}.primary-button:hover{background:#32634e;transform:translateY(-1px)}.intro-instruction{font-size:13px;line-height:1.7;color:#7b806e;margin:21px 0 0}.ending-dialog{width:850px;max-height:calc(100dvh - 40px);padding:0;overflow:auto}.ending-dialog[open]{display:grid;grid-template-columns:.95fr 1fr;align-items:stretch}.ending-art{width:100%;height:100%;object-fit:cover;min-height:475px}.ending-copy{padding:35px 30px;text-align:center;align-self:center}.ending-copy h2{font-size:35px}.ending-copy>p:not(.eyebrow){font-size:16px;line-height:1.6;color:#626e5b}.ending-badge{display:inline-flex;align-items:center;gap:9px;background:#f4ead0;border-radius:20px;padding:8px 13px;margin-top:6px;color:#866032;font-size:14px}.ending-badge span{color:#ac6f3e}.text-button{display:block;border:0;background:none;color:#6a785f;text-decoration:underline;text-underline-offset:4px;margin:16px auto 0;min-height:36px;padding:6px;font-size:14px}.help-dialog{width:470px;max-height:calc(100dvh - 40px);overflow:auto}.help-dialog h2{font-size:32px}.help-dialog p{font-size:16px;line-height:1.65}.help-dialog .help-note{font-size:14px;color:#78836d}.dialog-close{position:absolute;right:17px;top:13px;border:0;background:none;font-size:28px;min-width:40px;min-height:40px}.no-script{background:#fff3d4;padding:20px;text-align:center;border:1px solid #d7b68d}.app.not-started .spots,.app.not-started .actor-name{visibility:hidden}.scene.finished .spots{opacity:.7}
@keyframes beacon{50%{box-shadow:0 0 0 11px #fff8dc11,0 0 20px #fff7cb;transform:scale(1.1)}}@keyframes hop{45%{margin-top:-28px;transform:translate(-50%,-100%) rotate(-5deg)}70%{transform:translate(-50%,-100%) rotate(2deg)}}
@media(min-width:1400px){.game-layout{grid-template-columns:minmax(0,1fr) 294px}}
@media(max-width:1130px){.app{padding:0 22px 20px}.game-layout{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.journal{padding:20px 17px}.session-note{display:none}.friend-bar{display:block}.friend-bar>p{margin-bottom:10px}.friend-buttons{max-width:none}.wordmark{font-size:27px}.wordmark small{display:none}.chapter-heading{padding:24px 0 20px}.story-strip{padding:17px}.story-copy p{font-size:16px}.scene-caption{left:13px;top:12px}.spot-label{padding:4px 7px}.spot-dot{width:28px;height:28px}.goal-panel h2{font-size:25px}.gentle-note{display:none}}
@media(max-width:850px){.game-layout{grid-template-columns:minmax(0,1fr)}.journal{display:grid;grid-template-columns:1fr auto;gap:0 18px;order:-1;padding:15px 18px}.journal-heading,.chapters,.discoveries,.gentle-note,.restart{display:none}.goal-panel{padding:0}.goal-panel h2{font-size:23px;margin:0 0 5px}.goal-panel>p:not(.eyebrow){font-size:16px}.hint-button{margin-top:0;align-self:center;width:auto;min-width:130px;padding:9px 12px}.hint-text{grid-column:1/-1}.path-tracker{margin-top:8px}.friend-bar{display:flex}.friend-bar>p{margin:0}.topbar{min-height:87px}.utilities{gap:6px}.utility{padding:9px 12px}.chapter-heading{padding-top:22px}.chapter-heading h1{font-size:32px}.story-strip{min-height:102px}.scene-toast{font-size:14px;max-width:80%;text-align:center}.intro-dialog{margin-top:max(100px,calc(50dvh - 220px))}footer{flex-direction:column;gap:2px;margin-top:23px}}
@media(max-width:540px){.app{padding:0 12px 15px}.topbar{min-height:93px;gap:8px;align-items:center}.wordmark{font-size:23px;gap:7px;letter-spacing:-.8px}.brand-heart{display:none}.utilities{gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:200px}.utility{font-size:14px;padding:7px 9px;min-height:37px}.utility span:first-child{display:none}.help-toggle{width:34px;font-size:16px;padding:5px}.chapter-heading{padding:20px 2px 16px}.chapter-heading h1{font-size:29px}.game-layout{gap:13px}.journal{padding:13px;gap:0 10px}.goal-panel h2{font-size:21px}.goal-panel .eyebrow{display:none}.goal-panel>p:not(.eyebrow){font-size:16px;line-height:1.4}.hint-button{min-width:0;width:46px;height:46px;overflow:hidden;font-size:0;padding:4px}.hint-button span{font-size:26px;margin:0}.scene{border-radius:12px 12px 0 0}.scene-caption{font-size:12px;top:8px;left:8px;padding:4px 7px;gap:5px}.scene-caption .chapter-dot{width:4px;height:4px}.spot{gap:0;min-width:44px;min-height:44px}.spot-dot{height:24px;width:24px;font-size:21px;box-shadow:0 0 0 3px #fff8e133,0 2px 5px #49301733}.spot-label{font-size:14px;padding:3px 5px;line-height:1.15}.spot.optional .spot-dot{width:21px;height:21px;font-size:13px}.ribbon-spot .spot-label{transform:translateX(-8px)}.sun-spot{--y:84%!important}.actor-name{font-size:12px;line-height:16px;padding:0 7px;bottom:-9px}.story-strip{padding:13px 12px;gap:10px;border-radius:0 0 12px 12px;min-height:122px;align-items:flex-start}.speaker-portrait{width:37px;height:42px;margin-top:3px}.story-copy>span{font-size:12px}.story-copy p{font-size:16px;line-height:1.45}.read-line{width:32px;height:34px;font-size:21px;margin-top:3px}.friend-bar{display:block;margin-top:15px}.friend-bar>p{font-size:16px;margin-bottom:9px}.friend-buttons{gap:8px}.friend{padding:8px 9px;gap:7px;min-height:72px}.friend.active{padding:7px 8px}.friend img{width:36px;height:43px}.friend strong{font-size:16px}.friend small{font-size:12px;white-space:normal}.friend kbd{display:none}.inventory{bottom:9px;left:9px;font-size:14px;padding:5px 8px}.inventory span{font-size:17px}.intro-dialog{padding:28px 25px}.intro-dialog h2{font-size:39px}.intro-dialog>p:not(.eyebrow):not(.intro-instruction){font-size:16px}.intro-cats{height:90px;margin-top:-70px}.intro-cats img:first-child{height:110px;width:103px}.intro-cats img:last-child{height:85px;width:73px}.ending-dialog[open]{display:block}.ending-art{height:210px;min-height:0;object-position:50% 50%}.ending-copy{padding:25px}.ending-copy h2{font-size:31px}.ending-copy>p:not(.eyebrow){font-size:16px}.ending-copy .primary-button{margin-top:17px}.help-dialog{padding:28px 23px}.help-dialog h2{font-size:29px}.scene-toast{font-size:14px;padding:7px 13px;top:13%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-height:650px){.intro-dialog{margin:65px auto 20px;max-height:calc(100dvh - 90px);overflow:auto}.intro-cats{display:none}.intro-dialog h2{font-size:34px}.intro-dialog>p:not(.eyebrow):not(.intro-instruction){font-size:16px}.intro-dialog{padding:24px}}

.wordmark-home{color:inherit;text-decoration:none}.wordmark-home:hover{color:#32634e}.wordmark-home small{display:block;font-size:11px;letter-spacing:.6px}a:focus-visible{outline:3px solid #2d7661;outline-offset:4px;border-radius:4px}.text-button{text-align:center}
