:root{--font-title: "Cinzel Decorative", serif;--font-ui: "Cinzel", serif;--font-prose: "Cormorant Garamond", serif}body,body.yuga-kali{--c-bg: #0a0a10;--c-surface: #11111a;--c-border: #2a2a3a;--c-text: #e8e0d0;--c-text-muted: #7a7080;--c-gold: #c9a84c;--c-gold-dim: #7a6530;--c-adharma: #6b21a8;--c-kali-red: #8b1a1a;--c-modal-overlay: rgba(0, 0, 0, .85)}body.yuga-satya{--c-bg: #1c180f;--c-surface: #262115;--c-text: #f5eedc;--c-gold: #e6b840;--c-border: #4a3d20}body.yuga-treta{--c-bg: #1a0800;--c-surface: #2a1200;--c-text: #f5d0a0;--c-gold: #e07020;--c-border: #4a2200}body.yuga-dvapara{--c-bg: #0d0d12;--c-surface: #15151c;--c-text: #c8c0b0;--c-gold: #8a9aba;--c-border: #2a2a3a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--c-bg);color:var(--c-text);font-family:var(--font-prose);font-size:19px;line-height:1.9;height:100vh;overflow:hidden;transition:background-color 2s cubic-bezier(.4,0,.2,1),color 2s ease}#landing-page{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0a0a10;display:flex;align-items:flex-start;justify-content:center;z-index:1000;color:#e8e0d0;overflow-y:auto;padding:4rem 1rem;transition:opacity 1.5s ease,visibility 1.5s ease}#landing-content{max-width:800px;text-align:center;padding:2rem;opacity:0;animation:slideUpFade 2s ease forwards .5s}.landing-title{font-family:var(--font-title);font-size:3.5rem;color:#c9a84c;letter-spacing:.15em;margin-bottom:.5rem;text-shadow:0 0 20px rgba(200,168,76,.2)}.landing-subtitle{font-family:var(--font-ui);font-size:1.5rem;letter-spacing:.4em;color:#7a7080;margin-bottom:3rem;text-transform:uppercase}.landing-context{margin-bottom:4rem}.landing-context p{margin-bottom:1.5rem;font-size:1.1rem;color:#c8c0b0;line-height:1.8}#begin-btn{background:transparent;border:1px solid #7a6530;color:#c9a84c;font-family:var(--font-ui);font-size:1.2rem;padding:1rem 3rem;margin-bottom:4rem;cursor:pointer;letter-spacing:.15em;transition:all .3s ease}#begin-btn:hover{background:#c9a84c1a;border-color:#c9a84c;box-shadow:0 0 15px #c8a84c33}.landing-actions{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:4rem}#resume-btn{background:transparent;border:1px solid #e07020;color:#f5d0a0;font-family:var(--font-ui);font-size:1rem;padding:.8rem 2.5rem;cursor:pointer;letter-spacing:.15em;transition:all .3s ease;position:relative;overflow:hidden}#resume-btn:hover{background:#e070201a;border-color:#f5d0a0;box-shadow:0 0 20px #e0702033}#resume-btn.hidden{display:none}.hidden-fade{opacity:0;visibility:hidden;pointer-events:none}#game-container{display:flex;flex-direction:column;height:100vh;width:100vw;position:relative}#vfx-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;overflow:hidden;opacity:.4}.particle{position:absolute;pointer-events:none;border-radius:50%;will-change:transform,opacity}.particle.ash{background:#fff9;box-shadow:0 0 2px #fff3;animation:floatAsh 20s linear infinite}.particle.ember{background:#f50;box-shadow:0 0 8px #fa0,0 0 15px #f506;animation:floatEmber 12s linear infinite,emberPulse 2s ease-in-out infinite alternate}@keyframes floatAsh{0%{transform:translateY(110vh) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translate(150px,-10vh) rotate(360deg);opacity:0}}@keyframes floatEmber{0%{transform:translateY(110vh) scale(1);opacity:0}20%{opacity:1;transform:translate(-20px,80vh) scale(1.2)}80%{opacity:1;transform:translate(40px,20vh) scale(1.1)}to{transform:translate(100px,-10vh) scale(.5);opacity:0}}@keyframes emberPulse{0%{filter:brightness(1);transform:scale(1)}to{filter:brightness(2);transform:scale(1.3)}}.film-grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;pointer-events:none;background:url(https://upload.wikimedia.org/wikipedia/commons/thumb/7/76/1k_Static_Grain.png/1024px-1k_Static_Grain.png);opacity:.05;mix-blend-mode:overlay}#top-bar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:1rem 3rem;border-bottom:1px solid var(--c-border);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.15em;background-color:var(--c-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;box-shadow:0 4px 30px #00000080}#layout-grid{flex:1 1 auto;display:grid;grid-template-columns:280px 1fr 280px;max-width:100%;width:100%;overflow-y:auto;background:transparent;z-index:10;position:relative}@media (max-width: 1100px){#layout-grid{grid-template-columns:1fr}#companion-panel,#secondary-panel{display:none}}#scene-title{font-weight:600;color:var(--c-gold);font-size:1rem}#stats-strip{display:flex;gap:2rem}.stat-container{width:130px}.stat-meta{display:flex;justify-content:space-between;margin-bottom:.4rem;font-size:.65rem}.stat-label{color:var(--c-text-muted)}.progress-bg{height:3px;background:#ffffff0d;border-radius:1px;overflow:hidden}.progress-fill{height:100%;width:0%;transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-fill.gold{background:var(--c-gold);box-shadow:0 0 10px #c9a84c80}.progress-fill.saffron{background:#e07020;box-shadow:0 0 10px #e0702080}.progress-fill.violet{background:var(--c-adharma);box-shadow:0 0 10px #6b21a880}.stat-pulse{animation:barPulse .6s cubic-bezier(.34,1.56,.64,1)}@keyframes barPulse{0%{filter:brightness(1) drop-shadow(0 0 0 transparent)}50%{filter:brightness(2.5) drop-shadow(0 0 15px currentColor);transform:scaleY(2.5)}to{filter:brightness(1) drop-shadow(0 0 0 transparent)}}#stats-strip span[id^=stat-]{display:inline-block;transition:all .3s ease;font-weight:700}.val-pop{animation:valPop .6s cubic-bezier(.34,1.56,.64,1)}.float-delta{position:absolute;font-family:var(--font-title);font-size:1.2rem;font-weight:700;pointer-events:none;z-index:1000;text-shadow:0 0 10px rgba(0,0,0,.8);animation:floatUpFade 1.2s forwards cubic-bezier(.22,1,.36,1)}#notification-overlay{position:fixed;top:15%;left:50%;transform:translate(-50%);z-index:3000;pointer-events:none}.awakening-toast{background:#11111af2;border:1px solid var(--c-gold);padding:1rem 3rem;color:var(--c-gold);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.3em;font-size:.8rem;box-shadow:0 0 30px #c9a84c4d;animation:toastIn 3s forwards cubic-bezier(.19,1,.22,1)}@keyframes toastIn{0%{opacity:0;transform:translateY(-30px) scale(.9);filter:blur(10px)}15%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}85%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-10px) scale(1.05);filter:blur(5px)}}.companion-slot.awakened-pop{animation:awakenedPop .8s cubic-bezier(.34,1.56,.64,1)}@keyframes awakenedPop{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.4);filter:brightness(4) drop-shadow(0 0 20px var(--c-gold))}to{transform:scale(1);filter:brightness(1)}}#companion-panel{padding:3rem 1.5rem;border-right:1px solid var(--c-border);background:var(--c-bg)}#companions-list{display:flex;flex-direction:column;gap:1rem}.companion-slot{display:flex;align-items:center;gap:1rem;padding:.75rem;opacity:.15;filter:grayscale(1);transition:all .5s ease;border:1px solid transparent}.companion-slot.discovered{opacity:1;filter:grayscale(0);cursor:pointer;border-left:2px solid var(--c-gold)}.companion-slot.discovered:hover .companion-icon{background:var(--c-gold-dim);box-shadow:0 0 15px var(--c-gold)}.companion-slot.discovered .companion-icon{position:relative;animation:auraPulse 4s infinite ease-in-out}@keyframes auraPulse{0%{box-shadow:0 0 5px #c9a84c33}50%{box-shadow:0 0 15px #c9a84c80}to{box-shadow:0 0 5px #c9a84c33}}.companion-icon{width:42px;height:42px;border:1px solid var(--c-border);display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:var(--c-surface);color:var(--c-gold);margin-bottom:1.5rem;border-bottom:1px solid rgba(212,175,55,.3);padding-bottom:.5rem}.modal-content-split{display:flex;gap:2rem;align-items:flex-start}.modal-portrait{width:250px;height:350px;background-size:cover;background-position:center;border:1px solid var(--c-gold);box-shadow:0 0 20px #00000080;flex-shrink:0}.modal-text-side{flex-grow:1}.companion-icon svg{width:24px;height:24px}.companion-name{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-text-muted)}#prose-column{padding:4rem 3rem;max-width:820px;margin:0 auto}.story-paragraph{margin-bottom:2.5rem;opacity:0;transform:translateY(10px);animation:proseIn 1s forwards ease-out}@keyframes proseIn{to{opacity:1;transform:translateY(0)}}.vision-text{font-style:italic;color:var(--c-gold)!important;text-shadow:0 0 10px rgba(230,184,64,.2)}.prose-link{color:var(--c-gold);text-decoration:underline;text-underline-offset:4px}#choices-container{margin-top:5rem;display:flex;flex-direction:column;gap:1.25rem;padding-bottom:8rem}.choice-btn{background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-text);font-family:var(--font-ui);font-size:.9rem;padding:1.5rem 2rem;text-align:left;cursor:pointer;border-left:2px solid transparent;text-transform:uppercase;letter-spacing:.1em;opacity:0;transform:translateY(10px);transition:all .3s ease}.choice-btn.reveal{animation:choiceIn .8s forwards}@keyframes choiceIn{to{opacity:1;transform:translateY(0)}}.choice-btn:hover{border-left-color:var(--c-gold);background:#c9a84c0d;padding-left:2.5rem}#footer-bar{flex:0 0 auto;padding:1rem 3rem;border-top:1px solid var(--c-border);background:var(--c-surface);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-ui);z-index:100}#yuga-indicator{font-size:.75rem;letter-spacing:.3em;color:var(--c-text-muted)}.footer-icon-btn{background:transparent;border:1px solid var(--c-border);color:var(--c-text-muted);font-family:var(--font-ui);font-size:.7rem;padding:.5rem 1rem;margin-left:1rem;cursor:pointer;letter-spacing:.1em;transition:all .3s ease}.footer-icon-btn:hover{color:var(--c-gold);border-color:var(--c-gold);background:#c9a84c1a}#modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--c-modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center}#modal-content{background:var(--c-surface);border:1px solid var(--c-border);width:90%;max-width:700px;max-height:80vh;position:relative;overflow-y:auto;box-shadow:0 20px 50px #000c;animation:modalEnter .5s cubic-bezier(.19,1,.22,1)}#modal-close{position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:none;color:var(--c-text-muted);font-size:2rem;cursor:pointer;z-index:10}#modal-close:hover{color:var(--c-gold)}#bg-layer{position:fixed;top:5rem;right:5rem;bottom:5rem;left:5rem;z-index:1;background-size:cover;background-position:center;background-repeat:no-repeat;transition:background-image 4s ease-in-out,opacity 4s ease-in-out;opacity:.2;filter:brightness(.8) contrast(1.2) saturate(.7);animation:kenBurns 180s infinite alternate linear;box-shadow:inset 0 0 100px #000,0 0 50px #000;border:1px solid rgba(212,175,55,.05)}#bg-layer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:radial-gradient(circle,transparent 20%,rgba(0,0,0,.9) 100%);pointer-events:none}@keyframes kenBurns{0%{transform:scale(1.1) translate(0)}to{transform:scale(1.15) translate(-2%,-1%)}}#bg-layer.fading{opacity:0}#vfx-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}#vfx-layer canvas{display:block}#modal-body{padding:3rem}.modal-title{font-family:var(--font-title);font-size:2rem;color:var(--c-gold);margin-bottom:2rem;border-bottom:1px solid var(--c-gold-dim);padding-bottom:1rem}.modal-section{margin-bottom:2.5rem}.modal-section h3{font-family:var(--font-ui);font-size:.9rem;letter-spacing:.2em;color:var(--c-text-muted);margin-bottom:1rem;text-transform:uppercase}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.setting-label{font-family:var(--font-prose);font-size:1.1rem}.help-guide-entry{margin-bottom:1.5rem}.help-guide-title{color:var(--c-gold);font-weight:700}#world-map{font-family:var(--font-ui);font-size:.8rem;color:var(--c-text-muted);line-height:2;border:1px solid var(--c-border);padding:2rem;background:#0000004d;text-align:center}.map-parchment{background:#1e140a66;padding:1rem;border-radius:8px;position:relative;overflow:hidden;box-shadow:inset 0 0 50px #00000080}.map-parchment:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(https://www.transparenttextures.com/patterns/aged-paper.png);opacity:.1;pointer-events:none}.modal-content-split{display:flex;gap:2rem;padding:0;min-height:400px}.modal-portrait{flex:0 0 300px;background-size:cover;background-position:center;background-color:#0c0c0c;background-image:linear-gradient(180deg,#0000,#000c);border-right:1px solid var(--c-gold-dim);box-shadow:inset -10px 0 20px #00000080;display:flex;align-items:center;justify-content:center}.modal-text-side{flex:1;padding:3rem 3rem 3rem 0;display:flex;flex-direction:column;justify-content:center}@media (max-width: 768px){.modal-content-split{flex-direction:column}.modal-portrait{flex:0 0 300px;border-right:none;border-bottom:1px solid var(--c-gold-dim)}.modal-text-side{padding:2rem}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes floatUpFade{0%{transform:translateY(0) scale(.5);opacity:0}30%{transform:translateY(-20px) scale(1.2);opacity:1}to{transform:translateY(-60px) scale(1);opacity:0}}@keyframes valPop{0%{transform:scale(1)}50%{transform:scale(2);text-shadow:0 0 15px currentColor}to{transform:scale(1)}}@keyframes barPulse{0%{filter:brightness(1) drop-shadow(0 0 0 transparent)}50%{filter:brightness(2.5) drop-shadow(0 0 15px currentColor);transform:scaleY(1.1)}to{filter:brightness(1) drop-shadow(0 0 0 transparent)}}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.hidden{display:none!important}.hidden-fade{opacity:0!important;pointer-events:none!important}
