:root{--bg-deep: #1c1714;--bg-panel: #2b2420;--bg-hover: #3d342e;--bg-overlay: rgba(13,11,9,.92);--parchment: #d4c4a0;--parchment-aged: #a89878;--parchment-dark: #796a54;--gold: #e8b630;--red: #c43c3c;--green: #4a9e6e;--steel: #5889b0;--leather: #8b6e4e;--text-primary: #ece0c8;--text-secondary: #a89878;--text-disabled: #6b5e4d;--font-title: "Cinzel", serif;--font-body: "Crimson Pro", serif;--font-mono: "JetBrains Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-deep)}#game-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;position:relative}#settings-overlay,#pause-overlay,#upgrades-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;overflow-y:auto;-webkit-overflow-scrolling:touch;font-family:var(--font-body);color:var(--text-primary)}#settings-overlay.active,#pause-overlay.active,#upgrades-overlay.active{display:flex;justify-content:center}@keyframes overlayFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}#settings-overlay.active .overlay-content,#pause-overlay.active .overlay-content,#upgrades-overlay.active .overlay-content{animation:overlayFadeIn .25s ease-out both}.overlay-exiting .overlay-content{animation:overlayFadeOut .2s ease-in both}.overlay-content{width:90%;max-width:500px;padding:24px;margin:20px auto;background:var(--bg-panel);border:2px solid var(--parchment-dark);border-radius:4px;box-shadow:inset 0 1px #d4c4a00f,0 8px 32px #0009}.overlay-content h2{text-align:center;margin-bottom:16px;font-family:var(--font-title);font-size:22px;font-weight:700;color:var(--gold);letter-spacing:3px;text-transform:uppercase;position:relative;padding-bottom:12px}.overlay-content h2:after{content:"◆";display:block;text-align:center;font-size:8px;color:var(--parchment-dark);margin-top:8px;letter-spacing:12px}.setting-group{margin-bottom:16px}.setting-group h3{font-family:var(--font-body);color:var(--steel);font-size:14px;font-weight:600;margin-bottom:8px;border-bottom:1px solid var(--parchment-dark);padding-bottom:4px;letter-spacing:.5px}.settings-tab-bar{display:flex;gap:0;margin-bottom:12px;border-bottom:2px solid var(--parchment-dark)}.settings-tab{flex:1;padding:10px 8px;min-height:44px;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;font-family:var(--font-title);font-size:12px;font-weight:700;color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:color .15s,border-color .15s}.settings-tab:hover{color:var(--text-primary)}.settings-tab.active{color:var(--gold);border-bottom-color:var(--gold)}.settings-tab-content{max-height:50vh;overflow-y:auto;padding-right:4px}.tab-panel{display:none}.tab-panel.active{display:block}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:7px 4px;font-size:14px;border-radius:3px;transition:background .15s}.setting-row:hover{background:var(--bg-hover)}.setting-row label{flex:1;font-family:var(--font-body);color:var(--text-primary)}.setting-row .range-val{width:40px;text-align:right;font-size:12px;margin-right:8px;font-family:var(--font-mono);color:var(--text-secondary)}.setting-row input[type=range]{width:120px;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--parchment-dark);border-radius:3px;outline:none}.setting-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--gold);border:2px solid var(--bg-panel);cursor:pointer;box-shadow:0 0 4px #e8b63066}.setting-row input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--gold);border:2px solid var(--bg-panel);cursor:pointer}.setting-row input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;min-width:22px;min-height:22px;border:2px solid var(--parchment-dark);border-radius:3px;background:var(--bg-deep);cursor:pointer;position:relative;transition:background .15s,border-color .15s}.setting-row input[type=checkbox]:checked{background:var(--gold);border-color:var(--gold)}.setting-row input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--bg-deep);font-size:14px;font-weight:700}.setting-row select{background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--parchment-dark);padding:4px 8px;font-family:var(--font-body);font-size:13px;border-radius:3px;cursor:pointer}.setting-row select:focus{border-color:var(--gold);outline:none}.setting-row input[type=number]{width:70px;text-align:center;background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--parchment-dark);padding:4px 6px;font-family:var(--font-mono);font-size:13px;border-radius:3px}.setting-row input[type=number]:focus{border-color:var(--gold);outline:none}.overlay-btn{display:block;width:100%;padding:12px;margin:8px 0;border:2px solid var(--parchment-dark);border-radius:3px;background:var(--bg-panel);color:var(--text-primary);font-family:var(--font-title);font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;text-align:center;min-height:44px;transition:all .15s ease}.overlay-btn:hover{background:var(--bg-hover);border-color:var(--parchment-aged);transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.overlay-btn:active{transform:translateY(1px);box-shadow:none}.overlay-btn.primary{border-color:var(--green);color:var(--green)}.overlay-btn.primary:hover{border-color:#5dc080;color:#5dc080}.overlay-btn.danger{border-color:var(--red);color:var(--red)}.overlay-btn.danger:hover{border-color:#e05050;color:#e05050}.close-btn{position:absolute;top:12px;right:16px;background:none;border:2px solid transparent;color:var(--parchment-dark);font-size:22px;cursor:pointer;font-family:var(--font-title);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s}.close-btn:hover{color:var(--red);border-color:var(--red);background:#c43c3c1a}#upgrades-overlay .overlay-content{max-height:90vh;display:flex;flex-direction:column}#upgrades-list{max-height:50vh;overflow-y:auto;padding-right:4px}.upgrade-entity{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--parchment-dark)}.upgrade-entity h3{font-family:var(--font-title);color:var(--gold);font-size:15px;font-weight:700;margin-bottom:6px;letter-spacing:1px}.upgrade-stat-row{display:flex;justify-content:space-between;align-items:center;padding:5px 4px;font-size:13px;gap:6px;border-radius:3px;transition:background .15s}.upgrade-stat-row:hover{background:var(--bg-hover)}.upgrade-stat-row .stat-name{flex:0 0 90px;font-family:var(--font-body);color:var(--text-secondary)}.upgrade-stat-row .level-pips{flex:0 0 60px;display:flex;gap:3px;align-items:center}.upgrade-stat-row .stat-preview{flex:1;font-family:var(--font-mono);color:var(--steel);font-size:12px;text-align:center}.pip{width:10px;height:10px;display:inline-block;transform:rotate(45deg);border:1px solid var(--parchment-dark)}.pip-filled{background:var(--gold);border-color:var(--gold);box-shadow:0 0 4px #e8b6304d}.pip-empty{background:transparent}.upgrade-buy-btn{flex:0 0 auto;padding:4px 10px;min-height:44px;min-width:70px;background:var(--bg-panel);border:1px solid var(--gold);border-radius:3px;color:var(--gold);font-family:var(--font-mono);font-size:12px;cursor:pointer;text-align:center;transition:all .15s}.upgrade-buy-btn:hover{background:var(--bg-hover);box-shadow:0 0 8px #e8b63033}.upgrade-buy-btn:disabled{border-color:var(--text-disabled);color:var(--text-disabled);cursor:default}.upgrade-buy-btn:disabled:hover{background:var(--bg-panel);box-shadow:none}#upgrades-star-balance{text-align:center;font-family:var(--font-mono);color:var(--gold);font-size:16px;font-weight:500;margin-bottom:12px;text-shadow:0 0 8px rgba(232,182,48,.3)}
