#hacking-view{display:none;width:100%;height:100%}.hacking-layout{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:1fr;gap:15px;height:100%;min-height:400px}.hacking-zones-section{border:var(--ui-border-light);border-radius:var(--ui-radius-md);padding:var(--card-padding,10px);background:var(--surface-secondary,transparent);overflow-y:auto;min-height:0}.zone-list{display:flex;flex-direction:column;gap:10px}.zone-item{border:var(--ui-border-light);border-radius:var(--ui-radius-md);padding:var(--card-padding,10px);background:var(--surface-secondary,transparent);cursor:pointer;transition:all .2s ease}.zone-item:hover:not(.zone-locked):not(.zone-disabled){border-color:var(--accent-color);background:var(--surface-hover,rgba(0,255,0,5%));transform:var(--ui-transform-hover-lift);box-shadow:var(--ui-shadow-sm)}.zone-item.zone-active{border-color:var(--accent-color);background:var(--surface-hover,rgba(0,255,0,.1));box-shadow:var(--glow-accent,none)}.zone-item.zone-locked{opacity:.5;cursor:not-allowed}.zone-item.zone-disabled{cursor:default}.zone-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.zone-name{font-weight:700;color:var(--text-color)}.zone-level{font-size:.85em;color:var(--dim-color)}.zone-softcap{font-size:.8em;margin-bottom:6px}.zone-desc{font-size:.85em;margin-bottom:8px}.zone-rewards{display:flex;gap:10px;flex-wrap:wrap;font-size:.8em}.zone-reward{color:var(--special-color)}.zone-status{margin-top:8px;font-size:.9em}.hacking-combat-section{border:var(--ui-border-light);border-radius:var(--ui-radius-md);padding:var(--card-padding,10px);background:var(--surface-secondary,transparent);display:flex;flex-direction:column;min-height:0;overflow-y:auto}.combat-log-header{display:flex;justify-content:space-between;align-items:center;margin-top:15px;margin-bottom:5px;flex-shrink:0}.combat-log-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.detailed-logs-toggle{display:flex;align-items:center;gap:5px;font-size:.85em;color:var(--dim-color);cursor:pointer}.detailed-logs-toggle:hover{color:var(--text-color)}.detailed-logs-toggle input[type=checkbox]{cursor:pointer}.detailed-logs-toggle input[type=checkbox]:checked+span{color:var(--accent-color)}.loss-history-trigger{border:1px solid var(--dim-color);background:0 0;color:var(--text-color);padding:4px 8px;border-radius:var(--ui-radius-sm);font-size:.85em;cursor:pointer}.loss-history-trigger:hover,.loss-history-trigger:focus-visible{border-color:var(--accent-color);color:var(--accent-color)}.combat-status{min-height:150px;margin-bottom:15px;flex-shrink:0}.combat-idle{display:flex;flex-direction:column;align-items:center;justify-content:center;height:150px;text-align:center}.combat-result{padding:10px;border:1px solid var(--dim-color);container-type:inline-size}.combat-result.combat-victory{border-color:var(--success-color);background-color:rgba(0,255,0,5%)}.combat-result.combat-defeat{border-color:var(--error-color);background-color:rgba(255,0,0,5%)}.result-header{font-size:clamp(.7rem,3cqi,1.1rem);font-weight:700;margin-bottom:8px;white-space:nowrap}.combat-victory .result-header{color:var(--success-color)}.combat-defeat .result-header{color:var(--error-color)}.result-enemy{margin-bottom:8px;color:var(--accent-color);font-size:clamp(.65rem,2.8cqi,1rem);white-space:nowrap}.result-stats{display:flex;gap:clamp(5px,2cqi,15px);margin-bottom:8px;font-size:clamp(.6rem,2.5cqi,.9rem);color:var(--dim-color);white-space:nowrap}.result-rewards{display:flex;flex-wrap:wrap;gap:clamp(5px,2cqi,15px);margin-top:8px;font-size:clamp(.6rem,2.5cqi,1rem);white-space:normal}.result-rewards>span{min-width:0;overflow-wrap:anywhere}.result-effects{display:flex;flex-wrap:wrap;gap:clamp(5px,2cqi,15px);margin-top:8px;font-size:clamp(.6rem,2.5cqi,.9rem)}.reward-exp{color:var(--special-color)}.reward-credits{color:var(--success-color)}.reward-drop{color:var(--warning-color)}.reward-bonus{color:var(--accent-color)}.level-up-notice{margin-top:10px;color:var(--warning-color);font-weight:700;font-size:clamp(.65rem,2.8cqi,1rem);animation:pulse 1s ease-in-out infinite}.defeat-notice{margin-top:10px;color:var(--error-color);font-size:clamp(.65rem,2.8cqi,1rem)}.combat-log{flex:1;overflow-y:auto;border:var(--ui-border-light);border-radius:var(--ui-radius-sm);padding:10px;font-size:.85em;min-height:200px;background-color:rgba(0,0,0,.2);container-type:inline-size}.log-entry{padding:3px 0;display:flex;flex-wrap:wrap;column-gap:clamp(3px,1.5cqi,8px);row-gap:0;font-size:clamp(.55rem,2.5cqi,.85rem)}.log-entry>span{white-space:nowrap}.log-entry .log-enemy{flex:auto;min-width:8ch;overflow:hidden;text-overflow:ellipsis}.log-details{display:flex;gap:clamp(3px,1.5cqi,8px)}.log-entry.log-victory .log-result{color:var(--success-color)}.log-entry.log-defeat .log-result{color:var(--error-color)}.log-enemy{color:var(--accent-color)}.log-rounds{color:var(--dim-color)}.log-rewards{color:var(--special-color)}.log-drop{color:var(--warning-color)}.log-rollback{color:var(--accent-color);font-weight:600}.log-rollback-cooldown{color:var(--dim-color)}.log-expand{color:var(--dim-color);cursor:pointer}.log-expand:hover{color:var(--accent-color)}.detailed-combat-log{margin:4px 0 8px 20px;padding:8px;background-color:rgba(0,0,0,.3);border-left:2px solid var(--border-color);font-size:.85em}.combat-round{display:flex;gap:12px;padding:2px 0;flex-wrap:wrap}.round-num{color:var(--text-color);min-width:30px;font-weight:600}.player-action{color:var(--success-color);min-width:140px}.enemy-action{color:var(--error-color);min-width:140px}.hp-status{color:var(--text-color);margin-left:auto;font-weight:600}.combat-log-modal{position:fixed;z-index:1001;background:var(--bg-color);border:2px solid var(--accent-color);box-shadow:0 4px 20px rgba(0,0,0,.7);min-width:340px;min-height:200px;width:550px;height:380px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.combat-log-modal.hidden{display:none}.combat-log-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--accent-color);color:var(--bg-color);cursor:move;user-select:none;flex-shrink:0}.combat-log-modal .modal-header #combat-log-modal-title{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-log-modal .combat-log-modal-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.combat-log-modal .combat-log-export-button{border:1px solid;background:0 0;color:inherit;cursor:pointer;font-family:inherit;font-size:.8em;font-weight:600;line-height:1.2;padding:2px 6px}.combat-log-modal .combat-log-export-button:hover:not(:disabled){opacity:.75}.combat-log-modal .combat-log-export-button:disabled{cursor:not-allowed;opacity:.45}.combat-log-modal .modal-close{cursor:pointer;font-weight:600;padding:0 4px}.combat-log-modal .modal-close:hover{opacity:.7}.combat-log-modal .modal-content{flex:1;overflow-y:auto;padding:12px}.combat-log-modal .modal-content .combat-round{padding:4px 0;border-bottom:1px solid rgba(255,255,255,5%)}.combat-log-modal .modal-content .combat-round:last-child{border-bottom:none}.combat-log-grid{display:grid;grid-template-columns:auto auto auto auto;gap:4px 12px;align-items:baseline;font-size:.85em}.combat-log-grid .round-num{color:var(--text-color)}.combat-log-grid .player-action{color:var(--success-color)}.combat-log-grid .enemy-action{color:var(--error-color)}.combat-log-grid .hp-status{color:var(--text-color);text-align:right}.combat-log-grid .log-header{color:var(--text-color);font-weight:600;border-bottom:1px solid var(--dim-color);padding-bottom:4px;margin-bottom:4px}.combat-log-grid .combat-log-topline{grid-column:1/-1;color:var(--text-color);font-weight:600;padding-bottom:4px}.combat-log-grid .detail-starting-hp{color:var(--text-color)}.combat-log-grid .detail-starting-hp-warning{color:var(--warning-color);font-weight:700}.combat-log-grid .post-round{opacity:.7;font-size:.9em}.combat-log-grid .regen-text{color:var(--success-color)}.combat-log-grid .corruption-dmg{color:var(--error-color)}.combat-log-grid .thorns-dmg-incoming{color:var(--error-color)}.combat-log-grid .thorns-dmg-reflected{color:var(--success-color)}.combat-log-grid .quarantine-freeze{color:var(--accent-color);font-weight:700}.modal-enemy-stats{margin-bottom:12px;padding:8px 10px;background-color:rgba(0,0,0,.3);border:1px solid var(--dim-color);overflow:hidden}.modal-enemy-stats .stats-label{color:var(--text-color);font-weight:600;margin-bottom:6px;font-size:.9em}.modal-enemy-stats .stats-grid{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:.85em}.modal-enemy-stats .stat-item{display:flex;gap:4px;white-space:nowrap;width:150px}.modal-enemy-stats .stat-name{color:var(--text-color);font-weight:600}.modal-enemy-stats .stat-value{color:var(--text-color)}.enemy-crit-mitigation{margin-top:8px;padding-top:8px;border-top:1px solid var(--dim-color)}.enemy-crit-mitigation .crit-mitigation-grid{display:flex;flex-direction:column;gap:4px;font-size:.85em}.enemy-crit-mitigation .crit-mitigation-row{display:flex;flex-wrap:wrap;gap:4px 8px}.combat-log-modal .modal-resize-handle{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:se-resize;background:linear-gradient(135deg,transparent 50%,var(--dim-color) 50%);user-select:none;-webkit-user-select:none;z-index:10}.loss-streak-history-modal{position:fixed;inset:0;z-index:1001;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.6)}.loss-streak-history-modal.hidden{display:none}.loss-streak-history-content{width:min(680px,100%);max-height:min(70vh,640px);display:flex;flex-direction:column;background:var(--bg-color);border:2px solid var(--accent-color);box-shadow:0 8px 24px rgba(0,0,0,.65)}.loss-streak-history-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--accent-color);color:var(--bg-color)}.loss-streak-history-header .modal-close{cursor:pointer;font-weight:600;padding:0 4px;color:inherit;background:0 0;border:0}.loss-streak-history-header .modal-close:hover{opacity:.7}.loss-streak-history-body{overflow-y:auto;padding:12px}.loss-history-empty{padding:12px 4px}.loss-history-entry{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,6%);border-left:3px solid var(--error-color);margin-bottom:2px;transition:background .15s ease}.loss-history-entry:hover{background:rgba(255,255,255,3%)}.loss-history-entry:last-child{border-bottom:none}.loss-history-index{color:var(--dim-color);min-width:28px;font-weight:700;font-size:.85em;padding-top:2px}.loss-history-main{min-width:0}.loss-history-headline,.loss-history-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.loss-history-headline{margin-bottom:6px}.loss-history-streak{color:var(--bg-color);background:var(--error-color);font-weight:700;padding:1px 8px;font-size:.85em;letter-spacing:.03em}.loss-history-enemy{font-weight:600;color:var(--accent-color)}.loss-history-time{color:var(--dim-color);font-size:.88em;white-space:nowrap}.loss-history-log-button{color:var(--bg-color);cursor:pointer;background:var(--accent-color);border:1px solid var(--accent-color);border-radius:3px;padding:2px 8px;font:inherit;font-weight:700;line-height:1.2;white-space:nowrap;box-shadow:0 0 0 1px rgba(0,0,0,.18)}.loss-history-log-button:hover{filter:brightness(1.08)}.loss-history-log-button:focus-visible{outline:2px solid var(--text-color);outline-offset:2px}.loss-history-meta{font-size:.9em;gap:16px}.loss-history-hp{color:var(--success-color);font-weight:600}.loss-history-hp-warning{color:var(--warning-color)}.loss-history-level{color:var(--warning-color);font-weight:600}.loss-history-archetype{color:var(--special-color)}.loss-history-rewards,.loss-history-rewards-rate{color:var(--info-color);font-style:italic}.gear-switch-history-entry{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,6%);border-left:3px solid var(--accent-color);margin-bottom:2px;transition:background .15s ease}.gear-switch-history-entry:hover{background:rgba(255,255,255,3%)}.gear-switch-history-entry:last-child{border-bottom:none}.gear-switch-history-main{min-width:0}.gear-switch-history-headline,.gear-switch-history-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.gear-switch-history-headline{margin-bottom:6px}.gear-switch-history-set{color:var(--bg-color);background:var(--accent-color);font-weight:700;padding:1px 8px;font-size:.85em;letter-spacing:.03em}.gear-switch-history-time{color:var(--dim-color);font-size:.9em}.gear-switch-history-reason{color:var(--text-color);font-weight:600;margin-bottom:5px}.gear-switch-history-meta{color:var(--info-color);font-size:.9em;gap:16px}.archetype-icon{cursor:help}.archetype-twemoji-icon,.log-drop-twemoji,.combat-inline-twemoji{width:1em;height:1em}.archetype-twemoji-icon+.archetype-twemoji-icon{margin-left:2px}.archetype-tooltip{display:none;position:fixed;z-index:10000;padding:6px 10px;max-width:250px;background:#1a1a2e;color:#e0e0e0;border:1px solid #444;border-radius:3px;font-size:.75rem;line-height:1.4;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.5);pointer-events:none}@media(max-width:900px){#hacking-view{height:auto}.hacking-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:auto;min-height:0}.hacking-zones-section{max-height:200px}.combat-log-controls{gap:8px;justify-content:flex-end}.detailed-logs-toggle{font-size:.8em}.loss-streak-history-modal{padding:12px}.loss-streak-history-content{max-height:80vh}.hacking-combat-section{height:clamp(22rem,58vh,40rem);height:clamp(22rem,58svh,40rem);min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.combat-log{min-height:0;min-width:0;overscroll-behavior:contain}.combat-log-modal{left:0!important;top:0!important;width:100vw!important;height:100vh!important;max-width:100vw;max-height:100vh;min-width:0}.combat-log-modal .modal-header{cursor:default}.combat-log-modal .modal-resize-handle{display:none}.combat-log-grid{display:flex;flex-direction:column;gap:0}.combat-log-grid .log-header{display:none}.combat-log-grid .round-num{margin-top:8px;padding-top:6px;border-top:1px solid var(--dim-color);font-weight:600}.combat-log-grid .round-num:first-of-type{margin-top:0;border-top:none}.combat-log-grid .round-num.post-round{margin-top:2px;padding-top:0;border-top:none}.combat-log-grid .player-action,.combat-log-grid .enemy-action,.combat-log-grid .hp-status{padding-left:12px;text-align:left}.combat-log-grid .player-action::before{content:"You: ";color:var(--text-color);font-weight:600}.combat-log-grid .enemy-action::before{content:"Enemy: ";color:var(--text-color);font-weight:600}.combat-log-grid .player-action.post-round::before,.combat-log-grid .enemy-action.post-round::before{content:none}.combat-log-grid .hp-status{grid-column:unset;margin-left:0}.modal-enemy-stats .stat-item{width:auto}.combat-round{flex-direction:column;gap:2px}.player-action,.enemy-action{min-width:0}.zone-header{flex-wrap:wrap;gap:4px}.zone-name{word-break:break-word}}