:root{--color-void: #120a1e;--color-parchment: #d8c9e8;--color-gold: #c9a959;--color-crimson: #9c1f4a;--color-azure: #1f8a8a;--color-mist: #1e1230;--color-silver: #8a7ab0;--color-card: #4a2f78;--font-title: "Cinzel", "Palatino Linotype", Georgia, serif;--font-body: "Crimson Pro", "Palatino Linotype", Georgia, serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--color-void);color:var(--color-parchment);font-family:var(--font-body);font-size:18px;line-height:1.72;overflow:hidden}#game-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#0c0714;border-bottom:2px solid rgba(201,169,89,.35);height:54px;flex-shrink:0}#game-title{font-family:var(--font-title);font-size:1rem;letter-spacing:.18em;color:var(--color-gold);text-transform:uppercase}#cards-progress{display:flex;gap:7px;align-items:center}.cards-dot{width:9px;height:9px;border-radius:50%;background:#d8c9e826;border:1px solid rgba(216,201,232,.25);transition:background .6s,border-color .6s,box-shadow .6s;cursor:default}.cards-dot.active{background:#8a5fd0;border-color:#a888e8;box-shadow:0 0 10px #8a5fd0b3;animation:dot-pulse 2.5s ease-in-out infinite}.cards-dot.revealed{background:#c9a95999;border-color:#c9a959cc}@keyframes dot-pulse{0%,to{box-shadow:0 0 6px #8a5fd099}50%{box-shadow:0 0 16px #8a5fd0e6,0 0 28px #8a5fd04d}}#save-controls{display:flex;gap:8px}#save-controls button{font-family:var(--font-title);font-size:.68rem;letter-spacing:.06em;color:#d8c9e8cc;background:none;border:1px solid rgba(216,201,232,.3);border-radius:3px;padding:4px 10px;cursor:pointer;transition:color .2s,border-color .2s}#save-controls button:hover{color:var(--color-gold);border-color:#c9a95999}#game-main{display:grid;grid-template-columns:1fr 320px;height:calc(100vh - 54px);overflow:hidden}#scene-panel{display:flex;flex-direction:column;padding:24px 36px;overflow-y:auto;background:radial-gradient(ellipse at 50% 15%,rgba(74,47,120,.16) 0%,var(--color-void) 60%);position:relative}#scene-panel.card-active{background:radial-gradient(ellipse at 50% 15%,color-mix(in srgb,var(--card-theme, #4a2f78) 16%,var(--color-void)) 0%,var(--color-void) 60%)}#scene-header{display:flex;align-items:flex-start;gap:18px;margin-bottom:22px}#card-portrait{width:58px;height:58px;flex-shrink:0;border-radius:50%;border:1.5px solid rgba(138,95,208,.4);background:#1e1230;display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:1.5rem;color:var(--color-gold);box-shadow:0 2px 12px #4a2f7866,0 0 0 3px #120a1ecc}.no-card{opacity:0}.card-fool{background:#241436;color:#e0daf0;border-color:#6a4aa0}.card-fool:before{content:"0";font-family:var(--font-title)}.card-magician{background:#2e2408;color:#e8c878;border-color:#9c7818}.card-magician:before{content:"∞"}.card-priestess{background:#0a2a2a;color:#60c8c8;border-color:#1e6868}.card-priestess:before{content:"☽"}.card-empress{background:#380a20;color:#d86090;border-color:#881840}.card-empress:before{content:"♀"}.card-hierophant{background:#2e2408;color:#e8c878;border-color:#9c7818}.card-hierophant:before{content:"♉";font-size:1.1rem}.card-wheel{background:#1e1230;color:#b090e0;border-color:#5a3898}.card-wheel:before{content:"☉"}.card-tower{background:#380a20;color:#d86090;border-color:#881840}.card-tower:before{content:"♂"}.card-star{background:#0a2a2a;color:#60c8c8;border-color:#1e6868}.card-star:before{content:"✶"}.card-world{background:#2e2408;color:#e8c878;border-color:#9c7818}.card-world:before{content:"⊙"}#scene-title-block{flex:1}#level-label{font-family:var(--font-title);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-card);opacity:.9;margin-bottom:4px}#scene-title{font-family:var(--font-title);font-size:1.25rem;font-weight:400;color:#f0e8fa;letter-spacing:.04em}#scene-art{margin:0 0 22px;border-radius:6px;overflow:hidden;border:1px solid rgba(138,95,208,.3);max-height:220px;display:flex;align-items:center;justify-content:center;background:#0c0714;box-shadow:0 4px 20px #0006,0 0 0 4px #120a1ecc}#scene-art-image{width:100%;max-height:220px;object-fit:cover;display:block}#scene-text{flex:1;cursor:pointer}#scene-text p{margin-bottom:1.1em;color:var(--color-parchment)}#scene-text em{color:#f0e8fa;font-style:italic;font-weight:600}.typewriter-cursor{display:inline-block;width:2px;height:1em;background:var(--color-card);vertical-align:text-bottom;animation:blink .85s step-end infinite;margin-left:1px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}#context-note{margin:18px 0;padding:12px 18px;border-left:3px solid rgba(138,95,208,.55);background:#8a5fd014;font-style:italic;font-size:.88rem;color:#c8b8e0;border-radius:0 4px 4px 0;line-height:1.65}#choices{margin-top:22px;display:flex;flex-direction:column;gap:10px}.choice-btn{text-align:left;background:#8a5fd00f;border:1px solid rgba(138,95,208,.28);border-radius:4px;color:var(--color-parchment);font-family:var(--font-body);font-size:1rem;padding:12px 16px;cursor:pointer;transition:background .2s,border-color .2s;line-height:1.5}.choice-btn:hover{background:#8a5fd024;border-color:#8a5fd099}.rebuke-text{padding:12px 16px;background:#9c1f4a1f;border-left:3px solid var(--color-crimson);border-radius:0 4px 4px 0;font-style:italic;color:#e8a0b8;font-size:.95rem;line-height:1.6}.rebuke-glow{box-shadow:0 0 12px #9c1f4a66;border-color:var(--color-crimson)!important}#codex-panel{background:var(--color-mist);border-left:1px solid rgba(201,169,89,.2);display:flex;flex-direction:column;overflow:hidden}#codex-header{padding:14px 16px 10px;border-bottom:1px solid rgba(201,169,89,.18);flex-shrink:0}#codex-title{font-family:var(--font-title);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:10px}#codex-search{width:100%;background:#0003;border:1px solid rgba(216,201,232,.2);border-radius:3px;color:var(--color-parchment);font-family:var(--font-body);font-size:.9rem;padding:6px 10px;margin-bottom:10px;outline:none}#codex-search:focus{border-color:#8a5fd080}#codex-tabs{display:flex;gap:4px}.codex-tab{font-family:var(--font-title);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;background:#00000026;border:1px solid rgba(216,201,232,.16);border-radius:3px;color:#d8c9e88c;padding:4px 8px;cursor:pointer;transition:color .2s,border-color .2s,background .2s;flex:1}.codex-tab:hover,.codex-tab.active{color:#d0a8f0;border-color:#8a5fd080;background:#8a5fd024}#codex-body{flex:1;overflow-y:auto;padding:12px}.codex-empty{font-style:italic;color:#d8c9e859;font-size:.88rem;text-align:center;margin-top:24px}.codex-item{padding:10px 12px;border-radius:4px;cursor:pointer;margin-bottom:6px;border:1px solid transparent;transition:background .2s,border-color .2s}.codex-item:hover{background:#8a5fd01a;border-color:#8a5fd04d}.codex-item.read .codex-item-title{color:#c9a9598c}.codex-item-title{font-family:var(--font-title);font-size:.82rem;color:var(--color-gold);margin-bottom:3px}.codex-item-short{font-size:.82rem;color:#d8c9e8a6;line-height:1.45}#codex-detail{padding:4px 0}#codex-detail-title{font-family:var(--font-title);font-size:1rem;color:var(--color-gold);margin-bottom:4px}#codex-detail-category{font-family:var(--font-title);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#8a5fd0b3;margin-bottom:14px}#codex-detail-full{font-size:.9rem;line-height:1.72;color:var(--color-parchment)}#codex-detail-full p{margin-bottom:.9em}#codex-detail-full strong{color:#f0e8fa;font-weight:600}.codex-comparisons,.codex-sources{margin-top:14px;padding-top:10px;border-top:1px solid rgba(216,201,232,.12)}.codex-comparisons h4,.codex-sources h4{font-family:var(--font-title);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-card);margin-bottom:8px}.codex-comparison-item{font-size:.85rem;margin-bottom:8px;color:#d8c9e8bf;line-height:1.55}.codex-sources ul{list-style:none;font-size:.82rem;color:#d8c9e88c}.codex-sources li{margin-bottom:3px}.codex-back-btn{display:inline-block;margin-top:16px;background:none;border:1px solid rgba(138,95,208,.35);border-radius:3px;color:#d8c9e8bf;font-family:var(--font-body);font-size:.85rem;padding:5px 12px;cursor:pointer}.codex-back-btn:hover{color:#d0a8f0;border-color:#8a5fd0a6}.codex-unlock-toast{position:fixed;bottom:24px;right:340px;background:#1e1230;border:1px solid var(--color-gold);border-radius:4px;color:var(--color-gold);font-family:var(--font-title);font-size:.72rem;letter-spacing:.1em;padding:10px 18px;z-index:100;animation:toast-in .3s ease;transition:opacity .6s}.codex-unlock-toast.fade-out{opacity:0}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#transition-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c0714;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:200}#transition-overlay.active{opacity:1;pointer-events:all}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#8a5fd040;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8a5fd073}@media (max-width: 800px){#game-main{grid-template-columns:1fr;grid-template-rows:1fr auto}#codex-panel{border-left:none;border-top:1px solid rgba(201,169,89,.2);max-height:260px}.codex-unlock-toast{right:12px;bottom:270px}}
