:root{color:#243a32;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#243a32;--muted:#5e7168;--sage:#527a66;--sage-dark:#385e4d;--cream:#fbf8ef;--line:#3850422e;--serif:Georgia,"Times New Roman",serif;--focus:#b77d39;background:#e6eee5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{width:100%;min-width:320px;min-height:100%;margin:0}body{background:#e6eee5;min-height:100vh}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a{color:inherit}.app-shell{isolation:isolate;background:linear-gradient(#e7efe547,#f9f7ed6b);flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.world-scene,.world-fallback{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.world-scene canvas{width:100%;height:100%;display:block}.world-scene.is-hidden{display:none}.world-fallback{background:linear-gradient(#dfece6 0%,#e9eddf 52%,#d0dfce 100%);display:none}.world-fallback.is-visible{display:block}.fallback-sun{aspect-ratio:1;opacity:.84;background:radial-gradient(circle at 40% 38%,#fff6d8 0 21%,#edce8a 60%,#edce8a1a 72%);border-radius:50%;width:clamp(54px,9vw,126px);position:absolute;top:13%;right:17%}.fallback-hill{border-radius:50% 50% 0 0/35% 35% 0 0;width:90vw;height:40vh;position:absolute;bottom:13%}.fallback-hill-back{background:#b9cdb7;left:-20%;transform:rotate(-5deg)}.fallback-hill-front{background:#91ad97;bottom:3%;right:-25%;transform:rotate(5deg)}.fallback-lake{background:linear-gradient(130deg,#aac8c2,#d1ded0);border-radius:50%;width:34vw;height:12vh;transition:transform .7s,filter .7s;position:absolute;bottom:22%;right:10%;box-shadow:0 10px 35px #77978d44}.fallback-tree{width:120px;height:230px;transition:filter .7s;position:absolute;bottom:24%;left:20%}.fallback-tree:before{content:"";background:#80614b;width:15px;height:90px;position:absolute;bottom:0;left:48%}.fallback-tree i,.fallback-tree b,.fallback-tree span,.fallback-tree em{background:#688975;border-radius:42% 48% 44%;width:100px;height:90px;position:absolute;left:50%;transform:translate(-50%)rotate(5deg)}.fallback-tree i{top:15px}.fallback-tree b{background:#789782;top:58px;left:40%;transform:translate(-50%)rotate(-7deg)}.fallback-tree span{background:#91aa8c;width:90px;height:70px;top:92px;left:59%}.fallback-tree em{background:#819a81;width:68px;height:70px;top:49px;left:65%}.fallback-pavilion{width:140px;height:150px;transition:transform .7s,filter .7s;position:absolute;bottom:27%;right:19%}.fallback-pavilion i{clip-path:polygon(50% 0,100% 100%,0 100%);background:#7c9380;height:35px;position:absolute;inset:0 15px auto}.fallback-pavilion b{border:8px solid #896e57;border-top:0;border-bottom-width:12px;position:absolute;inset:32px 30px 0}.fallback-pavilion span{background:#d8c5a0;border-radius:50%;height:14px;position:absolute;bottom:0;left:0;right:0}.world-fallback[data-place=tree] .fallback-tree,.world-fallback[data-place=lake] .fallback-lake,.world-fallback[data-place=pavilion] .fallback-pavilion{filter:drop-shadow(0 0 15px #f4d288d9)}.world-fallback[data-place=lake] .fallback-lake{transform:scale(1.16)}.world-fallback[data-place=horizon] .fallback-sun{filter:drop-shadow(0 0 22px #fff2b5);transform:scale(1.12)}.veil{z-index:1;pointer-events:none;background:linear-gradient(#f6f8f05c,#f5f5e83d 55%,#f8f7eeb3);position:fixed;inset:0}.topbar{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf9f1ab;border-bottom:1px solid #415d4c26;justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:12px clamp(18px,4vw,54px);display:flex;position:relative}.brand{align-items:center;gap:11px;min-width:max-content;text-decoration:none;display:inline-flex}.brand svg{fill:none;stroke:#527a66;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:39px;height:39px}.brand strong{font:600 22px/1 var(--serif);letter-spacing:.01em;display:block}.brand small{color:#69786d;letter-spacing:.18em;text-transform:uppercase;margin-top:5px;font-size:9px;display:block}.topbar-actions{justify-content:flex-end;align-items:center;gap:clamp(5px,1vw,14px);display:flex}.quiet-button{color:#43584e;cursor:pointer;background:0 0;border:0;border-radius:22px;justify-content:center;align-items:center;min-height:44px;padding:9px 13px;font-size:.82rem;text-decoration:none;display:inline-flex}.quiet-button:hover{background:#e7eee5}.quiet-button[hidden]{display:none}.main-content{z-index:2;flex-direction:column;flex:1;align-items:center;width:100%;padding:clamp(20px,4vh,42px) clamp(14px,4vw,42px) 28px;display:flex;position:relative}.location-toolbar{flex-wrap:wrap;justify-content:center;gap:7px;width:min(920px,100%);margin:0 auto 16px;display:flex}.location-toolbar[hidden]{display:none}.location-toolbar button{color:#385d4c;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf9f1c2;border:1px solid #38504230;border-radius:22px;min-width:68px;min-height:44px;padding:8px 15px;font-size:.79rem}.location-toolbar button:hover{background:#fdfbf3;border-color:#75927c}.location-toolbar button[aria-pressed=true]{background:#e9efe4;border-color:#718d76;box-shadow:inset 0 0 0 1px #718d7666}.screen{scrollbar-width:thin;scrollbar-color:#91a995 transparent;justify-content:center;width:min(900px,100%);max-height:calc(100svh - 165px);display:flex;overflow:auto}.start-card,.story-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fcfaf3e8;border:1px solid #4257472b;border-radius:28px;width:min(780px,100%);margin:auto;padding:clamp(22px,4vw,46px);box-shadow:0 20px 65px #394b3d1c}.screen-heading{margin-bottom:18px}.eyebrow{color:#577a66;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-size:.72rem;font-weight:700}.screen-heading h1{color:var(--ink);font:500 clamp(2rem,5.1vw,3.45rem)/1.08 var(--serif);letter-spacing:-.035em;margin:0}.screen-heading .lead{color:#63776b;margin:13px 0 0;font-size:clamp(1rem,2.2vw,1.18rem);line-height:1.6}.intro-copy,.scene-prose{color:#495e52;max-width:68ch;font-size:1rem;line-height:1.78}.intro-copy{margin:16px 0 25px}.privacy-note{color:#6b7b71;margin:17px 0 0;font-size:.78rem;line-height:1.6}.button-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.split-row{justify-content:space-between}.button{text-align:center;cursor:pointer;border:1px solid #0000;border-radius:28px;justify-content:center;align-items:center;min-height:48px;padding:12px 21px;font-size:.88rem;font-weight:650;text-decoration:none;transition:background .18s,transform .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:#527a66}.button.primary:hover{background:#3f6653}.button.secondary{color:#3d6251;background:#ffffffb3;border-color:#395b463d}.button.secondary:hover{background:#fff;border-color:#78927d}.button.text-button{color:#526c5d;background:0 0;border:0;padding-inline:5px}.button.text-button:hover{background:0 0;text-decoration:underline}.answer-list{gap:10px;margin-top:22px;display:grid}.answer-choice{color:#30473b;text-align:left;cursor:pointer;background:#ffffffbd;border:1px solid #3c5b4830;border-radius:14px;width:100%;min-height:56px;padding:14px 18px;font-weight:560;line-height:1.5;transition:border-color .18s,background .18s,transform .18s}.answer-choice:hover{background:#f4f8f0;border-color:#789582;transform:translateY(-1px)}.choice-setting,.setting-row{cursor:pointer;background:#ffffff8a;border:1px solid #3c5b4829;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}.choice-setting+.choice-setting{margin-top:9px}.choice-setting strong,.setting-row strong{color:#344a3e;font-size:.9rem;display:block}.choice-setting small,.setting-row small{color:#718076;margin-top:4px;font-size:.78rem;line-height:1.5;display:block}.choice-setting input,.setting-row input{accent-color:#527a66;flex:none;width:22px;height:22px}.progress-wrap{margin-bottom:23px}.progress-copy{color:#698072;letter-spacing:.04em;margin:0 0 8px;font-size:.77rem;font-weight:650}.progress-wrap progress{accent-color:#628873;background:#e1e8de;border:0;border-radius:99px;width:100%;height:5px;display:block;overflow:hidden}.progress-wrap progress::-webkit-progress-bar{background:#e1e8de}.progress-wrap progress::-webkit-progress-value{background:#628873;border-radius:99px}.progress-wrap progress::-moz-progress-bar{background:#628873;border-radius:99px}.scene-meta{color:#688071;letter-spacing:.035em;margin:0 0 9px;font-size:.8rem;font-weight:600}.encounter-card .screen-heading{margin-bottom:17px}.encounter-card .screen-heading h1{font-size:clamp(1.9rem,4vw,2.8rem)}.scene-dialogue{color:#40564a;font:1rem/1.72 var(--serif);background:#e6eee48c;border-left:3px solid #86a18a;border-radius:0 12px 12px 0;margin:18px 0;padding:15px 18px}.reflection-prompt{color:#405e4e;margin:22px 0 9px;font-weight:650;line-height:1.5}.reflection-note{resize:vertical;width:100%;min-height:62px;color:var(--ink);background:#ffffffb3;border:1px solid #cad5c8;border-radius:12px;padding:12px 14px;line-height:1.5;display:block}.reflection-note::placeholder{color:#8b988e}.memory-note,.content-note{color:#6b5c42;background:#f1eedf;border-radius:10px;padding:11px 14px;font-size:.84rem;line-height:1.55}.memory-note{color:#54705e;background:#eaf0e8}.transition-card{text-align:center}.transition-card .scene-prose{max-width:58ch;font:clamp(1.15rem,2.4vw,1.55rem)/1.65 var(--serif);margin:22px auto}.ending-card .screen-heading .lead{font-size:1.04rem}.ending-closing{color:#486a57;font:1.25rem/1.55 var(--serif);margin:21px 0}.story-threads{border-top:1px solid var(--line);margin-top:27px;padding-top:21px}.story-threads h2{font:500 1.45rem var(--serif)}.story-threads ul{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:0;list-style:none;display:grid}.story-threads li{border:1px solid var(--line);background:#ffffff72;border-radius:12px;padding:14px}.story-threads li p{color:#566b5e;margin:7px 0;font-size:.86rem;line-height:1.5}.story-threads li small{color:#78847a;line-height:1.45}.notice{color:#814b3c;background:#fff2ed;border:1px solid #d7b8a9;border-radius:12px;padding:13px 15px;line-height:1.5}.world-footer{z-index:2;color:#66766b;letter-spacing:.025em;justify-content:space-between;gap:16px;padding:12px clamp(18px,4vw,54px);font-size:.7rem;display:flex;position:relative}.settings-dialog{width:min(540px,100vw - 28px);max-height:calc(100svh - 24px);color:var(--ink);background:#fbf9f1;border:1px solid #42574733;border-radius:23px;padding:26px;box-shadow:0 24px 80px #26382b44}.settings-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1c2b235e}.dialog-close-row{justify-content:flex-end;display:flex}.icon-button{color:#3e5948;cursor:pointer;background:#edf1e8;border:0;border-radius:50%;width:42px;height:42px;font-size:1.5rem}.settings-dialog h2{font:500 2rem var(--serif);margin:0 0 18px}.setting-row{margin-top:9px}.settings-actions{justify-items:start;gap:5px;margin-top:16px;display:grid}.danger-text{color:#894d43!important}.settings-dialog .privacy-footnote{color:#758077;margin:17px 0 0;font-size:.75rem;line-height:1.55}.performance-details{border:1px solid var(--line);background:#f5f5ec;border-radius:13px;margin-top:14px;padding:12px 14px}.performance-details summary{color:var(--sage-dark);cursor:pointer;font-size:.84rem;font-weight:700}.performance-details dl{gap:7px;margin:12px 0 6px;display:grid}.performance-details dl>div{justify-content:space-between;gap:16px;font-size:.78rem;display:flex}.performance-details dt{color:var(--muted)}.performance-details dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.performance-details p{color:var(--muted);margin:8px 0 0;font-size:.7rem;line-height:1.5}.screen-heading h1[tabindex="-1"]:focus{outline:0}.how-to-play{color:#597163;margin:0 0 18px}.how-to-play summary{color:#41634f;cursor:pointer;width:max-content;max-width:100%;padding:7px 0;font-size:.86rem;font-weight:650}.how-to-play p{color:#617468;margin:7px 0 14px;font-size:.86rem;line-height:1.6}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=680px){.topbar{min-height:68px;padding:9px 14px}.brand{gap:7px}.brand svg{width:32px;height:32px}.brand strong{font-size:19px}.brand small{font-size:8px}.topbar-actions{gap:0}.quiet-button{min-height:42px;padding:8px 9px;font-size:.76rem}.return-link{display:none}.main-content{padding:16px 12px 17px}.screen{max-height:calc(100svh - 147px)}.start-card,.story-card{border-radius:21px;padding:22px 18px}.screen-heading h1{font-size:clamp(1.8rem,9vw,2.7rem)}.intro-copy,.scene-prose{font-size:.94rem;line-height:1.7}.choice-setting,.setting-row{padding:12px}.button-row{gap:9px}.button-row .button{flex:auto}.split-row .text-button{flex:none}.world-footer{padding:10px 15px;font-size:.64rem}.location-toolbar{gap:5px;margin-bottom:11px}.location-toolbar button{min-width:54px;padding:8px 10px;font-size:.72rem}.encounter-card .screen-heading h1{font-size:2rem}.world-fallback .fallback-tree{transform-origin:0 100%;left:9%;transform:scale(.76)}.world-fallback .fallback-pavilion{transform-origin:100% 100%;right:5%;transform:scale(.72)}}@media (width<=390px){.brand small{letter-spacing:.12em}.quiet-button{padding-inline:7px;font-size:.72rem}.world-footer span:last-child{text-align:right;max-width:46%}.screen-heading .lead{font-size:.96rem}.settings-dialog{padding:19px}.button{padding-inline:16px}}@media (width>=1200px){.main-content{padding-top:34px}.screen{max-height:calc(100svh - 180px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
