.exit-confirm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-modal-dimmer);display:flex;align-items:center;justify-content:center;z-index:10001;animation:exitConfirmFadeIn .15s ease-out}@keyframes exitConfirmFadeIn{0%{opacity:0}to{opacity:1}}.exit-confirm-dialog{background:var(--bg-menu-dialog);border:2px solid var(--menu-blue);border-radius:var(--radius-panel);padding:2rem;max-width:380px;width:90%;box-shadow:var(--shadow-modal);animation:exitConfirmSlideUp .2s ease-out}@keyframes exitConfirmSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.exit-confirm-title{color:var(--text-primary);margin:0 0 .5rem;font-size:var(--font-2xl);text-align:center}.exit-confirm-subtitle{color:var(--text-dim);margin:0 0 1.75rem;font-size:var(--font-sm);text-align:center}.exit-confirm-buttons{display:flex;gap:var(--space-xl);justify-content:center}.exit-confirm-cancel-button,.exit-confirm-save-button{padding:.75rem 1.5rem;font-size:var(--font-md);font-weight:600;border-radius:var(--radius-button);cursor:var(--cursor-pointer);transition:background-color .15s ease,border-color .15s ease;border:1px solid;flex:1}.exit-confirm-cancel-button{background-color:var(--menu-btn-secondary-bg);color:var(--text-primary);border-color:var(--menu-blue-border-dim)}.exit-confirm-cancel-button:hover{background-color:var(--menu-btn-secondary-bg-hover);border-color:var(--menu-blue)}.exit-confirm-save-button{background-color:var(--menu-blue);color:var(--text-primary);border-color:var(--menu-blue)}.exit-confirm-save-button:hover{background-color:var(--menu-blue-light);border-color:var(--menu-blue-light)}.app{width:100%;height:100dvh;overflow:hidden;display:grid;grid-template-columns:var(--layout-grid-columns);cursor:var(--cursor-default)}.center-game-area{grid-column:2;display:flex;flex-direction:column;gap:var(--section-gap);max-width:var(--center-game-max-width);margin:0 auto;width:100%;padding-top:var(--section-gap);height:100dvh}header{background-color:transparent;display:flex;flex-direction:column;gap:var(--section-gap);position:relative}header h1{margin:0;font-size:var(--font-lg);color:#646cff;text-align:right}.menu-bar{display:grid;grid-template-columns:1fr minmax(0,1000px) 1fr;gap:var(--button-gap);width:100%;align-items:stretch}.menu-bar-center{display:flex;justify-content:center;align-items:center;min-width:0;height:100%}.menu-bar-left,.menu-bar-right{display:flex;align-items:stretch;gap:var(--button-gap)}.menu-bar-right{justify-content:flex-end}.menu-bar-button-slot{display:flex;align-items:stretch;height:100%;aspect-ratio:1 / 1;flex:0 0 auto}.menu-bar-button-slot>*{display:flex;width:100%;height:100%}.menu-bar-button-slot button{box-sizing:border-box}.menu-bar-left button,.menu-bar-right button{height:100%;width:100%;justify-content:center}main{flex:1;min-height:0;padding:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:stretch;position:relative}.game-area{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:minmax(0,1fr);width:100%;height:100%;min-height:0}.about-button{display:flex;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:var(--font-base);transition:all .2s ease;border:1px solid var(--menu-blue);border-radius:var(--radius-button);cursor:var(--cursor-pointer);font-weight:500;background-color:var(--menu-blue-darker);color:var(--text-primary)}.about-button:hover{background-color:var(--menu-blue-dark);transform:translateY(-2px);box-shadow:0 4px 12px var(--menu-blue-shadow);border-color:var(--menu-blue-light)}.about-button:active{transform:translateY(0)}.about-button-long{padding:.5rem 1rem;gap:.5rem}.about-button .button-icon{width:20px;height:20px;object-fit:contain;pointer-events:none}.about-button.has-unread,.settings-button.has-unread{position:relative}.unread-badge{position:absolute;top:-2px;right:-2px;width:12px;height:12px;background-color:#4caf50;border-radius:50%;border:2px solid var(--bg-primary);animation:unread-pulse 2s infinite}@keyframes unread-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.reset-button{padding:.5rem 1rem;font-size:var(--font-base);transition:all .2s ease;border:1px solid transparent;border-radius:var(--radius-button);cursor:var(--cursor-pointer);font-weight:500;background-color:#4a4a4a;color:var(--text-primary)}.reset-button{background-color:#a44}.reset-button:hover{background-color:#c66;transform:translateY(-2px);box-shadow:0 4px 8px #a444444d}.reset-button:active{animation:buttonClick .2s ease}.hard-reset-button{padding:.5rem 1rem;font-size:var(--font-base);transition:all .2s ease;border:1px solid transparent;border-radius:var(--radius-button);cursor:var(--cursor-pointer);font-weight:500;background-color:#8a1a1a;color:var(--text-primary)}.hard-reset-button:hover{background-color:#b22;transform:translateY(-2px);box-shadow:0 4px 8px #8a1a1a80}.hard-reset-button:active{animation:buttonClick .2s ease}.debug-button{padding:.5rem 1rem;font-size:var(--font-base);transition:all .2s ease;border:1px solid transparent;border-radius:var(--radius-button);cursor:var(--cursor-pointer);font-weight:500;background-color:#444a8a;color:var(--text-primary);min-width:140px;text-align:center}.debug-button:hover{background-color:#5a6aaa;transform:translate(-2px);box-shadow:0 4px 8px #444a8a4d}.debug-button:active{animation:buttonClick .2s ease}.run-timer{font-family:Courier New,monospace;font-size:var(--font-base);font-weight:600;color:#8bc34a;background-color:#8bc34a1a;padding:.5rem .75rem;border-radius:var(--radius-button);border:1px solid rgba(139,195,74,.3);min-width:80px;text-align:center;cursor:var(--cursor-pointer);transition:background-color .2s,border-color .2s}.run-timer:hover{background-color:#8bc34a40;border-color:#8bc34a99}.speed-button{padding:.5rem .75rem;font-size:var(--font-base);transition:all .2s ease;border:1px solid #555;border-radius:var(--radius-button);cursor:var(--cursor-pointer);font-weight:600;background-color:#3a3a3a;color:#aaa;min-width:40px}.speed-button:hover{background-color:#4a4a4a;color:var(--text-primary);transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.speed-button-active{background-color:#e6a117;color:#000;border-color:#ffc107;box-shadow:0 0 12px #ffc10780}.speed-button-active:hover{background-color:#ffc107;color:#000;box-shadow:0 0 16px #ffc107b3}.speed-button:active{animation:buttonClick .2s ease}.speed-buttons-row{display:flex;gap:.25rem;justify-content:center}.tile-counts-debug{background-color:#444a8a26;border:1px solid rgba(68,74,138,.4);border-radius:var(--radius-corners);padding:.5rem;min-width:140px;max-height:300px;overflow-y:auto}.tile-counts-header{font-size:var(--font-base-sm);font-weight:600;color:#7a8acc;text-align:center;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid rgba(68,74,138,.3)}.tile-counts-list{display:flex;flex-direction:column;gap:.25rem}.tile-count-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem .5rem;background-color:#0003;border-radius:var(--radius-corners);font-size:var(--font-sm)}.tile-type-name{color:#aaa;font-weight:500;text-transform:capitalize;flex:1}.tile-type-count{color:#10b981;font-weight:700;font-family:Courier New,monospace;min-width:30px;text-align:right}.right-panels{display:flex;flex-direction:column;gap:var(--panel-gap);overflow-y:auto}.shortcuts-panel{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border:2px solid #646cff;border-radius:var(--radius-corners);padding:2rem;max-width:400px;box-shadow:0 8px 32px #646cff33;animation:panelSlideUp .3s ease}.shortcuts-panel h3{margin:0 0 1.5rem;color:#646cff;font-size:var(--font-xl);text-align:center}@keyframes panelSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.performance-monitor{background-color:#444a8a66;border:1px solid rgba(68,74,138,.5);border-radius:var(--radius-corners);padding:.4rem .5rem;min-width:140px;font-family:Courier New,monospace;font-size:11px}.perf-row{display:flex;justify-content:space-between;gap:.5rem;line-height:1.4}.perf-label{color:#9aa;font-weight:500}.perf-value{color:#ccc;font-weight:500}.perf-normal{color:#4caf50}.perf-warning{color:#ffc107}.perf-critical{color:#f44336;font-weight:600}.custom-drawer .MuiDrawer-paper{background-color:transparent;display:grid}.custom-bottom-navigation{justify-content:space-between!important;background:#333!important}.custom-bottom-navigation-action{color:#eee!important}.custom-bottom-navigation-action:focus{outline:none}@media(max-width:1919px){.app{height:auto;min-height:100vh;overflow:visible;display:flex;flex-direction:column}}@media(min-width:1920px){.center-game-area{max-width:3000px}}@media(max-width:959px){.game-area{grid-template-columns:1fr}.menu-bar-center{grid-column-start:1;grid-column-end:-1}.menu-bar-right{grid-row-start:1;grid-column-end:-1}}@media(max-width:599px){.menu-bar-button-slot{aspect-ratio:auto}}.header-feature-button{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.5rem 1rem;min-width:56px;min-height:40px;font-size:var(--font-base);transition:all .2s ease;border:1px solid var(--menu-blue);border-radius:var(--radius-button);cursor:var(--cursor-pointer);font-weight:500;background-color:var(--menu-blue-darker);color:var(--text-primary);position:relative}@media(max-width:1279px){.header-feature-button{padding:.2rem}}.header-feature-button:hover{background-color:var(--menu-blue-dark);transform:translateY(-2px);box-shadow:0 4px 12px var(--menu-blue-shadow);border-color:var(--menu-blue-light)}.header-feature-button:active{transform:translateY(0)}.header-feature-button-icon{width:100%;height:100%;object-fit:contain;pointer-events:none}.header-feature-button-value{font-weight:600;font-size:1.2rem;position:absolute;left:0;right:0;bottom:0;text-align:center;background:#00000080}.purchase-confirm-overlay{position:var(--pc-overlay-position, fixed);top:0;left:0;right:0;bottom:0;background-color:var(--pc-overlay-bg, rgba(0, 0, 0, .85));display:flex;align-items:center;justify-content:center;z-index:var(--pc-overlay-z, 10001);animation:var(--pc-animation-fade, fadeIn) .2s ease-out}.purchase-confirm-dialog{display:flex;flex-direction:column;gap:var(--space-lg);width:480px;max-width:90vw;padding:var(--space-xl) var(--space-lg);background:#000000f2;border:1px solid var(--pc-border-color);border-radius:var(--radius-button);animation:var(--pc-animation-slide, slideUp) .3s ease-out;box-sizing:border-box}.purchase-confirm-title{margin:0;font-size:var(--font-2xl);color:var(--pc-title-color, var(--text-primary));text-align:center}:root .alchemy-vial-tooltip,:root .wisdom-tile-tooltip,:root .worldtree-tooltip{width:480px;max-width:90vw;box-sizing:border-box}.alchemy-vial-tooltip.purchase-confirm-tooltip,.wisdom-tile-tooltip-content.purchase-confirm-tooltip,.worldtree-tooltip-content.purchase-confirm-tooltip{position:static;pointer-events:auto;animation:none;width:auto;max-width:none;background:transparent;border:none;border-top:1px solid var(--pc-border-color);border-bottom:1px solid var(--pc-border-color);border-radius:0;padding:var(--space-lg) 0}.purchase-confirm-buttons{display:flex;gap:var(--space-lg);justify-content:center}.purchase-confirm-button{padding:var(--space-md) var(--space-2xl);min-width:120px;font-size:var(--font-md);font-weight:600;color:var(--text-primary);border:1px solid var(--pc-border-color);border-radius:var(--radius-button);cursor:var(--cursor-pointer);background:#ffffff14;transition:background .15s ease}.purchase-confirm-button:hover:not(:disabled){background:#ffffff29;border-color:var(--pc-border-color)}.purchase-confirm-button:focus,.purchase-confirm-button:focus-visible{outline:none}.purchase-confirm-button:disabled,.purchase-confirm-button:disabled:hover{opacity:.8;cursor:var(--cursor-not-allowed);border-color:var(--pc-border-color)}.purchase-confirm-button--confirm{background:var(--pc-confirm-bg)}.purchase-confirm-button--confirm:hover:not(:disabled){background:var(--pc-confirm-bg-hover)}@media(max-width:959px){.purchase-confirm-title{font-size:var(--font-xl)}.purchase-confirm-buttons{flex-direction:column;width:100%;max-width:320px}.purchase-confirm-button{width:100%}}.simple-tooltip-trigger{display:inline}.simple-tooltip{animation:simpleTooltipFadeIn .15s ease-out;max-width:300px}.simple-tooltip__content{background-color:#1a1a1aee;border:1px solid #444;border-radius:var(--radius-button);box-shadow:0 4px 12px #000c;padding:var(--space-md) var(--space-lg);color:var(--text-primary);font-family:inherit;font-size:var(--font-base);line-height:1.4;text-align:center;white-space:pre-line}.simple-tooltip__content--map-theme{background-color:#0a0a0aee;border-color:var(--map-theme-primary);color:var(--map-theme-primary);box-shadow:0 4px 12px #000c,0 0 8px var(--map-theme-primary-glow);text-align:left}@keyframes simpleTooltipFadeIn{0%{opacity:0}to{opacity:1}}.purchase-confirm-overlay--vial{--pc-border-color: var(--alchemy-green-dark);--pc-title-color: var(--alchemy-text-primary);--pc-confirm-bg: var(--alchemy-green-dark);--pc-confirm-bg-hover: var(--alchemy-green)}.alchemy-button{font-family:var(--font-primary)}.alchemy-button-icon{font-size:var(--font-lg)}.alchemy-button-count-number{font-weight:700}.alchemy-modal{background:linear-gradient(180deg,var(--alchemy-bg) 0%,var(--alchemy-bg-dark) 100%);border:3px solid var(--alchemy-green-dark);border-radius:var(--radius-corners);width:1750px;max-width:90vw;height:100dvh;height:100vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.alchemy-modal-title{font-size:var(--font-5xl);color:var(--alchemy-text-primary);margin:0;display:flex;align-items:center;justify-content:center;gap:var(--space-xl)}.alchemy-title-short{display:none}@media(max-width:959px){.alchemy-title-long{display:none}.alchemy-title-short{display:inline}.alchemy-info-box{display:none}}.alchemy-title-alchetile{display:flex;align-items:center;gap:var(--space-sm);font-variant-numeric:tabular-nums}.alchemy-title-alchetile-icon{width:1em;height:1em;object-fit:contain;opacity:.9}.alchemy-modal.modal-panel .modal-content{display:flex;flex-direction:row;flex:1;overflow-y:auto;min-height:0;padding:0;scrollbar-color:var(--alchemy-green-dark) transparent}.alchemy-main-column{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:600px}.alchemy-top-box{display:flex;flex-direction:row;gap:var(--space-xl);padding:var(--space-3xl);align-items:stretch;flex-shrink:0;overflow:hidden}.alchemy-top-box .alchemy-rates-box,.alchemy-top-box .alchemy-info-box{flex:1}.alchemy-vial-container{display:flex;flex-direction:column;align-items:center;padding:var(--space-xl);background:#0000004d;border-left:1px solid var(--alchemy-green-dark)}.alchemy-vial{flex:1;width:64px;min-height:200px;background:var(--alchemy-bg-dark);border:2px solid var(--alchemy-green-dark);border-radius:0 0 32px 32px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.alchemy-vial-fill{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(0deg,var(--alchemy-green-dark) 0%,var(--alchemy-green) 50%,var(--alchemy-green-light) 100%);transition:height .3s ease;box-shadow:0 0 20px var(--alchemy-green-glow);border-radius:0 0 30px 30px;animation:glow-pulse 2s ease-in-out infinite,color-shimmer 4s ease-in-out infinite}.alchemy-vial-fill:after{content:"";position:absolute;top:-8px;left:0;right:0;height:16px;background:var(--alchemy-green-light);animation:wave-squiggle 1.5s ease-in-out infinite;box-shadow:0 -2px 8px #39ff1466}.alchemy-vial-text{color:var(--alchemy-bg-dark);font-size:var(--font-lg);font-weight:700;text-shadow:0 0 3px var(--alchemy-green-light),0 0 5px var(--alchemy-green);white-space:nowrap;z-index:var(--z-base);position:relative}.alchemy-rates-box{background:#39ff140d;border:1px solid var(--alchemy-green-dark);border-radius:var(--radius-button);padding:var(--space-lg) var(--space-xl)}.alchemy-rate-item{display:grid;grid-template-columns:14px 1fr auto 1.2em auto;align-items:center;gap:0 var(--space-sm);padding:var(--space-md) 0}.alchemy-rate-label{font-size:var(--font-md);color:var(--alchemy-text-primary)}.alchemy-rate-value{font-size:var(--font-md);color:var(--alchemy-text-primary);font-weight:700;font-variant-numeric:tabular-nums;text-align:right;min-width:4ch}.alchemy-rate-arrow{color:var(--alchemy-text-primary);font-size:var(--font-md);text-align:center}.alchemy-rate-lifetime{color:var(--alchemy-text-primary);font-size:var(--font-md);font-variant-numeric:tabular-nums;text-align:right;min-width:5ch}.alchemy-info-box{background:#39ff1408;border:1px solid var(--alchemy-green-dark);border-radius:var(--radius-button);padding:var(--space-lg) var(--space-xl);font-size:var(--font-md);color:var(--alchemy-text-primary);line-height:1.6;overflow-y:auto;min-height:0}.alchemy-info-box p{margin:0 0 8px}.alchemy-info-box p:last-child{margin-bottom:0}.alchemy-vials-section{padding:var(--space-2xl);background:#0003;border-top:1px solid var(--alchemy-green-dark);display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.alchemy-vials-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.alchemy-vials-title{font-size:var(--font-md);color:var(--alchemy-text-primary);text-align:center;margin-bottom:0;display:flex;align-items:baseline;gap:var(--space-sm);justify-content:center}.alchemy-vials-count{font-size:var(--font-md);color:var(--alchemy-text-primary);font-weight:400}.alchemy-hide-owned-label{display:flex;align-items:center;gap:var(--space-sm);cursor:var(--cursor-pointer);color:var(--alchemy-text-primary);font-size:var(--font-md);-webkit-user-select:none;user-select:none}.alchemy-hide-owned-checkbox{cursor:var(--cursor-pointer);width:1rem;height:1rem;accent-color:var(--alchemy-green)}.alchemy-vials-header-controls{display:flex;align-items:center;gap:var(--space-lg)}.alchemy-refund-button{background:transparent;border:1px solid var(--alchemy-green-dark);color:var(--alchemy-text-primary);font-size:var(--font-md);padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-button);cursor:var(--cursor-pointer);transition:background .15s,border-color .15s}.alchemy-refund-button:hover:not(:disabled){background:var(--alchemy-green-dark);border-color:var(--alchemy-green)}.alchemy-refund-button:disabled{opacity:.4;cursor:var(--cursor-not-allowed)}.alchemy-vials-grid{display:flex;flex-wrap:wrap;gap:var(--space-xl);justify-content:center;align-content:flex-start;overflow-y:auto;flex:1;scrollbar-color:var(--alchemy-green-dark) transparent}.alchemy-vial-node{width:120px;height:120px;border-radius:var(--radius-button);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md);transition:all .2s ease;border:2px solid;background:#0000004d;position:relative;cursor:var(--cursor-pointer);z-index:0}.alchemy-vial-node:hover{z-index:var(--z-tooltip)}.alchemy-vial-node.purchased{border-color:var(--worldtree-green);border-width:3px;background:#10b98126;cursor:var(--cursor-default);box-shadow:0 0 16px #10b9814d}.alchemy-vial-node.affordable{border-color:var(--alchemy-green);background:#39ff141a;box-shadow:0 0 12px var(--alchemy-green-glow)}.alchemy-vial-node.affordable:hover{border-color:var(--alchemy-green-light);background:#39ff1433;box-shadow:0 0 28px var(--alchemy-green-glow),0 0 8px var(--alchemy-green-glow)}.alchemy-vial-node.unaffordable{border-color:var(--alchemy-green-dark);background:#00000080;opacity:.85;cursor:var(--cursor-not-allowed)}.alchemy-vial-node.unaffordable:hover{opacity:.95}.alchemy-vial-bg-icon{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:88px;height:88px;object-fit:contain;opacity:.6;pointer-events:none}.alchemy-vial-node.purchased .alchemy-vial-bg-icon{opacity:.4;filter:grayscale(30%)}.alchemy-vial-node.affordable .alchemy-vial-bg-icon{opacity:.7;filter:drop-shadow(0 0 8px rgba(57,255,20,.4))}.alchemy-vial-node.unaffordable .alchemy-vial-bg-icon{opacity:.35;filter:grayscale(50%)}.alchemy-vial-cost{display:flex;align-items:center;justify-content:center;z-index:var(--z-base);position:relative}.alchemy-vial-cost-number{font-size:32px;font-weight:700;color:var(--worldtree-gold);text-shadow:0 0 3px rgba(0,0,0,1),0 0 6px rgba(0,0,0,.9),0 0 9px rgba(0,0,0,.7)}.alchemy-vial-node.affordable .alchemy-vial-cost-number{color:var(--alchemy-green);text-shadow:0 0 3px rgba(0,0,0,1),0 0 6px var(--alchemy-green-glow),0 0 9px rgba(0,0,0,.7)}.alchemy-vial-node.unaffordable .alchemy-vial-cost-number{color:#ef4444}.alchemy-vial-purchased-indicator{position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--worldtree-green);border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-xs);font-weight:700}.alchemy-vial-purchased-indicator:before{content:"✓"}.alchemy-vial-tooltip{position:fixed;background:#000000f2;border:1px solid var(--alchemy-green-dark);border-radius:var(--radius-button);padding:var(--space-md) var(--space-lg);width:max-content;max-width:500px;z-index:var(--z-tooltip);pointer-events:none}.alchemy-vial-tooltip-name-text{display:inline-flex;align-items:center;gap:var(--space-sm)}.alchemy-vial-tooltip-name-icon{height:1em;width:auto;flex-shrink:0}.alchemy-vial-tooltip-name{font-size:var(--font-2xl);font-weight:700;color:var(--alchemy-text-primary);margin-bottom:var(--space-sm);padding-right:64px}.alchemy-vial-tooltip-time{position:absolute;top:var(--space-md);right:var(--space-lg);font-size:var(--font-md);font-weight:400;color:var(--alchemy-text-secondary);white-space:nowrap}.alchemy-vial-tooltip-desc{font-size:var(--font-md);color:var(--alchemy-text-primary)}.alchemy-vial-tooltip-aggregate{font-size:var(--font-md);color:var(--alchemy-text-primary);margin-top:var(--space-xs)}.alchemy-vial-tooltip-highlight{color:var(--alchemy-green)}.alchemy-vial-tooltip-lore{font-size:var(--font-md);color:var(--alchemy-text-secondary);margin-top:var(--space-md)}.alchemy-vial-tooltip-lore:before{content:"“"}.alchemy-vial-tooltip-lore:after{content:"”"}@keyframes bubble-rise{0%{bottom:0%;opacity:0;transform:translate(0) scale(.5)}10%{opacity:.9;transform:translate(2px) scale(1)}30%{transform:translate(-2px) scale(1.1)}50%{opacity:.8;transform:translate(3px) scale(1)}70%{transform:translate(-3px) scale(.9)}90%{opacity:.5;transform:translate(1px) scale(.7)}to{bottom:100%;opacity:0;transform:translate(-1px) scale(.3)}}@keyframes wave-squiggle{0%,to{clip-path:polygon(0% 100%,0% 70%,20% 90%,40% 75%,60% 95%,80% 80%,100% 85%,100% 100%)}50%{clip-path:polygon(0% 100%,0% 85%,20% 70%,40% 92%,60% 78%,80% 95%,100% 72%,100% 100%)}}@keyframes glow-pulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes color-shimmer{0%,to{filter:hue-rotate(0deg) brightness(1)}50%{filter:hue-rotate(8deg) brightness(1.1)}}.alchemy-vial-bubble{position:absolute;width:6px;height:6px;background:radial-gradient(circle at 30% 30%,var(--alchemy-green-light) 0%,rgba(57,255,20,.5) 50%,transparent 70%);border-radius:50%;pointer-events:none;animation:bubble-rise .8s linear infinite}.alchemy-vial-bubble:nth-child(1){left:15%;animation-delay:0s;animation-duration:.8s;width:5px;height:5px}.alchemy-vial-bubble:nth-child(2){left:35%;animation-delay:1.2s;animation-duration:.9s;width:7px;height:7px}.alchemy-vial-bubble:nth-child(3){left:55%;animation-delay:2.5s;animation-duration:.85s;width:4px;height:4px}.alchemy-vial-bubble:nth-child(4){left:75%;animation-delay:3.8s;animation-duration:1s;width:6px;height:6px}.alchemy-vial-bubble:nth-child(5){left:25%;animation-delay:5.2s;animation-duration:.95s;width:5px;height:5px}.alchemy-vial-bubble:nth-child(6){left:65%;animation-delay:6.5s;animation-duration:1.1s;width:8px;height:8px}@media(max-width:959px){.alchemy-modal{width:100vw;max-width:100vw;height:100dvh;height:100vh;border-radius:0;border:none}}@media(prefers-reduced-motion:reduce){.alchemy-vial-bubble,.alchemy-vial-fill,.alchemy-vial-fill:after{animation:none}}.alchemy-stat-vial-wrapper{border:none;background:none;border-radius:0;padding:var(--space-md) 0 0 0;margin-top:var(--space-xs)}.alchemy-stat-vial{position:relative;width:100%;flex:1;height:20px;border-radius:0;overflow:hidden;background:#00000080;display:flex;flex-direction:row}.alchemy-stat-vial-section{height:100%;position:relative;overflow:hidden;transition:width .4s ease;flex-shrink:0;min-width:0}.alchemy-stat-vial-section--passive{background:linear-gradient(180deg,#39ff14e6,#228b22f2);box-shadow:inset 0 0 8px #39ff144d}.alchemy-stat-vial-section--auto{background:linear-gradient(180deg,#ffd700e6,#b8860bf2);box-shadow:inset 0 0 8px #ffd7004d}.alchemy-stat-vial-section--manual{background:linear-gradient(180deg,#1e90ffe6,#005ab4f2);box-shadow:inset 0 0 8px #1e90ff4d}.alchemy-stat-vial-section--map-completion{background:linear-gradient(180deg,#ff6400e6,#a03c00f2);box-shadow:inset 0 0 8px #cc55004d}.alchemy-stat-vial-section-bubble{position:absolute;bottom:-4px;width:5px;height:5px;border-radius:50%;background:#fff6;animation:bubble-rise 1s ease-in infinite}.alchemy-stat-vial-section--passive .alchemy-stat-vial-section-bubble{background:#39ff1480}.alchemy-stat-vial-section--auto .alchemy-stat-vial-section-bubble{background:#ffd70080}.alchemy-stat-vial-section--manual .alchemy-stat-vial-section-bubble{background:#1e90ff80}.alchemy-stat-vial-section--map-completion .alchemy-stat-vial-section-bubble{background:#ff640080}.alchemy-stat-vial-section-bubble:nth-child(1){left:15%;animation-delay:0s;animation-duration:.9s}.alchemy-stat-vial-section-bubble:nth-child(2){left:55%;animation-delay:.5s;animation-duration:1.2s}.alchemy-stat-vial-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.alchemy-stat-vial-empty-text{color:var(--alchemy-text-primary);font-size:var(--font-md);font-style:italic;letter-spacing:.05em}.alchemy-stat-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.alchemy-stat-legend-dot--passive{background:var(--alchemy-stat-passive);box-shadow:0 0 4px #39ff1499}.alchemy-stat-legend-dot--auto{background:var(--alchemy-stat-auto);box-shadow:0 0 4px #ffd70099}.alchemy-stat-legend-dot--manual{background:var(--alchemy-stat-manual);box-shadow:0 0 4px #1e90ff99}.alchemy-stat-legend-dot--map-completion{background:var(--alchemy-stat-map-completion);box-shadow:0 0 4px #c509}@media(prefers-reduced-motion:reduce){.alchemy-stat-vial-section-bubble{animation:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:var(--z-modal);cursor:var(--cursor-pointer);animation:fadeIn .2s ease-out}.modal-panel{border-width:2px;border-style:solid;border-radius:var(--radius-panel);padding:1.5rem;width:90%;max-height:90dvh;display:flex;flex-direction:column;cursor:var(--cursor-default);box-shadow:0 8px 32px #0006;animation:slideUp .3s ease-out}@media(max-width:599px){.modal-panel{width:100%;height:100dvh;max-height:100dvh}}.modal-panel-default{background:linear-gradient(135deg,#1a1a2e,#16213e);border-color:var(--menu-blue)}.modal-header{display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.3);flex-shrink:0;gap:var(--space-sm)}.modal-close-button{background:#0003;border:none;font-size:var(--font-3xl);color:var(--text-primary);cursor:var(--cursor-pointer);padding:0;width:2rem;min-width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.modal-close-button:hover{opacity:.8}.modal-content{overflow-y:auto}.modal-panel-default .modal-content::-webkit-scrollbar{width:var(--space-md)}.modal-panel-default .modal-content::-webkit-scrollbar-track{background:#0003;border-radius:var(--radius-sm)}.modal-panel-default .modal-content::-webkit-scrollbar-thumb{background:var(--menu-blue-shadow);border-radius:var(--radius-sm)}.modal-panel-default .modal-content::-webkit-scrollbar-thumb:hover{background:var(--menu-blue)}@keyframes borderTrace{0%{opacity:0;box-shadow:0 0 8px gold,0 0 16px gold,0 0 24px #ffd70080}10%{opacity:1;box-shadow:0 0 12px gold,0 0 24px gold,0 0 36px #ffd700cc}50%{box-shadow:0 0 16px gold,0 0 32px gold,0 0 48px gold}90%{opacity:1;box-shadow:0 0 12px gold,0 0 24px gold,0 0 36px #ffd700cc}to{opacity:1;box-shadow:0 0 8px gold,0 0 16px gold,0 0 24px #ffd70080}}@keyframes borderFadeOut{0%{opacity:1}to{opacity:0}}.tile-border-animation{position:absolute;pointer-events:none;z-index:50;box-sizing:border-box;border:4px solid #ffd700;animation:borderTrace 2s ease-in-out;animation-iteration-count:1;animation-fill-mode:forwards}.tile-border-animation--fading{animation:borderFadeOut .3s ease-out forwards}.refund-vials-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10001;animation:refundVialsFadeIn .15s ease-out}@keyframes refundVialsFadeIn{0%{opacity:0}to{opacity:1}}.refund-vials-dialog{background-color:color-mix(in srgb,var(--alchemy-green-dark) 8%,#0d0d0d 92%);border:2px solid color-mix(in srgb,var(--alchemy-green) 50%,transparent 50%);border-radius:var(--radius-panel);padding:2rem;max-width:400px;width:90%;box-shadow:0 8px 32px #00000080;animation:refundVialsSlideUp .2s ease-out}@keyframes refundVialsSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.refund-vials-title{color:var(--alchemy-green);margin:0 0 1rem;font-size:var(--font-2xl);text-align:center}.refund-vials-info-list{color:var(--alchemy-text-primary);font-size:var(--font-md);line-height:1.6;margin:1rem 0 1.75rem;padding-left:1.5rem;text-align:left}.refund-vials-info-list li+li{margin-top:.4rem}.refund-vials-buttons{display:flex;gap:1rem;justify-content:center}.refund-vials-cancel-button,.refund-vials-confirm-button{font-size:var(--font-md);font-weight:600;padding:.75rem 1.5rem;border-radius:var(--radius-button);cursor:var(--cursor-pointer);flex:1}.refund-vials-cancel-button{background:transparent;border:1px solid var(--alchemy-text-secondary, #888);color:var(--alchemy-text-secondary, #888);transition:background .15s,border-color .15s,color .15s}.refund-vials-cancel-button:hover{background:#ffffff14;border-color:var(--alchemy-text-primary);color:var(--alchemy-text-primary)}.refund-vials-confirm-button{background:var(--alchemy-green-dark);border:1px solid var(--alchemy-green);color:var(--alchemy-text-primary);transition:background .15s,color .15s}.refund-vials-confirm-button:hover{background:var(--alchemy-green);color:#000}.resource-icon{display:inline-block;vertical-align:middle;object-fit:contain}.resource-icon-large{height:75%;max-height:75%}.resource-icon-small{height:1em;width:auto}.modal-panel--offline-progress{max-width:840px}.offline-progress-title{margin:0;font-size:var(--font-lg);color:var(--text-primary);text-align:center}.offline-progress-section{display:flex;flex-direction:column;gap:var(--space-sm)}.offline-progress-section-title{margin:0;font-size:var(--font-base);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .1));padding-bottom:var(--space-xs)}.offline-progress-resource-list{display:flex;flex-direction:column;gap:var(--space-xs)}.offline-progress-resource-row{display:flex;align-items:center;gap:var(--space-sm)}.offline-progress-resource-name{flex:1;color:var(--text-primary);font-size:var(--font-base);text-transform:capitalize}.offline-progress-resource-delta{color:var(--color-success, #4caf50);font-weight:600;font-size:var(--font-base)}.offline-progress-footer{display:flex;justify-content:center;padding-top:var(--space-sm)}.offline-progress-ok-button{padding:var(--space-sm) var(--space-xl, 2rem);font-size:var(--font-base);font-weight:600;background-color:var(--menu-blue-darker);color:var(--text-primary);border:1px solid var(--menu-blue);border-radius:var(--radius-button);cursor:var(--cursor-pointer);transition:all .2s ease;min-width:120px}.offline-progress-ok-button:hover{background-color:var(--menu-blue-dark);border-color:var(--menu-blue-light);transform:translateY(-1px);box-shadow:0 4px 12px var(--menu-blue-shadow)}.offline-progress-ok-button:active{transform:translateY(0)}:root{--atlas-crimson: var(--journal-crimson);--atlas-crimson-light: #c45a54;--atlas-gold: var(--journal-gold)}.atlas-button-progress{font-weight:600;font-size:1.2rem;position:absolute;left:0;right:0;bottom:0;background:#00000080}.atlas-button-icon{width:100%;height:100%;object-fit:contain;pointer-events:none}@keyframes atlasFadeIn{0%{opacity:0}to{opacity:1}}.atlas-modal{background:linear-gradient(135deg,var(--journal-bg) 0%,var(--journal-bg-dark) 100%);border:4px solid var(--journal-border);border-radius:var(--radius-panel);box-shadow:0 8px 32px #0006;width:90vw;height:90dvh;height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:atlasSlideUp .3s ease-out;position:relative}.atlas-modal.modal-panel{max-height:90dvh}.atlas-modal .modal-content{overflow:hidden;display:flex;flex:1;flex-direction:column;padding:0}@keyframes atlasSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:959px){.atlas-modal{width:100vw;height:100dvh;border-radius:0;border:none}}.atlas-stats{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-md);flex-wrap:wrap}.atlas-stat-item{font-size:var(--font-lg);font-weight:600;color:var(--journal-ink);display:flex;align-items:center;gap:var(--space-xs)}.atlas-stat-separator{color:var(--journal-border);font-weight:300;margin:0 4px}.atlas-modal-title{margin:0 0 8px;font-size:var(--font-5xl);color:var(--journal-ink);text-shadow:1px 1px 0 rgba(168,63,57,.2)}.atlas-subtitle{margin:0;width:100%;font-size:var(--font-lg);color:var(--journal-text-muted);text-align:left}.atlas-zoom-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xs) var(--space-xl) var(--space-md);flex-shrink:0}.atlas-zoom-button{width:28px;height:28px;border-radius:var(--radius-button);border:1px solid var(--journal-border);background:var(--journal-bg-dark);color:var(--journal-ink);font-size:var(--font-base);font-weight:700;cursor:var(--cursor-pointer);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.atlas-zoom-button:hover:not(:disabled){background:var(--journal-ink-light);border-color:var(--journal-crimson);color:var(--journal-crimson);transform:scale(1.05)}.atlas-zoom-button:active:not(:disabled){transform:scale(.95)}.atlas-zoom-button:disabled{opacity:.4;cursor:var(--cursor-not-allowed)}.atlas-zoom-level{min-width:48px;text-align:center;font-size:var(--font-base);font-weight:700;color:var(--journal-ink)}.atlas-reset-button{height:28px;padding:0 var(--space-md);border-radius:var(--radius-button);border:1px solid var(--journal-border);background:var(--journal-bg-dark);color:var(--journal-ink);font-size:var(--font-base);font-weight:700;cursor:var(--cursor-pointer);transition:all .2s ease;display:flex;align-items:center;justify-content:center;white-space:nowrap}.atlas-reset-button:hover{background:var(--journal-ink-light);border-color:var(--journal-crimson);color:var(--journal-crimson);transform:scale(1.05)}.atlas-reset-button:active{transform:scale(.95)}.atlas-grid-container{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:var(--cursor-grab);-webkit-user-select:none;user-select:none;touch-action:none}.atlas-grid-container:active{cursor:var(--cursor-grabbing)}.atlas-grid-wrapper{display:flex;align-items:center;justify-content:center;will-change:transform}.atlas-grid{position:relative;background-image:url(/idle-squares/assets/atlas/atlas.png);background-size:3840px 2160px;background-repeat:no-repeat;background-position:top left}.atlas-cell-absolute{position:absolute;transform:translate(-50%,-50%)}.atlas-cell-absolute .atlas-cell{width:100%;height:100%}.atlas-connections-svg{z-index:0}@keyframes fadeInPath{0%{opacity:0}to{opacity:1}}.atlas-connection-group{opacity:0;animation:fadeInPath .5s ease forwards;animation-delay:.2s}.atlas-connection-border{stroke-width:12px;stroke-linecap:butt;stroke-dasharray:34px,26px;stroke-dashoffset:2px;stroke:#000000e6}.atlas-connection-ink{stroke-width:8px;stroke-linecap:butt;stroke-dasharray:30px,30px;fill:none;filter:drop-shadow(4px 4px 3px rgba(0,0,0,.6))}.atlas-cell{width:120px;height:120px;border-radius:var(--radius-button);display:flex;flex-direction:column;padding:var(--space-md);transition:all .2s ease;border:2px solid transparent;background:#0000004d;cursor:var(--cursor-pointer);overflow:hidden;position:relative;filter:drop-shadow(4px 4px 3px rgba(0,0,0,.6))}.atlas-cell--minor{width:90px;height:90px;padding:var(--space-xs)}.atlas-cell--minor .atlas-cell-name{font-size:var(--font-xs);line-height:1.1}.atlas-cell--minor .atlas-cell-info{font-size:9px}.atlas-cell.atlas-cell--minor .atlas-cell-ap-requirement{font-size:9px;padding:var(--space-2xs) var(--space-xs);margin-top:0}.atlas-cell.atlas-cell--minor .atlas-cell-unknown{font-size:var(--font-3xl);text-shadow:0 0 6px currentColor}.atlas-cell--minor .completion-badge{width:14px;height:14px;font-size:8px}.atlas-cell--minor .atlas-new-badge{font-size:7px;padding:1px 4px}.atlas-cell-dev-badge{position:absolute;top:4px;right:var(--space-xs);background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;font-size:8px;font-weight:700;padding:var(--space-2xs) 5px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 1px 3px #0000004d;z-index:var(--z-above-content);pointer-events:none}.atlas-cell--minor .atlas-cell-dev-badge{font-size:7px;padding:1px 3px;top:2px;right:2px}@media(prefers-reduced-motion:reduce){.atlas-connection-group{animation:none;opacity:1}.atlas-cell,.atlas-zoom-button,.atlas-reset-button{transition:none}.atlas-reset-button:hover,.atlas-reset-button:active{transform:none}.atlas-grid-wrapper{transition:none}.atlas-cell.ap-locked:hover{transform:none}.atlas-zoom-button:hover:not(:disabled){transform:none}.atlas-zoom-button:active:not(:disabled){transform:none}}.atlas-cell.fog-of-war{border-color:#4b5563;background:#0009;cursor:var(--cursor-not-allowed);color:#6b7280}.atlas-cell.fog-of-war .atlas-cell-content{font-size:var(--font-3xl);font-weight:700;color:#4b5563}.atlas-cell.ap-locked{border-color:#d97706;background:#d977061a;color:#fbbf24;cursor:var(--cursor-pointer);box-shadow:0 0 12px #d977064d}.atlas-cell.ap-locked:hover{border-color:#f59e0b;background:#d9770626;box-shadow:0 0 20px #d9770680}.atlas-cell .atlas-cell-unknown{font-size:var(--font-5xl);font-weight:700;text-shadow:0 0 10px currentColor}.atlas-cell.ap-met-disconnected{border-color:#6b7280;background:#00000080;cursor:var(--cursor-not-allowed);color:#9ca3af}.atlas-cell-unknown--single{font-size:var(--font-5xl);font-weight:700;color:#6b7280;text-shadow:0 0 8px rgba(107,114,128,.5)}.atlas-cell.available,.atlas-cell.completed{cursor:var(--cursor-pointer)}.atlas-cell.completed .completion-badge{grid-area:badge;width:20px;height:20px;background:var(--journal-gold);border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;color:#000;font-size:var(--font-sm);font-weight:700;justify-self:end;align-self:start}.atlas-cell.completed .completion-badge:before{content:"✓"}.atlas-cell-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-align:center;width:100%;flex:1;overflow:hidden;min-height:0}.atlas-cell-name{font-size:var(--font-base-sm);font-weight:600;line-height:1.2;color:var(--map-theme-color, inherit);text-shadow:0 1px 2px rgba(0,0,0,.8)}.atlas-cell-info{font-size:var(--font-xs);color:var(--journal-text-muted);display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs)}.atlas-cell-run-count{font-size:var(--font-xs);color:var(--journal-text-muted)}.atlas-cell-ap-requirement{font-size:var(--font-base);font-weight:600;color:#fbbf24;margin-top:5px;padding:5px 10px;background:#d9770633;border-radius:5px;border:1px solid rgba(217,119,6,.4)}.map-info-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1001;animation:atlasFadeIn .3s ease-out}.map-info-stat-value{font-size:var(--font-2xl);font-weight:700;color:var(--atlas-crimson)}.map-info-stat-value.gold{color:var(--atlas-gold)}.map-info-ap-section{background:#0006;border:2px solid rgba(217,119,6,.5);border-radius:var(--radius-corners);padding:var(--space-2xl);margin-bottom:var(--space-3xl)}.map-info-ap-section.met{border-color:#22c55e80}.map-info-ap-section.not-met{border-color:#d9770680}.map-info-ap-requirement,.map-info-ap-current{font-size:15px;color:#d1d5db}.map-info-ap-requirement strong,.map-info-ap-current strong{color:#fbbf24;font-weight:700}.map-info-start-button{padding:var(--space-lg) 48px;font-size:var(--font-lg);font-weight:700;background:var(--journal-crimson-dark);border:2px solid var(--atlas-crimson-light);color:var(--text-primary);border-radius:var(--radius-button);cursor:var(--cursor-pointer);transition:all .2s ease;text-transform:uppercase;letter-spacing:1px}.map-info-start-button:hover{background:var(--journal-crimson);box-shadow:0 6px 20px #a83f3966;transform:translateY(-2px)}.map-info-start-button:active{transform:translateY(0)}.map-info-start-button:disabled{background:#4b5563;border-color:#6b7280;color:var(--text-primary);cursor:var(--cursor-not-allowed);opacity:.6}.map-info-start-button:disabled:hover{transform:none;box-shadow:none}.map-info-cancel-button{padding:var(--space-lg) 32px;font-size:var(--font-md);background:transparent;border:2px solid var(--journal-border);color:var(--journal-text-muted);border-radius:var(--radius-button);cursor:var(--cursor-pointer);transition:all .2s ease}.map-info-cancel-button:hover{border-color:var(--journal-crimson);color:var(--journal-crimson);background:#a83f3914}.atlas-grid-container::-webkit-scrollbar{width:8px}.atlas-grid-container::-webkit-scrollbar-track{background:#8b735526;border-radius:var(--radius-corners)}.atlas-grid-container::-webkit-scrollbar-thumb{background:var(--journal-border);border-radius:var(--radius-corners)}.atlas-grid-container::-webkit-scrollbar-thumb:hover{background:var(--journal-crimson)}@media(max-width:959px){.atlas-grid{grid-template-columns:repeat(3,1fr)}.atlas-cell{width:90px;height:90px}.atlas-cell-name{font-size:var(--font-xs)}.atlas-stats,.atlas-subtitle{display:none}}@media(max-width:599px){.atlas-grid{grid-template-columns:repeat(2,1fr)}.atlas-cell{width:70px;height:70px}}.map-start-confirmation-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10001}.map-start-confirmation-dialog{background:linear-gradient(135deg,var(--journal-bg) 0%,var(--journal-bg-dark) 100%);border:3px solid var(--journal-crimson);border-radius:var(--radius-corners);padding:32px;max-width:500px;width:90%;box-shadow:0 8px 32px #a83f394d}.map-start-confirmation-dialog h2{color:var(--journal-crimson);margin:0 0 20px;font-size:var(--font-2xl);text-align:center;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px}.confirmation-warning{background:#ffffff4d;border:2px solid var(--journal-border);border-radius:var(--radius-corners);padding:var(--space-2xl);margin-bottom:var(--space-3xl)}.confirmation-warning p{color:var(--journal-ink);margin:0 0 12px;font-size:var(--font-base);line-height:1.5}.confirmation-warning ul{margin:0;padding-left:0;list-style:none;color:var(--journal-ink)}.confirmation-warning li{position:relative;padding-left:var(--space-3xl);margin:10px 0;font-size:var(--font-base)}.confirmation-warning li:before{content:"•";position:absolute;left:8px;color:var(--journal-crimson);font-weight:700}.confirmation-warning p:last-of-type{color:var(--journal-crimson-dark);background:#a83f3914;padding:var(--space-lg);border-radius:var(--radius-button);border:1px solid var(--journal-crimson);margin-top:var(--space-xl);font-weight:700}.confirmation-buttons{display:flex;gap:var(--space-xl);justify-content:center;margin-top:var(--space-md)}.confirmation-buttons button{min-width:120px}.journal-texture{position:relative}.journal-texture:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");pointer-events:none;opacity:.5;z-index:0}.journal-map-modal-content{background:linear-gradient(135deg,var(--journal-bg) 0%,var(--journal-bg-dark) 100%);border:4px solid var(--journal-border);border-radius:var(--radius-corners);box-shadow:0 8px 32px #0006;max-width:95vw;max-height:95vh;width:1100px;overflow:hidden;position:relative;animation:journalOpen .5s ease-out;display:flex;flex-direction:column}.journal-map-modal-content.journal-nested{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:95%;height:95%;border:4px solid var(--journal-border);border-radius:var(--radius-corners);box-shadow:0 8px 32px #0006;animation:journalSlideIn .3s ease-out}@keyframes journalSlideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes journalOpen{0%{transform:scale(.9) rotate(-2deg);opacity:0}50%{transform:scale(1.02) rotate(.5deg)}to{transform:scale(1) rotate(0);opacity:1}}.journal-right-column{background:linear-gradient(to right,var(--journal-bg-dark) 0%,var(--journal-bg) 100%);padding:var(--space-3xl);display:flex;flex-direction:column;border-left:1px solid var(--journal-border)}.journal-inner-box{flex:1;min-height:0;border:3px double var(--journal-border);border-radius:var(--radius-corners);background:linear-gradient(to right,#8b73551a,#8b73550d);display:flex;flex-direction:column;padding:var(--space-3xl);position:relative;box-shadow:inset 0 0 20px #0000000d;align-self:stretch}.journal-inner-box-left{align-items:center;justify-content:flex-start}.journal-header{grid-column:1 / -1;text-align:center;padding:var(--space-3xl) 32px var(--space-xl);border-bottom:3px solid var(--journal-border);background:linear-gradient(180deg,var(--journal-bg-dark) 0%,var(--journal-bg) 100%)}.journal-map-name{font-family:var(--font-primary);font-size:var(--font-4xl);font-weight:700;color:var(--journal-ink);margin:0 0 8px;text-transform:uppercase;letter-spacing:2px;text-shadow:1px 1px 0 rgba(168,63,57,.2)}.journal-stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:#ffffff4d;border-radius:var(--radius-button);margin-bottom:var(--space-md);font-family:var(--font-primary);font-size:var(--font-md);color:var(--journal-ink);width:100%}.journal-stat-icon{margin-right:var(--space-md)}.journal-globe-display{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.journal-globe-count{font-size:var(--font-sm);color:var(--journal-text-muted)}.journal-wax-seal-button{background:radial-gradient(circle at 30% 30%,var(--journal-crimson),var(--journal-crimson-dark));border:3px solid var(--journal-crimson-dark);border-radius:50%;width:240px;height:240px;cursor:var(--cursor-pointer);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:var(--space-xl) auto;box-shadow:0 4px 8px #0000004d,inset 0 -2px 4px #0003,inset 0 2px 4px #ffffff1a;transition:all .3s ease;position:relative}.journal-wax-seal-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 12px #a83f3966,inset 0 -2px 4px #0003,inset 0 2px 4px #ffffff1a}.journal-wax-seal-button:active{transform:scale(.98)}.journal-wax-seal-button:disabled{opacity:.5;cursor:var(--cursor-not-allowed);filter:grayscale(.5)}.journal-wax-seal-button:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180px;height:180px;border:4px solid rgba(255,255,255,.3);border-radius:50%}.journal-wax-seal-text{font-family:var(--font-primary);font-size:16px;font-weight:700;color:#ffffffe6;text-align:center;text-transform:uppercase;letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.3);z-index:var(--z-base)}.journal-wax-seal-icon{font-size:40px;margin-bottom:var(--space-md);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.journal-column-wrapper{display:grid;grid-template-columns:1fr 1fr;overflow:scroll;height:100%}@media(max-width:959px){.journal-column-wrapper{display:flex;flex-direction:column}}.journal-left-column{padding:var(--space-3xl);display:flex;flex-direction:column;background:linear-gradient(to right,rgba(255,255,255,.1) 0%,transparent 50%),linear-gradient(to right,var(--journal-bg) 0%,var(--journal-bg-dark) 100%)}.journal-starting-preview{flex-shrink:0;display:block;width:192px;height:192px;margin:0 auto 16px;padding:var(--space-lg);background:#ffffff0d;border:2px solid var(--journal-border);border-radius:var(--radius-corners);box-shadow:inset 0 0 10px #0000001a;image-rendering:pixelated}.journal-preview-tile{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:transparent;overflow:hidden}.journal-preview-tile img,.journal-preview-tile svg{width:100%;height:100%;object-fit:contain}.journal-description{flex:0 1 auto;overflow-y:auto;min-height:0;display:block;font-family:var(--font-primary);font-size:var(--font-md);line-height:1.7;color:var(--journal-ink);text-align:center;width:100%;margin:0 auto var(--space-3xl) auto;padding:var(--space-xl) var(--space-2xl);background:#ffffff4d;border-radius:var(--radius-button);font-style:italic}.journal-modal-footer{display:flex;justify-content:center;gap:var(--space-lg);padding:var(--space-xl) var(--space-3xl);background:var(--journal-bg-dark);border-top:3px solid var(--journal-border);grid-column:1 / -1}.journal-footer-button{font-family:var(--font-primary);font-size:var(--font-base);padding:10px 24px;background:transparent;border:2px solid var(--journal-border);color:var(--journal-ink);border-radius:var(--radius-button);cursor:var(--cursor-pointer);transition:all .2s ease;text-transform:uppercase;letter-spacing:1px}.journal-footer-button:hover:not(:disabled){background:#2c18100d;border-color:var(--journal-crimson);color:var(--journal-crimson)}.journal-footer-button:disabled{opacity:.5;cursor:var(--cursor-not-allowed)}.journal-footer-button:focus{outline:none}.journal-footer-button:focus-visible{outline:2px solid var(--journal-crimson);outline-offset:2px}.journal-left-column::-webkit-scrollbar,.journal-right-column::-webkit-scrollbar{width:8px}.journal-left-column::-webkit-scrollbar-track,.journal-right-column::-webkit-scrollbar-track{background:#8b73551a;border-radius:var(--radius-sm)}.journal-left-column::-webkit-scrollbar-thumb,.journal-right-column::-webkit-scrollbar-thumb{background:var(--journal-border);border-radius:var(--radius-sm)}.journal-left-column::-webkit-scrollbar-thumb:hover,.journal-right-column::-webkit-scrollbar-thumb:hover{background:var(--journal-crimson)}.atlas-cell .atlas-cell-content{display:flex;flex-direction:column;height:100%}.atlas-cell .atlas-cell-grid-layout{display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr auto;height:100%;width:100%;gap:var(--space-2xs);overflow:hidden;min-height:0}.atlas-cell .atlas-cell-grid-layout .atlas-cell-name{grid-column:1 / -1;grid-row:1;text-align:center;background:linear-gradient(to bottom,rgba(0,0,0,.7) 0%,transparent 100%);padding:var(--space-xs) var(--space-xs) var(--space-md) var(--space-xs);border-radius:var(--radius-button) var(--radius-button) 0 0}.atlas-cell .atlas-cell-grid-layout .globe-display-grid{grid-column:1;grid-row:2;align-self:stretch}.atlas-cell .atlas-cell-grid-layout .atlas-cell-right-side{grid-column:2;grid-row:2;display:flex;flex-direction:column;justify-content:space-between;align-items:center;align-self:stretch;flex-shrink:0;min-height:fit-content}.atlas-cell .atlas-cell-grid-layout .atlas-cell-run-count{background:#00000080;padding:var(--space-2xs) var(--space-xs);border-radius:3px;font-size:var(--font-xs);color:var(--map-theme-color)}.atlas-cell--minor .atlas-cell-grid-layout .atlas-cell-name{padding:var(--space-2xs) var(--space-2xs) var(--space-xs) var(--space-2xs);font-size:8px}.atlas-cell--minor .atlas-cell-grid-layout .atlas-cell-run-count{font-size:7px;padding:1px var(--space-2xs)}.atlas-cell--minor .globe-display-grid{width:30px;height:65px}.atlas-cell--minor .globe-display-grid .globe-icon{width:11px;height:11px}.atlas-cell-preview{flex-shrink:0;pointer-events:none;object-fit:contain;image-rendering:pixelated}.atlas-cell--major .atlas-cell-preview{width:56px;height:56px}.atlas-cell--minor .atlas-cell-preview{width:42px;height:42px}.globe-display-grid{position:relative;display:grid;gap:1px;justify-items:center;align-items:center;padding:var(--space-2xs);background:#0000004d;border-radius:3px;border:1px solid rgba(255,255,255,.15);transform:scaleY(-1)}.globe-display-grid .globe-icon{width:100%;aspect-ratio:1;object-fit:cover;image-rendering:pixelated;transform:scaleY(-1);pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.globe-checkmark-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#0009;border-radius:3px;z-index:var(--z-base);transform:scaleY(-1)}.globe-checkmark{color:#22c55e;font-size:18px;font-weight:700;text-shadow:0 0 4px rgba(34,197,94,.6),0 1px 2px rgba(0,0,0,.8)}.gate-cell{width:90px;height:90px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-sm);border:2px solid transparent;cursor:var(--cursor-pointer);position:relative;overflow:hidden;filter:drop-shadow(4px 4px 3px rgba(0,0,0,.6))}.gate-cell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;border-radius:50%;z-index:var(--z-base)}.gate-cell-content{position:relative;z-index:var(--z-content);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;backface-visibility:hidden;-webkit-backface-visibility:hidden}.gate-cell .atlas-cell-dev-badge{z-index:3}.gate-cell--locked{border-color:#4b5563;cursor:var(--cursor-not-allowed);box-shadow:0 0 12px #4b556366}.gate-cell--locked:before{background:#000000b3}.gate-cell--locked:hover{border-color:#4b5563}.gate-cell--accessible{border-color:var(--gate-theme-color);cursor:var(--cursor-pointer);animation:gatePulse 2s ease-in-out infinite;will-change:box-shadow}.gate-cell--accessible:hover{border-color:var(--gate-theme-color);box-shadow:0 0 20px color-mix(in srgb,var(--gate-theme-color) 60%,transparent)}.gate-cell--unlocked{border-color:var(--gate-theme-color);cursor:var(--cursor-pointer);box-shadow:0 0 12px color-mix(in srgb,var(--gate-theme-color) 40%,transparent)}.gate-cell--unlocked:hover{border-color:var(--gate-theme-color);box-shadow:0 0 20px color-mix(in srgb,var(--gate-theme-color) 60%,transparent)}.gate-cell-icon{font-size:24px;line-height:1}.gate-cell-icon--locked{font-size:28px;font-weight:700;color:#6b7280}.gate-cell-icon--accessible{filter:drop-shadow(0 0 8px var(--alchemy-green-glow))}.gate-cell-icon--unlocked{filter:drop-shadow(0 0 8px rgba(16,185,129,.8))}.gate-cell-name{font-size:9px;font-weight:600;color:#e5e7eb;text-align:center;margin-top:var(--space-2xs);text-shadow:0 1px 2px rgba(0,0,0,.8);max-width:76px;line-height:1.2;overflow-wrap:break-word;word-break:break-word}@keyframes gatePulse{0%,to{box-shadow:0 0 12px color-mix(in srgb,var(--gate-theme-color) 40%,transparent)}50%{box-shadow:0 0 20px color-mix(in srgb,var(--gate-theme-color) 70%,transparent)}}@media(prefers-reduced-motion:reduce){.gate-cell{transition:none}.gate-cell--accessible{animation:none}}@media(max-width:599px){.gate-cell{width:60px;height:60px}.gate-cell-icon{font-size:20px}.gate-cell-icon--locked{font-size:22px}.gate-cell-name{font-size:8px;max-width:52px}}.gate-journal-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:gateJournalFadeIn .2s ease-out}@keyframes gateJournalFadeIn{0%{opacity:0}to{opacity:1}}.journal-gate-modal-content{width:1100px;max-width:95vw;max-height:95vh;overflow-y:auto;background:var(--journal-bg);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0006;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"header header" "left right" "footer footer";gap:0}.journal-gate-modal-content.journal-nested{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:95%;max-height:none;overflow:visible}.journal-gate-name{font-size:var(--font-4xl);font-weight:700;color:var(--journal-ink);margin:0;text-align:center;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:2px;text-shadow:1px 1px 0 rgba(168,63,57,.2)}.journal-gate-image-container{display:flex;justify-content:center;align-items:center;padding:var(--space-md)}.journal-gate-image{width:180px;height:180px;border-radius:50%;object-fit:cover;border:3px solid var(--journal-border);box-shadow:0 4px 12px #0000004d}.journal-gate-status-header{display:flex;justify-content:center;margin-bottom:var(--space-xl)}.journal-gate-status{font-weight:700;font-size:var(--font-lg);padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-button);text-transform:uppercase;letter-spacing:1px}.journal-gate-status--locked{color:#4b5563;background:#6b728033;border:2px solid rgba(107,114,128,.3)}.journal-gate-status--accessible{color:#92400e;background:#d9770626;border:2px solid rgba(217,119,6,.4)}.journal-gate-status--unlocked{color:#065f46;background:#10b98126;border:2px solid rgba(16,185,129,.4)}.journal-gate-tribute-section{padding:var(--space-xl);background:#00000014;border-radius:var(--radius-md);margin-bottom:var(--space-xl);border:2px solid var(--journal-border-light)}.journal-gate-section-title{font-size:var(--font-lg);font-weight:700;color:var(--journal-crimson);margin:0 0 var(--space-lg) 0;text-transform:uppercase;letter-spacing:1px;text-align:center;font-family:var(--font-primary)}.journal-gate-tribute-cost{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg);background:#c9a2271a;border-radius:var(--radius-button);margin-bottom:var(--space-lg);border:2px solid rgba(201,162,39,.3)}.journal-gate-tribute-icon{width:32px;height:32px;object-fit:contain}.journal-gate-tribute-amount{font-size:var(--font-2xl);font-weight:700;color:#78350f;text-shadow:0 1px 2px rgba(0,0,0,.2)}.journal-gate-alchetiles-balance{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);font-size:var(--font-md);color:var(--journal-ink);background:#fff3;border-radius:var(--radius-button)}.journal-gate-balance--sufficient{color:#065f46;font-weight:700;font-size:var(--font-lg)}.journal-gate-balance--insufficient{color:#dc2626;font-weight:700;font-size:var(--font-lg)}.journal-gate-pay-tribute-button{background:radial-gradient(circle at 30% 30%,var(--journal-crimson),var(--journal-crimson-dark));border:3px solid var(--journal-crimson-dark);border-radius:50%;width:240px;height:240px;cursor:var(--cursor-pointer);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:var(--space-xl) auto;box-shadow:0 4px 8px #0000004d,inset 0 -2px 4px #0003,inset 0 2px 4px #ffffff1a;transition:all .3s ease;position:relative}.journal-gate-pay-tribute-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 12px #a83f3966,inset 0 -2px 4px #0003,inset 0 2px 4px #ffffff1a}.journal-gate-pay-tribute-button:active:not(:disabled){transform:scale(.98)}.journal-gate-pay-tribute-button:disabled{opacity:.5;cursor:var(--cursor-not-allowed);filter:grayscale(.5)}.journal-gate-pay-tribute-button:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180px;height:180px;border:4px solid rgba(255,255,255,.3);border-radius:50%}.journal-gate-pay-tribute-icon{width:48px;height:48px;object-fit:contain;margin-bottom:var(--space-sm);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.journal-gate-pay-tribute-text{font-family:var(--font-primary);font-size:var(--font-lg);font-weight:700;color:#ffffffe6;text-align:center;text-transform:uppercase;letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.3);z-index:var(--z-base)}.journal-gate-unlocked-message{width:240px;height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);margin:var(--space-xl) auto;padding:var(--space-xl);background:#10b98126;border:3px solid #065f46;border-radius:50%;color:#065f46;font-size:var(--font-lg);font-weight:700;text-transform:uppercase;letter-spacing:1px}@media(max-width:599px){.journal-gate-modal-content{max-width:95vw;grid-template-columns:1fr;grid-template-areas:"header" "left" "right" "footer"}.journal-gate-image{width:140px;height:140px}.journal-gate-tribute-cost{flex-direction:column;text-align:center}.journal-gate-pay-tribute-button,.journal-gate-unlocked-message{width:180px;height:180px}.journal-gate-pay-tribute-button:before{width:130px;height:130px}}@media(prefers-reduced-motion:reduce){.gate-journal-modal-overlay{animation:none}.journal-gate-pay-tribute-button:hover:not(:disabled){transform:none}}.worldtree-button-count{display:block;text-align:center;font-weight:600}.worldtree-modal{border-color:var(--worldtree-crimson);background-size:cover}@keyframes worldtreeAffordablePulse{0%{opacity:.6;box-shadow:0 0 #dc143cb3}50%{opacity:1;box-shadow:0 0 0 8px #dc143c00}to{opacity:.6;box-shadow:0 0 #dc143cb3}}.worldtree-stats{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.worldtree-stat-item{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.worldtree-stat-separator{color:var(--worldtree-grey-dark);font-weight:300;margin:0 4px}.worldtree-modal-title{margin:0 0 8px;font-size:var(--font-5xl);color:var(--worldtree-crimson);text-shadow:0 0 10px rgba(220,20,60,.5)}.worldtree-subtitle{margin:0 0 8px;font-size:var(--font-lg);color:var(--text-dim)}.worldtree-modal .modal-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.worldtree-content-wrapper{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.worldtree-alchemy-unlock-box{position:absolute;right:var(--space-2xl);top:var(--space-2xl);width:200px;padding:var(--space-xl) var(--space-2xl);background:#140000e6;border:1px solid var(--alchemy-green-dark);border-radius:var(--radius-button);text-align:center;z-index:var(--z-above-content);box-shadow:0 4px 12px #00000080}.worldtree-alchemy-unlock-title{font-size:var(--font-lg);font-weight:600;color:var(--alchemy-green);margin-bottom:var(--space-md);text-shadow:0 0 10px var(--alchemy-green-glow)}.worldtree-alchemy-unlock-message{font-size:var(--font-lg);color:var(--worldtree-grey);margin-bottom:10px}.worldtree-alchemy-progress-bar{margin:0}.worldtree-alchemy-progress-bar .progress-bar{background:#1a1a1a;border:1px solid var(--alchemy-green-dark);height:8px;border-radius:var(--radius-button);overflow:hidden;box-shadow:inset 0 2px 4px #0006}.worldtree-alchemy-progress-bar .progress-bar-fill{background:linear-gradient(180deg,var(--alchemy-green-light) 0%,var(--alchemy-green) 40%,var(--alchemy-green) 60%,var(--alchemy-green-dark) 100%);box-shadow:0 0 8px var(--alchemy-green-glow),inset 0 1px #ffffff4d}@media(max-width:1279px){.worldtree-alchemy-unlock-box{right:10px;top:10px;width:160px;padding:var(--space-lg) var(--space-xl)}.worldtree-alchemy-unlock-title{font-size:var(--font-sm)}}@media(max-width:959px){.worldtree-alchemy-unlock-box{position:static;width:auto;margin:0 var(--space-lg) var(--space-md) var(--space-lg);padding:var(--space-md) var(--space-xl);display:flex;align-items:center;gap:10px;justify-content:center;flex-wrap:wrap}.worldtree-alchemy-unlock-title{margin-bottom:0}.worldtree-alchemy-progress-bar,.worldtree-stats,.worldtree-subtitle{display:none}}.worldtree-grid-container{flex:1;min-height:0;min-width:0;overflow:auto;padding:var(--space-2xl);display:flex;flex-direction:column;align-items:flex-start;cursor:var(--cursor-grab);-webkit-user-select:none;user-select:none}.worldtree-grid-container.dragging{cursor:var(--cursor-grabbing)}.worldtree-canvas{position:relative;flex-shrink:0;margin:0 auto}.worldtree-connections{position:absolute;top:0;left:0;pointer-events:none;overflow:visible}.worldtree-node-wrapper{position:absolute;background:#0f0b0b;border-radius:var(--radius-button)}.worldtree-node{width:120px;height:120px;border-radius:var(--radius-button);display:grid;grid-template-areas:". badge" "content content";grid-template-rows:auto 1fr;grid-template-columns:1fr auto;padding:var(--space-md);transition:all .2s ease;border:2px solid;font-size:var(--font-sm);text-align:center;background:#0000004d;position:relative}.worldtree-node.empty{background:transparent;border:none;cursor:var(--cursor-default)}.worldtree-node.locked{border-color:#4b5563;background:#00000080;opacity:.85;cursor:var(--cursor-not-allowed);color:var(--worldtree-grey)}.worldtree-node.locked .worldtree-node-icon{display:flex;font-size:var(--font-2xl);line-height:1;justify-self:center;align-self:center;opacity:.7;filter:grayscale(50%)}.worldtree-node.unlockable-unaffordable{border-color:var(--worldtree-crimson);background:#dc143c1a;color:#b0b5bd;cursor:var(--cursor-pointer);opacity:.85}.worldtree-node.unlockable-unaffordable:hover{opacity:.95;transform:scale(1.05)}.worldtree-node.unlockable-affordable{border-color:var(--worldtree-crimson);background:#dc143c26;color:#ff8fa3;cursor:var(--cursor-pointer);box-shadow:0 0 12px #dc143c66}.worldtree-node.unlockable-affordable:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:var(--radius-button);border:3px solid rgba(220,20,60,.9);pointer-events:none;z-index:var(--z-fill);animation:worldtreeAffordablePulse 1.8s ease-in-out infinite}.worldtree-node.unlockable-affordable:hover{border-color:var(--worldtree-crimson-light);background:#dc143c40;box-shadow:0 0 20px #dc143c99;transform:scale(1.1)}.worldtree-node.purchased{border-color:var(--worldtree-green);border-width:3px;background:#10b98126;color:var(--worldtree-green-light);cursor:var(--cursor-default);box-shadow:0 0 16px #10b9814d}.worldtree-node.purchased .worldtree-node-icon{filter:drop-shadow(0 0 4px rgba(16,185,129,.6))}.worldtree-node .purchased-indicator{grid-area:badge;width:16px;height:16px;background:var(--worldtree-green);border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:var(--font-xs);font-weight:700;justify-self:end;align-self:start}.worldtree-node.purchased .purchased-indicator:before{content:"✓"}.worldtree-node-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);text-align:center;width:100%;grid-area:content;z-index:var(--z-base);position:relative}.worldtree-node-bg-icon{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:88px;height:88px;object-fit:contain;opacity:.6;pointer-events:none;grid-area:1 / 1 / -1 / -1}.worldtree-node.unlockable-affordable .worldtree-node-bg-icon{opacity:.7;filter:drop-shadow(0 0 8px rgba(220,20,60,.4))}.worldtree-node.unlockable-unaffordable .worldtree-node-bg-icon{opacity:.5}.worldtree-node.locked .worldtree-node-bg-icon{opacity:.35;filter:grayscale(50%)}.worldtree-node.purchased .worldtree-node-bg-icon{opacity:.4;filter:grayscale(30%)}.worldtree-node-cost{display:flex;align-items:center;justify-content:center}.worldtree-cost-number{font-size:32px;font-weight:700;color:var(--worldtree-gold);text-shadow:0 0 3px rgba(0,0,0,1),0 0 6px rgba(0,0,0,.9),0 0 9px rgba(0,0,0,.7),0 0 12px rgba(0,0,0,.5)}.worldtree-node.unlockable-affordable .worldtree-cost-number{color:var(--worldtree-green-light);text-shadow:0 0 3px rgba(0,0,0,1),0 0 6px rgba(16,185,129,.6),0 0 9px rgba(0,0,0,.7)}.worldtree-node.unlockable-unaffordable .worldtree-cost-number{color:#ef4444}.worldtree-node.locked .worldtree-cost-number{color:#7a1520}.worldtree-node.start-position{border-color:var(--worldtree-gold);background:#ffd7001a;box-shadow:0 0 16px #ffd7004d}.worldtree-node.start-position:after{content:"⭐";font-size:var(--font-md);grid-area:badge;justify-self:center;align-self:end}.worldtree-modal .modal-content::-webkit-scrollbar{width:8px;height:8px}.worldtree-modal .modal-content::-webkit-scrollbar-track{background:#0003;border-radius:var(--radius-corners)}.worldtree-modal .modal-content::-webkit-scrollbar-thumb{background:#dc143c66;border-radius:var(--radius-corners)}.worldtree-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#dc143c99}.purchase-confirm-overlay--worldtree{--pc-overlay-z: 10001;--pc-border-color: var(--worldtree-crimson);--pc-title-color: #f5c6cb;--pc-confirm-bg: var(--worldtree-crimson);--pc-confirm-bg-hover: var(--worldtree-crimson-light)}.progress-bar-container{display:flex;flex-direction:column;gap:.25rem}.progress-bar-label{font-size:var(--font-md);color:var(--text-primary);font-weight:500}.progress-bar{height:20px;background-color:#0000004d;border:1px solid rgba(99,102,241,.3);border-radius:var(--radius-button);overflow:hidden;box-shadow:inset 0 2px 4px #0006;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(180deg,#a5b4fc,#818cf8 40%,#6366f1 60%,#4f46e5);transition:width .3s ease;box-shadow:0 0 8px #6366f180,inset 0 1px #ffffff4d;position:relative}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#ffffff40,#fff0);border-radius:var(--radius-button) var(--radius-button) 0 0}.worldtree-tooltip{max-width:300px;z-index:var(--z-top);animation:worldtreeTooltipFadeIn .15s ease-out}.worldtree-tooltip-content{background:#000000f2;border:1px solid var(--worldtree-crimson);color:var(--text-primary);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-button);font-size:var(--font-md);line-height:1.5;word-wrap:break-word;display:flex;flex-direction:column;gap:var(--space-sm)}.worldtree-tooltip-name{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-2xl);font-weight:700;color:var(--text-primary)}.worldtree-tooltip-name-icon{height:1em;width:auto;flex-shrink:0}.worldtree-tooltip-desc{font-size:var(--font-md)}.worldtree-tooltip-footer{font-size:var(--font-md);color:var(--text-secondary)}.worldtree-tooltip-cost{color:var(--worldtree-crimson)}.worldtree-tooltip-arrow{position:absolute;left:50%;transform:translate(-50%);width:0;height:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.worldtree-tooltip--top .worldtree-tooltip-arrow{bottom:-6px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid var(--worldtree-crimson)}.worldtree-tooltip--bottom .worldtree-tooltip-arrow{top:-6px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid var(--worldtree-crimson)}@keyframes worldtreeTooltipFadeIn{0%{opacity:0}to{opacity:1}}.passive-effects-container{position:absolute;top:var(--space-md);left:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none;z-index:var(--z-above-content)}.passive-effects-world-tree-group{display:flex;flex-direction:column;gap:var(--space-xs);background-color:#1e0a0ad9;border:1px solid #dc143c;border-radius:var(--radius-md);padding:var(--space-sm);box-shadow:0 0 8px #dc143c66}.passive-effects-world-tree-group .passive-effect-indicator{border:none}.passive-effects-world-tree-group .passive-effect-progress-bar{background-color:#dc143c;box-shadow:0 0 4px #dc143c99}.passive-effects-world-tree-group .passive-effect-value{color:#dc143c}.passive-effects-wisdom-grid-group{display:flex;flex-direction:column;gap:var(--space-xs);background-color:var(--wisdom-bg);border:1px solid var(--wisdom-primary);border-radius:var(--radius-md);padding:var(--space-sm);box-shadow:0 0 8px var(--wisdom-shadow)}.passive-effect-indicator{background-color:#1e1e23d9;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-sm);pointer-events:auto;cursor:var(--cursor-help)}.passive-effect-icon{width:20px;height:20px;object-fit:contain}.passive-effect-value{font-size:.875rem;font-weight:700}.passive-effect-progress-container{width:40px;height:4px;background-color:#ffffff26;border-radius:2px;overflow:hidden}.passive-effect-progress-bar{height:100%;border-radius:2px;transition:width .1s linear}.passive-effect-wisdom-grid .passive-effect-progress-bar{background-color:var(--wisdom-primary);box-shadow:0 0 4px var(--wisdom-glow)}.passive-effect-wisdom-grid .passive-effect-value{color:var(--wisdom-primary)}.passive-effect-inactive{opacity:.6}.passive-effect-inactive .passive-effect-icon{filter:grayscale(50%)}.passive-effect-inactive .passive-effect-progress-bar{background-color:#666;box-shadow:none}.tile-tooltip-trigger{position:relative;width:40px;height:40px;display:block}.tile-tooltip{position:fixed;z-index:var(--z-tooltip);max-width:300px;width:auto;padding:var(--space-md);border-radius:var(--radius-corners);background-color:#1a1a1aee;border:1px solid var(--border-default);box-shadow:0 4px 12px #000c;font-family:inherit;font-size:var(--font-md);color:var(--text-primary);line-height:1.4;opacity:0;pointer-events:none;transition:opacity .15s ease;visibility:hidden}.tile-tooltip.visible{opacity:1;visibility:visible;pointer-events:auto}.tile-tooltip.hidden{opacity:0;visibility:hidden;pointer-events:none}.tile-tooltip__content{display:flex;flex-direction:column;gap:var(--space-xs)}.tile-tooltip__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-default)}.tile-tooltip__name{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);flex:1;background-color:#000c;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-cost)}.tile-tooltip__cost{display:flex;flex-direction:column;gap:var(--space-2xs);margin:var(--space-xs) 0}.tile-tooltip__cost-label{font-size:var(--font-md);color:var(--text-primary);font-weight:500;margin-bottom:var(--space-2xs)}.tile-tooltip__cost-items{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center}.tile-tooltip__cost-item{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-lg);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-cost);background-color:#000c}.tile-tooltip__cost-item.affordable{color:var(--color-success);border:1px solid rgba(74,222,128,.2)}.tile-tooltip__cost-item.unaffordable{color:var(--color-danger);border:1px solid rgba(255,107,107,.2)}.tile-tooltip__cost-amount{font-weight:500}.tile-tooltip__description{font-size:var(--font-md);color:var(--text-dim);margin:var(--space-xs) 0;font-style:italic;line-height:1.3}.tile-tooltip__tile-count{font-size:var(--font-md);color:var(--text-dim);margin:var(--space-xs) 0}.tile-tooltip__bonuses{display:flex;flex-direction:column;gap:var(--space-2xs);margin:var(--space-xs) 0}.tile-tooltip__bonus-label{font-size:var(--font-md);color:var(--text-primary);font-weight:500;margin-bottom:var(--space-2xs)}.tile-tooltip__bonus-line{font-size:var(--font-md);color:var(--text-primary);padding:var(--space-2xs) 0}.tile-tooltip__modifiers{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-2xs);padding-top:var(--space-2xs);border-top:1px solid var(--border-subtle)}.tile-tooltip__modifier-icon{width:24px;height:24px;object-fit:contain}.tile-tooltip__divider{height:1px;background-color:var(--border-subtle);margin:var(--space-xs) 0}.tile-tooltip__message{font-size:var(--font-md);color:var(--text-primary);padding:var(--space-xs) 0;text-align:center}.tile-tooltip__message.unknown{color:var(--text-primary);font-style:italic}.tile-tooltip__message.locked{color:var(--color-locked)}.tile-tooltip__converter-status{padding:var(--space-md) 0}.tile-tooltip__converter-state{margin-bottom:var(--space-md)}.converter-state-badge{display:block;width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-md);font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center;position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.3)}.converter-state-badge--active{background:repeating-linear-gradient(90deg,rgba(34,197,94,.4) 0 calc(25% - 12px),transparent 0 25%) right/calc(4 * 100% / 3) 100%;animation:converter-progress-slide .8s infinite linear;color:var(--text-primary);border:1px solid #22c55e;background-color:#22c55e33;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 3px rgba(0,0,0,.5)}.converter-state-badge--waiting_for_inputs{background-color:#f59e0b33;color:var(--text-primary);border:1px solid #f59e0b;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 3px rgba(0,0,0,.5)}.converter-state-badge--turned_off{background-color:#6b728033;color:var(--text-primary);border:1px solid #6b7280;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 3px rgba(0,0,0,.5)}@keyframes converter-progress-slide{to{background-position:left}}.tile-tooltip__converter-section{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-cost);background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.tile-tooltip__converter-label{font-size:var(--font-md);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs)}.tile-tooltip__converter-resource{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-md);padding:3px 0;line-height:1.2}.tile-tooltip__converter-resource .resource-icon{display:block;flex-shrink:0;height:1.2em}.tile-tooltip__converter-amount{font-weight:600;min-width:50px;line-height:1.2;margin:0}.tile-tooltip__converter-resource .resource-name{color:var(--text-primary);flex:1;line-height:1.2}.tile-tooltip__converter-resource .resource-gain{color:#22c55e;font-weight:600}.tile-tooltip__converter-resource.has-enough .tile-tooltip__converter-amount,.tile-tooltip__converter-resource.has-space .tile-tooltip__converter-amount{color:#22c55e}.tile-tooltip__converter-resource.not-enough .tile-tooltip__converter-amount,.tile-tooltip__converter-resource.no-space .tile-tooltip__converter-amount{color:var(--color-error)}.tile-tooltip__early-tiles-warning{font-size:var(--font-md);padding:var(--space-sm) 0;margin-top:var(--space-xs);border-top:1px solid var(--border-default);line-height:1.4}.tile-tooltip__early-tiles-warning.active{color:var(--color-danger)}.tile-tooltip__early-tiles-warning.fixed{color:var(--color-disabled)}@media(max-width:959px){.tile-tooltip{max-width:250px;font-size:var(--font-md)}.tile-tooltip__name,.tile-tooltip__variation,.tile-tooltip__cost-item,.tile-tooltip__description,.tile-tooltip__bonus-line{font-size:var(--font-md)}}.auto-camera-button{width:36px;height:36px;box-sizing:border-box;padding:0;z-index:var(--z-above-content);font-size:20px;font-weight:700;color:var(--text-primary);border:2px solid rgba(238,238,238,.85);border-radius:var(--radius-button);background:#1e1e1ed9;cursor:var(--cursor-pointer);display:flex;align-items:center;justify-content:center;transition:all .15s ease;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);outline-offset:2px}.auto-camera-button.enabled{border-color:#22ef59e6}.auto-camera-button.disabled{border-color:#eeeeeed9}.auto-camera-button.disabled .button-icon{filter:grayscale(1);opacity:.6}.auto-camera-button.disabled:hover{background:#3c3c3ce6;border-color:#eee}.auto-camera-button.disabled:hover .button-icon{filter:grayscale(.5);opacity:.8}.auto-camera-button:hover:not(.disabled){background:#3c3c3ce6;border-color:#eee;transform:scale(1.05)}.auto-camera-button.enabled:hover{border-color:#22ef59}.auto-camera-button:active{background:#505050e6;transform:scale(.95)}.auto-camera-button:focus{outline:none}.auto-camera-button:focus-visible{outline:2px solid rgba(238,238,238,.6)}.auto-camera-button .button-icon{width:22px;height:22px;object-fit:contain;pointer-events:none}.home-button{width:36px;height:36px;box-sizing:border-box;padding:0;z-index:var(--z-above-content);font-size:20px;color:var(--text-primary);border:2px solid rgba(238,238,238,.85);border-radius:var(--radius-button);background:#1e1e1ed9;cursor:var(--cursor-pointer);display:flex;align-items:center;justify-content:center;transition:all .15s ease;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);outline-offset:2px}.home-button:hover:not(:disabled){background:#3c3c3ce6;border-color:#eeeeee80;transform:scale(1.05)}.home-button:active:not(:disabled){background:#505050e6;transform:scale(.95)}.home-button:focus{outline:none}.home-button:focus-visible{outline:2px solid rgba(238,238,238,.6)}.home-button:disabled{opacity:.4;cursor:var(--cursor-not-allowed)}.home-button .button-icon{width:22px;height:22px;object-fit:contain;pointer-events:none}.zoom-controls{display:flex;flex-direction:column;gap:var(--space-xs);z-index:var(--z-tooltip)}.zoom-control-button{width:36px;height:36px;box-sizing:border-box;padding:0;border:2px solid rgba(238,238,238,.85);border-radius:var(--radius-button);background:#1e1e1ed9;color:var(--text-primary);font-size:20px;font-weight:700;cursor:var(--cursor-pointer);display:flex;align-items:center;justify-content:center;transition:all .15s ease;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);outline:none}.zoom-control-button:focus{outline:none}.zoom-control-button:focus-visible{outline:2px solid rgba(238,238,238,.6);outline-offset:2px}.zoom-control-button:hover:not(.disabled){background:#3c3c3ce6;border-color:#eee;transform:scale(1.05)}.zoom-control-button:active:not(.disabled){background:#505050e6;transform:scale(.95)}.zoom-control-button.disabled{opacity:.4;cursor:var(--cursor-not-allowed)}.zoom-controls-gap{height:8px}.zoom-control-button.enabled{border-color:#22ef59e6}.zoom-control-button.enabled:hover{border-color:#22ef59}.zoom-control-button.toggle-button:not(.enabled) .button-icon{filter:grayscale(1);opacity:.6}.zoom-control-button.toggle-button:not(.enabled):hover .button-icon{filter:grayscale(.5);opacity:.8}.zoom-control-button .button-icon{width:22px;height:22px;object-fit:contain;pointer-events:none}.canvas-grid-viewport{position:relative;width:100%;height:100%;min-height:400px;justify-self:center;overflow:hidden;box-shadow:0 0 15px var(--color-map-theme-shadow, rgba(59, 130, 246, .3))}.canvas-grid{display:block;touch-action:none;width:100%;height:100%}.canvas-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#888;font-size:1rem;pointer-events:none}.canvas-queue-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.canvas-queue-marker{position:absolute;pointer-events:none;display:flex;align-items:center;justify-content:center}.canvas-queue-marker img{width:100%;height:100%;object-fit:contain}.canvas-queue-position{position:absolute;font-weight:700;color:gold;text-shadow:0 0 6px rgba(0,0,0,1),0 2px 4px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,1)}.canvas-pilgrim-marker{position:absolute;pointer-events:none;display:flex;align-items:center;justify-content:center;opacity:.7}.canvas-pilgrim-marker img{width:100%;height:100%;object-fit:contain}.canvas-explorer-marker{position:absolute;pointer-events:none;display:flex;align-items:center;justify-content:center}.canvas-explorer-marker img{width:100%;height:100%;object-fit:contain}.dockyard-progress-bar{position:absolute;border-radius:1px;pointer-events:none}.dockyard-progress-bar--full{background-color:#22c55e;border:1px solid #16a34a;box-shadow:0 0 4px #00000080;animation:converter-pulse 4s ease-in-out infinite}.canvas-grid-viewport .zoom-controls{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;gap:var(--space-xs)}.converter-state-indicator{border-radius:50%;pointer-events:none;box-shadow:0 0 4px #00000080}.converter-state-indicator--active{background-color:#22c55e;border:1px solid #16a34a;animation:converter-pulse 4s ease-in-out infinite}.converter-state-indicator--waiting_for_inputs{background-color:#f59e0b;border:1px solid #d97706}.converter-state-indicator--turned_off{background-color:#6b7280;border:1px solid #4b5563}@keyframes converter-pulse{0%,to{opacity:1;box-shadow:0 0 4px #22c55e80}50%{opacity:.7;box-shadow:0 0 8px #22c55ecc}}.achievement-modal{border-color:var(--achievement-gold);min-width:min(1032px,95vw);max-width:min(1320px,96vw);height:90vh;max-height:90vh;display:flex;flex-direction:column;background-image:linear-gradient(#080500ed,#080500ed),url(/idle-squares/assets/backgrounds/achievements.jpg);background-size:cover;background-position:center}.achievement-modal-title{margin:0 0 var(--space-md) 0;font-size:var(--font-5xl);color:var(--achievement-gold);text-shadow:0 0 10px rgba(255,193,7,.5)}.achievement-stats{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.achievement-stat-item{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.achievement-stat-separator{color:var(--achievement-gold);font-weight:300;opacity:.5;margin:0 var(--space-xs)}.achievement-subtitle{margin:var(--space-md) 0 0;font-size:var(--font-lg);color:var(--text-dim)}.achievement-modal .modal-content{flex:1;min-height:0}.achievement-controls{display:flex;gap:var(--space-2xl);flex-wrap:wrap;margin-top:var(--space-sm)}.achievement-controls label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-lg);color:#ffffffd9;cursor:var(--cursor-pointer);accent-color:var(--achievement-gold);-webkit-user-select:none;user-select:none}.achievement-grid-container{display:flex;flex-direction:column;gap:var(--space-xl);overflow-y:auto;padding-right:var(--space-xs)}.achievement-row{display:flex;flex-direction:column;gap:var(--space-md)}.achievement-row-header{display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-sm);font-weight:600;color:#ffffff73;text-transform:uppercase;letter-spacing:.06em}.achievement-row.complete-row .achievement-row-header{color:var(--achievement-gold)}.row-bonus{background:var(--achievement-gold);color:#000;font-size:var(--font-xs);font-weight:800;padding:1px 7px;border-radius:var(--radius-lg)}.achievement-row-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-md)}.achievement-card{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;min-width:0;overflow:hidden;padding:var(--space-lg);border-radius:var(--radius-lg);border:2px solid rgba(255,193,7,.25);background:#0000008c;box-sizing:border-box;gap:var(--space-xs);text-align:center;position:relative;transition:border-color .15s,background .15s}.achievement-card.earned{border:3px solid var(--achievement-gold);background:#ffc10738}.achievement-card.locked{border:2px dashed rgba(255,255,255,.18);background:#000000bf}.achievement-card.locked .achievement-name{color:#ffffffd9}.achievement-card.locked .achievement-description{color:#ffffffb3}.achievement-card.unavailable{border:2px dashed rgba(255,255,255,.18);background:#000000a6}.achievement-card.placeholder{border-style:dashed;pointer-events:none}.achievement-card.placeholder .achievement-name,.achievement-card.placeholder .achievement-description{opacity:.5}.achievement-card.dimmed-by-filter{background:#000000b3}.achievement-id{position:absolute;top:var(--space-sm);left:var(--space-sm);font-size:var(--font-sm);font-weight:700;color:#fff9}.achievement-icon-wrapper{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-circle);border:2px solid transparent;padding:3px;flex-shrink:0;margin:var(--space-xs) 0;transition:border-color .15s,box-shadow .15s}.achievement-card.earned .achievement-icon-wrapper{border-color:var(--achievement-gold);box-shadow:0 0 10px #ffc10773}.achievement-icon{width:48px;height:48px;object-fit:contain;border-radius:var(--radius-sm)}.achievement-placeholder-icon{font-size:var(--font-xl);color:#fff3}.achievement-name{font-size:var(--font-lg);font-weight:700;color:#fff;line-height:1.25;margin-top:var(--space-2xs)}.achievement-card.earned .achievement-name{color:var(--achievement-gold-light)}.achievement-card.earned .achievement-description{color:#ffffffd9}.achievement-description{font-size:var(--font-sm);color:#fff9;line-height:1.35}.achievement-map-restriction{font-size:var(--font-xs);color:#fff6;padding-top:var(--space-xs);line-height:1.3}@media(max-width:959px){.achievement-stats,.achievement-subtitle{display:none}}@media(max-width:1279px){.achievement-icon-wrapper{display:none}}@media(max-width:959px){.achievement-id,.achievement-row-header,.achievement-map-restriction{display:none}.achievement-name{font-size:var(--font-sm)}}@media(max-width:599px){.achievement-card.earned .achievement-description,.achievement-card.locked .achievement-name,.achievement-card.unavailable .achievement-name{display:none}}.achievement-empty-message{text-align:center;color:#ffffff80;padding:40px var(--space-xl);font-size:var(--font-base)}.achievement-notification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-spotlight)}.achievement-notification-overlay.fade-in{animation:achievementNotificationFadeIn .3s ease-out forwards}.achievement-notification-overlay.fade-out{animation:achievementNotificationFadeOut .3s ease-out forwards}@keyframes achievementNotificationFadeIn{0%{opacity:0}to{opacity:1}}@keyframes achievementNotificationFadeOut{0%{opacity:1}to{opacity:0}}.achievement-notification-content{background:linear-gradient(135deg,#2d2a00fa,#3d3000fa);border:3px solid #ffc107;border-radius:var(--radius-corners);padding:var(--space-3xl) 32px;box-shadow:0 8px 32px #0006;text-align:center;min-width:320px;max-width:400px;animation:achievementNotificationSlideUp .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes achievementNotificationSlideUp{0%{transform:translateY(30px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.fade-out .achievement-notification-content{animation:achievementNotificationSlideDown .3s ease-out forwards}@keyframes achievementNotificationSlideDown{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-20px) scale(.95);opacity:0}}.achievement-notification-header{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-2xl)}.achievement-notification-title{font-size:var(--font-2xl);font-weight:700;color:#ffc107;text-shadow:0 0 15px rgba(255,193,7,.8),0 0 30px rgba(255,193,7,.4),0 2px 4px rgba(0,0,0,.8);letter-spacing:.5px}.achievement-notification-queue{font-size:var(--font-base);color:var(--text-primary);background:#0000004d;padding:var(--space-xs) 10px;border-radius:var(--radius-corners);border:1px solid rgba(255,193,7,.3)}.achievement-notification-body{display:flex;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-3xl)}.achievement-notification-icon-wrapper{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#ffc1071a;border-radius:var(--radius-corners);border:2px solid rgba(255,193,7,.3)}.achievement-notification-icon{max-width:48px;max-height:48px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,193,7,.6))}.achievement-notification-info{text-align:left;flex:1}.achievement-notification-name{font-size:var(--font-xl);font-weight:600;color:#ffd54f;margin-bottom:var(--space-sm);text-shadow:0 1px 2px rgba(0,0,0,.8)}.achievement-notification-description{font-size:var(--font-md);color:#d1d5db;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.8)}.achievement-notification-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg) 36px;font-size:var(--font-lg);font-weight:600;color:#1a1a00;background:#ffc107;border:none;border-radius:var(--radius-corners);cursor:var(--cursor-pointer);transition:all .2s ease;box-shadow:0 4px 12px #ffc10766,inset 0 1px #ffffff4d}.achievement-notification-button:hover{background:#ffd54f;transform:translateY(-2px);box-shadow:0 6px 16px #ffc10780,inset 0 1px #fff6}.achievement-notification-button:active{transform:translateY(0);box-shadow:0 2px 8px #ffc10766,inset 0 1px #ffffff4d}@media(max-width:599px){.achievement-notification-content{min-width:280px;padding:var(--space-2xl) var(--space-3xl);margin:0 var(--space-xl)}.achievement-notification-title{font-size:var(--font-xl)}.achievement-notification-body{flex-direction:column;text-align:center}.achievement-notification-info{text-align:center}.achievement-notification-name{font-size:var(--font-lg)}.achievement-notification-description{font-size:var(--font-base)}}.dig-site-notification{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-spotlight);pointer-events:none;-webkit-user-select:none;user-select:none}.dig-site-notification.fade-in{animation:fadeIn .5s ease-in forwards}.dig-site-notification.fade-out{animation:fadeOut .5s ease-out forwards}.dig-site-notification-content{background:linear-gradient(135deg,#14141ef2,#1e1e2df2);border:2px solid rgba(251,191,36,.6);border-radius:var(--radius-corners);padding:var(--space-3xl) 32px;box-shadow:0 8px 32px #0006;text-align:center;min-width:400px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dig-site-notification-title{font-size:1.75rem;font-weight:700;color:#fbbf24;margin-bottom:var(--space-lg);text-shadow:0 0 10px rgba(251,191,36,.8),0 0 20px rgba(251,191,36,.4),0 2px 4px rgba(0,0,0,.8);letter-spacing:.5px}.dig-site-notification-message{font-size:1.1rem;color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.8);font-weight:500;line-height:1.5}@media(max-width:959px){.dig-site-notification-content{min-width:300px;padding:var(--space-2xl) var(--space-3xl)}.dig-site-notification-title{font-size:1.5rem}.dig-site-notification-message{font-size:1rem}}.loading-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0f0f0f,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.loading-container{text-align:center;max-width:500px;width:90%}.game-title{margin-bottom:3rem}.game-title h1{margin:0;font-size:var(--font-5xl);color:var(--text-primary);animation:fadeIn .6s ease;letter-spacing:2px;font-weight:700}.game-title .tagline{margin:.5rem 0 0;color:#888;font-size:var(--font-md);letter-spacing:.5px;opacity:.8}.loading-content{padding:2rem;background:#1a1a1acc;border:2px solid rgba(100,108,255,.2);border-radius:var(--radius-corners);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-spinner{display:inline-block;position:relative;width:60px;height:60px;margin-bottom:1.5rem}.spinner-ring{box-sizing:border-box;display:block;position:absolute;width:48px;height:48px;margin:var(--space-sm);border:4px solid rgba(100,108,255,.3);border-radius:var(--radius-circle);animation:spinner-spin 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:rgba(100,108,255,.3) transparent transparent transparent}.spinner-ring:nth-child(1){animation-delay:-.45s}.spinner-ring:nth-child(2){animation-delay:-.3s}.spinner-ring:nth-child(3){animation-delay:-.15s}.spinner-ring:nth-child(4){animation-delay:0s}@keyframes spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{color:#646cff;font-size:var(--font-lg);margin:1.5rem 0 2rem;font-weight:500;letter-spacing:.5px}.progress-container{margin-bottom:2rem}.progress-bar{width:100%;height:8px;background:#646cff1a;border-radius:var(--radius-corners);overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#646cff);border-radius:var(--radius-corners);transition:width .3s ease;box-shadow:0 0 10px #646cff66}.progress-text{color:#888;font-size:var(--font-base-sm);margin:0}@media(max-width:959px){.game-title h1{font-size:var(--font-3xl)}.game-title .tagline{font-size:var(--font-base-sm)}.loading-content{padding:1.5rem}.loading-spinner{margin-bottom:1rem}.loading-message{font-size:var(--font-md);margin:1rem 0 1.5rem}}.main-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--bg-overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:var(--z-base);gap:var(--space-3xl)}.main-menu-title{font-size:var(--font-5xl);font-weight:700;color:var(--text-primary);letter-spacing:.05em;text-align:center}.main-menu-buttons{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);width:320px}.main-menu-btn{width:100%;padding:var(--space-xl) var(--space-2xl);font-size:var(--font-lg);font-weight:600;border-radius:var(--radius-button);border:1px solid var(--menu-blue);background-color:var(--menu-blue-darker);color:var(--text-primary);cursor:var(--cursor-pointer);transition:all .2s ease}.main-menu-btn:hover{background-color:var(--menu-blue-dark);transform:translateY(-2px);box-shadow:0 4px 12px var(--menu-blue-shadow);border-color:var(--menu-blue-light)}.main-menu-btn:active{transform:translateY(0)}.main-menu-btn--play{font-size:var(--font-xl);padding:var(--space-2xl) var(--space-2xl);background-color:var(--menu-blue-dark);border-color:var(--menu-blue-light)}.main-menu-btn--quit{border-color:var(--color-danger);background-color:transparent;color:var(--color-danger)}.main-menu-btn--quit:hover{background-color:var(--color-danger-muted);box-shadow:0 4px 12px var(--color-danger-shadow);border-color:var(--color-danger)}.main-menu-secondary-buttons{display:flex;gap:var(--space-lg)}.main-menu-btn--small{padding:var(--space-md) var(--space-xl);font-size:var(--font-sm);font-weight:500;border-radius:var(--radius-button);border:1px solid var(--menu-blue);background-color:var(--menu-blue-darkest);color:var(--text-dim);cursor:var(--cursor-pointer);transition:all .2s ease;display:flex;align-items:center;gap:var(--space-sm)}.main-menu-btn--small:hover{background-color:var(--menu-blue-dark);color:var(--text-primary);border-color:var(--menu-blue-light);transform:translateY(-1px)}.main-menu-btn--small:active{transform:translateY(0)}.main-menu-btn--small:disabled{opacity:.4;cursor:var(--cursor-default);transform:none}.main-menu-version{position:absolute;bottom:var(--space-lg);right:var(--space-lg);font-size:var(--font-xs);color:var(--text-tertiary);pointer-events:none}.map-preview-window{position:fixed;z-index:var(--z-modal);background:#1a1a2e;border:2px solid #4a4a6a;border-radius:var(--radius-corners);box-shadow:0 8px 32px #0006;width:95vw;height:95vh;min-width:400px;min-height:350px;display:flex;flex-direction:column;resize:both;overflow:hidden}.map-preview-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:#252545;border-bottom:1px solid #4a4a6a;cursor:move;-webkit-user-select:none;user-select:none}.map-preview-title{font-size:14px;font-weight:600;color:var(--text-primary)}.map-preview-controls{display:flex;align-items:center;gap:var(--space-xs)}.map-preview-controls button{width:24px;height:24px;border:1px solid #4a4a6a;border-radius:var(--radius-corners);background:#2a2a4a;color:var(--text-primary);cursor:var(--cursor-pointer);font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .15s}.map-preview-controls button:hover{background:#3a3a5a}.map-preview-controls .reset-button{background:#5a4a2a;border-color:#8a7a4a;margin-left:var(--space-md);width:auto;padding:0 var(--space-md);font-size:12px}.map-preview-controls .reset-button:hover{background:#7a6a3a}.map-preview-controls .close-button{background:#5a2a2a;border-color:#8a4a4a;margin-left:var(--space-xs)}.map-preview-controls .close-button:hover{background:#7a3a3a}.zoom-level{font-size:11px;color:#a0a0c0;min-width:40px;text-align:center}.map-preview-content{flex:1;overflow:hidden;position:relative;background:#0a0a1a;min-height:500px}.map-preview-grid{display:flex;flex-direction:column;position:absolute;top:0;left:0}.map-preview-footer{padding:var(--space-xs) var(--space-lg);background:#252545;border-top:1px solid #4a4a6a;font-size:11px;color:#8080a0;text-align:center}.map-progress-bar-wrapper{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.map-progress-bar-container{display:flex;justify-content:center;align-items:center;width:100%;max-width:1000px;aspect-ratio:10 / 1;position:relative;pointer-events:auto}.map-progress-bar-container.text-only{aspect-ratio:unset}.progress-bar-text-only-label{font-size:var(--font-xl);font-weight:700;color:var(--color-map-progress-text);white-space:nowrap}.progress-bar-text-background{display:inline;background:var(--color-map-fog, #121215);position:absolute;left:0;right:0;top:0;bottom:0;border-radius:var(--radius-sm);opacity:.5}.progress-bar-text{display:inline;position:relative;padding:0 4px}.progress-bar-text-label{display:inline;position:absolute;left:0;right:0;top:0;bottom:0;padding:0 4px}.progress-bar-text-sizer{display:inline;opacity:0}.map-progress-bar-container--atlas-clickable{cursor:var(--cursor-pointer)}.progress-bar-absolute{position:absolute;aspect-ratio:21 / 1;top:20%;left:5.6%;right:7.6%;z-index:var(--z-content)}.progress-bar-fog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-base);background-color:var(--color-map-fog, #121215)}.progress-bar-fill-area{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-content);display:flex;gap:.242%;overflow:hidden}.progress-square{flex:0 0 auto;width:4.77%;aspect-ratio:1/1;background:linear-gradient(180deg,color-mix(in srgb,var(--color-map-theme) 80%,white 20%) 0%,var(--color-map-theme) 40%,color-mix(in srgb,var(--color-map-theme) 85%,black 15%) 100%);border-radius:var(--radius-sm);box-shadow:inset 0 1px #ffffff4d,0 0 4px var(--color-map-theme-shadow)}.progress-square.complete{box-shadow:inset 0 1px #fff6,0 0 8px color-mix(in srgb,var(--color-map-theme),transparent 40%),0 0 16px var(--color-map-theme-shadow);animation:squareGlow 1.5s ease-in-out infinite}@keyframes squareGlow{0%,to{box-shadow:inset 0 1px #fff6,0 0 8px color-mix(in srgb,var(--color-map-theme),transparent 40%),0 0 16px var(--color-map-theme-shadow)}50%{box-shadow:inset 0 1px #fff9,0 0 15px color-mix(in srgb,var(--color-map-theme),transparent 10%),0 0 30px color-mix(in srgb,var(--color-map-theme),transparent 50%)}}.progress-shine{position:absolute;top:0;left:0;z-index:var(--z-fill);height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0) 20%,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 80%,transparent 100%);animation:shineSweep .5s ease-in-out;pointer-events:none}.progress-shine.intense{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0) 15%,rgba(255,255,255,.6) 50%,rgba(255,255,255,0) 85%,transparent 100%);animation:shineSweep .4s ease-in-out}@keyframes shineSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-bar-wp-threshold,.simple-tooltip-trigger.progress-bar-wp-threshold{position:absolute;top:-10%;bottom:-10%;width:14px;z-index:var(--z-above-content);transform:translate(-50%);cursor:var(--cursor-help);display:block;background:transparent}.progress-bar-wp-threshold:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;transform:translate(-50%);background:var(--color-map-progress-text);opacity:.8}.progress-particles{position:absolute;top:0;left:0;z-index:var(--z-above-content);width:100%;height:100%;pointer-events:none;overflow:hidden}.progress-particle{position:absolute;background:radial-gradient(circle,#ffffff 0%,color-mix(in srgb,var(--color-map-theme) 80%,white 20%) 50%,transparent 100%);border-radius:50%;pointer-events:none}.progress-bar-border{position:absolute;top:0;left:0;z-index:var(--z-fill);width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none}.progress-bar-info-row{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-above-content);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--color-map-progress-text);font-size:var(--font-xl);font-weight:700;letter-spacing:1px;pointer-events:none;-webkit-user-select:none;user-select:none;padding:0 var(--space-lg);overflow:hidden;gap:var(--space-lg)}@media(max-width:1279px){.progress-bar-info-row{font-size:var(--font-md)}}.progress-bar-map-name{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.progress-bar-tile-count{display:flex;white-space:nowrap;text-align:center}.progress-bar-percentage{display:flex;justify-content:flex-end;text-align:right}.pause-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-modal-dimmer);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:pauseMenuFadeIn .15s ease-out}@keyframes pauseMenuFadeIn{0%{opacity:0}to{opacity:1}}.pause-menu-dialog{background:var(--bg-menu-dialog);border:2px solid var(--menu-blue);border-radius:var(--radius-panel);padding:2rem;max-width:320px;width:90%;box-shadow:var(--shadow-modal);animation:pauseMenuSlideUp .2s ease-out}@keyframes pauseMenuSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.pause-menu-title{color:var(--text-primary);margin:0 0 var(--space-3xl) 0;font-size:var(--font-2xl);text-align:center;letter-spacing:.05em}.pause-menu-buttons{display:flex;flex-direction:column;gap:.625rem}.pause-menu-button{display:block;width:100%;padding:.7rem 1.25rem;font-size:var(--font-md);font-weight:600;border-radius:var(--radius-button);cursor:var(--cursor-pointer);transition:background-color .15s ease,border-color .15s ease,transform .15s ease;border:1px solid;text-align:center;text-decoration:none}.pause-menu-button--resume{background-color:var(--menu-blue);color:var(--text-primary);border-color:var(--menu-blue)}.pause-menu-button--resume:hover{background-color:var(--menu-blue-light);border-color:var(--menu-blue-light);transform:translateY(-1px)}.pause-menu-button--settings,.pause-menu-button--save-quit,.pause-menu-button--feedback,.pause-menu-button--main-menu{background-color:var(--menu-btn-secondary-bg);color:var(--text-primary);border-color:var(--menu-blue-border-dim)}.pause-menu-button--settings:hover,.pause-menu-button--save-quit:hover,.pause-menu-button--feedback:hover,.pause-menu-button--main-menu:hover{background-color:var(--menu-btn-secondary-bg-hover);border-color:var(--menu-blue);transform:translateY(-1px)}.resource-panel{background-color:var(--bg-panel);border:2px solid var(--color-map-theme);border-radius:var(--radius-corners);padding:1rem;margin:0;width:363px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 15px var(--color-map-theme-shadow);animation:panelSlideUp .5s ease-out}.resource-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem;margin-bottom:1rem}.resource-panel h2{margin:0;font-size:var(--font-xl);color:var(--text-primary)}.resource-list{display:flex;flex-direction:column;gap:.75rem;flex:1;overflow-y:auto;min-height:0;padding-right:var(--space-xs);scrollbar-width:thin;scrollbar-color:rgba(16,185,129,.4) rgba(0,0,0,.3)}.resource-list::-webkit-scrollbar{width:var(--space-md)}.resource-list::-webkit-scrollbar-track{background:#0000004d;border-radius:var(--radius-corners)}.resource-list::-webkit-scrollbar-thumb{background:#10b98166;border-radius:var(--radius-corners)}.resource-list::-webkit-scrollbar-thumb:hover{background:#10b98199}.no-resources{color:var(--color-disabled);font-style:italic;text-align:center;padding:1rem}.resource-item{background-color:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-corners);padding:.75rem;transition:all .2s ease;display:flex;align-items:center;gap:.75rem;cursor:var(--cursor-pointer)}.resource-item:hover{background-color:var(--bg-panel-elevated);border-color:var(--border-default);transform:translate(2px)}.resource-item-toggled{box-shadow:inset 0 0 0 2px var(--color-resource-highlight)!important;border-color:var(--color-resource-highlight)!important}.resource-content{flex:1;display:flex;flex-direction:column;min-width:0}.resource-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.resource-name-container{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.resource-name{font-size:var(--font-md);color:var(--text-primary);transition:color .2s ease}.resource-item:hover .resource-name{color:#646cff}.resource-rate{font-size:var(--font-md);color:var(--color-success-dark);transition:all .2s ease}.resource-item:hover .resource-rate{color:var(--color-success-light);text-shadow:0 0 8px rgba(68,170,68,.4)}.resource-amount{font-size:var(--font-md);color:var(--text-dim);margin-bottom:.5rem}.resource-bar{height:1rem;background-color:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-button);overflow:hidden;box-shadow:inset 0 2px 4px #0006;position:relative}.resource-bar-fill{height:100%;background:linear-gradient(180deg,#6ef196,#4ade80 40%,#3bca6c 60%,#2fb759);transition:width .3s ease;box-shadow:0 0 8px #4ade8080,inset 0 1px #ffffff4d;position:relative}.resource-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#ffffff40,#fff0);border-radius:7px 7px 0 0}.focus-resource-dropdown{position:relative}.focus-resource-trigger{display:flex;align-items:center;gap:.35rem;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-button);padding:var(--space-2xs) 6px;font-size:var(--font-md);font-family:inherit;cursor:var(--cursor-pointer);white-space:nowrap;max-width:200px}.focus-resource-trigger:hover{border-color:var(--border-default);background:var(--bg-panel-elevated)}@keyframes focus-resource-glow-pulse{0%,to{box-shadow:0 0 0 1px color-mix(in srgb,var(--worldtree-crimson) 20%,transparent 80%)}50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--worldtree-crimson) 45%,transparent 55%),0 0 6px color-mix(in srgb,var(--worldtree-crimson) 15%,transparent 85%)}}.focus-resource-trigger--empty{border-color:color-mix(in srgb,var(--worldtree-crimson) 25%,var(--border-subtle) 75%);animation:focus-resource-glow-pulse 2.5s ease-in-out infinite}.focus-resource-placeholder{color:var(--text-dim)}.focus-resource-arrow{font-size:.6em;margin-left:var(--space-2xs);color:var(--text-dim)}.focus-resource-options{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--z-tooltip);background:var(--bg-panel-elevated, #1e1e1e);border:1px solid var(--border-default);border-radius:var(--radius-corners);min-width:100%;overflow:hidden;box-shadow:0 4px 12px #00000080}.focus-resource-option{display:flex;align-items:center;gap:.4rem;padding:5px 10px;font-size:var(--font-md);cursor:var(--cursor-pointer);white-space:nowrap}.focus-resource-option:hover{background:var(--bg-base)}.focus-resource-option-none{color:var(--text-dim)}.focus-resource-option-selected{background:var(--bg-base);color:var(--worldtree-crimson)}.save-load-error-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:var(--z-top)}.save-load-error-panel{background-color:#1a1a1b;border-radius:var(--radius-lg);border:2px solid #d32f2f;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column}.save-load-error-header{padding:0 1.5rem 1.5rem 0;border-bottom:1px solid rgba(211,47,47,.3)}.save-load-error-header h2{color:#ff6b6b;margin:0;font-size:1.25rem}.save-load-error-content{padding:1.5rem;flex:1}.save-load-error-description{color:#ccc;margin-bottom:.75rem;line-height:1.5}.save-load-error-reasons{color:#ff6b6b;margin:.5rem 0 1rem;padding-left:1.5rem;line-height:1.5}.save-load-error-reasons li{margin-bottom:.25rem;list-style-type:disc;padding-left:1rem;color:#ff9800}.save-load-error-backup-section{margin-top:1rem;padding:1rem;background-color:#2196f31a;border-radius:var(--radius-sm)}.save-load-error-backup-hint{color:#aaa;font-size:.875rem;margin-bottom:.5rem}.save-load-error-export-button{background-color:#2196f3;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:var(--cursor-pointer);font-size:.9rem;transition:background-color .2s}.save-load-error-export-button:hover:not(:disabled){background-color:#1e88e5}.save-load-error-export-button:disabled{opacity:.6;cursor:var(--cursor-not-allowed);background-color:#4caf50}.save-load-error-danger-section{margin-top:1rem;padding:1rem;background-color:#f443361a;border-radius:var(--radius-sm);border:1px solid rgba(244,67,54,.3)}.save-load-error-warning{color:#ff6b6b;font-size:.875rem;margin-bottom:.75rem}.save-load-error-checkbox-label{display:flex;align-items:center;gap:.5rem;color:#ccc;cursor:var(--cursor-pointer);font-size:.875rem}.save-load-error-checkbox{width:1rem;height:1rem;cursor:var(--cursor-pointer);accent-color:#d32f2f}.save-load-error-buttons{display:flex;gap:1rem;margin-top:1.5rem;justify-content:center}.save-load-error-confirm-button{background-color:#d32f2f;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-sm);cursor:var(--cursor-pointer);font-size:1rem;font-weight:600;transition:background-color .2s}.save-load-error-confirm-button:hover:not(:disabled){background-color:#b71c1c}.save-load-error-confirm-button:disabled{opacity:.5;cursor:var(--cursor-not-allowed);background-color:#666}.save-load-error-cancel-button{background-color:transparent;color:#888;border:1px solid #666;padding:.75rem 1.5rem;border-radius:var(--radius-sm);cursor:var(--cursor-pointer);font-size:1rem;transition:background-color .2s,color .2s}.save-load-error-cancel-button:hover{background-color:#ffffff1a;color:#ccc}.info-tooltip-trigger{display:inline-flex;cursor:var(--cursor-help)}.info-tooltip{animation:tooltipFadeIn .15s ease-out;max-width:350px}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.info-tooltip-content{background-color:#1a1a1aee;border:1px solid #444;border-radius:var(--radius-corners);padding:var(--space-md);box-shadow:0 4px 12px #000c;color:var(--text-primary);font-size:var(--font-base);line-height:1.5}.info-tooltip-arrow{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:12px;height:12px;background:#1a1a1aee;border-left:1px solid #444;border-top:1px solid #444;transform:translate(-50%) rotate(45deg)}.info-tooltip-content strong{color:var(--text-primary);font-weight:600}.info-tooltip-content code{background:#ffffff1a;padding:var(--space-2xs) 6px;border-radius:var(--radius-corners);font-family:Courier New,monospace;font-size:var(--font-xs);color:var(--text-primary)}.about-header__title{margin:0;font-size:var(--font-2xl);color:var(--menu-blue);font-weight:600}.about-version{text-align:center;color:#888;font-size:var(--font-base);margin-bottom:1.5rem;font-style:italic;-webkit-user-select:text;user-select:text}.about-dev-badge{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;font-size:var(--font-xs);font-style:normal;font-weight:700;color:#fff;background-color:#c62828;border-radius:var(--radius-button);vertical-align:middle;letter-spacing:.05em}.about-modal-content{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:1rem;-webkit-user-select:text;user-select:text}.about-section{padding:.75rem;border:1px solid var(--menu-blue-shadow);border-radius:var(--radius-button);text-align:center;background-color:#0003}.about-section h3{margin-top:0;margin-bottom:.75rem;font-size:var(--font-lg);color:var(--menu-blue);font-weight:600}.about-section p{margin:.5rem 0;color:#ccc;line-height:1.6}.about-section a{color:var(--menu-blue-light);text-decoration:none}.about-section a:hover{text-decoration:underline;color:#8dc5f5}.discord-link,.support-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:var(--button-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-button);text-decoration:none;font-weight:700;transition:all .2s;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.discord-link:hover,.support-link:hover{background-color:var(--button-hover);text-decoration:none}.discord-link{background-color:#5865f2;border-color:#5865f2;color:#fff}.discord-link:hover{background-color:#4752c4;border-color:#4752c4}.buymeacoffee-link{background-color:#bd5fff;border-color:#bd5fff}.buymeacoffee-link:hover{background-color:#a64ee6;border-color:#a64ee6}.paypal-link{background-color:#ffd140;border-color:#ffd140}.paypal-link:hover{background-color:#ffbe00;border-color:#ffbe00}.button-icon{width:20px;height:20px;object-fit:contain}.thanks-list{list-style:none;padding:0;margin:.5rem 0}.thanks-list li{padding:.25rem 0;color:#ccc}.support-disclaimer{font-style:italic;color:#aaa;margin-bottom:1rem}.support-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center;margin-bottom:1rem}.impressum-link{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;color:var(--menu-blue-light);text-decoration:none;font-size:var(--font-sm);border:1px solid rgba(33,150,243,.4);border-radius:var(--radius-button);transition:all .2s}.impressum-link:hover{color:#8dc5f5;border-color:var(--menu-blue);background-color:#2196f31a;text-decoration:none}@media(max-width:599px){.about-modal-content{grid-template-columns:1fr;grid-template-rows:auto}}.hard-reset-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1100;cursor:var(--cursor-pointer);animation:fadeIn .2s ease-out}.hard-reset-panel{background:linear-gradient(135deg,#2e1a1a,#3e1616);border:3px solid #d32f2f;border-radius:var(--radius-panel);padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;cursor:var(--cursor-default);box-shadow:0 8px 32px #0006;animation:slideUp .3s ease-out}.hard-reset-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #d32f2f}.hard-reset-header h2{margin:0;font-size:1.5rem;color:#ff6b6b;font-weight:700}.hard-reset-content{margin-bottom:1.5rem}.hard-reset-warning-text{color:#ccc;margin:1rem 0;line-height:1.6}.hard-reset-warning-text strong{color:#ff6b6b;font-weight:700}.hard-reset-list{list-style:disc;margin:1rem 0;padding-left:2rem;color:#bbb}.hard-reset-list li{margin:.5rem 0;line-height:1.4}.hard-reset-checkbox-label{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1rem;background-color:#d32f2f1a;border:2px solid rgba(211,47,47,.3);border-radius:var(--radius-button);cursor:var(--cursor-pointer);transition:all .2s}.hard-reset-checkbox-label:hover{background-color:#d32f2f26;border-color:#d32f2f80}.hard-reset-checkbox{width:1.25rem;height:1.25rem;cursor:var(--cursor-pointer);flex-shrink:0}.hard-reset-checkbox-label span{color:var(--text-primary);font-weight:600;-webkit-user-select:none;user-select:none}.hard-reset-buttons{display:flex;gap:1rem;justify-content:center}.hard-reset-cancel-button,.hard-reset-confirm-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:var(--radius-button);cursor:var(--cursor-pointer);transition:all .2s;border:1px solid}.hard-reset-cancel-button{background-color:#4a4a4a;color:var(--text-primary);border-color:#666}.hard-reset-cancel-button:hover{background-color:#5a5a5a;border-color:#777}.hard-reset-confirm-button{background-color:#d32f2f;color:#fff;border-color:#b71c1c}.hard-reset-confirm-button:hover:not(:disabled){background-color:#b71c1c}.hard-reset-confirm-button:disabled{background-color:#757575;border-color:#616161;color:#bdbdbd;cursor:var(--cursor-not-allowed);opacity:.6}.language-selector{position:relative;display:flex}.language-selector-button{display:flex;align-items:center;gap:var(--space-sm);padding:.5rem 1rem;font-size:var(--font-base);transition:all .2s ease;border:1px solid var(--menu-blue);border-radius:var(--radius-button);cursor:var(--cursor-pointer);font-weight:500;background-color:var(--menu-blue-darker);color:var(--text-primary)}.language-selector-button:hover{background-color:var(--menu-blue-dark);transform:translateY(-2px);box-shadow:0 4px 12px var(--menu-blue-shadow);border-color:var(--menu-blue-light)}.language-selector-button:active{transform:translateY(0)}.language-selector-flag{display:block;width:20px;height:15px}.language-selector-text{font-weight:500}.language-selector-arrow{font-size:var(--font-xs);transition:transform .2s ease;margin-left:var(--space-2xs)}.language-selector-arrow.open{transform:rotate(180deg)}.language-selector-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:150px;background-color:var(--menu-blue-darker);border:1px solid var(--menu-blue);border-radius:var(--radius-button);box-shadow:0 4px 12px #0000004d;z-index:var(--z-modal);overflow:hidden;animation:languageDropdownFadeIn .2s ease}@keyframes languageDropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.language-selector-option{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:.7rem 1rem;border:none;background-color:transparent;color:var(--text-primary);font-size:var(--font-base);font-weight:500;text-align:left;cursor:var(--cursor-pointer);transition:all .15s ease}.language-selector-option:hover{background-color:var(--menu-blue-dark)}.language-selector-option.active{background-color:var(--menu-blue-darkest);color:var(--menu-blue-light)}.language-selector-option-flag{display:block;width:20px;height:15px}.language-selector-option-text{flex:1}.language-selector-checkmark{font-size:var(--font-md);color:var(--menu-blue-light)}.language-selector-beta-badge{font-size:.6rem;font-weight:700;letter-spacing:.04em;padding:1px 4px;border-radius:3px;background-color:var(--menu-blue);color:var(--text-primary);opacity:.75}@media(max-width:959px){.language-selector-button{padding:.4rem .8rem;font-size:var(--font-base-sm)}.language-selector-text{display:none}.language-selector-dropdown{min-width:120px}.language-selector-option{padding:.6rem .8rem;font-size:var(--font-base-sm)}}.patch-notes-header__title{margin:0;font-size:var(--font-2xl);color:var(--text-primary);font-weight:600}.patch-notes-empty{text-align:center;color:var(--text-dim);font-style:italic;padding:2rem}.patch-notes-timeline{display:flex;flex-direction:column;gap:0}.patch-note-entry{display:flex;gap:1rem;position:relative}.patch-note-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:12px}.patch-note-dot{width:12px;height:12px;border-radius:50%;background-color:var(--menu-blue);flex-shrink:0;margin-top:var(--space-sm)}.patch-note-line{width:2px;flex:1;background-color:var(--menu-blue-shadow);margin-top:var(--space-xs);min-height:20px}.patch-note-latest .patch-note-dot{background-color:#4caf50;box-shadow:0 0 8px #4caf5080}.patch-note-body{flex:1;padding-bottom:1.5rem;min-width:0}.patch-note-latest .patch-note-body{padding-bottom:2rem}.patch-note-content{color:var(--text-primary);line-height:1.6;-webkit-user-select:text;user-select:text}.patch-note-content h1{margin:0 0 .5rem;font-size:var(--font-lg);color:var(--menu-blue);font-weight:600}.patch-note-latest .patch-note-content h1{font-size:var(--font-xl)}.patch-note-content h2{margin:1rem 0 .5rem;font-size:var(--font-base);color:var(--text-primary);font-weight:600;border-bottom:1px solid var(--menu-blue-shadow);padding-bottom:.25rem}.patch-note-content p{margin:.5rem 0;color:var(--text-dim)}.patch-note-content strong{color:var(--menu-blue-light);font-weight:600}.patch-note-content ul{margin:.5rem 0;padding-left:1.25rem}.patch-note-content li{margin:.25rem 0;color:var(--text-dim)}.patch-note-content a{color:var(--menu-blue-light);text-decoration:none}.patch-note-content a:hover{text-decoration:underline;color:var(--menu-blue-light)}.patch-note-content em{color:var(--text-dim);font-size:var(--font-sm)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.modal-panel--settings{max-width:1350px}.settings-modal-header__title{margin:0;font-size:var(--font-2xl);color:var(--text-primary);font-weight:600}.settings-tabs-container{flex-shrink:0;margin-bottom:1rem}.settings-tab-content{flex:1;overflow-y:auto;padding-right:.5rem;min-height:480px}.settings-tab-content::-webkit-scrollbar{width:8px}.settings-tab-content::-webkit-scrollbar-track{background:#0003;border-radius:var(--radius-sm)}.settings-tab-content::-webkit-scrollbar-thumb{background:#2196f380;border-radius:var(--radius-sm)}.settings-tab-content::-webkit-scrollbar-thumb:hover{background:#2196f3b3}.settings-section{padding-bottom:1rem;border-bottom:1px solid var(--menu-blue-shadow);margin-bottom:1rem}.settings-section:last-child{border-bottom:none;margin-bottom:0}.settings-divider{border:none;border-bottom:1px solid var(--menu-blue-shadow);margin:1rem 0}.settings-section h3{margin-top:0;margin-bottom:1rem;font-size:var(--font-lg);color:var(--menu-blue);font-weight:600}.settings-save-button{display:inline-block;padding:.75rem 1.5rem;background-color:var(--menu-blue);color:var(--text-primary);border:1px solid var(--menu-blue);border-radius:var(--radius-button);font-weight:600;cursor:var(--cursor-pointer);transition:all .2s;font-size:var(--font-md)}.settings-save-button:hover{background-color:var(--menu-blue-light);border-color:var(--menu-blue-light)}.settings-save-row{display:flex;align-items:center;gap:1rem}.settings-save-row .settings-save-button{flex:1;max-width:33.33%}.settings-save-row .settings-hint{flex:2;margin:0}.settings-save-row .settings-save-info{flex:2;display:flex;flex-direction:column;gap:.25rem}.settings-save-info .settings-hint,.settings-save-info .settings-autosave-timer{margin:0}.settings-hard-reset-button{display:inline-block;padding:.75rem 1.5rem;background-color:#d32f2f;color:var(--text-primary);border:1px solid #b71c1c;border-radius:var(--radius-button);font-weight:600;cursor:var(--cursor-pointer);transition:all .2s;font-size:var(--font-md)}.settings-hard-reset-button:hover{background-color:#b71c1c}.settings-save-row .settings-hard-reset-button{flex:1;max-width:33.33%}.settings-import-button{display:inline-block;padding:.75rem 1.5rem;background-color:#d32f2f;color:var(--text-primary);border:1px solid #b71c1c;border-radius:var(--radius-button);font-weight:600;cursor:var(--cursor-pointer);transition:all .2s;font-size:var(--font-md);white-space:nowrap;flex-shrink:0}.settings-import-button:hover:not(:disabled){background-color:#b71c1c;border-color:#b71c1c}.settings-import-button:disabled{opacity:.5;cursor:var(--cursor-not-allowed)}.settings-file-row{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;margin-bottom:.75rem}.settings-file-row .settings-file-input{flex:2;max-width:66.66%}.settings-file-row .settings-import-button{flex:1;max-width:33.33%}.settings-file-input{padding:.5rem;background-color:#0000004d;border:1px solid rgba(33,150,243,.4);border-radius:var(--radius-button);color:var(--text-primary);font-size:var(--font-md);cursor:var(--cursor-pointer);transition:border-color .2s}.settings-file-input:hover{border-color:var(--menu-blue)}.settings-file-input::file-selector-button{padding:.4rem .8rem;margin-right:.75rem;background-color:var(--menu-blue);color:var(--text-primary);border:none;border-radius:var(--radius-button);font-weight:600;cursor:var(--cursor-pointer);transition:background-color .2s}.settings-file-input::file-selector-button:hover{background-color:var(--menu-blue-light)}.settings-success{margin:.75rem 0 0;color:#4caf50;font-size:var(--font-base);font-weight:600}.settings-error{margin:.75rem 0 0;color:#ff6b6b;font-size:var(--font-base);font-weight:600}.settings-hint{margin:.75rem 0 0;color:var(--text-primary);font-size:var(--font-md)}.settings-autosave-timer{margin:.5rem 0 0;color:var(--text-primary);font-size:var(--font-md);font-weight:500}.settings-warning{margin:.75rem 0 0;color:#ff6b6b;font-size:var(--font-md);font-weight:600}.settings-section.settings-danger-section{background-color:#d32f2f1a;padding:1rem;border-radius:var(--radius-button);border:1px solid rgba(211,47,47,.3)}.settings-checkbox{cursor:var(--cursor-pointer);width:1.2rem;height:1.2rem;accent-color:var(--menu-blue)}.settings-checkbox:hover{accent-color:var(--menu-blue-light)}.settings-checkbox:disabled{cursor:var(--cursor-not-allowed);opacity:.5}.settings-section>.simple-tooltip-trigger{display:block}.settings-range-slider{width:100%;height:6px;border-radius:3px;background:var(--menu-blue-shadow);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:.5rem 0}.settings-range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--menu-blue);cursor:var(--cursor-pointer);transition:background .2s}.settings-range-slider::-webkit-slider-thumb:hover{background:var(--menu-blue-light)}.settings-range-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--menu-blue);cursor:var(--cursor-pointer);border:none;transition:background .2s}.settings-range-slider::-moz-range-thumb:hover{background:var(--menu-blue-light)}.settings-dropdown{width:100%;padding:.5rem .75rem;background-color:#0000004d;border:1px solid rgba(33,150,243,.4);border-radius:var(--radius-button);color:var(--text-primary);font-size:var(--font-md);cursor:var(--cursor-pointer);transition:border-color .2s,background-color .2s;font-family:var(--font-primary)}.settings-dropdown:hover{border-color:var(--menu-blue);background-color:#0006}.settings-dropdown:focus{outline:none;border-color:var(--menu-blue);box-shadow:0 0 0 2px #2196f34d}.settings-dropdown option{background-color:#1a1a2e;color:var(--text-primary);padding:.5rem}.settings-cluster{display:grid;grid-template-columns:max-content max-content;column-gap:.75rem;row-gap:.5rem;align-items:center;margin:.5rem 0}.settings-cluster .settings-row-label{color:var(--text-primary);font-size:var(--font-md);cursor:var(--cursor-pointer);margin:0;-webkit-user-select:none;user-select:none}.settings-cluster .settings-dropdown{width:auto;min-width:10rem;margin:0}.settings-cluster .settings-checkbox{margin:0;justify-self:start}.settings-cluster .settings-slider-cell{display:flex;align-items:center;gap:.75rem}.settings-cluster .settings-slider-cell .settings-range-slider{width:200px;margin:0}.settings-sfx-value-cell{color:var(--text-primary);font-size:var(--font-md);font-weight:500;width:3ch;text-align:right;flex-shrink:0}.settings-range-slider--muted{opacity:.4;cursor:var(--cursor-not-allowed)}@media(max-width:599px){.settings-modal-header__title{font-size:var(--font-xl)}.settings-section h3{font-size:var(--font-md)}}.spritesheet-preview-window{position:fixed;z-index:var(--z-modal);background:#1a1a2e;border:2px solid #4a4a6a;border-radius:var(--radius-corners);box-shadow:0 8px 32px #0006;width:95vw;height:95vh;min-width:400px;min-height:350px;display:flex;flex-direction:column;resize:both;overflow:hidden}.spritesheet-preview-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:#252545;border-bottom:1px solid #4a4a6a;cursor:move;-webkit-user-select:none;user-select:none}.spritesheet-preview-title{font-size:14px;font-weight:600;color:var(--text-primary)}.spritesheet-preview-controls{display:flex;align-items:center;gap:var(--space-xs)}.spritesheet-preview-controls button{width:24px;height:24px;border:1px solid #4a4a6a;border-radius:var(--radius-corners);background:#2a2a4a;color:var(--text-primary);cursor:var(--cursor-pointer);font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .15s}.spritesheet-preview-controls button:hover{background:#3a3a5a}.spritesheet-preview-controls .toggle-button{background:#2a4a2a;border-color:#4a6a4a;width:auto;padding:0 8px;font-size:11px}.spritesheet-preview-controls .toggle-button:hover{background:#3a5a3a}.spritesheet-preview-controls .toggle-button.inactive{background:#4a2a2a;border-color:#6a4a4a}.spritesheet-preview-controls .toggle-button.inactive:hover{background:#5a3a3a}.spritesheet-preview-controls .reset-button{background:#5a4a2a;border-color:#8a7a4a;margin-left:var(--space-md);width:auto;padding:0 var(--space-md);font-size:12px}.spritesheet-preview-controls .reset-button:hover{background:#7a6a3a}.spritesheet-preview-controls .close-button{background:#5a2a2a;border-color:#8a4a4a;margin-left:var(--space-xs)}.spritesheet-preview-controls .close-button:hover{background:#7a3a3a}.spritesheet-preview-content{flex:1;overflow:hidden;position:relative;background:#0a0a1a;min-height:200px}.spritesheet-preview-canvas-container{position:absolute;top:0;left:0}.spritesheet-preview-canvas{display:block}.spritesheet-preview-footer{padding:var(--space-xs) var(--space-lg);background:#252545;border-top:1px solid #4a4a6a;font-size:11px;color:#8080a0;text-align:center;display:flex;justify-content:space-between}.spritesheet-preview-footer-info{display:flex;gap:var(--space-xl)}.spritesheet-preview-footer span{white-space:nowrap}.tutorial-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:var(--z-spotlight);display:flex;align-items:center;justify-content:center}.tutorial-spotlight{position:absolute;background:#000000d9;box-shadow:0 0 0 9999px #000000b3;border-radius:var(--radius-corners);transition:all .3s ease;pointer-events:none}.tutorial-content{position:relative;z-index:var(--z-top);background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #6366f1;border-radius:var(--radius-corners);padding:var(--space-3xl);max-width:500px;min-width:350px;box-shadow:0 8px 32px #0006;color:var(--text-primary)}.tutorial-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(99,102,241,.3)}.tutorial-header h2{margin:0;color:#6366f1;font-size:var(--font-xl);flex:1}.tutorial-progress{font-size:var(--font-sm);color:#a0a0a0;text-transform:uppercase}.tutorial-body{margin-bottom:var(--space-2xl);font-size:var(--font-base);line-height:1.6;color:silver}.tutorial-body p{margin:0;white-space:pre-wrap}.tutorial-footer{display:flex;flex-direction:column;gap:var(--space-lg)}.tutorial-buttons{display:flex;gap:var(--space-md)}.tutorial-button{flex:1;padding:10px 16px;border:1px solid rgba(99,102,241,.5);border-radius:var(--radius-corners);background:#6366f11a;color:#6366f1;font-size:var(--font-base-sm);font-weight:500;cursor:var(--cursor-pointer);transition:all .2s}.tutorial-button:hover:not(:disabled){background:#6366f133;border-color:#6366f1;transform:translateY(-2px)}.tutorial-button:disabled{opacity:.4;cursor:var(--cursor-not-allowed)}.tutorial-button.skip{background:#ef44441a;color:#ef4444;border-color:#ef44444d}.tutorial-button.skip:hover{background:#ef444433;border-color:#ef4444}.tutorial-button.next{background:#6366f14d;border-color:#6366f1}.tutorial-button.next:hover:not(:disabled){background:#6366f166}.tutorial-dots{display:flex;gap:var(--space-sm);justify-content:center}.dot{width:8px;height:8px;border-radius:var(--radius-circle);background:#6366f14d;cursor:var(--cursor-pointer);transition:all .2s;border:1px solid rgba(99,102,241,.5)}.dot.active{background:#6366f1;transform:scale(1.3);border-color:#6366f1}.dot:hover{background:#6366f180}@media(max-width:959px){.tutorial-content{max-width:90vw;min-width:auto;margin:var(--space-xl)}.tutorial-buttons{flex-direction:column}.tutorial-button{min-height:40px}.tutorial-header{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.tutorial-progress{align-self:flex-start}}.upgrade-item{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-button);position:relative;transition:transform .2s ease,opacity .2s ease,background-color .2s ease,border-color .2s ease}.upgrade-item.affordable{cursor:var(--cursor-pointer);background:#646cff1a;border-color:#646cff4d}.upgrade-item.affordable:hover{background:#646cff33;border-color:#646cff80;transform:translate(4px)}.upgrade-item.affordable:active{transform:translate(2px);background:#646cff26}.upgrade-item.unaffordable{cursor:var(--cursor-not-allowed);opacity:.5;background:#0000004d;border-color:#ffffff0d}.upgrade-item.unaffordable .upgrade-name,.upgrade-item.unaffordable .upgrade-description{color:#888}.upgrade-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#0000004d;border-radius:var(--radius-corners);border:none}.upgrade-icon img{width:100%;height:100%;object-fit:contain;border:none}.upgrade-content{flex:1;display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.upgrade-header{display:flex;align-items:baseline}.upgrade-name{font-weight:600;font-size:var(--font-md);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.upgrade-item .upgrade-cost{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;font-size:var(--font-base);line-height:1.3}.upgrade-cost-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-cost);background-color:#ffffff0d;border:none}.upgrade-item.affordable .upgrade-cost-item{color:#10b981;border:none}.upgrade-item.unaffordable .upgrade-cost-item{color:#a44;border:none}.upgrade-item.unaffordable .upgrade-cost-item.partially-affordable{color:#10b981}.upgrade-cost-amount{font-weight:500}.upgrade-item .upgrade-description{font-size:var(--font-base);color:var(--text-primary);line-height:1.3}.upgrade-item:focus{outline:2px solid rgba(100,108,255,.6);outline-offset:2px}.upgrade-item.unaffordable:focus{outline:none}.upgrade-source-icon{display:inline-block;width:16px;height:16px;object-fit:contain;vertical-align:baseline;position:relative;top:1px;margin-right:var(--space-sm)}.upgrade-item--highlighted{outline:3px solid var(--color-resource-highlight);outline-offset:-1px}.upgrades-list.upgrade-purchased--sweep-thick:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 25%,rgba(255,215,0,.85) 50%,transparent 75%);pointer-events:none;z-index:var(--z-above-content);animation:upgradePurchaseSweep .25s linear forwards}.upgrades-panel{background:linear-gradient(135deg,var(--bg-deep-darker) 0%,var(--bg-panel-dark) 100%);border:2px solid var(--color-map-theme);border-radius:var(--radius-corners);padding:var(--space-xl);margin:0;color:var(--text-primary);box-shadow:0 0 15px var(--color-map-theme-shadow);animation:panelSlideUp .6s ease-out;display:flex;flex-direction:column;flex:1;min-height:400px;width:363px;flex-shrink:0}.upgrades-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:0}.upgrades-header h2{margin:0;color:#10b981;font-size:var(--font-xl)}.upgrades-header-info{display:inline-flex;align-items:center;justify-content:center;width:1.2em;height:1.2em;border-radius:50%;border:1px solid currentColor;font-size:.75em;cursor:var(--cursor-help);vertical-align:middle;opacity:.75}.upgrades-list{position:relative;display:flex;flex-direction:column;gap:var(--space-md);padding-right:var(--space-xs);flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.upgrades-list::-webkit-scrollbar{width:var(--space-md)}.upgrades-list::-webkit-scrollbar-track{background:#0000004d;border-radius:var(--radius-corners)}.upgrades-list::-webkit-scrollbar-thumb{background:#10b98166;border-radius:var(--radius-corners)}.upgrades-list::-webkit-scrollbar-thumb:hover{background:#10b98199}.upgrades-list{scrollbar-width:thin;scrollbar-color:rgba(16,185,129,.4) rgba(0,0,0,.3)}.upgrades-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--color-disabled);font-style:italic;font-size:var(--font-base)}.upgrades-locked{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-primary);font-weight:700;font-size:var(--font-lg);text-align:center;padding:var(--space-2xl);margin:var(--space-2xl) 0}.upgrades-tabs-separator{padding-bottom:var(--space-lg);border-bottom:1px solid rgba(16,185,129,.5)}.upgrades-tabs{display:flex;gap:var(--space-md);margin-bottom:0;padding-bottom:var(--space-lg);border-bottom:1px solid rgba(16,185,129,.5)}.upgrades-tab-button--available,.upgrades-tab-button--purchased{flex:1;padding:var(--space-md) var(--space-xl);background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-button);color:var(--text-primary);font-size:var(--font-base);cursor:var(--cursor-pointer);transition:all .2s ease;opacity:.6;outline:none}.upgrades-tab-button--active{background:#10b98133;border-color:#10b98180;color:#10b981;opacity:1}.upgrades-tab-button--available:hover,.upgrades-tab-button--purchased:hover{background:#ffffff1f;opacity:.8}.upgrades-tab-button--available:focus,.upgrades-tab-button--purchased:focus,.upgrades-tab-button--available:focus-visible,.upgrades-tab-button--purchased:focus-visible{outline:none}.upgrades-tab-content{flex:1;min-height:0;padding-top:var(--space-lg);display:flex;flex-direction:column}.purchased-upgrade-item{display:flex;align-items:center;gap:10px;padding:var(--space-md) var(--space-lg);background:#10b98114;border-left:2px solid rgba(16,185,129,.3);border-radius:0 var(--radius-button) var(--radius-button) 0;transition:background .15s ease;width:100%}.purchased-upgrade-item:hover{background:#10b9811f}.purchased-upgrade-icon{width:20px;height:20px;flex-shrink:0}.purchased-upgrade-icon img{width:100%;height:100%;object-fit:contain;opacity:.7}.purchased-upgrade-name-group{display:flex;align-items:center;gap:var(--space-sm);overflow:hidden;flex:1;min-width:0}.purchased-upgrade-name-group .upgrade-source-icon{top:0;margin-right:0;flex-shrink:0;vertical-align:middle}.purchased-upgrade-name-group .simple-tooltip-trigger{display:flex;align-items:center;flex-shrink:0}.purchased-upgrade-name{font-size:var(--font-sm);color:var(--text-primary);opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchased-upgrades-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--color-disabled);font-style:italic;font-size:var(--font-base)}.purchased-upgrades-list-virtualized{width:100%;flex:1;min-height:0}.purchased-upgrades-scroll-container{scrollbar-width:thin;scrollbar-color:rgba(16,185,129,.4) rgba(0,0,0,.3)}.purchased-upgrades-scroll-container::-webkit-scrollbar{width:var(--space-md)}.purchased-upgrades-scroll-container::-webkit-scrollbar-track{background:#0000004d;border-radius:var(--radius-corners)}.purchased-upgrades-scroll-container::-webkit-scrollbar-thumb{background:#10b98166;border-radius:var(--radius-corners)}.purchased-upgrades-scroll-container::-webkit-scrollbar-thumb:hover{background:#10b98199}.purchased-upgrade-item-wrapper{display:flex;align-items:center;padding:0 var(--space-xs) var(--space-xs) 0}.purchased-upgrade-item-wrapper .info-tooltip-trigger{display:block;width:100%}.purchased-upgrade-item-wrapper:last-child{padding-bottom:0}.purchased-upgrade-tooltip{display:flex;flex-direction:column;gap:var(--space-md);min-width:200px;max-width:300px}.purchased-upgrade-tooltip__name{font-weight:700;font-size:var(--font-base);color:#10b981}.purchased-upgrade-tooltip__cost{display:flex;flex-wrap:wrap;gap:var(--space-md)}.purchased-upgrade-tooltip__cost-item{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-sm);color:var(--text-dim)}.purchased-upgrade-tooltip__description{font-size:var(--font-sm);color:var(--text-dim);line-height:1.4}.victory-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-spotlight)}.victory-modal-overlay.fade-in{animation:victoryModalFadeIn .3s ease-out forwards}.victory-modal-overlay.fade-out{animation:victoryModalFadeOut .3s ease-out forwards}@keyframes victoryModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes victoryModalFadeOut{0%{opacity:1}to{opacity:0}}.victory-modal-content{background-color:#0000008c;background-size:cover;background-position:center;background-repeat:no-repeat;background-blend-mode:darken;border:3px solid var(--color-map-theme);border-radius:var(--radius-corners);padding:32px 40px;box-shadow:0 8px 32px #0006;text-align:center;min-width:360px;max-width:720px;animation:victoryModalSlideUp .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes victoryModalSlideUp{0%{transform:translateY(30px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.fade-out .victory-modal-content{animation:victoryModalSlideDown .3s ease-out forwards}@keyframes victoryModalSlideDown{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-20px) scale(.95);opacity:0}}.victory-modal-header{margin-bottom:var(--space-3xl)}.victory-modal-title{font-size:var(--font-5xl);font-weight:700;color:var(--text-primary);text-shadow:0 0 15px rgba(76,175,80,.8),0 0 30px rgba(76,175,80,.4),0 2px 4px rgba(0,0,0,.8);letter-spacing:.5px}.victory-globes-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-xl);margin:var(--space-3xl) 0;min-height:90px}.victory-globe{width:90px;height:90px;object-fit:contain;opacity:0}.victory-globe.animate{animation:victoryGlobeFadeIn .3s ease-out forwards}@keyframes victoryGlobeFadeIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.victory-globe-cap-message{margin:var(--space-3xl) 0;padding:var(--space-xl);background:#ff980026;border:2px solid #ff9800;border-radius:var(--radius-corners);color:var(--text-primary);font-size:var(--font-lg);font-weight:600;text-align:center}.victory-highlight-globes{color:var(--worldtree-crimson)}.victory-highlight-alchemy{color:var(--alchemy-green)}.victory-modal-body{margin-bottom:28px}.victory-modal-message{font-size:var(--font-lg);color:var(--text-primary);line-height:1.6;max-width:550px;margin:0 auto;text-align:center}.victory-modal-message+.victory-modal-message{margin-top:var(--space-md)}.victory-modal-buttons{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);justify-items:center}.victory-modal-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-3xl);font-size:var(--font-md);font-weight:600;border:2px solid var(--color-map-theme);border-radius:var(--radius-button);cursor:var(--cursor-pointer);transition:all .2s ease;white-space:nowrap;width:100%}.victory-modal-button.primary,.victory-modal-button.secondary{color:var(--text-primary);background:color-mix(in srgb,var(--color-map-fog) 50%,transparent);box-shadow:0 2px 8px #0006,inset 0 1px #ffffff1a}.victory-modal-button.primary:hover,.victory-modal-button.secondary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000080,inset 0 1px #ffffff26}.victory-modal-button.primary:active,.victory-modal-button.secondary:active{transform:translateY(0);box-shadow:0 2px 8px #0006,inset 0 1px #ffffff1a}.victory-modal-button.secondary:active{transform:translateY(0);box-shadow:0 2px 6px #0006,inset 0 1px #ffffff1a}.victory-modal-button .globe-icon{width:16px;height:16px;vertical-align:middle;display:inline-block}@media(max-width:959px){.victory-globes-container,.victory-globe-cap-message{display:none}.victory-modal-buttons{grid-template-columns:1fr}}@media(max-width:599px){.victory-modal-content{min-width:300px;max-width:calc(100vw - 32px);padding:var(--space-3xl) var(--space-2xl);margin:0 var(--space-xl)}.victory-modal-title{font-size:var(--font-4xl)}.victory-modal-message{font-size:var(--font-md)}.victory-globes-container{gap:var(--space-lg)}.victory-globe{width:70px;height:70px}.victory-modal-buttons{flex-direction:column;width:100%}.victory-modal-button{width:100%;padding:14px 20px;font-size:var(--font-md)}.victory-globe-cap-message{font-size:var(--font-md);padding:var(--space-lg)}}.wisdom-tile-tooltip{max-width:300px;z-index:var(--z-top);animation:wisdomTooltipFadeIn .15s ease-out}.wisdom-tile-tooltip-content{background:#000000f2;border:1px solid var(--color-map-theme);color:var(--text-primary);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-button);font-size:var(--font-md);line-height:1.5;word-wrap:break-word;display:flex;flex-direction:column;gap:var(--space-sm)}.wisdom-tile-tooltip-name{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-2xl);font-weight:700;color:var(--text-primary)}.wisdom-tile-tooltip-name-icon{height:1em;width:auto;flex-shrink:0}.wisdom-tile-tooltip-desc{font-size:var(--font-md)}.wisdom-tile-tooltip-footer{font-size:var(--font-md);color:var(--text-secondary)}.wisdom-tile-tooltip-cost{color:var(--wisdom-lightest)}.wisdom-tile-tooltip-arrow{position:absolute;left:50%;transform:translate(-50%);width:0;height:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.wisdom-tile-tooltip--top .wisdom-tile-tooltip-arrow{bottom:-6px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #1a1a1aee}.wisdom-tile-tooltip--bottom .wisdom-tile-tooltip-arrow{top:-6px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #1a1a1aee}@keyframes wisdomTooltipFadeIn{0%{opacity:0}to{opacity:1}}.wisdom-grid{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg)}.wisdom-grid-row{display:flex;gap:var(--space-md);justify-content:center}.wisdom-grid-tile{width:120px;height:120px;border-radius:var(--radius-button);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md);position:relative;transition:all .2s ease;border:2px solid;background:#0000004d;overflow:hidden}.wisdom-tile-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:88px;height:88px;object-fit:contain;opacity:.4;z-index:var(--z-base);pointer-events:none}.wisdom-tile-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);text-align:center;width:100%;z-index:var(--z-content);position:relative}.wisdom-tile-name{display:none}.wisdom-tile-cost{font-size:32px;font-weight:700;letter-spacing:0;margin:0;text-shadow:0 0 3px rgba(0,0,0,1),0 0 6px rgba(0,0,0,.9),0 0 9px rgba(0,0,0,.7),0 0 12px rgba(0,0,0,.5)}.wisdom-tile-locked{border-color:#3f3f46;background:#00000080;opacity:.85;cursor:var(--cursor-not-allowed);color:var(--text-primary)}.wisdom-tile-locked .wisdom-tile-icon{opacity:.25;filter:grayscale(80%)}.wisdom-tile-locked .wisdom-tile-cost{color:#991b1b}.wisdom-tile-unlockable-affordable{border-color:var(--wisdom-primary);background:#0006;color:var(--wisdom-lightest);cursor:var(--cursor-pointer);box-shadow:0 0 12px var(--wisdom-shadow)}.wisdom-tile-unlockable-affordable:hover{border-color:var(--wisdom-light);background:#0000004d;box-shadow:0 0 20px var(--wisdom-glow);transform:scale(1.05)}.wisdom-tile-unlockable-affordable .wisdom-tile-cost{color:var(--wisdom-lightest)}.wisdom-tile-unlockable-affordable .wisdom-tile-icon{opacity:.5;filter:drop-shadow(0 0 8px var(--wisdom-shadow))}.wisdom-tile-unlockable-unaffordable{border-color:#9ca3af;border-width:3px;background:#00000080;color:#b0b5bd;cursor:var(--cursor-pointer);opacity:.85;box-shadow:0 0 8px #9ca3af4d}.wisdom-tile-unlockable-unaffordable:hover{border-color:#d1d5db;opacity:.95;transform:scale(1.02);box-shadow:0 0 12px #9ca3af80}.wisdom-tile-unlockable-unaffordable .wisdom-tile-cost .cost-unaffordable{color:var(--color-error)}.wisdom-tile-unlockable-unaffordable .wisdom-tile-icon{opacity:.3}.wisdom-tile-purchased{border-color:var(--color-map-theme);border-width:3px;background:#0006;color:var(--worldtree-green-light);cursor:var(--cursor-default);box-shadow:0 0 16px var(--color-map-theme-shadow)}.wisdom-tile-purchased .wisdom-tile-icon{opacity:.6;filter:drop-shadow(0 0 8px rgba(16,185,129,.4))}.wisdom-tile-purchased .owned-badge{color:var(--color-map-theme);font-weight:600;font-size:var(--font-sm)}.wisdom-tile-purchased-indicator{position:absolute;top:var(--space-sm);right:var(--space-sm);width:16px;height:16px;background:var(--color-map-theme);border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:10px;font-weight:700;z-index:var(--z-content)}.wisdom-tile-automation-badge{position:absolute;top:var(--space-sm);left:var(--space-sm);width:20px;height:20px;background-image:url(/idle-squares/assets/icons/automation_icon.png);background-size:contain;background-repeat:no-repeat;background-position:center;filter:brightness(.85);z-index:var(--z-content)}.wisdom-tile-not-implemented{border-color:#374151;background:#0009;color:#6b7280;cursor:var(--cursor-not-allowed);opacity:.5}.wisdom-tile-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.coming-soon-icon{font-size:32px;color:#4b5563;line-height:1}.coming-soon-text{font-size:11px;color:#6b7280;font-style:italic}.wisdom-tile-empty{border-color:#374151;background:#0009;color:#6b7280;cursor:var(--cursor-not-allowed);font-size:24px}.wisdom-grid-tile.clickable{cursor:var(--cursor-pointer)}@media(max-width:959px){.wisdom-grid-tile{width:90px;height:90px;padding:var(--space-sm)}.wisdom-tile-icon{width:64px;height:64px}.wisdom-tile-name{display:none}.wisdom-tile-cost{font-size:24px}.wisdom-grid,.wisdom-grid-row{gap:var(--space-sm)}.wisdom-tile-automation-badge{width:14px;height:14px}}@media(max-width:599px){.wisdom-grid-tile{width:70px;height:70px}.wisdom-tile-icon{width:50px;height:50px}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.wisdom-balance-display{display:flex;align-items:center;gap:var(--space-md)}.wisdom-balance-display .wisdom-icon{width:24px;height:24px;filter:drop-shadow(0 0 4px rgba(99,102,241,.6))}.wisdom-balance-display .wisdom-amount{font-size:var(--font-xl);font-weight:700;color:#a5b4fc}.wisdom-balance-display .wisdom-label{font-size:var(--font-base);color:var(--text-primary)}.wisdom-balance-display .wisdom-spent{font-size:var(--font-sm);color:#6b7280;font-style:italic;margin-left:var(--space-xs)}.wisdom-balance-display .wisdom-pending{font-size:var(--font-base);color:#10b981;font-weight:600;margin-left:var(--space-md)}.wisdom-grid-modal-title-centered{padding:var(--space-xl) var(--space-2xl) var(--space-md) var(--space-2xl);text-align:center}.wisdom-grid-modal-title-centered h2{margin:0;font-size:var(--font-3xl);color:#c7d2fe;text-shadow:0 0 10px rgba(99,102,241,.5)}.wisdom-grid-main-content{display:flex;gap:var(--space-2xl);flex:1;overflow-y:auto;align-items:flex-start;flex-wrap:wrap}.wisdom-grid-container-left{flex-shrink:0;display:flex;justify-content:center;align-items:flex-start}.wisdom-grid-description-panel{flex:1;display:flex;flex-direction:column;gap:var(--space-xl);min-width:300px}.wisdom-points-display-large{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;background:linear-gradient(135deg,#6366f133,#818cf826);border:2px solid rgba(99,102,241,.5);border-radius:var(--radius-corners);box-shadow:0 4px 12px #6366f14d;padding:var(--space-lg)}.wisdom-full-grid-info{margin-top:var(--space-md);font-size:var(--font-base);color:var(--text-primary);text-align:center;line-height:1.4}.wisdom-full-grid-info--danger{color:var(--color-danger)}.wisdom-points-number{font-size:var(--font-5xl);font-weight:700;color:#c7d2fe;text-shadow:0 0 12px rgba(99,102,241,.6);line-height:1;display:flex;align-items:baseline;gap:var(--space-lg)}.wisdom-points-label{font-size:var(--font-base);color:var(--text-primary);margin-top:var(--space-md);text-transform:uppercase;letter-spacing:1px}.wisdom-points-pending{font-size:var(--font-4xl);color:#10b981;font-weight:700;text-shadow:0 0 8px rgba(16,185,129,.4)}.wisdom-grid-description-text{display:flex;flex-direction:column;gap:var(--space-lg)}.wisdom-grid-description-text p{margin:0;font-size:var(--font-base);color:#d1d5db;line-height:1.6}.wisdom-icon-inline{width:16px;height:16px;vertical-align:middle;margin:0 2px;filter:drop-shadow(0 0 3px rgba(99,102,241,.5))}.automation-icon-inline{display:inline-block;width:20px;height:20px;background-image:url(/idle-squares/assets/icons/automation_icon.png);background-size:contain;background-repeat:no-repeat;background-position:center;filter:brightness(.85);vertical-align:middle;margin:0 4px}.wisdom-grid-explanation-banner{margin:var(--space-xl) var(--space-2xl);padding:var(--space-2xl);background:linear-gradient(135deg,#6366f126,#818cf81a);border:2px solid rgba(99,102,241,.4);border-radius:var(--radius-corners);box-shadow:0 4px 12px #6366f133}.wisdom-grid-main-content::-webkit-scrollbar{width:var(--space-md)}.wisdom-grid-main-content::-webkit-scrollbar-track{background:#0003;border-radius:var(--radius-corners)}.wisdom-grid-main-content::-webkit-scrollbar-thumb{background:#6366f166;border-radius:var(--radius-corners)}.wisdom-grid-main-content::-webkit-scrollbar-thumb:hover{background:#6366f199}.purchase-confirm-overlay--wisdom{--pc-overlay-position: absolute;--pc-overlay-z: var(--z-above-content);--pc-overlay-bg: rgba(0, 0, 0, .8);--pc-border-color: var(--color-map-theme);--pc-title-color: #c7d2fe;--pc-confirm-bg: #10b981;--pc-confirm-bg-hover: #059669}@keyframes buttonClick{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes shimmer{0%{box-shadow:inset 0 0 10px #fff0}50%{box-shadow:inset 0 0 20px #ffffff4d}to{box-shadow:inset 0 0 10px #fff0}}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes floatingGainAnimation{0%{transform:translateY(0) scale(.5);opacity:1}4%{transform:translateY(-3px) scale(1);opacity:1}70%{transform:translateY(-35px) scale(1);opacity:1}to{transform:translateY(-50px) scale(1);opacity:0}}.floating-gain-number{font-weight:700;font-size:1.1rem;color:#4caf50;text-shadow:-1px -1px 0 rgba(255,255,255,.3),1px -1px 0 rgba(255,255,255,.3),-1px 1px 0 rgba(255,255,255,.3),1px 1px 0 rgba(255,255,255,.3),0 0 8px rgba(76,175,80,.8),0 0 4px rgba(76,175,80,.6);animation:floatingGainAnimation 2.7s ease-out forwards;will-change:transform,opacity;z-index:var(--z-tooltip);-webkit-user-select:none;user-select:none}.floating-gain-number--wisdom{z-index:var(--z-floating)}.floating-gain-number--worldtree{z-index:var(--z-floating);color:#dc143c;text-shadow:-1px -1px 0 rgba(255,255,255,.3),1px -1px 0 rgba(255,255,255,.3),-1px 1px 0 rgba(255,255,255,.3),1px 1px 0 rgba(255,255,255,.3),0 0 8px rgba(220,20,60,.8),0 0 4px rgba(220,20,60,.6)}@keyframes upgradePurchaseSweep{0%{transform:translate(-100%) skew(-20deg)}to{transform:translate(200%) skew(-20deg)}}.wisdom-panel{width:363px;background:linear-gradient(135deg,#2a1a3d 0%,var(--bg-panel-dark) 100%);border:2px solid var(--color-map-theme);border-radius:var(--radius-corners);padding:var(--space-xl);margin:0;color:var(--text-primary);box-shadow:0 0 15px var(--color-map-theme-shadow);animation:panelSlideUp .6s ease-out;flex-shrink:0}.wisdom-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid rgba(99,102,241,.5)}.wisdom-header h2{margin:0;color:var(--wisdom-primary);font-size:var(--font-xl)}.wisdom-header-balance{margin-left:var(--space-xs)}.wisdom-stats{display:flex;gap:var(--space-xl);margin-bottom:var(--space-lg)}.wisdom-stats .stat{display:flex;align-items:center;gap:var(--space-sm)}.wisdom-stats .label{font-size:var(--font-sm);color:var(--text-tertiary)}.wisdom-stats .value{font-size:var(--font-md);font-weight:700;color:var(--wisdom-primary)}.wisdom-icon{width:20px;height:20px;object-fit:contain}.wisdom-main{display:flex;flex-direction:column;gap:var(--space-lg);margin-bottom:var(--space-xl)}.wisdom-info{background:#0000004d;padding:10px;border-radius:var(--radius-button);border-left:3px solid var(--wisdom-primary)}.currency-preview{display:flex;justify-content:space-between;align-items:center}.currency-amount{font-size:var(--font-md);font-weight:700;color:#666}.currency-amount.has-gain{color:#fbbf24}.wisdom-progress{margin-top:var(--space-lg)}.wisdom-progress-no-gain .progress-bar-label{color:var(--color-warning);font-size:var(--font-md)}.wisdom-progress-orange .progress-bar{height:1rem;border-radius:var(--radius-button);border-color:#f59e0b4d}.wisdom-progress-orange .progress-bar-fill{background:linear-gradient(180deg,#fcd34d,#f59e0b 40%,#d97706 60%,#b45309);box-shadow:0 0 8px #f59e0b80,inset 0 1px #ffffff4d}.max-wisdom-reached{margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-button);color:var(--color-success);font-size:var(--font-md);font-weight:500;text-align:center}.wisdom-button{width:100%;padding:var(--space-lg) var(--space-xl);border:2px solid var(--wisdom-shadow);border-radius:var(--radius-button);font-size:var(--font-md);font-weight:600;cursor:var(--cursor-pointer);transition:all .2s ease;background:var(--wisdom-bg);color:#999;box-shadow:0 2px 8px var(--wisdom-shadow)}.wisdom-button.has-gain{background:#f59e0b;color:var(--text-primary);border:2px solid var(--color-warning)}.wisdom-button.has-gain:hover{background:#d97706;transform:translateY(-2px);box-shadow:0 4px 16px #f59e0b80}.wisdom-button:active{transform:translateY(0);box-shadow:0 2px 8px var(--wisdom-shadow)}.wisdom-upgrades-section,.purchased-upgrades-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--wisdom-shadow)}.wisdom-upgrades-section h3,.purchased-upgrades-section h3{margin:0 0 10px;font-size:var(--font-base);color:var(--wisdom-primary);font-weight:500}.wisdom-upgrade-item{background:var(--wisdom-bg);border:1px solid var(--wisdom-shadow);border-radius:var(--radius-corners);padding:10px;transition:all .2s}.wisdom-upgrade-item.affordable{cursor:var(--cursor-pointer)}.wisdom-upgrade-item.affordable:hover{border-color:var(--wisdom-primary);background:#6366f133;transform:translate(2px)}.wisdom-upgrade-item.not-affordable{opacity:.6}.wisdom-upgrade-item.purchased{border-color:var(--color-success);background:#4ade801a}.wisdom-upgrade-item .upgrade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.upgrade-name{font-size:var(--font-md);font-weight:500;color:var(--text-primary)}.upgrade-cost{font-size:var(--font-md);font-weight:500;color:var(--color-warning)}.upgrade-cost.cannot-afford{color:#666}.upgrade-description{font-size:var(--font-xs);color:var(--text-tertiary)}.wisdom-locked{text-align:center;padding:var(--space-xl)}.wisdom-locked p{margin:0;font-size:var(--font-lg);color:var(--text-primary)}.wisdom-confirmation{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#2a1a3d,#1a1a2e);border:2px solid #fbbf24;border-radius:var(--radius-corners);padding:var(--space-xl);z-index:var(--z-above-content);animation:fadeIn .2s ease-out;display:flex;flex-direction:column}.wisdom-confirmation h3{margin:0 0 12px;color:#fbbf24;font-size:var(--font-md);flex-shrink:0}.confirmation-content{background:#0000004d;padding:var(--space-lg);border-radius:var(--radius-corners);margin-bottom:var(--space-lg);flex:1}.confirmation-content p{margin:var(--space-sm) 0;font-size:var(--font-base)}.wisdom-gain-text{color:#fbbf24;font-weight:500}.confirmation-content strong{color:#fbbf24}.confirmation-content ul{margin:var(--space-md) 0 0 0;padding-left:var(--space-2xl);font-size:var(--font-base)}.confirmation-content li{margin:var(--space-xs) 0;color:var(--text-primary)}.persist-note{color:#fbbf24!important;font-weight:500;margin-top:var(--space-lg)!important}.confirmation-buttons{display:flex;gap:var(--space-md);flex-shrink:0}.confirm-button,.cancel-button{flex:1;padding:10px 16px;border:none;border-radius:var(--radius-button);font-size:var(--font-base);font-weight:500;cursor:var(--cursor-pointer);transition:all .2s}.confirm-button{background:#10b981;color:var(--text-primary)}.confirm-button:hover:not(:disabled){background:#059669;transform:translateY(-2px)}.cancel-button{background:#6366f133;color:#6366f1;border:1px solid #6366f1}.cancel-button:hover{background:#6366f14d}.wisdom-grid-button{width:100%;padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-lg);background:#6366f1;border:2px solid #818cf8;border-radius:var(--radius-button);display:flex;align-items:center;gap:var(--space-lg);cursor:var(--cursor-pointer);transition:all .2s ease;box-shadow:0 2px 8px #6366f14d}.wisdom-grid-button:hover{background:#818cf8;border-color:#a5b4fc;transform:translateY(-2px);box-shadow:0 4px 16px #6366f180}.wisdom-grid-button:active{transform:translateY(0);box-shadow:0 2px 8px #6366f14d}.wisdom-button-icon{width:28px;height:28px;filter:drop-shadow(0 0 4px rgba(255,255,255,.5))}.wisdom-button-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2xs)}.wisdom-button-label{font-size:var(--font-md);font-weight:600;color:var(--text-primary)}.wisdom-button-arrow{font-size:var(--font-icon);color:var(--text-primary);font-weight:700;transition:transform .2s ease}.wisdom-grid-button:hover .wisdom-button-arrow{transform:translate(4px)}.wisdom-content-wrapper{position:relative;height:100%}.hidden-interactive{visibility:hidden;pointer-events:none}.wisdom-grid-button.disabled-after-completion{filter:grayscale(100%);opacity:.6;cursor:var(--cursor-not-allowed);pointer-events:none}.wisdom-grid-button.disabled-after-completion .wisdom-button-label{text-decoration:line-through}.wisdom-button.disabled{filter:grayscale(100%);opacity:.6;cursor:var(--cursor-not-allowed);text-decoration:line-through}@keyframes animate{0%{transform:translateY(0) rotate(0);opacity:.3}75%{opacity:.3}to{transform:translateY(var(--particle-translate)) rotate(var(--particle-rotation));opacity:0}}.moving-background{position:fixed;width:100vw;height:100vh;top:0;left:0;margin:0;padding:0;overflow:hidden;z-index:0}.static-background{position:fixed;width:100vw;height:100vh;top:0;left:0;margin:0;padding:0;z-index:0}.moving-background__particle{position:absolute;display:block;left:var(--particle-left);width:var(--particle-size);height:var(--particle-size);bottom:var(--particle-bottom);animation:animate var(--particle-duration) linear infinite;animation-delay:var(--particle-delay)}.stat-icon{width:1em;height:1em;vertical-align:middle;display:inline-block}@font-face{font-family:GameFont;src:url(/idle-squares/assets/fonts/IMMORTAL.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--font-primary: "GameFont", Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;--panel-gap: var(--space-md);--section-gap: var(--space-md);--button-gap: var(--space-md);--layout-grid-columns: var(--section-gap) auto var(--section-gap);--center-game-max-width: 1800px;--radius-circle: 50%;--radius-corners: 18px 0px;--radius-button: 7px 0px;--radius-cost: var(--radius-button);--color-map-theme: #10b981;--color-map-theme-shadow: rgba(16, 185, 129, .3);--color-map-progress-text: #c2edd8;--font-xs: .625rem;--font-sm: .75rem;--font-base-sm: .8125rem;--font-base: .875rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.75rem;--font-4xl: 2rem;--font-5xl: 3rem;--font-icon: 1.25rem;--journal-bg: #f4e4bc;--journal-bg-dark: #e8d4a8;--journal-ink: #2c1810;--journal-ink-light: #5a3a2a;--journal-crimson: #a83f39;--journal-crimson-dark: #7a2c28;--journal-gold: #c9a227;--journal-text-muted: #6b5a4a;--journal-border: #8b7355;--journal-border-light: #b8a88a;--alchemy-green: #39ff14;--alchemy-green-light: #7fff00;--alchemy-green-dark: #228b22;--alchemy-green-glow: rgba(57, 255, 20, .4);--alchemy-bg: #0a1a0a;--alchemy-bg-dark: #050d05;--alchemy-text-primary: #e8ffea;--alchemy-text-secondary: #b8d8ba;--alchemy-stat-manual: #1e90ff;--alchemy-stat-passive: #39ff14;--alchemy-stat-auto: #ffd700;--alchemy-stat-map-completion: #cc5500;--menu-blue: #2196f3;--menu-blue-light: #64b5f6;--menu-blue-dark: #003366;--menu-blue-darker: #001f3d;--menu-blue-darkest: #002b4d;--menu-blue-shadow: rgba(33, 150, 243, .3);--menu-blue-border-dim: rgba(33, 150, 243, .4);--bg-modal-dimmer: rgba(0, 0, 0, .75);--bg-menu-dialog: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .4);--menu-btn-secondary-bg: rgba(0, 0, 0, .3);--menu-btn-secondary-bg-hover: rgba(0, 0, 0, .5);--wisdom-primary: #6366f1;--wisdom-light: #818cf8;--wisdom-lightest: #c7d2fe;--wisdom-shadow: rgba(99, 102, 241, .3);--wisdom-glow: rgba(99, 102, 241, .6);--wisdom-bg: rgba(99, 102, 241, .15);--achievement-gold: #ffc107;--achievement-gold-light: #ffd54f;--worldtree-crimson: #dc143c;--worldtree-crimson-light: #ff5070;--worldtree-gold: #ffd700;--worldtree-green: #10b981;--worldtree-green-light: #6ee7b7;--worldtree-grey: #9ca3af;--worldtree-grey-dark: #4b5563;--color-resource-highlight: #ff8c00;--bg-base: #242424;--bg-panel: #1a1a1a;--bg-panel-dark: #1a1a2e;--bg-panel-elevated: #2a2a2a;--bg-overlay: #0a0a1a;--bg-deep-darker: #1a2a3d;--bg-button: #1a1a1a;--border-default: #444;--border-subtle: #333;--text-primary: #eee;--text-dim: #ccc;--text-tertiary: #a0a0a0;--color-danger: #ff6b6b;--color-danger-muted: rgba(255, 107, 107, .1);--color-danger-shadow: rgba(255, 107, 107, .3);--color-disabled: #888;--color-success: #4ade80;--color-warning: #eab308;--color-error: #ef4444;--color-locked: #ff9999;--color-success-dark: #4a4;--color-success-light: #6c6;--z-base: 1;--z-content: 2;--z-fill: 5;--z-above-content: 10;--z-tooltip: 100;--z-floating: 110;--z-modal: 1000;--z-spotlight: 9999;--z-top: 10000;--space-2xs: 2px;--space-xs: 4px;--space-sm: 6px;--space-md: 8px;--space-lg: 12px;--space-xl: 16px;--space-2xl: 20px;--space-3xl: 24px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--cursor-default: url(/idle-squares/assets/icons/mouse/gauntlet_default.svg) 3 3, default;--cursor-pointer: url(/idle-squares/assets/icons/mouse/gauntlet_point.svg) 3 3, pointer;--cursor-grab: url(/idle-squares/assets/icons/mouse/gauntlet_open.svg) 16 16, grab;--cursor-grabbing: url(/idle-squares/assets/icons/mouse/gauntlet_grabbing.svg) 16 16, grabbing;--cursor-help: url(/idle-squares/assets/icons/mouse/mark_question.svg) 16 16, help;--cursor-not-allowed: url(/idle-squares/assets/icons/mouse/disabled.svg) 16 16, not-allowed;font-family:var(--font-primary);line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text-primary);background-color:var(--bg-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:var(--cursor-default)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:root.no-custom-cursor{--cursor-default: default;--cursor-pointer: pointer;--cursor-grab: grab;--cursor-grabbing: grabbing;--cursor-help: help;--cursor-not-allowed: not-allowed}#root{width:100%;height:100vh}button{border-radius:var(--radius-button);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-button);cursor:var(--cursor-pointer);transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
