:root{--color-gold: #ffd700;--color-bg: #1a1008;--color-panel: #2b2016;--color-border: #5a4a32;--color-text: #e0d0a0;--color-text-muted: #8a7a5a;--color-error: #cc4444;--color-status-ok: #44cc44;--color-status-busy: #ccaa22;--color-status-full: #cc4444}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:Courier New,monospace;min-height:100vh}#app{width:100vw;height:100vh;overflow:hidden}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.login-card{background:var(--color-panel);border:2px solid var(--color-border);border-radius:8px;padding:40px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px}.login-title{color:var(--color-gold);font-size:28px;text-align:center;letter-spacing:2px;text-transform:uppercase}.login-subtitle{color:var(--color-text-muted);font-size:14px;text-align:center}.login-label{color:var(--color-text);font-size:13px;text-transform:uppercase;letter-spacing:1px}.login-info{color:var(--color-text-muted);font-size:12px}.login-input{width:100%;padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-family:inherit;font-size:15px;outline:none;transition:border-color .2s}.login-input:focus{border-color:var(--color-gold)}.login-input::placeholder{color:var(--color-text-muted)}.login-input-otp{text-align:center;font-size:24px;letter-spacing:8px}.login-btn{width:100%;padding:12px;background:linear-gradient(180deg,#daa520,#b8860b);border:1px solid var(--color-gold);border-radius:4px;color:#1a1008;font-family:inherit;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:opacity .2s,transform .1s}.login-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn-secondary{padding:8px 16px;background:transparent;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);font-family:inherit;font-size:12px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:border-color .2s}.login-btn-secondary:hover:not(:disabled){border-color:var(--color-gold);color:var(--color-text)}.login-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.login-error{display:none;color:var(--color-error);font-size:13px;text-align:center;padding:8px;background:#cc44441a;border:1px solid rgba(204,68,68,.3);border-radius:4px}.login-step{display:flex;flex-direction:column;gap:12px}.char-count{color:var(--color-text-muted);font-size:12px;text-align:right}.server-card{background:var(--color-panel);border:2px solid var(--color-border);border-radius:8px;padding:32px;width:100%;max-width:600px;display:flex;flex-direction:column;gap:16px}.server-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.server-header .login-title{text-align:left;font-size:24px}.server-list{display:flex;flex-direction:column;gap:4px;max-height:400px;overflow-y:auto}.server-loading,.server-empty{color:var(--color-text-muted);font-size:14px;text-align:center;padding:32px 0}.server-row{display:grid;grid-template-columns:1fr 100px 100px 100px;gap:8px;align-items:center;padding:12px 16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-family:inherit;font-size:14px;color:var(--color-text);text-align:left;width:100%;transition:border-color .2s,background-color .2s}.server-row:hover:not(:disabled){border-color:var(--color-gold);background:#ffd7000d}.server-row:disabled{opacity:.5;cursor:not-allowed}.server-row-disabled{opacity:.5}.server-name{font-weight:700;color:var(--color-text)}.server-region{color:var(--color-text-muted);font-size:12px;text-transform:uppercase}.server-players{color:var(--color-text-muted);font-size:13px;text-align:center}.server-status{font-size:12px;text-align:right;font-weight:700}.status-ok{color:var(--color-status-ok)}.status-busy{color:var(--color-status-busy)}.status-full{color:var(--color-status-full)}.screen-game{display:block;position:relative;background:transparent}.panel-title{color:var(--color-gold);font-size:16px;letter-spacing:2px;text-transform:uppercase;padding:12px;border-bottom:1px solid var(--color-border);text-align:center}.skills-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.skill-list{display:flex;flex-direction:column;gap:2px;padding:4px}.skill-row{display:flex;align-items:center;gap:8px;padding:8px;background:var(--color-bg);border:1px solid transparent;border-radius:4px;cursor:pointer;font-family:inherit;font-size:12px;color:var(--color-text);text-align:left;width:100%;transition:border-color .2s,background-color .2s}.skill-row:hover{border-color:var(--color-border);background:#ffd70008}.skill-row-active{border-color:var(--color-gold);background:#ffd70014}.skill-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.skill-info{flex:1;min-width:0}.skill-name-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.skill-name{font-size:12px;font-weight:700;color:var(--color-text)}.skill-level{font-size:14px;font-weight:700;color:var(--color-gold)}.xp-bar-wrap{width:100%;height:6px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:3px;overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#b8860b,gold);border-radius:2px;transition:width .3s ease}.xp-text{font-size:10px;color:var(--color-text-muted);margin-top:2px;text-align:right}.resource-section{border-top:1px solid var(--color-border);margin-top:4px;flex:1;overflow-y:auto}.resource-title{color:var(--color-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:8px 12px 4px}.resource-list{display:flex;flex-direction:column;gap:1px;padding:0 4px 4px}.resource-row{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:11px;color:var(--color-text)}.resource-locked{color:var(--color-text-muted);opacity:.6}.resource-lock{width:14px;font-size:10px;text-align:center;flex-shrink:0}.resource-name{flex:1}.resource-level{font-size:10px;color:var(--color-text-muted)}.recipe-tab-bar{display:flex;gap:2px;padding:0 4px 4px}.recipe-tab{flex:1;padding:4px 0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-muted);font-family:inherit;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:border-color .2s,color .2s,background-color .2s}.recipe-tab:hover{border-color:var(--color-gold);color:var(--color-text)}.recipe-tab-active{border-color:var(--color-gold);background:#ffd7001a;color:var(--color-gold)}.recipe-row{padding:6px 8px;font-size:11px;color:var(--color-text);border-bottom:1px solid rgba(90,74,50,.3)}.recipe-row:last-child{border-bottom:none}.recipe-selectable{cursor:pointer;border-radius:3px;transition:background-color .15s}.recipe-selectable:hover{background:#ffd70014}.recipe-locked{color:var(--color-text-muted);opacity:.6}.recipe-available{background:#ffd7000f}.recipe-selected{background:#ffd70026;border-left:2px solid var(--color-gold);padding-left:6px}.recipe-header{display:flex;align-items:center;gap:6px}.recipe-name{flex:1;font-weight:700}.recipe-available .recipe-name,.recipe-selected .recipe-name{color:var(--color-gold)}.recipe-ingredients{display:flex;flex-direction:column;gap:1px;margin-top:2px;padding-left:20px}.recipe-ingredient{font-size:10px;color:var(--color-text-muted)}.recipe-ingredient-missing{color:var(--color-error)}.inventory-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.inventory-list{display:flex;flex-direction:column;gap:1px;padding:4px;flex:1;overflow-y:auto}.inventory-empty{color:var(--color-text-muted);font-size:12px;text-align:center;padding:16px}.inventory-row{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--color-bg);border-radius:3px;font-size:12px}.inventory-item-name{flex:1;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-item-qty{color:var(--color-gold);font-weight:700;font-size:11px;min-width:20px;text-align:right}.inventory-drop-btn{width:20px;height:20px;padding:0;background:transparent;border:1px solid var(--color-border);border-radius:3px;color:var(--color-error);font-family:inherit;font-size:10px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background-color .2s;flex-shrink:0}.inventory-drop-btn:hover{border-color:var(--color-error);background:#cc444426}.activity-progress{display:flex;align-items:center;gap:6px;padding:4px 8px;border-top:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0}.activity-progress-label{color:var(--color-gold);font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0}.activity-progress-bar-wrap{flex:1;height:10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:5px;overflow:hidden;min-width:40px}.activity-progress-bar-fill{height:100%;background:linear-gradient(90deg,#b8860b,gold,#daa520);background-size:200% 100%;border-radius:4px;transition:width .05s linear;animation:progress-shimmer 2s linear infinite}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.activity-progress-pct{color:var(--color-text-muted);font-size:10px;min-width:28px;text-align:right;flex-shrink:0}.activity-progress-stop{padding:2px 8px;background:transparent;border:1px solid var(--color-error);border-radius:3px;color:var(--color-error);font-family:inherit;font-size:10px;font-weight:700;text-transform:uppercase;cursor:pointer;flex-shrink:0;transition:background-color .2s,color .2s}.activity-progress-stop:hover{background:#cc444426}.panel-tooltip{position:fixed;top:12px;left:50%;transform:translate(-50%);background:var(--color-panel);border:1px solid var(--color-gold);border-radius:6px;padding:8px 16px;z-index:25;text-align:center;pointer-events:none}.tooltip-name{color:var(--color-gold);font-size:14px;font-weight:700}.tooltip-info{color:var(--color-text-muted);font-size:11px;margin-top:2px}.panel-levelup-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100;display:flex;align-items:center;justify-content:center}.levelup-popup{text-align:center;opacity:0;transform:scale(.5);transition:opacity .4s ease-out,transform .4s ease-out;pointer-events:none}.levelup-popup.levelup-visible{opacity:1;transform:scale(1)}.levelup-popup.levelup-fade{opacity:0;transform:scale(1.1);transition:opacity .5s ease-in,transform .5s ease-in}.levelup-text{font-size:48px;font-weight:700;color:var(--color-gold);text-transform:uppercase;letter-spacing:4px;text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.4),0 2px 4px rgba(0,0,0,.8)}.levelup-skill{font-size:22px;color:var(--color-text);margin-top:8px;text-shadow:0 0 10px rgba(255,215,0,.4),0 2px 4px rgba(0,0,0,.8)}.game-window{position:fixed;background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 16px #00000080;display:flex;flex-direction:column;z-index:30;overflow:hidden}.game-window-titlebar{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;background:linear-gradient(180deg,#3a2a18,#2b2016);border-bottom:1px solid var(--color-border);cursor:grab;flex-shrink:0;-webkit-user-select:none;user-select:none}.game-window-titlebar:active{cursor:grabbing}.game-window-title{color:var(--color-gold);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.game-window-close{width:16px;height:16px;padding:0;background:transparent;border:none;color:var(--color-text-muted);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:2px;transition:color .2s,background-color .2s}.game-window-close:hover{color:var(--color-error);background:#c443}.game-window-collapsed .game-window-content,.game-window-collapsed .game-window-resize-handle{display:none}.game-window-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.game-window-resize-handle{position:absolute}.game-window-resize-n{top:-3px;left:6px;right:6px;height:6px;cursor:ns-resize}.game-window-resize-s{bottom:-3px;left:6px;right:6px;height:6px;cursor:ns-resize}.game-window-resize-e{top:6px;right:-3px;bottom:6px;width:6px;cursor:ew-resize}.game-window-resize-w{top:6px;left:-3px;bottom:6px;width:6px;cursor:ew-resize}.game-window-resize-ne{top:-3px;right:-3px;width:12px;height:12px;cursor:nesw-resize}.game-window-resize-nw{top:-3px;left:-3px;width:12px;height:12px;cursor:nwse-resize}.game-window-resize-se{bottom:-3px;right:-3px;width:12px;height:12px;cursor:nwse-resize}.game-window-resize-sw{bottom:-3px;left:-3px;width:12px;height:12px;cursor:nesw-resize}.activity-log-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.activity-log-container{flex:1;overflow-y:auto;padding:0 8px 4px}.activity-log-entry{display:flex;gap:6px;padding:1px 0;font-size:11px;line-height:1.4}.activity-log-time{color:var(--color-text-muted);font-size:10px;flex-shrink:0;opacity:.6}.activity-log-message{flex:1}.activity-log-latest .activity-log-message{color:var(--color-gold)}.activity-log-recent .activity-log-message{color:var(--color-text)}.activity-log-old .activity-log-message{color:var(--color-text-muted)}.server-list::-webkit-scrollbar,.inventory-list::-webkit-scrollbar,.activity-log-container::-webkit-scrollbar,.chat-messages::-webkit-scrollbar,.resource-section::-webkit-scrollbar{width:4px}.server-list::-webkit-scrollbar-track,.inventory-list::-webkit-scrollbar-track,.activity-log-container::-webkit-scrollbar-track,.chat-messages::-webkit-scrollbar-track,.resource-section::-webkit-scrollbar-track{background:var(--color-bg)}.server-list::-webkit-scrollbar-thumb,.inventory-list::-webkit-scrollbar-thumb,.activity-log-container::-webkit-scrollbar-thumb,.chat-messages::-webkit-scrollbar-thumb,.resource-section::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.server-list::-webkit-scrollbar-thumb:hover,.inventory-list::-webkit-scrollbar-thumb:hover,.activity-log-container::-webkit-scrollbar-thumb:hover,.chat-messages::-webkit-scrollbar-thumb:hover,.resource-section::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.chat-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:0 8px;min-height:0}.chat-message{display:flex;gap:4px;padding:1px 0;font-size:11px;line-height:1.3}.chat-time{color:var(--color-text-muted);font-size:10px;flex-shrink:0;opacity:.6}.chat-player-name{color:var(--color-gold);font-weight:700;font-size:11px;flex-shrink:0}.chat-text{color:var(--color-text);font-size:11px;word-break:break-word}.chat-input-row{display:flex;gap:4px;padding:2px 4px;flex-shrink:0}.chat-input{flex:1;padding:2px 6px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text);font-family:inherit;font-size:11px;outline:none;min-width:0}.chat-input:focus{border-color:var(--color-gold)}.chat-input::placeholder{color:var(--color-text-muted)}.chat-input:disabled{opacity:.5}.chat-send-btn{padding:2px 8px;background:linear-gradient(180deg,#daa520,#b8860b);border:1px solid var(--color-gold);border-radius:3px;color:#1a1008;font-family:inherit;font-size:10px;font-weight:700;text-transform:uppercase;cursor:pointer;flex-shrink:0}.chat-send-btn:hover:not(:disabled){opacity:.9}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.trade-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:200}.trade-card{background:var(--color-panel);border:2px solid var(--color-border);border-radius:8px;padding:24px;min-width:320px;max-width:540px;display:flex;flex-direction:column;gap:16px}.trade-card-active{min-width:480px}.trade-title{color:var(--color-gold);font-size:18px;letter-spacing:2px;text-transform:uppercase;text-align:center}.trade-info{color:var(--color-text);font-size:14px;text-align:center}.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.trade-column{display:flex;flex-direction:column;gap:6px}.trade-column-title{color:var(--color-text);font-size:13px;text-transform:uppercase;letter-spacing:1px;padding-bottom:4px;border-bottom:1px solid var(--color-border);text-align:center}.trade-column-title.trade-accepted{color:var(--color-status-ok)}.trade-item-list{display:flex;flex-direction:column;gap:2px;min-height:60px;max-height:160px;overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:4px}.trade-empty{color:var(--color-text-muted);font-size:11px;text-align:center;padding:16px 8px}.trade-item-row,.trade-inv-row{display:flex;align-items:center;gap:6px;padding:4px 6px;background:var(--color-panel);border-radius:3px;font-size:12px}.trade-item-name{flex:1;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-item-qty{color:var(--color-gold);font-weight:700;font-size:11px;min-width:18px;text-align:right}.trade-item-remove,.trade-item-add{width:20px;height:20px;padding:0;background:transparent;border:1px solid var(--color-border);border-radius:3px;color:var(--color-text);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s,background-color .2s}.trade-item-remove{color:var(--color-error)}.trade-item-remove:hover{border-color:var(--color-error);background:#cc444426}.trade-item-add:hover{border-color:var(--color-gold);background:#ffd7001a}.trade-add-section{margin-top:8px}.trade-add-title{color:var(--color-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:4px 0;border-bottom:1px solid var(--color-border);text-align:center}.trade-inv-list{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto;padding:4px 0}.trade-btn-row{display:flex;gap:8px;justify-content:center}.trade-btn{padding:8px 24px;border-radius:4px;font-family:inherit;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:opacity .2s,transform .1s}.trade-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.trade-btn:active:not(:disabled){transform:translateY(0)}.trade-btn:disabled{opacity:.5;cursor:not-allowed}.trade-btn-accept{background:linear-gradient(180deg,#daa520,#b8860b);border:1px solid var(--color-gold);color:#1a1008}.trade-btn-cancel{background:transparent;border:1px solid var(--color-error);color:var(--color-error)}.trade-btn-cancel:hover:not(:disabled){background:#cc444426}.rs-context-menu{position:fixed;background:#3e3529;border:2px solid #1c1710;padding:2px 0;z-index:10000;min-width:140px;font-family:Courier New,monospace;font-size:13px;box-shadow:0 2px 8px #0009;-webkit-user-select:none;user-select:none}.rs-context-menu-option{padding:2px 8px;color:#fff;cursor:pointer;white-space:nowrap;line-height:1.4}.rs-context-menu-option:hover{background:#ffffff1a}.rs-context-menu-option-default{color:#ff981f}.trade-item-list::-webkit-scrollbar,.trade-inv-list::-webkit-scrollbar{width:4px}.trade-item-list::-webkit-scrollbar-track,.trade-inv-list::-webkit-scrollbar-track{background:var(--color-bg)}.trade-item-list::-webkit-scrollbar-thumb,.trade-inv-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.trade-item-list::-webkit-scrollbar-thumb:hover,.trade-inv-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.minimap-content{position:relative;display:flex;flex-direction:column;align-items:center;padding:4px;flex:1;min-height:0}.minimap-compass{position:absolute;top:6px;left:50%;transform:translate(-50%);color:var(--color-gold);font-size:10px;font-weight:700;letter-spacing:1px;z-index:1;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.8)}.minimap-canvas{display:block;width:180px;height:180px;border-radius:3px;cursor:crosshair}
