@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;700&display=swap";:root{--bg-color: #050505;--text-color: #00ff41;--dim-text: #008f11;--dark-text: #003b00;--accent-color: #00ff41;--error-color: #ff3131;--warning-color: #ff9d00;--border-style: 1px solid var(--dim-text);--glow-shadow: 0 0 10px rgba(0, 255, 65, .2);--scanline-color: rgba(18, 16, 16, .1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:JetBrains Mono,monospace;height:100vh;overflow:hidden;position:relative}body:before{content:" ";display:block;position:absolute;inset:0;background:linear-gradient(var(--scanline-color) 50%,rgba(0,0,0,.1) 50%);background-size:100% 4px;z-index:9999;pointer-events:none;opacity:.15}body:after{content:" ";display:block;position:absolute;inset:0;background:radial-gradient(#12101000 50%,#00000040),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);z-index:9998;pointer-events:none;opacity:.2}#root{display:flex;flex-direction:column;height:100vh;padding:1rem;z-index:10;position:relative}.terminal-window{border:var(--border-style);box-shadow:var(--glow-shadow);background:#0014004d;padding:1.5rem;margin-bottom:1rem;position:relative}.terminal-header{border-bottom:var(--border-style);padding-bottom:.5rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;font-weight:700;text-transform:uppercase;letter-spacing:2px}.terminal-header .status-ok{color:var(--text-color);text-shadow:0 0 5px var(--text-color)}.button{background:transparent;border:1px solid var(--text-color);color:var(--text-color);padding:.5rem 1rem;font-family:inherit;cursor:pointer;text-transform:uppercase;transition:all .2s}.button:hover{background:var(--text-color);color:var(--bg-color);box-shadow:0 0 15px var(--text-color)}.button:active{transform:translateY(2px)}.input{background:#00280080;border:1px solid var(--dim-text);color:var(--text-color);padding:.5rem;font-family:inherit;width:100%;margin-bottom:1rem}.input:focus{outline:none;border-color:var(--text-color);box-shadow:0 0 10px #00ff414d}.log-container{flex:1;overflow-y:auto;border:var(--border-style);padding:1rem;background:#000a00cc;font-size:.85rem;line-height:1.4}.log-entry{margin-bottom:.25rem;border-left:2px solid transparent;padding-left:.5rem}.log-entry.info{color:var(--text-color)}.log-entry.warn{color:var(--warning-color);border-color:var(--warning-color)}.log-entry.error{color:var(--error-color);border-color:var(--error-color)}.log-entry.combat{color:#0ff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--dim-text)}::-webkit-scrollbar-thumb:hover{background:var(--text-color)}.admin-table{width:100%;border-collapse:collapse;font-size:.8rem}.admin-table th{text-align:left;border-bottom:2px solid var(--dim-text);padding:.5rem;color:var(--dim-text);font-size:.7rem;text-transform:uppercase}.admin-table td{padding:.5rem;border-bottom:1px solid var(--dark-text)}.admin-table tr:hover{background:#00ff410d}@keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.cursor{display:inline-block;width:10px;height:1.2em;background-color:var(--text-color);vertical-align:middle;margin-left:4px;animation:blink 1s infinite}.table-link{padding:.3rem;cursor:pointer;opacity:.6;transition:all .2s;border-bottom:1px solid transparent}.table-link:hover{opacity:1;background:#00ff411a;border-bottom-color:var(--dim-text);padding-left:.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes heartbeat{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.heartbeat{animation:heartbeat 2s ease-in-out infinite;display:inline-block}.overview-dashboard{display:flex;flex:1;min-height:0;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:.5rem}.overview-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:.5rem}.overview-compact-stat{min-width:0;border:1px solid var(--dark-text);background:#0028001a;padding:.55rem .7rem}.overview-compact-stat>div{overflow:hidden;margin-bottom:.15rem;opacity:.65;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.overview-compact-stat strong{display:block;overflow:hidden;font-size:1.15rem;letter-spacing:1px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.overview-compact-stat>span{display:block;overflow:hidden;margin-top:.1rem;color:var(--dim-text);font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}.overview-total-stat{border-color:var(--dim-text);box-shadow:inset 3px 0 0 var(--accent-color)}.overview-memory-value{font-size:.82rem!important;line-height:1.65!important}.overview-main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:1rem;min-height:600px}.overview-live-section,.overview-lightsail-section,.overview-chats-section,.overview-chat-panel{min-width:0}.overview-live-section,.overview-lightsail-section{display:flex;min-height:0;flex-direction:column}.overview-lightsail-section{gap:1rem}.overview-panel-heading{display:flex;min-height:1.6rem;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;border-bottom:1px solid var(--dim-text);padding-bottom:.45rem;font-size:.65rem;font-weight:700;letter-spacing:1px;opacity:.85}.overview-panel-heading span{display:flex;align-items:center;gap:.45rem}.overview-player-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid var(--dark-text);background:#0003}.overview-player-table thead{position:sticky;z-index:1;top:0;background:#1a1a1a}.overview-player-name{color:#4fc3f7;font-weight:700}.overview-sync-line{margin-top:.4rem;text-align:right;font-size:.55rem;opacity:.35}.overview-chats-section{display:flex;flex-direction:column}.overview-chats-heading{margin-bottom:.65rem}.overview-chat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.overview-chat-panel{display:flex;flex-direction:column;border:1px solid var(--dark-text);background:#000a0040;padding:.65rem}.overview-chat-panel .overview-panel-heading{margin-bottom:0;font-size:.58rem}.overview-chat-log{height:260px;overflow-y:auto;padding:.55rem .25rem .25rem;font-size:.63rem;line-height:1.55;scrollbar-gutter:stable}.overview-chat-message{padding:.15rem 0;overflow-wrap:anywhere}.overview-chat-time{margin-right:.35rem;opacity:.38}.overview-chat-channel{margin-right:.35rem;color:#ffa726;opacity:.8;text-transform:uppercase}.overview-chat-sender{margin-right:.4rem;color:#4fc3f7;font-weight:700}.overview-chat-location{margin-left:.4rem;color:#81c784;opacity:.5}.overview-empty-state{padding:2rem!important;text-align:center!important;opacity:.3}@media(max-width:1200px){.overview-stat-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.overview-main-grid,.overview-chat-grid{grid-template-columns:minmax(0,1fr)}}.stats-dashboard{overflow-y:auto;padding-right:.35rem}.stats-toolbar,.stats-game-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.stats-toolbar{margin-bottom:1rem;padding:.8rem;border:1px solid var(--dark-text);background:#000f0038}.stats-title{display:flex;align-items:center;gap:.45rem;font-size:.8rem}.stats-subtitle{margin-top:.3rem;font-size:.6rem;opacity:.45}.stats-range-controls{display:flex;gap:.4rem}.stats-range-button,.stats-refresh-button{min-width:auto;padding:.4rem .65rem;font-size:.6rem}.stats-range-button.active{color:#020;background:var(--text-color)}.stats-refresh-button{display:grid;place-items:center}.stats-spin{animation:stats-spin .8s linear infinite}@keyframes stats-spin{to{transform:rotate(360deg)}}.stats-page-error,.stats-chart-empty{border:1px solid #ef5350;color:#ef9a9a;padding:1rem;font-size:.68rem}.stats-game-list{display:flex;flex-direction:column;gap:1rem}.stats-game-panel{border:1px solid var(--dark-text);background:#000a0038;padding:.85rem}.stats-game-heading{margin-bottom:.75rem;font-size:.72rem}.stats-legend{display:flex;gap:1rem;font-size:.55rem;opacity:.75}.stats-legend span{display:flex;align-items:center;gap:.35rem}.stats-legend i{width:18px;height:2px}.stats-legend .stats-character-key{height:0;border-top:2px dashed #ce93d8}.stats-summary-grid,.stats-activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.65rem}.stats-activity-grid>div{display:grid;gap:.2rem;border:1px solid rgba(79,195,247,.2);border-left:3px solid #4fc3f7;padding:.55rem .7rem;background:#4fc3f709}.stats-activity-grid span,.stats-activity-grid small{font-size:.52rem;opacity:.55}.stats-activity-grid strong{color:#81d4fa;font-size:1.2rem}.stats-summary-grid>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.25rem .4rem;border:1px solid rgba(0,255,65,.13);padding:.55rem}.stats-summary-grid span,.stats-summary-grid small{font-size:.52rem;opacity:.52}.stats-summary-grid strong,.stats-summary-grid small{grid-column:1 / -1}.stats-summary-grid strong{font-size:1.15rem}.growth-chart{display:block;width:100%;max-height:330px;border:1px solid rgba(0,255,65,.13);background:#0000002e}.growth-grid-line{stroke:#00ff4124;stroke-width:1;stroke-dasharray:4 5}.growth-grid-line-vertical{opacity:.45}.growth-axis-line{stroke:#00ff4185;stroke-width:1.4}.growth-axis-tick,.growth-axis-label{fill:var(--text-color);font-family:inherit}.growth-axis-tick{font-size:11px;opacity:.65}.growth-axis-label{font-size:11px;font-weight:700;letter-spacing:1px;opacity:.75}.growth-series{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}.growth-series-characters{stroke:#ce93d8;stroke-dasharray:7 4}.growth-character-point{fill:#ce93d8}.idle-level-section{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--dark-text)}.idle-level-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem;color:#81c784;font-size:.68rem}.idle-level-heading small{max-width:620px;color:var(--text-color);font-size:.5rem;line-height:1.4;text-align:right;opacity:.42}.idle-level-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.65rem}.idle-level-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;border:1px solid rgba(129,199,132,.18);padding:.55rem .7rem}.idle-level-summary span{font-size:.52rem;opacity:.55}.idle-level-summary strong{color:#a5d6a7;font-size:1rem}.idle-level-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.idle-level-chart-grid>div{min-width:0}.idle-level-chart-grid h4{margin:0 0 .4rem;font-size:.58rem;font-weight:400;opacity:.62}.level-chart{display:block;width:100%;max-height:300px;border:1px solid rgba(0,255,65,.13);background:#0000002e}.level-bar-value{fill:var(--text-color);font-family:inherit;font-size:10px;opacity:.8}@media(max-width:800px){.stats-toolbar,.stats-game-heading{align-items:flex-start;flex-direction:column}.stats-summary-grid,.stats-activity-grid,.idle-level-summary,.idle-level-chart-grid{grid-template-columns:minmax(0,1fr)}.idle-level-heading{align-items:flex-start;flex-direction:column}.idle-level-heading small{text-align:left}}
