*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--colour-bg: #0d0d1a;--colour-surface: #1a1a2e;--colour-surface-2: #16213e;--colour-border: #2a2a4a;--colour-accent: #7c3aed;--colour-accent-light: #a855f7;--colour-gold: #f59e0b;--colour-essence: #8b5cf6;--colour-crystal: #06b6d4;--colour-rune: #ec4899;--colour-text: #e2e8f0;--colour-text-muted: #94a3b8;--colour-success: #10b981;--colour-error: #ef4444;--colour-warning: #f59e0b;--radius: 8px;--radius-lg: 12px;--font: "Segoe UI", system-ui, sans-serif;--resource-bar-height: 3.5rem}body{background-color:var(--colour-bg);color:var(--colour-text);font-family:var(--font);min-height:100vh;position:relative}body:before{background-attachment:fixed;background-image:url(https://cdn.nhcarrigan.com/elysium/background.jpg);background-position:center;background-size:cover;content:"";top:0;right:0;bottom:0;left:0;opacity:.15;pointer-events:none;position:fixed;z-index:-1}.resource-bar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:var(--colour-surface);border-bottom:1px solid var(--colour-border);position:sticky;top:0;z-index:10}.resource{display:flex;align-items:center;gap:.35rem}.resource-value{font-weight:700;font-size:1.1rem}.resource-label{color:var(--colour-text-muted);font-size:.8rem}.prestige-badge{margin-left:auto;background:linear-gradient(135deg,var(--colour-accent),var(--colour-accent-light));padding:.25rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600}.resource-full .resource-value{color:var(--colour-warning, #f59e0b)}.resource-cap-badge{background:var(--colour-warning, #f59e0b);border-radius:.25rem;color:#000;cursor:help;font-size:.6rem;font-weight:800;letter-spacing:.05em;padding:.1rem .3rem}.resource-cap-notice{background:#f59e0b1f;border-bottom:1px solid rgba(245,158,11,.35);color:#f59e0b;font-size:.82rem;padding:.4rem 1.5rem;text-align:center}.resource-menu{position:relative}.resource-toggle{background:#ffffff0f;border:1px solid rgba(147,51,234,.4);border-radius:.5rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;padding:.3rem .6rem;position:relative;transition:background .2s,border-color .2s}.resource-toggle:hover{background:#9333ea33;border-color:var(--colour-primary)}.resource-alert-dot{background:var(--colour-warning, #f59e0b);border-radius:50%;height:.45rem;position:absolute;right:0;top:0;width:.45rem}.resources-dropdown{background:var(--colour-surface);border:1px solid rgba(147,51,234,.4);border-radius:.5rem;box-shadow:0 4px 16px #0006;display:flex;flex-direction:column;gap:.1rem;left:0;padding:.4rem;position:absolute;top:calc(100% + .4rem);z-index:100}.resources-dropdown .resource{border-radius:.35rem;gap:.5rem;padding:.3rem .5rem;white-space:nowrap}.resources-dropdown .resource:hover{background:#ffffff0a}.game-layout{display:flex;flex-direction:column;min-height:100vh}.game-main{display:flex;flex:1}.game-sidebar{width:220px;padding:1rem;background:var(--colour-surface-2);border-right:1px solid var(--colour-border);display:flex;flex-direction:column;align-items:center;gap:1rem;position:sticky;top:var(--resource-bar-height);height:calc(100vh - var(--resource-bar-height));overflow-y:auto}.game-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.tab-bar{display:flex;gap:.25rem;padding:.75rem 1rem;background:var(--colour-surface);border-bottom:1px solid var(--colour-border);overflow-x:auto}.tab-button{background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--colour-text-muted);cursor:pointer;font-size:.9rem;padding:.4rem .9rem;transition:all .15s;white-space:nowrap}.tab-button:hover{background:var(--colour-surface-2);color:var(--colour-text)}.tab-button.active{background:var(--colour-accent);border-color:var(--colour-accent-light);color:#fff}.tab-content{flex:1;overflow-y:auto;padding:1rem}.game-title{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--colour-accent),var(--colour-accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.05em;margin-bottom:.1rem}.game-version{font-size:.65rem;color:var(--colour-text-muted);opacity:.7;margin-bottom:.25rem}.game-schema-version{font-size:.6rem;color:var(--colour-text-muted);opacity:.6;margin-bottom:.5rem}.game-copyright{margin-top:auto;font-size:.7rem;color:var(--colour-text-muted);opacity:.6}.click-area{text-align:center}.click-area h2{font-size:.95rem;color:var(--colour-text-muted);margin-bottom:.75rem}.click-button{background:none;border:none;border-radius:50%;cursor:pointer;height:120px;overflow:hidden;padding:0;transition:transform .1s,box-shadow .1s;width:120px;box-shadow:0 0 20px #7c3aed66}.click-button-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.click-button:active{transform:scale(.93);box-shadow:0 0 10px #7c3aed33}.click-power{color:var(--colour-text-muted);font-size:.8rem;margin-top:.5rem}.panel{max-width:900px}.panel h2{font-size:1.3rem;margin-bottom:1rem;color:var(--colour-accent-light)}.empty-state{color:var(--colour-text-muted);font-style:italic}.batch-selector{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.batch-button{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);color:var(--colour-text);cursor:pointer;font-size:.8rem;font-weight:600;padding:.3rem .6rem;transition:background .15s,border-color .15s,color .15s}.batch-button:hover{border-color:var(--colour-accent);color:var(--colour-accent)}.batch-button.active{background:var(--colour-accent);border-color:var(--colour-accent);color:#fff}.adventurer-list{display:flex;flex-direction:column;gap:.5rem}.adventurer-card{align-items:center;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;gap:.75rem;padding:.75rem}.adventurer-card.locked{opacity:.5}.adventurer-icon{font-size:1.75rem;min-width:2.5rem;text-align:center}.adventurer-info{flex:1}.adventurer-info h3{font-size:1rem;margin-bottom:.15rem}.adventurer-info p{color:var(--colour-text-muted);font-size:.8rem}.adventurer-count{color:var(--colour-accent-light);font-size:1.1rem;font-weight:700;min-width:3rem;text-align:center}.buy-button,.buy-upgrade-button,.start-quest-button,.attack-button,.prestige-button{background:var(--colour-accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .9rem;transition:background .15s}.buy-button:hover:not(:disabled),.buy-upgrade-button:hover:not(:disabled),.start-quest-button:hover,.attack-button:hover,.prestige-button:hover:not(:disabled){background:var(--colour-accent-light)}.buy-button:disabled,.buy-upgrade-button:disabled,.prestige-button:disabled{background:var(--colour-border);color:var(--colour-text-muted);cursor:not-allowed}.upgrade-list{display:flex;flex-direction:column;gap:.5rem}.upgrade-card{align-items:center;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;gap:.75rem;padding:.75rem}.upgrade-card.purchased{border-color:var(--colour-success);opacity:.7}.upgrade-card.locked{opacity:.45}.upgrade-locked-label{color:var(--colour-text-muted);font-size:.75rem;white-space:nowrap}.upgrade-progress{color:var(--colour-text-muted);font-size:.85rem;margin-bottom:.75rem}.upgrade-info{flex:1}.upgrade-info h3{font-size:1rem;margin-bottom:.15rem}.upgrade-info p{color:var(--colour-text-muted);font-size:.8rem}.upgrade-multiplier{color:var(--colour-gold)!important;font-weight:600}.upgrade-cost{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.quest-list{display:flex;flex-direction:column;gap:.75rem}.quest-card{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;gap:1rem;padding:1rem;align-items:flex-start}.quest-card.quest-completed{border-color:var(--colour-success);opacity:.7}.quest-card.quest-active{border-color:var(--colour-warning)}.quest-info{flex:1}.quest-info h3{font-size:1rem;margin-bottom:.25rem}.quest-info p{color:var(--colour-text-muted);font-size:.85rem;margin-bottom:.5rem}.quest-rewards{display:flex;flex-wrap:wrap;gap:.35rem}.reward-tag{background:var(--colour-surface-2);border:1px solid var(--colour-border);border-radius:999px;font-size:.75rem;padding:.15rem .5rem}.quest-badge{font-size:.85rem;font-weight:600;padding:.3rem .6rem;border-radius:var(--radius);white-space:nowrap}.quest-badge.locked{color:var(--colour-text-muted)}.quest-badge.active{color:var(--colour-warning)}.quest-badge.completed{color:var(--colour-success)}.boss-list{display:flex;flex-direction:column;gap:1rem}.boss-card{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.75rem;padding:1rem}.boss-card.boss-defeated{opacity:.6;border-color:var(--colour-text-muted)}.boss-card.boss-in_progress{border-color:var(--colour-error);box-shadow:0 0 12px #ef444433}.boss-info h3{font-size:1.1rem;margin-bottom:.25rem}.boss-info p{color:var(--colour-text-muted);font-size:.85rem}.prestige-lock{color:var(--colour-warning)!important;margin-top:.25rem}.hp-bar{background:var(--colour-border);border-radius:999px;height:10px;overflow:hidden}.hp-fill{background:linear-gradient(90deg,#ef4444,#f97316);height:100%;transition:width .3s ease}.hp-text{color:var(--colour-text-muted);font-size:.8rem}.boss-rewards{display:flex;gap:.75rem;font-size:.85rem}.boss-badge.defeated{color:var(--colour-text-muted);font-size:.9rem}.boss-bounty{color:#a78bfa;font-weight:700}.attack-button{align-self:flex-start;background:linear-gradient(135deg,#ef4444,#b91c1c);font-size:.95rem;padding:.5rem 1.2rem}.attack-button:hover{background:linear-gradient(135deg,#f87171,#dc2626)}.prestige-panel p{color:var(--colour-text-muted);font-size:.9rem;line-height:1.6;margin-bottom:.75rem}.prestige-status{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.prestige-form{display:flex;flex-direction:column;gap:.75rem;max-width:400px}.prestige-form input{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);color:var(--colour-text);font-size:.95rem;padding:.5rem .75rem;width:100%}.prestige-button{background:linear-gradient(135deg,#7c3aed,#a855f7);font-size:1rem;padding:.6rem 1.5rem}.prestige-locked{color:var(--colour-text-muted)!important}.prestige-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.prestige-tab{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);color:var(--colour-text-muted);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .15s}.prestige-tab:hover{border-color:var(--colour-accent);color:var(--colour-text)}.prestige-tab.active{background:var(--colour-accent);border-color:var(--colour-accent);color:#fff}.runestone-shop{display:flex;flex-direction:column;gap:1.5rem}.shop-balance{color:var(--colour-text-muted);font-size:.9rem}.shop-category h3{color:var(--colour-text);font-size:1rem;margin-bottom:.75rem}.shop-upgrades{display:flex;flex-direction:column;gap:.5rem}.shop-upgrade-card{align-items:center;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;gap:.75rem;padding:.75rem}.shop-upgrade-card.purchased{border-color:var(--colour-success);opacity:.7}.shop-upgrade-card.unaffordable{opacity:.5}.shop-upgrade-info{flex:1}.shop-upgrade-info h4{font-size:1rem;margin-bottom:.15rem}.shop-upgrade-info p{color:var(--colour-text-muted);font-size:.8rem}.auto-prestige-toggle{border-radius:var(--radius-sm);border:1px solid var(--colour-border);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:background .2s,border-color .2s;white-space:nowrap}.auto-prestige-toggle.enabled{background:var(--colour-success);border-color:var(--colour-success);color:#fff}.auto-prestige-toggle.disabled{background:var(--colour-surface);color:var(--colour-text-muted)}.auto-prestige-toggle:hover{border-color:var(--colour-accent)}.login-page{align-items:center;background:radial-gradient(ellipse at center,#1a1a3e,#0d0d1a);display:flex;justify-content:center;min-height:100vh}.login-card{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);max-width:480px;padding:2.5rem;text-align:center;width:100%}.login-card h1{font-size:2rem;margin-bottom:.75rem}.login-card p{color:var(--colour-text-muted);margin-bottom:1.5rem}.discord-login-button{background:#5865f2;border-radius:var(--radius);color:#fff;display:inline-block;font-size:1rem;font-weight:600;padding:.75rem 2rem;text-decoration:none;transition:background .15s}.discord-login-button:hover{background:#4752c4}.login-note{font-size:.8rem!important;margin-top:1rem!important}.modal-overlay{align-items:center;background:#000000b3;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:100}.modal{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);max-width:420px;padding:2rem;text-align:center;width:90%}.modal h2{font-size:1.4rem;margin-bottom:.75rem}.modal p{color:var(--colour-text-muted);margin-bottom:.75rem}.modal-note{font-size:.8rem}.modal-close-button{background:var(--colour-accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:.5rem;padding:.6rem 2rem;transition:background .15s}.modal-close-button:hover{background:var(--colour-accent-light)}.outdated-modal-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.outdated-modal-reset-button{background:#c0392b;border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.6rem 2rem;transition:background .15s}.outdated-modal-reset-button:hover:not(:disabled){background:#e74c3c}.outdated-modal-reset-button:disabled{cursor:not-allowed;opacity:.6}.battle-modal{max-width:520px}.battle-stats{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.battle-stat{background:var(--colour-bg);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.25rem;min-width:120px;padding:.5rem .75rem;text-align:center}.battle-stat .stat-label{color:var(--colour-text-muted);font-size:.75rem;text-transform:uppercase}.battle-stat .stat-value{color:var(--colour-accent-light);font-size:1.1rem;font-weight:700}.battle-stat-divider{color:var(--colour-text-muted);font-size:.85rem}.battle-bars{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.battle-bar-row{align-items:center;display:flex;gap:.5rem}.battle-bar-row .bar-label{font-size:.85rem;min-width:100px;text-align:left}.hp-bar-container{background:var(--colour-bg);border:1px solid var(--colour-border);border-radius:4px;flex:1;height:14px;overflow:hidden}.hp-bar-fill{border-radius:4px;height:100%}.battle-bar-row .bar-hp{color:var(--colour-text-muted);font-size:.75rem;min-width:80px;text-align:right}.vs-divider{color:var(--colour-text-muted);font-size:.85rem;text-align:center}.battle-in-progress{color:var(--colour-text-muted);font-style:italic}.battle-outcome{border-radius:var(--radius);margin-top:1rem;padding:1rem}.battle-outcome.victory{background:#27ae601a;border:1px solid #27ae60}.battle-outcome.defeat{background:#e74c3c1a;border:1px solid #e74c3c}.battle-outcome h3{font-size:1.2rem;margin-bottom:.5rem}.battle-rewards,.battle-casualties{display:flex;flex-direction:column;font-size:.9rem;gap:.2rem;margin:.5rem 0}.battle-bounty{color:#a78bfa;font-weight:700}.dismiss-button{background:var(--colour-accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:.75rem;padding:.5rem 2rem;transition:background .15s}.dismiss-button:hover{background:var(--colour-accent-light)}.party-combat-stats{background:var(--colour-bg);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;gap:2rem;justify-content:center;margin-bottom:1.25rem;padding:.75rem 1rem}.combat-stat{display:flex;flex-direction:column;gap:.2rem;text-align:center}.combat-stat .stat-label{color:var(--colour-text-muted);font-size:.75rem;text-transform:uppercase}.combat-stat .stat-value{color:var(--colour-accent-light);font-size:1rem;font-weight:700}.boss-meta{color:var(--colour-text-muted);font-size:.8rem;margin-bottom:.5rem}@keyframes float-up{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-70px)}}.click-button-wrapper{position:relative;display:inline-block}.click-float{animation:float-up .9s ease-out forwards;color:var(--colour-gold);font-size:1rem;font-weight:700;pointer-events:none;position:absolute;text-shadow:0 1px 4px rgba(0,0,0,.5);-webkit-user-select:none;user-select:none}.equipment-intro{color:var(--colour-text-muted);font-size:.85rem;margin-bottom:1.25rem}.active-sets{background:#8a2be214;border:1px solid rgba(138,43,226,.3);border-radius:8px;padding:.75rem 1rem;margin-bottom:1.25rem}.active-sets-heading{font-size:.9rem;font-weight:600;color:#bf7fff;margin:0 0 .5rem}.active-set-row{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;font-size:.82rem;margin-bottom:.25rem}.active-set-name{font-weight:600;color:#d4a0ff}.active-set-bonus{color:var(--colour-text-muted)}.equipment-set-badge{display:inline-block;font-size:.75rem;color:#bf7fff;margin-top:.2rem}.equipment-slot-section{margin-bottom:1.5rem}.slot-heading{color:var(--colour-text-muted);font-size:.9rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.equipment-list{display:flex;flex-direction:column;gap:.5rem}.equipment-card{align-items:center;background:var(--colour-surface);border:1px solid var(--colour-border);border-left:3px solid var(--colour-border);border-radius:var(--radius);display:flex;gap:.75rem;padding:.75rem;transition:border-color .15s}.equipment-card.equipped{border-color:var(--colour-success);border-left-color:var(--colour-success);box-shadow:0 0 8px #10b98126}.equipment-card.not-owned{opacity:.45}.equipment-card.rarity-common{border-left-color:#9ca3af}.equipment-card.rarity-rare{border-left-color:#3b82f6}.equipment-card.rarity-epic{border-left-color:#a855f7}.equipment-card.rarity-legendary{border-left-color:#f59e0b}.equipment-icon{font-size:1.5rem;min-width:2rem;text-align:center}.equipment-info{flex:1;min-width:0}.equipment-name-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.15rem}.equipment-name-row h3{font-size:.95rem;margin:0}.rarity-badge{border-radius:999px;font-size:.7rem;font-weight:600;padding:.1rem .45rem}.rarity-badge.rarity-common{background:#9ca3af33;color:#9ca3af}.rarity-badge.rarity-rare{background:#3b82f633;color:#60a5fa}.rarity-badge.rarity-epic{background:#a855f733;color:#c084fc}.rarity-badge.rarity-legendary{background:#f59e0b33;color:#fbbf24}.equipment-description{color:var(--colour-text-muted);font-size:.8rem;margin-bottom:.2rem}.equipment-bonus{color:var(--colour-gold);font-size:.8rem;font-weight:600}.equipment-action{flex-shrink:0;text-align:right}.equipment-locked{color:var(--colour-text-muted);font-size:.8rem}.equipment-cost{color:var(--colour-essence);font-size:.8rem;margin-top:.2rem}.quest-failed-hint{color:#e6a817;font-size:.75rem;font-style:italic;margin-bottom:.25rem;margin-top:0}.unlock-hint{color:var(--colour-text-muted);font-size:.75rem;font-style:italic;margin-top:.25rem}.equipment-equipped-badge{color:var(--colour-success);font-size:.85rem;font-weight:600}.equip-button{background:var(--colour-accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.3rem .8rem;transition:background .15s}.equip-button:hover{background:var(--colour-accent-light)}.stats-section-header{border-bottom:1px solid var(--colour-border);color:var(--colour-text-muted);font-size:.8rem;font-weight:600;letter-spacing:.08em;margin-bottom:.75rem;margin-top:1.5rem;padding-bottom:.4rem;text-transform:uppercase}.statistics-panel .stats-section-header:first-of-type{margin-top:.5rem}.achievement-progress{color:var(--colour-text-muted);font-size:.85rem;margin-bottom:1rem}.achievement-list{display:flex;flex-direction:column;gap:.5rem}.achievement-card{align-items:center;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;gap:.75rem;padding:.75rem;transition:border-color .15s}.achievement-card.unlocked{border-color:var(--colour-gold);box-shadow:0 0 8px #f59e0b26}.achievement-card.locked{opacity:.5}.achievement-icon{font-size:1.5rem;min-width:2rem;text-align:center}.achievement-info{flex:1}.achievement-info h3{font-size:.95rem;margin-bottom:.1rem}.achievement-info p{color:var(--colour-text-muted);font-size:.8rem}.achievement-condition{font-style:italic}.achievement-reward{color:var(--colour-crystal)!important;font-weight:600}.achievement-status{flex-shrink:0}.achievement-unlocked-badge{color:var(--colour-gold);font-size:.85rem;font-weight:700}.achievement-locked-badge{color:var(--colour-text-muted);font-size:1rem}@keyframes slide-in-right{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}.achievement-toast-container{bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem;position:fixed;right:1.5rem;z-index:200}.toast-icon{font-size:1.5rem;flex-shrink:0}.toast-content{display:flex;flex-direction:column;gap:.1rem}.toast-label{color:var(--colour-gold);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.toast-name{color:var(--colour-text);font-size:.9rem;font-weight:600}.toast-reward{color:var(--colour-crystal);font-size:.8rem}.error{color:var(--colour-error);font-size:.85rem}.success{color:var(--colour-success);font-size:.85rem}.resource-bar-actions{align-items:center;display:flex;gap:.35rem;margin-left:auto}.profile-menu{position:relative}.profile-avatar-button{background:none;border:2px solid rgba(147,51,234,.4);border-radius:50%;cursor:pointer;display:flex;height:2rem;overflow:hidden;padding:0;transition:border-color .2s;width:2rem}.profile-avatar-button:hover{border-color:var(--colour-primary)}.profile-avatar-img{height:100%;object-fit:cover;width:100%}.profile-dropdown{background:var(--colour-surface);border:1px solid rgba(147,51,234,.4);border-radius:.5rem;box-shadow:0 4px 16px #0006;display:flex;flex-direction:column;min-width:10rem;padding:.25rem;position:absolute;right:0;top:calc(100% + .4rem);z-index:100}.profile-dropdown-item{align-items:center;background:none;border:none;border-radius:.35rem;color:var(--colour-text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;gap:.4rem;padding:.45rem .75rem;text-align:left;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap;width:100%}.profile-dropdown-item:hover{background:#9333ea26;color:var(--colour-text)}.profile-dropdown-divider{border:none;border-top:1px solid rgba(147,51,234,.2);margin:.25rem 0}.save-status{color:var(--colour-text-muted);font-size:.75rem;white-space:nowrap}.save-error{color:#ef4444;font-weight:600}.force-save-button{align-items:center;background:#ffffff0f;border:1px solid rgba(147,51,234,.4);border-radius:50%;color:var(--colour-text);cursor:pointer;display:flex;font-size:.9rem;height:2rem;justify-content:center;padding:0;transition:all .2s;width:2rem}.force-save-button:hover:not(:disabled){background:#9333ea33;border-color:var(--colour-accent-light)}.force-save-button:disabled{cursor:not-allowed;opacity:.5}.profile-page{align-items:center;background:var(--colour-bg);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.profile-card{background:var(--colour-surface);border:1px solid rgba(147,51,234,.3);border-radius:1rem;box-shadow:0 8px 32px #0006;max-width:520px;padding:2rem;width:100%}.profile-header{align-items:center;display:flex;gap:1.5rem;margin-bottom:1.75rem}.profile-avatar{border:3px solid var(--colour-primary);border-radius:50%;height:96px;width:96px}.profile-identity{display:flex;flex-direction:column;gap:.25rem}.profile-character-name{font-size:1.6rem;font-weight:700;margin:0}.profile-username{color:var(--colour-text-muted);font-size:.9rem;margin:0}.profile-apotheosis-badge{background:linear-gradient(135deg,#78350f33,#d9770633);border:1px solid rgba(217,119,6,.5);border-radius:1rem;color:#fbbf24;font-size:.8rem;font-weight:700;padding:.2rem .6rem;width:fit-content}.profile-transcendence-badge{background:#7c3aed26;border:1px solid rgba(124,58,237,.4);border-radius:1rem;color:#a78bfa;font-size:.8rem;padding:.2rem .6rem;width:fit-content}.profile-prestige-badge{background:#ffd70026;border:1px solid rgba(255,215,0,.4);border-radius:1rem;color:gold;font-size:.8rem;padding:.2rem .6rem;width:fit-content}.profile-stats{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.75rem}.profile-stat{align-items:center;background:#ffffff0a;border:1px solid rgba(147,51,234,.2);border-radius:.5rem;display:flex;flex-direction:column;gap:.25rem;padding:.75rem .5rem;text-align:center}.profile-stat-icon{font-size:1.4rem}.profile-stat-value{font-size:1rem;font-weight:700}.profile-stat-date{font-size:.72rem}.profile-stat-label{color:var(--colour-text-muted);font-size:.7rem}.profile-actions{display:flex;gap:.75rem}.profile-share-button{background:#9333ea33;border:1px solid var(--colour-primary);border-radius:.5rem;color:var(--colour-text);cursor:pointer;flex:1;font-family:inherit;font-size:.9rem;padding:.65rem 1rem;transition:background .2s}.profile-share-button:hover{background:#9333ea59}.profile-play-link{background:var(--colour-primary);border-radius:.5rem;color:#fff;flex:1;font-size:.9rem;font-weight:600;padding:.65rem 1rem;text-align:center;text-decoration:none;transition:opacity .2s}.profile-play-link:hover{opacity:.85}.profile-bio{border-bottom:1px solid rgba(147,51,234,.2);border-top:1px solid rgba(147,51,234,.2);color:var(--colour-text-muted);font-size:.9rem;font-style:italic;line-height:1.5;margin-bottom:1.25rem;padding:.75rem 0}.profile-loading,.profile-error{color:var(--colour-text-muted);display:flex;flex-direction:column;font-size:1rem;gap:1rem;text-align:center}.edit-profile-modal{display:flex;flex-direction:column;max-height:calc(100dvh - 4rem);max-width:480px;padding:0;text-align:left;width:100%}.modal-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem 1rem}.modal-header h2{margin:0}.edit-profile-modal .edit-profile-loading{padding:0 2rem 1.5rem}.modal-close{background:transparent;border:none;color:var(--colour-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:.25rem;transition:color .15s}.modal-close:hover{color:var(--colour-text)}.edit-profile-form{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;padding:0 2rem 1.5rem}.edit-profile-label{color:var(--colour-text);font-size:.85rem;font-weight:600;margin-top:.5rem}.edit-profile-sublabel{color:var(--colour-text-muted);font-size:.78rem;margin:0}.edit-profile-input,.edit-profile-textarea{background:#ffffff0d;border:1px solid rgba(147,51,234,.4);border-radius:.4rem;color:var(--colour-text);font-family:inherit;font-size:.9rem;padding:.5rem .75rem;width:100%}.edit-profile-textarea{min-height:5rem;resize:vertical}.edit-profile-input:focus,.edit-profile-textarea:focus{border-color:var(--colour-primary);outline:none}.edit-profile-hint{color:var(--colour-text-muted);font-size:.72rem;text-align:right}.edit-profile-section{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.stat-toggles{display:flex;flex-direction:column;gap:.4rem}.stat-toggle-btn{align-items:center;background:#ffffff0a;border:1px solid rgba(147,51,234,.25);border-radius:.4rem;color:var(--colour-text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;justify-content:space-between;padding:.5rem .75rem;transition:all .15s}.stat-toggle-on{background:#9333ea1f;border-color:#9333ea80;color:var(--colour-text)}.stat-toggle-indicator{font-size:.75rem;font-weight:600}.stat-toggle-on .stat-toggle-indicator{color:var(--colour-success)}.number-format-picker{display:flex;gap:.5rem}.number-format-btn{align-items:center;background:#ffffff0a;border:1px solid rgba(147,51,234,.25);border-radius:.4rem;color:var(--colour-text-muted);cursor:pointer;display:flex;flex:1;flex-direction:column;font-family:inherit;gap:.2rem;padding:.5rem .75rem;transition:all .15s}.number-format-active{background:#9333ea1f;border-color:#9333ea80;color:var(--colour-text)}.number-format-label{font-size:.85rem;font-weight:600}.number-format-example{color:var(--colour-accent);font-family:monospace;font-size:.8rem}.edit-profile-error{color:var(--colour-error);font-size:.82rem}.edit-profile-actions{display:flex;gap:.75rem;margin-top:.5rem}.edit-profile-cancel{background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:.4rem;color:var(--colour-text-muted);cursor:pointer;flex:1;font-family:inherit;font-size:.9rem;padding:.6rem;transition:border-color .2s}.edit-profile-cancel:hover{border-color:#ffffff59}.edit-profile-save{background:var(--colour-primary);border:none;border-radius:.4rem;color:#fff;cursor:pointer;flex:2;font-family:inherit;font-size:.9rem;font-weight:600;padding:.6rem;transition:opacity .2s}.edit-profile-save:hover:not(:disabled){opacity:.85}.edit-profile-save:disabled{cursor:not-allowed;opacity:.5}.panel-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.25rem}.panel-header h2{margin:0}.lock-toggle{align-items:center;background:#ffffff0f;border:1px solid rgba(147,51,234,.3);border-radius:1rem;color:var(--colour-text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:.75rem;gap:.3rem;padding:.3rem .75rem;transition:all .2s;white-space:nowrap}.lock-toggle:hover{background:#9333ea26;border-color:#9333ea99;color:var(--colour-text)}.lock-toggle-on{border-color:#9333ea80;color:var(--colour-text)}.zone-selector{display:flex;gap:.5rem;margin-bottom:1.25rem;overflow-x:auto;padding-bottom:.25rem}.zone-tab{align-items:center;background:#ffffff0d;border:1px solid rgba(147,51,234,.3);border-radius:.5rem;color:var(--colour-text-muted);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;font-family:inherit;font-size:.8rem;gap:.2rem;padding:.6rem 1rem;transition:all .2s}.zone-tab:hover:not(:disabled){background:#9333ea26;border-color:#9333ea99;color:var(--colour-text)}.zone-tab-active{background:#9333ea40;border-color:var(--colour-primary);color:var(--colour-text)}.zone-tab-locked{cursor:not-allowed;opacity:.45}.zone-tab-image{aspect-ratio:16 / 9;border-radius:.35rem;object-fit:cover;width:96px}.zone-name{font-size:.75rem;font-weight:600;text-align:center}.zone-lock{font-size:.7rem}.empty-zone{color:var(--colour-text-muted);font-style:italic;padding:1rem 0;text-align:center}.loading-screen,.error-screen{align-items:center;display:flex;height:100vh;justify-content:center}.daily-challenge-panel{display:flex;flex-direction:column;gap:1rem}.daily-challenge-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.daily-challenge-subtitle{color:var(--colour-text-muted);font-size:.85rem;margin:0}.daily-challenge-progress{color:var(--colour-accent);font-size:.85rem;font-weight:700;white-space:nowrap;margin:0}.daily-challenge-list{display:flex;flex-direction:column;gap:.75rem}.daily-challenge-card{background:var(--colour-bg-secondary);border:1px solid var(--colour-border);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;transition:border-color .2s ease}.daily-challenge-card.completed{border-color:var(--colour-success, #4caf50);opacity:.8}.daily-challenge-info{flex:1;min-width:0}.daily-challenge-label{font-size:.95rem;font-weight:700;margin:0 0 .25rem}.daily-challenge-reward{color:var(--colour-text-muted);font-size:.8rem;margin:0}.daily-challenge-right{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;min-width:120px}.daily-challenge-done{color:var(--colour-success, #4caf50);font-size:.9rem;font-weight:700}.daily-challenge-count{color:var(--colour-text-muted);font-size:.8rem;margin:0}.daily-challenge-bar-track{background:var(--colour-bg-primary, #1a1a2e);border-radius:4px;height:6px;width:120px;overflow:hidden}.daily-challenge-bar-fill{background:var(--colour-accent);border-radius:4px;height:100%;transition:width .3s ease}.about-versions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.about-version-card{background:var(--colour-bg-secondary, #16213e);border:1px solid var(--colour-border, #0f3460);border-radius:8px;padding:.75rem 1.25rem;display:flex;flex-direction:column;gap:.25rem;min-width:160px}.about-version-label{color:var(--colour-text-muted);font-size:.8rem}.about-version-value{color:var(--colour-accent);font-size:1.1rem;font-weight:700;font-family:monospace}.about-loading,.about-empty,.about-error{color:var(--colour-text-muted);font-size:.9rem}.about-error{color:var(--colour-danger, #e74c3c)}.about-releases{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.5rem}.about-release{background:var(--colour-bg-secondary, #16213e);border:1px solid var(--colour-border, #0f3460);border-radius:8px;overflow:hidden}.about-release-header{width:100%;background:none;border:none;cursor:pointer;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;color:var(--colour-text-primary, #e0e0e0);text-align:left}.about-release-header:hover{background:#ffffff0d}.about-release-tag{font-weight:700;font-size:.95rem;flex:1}.about-release-date{color:var(--colour-text-muted);font-size:.8rem}.about-release-chevron{color:var(--colour-text-muted);font-size:.75rem}.about-release-body{font-size:.85rem;color:var(--colour-text-secondary, #b0b0b0);padding:0 1rem .75rem;margin:0;border-top:1px solid var(--colour-border, #0f3460)}.about-release-body p{margin:.4rem 0}.about-release-body p:first-child{margin-top:.5rem}.about-release-body p:last-child{margin-bottom:0}.about-release-body ul,.about-release-body ol{padding-left:1.5rem;margin:.4rem 0}.about-release-body li{margin-bottom:.2rem;line-height:1.5}.about-release-body h1,.about-release-body h2,.about-release-body h3,.about-release-body h4{color:var(--colour-accent);font-size:.9rem;font-weight:700;margin:.75rem 0 .25rem}.about-release-body h1:first-child,.about-release-body h2:first-child,.about-release-body h3:first-child,.about-release-body h4:first-child{margin-top:.5rem}.about-release-body code{background:#ffffff14;border-radius:3px;padding:.1em .3em;font-family:monospace;font-size:.8rem}.about-release-body pre{background:#0003;border-radius:4px;padding:.75rem;overflow-x:auto;margin:.4rem 0}.about-release-body pre code{background:none;padding:0}.about-release-body a{color:var(--colour-accent-light);text-decoration:none}.about-release-body a:hover{text-decoration:underline}.about-release-body strong{color:var(--colour-text);font-weight:700}.about-how-to-play{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.about-htp-section{background:var(--colour-bg-secondary, #16213e);border:1px solid var(--colour-border, #0f3460);border-radius:8px;padding:.75rem 1rem}.about-htp-title{font-size:.95rem;font-weight:700;color:var(--colour-accent);margin:0 0 .4rem}.about-htp-body{font-size:.85rem;color:var(--colour-text-secondary, #b0b0b0);margin:0;line-height:1.5}.codex-progress{background:var(--colour-surface-2);border:1px solid var(--colour-border);border-radius:var(--radius);margin-bottom:1.25rem;padding:.75rem 1rem}.codex-progress-text{color:var(--colour-text-muted);font-size:.85rem;margin-bottom:.5rem}.codex-progress-bar{background:var(--colour-bg);border-radius:4px;height:8px;overflow:hidden;width:100%}.codex-progress-fill{background:linear-gradient(90deg,var(--colour-essence),var(--colour-accent-light));border-radius:4px;height:100%;transition:width .4s ease}.codex-zone{margin-bottom:1rem}.codex-zone-header{align-items:center;color:var(--colour-accent-light);display:flex;font-size:1rem;font-weight:700;gap:.5rem;margin-bottom:.5rem}.codex-zone-count{background:var(--colour-surface-2);border:1px solid var(--colour-border);border-radius:12px;color:var(--colour-text-muted);font-size:.75rem;font-weight:400;margin-left:auto;padding:.1rem .5rem}.codex-entries{display:flex;flex-direction:column;gap:.35rem}.codex-entry{border:1px solid var(--colour-border);border-radius:var(--radius);overflow:hidden}.codex-entry.locked{opacity:.5}.codex-entry.unlocked{border-color:var(--colour-essence)}.codex-entry-header{align-items:center;background:var(--colour-surface-2);border:none;color:var(--colour-text);cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;text-align:left;width:100%}.codex-entry.unlocked .codex-entry-header:hover{background:var(--colour-surface)}.codex-entry.locked .codex-entry-header{cursor:default}.codex-lock{color:var(--colour-text-muted);flex-shrink:0;font-size:.85rem}.codex-entry-title{flex:1;font-size:.9rem;font-weight:600}.codex-entry.locked .codex-entry-title{color:var(--colour-text-muted);font-style:italic}.codex-source-badge{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:4px;color:var(--colour-text-muted);font-size:.7rem;padding:.1rem .35rem}.codex-chevron{color:var(--colour-text-muted);flex-shrink:0;font-size:.7rem;transition:transform .2s ease}.codex-entry-content{background:var(--colour-bg);border-top:1px solid var(--colour-essence);color:var(--colour-text-muted);font-size:.85rem;line-height:1.6;padding:.6rem .75rem}.game-toast{align-items:center;animation:slide-in-right .35s ease-out;background:var(--colour-surface);border:1px solid var(--colour-essence);border-radius:var(--radius);box-shadow:0 4px 20px #0006;cursor:pointer;display:flex;gap:.75rem;max-width:280px;padding:.75rem 1rem}.tab-badge{background:var(--colour-essence);border-radius:10px;color:#fff;display:inline-block;font-size:.65rem;font-weight:700;line-height:1;margin-left:.35rem;min-width:16px;padding:.2rem .35rem;text-align:center;vertical-align:middle}.transcendence-badge{background:linear-gradient(135deg,#4c1d95,#7c3aed);border-radius:999px;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.transcendence-panel .transcendence-intro{color:var(--colour-text-muted);font-size:.95rem;margin-bottom:.75rem}.transcendence-status{background:var(--colour-surface);border:1px solid #7c3aed;border-radius:var(--radius);margin:1rem 0;padding:1rem}.transcendence-status p{margin:.25rem 0}.echo-preview{color:#a78bfa;font-weight:600;margin-top:.5rem!important}.echo-meta-bonus{color:var(--colour-text-muted);font-size:.85rem;font-weight:400}.transcendence-locked{background:#7c3aed1a;border:1px solid #7c3aed;border-radius:var(--radius);padding:1rem;text-align:center}.transcendence-hint{color:var(--colour-text-muted);font-size:.85rem;margin-top:.5rem}.transcendence-button{background:linear-gradient(135deg,#4c1d95,#7c3aed);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:.5rem;padding:.75rem 2rem;transition:opacity .2s;width:100%}.transcendence-button:hover:not(:disabled){opacity:.85}.transcendence-button:disabled{cursor:not-allowed;opacity:.4}.echo-shop{display:flex;flex-direction:column;gap:1rem}.echo-shop-description{color:var(--colour-text-muted);font-size:.9rem;margin:0}.echo-upgrade-card{border-color:#7c3aed!important}.echo-upgrade-card.purchased{border-color:#6d28d9!important;opacity:.7}.echo-buy-button{background:linear-gradient(135deg,#4c1d95,#7c3aed);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:opacity .2s;white-space:nowrap}.echo-buy-button:hover:not(:disabled){opacity:.85}.echo-buy-button:disabled{cursor:not-allowed;opacity:.4}.apotheosis-badge{background:linear-gradient(135deg,#78350f,#d97706,#fbbf24);border-radius:999px;color:#1c1917;font-size:.85rem;font-weight:700;padding:.25rem .75rem}.apotheosis-panel .apotheosis-intro{color:var(--colour-text-muted);font-size:.95rem;margin-bottom:.75rem}.apotheosis-reward{background:linear-gradient(135deg,#78350f33,#d9770633);border:1px solid #d97706;border-radius:var(--radius);font-size:1rem;margin:1rem 0;padding:.75rem 1rem;text-align:center}.apotheosis-count{background:var(--colour-surface);border:1px solid #d97706;border-radius:var(--radius);margin:.75rem 0;padding:.75rem 1rem;text-align:center}.apotheosis-status{background:var(--colour-surface);border:1px solid #d97706;border-radius:var(--radius);margin:1rem 0;padding:1rem}.apotheosis-status p{margin:.25rem 0}.apotheosis-missing{color:var(--colour-text-muted);font-size:.9rem}.apotheosis-ready{color:#fbbf24;font-weight:600}.apotheosis-button{background:linear-gradient(135deg,#78350f,#d97706);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:.5rem;padding:.75rem 2rem;transition:opacity .2s;width:100%}.apotheosis-button:hover:not(:disabled){opacity:.85}.apotheosis-button:disabled{cursor:not-allowed;opacity:.4}.exploration-panel .panel-header{margin-bottom:.5rem}.exploration-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.exploration-card{align-items:center;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.exploration-card.exploration-locked{opacity:.55}.exploration-info h3{font-size:1rem;font-weight:600;margin:0 0 .25rem}.exploration-info p{color:var(--colour-text-muted);font-size:.85rem;margin:0 0 .25rem}.exploration-duration{color:var(--colour-text-muted);font-size:.8rem}.exploration-discovered{font-size:.85rem;margin-left:.25rem}.exploration-action{flex-shrink:0}.start-quest-button,.collect-button{background:var(--colour-accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem 1rem;transition:opacity .2s;white-space:nowrap}.collect-button{background:#16a34a}.start-quest-button:hover:not(:disabled),.collect-button:hover:not(:disabled){opacity:.85}.start-quest-button:disabled,.collect-button:disabled{cursor:not-allowed;opacity:.4}.exploration-result{background:var(--colour-surface);border:1px solid var(--colour-accent);border-radius:var(--radius);margin-bottom:.75rem;padding:.75rem 1rem;position:relative}.exploration-result-close{background:transparent;border:none;color:var(--colour-text-muted);cursor:pointer;font-size:1rem;padding:0;position:absolute;right:.75rem;top:.6rem}.exploration-result-close:hover{color:var(--colour-text)}.exploration-nothing{color:var(--colour-text-muted);font-style:italic;margin:0}.exploration-event-text{font-style:italic;margin:0 0 .5rem}.exploration-rewards{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.reward-tag{background:#14532d;border-radius:999px;color:#4ade80;font-size:.8rem;font-weight:600;padding:.2rem .65rem}.reward-tag.negative{background:#450a0a;color:#f87171}.reward-tag.material-tag{background:#1e3a5f;color:#93c5fd}.crafting-panel .panel-header{margin-bottom:.5rem}.crafting-content{display:flex;flex-direction:column;gap:1.5rem;margin-top:.75rem}.materials-section h3,.recipes-section h3{font-size:1rem;font-weight:700;margin:0 0 .5rem}.materials-list{display:flex;flex-direction:column;gap:.4rem}.material-card{align-items:center;background:var(--colour-surface);border:1px solid var(--colour-border);border-left-width:3px;border-radius:var(--radius);display:flex;justify-content:space-between;padding:.4rem .75rem}.material-card.rarity-common{border-left-color:#6b7280}.material-card.rarity-uncommon{border-left-color:#16a34a}.material-card.rarity-rare{border-left-color:#7c3aed}.material-card.material-empty{opacity:.45}.material-info{display:flex;flex-direction:column;gap:.1rem}.material-name{font-size:.9rem;font-weight:600}.material-rarity{color:var(--colour-text-muted);font-size:.75rem;text-transform:capitalize}.material-quantity{font-size:.95rem;font-weight:700}.recipes-list{display:flex;flex-direction:column;gap:.75rem}.recipe-card{align-items:flex-start;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.recipe-card.recipe-crafted{border-color:#16a34a;opacity:.75}.recipe-card.recipe-unaffordable{opacity:.55}.recipe-info{flex:1;min-width:0}.recipe-info h4{font-size:.95rem;font-weight:700;margin:0 0 .2rem}.recipe-description{color:var(--colour-text-muted);font-size:.82rem;margin:0 0 .4rem}.recipe-bonus{align-items:center;display:flex;font-size:.85rem;font-weight:600;gap:.4rem;margin-bottom:.4rem}.bonus-value{color:#fbbf24}.recipe-requirements{display:flex;flex-wrap:wrap;gap:.35rem}.req-tag{border-radius:999px;font-size:.75rem;font-weight:600;padding:.15rem .55rem}.req-tag.req-met{background:#14532d;color:#4ade80}.req-tag.req-missing{background:#450a0a;color:#f87171}.recipe-action{flex-shrink:0;padding-top:.15rem}.craft-button{background:#7c3aed;border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem 1rem;transition:opacity .2s;white-space:nowrap}.craft-button:hover:not(:disabled){opacity:.85}.craft-button:disabled{cursor:not-allowed;opacity:.4}.empty-zone{color:var(--colour-text-muted);font-size:.9rem}.early-access-notice{background:#ffb40014;border:1px solid rgba(255,180,0,.35);border-radius:6px;color:var(--colour-text-muted);font-size:.75rem;line-height:1.4;margin-top:.75rem;padding:.5rem .75rem;text-align:center}@media(max-width:768px){.resource-bar{flex-wrap:wrap;gap:.35rem .75rem;padding:.5rem .75rem}.resource-label{display:none}.resource-value{font-size:.95rem}.prestige-badge,.transcendence-badge,.apotheosis-badge{display:none}.resource-bar-actions{justify-content:flex-end;margin-left:0;width:100%}.game-main{flex-direction:column}.game-sidebar{align-items:center;border-bottom:1px solid var(--colour-border);border-right:none;flex-direction:row;gap:.75rem;height:auto;justify-content:center;padding:.5rem .75rem;position:static;top:auto;width:100%}.game-copyright{display:none}.click-area{align-items:center;display:flex;flex-direction:row;gap:.75rem;text-align:left}.click-area h2{display:none}.game-title{font-size:1rem;margin-bottom:0}.game-version{margin-bottom:0}.click-button{height:64px;width:64px}.click-power{font-size:.7rem;margin-top:0}.early-access-notice{display:none}}@media(max-width:480px){.tab-button{font-size:.8rem;padding:.3rem .6rem}}.character-sheet-panel .panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.character-sheet-header-actions{display:flex;gap:.5rem}.character-sheet-edit-btn{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);color:var(--colour-text);cursor:pointer;font-size:.85rem;padding:.3rem .75rem;transition:border-color .15s,color .15s}.character-sheet-edit-btn:hover{border-color:var(--colour-accent);color:var(--colour-accent)}.character-sheet-view,.character-sheet-form{display:flex;flex-direction:column;gap:1.5rem}.character-sheet-section{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.5rem;padding:1rem}.character-sheet-section-title{color:var(--colour-accent);font-size:1rem;font-weight:700;margin-bottom:.25rem}.character-sheet-field{align-items:baseline;display:flex;gap:.75rem}.character-sheet-field-label{color:var(--colour-text-muted);font-size:.8rem;font-weight:600;min-width:5rem;text-transform:uppercase}.character-sheet-field-value{color:var(--colour-text);font-size:.95rem}.character-sheet-bio{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem}.character-sheet-bio-text{color:var(--colour-text);font-size:.9rem;line-height:1.5;white-space:pre-wrap}.character-sheet-empty{color:var(--colour-text-muted);font-size:.85rem;font-style:italic}.character-sheet-label{color:var(--colour-text-muted);display:block;font-size:.8rem;font-weight:600;margin-bottom:.25rem;text-transform:uppercase}.character-sheet-input{background:var(--colour-bg);border:1px solid var(--colour-border);border-radius:var(--radius);color:var(--colour-text);font-size:.9rem;padding:.5rem .75rem;width:100%}.character-sheet-input:focus{border-color:var(--colour-accent);outline:none}.character-sheet-textarea{background:var(--colour-bg);border:1px solid var(--colour-border);border-radius:var(--radius);color:var(--colour-text);font-family:inherit;font-size:.9rem;padding:.5rem .75rem;resize:vertical;width:100%}.character-sheet-textarea:focus{border-color:var(--colour-accent);outline:none}.character-sheet-hint{color:var(--colour-text-muted);font-size:.75rem;text-align:right}.character-sheet-title{color:var(--colour-accent);font-style:italic}.character-sheet-error{color:#e74c3c;font-size:.85rem}.character-sheet-actions{display:flex;gap:.75rem;justify-content:flex-end}.character-sheet-cancel{background:transparent;border:1px solid var(--colour-border);border-radius:var(--radius);color:var(--colour-text-muted);cursor:pointer;font-size:.9rem;padding:.5rem 1.25rem}.character-sheet-save{background:var(--colour-accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.25rem;transition:opacity .15s}.character-sheet-save:disabled{cursor:not-allowed;opacity:.5}.character-page{align-items:center;background:var(--colour-bg);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.character-page-loading,.character-page-error{color:var(--colour-text);display:flex;flex-direction:column;gap:1rem;text-align:center}.character-page-card{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:calc(var(--radius) * 2);box-shadow:0 4px 32px #0006;display:flex;flex-direction:column;gap:1.5rem;max-width:640px;padding:2.5rem 2rem;width:100%}.character-page-header{align-items:flex-start;display:flex;gap:1.5rem}.character-page-avatar{border:3px solid var(--colour-accent);border-radius:50%;flex-shrink:0;height:96px;object-fit:cover;width:96px}.character-page-identity{display:flex;flex-direction:column;gap:.3rem}.character-page-name{color:var(--colour-accent);font-size:1.75rem;font-weight:800;line-height:1.1}.character-page-title{color:var(--colour-accent);font-size:.9rem;font-style:italic;margin-top:2px}.character-page-pronouns{color:var(--colour-text-muted);font-size:.85rem}.character-page-subtitle{color:var(--colour-text);font-size:.95rem;font-style:italic}.character-page-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.character-page-badge{border-radius:var(--radius);font-size:.75rem;font-weight:700;padding:.2rem .6rem}.character-page-badge--apotheosis{background:#ffd70026;border:1px solid gold;color:gold}.character-page-badge--transcendence{background:#6495ed26;border:1px solid cornflowerblue;color:#6495ed}.character-page-badge--prestige{background:#a052ff26;border:1px solid var(--colour-accent);color:var(--colour-accent)}.character-page-section{border-top:1px solid var(--colour-border);display:flex;flex-direction:column;gap:.5rem;padding-top:1.25rem}.character-page-section-title{color:var(--colour-accent);font-size:1rem;font-weight:700}.character-page-bio{color:var(--colour-text);font-size:.95rem;line-height:1.6;white-space:pre-wrap}.character-page-guild-name{color:var(--colour-text);font-size:1.1rem;font-weight:700}.character-page-guild-desc{color:var(--colour-text);font-size:.9rem;line-height:1.6;margin-top:.25rem;white-space:pre-wrap}.character-page-divider{border:none;border-top:1px solid var(--colour-border)}.character-page-player-line{color:var(--colour-text-muted);font-size:.85rem;text-align:center}.character-page-username{color:var(--colour-text);font-weight:600}.character-page-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.character-page-share-btn,.character-page-profile-link,.character-page-play-link,.character-page-link{border-radius:var(--radius);font-size:.85rem;font-weight:600;padding:.5rem 1rem;text-decoration:none;transition:opacity .15s}.character-page-share-btn{background:var(--colour-surface);border:1px solid var(--colour-border);color:var(--colour-text);cursor:pointer}.character-page-share-btn:hover{border-color:var(--colour-accent);color:var(--colour-accent)}.character-page-profile-link{background:var(--colour-surface);border:1px solid var(--colour-border);color:var(--colour-text)}.character-page-profile-link:hover{border-color:var(--colour-accent);color:var(--colour-accent)}.character-page-play-link,.character-page-link{background:var(--colour-accent);border:none;color:#fff}.character-page-play-link:hover,.character-page-link:hover{opacity:.85}.character-sheet-rarity--common{color:var(--colour-text-muted)}.character-sheet-rarity--rare{color:#4a9eff}.character-sheet-rarity--epic{color:#c084fc}.character-sheet-rarity--legendary{color:#f59e0b}.character-sheet-equipment-list{display:flex;flex-direction:column;gap:.5rem}.character-sheet-equipment-item{background:var(--colour-bg-alt);border-radius:var(--radius);padding:.5rem .75rem}.character-sheet-equipment-header{align-items:center;display:flex;gap:.4rem}.character-sheet-equipment-slot{font-size:1rem}.character-sheet-equipment-name{flex:1;font-weight:600}.character-sheet-equipment-rarity{font-size:.7rem;font-style:italic;text-transform:capitalize}.character-sheet-equipment-bonus{color:var(--colour-text-muted);font-size:.78rem;margin:.2rem 0 0}.character-page-equipment-list{display:flex;flex-direction:column;gap:.5rem}.character-page-equipment-item{background:#ffffff0a;border-radius:6px;padding:.5rem .75rem}.character-page-equipment-header{align-items:center;display:flex;gap:.4rem}.character-page-equipment-slot{font-size:1rem}.character-page-equipment-name{flex:1;font-weight:600}.character-page-equipment-rarity{font-size:.7rem;font-style:italic;text-transform:capitalize}.character-page-equipment-bonus{color:#ffffff80;font-size:.78rem;margin:.2rem 0 0}.leaderboard-page{align-items:flex-start;background:var(--colour-bg);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.leaderboard-card{background:var(--colour-bg-panel);border:1px solid var(--colour-border);border-radius:var(--radius-lg);max-width:800px;padding:2rem;width:100%}.leaderboard-header{margin-bottom:1.5rem;text-align:center}.leaderboard-title{font-size:2rem;font-weight:800;margin:0 0 .25rem}.leaderboard-subtitle{color:var(--colour-text-muted);font-size:.9rem;margin:0}.leaderboard-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.leaderboard-tab{background:var(--colour-bg-alt);border:1px solid var(--colour-border);border-radius:var(--radius);color:var(--colour-text-muted);cursor:pointer;font-size:.8rem;font-weight:600;padding:.4rem .8rem;transition:all .15s ease}.leaderboard-tab:hover{border-color:var(--colour-accent);color:var(--colour-accent)}.leaderboard-tab--active{background:var(--colour-accent);border-color:var(--colour-accent);color:#fff}.leaderboard-loading,.leaderboard-error,.leaderboard-empty{padding:2rem;text-align:center}.leaderboard-error{color:var(--colour-danger, #ef4444)}.leaderboard-empty{color:var(--colour-text-muted)}.leaderboard-table{border:1px solid var(--colour-border);border-radius:var(--radius);overflow:hidden}.leaderboard-table-header{background:var(--colour-bg-alt);color:var(--colour-text-muted);display:grid;font-size:.75rem;font-weight:700;grid-template-columns:3rem 1fr 8rem;padding:.6rem 1rem;text-transform:uppercase}.leaderboard-row{align-items:center;border-top:1px solid var(--colour-border);color:var(--colour-text);display:grid;grid-template-columns:3rem 1fr 8rem;padding:.75rem 1rem;text-decoration:none;transition:background .15s ease}.leaderboard-row:hover{background:var(--colour-bg-alt)}.leaderboard-row--top1{background:#fbbf2414}.leaderboard-row--top2{background:#94a3b814}.leaderboard-row--top3{background:#b4784614}.leaderboard-col-rank{font-size:1.1rem;font-weight:700;text-align:center}.leaderboard-col-player{align-items:center;display:flex;gap:.75rem;min-width:0}.leaderboard-avatar{border-radius:50%;flex-shrink:0;height:32px;width:32px}.leaderboard-player-info{display:flex;flex-direction:column;min-width:0}.leaderboard-player-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-player-title{color:var(--colour-accent);font-size:.75rem;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-col-value{font-weight:700;text-align:right}.leaderboard-footer{align-items:center;display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem}.leaderboard-play-link{background:var(--colour-accent);border-radius:var(--radius);color:#fff;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;text-decoration:none}.leaderboard-play-link:hover{opacity:.85}.leaderboard-privacy-note{color:var(--colour-text-muted);font-size:.75rem;margin:0}.panel-header-controls{align-items:center;display:flex;gap:.5rem}.auto-toggle-btn{border-radius:var(--radius);font-size:.8rem;font-weight:600;padding:.3rem .7rem;transition:background .15s,color .15s}.auto-toggle-off{background:var(--colour-surface);border:1px solid var(--colour-border);color:var(--colour-text-muted)}.auto-toggle-off:hover{border-color:var(--colour-accent);color:var(--colour-accent)}.auto-toggle-on{background:var(--colour-accent);border:1px solid var(--colour-accent);color:#fff}.auto-toggle-on:hover{opacity:.85}.login-bonus-modal{align-items:center;display:flex;flex-direction:column;gap:1.25rem;max-width:420px;padding:2rem;text-align:center}.login-bonus-streak{align-items:center;display:flex;flex-direction:column;gap:.25rem}.login-bonus-fire{font-size:2.5rem;line-height:1}.login-bonus-streak-count{color:var(--colour-accent);font-size:2rem;font-weight:700;line-height:1}.login-bonus-streak-label{color:var(--colour-text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.login-bonus-day-badge{align-items:center;background:var(--colour-surface);border:2px solid var(--colour-accent);border-radius:var(--radius);display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1.5rem;width:100%}.login-bonus-day-icon{font-size:2rem;line-height:1}.login-bonus-day-label{font-size:1rem;font-weight:600}.login-bonus-week-tag{background:#d4af37;border-radius:999px;color:#000;font-size:.75rem;font-weight:700;margin-top:.25rem;padding:.15rem .75rem}.login-bonus-rewards{display:flex;flex-direction:column;gap:.5rem;width:100%}.login-bonus-reward-item{align-items:center;background:var(--colour-surface);border-radius:var(--radius);display:flex;gap:.5rem;justify-content:center;padding:.5rem 1rem}.login-bonus-reward-icon{font-size:1.25rem}.login-bonus-reward-value{font-size:1.1rem;font-weight:600}.login-bonus-weekly-message{color:#d4af37;font-size:.9rem;font-weight:600;margin:0}.login-bonus-calendar{display:grid;gap:.4rem;grid-template-columns:repeat(7,1fr);width:100%}.login-bonus-cal-day{align-items:center;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.15rem;padding:.4rem .2rem}.login-bonus-cal-day--done{border-color:var(--colour-success, #4caf50);opacity:.6}.login-bonus-cal-day--today{border-color:var(--colour-accent);border-width:2px}.login-bonus-cal-icon{font-size:.9rem;line-height:1}.login-bonus-cal-num{color:var(--colour-text-muted);font-size:.65rem}.login-bonus-claim-btn{background:var(--colour-accent);border-radius:var(--radius);color:#fff;font-size:1rem;font-weight:700;padding:.7rem 2.5rem;transition:opacity .15s;width:100%}.login-bonus-claim-btn:hover{opacity:.85}.character-sheet-streak{color:var(--colour-accent);font-size:.95rem;font-weight:600}.companion-panel h2{margin-bottom:.5rem}.companion-intro{font-size:.9rem;color:var(--colour-muted);margin-bottom:1.25rem}.companion-intro strong{color:var(--colour-accent)}.companion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.companion-card{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .2s}.companion-unlocked{border-color:var(--colour-border)}.companion-locked{opacity:.6}.companion-active{border-color:var(--colour-accent);box-shadow:0 0 0 1px var(--colour-accent)}.companion-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.companion-name-block{display:flex;flex-direction:column;gap:.15rem}.companion-name{font-weight:700;font-size:1rem;color:var(--colour-text)}.companion-title{font-size:.78rem;color:var(--colour-muted);font-style:italic}.companion-active-badge{background:var(--colour-accent);color:#fff;font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.companion-description{font-size:.85rem;color:var(--colour-muted);line-height:1.4;flex:1}.companion-bonus{display:flex;align-items:center;justify-content:space-between;background:#7850c81f;border-radius:6px;padding:.35rem .6rem}.companion-bonus-label{font-size:.82rem;color:var(--colour-muted)}.companion-bonus-value{font-size:.9rem;font-weight:700;color:var(--colour-accent)}.companion-select-btn{padding:.45rem .8rem;border-radius:6px;border:1px solid var(--colour-accent);background:transparent;color:var(--colour-accent);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.companion-select-btn:hover,.companion-select-active{background:var(--colour-accent);color:#fff}.companion-unlock-requirement{font-size:.8rem;color:var(--colour-muted);padding:.35rem 0}.story-panel{display:flex;flex-direction:column;gap:1rem;height:100%}.story-chapter-tabs{display:flex;flex-wrap:wrap;gap:.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--colour-border)}.story-tab-btn{position:relative;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--colour-border);background:var(--colour-surface);color:var(--colour-text);font-size:.75rem;cursor:pointer;transition:background .15s,color .15s}.story-tab-btn:hover:not(.locked){background:var(--colour-accent);color:#fff}.story-tab-btn.active{background:var(--colour-accent);color:#fff;border-color:var(--colour-accent)}.story-tab-btn.locked{opacity:.35;cursor:default}.story-unread-dot{position:absolute;top:0;right:0;width:.5rem;height:.5rem;background:#f59e0b;border-radius:50%}.story-chapter-view{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.story-chapter-title{font-size:1.1rem;font-weight:700;color:var(--colour-accent);margin:0}.story-chapter-content{display:flex;flex-direction:column;gap:.75rem;color:var(--colour-text);line-height:1.6;font-style:italic;padding:.75rem;background:var(--colour-surface);border-radius:.5rem;border-left:3px solid var(--colour-accent)}.story-chapter-content p{margin:0}.story-choices{display:flex;flex-direction:column;gap:.5rem}.story-choices-prompt{font-weight:600;color:var(--colour-muted);margin:0 0 .25rem}.story-choice-btn{padding:.6rem 1rem;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:.5rem;color:var(--colour-text);text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.story-choice-btn:hover{background:var(--colour-accent);color:#fff;border-color:var(--colour-accent)}.story-choice-result{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--colour-surface);border-radius:.5rem;border-left:3px solid #7c3aed}.story-choice-label{margin:0;color:var(--colour-text)}.story-choice-outcome{margin:0;color:var(--colour-muted);font-style:italic;line-height:1.5}.story-locked{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;text-align:center}.story-locked-title{font-size:1.1rem;font-weight:700;color:var(--colour-text);margin:0}.story-locked-hint{color:var(--colour-muted);margin:0}.character-sheet-story-entry{display:flex;flex-direction:column;gap:.2rem;padding:.4rem 0;border-bottom:1px solid var(--colour-border)}.character-sheet-story-entry:last-child{border-bottom:none}.character-sheet-story-chapter{font-weight:600;color:var(--colour-accent);font-size:.85rem}.character-sheet-story-choice{color:var(--colour-muted);font-size:.8rem;font-style:italic}.character-sheet-story-outcome{margin:0;color:var(--colour-muted);font-size:.8rem;line-height:1.5}.card-thumbnail{border-radius:var(--radius);flex-shrink:0;height:72px;object-fit:cover;width:72px}.story-chapter-banner{border-radius:var(--radius);height:220px;margin-bottom:1rem;object-fit:cover;object-position:top;width:100%}.codex-entry-image{border-radius:var(--radius);height:80px;margin-bottom:.5rem;object-fit:cover;width:80px}.action-button{background:var(--colour-accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;margin-top:.5rem;padding:.55rem 1.25rem;transition:background .15s;width:100%}.action-button:hover:not(:disabled){background:var(--colour-accent-light)}.action-button:disabled{cursor:not-allowed;opacity:.5}.action-button-danger{background:var(--colour-error)}.action-button-danger:hover:not(:disabled){background:#f87171}.modal-button-danger{background:var(--colour-error)}.modal-button-danger:hover:not(:disabled){background:#f87171}.debug-actions{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:1rem}.debug-action-card{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;padding:1.25rem}.debug-action-card h3{color:var(--colour-accent-light);font-size:1rem;margin:0 0 .5rem}.debug-action-card>p{color:var(--colour-text-muted);flex:1;font-size:.875rem;margin:0}.debug-result-message{background:#10b9811a;border:1px solid var(--colour-success);border-radius:var(--radius);color:var(--colour-success);font-size:.8rem;margin-top:.75rem;padding:.5rem .75rem}
