*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1e1e1e;color:#fff;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow:hidden;padding:0}#root{height:100vh;width:100vw}code{font-family:Consolas,Courier New,source-code-pro,Menlo,Monaco,monospace}:focus{outline:2px solid #0078d4;outline-offset:2px}button:focus,input:focus,select:focus{outline:2px solid #0078d4;outline-offset:1px}.app{background:#1e1e1e;color:#fff;display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{background:#2d2d2d;border-bottom:1px solid #404040;box-shadow:0 2px 4px #0003;flex-shrink:0;justify-content:space-between;padding:16px 24px}.app-header,.header-content{align-items:center;display:flex}.header-content{gap:24px}.app-header h1{color:#fff;font-size:24px;font-weight:600;margin:0}.header-stats{color:#a0a0a0;display:flex;font-size:14px;gap:20px}.header-stats span{background:#1e1e1e;border-radius:4px;padding:4px 12px}.header-actions{gap:10px}.btn-refresh,.header-actions{align-items:center;display:flex}.btn-refresh{background:#404040;border:1px solid #505050;border-radius:4px;color:#fff;cursor:pointer;font-size:20px;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-refresh:hover{background:#505050;border-color:#606060}.btn-refresh:active{background:#303030}.btn-logout{background:#404040;border:1px solid #505050;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-logout:hover{background:#505050;border-color:#606060}.btn-logout:active{background:#303030}.app-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px;height:100vh;justify-content:center;padding:40px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #404040;border-radius:50%;border-top-color:#0078d4;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{color:#a0a0a0;font-size:16px}.error-icon{color:#f44;font-size:64px}.error-container h2{color:#fff;font-size:24px;margin:0}.error-container p{color:#a0a0a0;margin:0;max-width:500px;text-align:center}.btn-retry{background:#0078d4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:20px;padding:10px 24px;transition:background-color .2s}.btn-retry:hover{background:#106ebe}.btn-retry:active{background:#005a9e}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:#1e1e1e}::-webkit-scrollbar-thumb{background:#404040;border:2px solid #1e1e1e;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#505050}*{scrollbar-color:#404040 #1e1e1e;scrollbar-width:thin}.player-card{background:#2d2d2d;border:1px solid #404040;border-radius:6px;box-sizing:border-box;display:flex;flex-direction:column;max-height:calc(100vh - 200px);min-width:0;overflow:hidden;padding:16px;transition:border-color .2s,box-shadow .2s}.player-card:hover{border-color:#505050;box-shadow:0 2px 8px #0000004d}.player-card-header{align-items:center;border-bottom:1px solid #404040;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.player-tabs{display:flex;flex:1 1;gap:4px}.player-tab{background:#1e1e1e;border:1px solid #404040;border-bottom:none;border-radius:4px 4px 0 0;color:#a0a0a0;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.player-tab:hover{background:#252525;color:#fff}.player-tab.active{background:#2d2d2d;border-color:#0078d4 #0078d4 #2d2d2d;color:#fff;position:relative;z-index:1}.player-status-badge{border-radius:12px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase;transition:opacity .2s,transform .2s;-webkit-user-select:none;user-select:none}.player-status-badge:hover{opacity:.8;transform:scale(1.05)}.player-status-badge.changed{box-shadow:0 0 0 2px #4caf5080}.status-badge-select{border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;outline:none;padding:4px 10px;text-transform:uppercase}.status-badge-select option{background:#2d2d2d;color:#fff}.player-card-content{display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;min-width:0;overflow:hidden;width:100%}.save-actions-bar{display:flex;flex-shrink:0;gap:8px}.btn-save{background:#0078d4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:background-color .2s}.btn-save:hover:not(:disabled){background:#106ebe}.btn-save:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{background:#404040;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:background-color .2s}.btn-cancel:hover{background:#505050}.player-name-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.player-name-field{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.field-label{color:#a0a0a0;font-size:13px;font-weight:500}.player-name{color:#fff;flex:1 1;font-size:18px;font-weight:600;min-width:0}.editable-value{border-radius:3px;cursor:pointer;padding:2px 4px;transition:all .2s;-webkit-user-select:none;user-select:none}.editable-value:hover{background:#ffffff1a}.editable-value.changed{background:#4caf5033;color:#4caf50;font-weight:600}.inline-edit-input{background:#252525;border:1px solid #0078d4;border-radius:3px;color:#fff;font-size:inherit;font-weight:inherit;min-width:60px;outline:none;padding:4px 8px}.inline-edit-input:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d433}.player-status-field{align-items:center;background:#1e1e1e;border-radius:4px;display:flex;gap:8px;margin-bottom:12px;padding:6px 10px}.tab-content{display:flex;flex:1 1;flex-direction:column;min-height:200px;min-height:0;overflow:hidden}.loading-state{color:#a0a0a0;text-align:center}.empty-state,.loading-state{font-size:14px;padding:40px 20px}.empty-state{color:#606060;font-style:italic}.action-logs-list{display:flex;flex:1 1;flex-direction:column;gap:8px;max-height:100%;min-height:0;overflow-y:auto}.action-log-item{background:#1e1e1e;border:1px solid #404040;border-radius:4px;display:flex;flex-direction:column;gap:6px;padding:12px;transition:background-color .2s}.action-log-item:hover{background:#252525}.log-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.log-type{color:#0078d4;font-size:12px;font-weight:600;text-transform:uppercase}.log-timestamp{color:grey;font-family:Consolas,Courier New,monospace;font-size:11px;white-space:nowrap}.log-action{color:#fff;font-size:13px;padding-left:4px;word-break:break-word}.game-history-list{display:flex;flex:1 1;flex-direction:column;gap:8px;max-height:100%;min-height:0;overflow-y:auto}.game-history-item{background:#1e1e1e;border:1px solid #404040;border-radius:4px;display:flex;flex-direction:column;gap:10px;padding:12px;transition:background-color .2s}.game-history-item:hover{background:#252525}.game-history-main{align-items:flex-start;display:flex;gap:12px}.game-history-image{border-radius:4px;flex-shrink:0;height:80px;object-fit:cover;width:60px}.game-history-info{flex:1 1;min-width:0}.game-history-name{color:#fff;font-size:14px;font-weight:600;margin-bottom:6px;word-break:break-word}.game-history-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.game-hours,.game-year{background:#2d2d2d;border-radius:3px;color:#a0a0a0;font-size:11px;padding:2px 6px}.game-status{border-radius:12px;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.game-status-completed{background:#4caf5033;color:#4caf50}.game-status-playing{background:#2196f333;color:#2196f3}.game-status-dropped{background:#f4433633;color:#f44336}.game-history-details{border-top:1px solid #2d2d2d;color:#a0a0a0;display:flex;flex-direction:column;font-size:12px;gap:6px;padding-top:8px}.game-detail-row{display:flex;flex-wrap:wrap;gap:16px}.game-detail-row.wasteland-king{color:gold;font-weight:500}.game-date{color:grey;font-size:11px}.player-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:8px;min-width:0;width:100%}.stat-item{align-items:center;background:#1e1e1e;border-radius:4px;box-sizing:border-box;display:flex;font-size:13px;justify-content:space-between;min-width:0;overflow:hidden;padding:6px 10px;transition:background-color .2s}.stat-item.changed{background:#4caf5026;border:1px solid #4caf504d}.stat-item-full{grid-column:1/-1}.stat-label{color:#a0a0a0;flex-shrink:0;margin-right:8px}.stat-value{color:#fff;flex-shrink:0;font-weight:600;min-width:0;text-align:right;word-break:break-word}.player-chips{gap:12px;margin-bottom:8px}.chips-section,.player-chips{display:flex;flex-direction:column}.chips-section{background:#1e1e1e;border-radius:4px;gap:8px;padding:10px}.chips-section-title{color:#a0a0a0;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.chips-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.chip-stat-item{background:#252525;border-radius:3px;display:flex;flex-direction:column;gap:4px;padding:6px 8px}.chip-stat-label{color:grey;font-size:10px;text-transform:uppercase}.chip-stat-value{color:#fff;font-size:16px;font-weight:600}.chip-stat-item.changed{background:#4caf5026;border:1px solid #4caf504d}.player-current-game{background:#1e1e1e;border:1px solid #404040;border-radius:4px;margin-top:8px;padding:10px}.current-game-label{color:#a0a0a0;font-size:11px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.current-game-info{align-items:center;display:flex;gap:12px}.current-game-image{border:1px solid #404040;border-radius:4px;height:60px;object-fit:cover;width:60px}.current-game-details{display:flex;flex:1 1;flex-direction:column;gap:4px}.current-game-name{color:#fff;font-size:14px;font-weight:600}.current-game-reward{color:#4caf50;font-size:12px;font-weight:500}.current-game-hours{color:#a0a0a0;font-size:11px}.player-games-stats{grid-gap:6px;background:#1e1e1e;border-radius:4px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);margin-bottom:8px;padding:8px}.games-stat-item{align-items:center;display:flex;flex-direction:column;font-size:12px;gap:4px;transition:background-color .2s}.games-stat-item.changed{background:#4caf5026;border:1px solid #4caf504d}.games-stat-label{color:#a0a0a0;font-size:11px}.games-stat-value{color:#fff;font-size:14px;font-weight:600}.player-effects{margin-top:8px}.effects-label{color:#a0a0a0;font-size:12px;font-weight:500;margin-bottom:6px}.effects-list{display:flex;flex-wrap:wrap;gap:6px}.effect-badge{align-items:center;background:#1e1e1e;border-radius:12px;color:#fff;cursor:help;display:inline-flex;font-size:11px;gap:6px;padding:5px 10px;position:relative;transition:all .2s}.effect-badge:hover{box-shadow:0 2px 4px #0000004d;transform:translateY(-1px)}.effect-positive{background:#4caf501a;border:1px solid #4caf50}.effect-positive:hover{background:#4caf5026}.effect-negative{background:#f443361a;border:1px solid #f44336}.effect-negative:hover{background:#f4433626}.effect-neutral{background:#ff98001a;border:1px solid #ff9800}.effect-neutral:hover{background:#ff980026}.effect-name{flex:1 1}.effect-type-badge{align-items:center;background:#404040;border-radius:50%;color:#fff;display:inline-flex;font-size:9px;font-weight:600;height:16px;justify-content:center;width:16px}.player-cooldowns{margin-top:8px}.cooldowns-label{color:#a0a0a0;font-size:12px;font-weight:500;margin-bottom:6px}.cooldowns-list{display:flex;flex-wrap:wrap;gap:6px}.cooldown-badge{align-items:center;background:#1e1e1e;border:1px solid #505050;border-radius:12px;display:inline-flex;font-size:11px;gap:6px;padding:4px 10px}.cooldown-name{color:#a0a0a0}.cooldown-turns{color:#ff9800;font-weight:600}.player-achievements{margin-top:8px}.achievements-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.achievements-label{color:#a0a0a0;font-size:12px;font-weight:500}.achievement-grant-select{background:#0078d4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;outline:none;padding:4px 8px;transition:background-color .2s}.achievement-grant-select:focus,.achievement-grant-select:hover{background:#106ebe}.achievement-grant-select option{background:#1e1e1e;color:#fff;padding:4px}.no-achievements{color:#606060;font-size:12px;font-style:italic;padding:8px 0}.achievements-list{display:flex;flex-wrap:wrap;gap:6px}.achievement-badge{align-items:center;background:#1e1e1e;border:1px solid #404040;border-radius:12px;color:#fff;display:flex;font-size:11px;gap:6px;padding:4px 10px}.achievement-remove{align-items:center;background:#0000;border:none;border-radius:50%;color:#f44;cursor:pointer;display:flex;font-size:18px;height:18px;justify-content:center;line-height:1;padding:0;transition:background-color .2s;width:18px}.achievement-remove:hover{background:#f443}.btn-edit{background:#0078d4;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:500;padding:6px 14px;transition:background-color .2s;white-space:nowrap}.btn-edit:hover{background:#106ebe}.btn-edit:active{background:#005a9e}.player-card-edit{display:flex;flex-direction:column;gap:12px}.form-group{gap:6px}.form-group label{font-size:12px}.form-group input,.form-group select{background:#1e1e1e;border:1px solid #404040;border-radius:4px;color:#fff;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#0078d4}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:10px;margin-top:8px}.btn-primary{background:#0078d4;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:background-color .2s}.btn-primary:hover:not(:disabled){background:#106ebe}.btn-primary:active:not(:disabled){background:#005a9e}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#404040;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:background-color .2s}.btn-secondary:hover{background:#505050}.btn-secondary:active{background:#303030}@media (max-width:480px){.form-row{grid-template-columns:1fr}}.player-list-container{flex:1 1;overflow-y:auto;padding:20px}.player-list-header{margin-bottom:20px}.player-list-header h2{color:#fff;font-size:24px;font-weight:600;margin:0 0 15px}.player-list-filters{align-items:center;display:flex;gap:15px}.search-input{background:#2d2d2d;border:1px solid #404040;border-radius:4px;color:#fff;flex:1 1;font-size:14px;max-width:400px;outline:none;padding:8px 12px;transition:border-color .2s}.search-input:focus{border-color:#0078d4}.search-input::placeholder{color:grey}.status-filter{background:#2d2d2d;border:1px solid #404040;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s}.status-filter:focus{border-color:#0078d4}.status-filter option{background:#1e1e1e;color:#fff}.player-list-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));width:100%}.player-list-grid>*{min-width:0}.empty-state{color:grey;font-size:16px;padding:60px 20px;text-align:center}@media (max-width:768px){.player-list-grid{grid-template-columns:1fr}.player-list-filters{align-items:stretch;flex-direction:column}.search-input{max-width:100%}}.login-container{align-items:center;background:#1e1e1e;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#2d2d2d;border:1px solid #404040;border-radius:8px;box-shadow:0 4px 16px #0006;max-width:450px;overflow:hidden;width:100%}.login-header{border-bottom:1px solid #404040;padding:32px 32px 24px;text-align:center}.login-header h1{color:#fff;font-size:28px;font-weight:600;margin:0 0 8px}.login-header p{color:#a0a0a0;font-size:14px;margin:0}.login-tabs{background:#252525;border-bottom:1px solid #404040;display:flex}.login-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#a0a0a0;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:12px 16px;transition:all .2s}.login-tab:hover{background:#2d2d2d;color:#fff}.login-tab.active{background:#2d2d2d;border-bottom-color:#0078d4;color:#0078d4}.login-content{padding:32px}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#a0a0a0;font-size:13px;font-weight:500}.form-group input{background:#1e1e1e;border:1px solid #404040;border-radius:4px;color:#fff;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s}.form-group input:focus{border-color:#0078d4}.form-group input::placeholder{color:#606060}.form-group input:disabled{cursor:not-allowed;opacity:.6}.login-error{background:#ff44441a;border:1px solid #ff44444d;border-radius:4px;color:#ff6b6b;font-size:13px;padding:12px;text-align:center}.btn-login{background:#0078d4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;margin-top:8px;padding:12px 24px;transition:background-color .2s;width:100%}.btn-login:hover:not(:disabled){background:#106ebe}.btn-login:active:not(:disabled){background:#005a9e}.btn-login:disabled{cursor:not-allowed;opacity:.6}.btn-twitch{background:#9146ff}.btn-twitch:hover:not(:disabled){background:#7c3aed}.btn-hidden{background:#404040}.btn-hidden:hover:not(:disabled){background:#505050}.login-method-info{align-items:center;display:flex;flex-direction:column;gap:16px;text-align:center}.method-icon{font-size:48px;margin-bottom:8px}.login-method-info h3{color:#fff;font-size:20px;margin:0}.login-method-info p{color:#a0a0a0;font-size:14px;line-height:1.5;margin:0}@media (max-width:480px){.login-card{max-width:100%}.login-content,.login-header{padding:24px}.login-tabs{flex-direction:column}.login-tab{border-bottom:1px solid #404040;border-left:2px solid #0000}.login-tab.active{border-bottom-color:#404040;border-left-color:#0078d4}}
/*# sourceMappingURL=main.745dbeb2.css.map*/