:root{--bg: #16130f;--panel: #211c16;--panel-border: #3a3122;--gold: #c9a84c;--gold-bright: #f0d078;--hp-red: #b5473f;--sp-blue: #4a7ab5;--exp-green: #6f9c4a;--text: #e9e0cc;--text-dim: #a89b7e;font-family:Courier New,ui-monospace,monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}#root{max-width:960px;margin:0 auto;padding:24px 16px 64px}.title{font-size:22px;letter-spacing:.08em;color:var(--gold-bright);text-transform:uppercase;margin:0 0 4px}.subtitle{color:var(--text-dim);font-size:13px;margin:0 0 24px}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:4px;padding:16px}.start-screen{display:flex;flex-direction:column;gap:16px;max-width:420px}.job-options{display:flex;gap:8px}.job-button{flex:1;background:var(--panel);border:1px solid var(--panel-border);color:var(--text);padding:12px 8px;cursor:pointer;border-radius:4px;font-family:inherit;transition:border-color .15s ease}.job-button:hover{border-color:var(--gold)}.job-button.selected{border-color:var(--gold-bright);background:#2a2418;color:var(--gold-bright)}.job-button:disabled{opacity:.4;cursor:not-allowed}.job-button:disabled:hover{border-color:var(--panel-border)}.room-select-button{text-align:left;flex:none}.text-input{background:var(--bg);border:1px solid var(--panel-border);color:var(--text);padding:10px;border-radius:4px;font-family:inherit}.primary-button{background:var(--gold);color:#1a1509;border:none;padding:12px;border-radius:4px;font-weight:700;cursor:pointer;letter-spacing:.03em;font-family:inherit}.primary-button:hover{background:var(--gold-bright)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.game-layout{display:grid;grid-template-columns:1fr 260px;gap:16px}@media (max-width: 720px){.game-layout{grid-template-columns:1fr}}.combat-room{height:264px;overflow-y:auto;overflow-x:hidden;padding-top:12px;display:flex;align-items:flex-start;justify-content:space-around;gap:16px;padding-bottom:24px;position:relative}.combat-room-wrap{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:106px;align-content:flex-start;justify-items:center}.zone-label{display:flex;align-items:flex-start;gap:8px;color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.zone-title{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.zone-name{color:var(--gold-bright);font-size:13px;white-space:nowrap}.zone-quest{font-size:11px;letter-spacing:.08em;white-space:nowrap}.zone-quest.boss{color:#e8735a;font-weight:700;animation:boss-brilho-texto 1.4s ease-in-out infinite}@keyframes boss-brilho-texto{0%,to{opacity:.75}50%{opacity:1}}.town-scroll{max-height:70vh;overflow-y:auto;padding-right:4px}.room-actions{margin-left:auto;display:flex;gap:6px}.loop-button,.leave-button{background:#1a1611;border:1px solid var(--panel-border);color:var(--text-dim);font-family:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:4px 6px;border-radius:3px;cursor:pointer;width:74px;flex:0 0 74px;white-space:normal;line-height:1.3;text-align:center}.loop-button:hover,.leave-button:hover{border-color:var(--gold);color:var(--gold-bright)}.loop-button.active{border-color:var(--gold);color:var(--gold-bright);background:#2a2318;animation:loop-pulse 1.6s ease-in-out infinite}@keyframes loop-pulse{0%,to{box-shadow:0 0 #c9a84c00}50%{box-shadow:0 0 8px #c9a84ca6}}.pending-exp-banner{font-size:12px;color:var(--text-dim);background:#1c1810;border:1px solid var(--panel-border);border-radius:4px;padding:8px 10px;margin-bottom:12px}.pending-exp-banner strong{color:var(--gold-bright)}.queue-label{font-size:11px;color:var(--text-dim);text-align:right}.entity{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:90px;min-width:0;height:106px;flex-shrink:0;justify-content:flex-start}.entity-sprite{width:48px;height:48px;border-radius:4px;border:2px solid var(--panel-border);display:flex;align-items:center;justify-content:center;font-size:22px;background:#2a2418;position:relative}.entity-sprite.character{border-color:var(--gold)}.entity-sprite.monster{border-color:#6a5a3a;position:relative}.entity-sprite.monster.passive{opacity:.75}.entity-sprite.monster.aggressive{border-color:#a5432f}.aggro-badge{position:absolute;top:-6px;right:-6px;background:#a5432f;color:var(--text);font-size:10px;font-weight:700;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.entity-sprite.monster.boss{border-color:#d9563d;border-width:3px;animation:boss-brilho 1.4s ease-in-out infinite}@keyframes boss-brilho{0%,to{box-shadow:0 0 6px #d9563d73}50%{box-shadow:0 0 18px #d9563df2}}.entity.boss-entity .entity-name{color:#e8735a;font-weight:700}.entity-sprite.flash{animation:flash .25s ease}.entity-sprite.monster.boss.flash{animation:flash-boss .4s ease}@keyframes flash-boss{0%{box-shadow:0 0 #e8735ae6;transform:scale(1)}35%{box-shadow:0 0 22px 8px #e8735ad9;transform:scale(1.35)}to{box-shadow:0 0 #e8735a00;transform:scale(1)}}.entity-sprite.flash-miss{animation:flash-miss .3s ease}.miss-text{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:10px;color:var(--text-dim);font-style:italic;white-space:nowrap;animation:miss-float .3s ease}@keyframes flash-miss{0%{opacity:1;transform:scale(1)}40%{opacity:.5;transform:translate(-3px) scale(.97)}60%{transform:translate(3px) scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes miss-float{0%{opacity:0;transform:translate(-50%) translateY(4px)}30%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-6px)}}.entity-sprite.dead{opacity:.25}@keyframes flash{0%{box-shadow:0 0 #f0d078e6;transform:scale(1)}40%{box-shadow:0 0 12px 4px #f0d07899;transform:scale(1.12)}to{box-shadow:0 0 #f0d07800;transform:scale(1)}}.entity-name{font-size:11px;color:var(--text-dim);text-align:center;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{width:100%;height:6px;background:#100d0a;border-radius:3px;overflow:hidden;border:1px solid var(--panel-border)}.bar-fill{height:100%;transition:width .2s ease}.bar-fill.hp{background:var(--hp-red)}.bar-fill.sp{background:var(--sp-blue)}.bar-fill.exp{background:var(--exp-green)}.bar-fill.job-exp{background:#9b7fd4}.bar-fill.stamina{background:#6fa87a}.bar-fill.stamina.low{background:#b5473f}.mini-button.locked-on{border-color:var(--gold);color:var(--gold-bright)}.inventory-row.locked{opacity:.45}.affix-chip.card-chip{border-color:var(--sp-blue);color:#8fb4e0}.reset-buttons{position:fixed;top:10px;right:12px;display:flex;gap:6px;z-index:10}.reset-button{background:#1a1611;border:1px solid var(--panel-border);color:var(--text-dim);font-family:inherit;font-size:10px;padding:5px 9px;border-radius:3px;cursor:pointer}.reset-button:hover{border-color:var(--gold);color:var(--gold-bright)}.reset-button.danger:hover{border-color:var(--hp-red);color:var(--hp-red)}.panel-header{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;padding:0;color:var(--text);font-family:inherit;font-size:12px;cursor:pointer;text-align:left}.panel-header:hover .panel-title{color:var(--gold-bright)}.panel-caret{color:var(--gold);font-size:10px;width:10px}.panel-title{font-weight:700}.panel-summary{margin-left:auto;color:var(--text-dim);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.panel.collapsed{gap:0;padding-top:8px;padding-bottom:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:50;overflow-y:auto}.modal-box{width:100%;max-width:420px;position:relative}.modal-close{position:absolute;top:6px;right:6px;background:#1a1611;border:1px solid var(--panel-border);color:var(--text-dim);font-family:inherit;font-size:12px;line-height:1;padding:4px 7px;border-radius:3px;cursor:pointer}.modal-close:hover{border-color:var(--gold);color:var(--gold-bright)}.bag-tabs{display:flex;gap:4px;margin:4px 0 6px}.bag-tab{flex:1;background:#1a1611;border:1px solid var(--panel-border);color:var(--text-dim);font-family:inherit;font-size:10px;padding:6px 2px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px}.bag-tab-icon{font-size:15px;line-height:1}.bag-tab:hover{border-color:var(--gold)}.bag-tab.selected{background:#2a2318;border-color:var(--gold);color:var(--gold-bright)}.bag-tab-count{color:var(--exp-green)}.potion-row{display:flex;align-items:center;gap:2px}.potion-row.locked{opacity:.45}.entity-range{font-size:9px;color:var(--text-dim);margin-top:2px;text-align:center}.entity-range.in-range{color:var(--hp-red)}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.room-card{position:relative;background:#1a1611;border:1px solid var(--panel-border);border-radius:6px;padding:10px 10px 8px;cursor:pointer;transition:border-color .15s,background .15s}.room-card:hover{border-color:var(--gold);background:#221c14}.room-fav{position:absolute;top:6px;right:6px;background:none;border:none;color:#4a4335;font-size:15px;cursor:pointer;padding:2px 4px;line-height:1}.room-fav.on,.room-fav:hover{color:var(--gold-bright)}.room-mobs{display:flex;gap:6px;align-items:center;font-size:20px;margin-bottom:6px;min-height:26px}.room-boss{margin-left:auto;margin-right:18px;font-size:24px;filter:drop-shadow(0 0 3px var(--gold))}.room-title-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.room-name{font-weight:700;font-size:12px;color:var(--text)}.room-tag{font-size:9px;font-weight:700;letter-spacing:.06em;padding:1px 5px;border-radius:3px;margin-left:auto}.room-tag.exp{background:#4a3a1a;color:var(--gold-bright)}.room-tag.loot{background:#2f4130;color:#9ccf8a}.room-stars{font-size:11px;color:var(--gold);letter-spacing:1px}.room-stars-off{color:#3a3122}.room-footer{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:10px;color:var(--text-dim)}.room-clears{color:var(--exp-green)}.bar-fill.offline-time{background:#5aa8a0}.bar-fill.offline-time.empty{background:#b5473f}.respawn-slot{width:90px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-dim);font-size:11px}.character-panel{display:flex;flex-direction:column;gap:12px}.stat-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);margin-bottom:2px}.stat-block{margin-bottom:4px}.inventory-list{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-dim);max-height:340px;overflow-y:auto}.inventory-row{padding-bottom:4px;border-bottom:1px solid #241f16}.inventory-row:last-child{border-bottom:none}.inventory-price{font-size:10px;color:#7a6f57;margin-top:1px}.equip-slot-row{padding:6px 0;border-bottom:1px solid #241f16}.equip-slot-row:last-child{border-bottom:none}.equip-slot-actions{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.equip-stat{font-size:11px;color:var(--text-dim);background:#1c1810;border:1px solid var(--panel-border);border-radius:3px;padding:2px 6px}.mini-button{background:var(--panel);border:1px solid var(--panel-border);color:var(--text);font-size:11px;padding:4px 8px;border-radius:3px;cursor:pointer;font-family:inherit}.bag-config-button{font-size:14px;line-height:1;padding:0;width:30px;flex:0 0 auto}.mini-button:hover:not(:disabled){border-color:var(--gold);color:var(--gold-bright)}.mini-button:disabled{opacity:.4;cursor:not-allowed}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.status-cell{display:flex;flex-direction:column;align-items:center;background:#1c1810;border:1px solid var(--panel-border);border-radius:4px;padding:6px 4px}.status-cell-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.status-cell-value{font-size:15px;font-weight:700;color:var(--gold-bright)}.rarity-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid currentColor;border-radius:3px;padding:1px 6px}.affix-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.affix-chip{font-size:10px;color:var(--gold-bright);background:#241f16;border:1px solid #3a3122;border-radius:3px;padding:2px 6px}.event-log{margin-top:16px;max-height:220px;overflow-y:auto;display:flex;flex-direction:column-reverse;gap:4px;font-size:12px}.event-log-entry{color:var(--text-dim)}.event-log-entry.important{color:var(--gold-bright)}.offline-banner{background:#2a2418;border:1px solid var(--gold);border-radius:4px;padding:12px;margin-bottom:16px;font-size:13px;color:var(--gold-bright)}.status-dead{color:var(--hp-red);font-size:12px}
