.home{min-height:100vh;display:flex;flex-direction:column;background-color:#2a1c10;position:relative;overflow:hidden}.rune-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.rune-bg-glyph{position:absolute;font-family:serif;line-height:1;color:#2a1c10;text-shadow:0 1px 0 rgba(255,235,200,.03),0 -1px 0 rgba(0,0,0,.3);opacity:0;transition:opacity .12s ease-in,color .12s ease-in,text-shadow .12s ease-in}.rune-bg-glyph.visible{opacity:1;color:#1e140a;text-shadow:0 1px 0 rgba(255,235,200,.05),0 -1px 0 rgba(0,0,0,.5);transition:opacity .15s ease-out,color .15s ease-out,text-shadow .15s ease-out}.engraved{color:#1e140a;text-shadow:0 1px 0 rgba(255,235,200,.07),0 -1px 0 rgba(0,0,0,.4)}.engraved-lit{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.18),0 -1px 0 rgba(0,0,0,.45),0 0 6px rgba(70,140,200,.15)}.home-account{position:absolute;top:20px;right:24px;display:flex;align-items:center;gap:16px;z-index:10}.home-email{font-family:Cormorant Garamond,serif;font-size:14px;font-weight:500;color:#3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.06)}.engraved-link{font-family:Cinzel,serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:0;background:none;border:none;color:#3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.35);cursor:pointer;transition:color .2s,text-shadow .2s}.engraved-link:hover{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.2),0 -1px 0 rgba(0,0,0,.45),0 0 8px rgba(70,140,200,.2)}.home-login{position:absolute;top:52px;right:24px;width:280px;padding:24px;background:#241808;border:1px solid #3a2a18;z-index:20}.home-login-title{font-family:Cinzel,serif;font-size:14px;font-weight:600;letter-spacing:2px;color:#3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.06);text-align:center;margin-bottom:18px;text-transform:uppercase}.home-login-form{display:flex;flex-direction:column;gap:12px}.home-login-form label{display:flex;flex-direction:column;gap:4px}.home-login-form label span{font-family:Cinzel,serif;font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.05)}.home-login-form input{font-family:Cormorant Garamond,serif;font-size:15px;font-weight:500;padding:8px 10px;background:#1e1208;border:1px solid #3a2a18;color:#4a7a98;outline:none;transition:border-color .2s}.home-login-form input::placeholder{color:#2e2010}.home-login-form input:focus{border-color:#4a8ab0}.home-login-error{font-family:Cormorant Garamond,serif;font-size:13px;color:#a04030;padding:6px 0}.home-login-submit{font-family:Cinzel,serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:10px;background:none;border:1px solid #3a2a18;color:#3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.06);cursor:pointer;transition:color .2s,text-shadow .2s}.home-login-submit:hover{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.2),0 -1px 0 rgba(0,0,0,.45),0 0 8px rgba(70,140,200,.2)}.home-login-submit:disabled{opacity:.4;cursor:not-allowed}.home-login-toggle{display:block;width:100%;margin-top:14px;font-family:Cormorant Garamond,serif;font-size:13px;font-weight:500;color:#3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.04);background:none;border:none;cursor:pointer;text-align:center;transition:color .2s}.home-login-toggle:hover{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.15),0 -1px 0 rgba(0,0,0,.45),0 0 6px rgba(70,140,200,.12)}.home-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 24px 28px;position:relative;z-index:1}.home-title{font-family:Cinzel,serif;font-size:60px;font-weight:700;letter-spacing:16px;margin:0;line-height:1;display:flex;justify-content:center;color:#1e140a;text-shadow:0 2px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.5)}.title-letter{display:inline-block;position:relative;overflow:hidden;height:1.1em;vertical-align:top}.title-letter-latin,.title-letter-rune{display:block;transition:transform .4s ease,opacity .4s ease}.title-letter-latin{opacity:1;transform:translateY(0)}.title-letter-rune{position:absolute;top:0;left:0;width:100%;text-align:center;opacity:0;transform:translateY(60%)}.title-letter.runic .title-letter-latin{opacity:0;transform:translateY(-60%)}.title-letter.runic .title-letter-rune{opacity:1;transform:translateY(0)}.home-tagline{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:400;font-style:italic;letter-spacing:5px;color:#1e140a;text-shadow:0 1px 0 rgba(255,235,200,.05),0 -1px 0 rgba(0,0,0,.35);margin-top:8px}.home-rule{width:120px;height:1px;background:#1e140a;box-shadow:0 1px #ffebc80f;margin:28px 0 32px}.home-classes{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:640px;margin-bottom:36px}.home-section-title{font-family:Cinzel,serif;font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:#1e140a;text-shadow:0 1px 0 rgba(255,235,200,.05),0 -1px 0 rgba(0,0,0,.35)}.home-class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;width:100%}@media (max-width: 640px){.home-class-grid{grid-template-columns:repeat(2,1fr)}.home-title{font-size:38px;letter-spacing:10px}}.home-class-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 12px;background:none;border:none;cursor:pointer;text-align:center;transition:all .2s}.home-class-name{font-family:Cinzel,serif;font-size:16px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#1e140a;text-shadow:0 1px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.4);transition:color .2s,text-shadow .2s}.home-class-desc{font-family:Cormorant Garamond,serif;font-size:14px;font-weight:400;color:#1e140a;text-shadow:0 1px 0 rgba(255,235,200,.04),0 -1px 0 rgba(0,0,0,.3);line-height:1.3;transition:color .2s,text-shadow .2s}.home-class-card:hover .home-class-name{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.2),0 -1px 0 rgba(0,0,0,.45),0 0 8px rgba(70,140,200,.2)}.home-class-card:hover .home-class-desc{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.12),0 -1px 0 rgba(0,0,0,.4),0 0 6px rgba(70,140,200,.12)}.home-class-card.active .home-class-name{color:#152535;text-shadow:0 1px 0 rgba(80,160,220,.25),0 -1px 0 rgba(0,0,0,.45),0 0 10px rgba(70,140,200,.3)}.home-class-card.active .home-class-desc{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.18),0 -1px 0 rgba(0,0,0,.4),0 0 6px rgba(70,140,200,.18)}.home-play{font-family:Cinzel,serif;font-size:18px;font-weight:700;letter-spacing:6px;text-transform:uppercase;padding:0;background:none;border:none;color:#1e140a;text-shadow:0 2px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.5);cursor:pointer;transition:color .25s,text-shadow .25s}.home-play:hover{color:#152535;text-shadow:0 2px 0 rgba(80,160,220,.22),0 -1px 0 rgba(0,0,0,.5),0 0 12px rgba(70,140,200,.25)}.home-play:active{color:#101e2e}.home-play:disabled{opacity:.3;cursor:not-allowed}.home-nav{display:flex;justify-content:center;align-items:center;gap:32px;padding:20px;position:relative;z-index:1}.home-footer{text-align:center;padding-bottom:14px;position:relative;z-index:1;font-family:Cormorant Garamond,serif;font-size:11px;font-weight:400;color:#1e140a;text-shadow:0 1px 0 rgba(255,235,200,.03);letter-spacing:1px}.btn-primary{font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:10px 24px;background:none;border:1px solid #3a2a18;color:#3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.06);cursor:pointer;transition:color .2s,text-shadow .2s}.btn-primary:hover:not(:disabled){color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.2),0 -1px 0 rgba(0,0,0,.45),0 0 8px rgba(70,140,200,.2)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-small{font-family:Cinzel,serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:0;background:none;border:none;color:#3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.35);cursor:pointer;transition:color .2s,text-shadow .2s}.btn-small:hover{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.2),0 -1px 0 rgba(0,0,0,.45),0 0 8px rgba(70,140,200,.2)}.settings-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#1e1208d9;z-index:200}.settings-modal{width:100%;max-width:460px;max-height:80vh;background:#241808;border:1px solid #3a2a18;border-radius:2px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000080}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #3a2a18}.settings-header h2{font-family:Cinzel,serif;font-size:18px;font-weight:600;color:#3a2a18;letter-spacing:3px;text-shadow:0 1px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.35)}.close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid #3a2a18;border-radius:2px;font-size:18px;color:#5a4028;cursor:pointer}.close-btn:hover{color:#1a2535;border-color:#5a4028;text-shadow:0 0 6px rgba(70,140,200,.15)}.settings-content{flex:1;padding:20px;overflow-y:auto}.settings-section{margin-bottom:24px}.settings-section:last-child{margin-bottom:0}.section-title{font-family:Cinzel,serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#3a2a18;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #3a2a18;display:flex;justify-content:space-between;align-items:center;text-shadow:0 1px 0 rgba(255,235,200,.05),0 -1px 0 rgba(0,0,0,.3)}.terrain-reset-btn{font-family:Cormorant Garamond,serif;font-size:12px;padding:2px 10px;background:none;border:1px solid #3a2a18;border-radius:2px;color:#5a4028;cursor:pointer;letter-spacing:0;text-transform:none}.terrain-reset-btn:hover{color:#a04030;border-color:#a04030}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.setting-row label{font-family:Cormorant Garamond,serif;font-size:15px;color:#6a5030}.slider-container{display:flex;align-items:center;gap:10px}.slider-container input[type=range]{width:120px;height:3px;background:#3a2a18;border-radius:2px;outline:none;-webkit-appearance:none}.slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#8a7050;border-radius:50%;cursor:pointer}.slider-value{font-family:JetBrains Mono,monospace;font-size:11px;color:#5a4028;width:36px;text-align:right}.button-group{display:flex;gap:4px}.quality-btn{font-family:Cinzel,serif;font-size:11px;font-weight:600;padding:6px 12px;background:transparent;border:1px solid #3a2a18;border-radius:2px;color:#5a4028;cursor:pointer}.quality-btn:hover{color:#c8b89a}.quality-btn.active{border-color:#8a7050;color:#1a2535;text-shadow:0 0 6px rgba(70,140,200,.15)}.toggle-btn{font-family:Cinzel,serif;font-size:11px;font-weight:600;padding:6px 14px;background:transparent;border:1px solid #3a2a18;border-radius:2px;color:#5a4028;cursor:pointer;min-width:56px}.toggle-btn:hover{color:#c8b89a}.toggle-btn.active{border-color:#6b8a5e;color:#6b8a5e}.controls-info{display:flex;flex-direction:column;gap:6px}.control-row{display:flex;align-items:center;gap:12px}.control-row .key{font-family:JetBrains Mono,monospace;font-size:11px;padding:4px 10px;background:#1e1208;border:1px solid #3a2a18;border-radius:2px;color:#8a7050;min-width:72px;text-align:center}.control-row .action{font-size:14px;color:#6a5030}.settings-footer{padding:14px 20px;border-top:1px solid #3a2a18;display:flex;justify-content:center}.done-btn{font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:10px 32px;background:none;border:1px solid #3a2a18;border-radius:2px;color:#3a2a18;cursor:pointer;text-shadow:0 1px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.35);transition:color .2s,text-shadow .2s}.done-btn:hover{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.2),0 -1px 0 rgba(0,0,0,.45),0 0 8px rgba(70,140,200,.2)}.shop-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#10161ad9;z-index:200}.shop-modal{width:100%;max-width:600px;max-height:80vh;background:#1a2528;border:1px solid #24353a;border-radius:4px;display:flex;flex-direction:column;overflow:hidden}.shop-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #24353a}.shop-header h2{font-family:Cinzel,serif;font-size:18px;font-weight:600;color:#c2d1ca;letter-spacing:3px}.shop-content{flex:1;padding:20px;overflow-y:auto}.shop-error{font-size:14px;color:#9e5555;padding:10px 12px;background:#9e555514;border:1px solid rgba(158,85,85,.15);border-radius:3px;margin-bottom:16px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.shop-item{padding:16px;background:#141b1e;border:1px solid #24353a;border-radius:4px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s}.shop-item:hover:not(.owned){border-color:#34504a}.shop-item.owned{opacity:.5}.item-preview{height:60px;display:flex;align-items:center;justify-content:center;background:#111a1c;border-radius:3px}.preview-emoji{font-size:28px}.item-info{text-align:center}.item-name{font-family:Cinzel,serif;font-size:13px;font-weight:600;color:#c2d1ca;margin:0 0 2px}.item-type{font-size:11px;color:#4f6460;text-transform:uppercase;letter-spacing:1px}.item-action{margin-top:auto}.buy-btn{width:100%;font-family:Cinzel,serif;font-size:13px;font-weight:600;padding:8px;background:#24353a;border:1px solid #34504a;border-radius:3px;color:#c2d1ca;cursor:pointer;display:flex;align-items:center;justify-content:center}.buy-btn:hover:not(:disabled){background:#34504a}.buy-btn:disabled{opacity:.5;cursor:not-allowed}.spinner{width:14px;height:14px;border:2px solid #34504a;border-top-color:#5a9e80;border-radius:50%;animation:spin .8s linear infinite}.owned-badge{display:block;width:100%;text-align:center;font-family:Cinzel,serif;font-size:11px;font-weight:600;letter-spacing:2px;padding:8px;border:1px solid rgba(107,138,94,.3);border-radius:3px;color:#6b8a5e}.shop-footer{padding:14px 20px;border-top:1px solid #24353a}.shop-note{font-size:12px;font-style:italic;color:#2a3a3e;text-align:center;margin:0}.inventory-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#1e1208d9;z-index:200}.inventory-modal{width:100%;max-width:520px;max-height:80vh;background:#241808;border:1px solid #3a2a18;border-radius:2px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000080}.inventory-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #3a2a18}.inventory-header h2{font-family:Cinzel,serif;font-size:18px;font-weight:600;color:#3a2a18;letter-spacing:3px;text-shadow:0 1px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.35)}.inventory-content{flex:1;padding:20px;overflow-y:auto}.inventory-loading{font-size:14px;font-style:italic;color:#5a4028;text-align:center;padding:32px}.inventory-error{font-size:14px;color:#a04030;padding:10px 12px;background:#a0403014;border:1px solid rgba(160,64,48,.15);border-radius:2px;margin-bottom:16px}.inventory-section{margin-bottom:20px}.inventory-section .section-title{font-family:Cinzel,serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#3a2a18;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.05),0 -1px 0 rgba(0,0,0,.3)}.empty-section{text-align:center;padding:32px 16px}.empty-section p{font-size:14px;color:#5a4028;margin:0 0 4px}.empty-section .hint{font-size:13px;font-style:italic;color:#3a2a18}.inventory-grid{display:flex;flex-direction:column;gap:8px}.inventory-item{display:flex;align-items:center;gap:12px;padding:12px;background:#1e1208;border:1px solid #3a2a18;border-radius:2px}.inventory-item:hover{border-color:#5a4028}.inventory-item.equipped{border-color:#6b8a5e4d}.item-preview{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#180e04;border-radius:2px}.preview-icon{font-size:20px}.item-details{flex:1;display:flex;flex-direction:column;gap:2px}.item-name{font-family:Cinzel,serif;font-size:13px;font-weight:600;color:#a89070}.equipped-badge{font-size:11px;color:#6b8a5e}.equip-btn{font-family:Cinzel,serif;font-size:11px;font-weight:600;padding:6px 14px;background:transparent;border:1px solid #3a2a18;border-radius:2px;color:#5a4028;cursor:pointer;min-width:72px;display:flex;align-items:center;justify-content:center;transition:color .2s,text-shadow .2s}.equip-btn:hover:not(:disabled){color:#1a2535;border-color:#5a4028;text-shadow:0 0 6px rgba(70,140,200,.15)}.equip-btn:disabled{opacity:.4;cursor:not-allowed}.equip-btn.unequip{border-color:#6b8a5e4d;color:#6b8a5e}.inventory-item .spinner{width:12px;height:12px;border:2px solid #3a2a18;border-top-color:#c49a6c;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.inventory-footer{padding:14px 20px;border-top:1px solid #3a2a18}.inventory-stats{font-family:JetBrains Mono,monospace;font-size:11px;color:#3a2a18;text-align:center}.game-loader{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#2a1c10;z-index:1000;transition:opacity .5s ease-out}.game-loader.fade-out{opacity:0;pointer-events:none}.gl-title{font-family:Cinzel,serif;font-size:32px;font-weight:700;letter-spacing:8px;color:#1e140a;text-shadow:0 2px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.5)}.gl-bar-track{width:240px;height:2px;background:#1e140a;overflow:hidden}.gl-bar-fill{height:100%;background:#4a8ab0;transition:width .3s ease}.gl-info{display:flex;justify-content:space-between;width:240px}.gl-label{font-family:Cormorant Garamond,serif;font-size:14px;font-style:italic;color:#3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.04);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.gl-pct{font-family:JetBrains Mono,monospace;font-size:12px;color:#3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.04)}.interaction-prompt{position:fixed;bottom:120px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 20px;background:#241808eb;border:1px solid #3a2a18;border-radius:2px;pointer-events:none;z-index:150;animation:prompt-fade-in .2s ease-out;box-shadow:inset 0 1px #ffebc80a}@keyframes prompt-fade-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.interaction-prompt__key{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#3a2a18;border:1px solid #4a3820;border-radius:2px;color:#c8b89a;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;flex-shrink:0;text-shadow:0 -1px 0 rgba(0,0,0,.4)}.interaction-prompt__text{display:flex;flex-direction:column}.interaction-prompt__label{font-family:Cinzel,serif;font-size:15px;color:#c8b89a;font-weight:600;line-height:1.2;text-shadow:0 1px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.3)}.interaction-prompt__subtitle{font-family:Cormorant Garamond,serif;font-size:12px;color:#8a7050;line-height:1.3}.building-panel-overlay{position:fixed;inset:0;z-index:200;display:flex;justify-content:flex-end;background:#1e120859;animation:overlay-fade-in .15s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.building-panel{width:420px;max-width:90vw;height:100vh;background:#241808;border-left:1px solid #3a2a18;display:flex;flex-direction:column;animation:panel-slide-in .2s ease-out;overflow:hidden;box-shadow:-4px 0 24px #0006}@keyframes panel-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.building-panel__header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 14px;border-bottom:1px solid #3a2a18;flex-shrink:0}.building-panel__title{font-family:Cinzel,serif;font-size:18px;font-weight:700;color:#3a2a18;margin:0;letter-spacing:1.5px;text-shadow:0 1px 0 rgba(255,235,200,.07),0 -1px 0 rgba(0,0,0,.4)}.building-panel__village{font-family:Cormorant Garamond,serif;font-size:13px;color:#6a5030;margin:4px 0 0}.building-panel__close{background:none;border:1px solid #3a2a18;color:#5a4028;width:28px;height:28px;border-radius:2px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.building-panel__close:hover{color:#1a2535;border-color:#5a4028;text-shadow:0 0 6px rgba(70,140,200,.15)}.building-panel__content{flex:1;overflow-y:auto;padding:16px 20px}.building-panel__content::-webkit-scrollbar{width:6px}.building-panel__content::-webkit-scrollbar-thumb{background:#3a2a18;border-radius:3px}.building-panel__footer{padding:12px 20px;border-top:1px solid #3a2a18;display:flex;flex-direction:column;gap:4px;flex-shrink:0;background:#1e1208}.building-panel__wallet{font-family:JetBrains Mono,monospace;font-size:14px;color:#a89070;display:flex;gap:12px}.wallet-follis{color:#c49a6c}.wallet-solidus{color:#d4af37}.building-panel__cargo{font-family:Cormorant Garamond,serif;font-size:12px;color:#8a7050;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-placeholder{color:#6a5030;font-family:Cormorant Garamond,serif;font-size:14px;text-align:center;padding:40px 0}.panel-section{margin-bottom:16px}.panel-section__title{font-family:Cinzel,serif;font-size:13px;font-weight:600;color:#3a2a18;text-transform:uppercase;letter-spacing:1px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid #3a2a18;text-shadow:0 1px 0 rgba(255,235,200,.05),0 -1px 0 rgba(0,0,0,.3)}.panel-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-family:Cormorant Garamond,serif;font-size:14px;color:#a89070}.panel-row+.panel-row{border-top:1px solid rgba(58,42,24,.5)}.panel-row__label{display:flex;align-items:center;gap:8px}.panel-row__value{font-family:JetBrains Mono,monospace;font-size:13px;color:#c49a6c}.panel-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;background:none;border:1px solid #3a2a18;border-radius:2px;color:#8a7050;font-family:Cinzel,serif;font-size:12px;font-weight:600;cursor:pointer;transition:color .2s,text-shadow .2s;letter-spacing:.5px}.panel-btn:hover{color:#1a2535;border-color:#5a4028;text-shadow:0 0 6px rgba(70,140,200,.15)}.panel-btn:disabled{opacity:.4;cursor:not-allowed}.panel-btn--primary{background:none;border-color:#5a4028;color:#c8b89a}.panel-btn--primary:hover{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.2),0 0 8px rgba(70,140,200,.2)}.panel-error{color:#a04030;font-family:Cormorant Garamond,serif;font-size:13px;padding:8px 12px;background:#a0403014;border:1px solid rgba(160,64,48,.15);border-radius:2px;margin-bottom:12px}.panel-tabs{display:flex;gap:2px;margin-bottom:14px}.panel-tab{flex:1;padding:8px;background:none;border:1px solid #3a2a18;border-radius:0;color:#5a4028;font-family:Cinzel,serif;font-size:12px;font-weight:600;text-align:center;cursor:pointer;transition:color .2s,text-shadow .2s;text-transform:uppercase;letter-spacing:.5px}.panel-tab:hover{color:#c8b89a}.panel-tab--active{color:#1a2535;text-shadow:0 1px 0 rgba(80,160,220,.18),0 -1px 0 rgba(0,0,0,.45),0 0 6px rgba(70,140,200,.15);border-bottom-color:transparent}.supply-bar{display:flex;gap:1px;align-items:center}.supply-bar__segment{width:6px;height:10px;background:#3a2a18;border-radius:1px}.supply-bar__segment--filled{background:#6b8a5e}.supply-bar__segment--scarce{background:#8b4a4a}.supply-bar__segment--low{background:#a88844}.supply-bar__label{font-size:11px;color:#8a7050;margin-left:6px;font-family:Cormorant Garamond,serif}.panel-input-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.panel-select{flex:1;padding:6px 10px;background:#1e1208;border:1px solid #3a2a18;border-radius:2px;color:#a89070;font-family:Cormorant Garamond,serif;font-size:13px;appearance:none;cursor:pointer}.panel-number-input{width:60px;padding:6px 8px;background:#1e1208;border:1px solid #3a2a18;border-radius:2px;color:#c8b89a;font-family:JetBrains Mono,monospace;font-size:13px;text-align:center}.panel-number-input:focus,.panel-select:focus{outline:none;border-color:#4a8ab0}.panel-cost{font-family:JetBrains Mono,monospace;font-size:14px;color:#c49a6c;text-align:right;padding:8px 0}.dock-ship-card{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid rgba(58,42,24,.5)}.dock-ship-card:last-child{border-bottom:none}.dock-ship-card__info{flex:1;min-width:0}.dock-ship-card__name{font-family:Cinzel,serif;font-size:14px;font-weight:600;color:#c8b89a;margin-bottom:2px;text-shadow:0 1px 0 rgba(255,235,200,.05),0 -1px 0 rgba(0,0,0,.25)}.dock-ship-card__desc{font-family:Cormorant Garamond,serif;font-size:12px;color:#8a7050;margin-bottom:4px;line-height:1.3}.dock-ship-card__stats{font-family:JetBrains Mono,monospace;font-size:11px;color:#6a5030}.dock-ship-card__buy{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.dock-ship-card__price{font-family:JetBrains Mono,monospace;font-size:14px;color:#c49a6c;font-weight:600}.game-hud__wallet{position:fixed;top:16px;left:16px;z-index:100;padding:10px 16px;background:#241808e0;border:1px solid #3a2a18;border-radius:2px;pointer-events:none;min-width:120px;box-shadow:inset 0 1px #ffebc80a}.game-hud__wallet-row{display:flex;align-items:baseline;gap:12px}.game-hud__follis{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600;color:#c49a6c}.game-hud__solidus{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;color:#d4af37}.game-hud__cargo-count{font-family:Cormorant Garamond,serif;font-size:12px;color:#8a7050;margin-top:2px}.game-hud__wallet-loading{font-family:JetBrains Mono,monospace;font-size:14px;color:#5a4028}.game-hud__actions{position:fixed;top:16px;right:16px;z-index:100;display:flex;gap:8px}.game-hud__btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#241808e0;border:1px solid #3a2a18;border-radius:2px;color:#8a7050;cursor:pointer;transition:all .15s;box-shadow:inset 0 1px #ffebc80a}.game-hud__btn:hover{color:#c8b89a;border-color:#5a4028;background:#2a1c10eb}.cargo-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00000073;animation:cargo-fade-in .15s ease-out}@keyframes cargo-fade-in{0%{opacity:0}to{opacity:1}}.cargo-panel{width:400px;max-width:90vw;max-height:80vh;background:#141b1e;border:1px solid #24353a;border-radius:8px;display:flex;flex-direction:column;animation:cargo-scale-in .2s ease-out;overflow:hidden}@keyframes cargo-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.cargo-panel__header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid #24353a;flex-shrink:0}.cargo-panel__title{font-family:Cinzel,serif;font-size:17px;font-weight:700;color:#d4e0da;margin:0;letter-spacing:1.5px}.cargo-panel__close{background:none;border:1px solid #2d4045;color:#5a9e80;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s}.cargo-panel__close:hover{color:#d4e0da;border-color:#4a7c6a;background:#1e2e32}.cargo-panel__content{flex:1;overflow-y:auto;padding:16px 20px}.cargo-panel__content::-webkit-scrollbar{width:6px}.cargo-panel__content::-webkit-scrollbar-thumb{background:#2d4045;border-radius:3px}.cargo-panel__wallet-section{margin-bottom:18px;padding:12px 14px;background:#1a2528;border:1px solid #24353a;border-radius:6px}.cargo-panel__wallet-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.cargo-panel__wallet-row+.cargo-panel__wallet-row{border-top:1px solid rgba(36,53,58,.4)}.cargo-panel__wallet-total{margin-top:4px;padding-top:8px!important;border-top:1px solid #2d4045!important}.cargo-panel__label{font-family:Crimson Text,serif;font-size:13px;color:#5a9e80}.cargo-panel__follis{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:600;color:#c49a6c}.cargo-panel__solidus{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:600;color:#d4af37}.cargo-panel__category{margin-bottom:14px}.cargo-panel__cat-title{font-family:Cinzel,serif;font-size:12px;font-weight:600;color:#5a9e80;text-transform:uppercase;letter-spacing:1px;margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid #24353a}.cargo-panel__item{display:flex;align-items:center;padding:5px 0;font-family:Crimson Text,serif;font-size:14px;color:#c2d1ca}.cargo-panel__item+.cargo-panel__item{border-top:1px solid rgba(36,53,58,.35)}.cargo-panel__item-name{flex:1}.cargo-panel__item-qty{font-family:JetBrains Mono,monospace;font-size:13px;color:#d4e0da;min-width:40px;text-align:right;margin-right:12px}.cargo-panel__item-value{font-family:JetBrains Mono,monospace;font-size:11px;color:#6a8580;min-width:60px;text-align:right}.cargo-panel__empty{color:#6a8580;font-family:Crimson Text,serif;font-size:14px;text-align:center;padding:30px 0}.cargo-panel__footer{padding:10px 20px;border-top:1px solid #24353a;background:#1a2528;display:flex;justify-content:space-between;font-family:Crimson Text,serif;font-size:12px;color:#5a9e80;flex-shrink:0}.ship-hud{position:fixed;bottom:20px;left:20px;z-index:100;display:flex;flex-direction:column;gap:12px;pointer-events:none}.ship-hud__info{background:#241808e0;border:1px solid #3a2a18;border-radius:2px;padding:12px 16px;min-width:200px;box-shadow:inset 0 1px #ffebc80a}.ship-hud__name{font-family:Cinzel,serif;font-size:16px;font-weight:700;color:#c8b89a;letter-spacing:1px;margin-bottom:8px;text-shadow:0 1px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.3)}.ship-hud__health-bar{width:100%;height:8px;background:#3a2a18;border-radius:4px;overflow:hidden}.ship-hud__health-fill{height:100%;border-radius:4px;transition:width .3s ease,background-color .3s ease}.ship-hud__health-text{font-family:JetBrains Mono,monospace;font-size:11px;color:#8a7050;margin-top:4px;text-align:right}.ship-hud__controls{background:#241808e0;border:1px solid #3a2a18;border-radius:2px;padding:10px 14px;display:flex;flex-direction:column;gap:4px;box-shadow:inset 0 1px #ffebc80a}.ship-hud__control-group{display:flex;align-items:center;gap:10px}.ship-hud__key{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 6px;background:#3a2a18;border:1px solid #4a3820;border-radius:2px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:#a89070;text-shadow:0 -1px 0 rgba(0,0,0,.3)}.ship-hud__key--ready{border-color:#6b8a5e;color:#8aaa6e}.ship-hud__key--cooldown{border-color:#8b4a4a;color:#8b6b6b;opacity:.6}.ship-hud__label{font-family:Cormorant Garamond,serif;font-size:13px;color:#8a7050}.ship-hud__separator{height:1px;background:#3a2a18;box-shadow:0 1px #ffebc808;margin:2px 0}.combat-hud{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column;gap:10px;pointer-events:none;min-width:220px}.combat-hud__health{background:#241808e0;border:1px solid #3a2a18;border-radius:2px;padding:10px 14px;box-shadow:inset 0 1px #ffebc80a}.combat-hud__health-label{font-family:Cormorant Garamond,serif;font-size:12px;color:#8a7050;margin-bottom:4px}.combat-hud__health-bar{width:100%;height:10px;background:#3a2a18;border-radius:5px;overflow:hidden}.combat-hud__health-fill{height:100%;border-radius:5px;transition:width .3s ease,background-color .3s ease}.combat-hud__health-text{font-family:JetBrains Mono,monospace;font-size:11px;color:#8a7050;margin-top:3px;text-align:right}.combat-hud__weapon{background:#241808e0;border:1px solid #3a2a18;border-radius:2px;padding:10px 14px;box-shadow:inset 0 1px #ffebc80a}.combat-hud__weapon-name{font-family:Cinzel,serif;font-size:14px;font-weight:700;color:#c8b89a;letter-spacing:.5px;margin-bottom:4px;text-shadow:0 1px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.3)}.combat-hud__weapon-stats{display:flex;gap:12px;font-family:JetBrains Mono,monospace;font-size:10px;color:#7a6040}.combat-hud__weapon-stat{display:flex;align-items:center;gap:3px}.combat-hud__weapon-stat-val{color:#a89070}.combat-hud__slots{background:#241808e0;border:1px solid #3a2a18;border-radius:2px;padding:8px 10px;display:flex;gap:6px;box-shadow:inset 0 1px #ffebc80a}.combat-hud__slot{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:36px}.combat-hud__slot-key{display:inline-flex;align-items:center;justify-content:center;width:22px;height:20px;background:#3a2a18;border:1px solid #4a3820;border-radius:2px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;color:#7a6040}.combat-hud__slot--active .combat-hud__slot-key{border-color:#8a7050;color:#c8b89a;background:#3a2a18}.combat-hud__slot--locked .combat-hud__slot-key{opacity:.3}.combat-hud__slot-name{font-family:Cormorant Garamond,serif;font-size:9px;color:#6a5030;white-space:nowrap}.combat-hud__slot--active .combat-hud__slot-name{color:#a89070}.combat-hud__slot--locked .combat-hud__slot-name{opacity:.3}.combat-hud__ability{background:#241808e0;border:1px solid #3a2a18;border-radius:2px;padding:8px 12px;display:flex;align-items:center;gap:10px;box-shadow:inset 0 1px #ffebc80a}.combat-hud__ability-key{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 6px;background:#3a2a18;border:1px solid #4a3820;border-radius:2px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:#a89070;text-shadow:0 -1px 0 rgba(0,0,0,.3)}.combat-hud__ability-key--ready{border-color:#6b8a5e;color:#8aaa6e}.combat-hud__ability-key--cooldown{border-color:#8b4a4a;color:#8b6b6b;opacity:.6}.combat-hud__ability-info{display:flex;flex-direction:column;gap:1px}.combat-hud__ability-name{font-family:Cormorant Garamond,serif;font-size:12px;color:#a89070}.combat-hud__ability-cd{font-family:JetBrains Mono,monospace;font-size:10px;color:#6a5030}.combat-hud__reload{background:#241808e0;border:1px solid #3a2a18;border-radius:2px;padding:6px 12px;box-shadow:inset 0 1px #ffebc80a}.combat-hud__reload-label{font-family:Cormorant Garamond,serif;font-size:11px;color:#a88844;margin-bottom:3px}.combat-hud__reload-bar{width:100%;height:4px;background:#3a2a18;border-radius:2px;overflow:hidden}.combat-hud__reload-fill{height:100%;background:#a88844;border-radius:2px;transition:width .1s linear}.combat-hud__dodge-overlay{position:fixed;inset:0;border:3px solid rgba(180,140,80,.3);border-radius:0;pointer-events:none;z-index:99;animation:dodge-flash .25s ease-out}@keyframes dodge-flash{0%{border-color:#b48c5099}to{border-color:#b48c5000}}.combat-hud__crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:98}.combat-hud__crosshair-dot{width:4px;height:4px;background:#c8b89a99;border-radius:50%}.combat-hud__crosshair--steady .combat-hud__crosshair-dot{background:#ffc864e6;box-shadow:0 0 8px #ffc86480}.inv-hud{position:fixed;bottom:20px;left:20px;z-index:100;display:flex;flex-direction:column;gap:8px;pointer-events:none;min-width:160px;max-width:200px}.inv-hud__wallet{background:#241808e0;border:1px solid #3a2a18;border-radius:2px;padding:8px 12px;display:flex;align-items:baseline;gap:12px;box-shadow:inset 0 1px #ffebc80a}.inv-hud__follis{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:600;color:#c49a6c}.inv-hud__solidus{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:#d4af37}.inv-hud__weapon{background:#241808e0;border:1px solid #3a2a18;border-radius:2px;padding:8px 12px;box-shadow:inset 0 1px #ffebc80a}.inv-hud__weapon-label{font-family:Cinzel,serif;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#5a4028;margin-bottom:2px}.inv-hud__weapon-name{font-family:Cinzel,serif;font-size:14px;font-weight:700;color:#c8b89a;text-shadow:0 1px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.3)}.inv-hud__cargo{background:#241808e0;border:1px solid #3a2a18;border-radius:2px;padding:8px 12px;box-shadow:inset 0 1px #ffebc80a}.inv-hud__cargo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid rgba(58,42,24,.5)}.inv-hud__cargo-title{font-family:Cinzel,serif;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#5a4028}.inv-hud__cargo-count{font-family:JetBrains Mono,monospace;font-size:10px;color:#8a7050}.inv-hud__empty{font-family:Cormorant Garamond,serif;font-size:12px;font-style:italic;color:#5a4028}.inv-hud__items{display:flex;flex-direction:column;gap:2px;max-height:180px;overflow-y:auto}.inv-hud__items::-webkit-scrollbar{width:4px}.inv-hud__items::-webkit-scrollbar-thumb{background:#3a2a18;border-radius:2px}.inv-hud__item{display:flex;justify-content:space-between;align-items:center;padding:2px 0}.inv-hud__item-name{font-family:Cormorant Garamond,serif;font-size:12px;color:#a89070}.inv-hud__item-qty{font-family:JetBrains Mono,monospace;font-size:11px;color:#c49a6c;min-width:24px;text-align:right}.compass{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:100;pointer-events:none}.compass__strip{position:relative;width:400px;height:28px;overflow:hidden}.compass__strip:before{content:"";position:absolute;left:50%;top:0;transform:translate(-50%);width:2px;height:10px;background:#e8d5b0;z-index:2;opacity:.9}.compass__track{position:absolute;top:0;height:100%;white-space:nowrap;display:flex;align-items:flex-end}.compass__tick{position:absolute;top:0;width:1px;background:#c49a6c40}.compass__tick--major{height:8px;background:#c49a6c80}.compass__tick--minor{height:5px;background:#c49a6c2e}.compass__label{position:absolute;top:10px;transform:translate(-50%);font-family:JetBrains Mono,Consolas,monospace;font-size:10px;font-weight:500;color:#c49a6c80;letter-spacing:.5px}.compass__label--cardinal{font-family:Cinzel,serif;font-size:13px;font-weight:700;color:#c49a6c;text-shadow:0 1px 3px rgba(0,0,0,.5)}.compass__label--n{color:#e8d5b0}.compass__marker{position:absolute;top:14px;transform:translate(-50%);transition:opacity .3s}.compass__marker-icon{font-size:11px;filter:grayscale(.3);line-height:1}.app-root{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;background:#2a1c10;color:#3a2a18;font-family:Cormorant Garamond,Georgia,serif}.ui-layer{position:absolute;inset:0;pointer-events:none;z-index:10}.ui-layer>*{pointer-events:auto}::selection{background:#b48c5040}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3a2a18;border-radius:3px}*:focus-visible{outline:1px solid #6a4a28;outline-offset:2px}.game-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#2a1c10;z-index:1000;transition:opacity .5s ease-out}.game-loading.fade-out{opacity:0;pointer-events:none}.game-loading-text{font-family:Cinzel,serif;font-size:32px;font-weight:700;letter-spacing:8px;color:#1e140a;text-shadow:0 2px 0 rgba(255,235,200,.06),0 -1px 0 rgba(0,0,0,.5)}
