*{margin:0;padding:0;box-sizing:border-box}:root{--ink: #3b2a16;--ink-soft: #5a3f22;--parch-light: #f1e3bf;--parch: #e8d4a3;--parch-dark: #d8be86;--parch-shadow: #a98a52;--gold: #b8862f;--gold-light: #e0ad4f;--crimson: #7a2118;--crimson-light: #a8392c;--sage: #5c6b3e;--sage-light: #7d8f54}body{width:100vw;height:100vh;font-family:EB Garamond,Georgia,serif;background:radial-gradient(ellipse at top,#c9a25a,#8a6630 55%,#5e4420);overflow:hidden}.hidden{display:none!important}.text-sage{color:var(--sage)}.text-sage-light{color:var(--sage-light)}.text-gold{color:var(--gold)}.text-gold-light{color:var(--gold-light)}.text-crimson{color:var(--crimson)}.text-crimson-light{color:var(--crimson-light)}.text-ink{color:var(--ink)}.text-ink-soft{color:var(--ink-soft)}.text-parch-shadow{color:var(--parch-shadow)}.text-parch-light{color:var(--parch-light)}.fw-bold{font-weight:700}.text-italic{font-style:italic}.text-12{font-size:12px}.text-17{font-size:17px}.text-18{font-size:18px}.text-19{font-size:19px}.text-22{font-size:22px}.mt-5{margin-top:5px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-8{margin-bottom:8px}.mb-18{margin-bottom:18px}.mb-20{margin-bottom:20px}.mb-22{margin-bottom:22px}.mb-24{margin-bottom:24px}.mb-26{margin-bottom:26px}.mb-36{margin-bottom:36px}.ml-12{margin-left:12px}.lh-18{line-height:1.8}.flex-center{display:flex;gap:16px;margin-bottom:24px;justify-content:center}.full-width{grid-column:1 / -1}.w-full{width:100%}.cinzel{font-family:Cinzel,serif}.instructions-text{margin-top:20px;color:var(--ink-soft)}.mana-count{font-size:12px;margin-top:5px}.market-description{margin-bottom:22px;font-size:17px;line-height:1.8}.market-mood{font-style:italic;margin-top:8px;color:var(--ink-soft)}.market-silver-section{margin-bottom:22px;font-size:19px}.pause-description{margin-bottom:26px;font-size:18px}.game-over-summary{font-size:22px;margin-bottom:36px;line-height:1.8}.day-end-title{color:var(--crimson)}.stats-bar-track{width:100%;height:26px;background:#3b2a1640;border:2px solid var(--ink-soft);border-radius:6px;overflow:hidden}.stats-bar-fill{height:100%}.wellbeing-fill{background:linear-gradient(90deg,#6f8a3f,#91ab53)}.wealth-fill{background:linear-gradient(90deg,var(--gold),var(--gold-light))}#marketTriggerBtn,#hud,#healthBarContainer,#wealthBarContainer,#mobileControls{display:none}#healthBarFill{width:100%}#wealthBarFill{width:10%}#gameContainer{width:100%;height:100%;position:relative}#canvas{display:block;width:100%;height:100%}#loadingScreen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99999;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#c9a25a,#8a6630 55%,#5e4420);transition:opacity .6s ease;opacity:1}#loadingScreen.loading-hidden{opacity:0;pointer-events:none}.loading-content{background:radial-gradient(ellipse at 20% 15%,rgba(255,248,220,.5),transparent 55%),linear-gradient(135deg,var(--parch-light) 0%,var(--parch) 45%,var(--parch-dark) 100%);border:2px solid var(--parch-shadow);box-shadow:0 10px 26px #2818068c,inset 0 0 30px #78501e40,inset 0 0 2px #fff8dc99;color:var(--ink);border-radius:14px;padding:40px 46px 32px;width:min(86vw,460px);text-align:center}.loading-title{font-family:Cinzel,serif;font-size:26px;color:var(--crimson);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}.loading-subtitle{font-size:15px;font-style:italic;color:var(--ink-soft);margin-bottom:34px}.loading-bar-track{position:relative;width:100%;height:14px;margin:0 auto;border-radius:8px;background:var(--parch-shadow);border:1px solid var(--ink-soft);box-shadow:inset 0 2px 5px #28180680;overflow:visible}.loading-bar-fill{position:absolute;top:0;left:0;height:100%;width:0%;border-radius:8px;background:linear-gradient(90deg,var(--sage),var(--sage-light));box-shadow:0 0 10px #7c9a4cb3;transition:width .1s linear}.loading-mana-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.loading-mana{position:absolute;top:50%;width:10px;height:10px;margin-left:-5px;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#cfe8ff,#48f 60%,#1a4f9c);box-shadow:0 0 8px 2px #4488ffd9;animation:mana-twinkle 1.1s ease-in-out infinite;transition:left .4s ease}.loading-mana.collected{animation:none;transform:translateY(-50%) scale(0);opacity:0;transition:transform .35s ease,opacity .35s ease,left .4s ease}#beginJourneyBtn,#backToMenuBtn,#backToCharacterBtn{margin:auto}.svg-container{position:absolute;width:0;height:0;overflow:hidden}.final_score{position:relative;margin-bottom:36px;padding:2px;border-radius:14px;background:linear-gradient(-30deg,rgba(196,144,48,.5),transparent,rgba(196,144,48,.5));z-index:0;box-shadow:0 10px 26px #2818068c,0 0 10px #c4903066,0 0 20px #ffd70033}.final_score:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;border:2px solid rgba(196,144,48,.8);filter:url(#electric-displace);z-index:1;pointer-events:none}.final_score:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;border:2px solid rgba(255,215,0,.6);filter:blur(4px);z-index:0;pointer-events:none}.final-score-inner{position:relative;z-index:2;background:radial-gradient(ellipse at 20% 15%,rgba(255,248,220,.5),transparent 55%),linear-gradient(135deg,var(--parch-light) 0%,var(--parch) 45%,var(--parch-dark) 100%);border-radius:12px;padding:16px 24px;font-size:22px;line-height:1.8;color:var(--ink);box-shadow:inset 0 0 30px #78501e40,inset 0 0 2px #fff8dc99}.final-score-content{position:relative;z-index:3}.final-score-inner:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:12px;opacity:.6;mix-blend-mode:overlay;transform:scale(1.05);filter:blur(12px);background:linear-gradient(-30deg,rgba(255,255,255,.8),transparent 30%,transparent 70%,rgba(255,255,255,.8));pointer-events:none;z-index:1}.final-score-inner:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:12px;opacity:.4;mix-blend-mode:overlay;transform:scale(1.05);filter:blur(12px);background:linear-gradient(-30deg,rgba(255,255,255,.6),transparent 30%,transparent 70%,rgba(255,255,255,.6));pointer-events:none;z-index:1;animation:shimmer 3s ease-in-out infinite}#saveGameContainer{display:none;margin-bottom:20px;border:2px solid var(--gold-light);padding:15px;border-radius:8px;background:#0003}#saveGameContainer h3{margin-top:0;font-size:20px;color:var(--ink)}@keyframes shimmer{0%,to{opacity:.3}50%{opacity:.6}}@keyframes mana-twinkle{0%,to{opacity:.8;transform:translateY(-50%) scale(.9)}50%{opacity:1;transform:translateY(-50%) scale(1.15)}}.loading-character{position:absolute;bottom:100%;left:6%;width:26px;height:32px;margin-left:-13px;margin-bottom:-4px;transform:translate(0) scaleX(1)}.lc-head{position:absolute;top:0;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#ffdbac;border:1px solid var(--ink-soft)}.lc-body{position:absolute;top:12px;left:50%;width:18px;height:14px;margin-left:-9px;border-radius:5px 5px 3px 3px;background:var(--crimson-light);border:1px solid var(--ink-soft)}.lc-leg{position:absolute;top:24px;width:5px;height:9px;border-radius:2px;background:var(--ink-soft);transform-origin:top center}.lc-leg-l{left:6px;animation:lc-walk-l .4s ease-in-out infinite}.lc-leg-r{right:6px;animation:lc-walk-r .4s ease-in-out infinite}@keyframes lc-walk-l{0%,to{transform:rotate(28deg)}50%{transform:rotate(-28deg)}}@keyframes lc-walk-r{0%,to{transform:rotate(-28deg)}50%{transform:rotate(28deg)}}.loading-percent{margin-top:16px;font-family:Cinzel,serif;font-size:14px;letter-spacing:1px;color:var(--ink-soft)}.hud,.health-bar-container,.wealth-bar-container,.mobile-controls,.modal,.about-panel{background:radial-gradient(ellipse at 20% 15%,rgba(255,248,220,.5),transparent 55%),linear-gradient(135deg,var(--parch-light) 0%,var(--parch) 45%,var(--parch-dark) 100%);border:2px solid var(--parch-shadow);box-shadow:0 10px 26px #2818068c,inset 0 0 30px #78501e40,inset 0 0 2px #fff8dc99;color:var(--ink)}.hud{position:absolute;top:20px;left:20px;border-radius:10px;padding:16px 20px;z-index:30;font-size:19px;min-width:220px}.hud-item{margin-bottom:8px;font-weight:700;font-size:18px;letter-spacing:.3px;color:var(--ink);font-family:Cinzel,serif}.hud-time{font-family:Cinzel,serif;font-size:23px;font-weight:700;color:var(--crimson);margin-bottom:8px;border-bottom:1px solid var(--parch-shadow);padding-bottom:6px}.hud-sickness{display:none!important}.hud-mana{font-family:Cinzel,serif;font-size:19px;font-weight:700;color:var(--sage);margin-top:4px}.hud-location,#location-display{display:none!important}.status-bars{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:12px;width:min(380px,88vw);z-index:40}.health-bar-container,.wealth-bar-container{border-radius:10px;padding:12px 18px;border:2px solid var(--ink-soft)}.health-bar-label,.wealth-bar-label{text-align:center;font-family:Cinzel,serif;font-size:15px;margin-bottom:8px;font-weight:700;letter-spacing:.4px}.health-bar-label{color:var(--crimson)}.wealth-bar-label{color:var(--gold)}.health-bar,.wealth-bar{width:100%;height:22px;background:#3b2a1640;border:2px solid var(--ink-soft);border-radius:6px;overflow:hidden;box-shadow:inset 0 3px 6px #00000059}.health-bar-fill{height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,#6f8a3f,#91ab53)}.wealth-bar-fill{height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,var(--gold),var(--gold-light));box-shadow:0 0 10px #b8862f99}.location-popup{position:absolute;bottom:130px;left:20px;z-index:30;border-radius:6px;padding:10px 16px;display:none}.location-popup.active{display:block;animation:modalPop .3s cubic-bezier(.175,.885,.32,1.275)}.location-popup-content{font-family:Cinzel,serif;font-size:14px;color:var(--ink);text-transform:uppercase;letter-spacing:1px}.mobile-controls{position:absolute;top:50%;right:30px;transform:translateY(-50%);z-index:30;display:grid;grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,60px);gap:8px;padding:12px;border-radius:10px}@media (max-width: 600px){.mobile-controls{grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,60px);justify-items:center;left:15px;top:50%;transform:translateY(-50%);width:auto;height:auto}.mobile-controls>div{display:none}}.arrow-btn{width:60px;height:60px;border-radius:6px;border:2px solid var(--ink-soft);background:linear-gradient(145deg,#8a6125,#5e4118);color:var(--parch-light);font-size:24px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 5px #4a3414,0 7px 16px #0006;transition:all .1s ease;display:flex;align-items:center;justify-content:center;font-family:Cinzel,serif}#difficultyModal{height:90vh;width:84vw;text-align:center;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--parch-shadow) transparent}#difficultyModal::-webkit-scrollbar{width:6px}#difficultyModal::-webkit-scrollbar-track{background:transparent}#difficultyModal::-webkit-scrollbar-thumb{background:var(--parch-shadow);border-radius:3px}#difficultyModal::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}.btn-jump{background:linear-gradient(145deg,#c49030,#8a6125);color:#3d2a06;border-color:#6d4d1f}.arrow-btn:active{transform:translateY(4px);box-shadow:0 1px #4a3414,0 3px 8px #0000004d}.modal{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);padding:40px 50px;border-radius:6px;text-align:center;z-index:100;max-width:620px;width:90vw;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;border:3px solid var(--ink-soft);outline:1px solid var(--gold);outline-offset:-8px;animation:modalPop .4s cubic-bezier(.175,.885,.32,1.275)}.modal.active{display:block!important}@keyframes modalPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.modal h1{font-family:Cinzel Decorative,serif;font-size:44px;margin-bottom:22px;color:var(--crimson);text-shadow:0 2px 0 rgba(255,248,220,.4);letter-spacing:1px}.modal h2{font-family:Cinzel Decorative,serif;font-size:30px;margin-bottom:26px;color:var(--ink-soft)}.modal p{font-size:19px;margin-bottom:22px;line-height:1.65;color:var(--ink);font-style:italic}.modal button{padding:14px 38px;font-family:Cinzel,serif;font-size:19px;border:none;border-radius:4px;cursor:pointer;font-weight:700;margin:8px;transition:all .2s ease;box-shadow:0 5px #0000004d,0 7px 16px #0000004d;text-transform:uppercase;letter-spacing:1px;position:relative}.modal button:active{transform:translateY(3px);box-shadow:0 2px #0000004d,0 3px 8px #0000004d}.btn-primary{background:linear-gradient(135deg,var(--crimson-light),var(--crimson));color:var(--parch-light);font-size:20px;padding:16px 44px;border:1px solid var(--gold)}.btn-primary:hover{background:linear-gradient(135deg,#b8453a,var(--crimson-light));transform:translateY(-2px)}.btn-difficulty{color:var(--ink);margin:10px 6px;padding:28px 20px;border-radius:12px;font-size:18px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:2px solid var(--ink-soft);box-shadow:0 6px #0000004d,0 12px 24px #00000040,inset 0 2px #ffffff26,0 0 10px #c4903066,0 0 20px #ffd70033;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;min-height:140px;position:relative;overflow:hidden}.btn-difficulty:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:2px solid rgba(196,144,48,.8);filter:url(#electric-displace);z-index:-1;pointer-events:none}.btn-difficulty:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-difficulty:hover:before{left:100%}.btn-difficulty.single{background:linear-gradient(160deg,#a8c98a,#7d9e5a,#5c7a3d);color:#1a2810;border-color:#3d5228;transform:scale(.95)}.btn-difficulty.couple{background:linear-gradient(160deg,#f0c060,#d4952a,#b87820);color:#3d2a06;border-color:#8a5a18;transform:scale(1)}.btn-difficulty.family{background:linear-gradient(160deg,#e8786a,#c43d35,#8b2520);color:var(--parch-light);border-color:#6a1a16;transform:scale(1.05);box-shadow:0 8px #00000059,0 16px 32px #0000004d,inset 0 2px #fff3,0 0 10px #c4903066,0 0 20px #ffd70033}.btn-difficulty:hover{transform:translateY(-8px) scale(var(--hover-scale, 1))}.btn-difficulty.single:hover{--hover-scale: 1}.btn-difficulty.couple:hover{--hover-scale: 1.02}.btn-difficulty.family:hover{--hover-scale: 1.08}.btn-difficulty:active{transform:translateY(-2px);box-shadow:0 2px #0000004d,0 4px 8px #0000004d}.difficulty-icon{font-size:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:transform .3s ease}.btn-difficulty:hover .difficulty-icon{transform:scale(1.2) rotate(5deg)}.difficulty-name{font-size:24px;font-family:Cinzel,serif;font-weight:700;letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.difficulty-quota{font-size:15px;opacity:.9;font-weight:700;font-family:Cinzel,serif;letter-spacing:1px}.difficulty-desc{font-size:13px;opacity:.85;font-weight:500;font-family:EB Garamond,Georgia,serif;font-style:italic}.btn-secondary{background:#3b2a1614;color:var(--ink);border:2px solid var(--ink-soft);box-shadow:0 5px #00000026,0 7px 16px #0003}.btn-secondary:hover{background:#3b2a1629;transform:translateY(-2px)}.character-selector{margin-bottom:20px;padding-bottom:24px;border-bottom:2px solid rgba(90,63,34,.35)}.character-btn{position:relative;z-index:0;padding:16px 24px;font-family:Cinzel,serif;font-size:16px;background:#3b2a160f;color:var(--ink);border:2px solid var(--ink-soft);border-radius:8px;cursor:pointer;font-weight:700;text-transform:capitalize;margin:6px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px #0000001f;letter-spacing:.5px;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:90px}.character-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:2px solid rgba(196,144,48,.8);filter:url(#electric-displace);z-index:-1;pointer-events:none}.character-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:2px solid rgba(255,215,0,.6);filter:blur(4px);z-index:-2;pointer-events:none}.char-icon{font-size:24px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.char-name{font-size:14px;letter-spacing:.5px}.character-btn:hover{background:#3b2a1624;transform:translateY(-4px);box-shadow:0 7px #0000002e,0 10px 20px #00000026}.character-btn.selected{background:linear-gradient(160deg,var(--gold-light) 0%,#c49030 100%);border-color:var(--ink-soft);color:#3d2a06;box-shadow:0 6px #8a6125,0 10px 24px #b8862f59;transform:translateY(-3px)}.character-btn.selected .char-icon{transform:scale(1.15)}.difficulty-selector{margin-bottom:24px}.character-buttons,.difficulty-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;width:100%;margin:0}.tribe-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:100%;margin:0}@media (max-width: 768px){.tribe-buttons{grid-template-columns:repeat(3,1fr)}}@media (max-width: 480px){.tribe-buttons{grid-template-columns:repeat(2,1fr)}}.tribe-btn{--tribe-color: var(--gold);position:relative;z-index:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;background:#3b2a1614;border:2px solid var(--ink-soft);border-radius:10px;color:var(--ink);font-family:Cinzel,serif;cursor:pointer;box-shadow:0 4px #00000026,0 6px 12px #00000026,0 0 10px #c4903066,0 0 20px #ffd70033;transition:all .25s ease;min-width:0}.tribe-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:2px solid rgba(196,144,48,.8);filter:url(#electric-displace);z-index:-1;pointer-events:none}.tribe-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:2px solid rgba(255,215,0,.6);filter:blur(4px);z-index:-2;pointer-events:none}.tribe-btn.selected{background:linear-gradient(160deg,var(--gold-light) 0%,#c49030 100%);border-color:var(--ink-soft);color:#3d2a06;box-shadow:0 6px #8a6125,0 10px 24px #b8862f59,0 0 10px #c4903066,0 0 20px #ffd70033;transform:translateY(-3px)}.tribe-btn:hover{background:#3b2a1624;transform:translateY(-4px);box-shadow:0 7px #0000002e,0 10px 20px #00000026,0 0 10px #c4903066,0 0 20px #ffd70033}.tribe-swatch{width:22px;height:22px;border-radius:50%;border:2px solid rgba(0,0,0,.25);box-shadow:inset 0 0 0 2px #ffffff40}.tribe-name{font-size:14px;letter-spacing:.5px;font-weight:600}.tribe-epithet{font-size:11px;font-style:italic;opacity:.85}.tribe-quota{font-size:11px;letter-spacing:.5px;opacity:.9}.section-title{font-family:Cinzel,serif;font-size:18px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:3px;margin-bottom:18px;text-align:center;position:relative}.section-title:after{content:"";display:block;width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:8px auto 0}.section-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px 0}.divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--ink-soft),transparent);opacity:.5}.divider-icon{font-size:18px;opacity:.7}#difficultyModal .btn-secondary{background:linear-gradient(160deg,#3b2a161a,#3b2a1633);color:var(--ink);border:2px solid var(--ink-soft);box-shadow:0 4px #00000026,0 6px 12px #00000026;transition:all .25s ease;letter-spacing:1px}.btn-back{display:flex;align-items:center;gap:8px;font-family:Cinzel,serif;font-weight:600;text-transform:uppercase;font-size:14px;letter-spacing:2px;margin:8px auto;width:fit-content}.back-icon{font-size:16px;transition:transform .25s ease}#difficultyModal .btn-secondary:hover{background:linear-gradient(160deg,#3b2a162e,#3b2a1647);transform:translateY(-3px);box-shadow:0 7px #0003,0 10px 20px #0000002e}#difficultyModal .btn-secondary:hover .back-icon{transform:translate(-4px)}.difficulty-header{text-align:center;margin-bottom:8px}.difficulty-header h2{font-family:Cinzel Decorative,serif;font-size:28px;color:var(--crimson);text-shadow:0 2px 4px rgba(0,0,0,.2);letter-spacing:2px;margin:0 0 8px}.difficulty-subtitle{font-family:EB Garamond,Georgia,serif;font-size:16px;font-style:italic;color:var(--ink-soft);opacity:.9;margin:0}.difficulty-buttons button,.character-buttons button{width:100%;box-sizing:border-box;min-width:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px;font-size:17px;background:#3b2a1612;padding:20px;border-radius:6px;border:1px solid var(--parch-shadow)}.stat-item{font-family:Cinzel,serif;font-size:16px;line-height:1.6;color:var(--ink)}.day-number{color:var(--crimson);font-family:Cinzel,serif}.mana-count{color:var(--sage);font-family:Cinzel,serif}.btn-continue{background:linear-gradient(135deg,var(--sage-light),var(--sage));color:var(--parch-light);font-size:20px;padding:16px 44px;border:1px solid #3f4a28}.btn-continue:hover{background:linear-gradient(135deg,#8da062,var(--sage-light));transform:translateY(-2px)}.btn-gameover{background:linear-gradient(135deg,var(--crimson-light),var(--crimson));color:var(--parch-light)}.btn-gameover:hover{background:linear-gradient(135deg,#b8453a,var(--crimson-light));transform:translateY(-2px)}.controls-top-right{position:absolute;top:20px;right:20px;z-index:50;display:flex;flex-direction:column;gap:12px}.icon-btn{width:48px;height:48px;border-radius:50%;border:2px solid var(--ink-soft);background:linear-gradient(135deg,var(--parch-light),var(--parch-dark));color:var(--ink);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 10px #00000059}.icon-btn:hover{transform:translateY(-2px) scale(1.06)}.about-panel{position:absolute;top:0;right:-440px;width:400px;height:100%;border-left:3px solid var(--ink-soft);z-index:145;transition:right .4s cubic-bezier(.4,0,.2,1);padding:40px 30px;border-radius:0;max-height:100vh;overflow-y:auto}.about-panel.open{right:0}.about-panel h2{font-family:Cinzel Decorative,serif;font-size:24px;color:var(--crimson);margin-bottom:22px;text-transform:uppercase;letter-spacing:2px}.about-panel p{font-size:17px;line-height:1.7;margin-bottom:16px;color:var(--ink)}.about-panel .close-btn{position:absolute;top:16px;right:16px;background:var(--parch-dark);border:2px solid var(--ink-soft);color:var(--ink);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}.about-panel .close-btn:hover{background:var(--crimson);color:var(--parch-light);transform:rotate(90deg)}.icon-btn:active{transform:scale(.95)}.modal h3{font-family:Cinzel,serif;font-size:20px;color:var(--ink-soft);margin-bottom:16px}@keyframes bounceIn{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes glowPulse{0%,to{text-shadow:0 0 4px rgba(184,134,47,.3)}50%{text-shadow:0 0 14px rgba(184,134,47,.8)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-40px) scale(1.2);opacity:0}}@keyframes starBurst{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.3) rotate(180deg);opacity:.8}to{transform:scale(0) rotate(360deg);opacity:0}}@keyframes rainbowShift{0%{filter:sepia(.2)}50%{filter:sepia(.6) saturate(1.4)}to{filter:sepia(.2)}}@keyframes popIn{0%{transform:scale(0) translateY(20px);opacity:0}60%{transform:scale(1.05) translateY(-5px)}to{transform:scale(1) translateY(0);opacity:1}}@keyframes fadeInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}#difficultyModal.active .difficulty-header{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) forwards}#difficultyModal.active .character-selector{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) .15s forwards;opacity:0}#difficultyModal.active .difficulty-selector{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) .3s forwards;opacity:0}#difficultyModal.active .btn-back{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) .45s forwards;opacity:0}.hud-item.updated{animation:bounceIn .5s cubic-bezier(.175,.885,.32,1.275)}.hud-time.updated{animation:glowPulse .6s ease-out}.hud-sickness.warning{animation:shake .5s ease-in-out}.health-bar-fill.pulse,.wealth-bar-fill.pulse{animation:pulse .4s ease-in-out}.score-pop{position:absolute;font-family:Cinzel,serif;font-size:26px;font-weight:700;color:var(--gold);text-shadow:0 2px 4px rgba(0,0,0,.6);pointer-events:none;z-index:40;animation:floatUp 1s ease-out forwards}.star-burst{position:absolute;width:30px;height:30px;pointer-events:none;z-index:40;animation:starBurst .8s ease-out forwards}.star-burst:before{content:"✦";font-size:28px;color:var(--gold);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.location-flash{animation:rainbowShift 1s linear}.mobile-controls button:active{transform:scale(.9);transition:transform .1s}.btn-difficulty.pop-in,.character-btn.pop-in{animation:popIn .5s cubic-bezier(.175,.885,.32,1.275) forwards}.market-btn{position:absolute;top:50%;left:50%;transform:translate(-50%);margin-top:60px;z-index:30}.market-trigger-btn{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:30;font-family:Cinzel,serif;font-size:15px;font-weight:700;padding:10px 22px;border-radius:6px;cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#3d2a06;border:2px solid var(--ink-soft);box-shadow:0 5px #00000040,0 7px 16px #0000004d;transition:all .2s ease}.market-trigger-btn:hover{transform:translate(-50%) translateY(-2px)}@media (max-width: 768px){.character-buttons,.difficulty-buttons{grid-template-columns:1fr}}@media (max-width: 768px){.hud{top:10px;left:10px;padding:10px 14px;font-size:16px;min-width:160px}.hud-time{font-size:18px;margin-bottom:6px}.hud-item{font-size:14px;margin-bottom:6px}.hud-mana,.hud-location{font-size:14px}.status-bars{bottom:14px;width:92vw}.market-trigger-btn{font-size:13px;padding:8px 16px}.modal{padding:26px 18px;width:92vw}.modal h1{font-size:30px}.modal h2{font-size:23px}.stats-grid{grid-template-columns:1fr;gap:12px}.btn-primary,.btn-difficulty,.btn-continue,.btn-gameover,.btn-secondary{font-size:16px;padding:12px 26px;margin:6px}.character-btn{font-size:14px;padding:9px 18px;margin:6px}#difficultyModal.active{display:flex!important;flex-direction:column;gap:16px;align-items:center;max-height:90vh;overflow-y:auto;border:3px solid rgba(139,115,85,.6)}#difficultyModal.active{box-shadow:0 0 60px #5a3f224d,inset 0 0 30px #78501e1a}#difficultyModal h2{flex-shrink:0;margin:0}.modal-scroll{flex:1 1 auto;overflow-y:auto;padding-right:8px;width:100%}#difficultyModal .btn-secondary{flex-shrink:0;align-self:center;margin-top:auto;margin-bottom:8px}#difficultyModal h2{font-size:20px}.difficulty-header h2{font-size:22px}.character-buttons,.difficulty-buttons{grid-template-columns:1fr;gap:12px;margin:auto;grid-auto-columns:min-content;width:fit-content}.btn-difficulty{min-height:120px}.difficulty-icon{font-size:24px}.difficulty-desc{font-size:12px}}.market-status{margin:14px 0;padding:12px 16px;border-radius:8px;border:2px solid var(--ink-soft);background:#3b2a1626;font-family:Cinzel,serif;font-size:15px;text-align:center}.market-status-shortage{border-color:var(--crimson);background:#7a21181f;color:var(--crimson)}.market-status-glut{border-color:var(--sage);background:#5c6b3e1f;color:var(--sage)}.market-status-surplus{border-color:var(--gold);background:#b8862f1f;color:var(--gold)}.market-status-balanced{border-color:var(--ink-soft);color:var(--ink)}.narrative-toasts{position:fixed;top:84px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:210;pointer-events:none;width:min(560px,92vw)}.narrative-toast{font-family:EB Garamond,Georgia,serif;font-style:italic;font-size:17px;color:var(--parch-light);background:#140c04d1;border:1px solid var(--gold);border-radius:8px;padding:10px 20px;text-align:center;box-shadow:0 6px 18px #00000080;opacity:0;transform:translateY(-8px);transition:opacity .5s ease,transform .5s ease}.narrative-toast.show{opacity:1;transform:translateY(0)}#eveningModal{max-height:90vh;overflow-y:auto}.evening-narrative{font-style:italic;color:var(--ink-soft);margin-bottom:22px}.evening-option{border:2px solid var(--ink-soft);border-radius:8px;padding:16px 20px;margin-bottom:18px;background:#3b2a161f;text-align:left}.evening-option-muted{opacity:.6}.evening-option-title{font-family:Cinzel,serif;font-size:20px;font-weight:700;color:var(--crimson);margin-bottom:8px}.evening-option-title .fa-crown{color:var(--gold)}.evening-option-title .fa-staff-snake{color:var(--sage)}.evening-option-desc{font-size:16px;line-height:1.6;color:var(--ink);margin-bottom:14px}.evening-cost{color:var(--gold);font-weight:700}.evening-risk{color:var(--crimson);font-weight:700}.evening-option .btn-primary{margin:0}.evening-option .btn-primary:disabled{background:linear-gradient(135deg,#9a9384,#7c7568);border-color:var(--parch-shadow);cursor:not-allowed;box-shadow:none;opacity:.85}.faith-stats{margin-top:8px}.faith-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 4px;border-bottom:1px dashed var(--parch-shadow);font-family:Cinzel,serif;font-size:16px;color:var(--ink)}.faith-row span:last-child{font-weight:700;color:var(--crimson)}.gameover-faith{margin:8px 0 24px;padding:16px 20px;border:2px solid var(--gold);border-radius:8px;background:#3b2a161f}.gameover-faith-rating{font-family:Cinzel,serif;font-size:20px;color:var(--gold);margin-bottom:12px}.gameover-faith-rating span{font-weight:700;color:var(--crimson)}.gameover-faith-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:15px;color:var(--ink);text-align:left}[hidden],.icon-btn[hidden]{display:none!important}html,body,#gameContainer{height:100%;height:100dvh;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #1c6370;outline-offset:3px}button:disabled{opacity:.55;cursor:default}#canvas,.arrow-btn{touch-action:none}.controls-top-right{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));flex-direction:row;gap:8px}.controls-top-right .icon-btn{width:44px;height:44px}#creditsModal{z-index:180}.modal{max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain}.about-panel{width:min(400px,100vw);max-height:100dvh;padding-top:max(64px,env(safe-area-inset-top))}#survivalHud{position:absolute;top:85px;right:16px;z-index:35;width:min(300px,42vw);display:grid;gap:7px;padding:14px;border-radius:10px;background:#272014d9;color:#fff2cb;pointer-events:none}#survivalHud button{pointer-events:auto;padding:10px;border:1px solid #ddc488;border-radius:6px;color:#fff2cb;background:#51623b;min-height:44px}#survivalHud small{line-height:1.4;opacity:.8}#survivalWeather{color:#aadce4}.hud{pointer-events:none;font-size:15px;padding:12px;min-width:180px}.hud-item{font-size:15px}.hud-time{font-size:18px}.wealth-bar-container{display:none!important}.status-bars{bottom:max(16px,env(safe-area-inset-bottom));width:min(320px,70vw);pointer-events:none}.health-bar-container{padding:8px 12px}.health-bar-label{font-size:12px}.health-bar{height:12px}.mobile-controls{top:auto;bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));right:auto;transform:none;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);gap:5px;padding:8px;background:#ebd5a2b3}.mobile-controls>div{display:block}.arrow-btn{width:48px;height:48px}#btnUp{grid-column:2;grid-row:1}#btnLeft{grid-column:1;grid-row:2}#btnJump{grid-column:2;grid-row:2}#btnRight{grid-column:3;grid-row:2}#btnDown{grid-column:2;grid-row:3}.menu-subtitle{opacity:.75;font-size:16px!important}#beginJourneyBtn{margin:12px auto;background:transparent;color:var(--ink);box-shadow:none;font-size:15px}#saveGameContainer{margin-top:18px}@media (max-width: 650px){.modal,#difficultyModal{width:calc(100vw - 24px);padding:26px 18px;height:auto;max-width:none}.modal h1{font-size:clamp(21px,6vw,30px)}.modal h2{font-size:23px}.modal p{font-size:16px}.modal button{min-height:44px;max-width:100%;white-space:normal}.tribe-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.tribe-btn{min-width:0}.controls-top-right{gap:5px}.controls-top-right .icon-btn{width:44px;height:44px}#faithBtn{display:none}.hud{top:max(12px,env(safe-area-inset-top));left:12px;min-width:0;width:125px;padding:8px}.hud-item{font-size:12px;margin-bottom:4px}.hud-time{font-size:14px;margin-bottom:0;padding-bottom:0;border:0}.hud>.hud-item:first-child,#money-display{display:none}#survivalHud{top:max(84px,calc(env(safe-area-inset-top) + 72px));right:12px;left:12px;width:auto;padding:10px;gap:4px;font-size:13px}#survivalHud small{font-size:11px}#survivalHud button{justify-self:end;min-height:44px}.status-bars{left:auto;right:12px;bottom:max(18px,env(safe-area-inset-bottom));transform:none;width:calc(100vw - 202px);max-width:240px}.health-bar-label{font-size:11px;line-height:1.4}.location-popup{display:none!important}.about-panel{padding:64px 20px 24px}.flex-center,.pause-buttons{flex-wrap:wrap}}@media (max-height: 500px) and (orientation: landscape){#survivalHud{left:auto;top:65px;right:12px;width:235px}#survivalGuide{display:none}.mobile-controls{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);padding:5px;gap:2px}.arrow-btn{width:44px;height:44px}.status-bars{left:50%;right:auto;transform:translate(-50%);width:220px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width: 650px){.day-announcement{top:34%!important;max-width:calc(100vw - 32px);width:max-content;font-size:15px!important;padding:10px 14px!important}.narrative-toasts{top:auto;bottom:220px;left:12px;right:12px;width:auto;transform:none;max-width:none}.narrative-toast{font-size:13px;padding:8px}}@media (max-height: 500px){.modal h1{font-size:28px;margin-bottom:12px}.modal p{font-size:15px;margin-bottom:12px}.modal{padding:20px 24px}.modal button{padding:10px 20px;font-size:15px}.day-announcement{top:42%!important;font-size:14px!important;padding:8px 12px!important}.narrative-toasts{top:auto;bottom:90px;max-width:280px}.narrative-toast{font-size:12px;padding:6px}}
