*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;height:100dvh;overflow:hidden;background:#000;font-family:Share Tech Mono,Courier New,monospace;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.game-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000}.screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#050510;padding:20px}.screen h1{font-family:Orbitron,Share Tech Mono,monospace;font-size:clamp(28px,6vw,48px);color:#0ff;text-shadow:0 0 20px #00ffff,0 0 40px #0088ff;margin-bottom:10px;text-align:center}.screen h2{font-size:clamp(14px,3vw,20px);color:#88f;margin-bottom:30px;text-align:center}.btn-group{display:flex;flex-direction:column;gap:12px;width:100%;max-width:300px}.btn{padding:14px 24px;font-family:Orbitron,Share Tech Mono,monospace;font-size:clamp(14px,3vw,18px);border:2px solid #00ffff;background:#00ffff14;color:#0ff;cursor:pointer;text-align:center;transition:all .2s;letter-spacing:2px}.btn:hover,.btn:active{background:#0ff3;box-shadow:0 0 20px #00ffff4d;transform:scale(1.03)}.btn-easy{border-color:#4f4;color:#4f4;background:#44ff4414}.btn-easy:hover{background:#4f43}.btn-normal{border-color:#fa0;color:#fa0;background:#ffaa0014}.btn-normal:hover{background:#fa03}.btn-hard{border-color:#f33;color:#f33;background:#ff333314}.btn-hard:hover{background:#f333}.btn-brutal{border-color:#f0f;color:#f0f;background:#ff00ff14}.btn-brutal:hover:not(:disabled){background:#f0f3;box-shadow:0 0 20px #ff00ff4d}.btn-locked{opacity:.4;cursor:not-allowed;border-style:dashed}.btn-locked:hover{transform:none;box-shadow:none}.premium-badge{display:inline-block;font-size:8px;padding:1px 5px;margin-left:8px;border:1px solid #ffaa00;color:#fa0;border-radius:3px;letter-spacing:1px;vertical-align:middle}.btn-elite{border-color:#f0f;color:#f0f;background:#ff00ff14}.taunt-text{font-style:italic;font-size:clamp(11px,2.5vw,14px);max-width:320px;text-align:center;margin:8px 0 12px;line-height:1.4;animation:taunt-fade-in .8s ease-out;opacity:.9}@keyframes taunt-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:.9;transform:translateY(0)}}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:20px 0;font-size:clamp(12px,2.5vw,16px)}.stats-grid .label{color:#888;text-align:right}.stats-grid .value{color:#0ff;text-align:left}.skill-card{border:1px solid #333;background:#ffffff08;padding:12px;border-radius:4px}.skill-rank-pip{width:100%;height:4px;border-radius:2px;flex:1}.skill-upgrade-btn{width:100%;padding:6px 12px;font-family:Orbitron,Share Tech Mono,monospace;font-size:11px;border:1px solid #333;background:transparent;color:#555;cursor:pointer;transition:all .2s;letter-spacing:1px}.skill-upgrade-btn:hover:not(:disabled){background:#ffffff0d}.skill-upgrade-btn:disabled{cursor:not-allowed;opacity:.5}.btn-elite:hover{background:#f0f3}.char-screen{justify-content:flex-start;padding-top:15px;gap:0;overflow-y:auto}.char-shard-bank{font-family:Orbitron,Share Tech Mono,monospace;font-size:14px;color:#c4f;margin-bottom:8px;text-shadow:0 0 8px rgba(204,68,255,.4)}.forge-tabs{display:flex;gap:0;width:100%;max-width:340px;margin-bottom:10px}.forge-tab{flex:1;padding:8px 0;font-family:Orbitron,Share Tech Mono,monospace;font-size:11px;letter-spacing:2px;border:1px solid #333;background:transparent;color:#555;cursor:pointer;transition:all .2s}.forge-tab:first-child{border-radius:4px 0 0 4px}.forge-tab:last-child{border-radius:0 4px 4px 0}.forge-tab-active{border-color:#0cf;color:#0cf;background:#00ccff14;box-shadow:0 0 10px #00ccff26}.forge-tab:hover:not(.forge-tab-active){color:#888;border-color:#555}.char-shard-count{color:#f6f;font-size:18px;font-weight:700}.char-grid{display:grid;grid-template-areas:".     top    .    " "left  center right" ".     bottom extra";grid-template-columns:80px 1fr 80px;grid-template-rows:70px 100px 70px;gap:6px;width:100%;max-width:340px;align-items:center;justify-items:center;margin-bottom:8px}.char-grid-center{grid-area:center;display:flex;align-items:center;justify-content:center}.char-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:64px;border:1px solid var(--slot-color, #333);background:#0a0a1ae6;border-radius:6px;cursor:pointer;transition:all .2s;position:relative;padding:4px;font-family:Share Tech Mono,monospace}.char-slot:hover{background:#ffffff0d}.char-slot-selected{border-width:2px;background:#ffffff14;box-shadow:0 0 15px #ffffff1a,inset 0 0 10px #ffffff0d}.char-slot-locked{opacity:.5}.char-slot-locked:hover{opacity:.7}.char-slot-icon{font-size:22px;line-height:1}.char-slot-label{font-size:8px;color:#666;letter-spacing:1px;margin-top:2px}.char-slot-rank{position:absolute;top:2px;right:4px;font-family:Orbitron,monospace;font-size:10px;color:var(--slot-color);font-weight:700}.char-slot-pips{display:flex;gap:1px;margin-top:3px}.char-slot-pip{width:5px;height:2px;border-radius:1px}.raven-character{filter:drop-shadow(0 0 8px rgba(0,204,255,.3))}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-slow{animation:spin-slow 8s linear infinite;transform-origin:50px 45px}.char-detail-panel{width:100%;max-width:340px;border:1px solid var(--detail-color, #333);background:#0a0a1af2;border-radius:6px;padding:12px;animation:detail-slide-in .15s ease-out}@keyframes detail-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.char-detail-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.char-detail-icon{font-size:28px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--detail-color);border-radius:4px;background:#ffffff08}.char-detail-name{font-family:Orbitron,monospace;font-size:13px;color:var(--detail-color);letter-spacing:1px}.char-detail-type{font-size:9px;color:#555;letter-spacing:2px;margin-top:1px}.char-detail-desc{color:#888;font-size:11px;line-height:1.4;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #1a1a2e;white-space:pre-line}.char-detail-rank-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.char-detail-rank-label{font-family:Orbitron,monospace;font-size:10px;color:#888;letter-spacing:1px;white-space:nowrap;margin-right:8px}.char-detail-pips{display:flex;gap:2px;flex:1}.char-detail-stats{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:11px}.char-detail-stat-label{color:#666;font-size:9px;letter-spacing:1px}.char-detail-stat-value{color:#aaa}.char-detail-next{border-top:1px dashed #1a1a2e;padding-top:4px}.char-detail-next .char-detail-stat-label,.char-detail-next .char-detail-stat-value{color:#4f4}.char-detail-btn{margin-top:10px;padding:8px 12px;font-size:12px}.char-detail-maxed{text-align:center;color:#fa0;font-family:Orbitron,monospace;font-size:12px;margin-top:10px;text-shadow:0 0 8px rgba(255,170,0,.3)}.char-hint{color:#444;font-size:11px;letter-spacing:2px;text-align:center;margin:12px 0;min-height:140px;display:flex;align-items:center;justify-content:center}.eq-row{display:flex;gap:6px;justify-content:center;width:100%;max-width:340px;margin-bottom:8px}.eq-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:0;height:56px;border:1px solid var(--eq-color, #333);background:#0a0a1ae6;border-radius:6px;cursor:pointer;transition:all .2s;position:relative;padding:4px 2px;font-family:Share Tech Mono,monospace}.eq-slot:hover{background:#ffffff0d}.eq-slot-selected{border-width:2px;background:#ffffff14;box-shadow:0 0 15px #ffffff1a,inset 0 0 10px #ffffff0d}.eq-slot-icon{font-size:18px;line-height:1}.eq-slot-label{font-size:7px;color:#666;letter-spacing:1px;margin-top:1px}.eq-slot-tier{position:absolute;top:2px;right:3px;font-family:Orbitron,monospace;font-size:7px;font-weight:700;letter-spacing:.5px}.eq-slot-pips{display:flex;gap:1px;margin-top:2px}.eq-slot-pip{width:8px;height:2px;border-radius:1px}.chat-toggle-btn{position:fixed;bottom:12px;right:12px;z-index:1000;padding:6px 14px;font-family:Orbitron,Share Tech Mono,monospace;font-size:10px;letter-spacing:2px;border:1px solid #44ddff;background:#001428d9;color:#4df;cursor:pointer;transition:all .2s;border-radius:4px}.chat-toggle-btn:hover{background:#44ddff26;box-shadow:0 0 12px #44ddff4d}.chat-toggle-notify{border-color:#4f4;color:#4f4;animation:chat-notify-pulse 1s ease-in-out infinite}@keyframes chat-notify-pulse{0%,to{box-shadow:0 0 4px #44ff444d}50%{box-shadow:0 0 16px #4f49}}.chat-panel{position:fixed;bottom:12px;right:12px;z-index:1000;width:300px;height:400px;background:#050514f2;border:1px solid #44ddff;border-radius:6px;display:flex;flex-direction:column;animation:detail-slide-in .15s ease-out;box-shadow:0 0 20px #44ddff26}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-family:Orbitron,monospace;font-size:11px;color:#4df;letter-spacing:2px;border-bottom:1px solid rgba(68,221,255,.2);flex-shrink:0}.chat-header-btn{background:none;border:1px solid #555;color:#888;font-family:Share Tech Mono,monospace;font-size:11px;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all .2s}.chat-header-btn:hover{border-color:#4df;color:#4df}.chat-close:hover{border-color:#f44;color:#f44}.chat-name{margin:8px 12px 0;padding:6px 8px;font-family:Share Tech Mono,monospace;font-size:16px;border:1px solid #222;background:#ffffff08;color:#aaa;border-radius:3px;outline:none;transition:border-color .2s;flex-shrink:0}.chat-name:focus{border-color:#4df}.chat-messages{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:6px;min-height:0}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.chat-empty{color:#555;font-family:Share Tech Mono,monospace;font-size:12px;text-align:center;margin-top:40px}.chat-bubble{max-width:85%;padding:6px 10px;border-radius:8px;font-family:Share Tech Mono,monospace;font-size:13px;line-height:1.4;word-wrap:break-word}.chat-bubble-player{align-self:flex-end;background:#44ddff1f;border:1px solid rgba(68,221,255,.3);color:#cef}.chat-bubble-dev{align-self:flex-start;background:#44ff4414;border:1px solid rgba(68,255,68,.25);color:#cfc}.chat-bubble-author{font-family:Orbitron,monospace;font-size:9px;color:#4f4;letter-spacing:1px;margin-bottom:2px}.chat-bubble-text{white-space:pre-wrap}.chat-bubble-time{font-size:9px;color:#555;text-align:right;margin-top:2px}.chat-input-row{display:flex;gap:6px;padding:8px 12px;border-top:1px solid rgba(68,221,255,.2);flex-shrink:0}.chat-input{flex:1;padding:8px;font-family:Share Tech Mono,monospace;font-size:16px;border:1px solid #222;background:#ffffff08;color:#ccc;border-radius:3px;outline:none;transition:border-color .2s}.chat-input:focus{border-color:#4df}.chat-send-btn{width:36px;font-family:Share Tech Mono,monospace;font-size:16px;font-weight:700;border:1px solid #44ddff;background:#44ddff14;color:#4df;cursor:pointer;border-radius:3px;transition:all .2s}.chat-send-btn:hover:not(:disabled){background:#4df3}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-status-error{text-align:center;font-size:11px;color:#f33;padding:0 12px 6px}.chat-status-info{text-align:center;font-size:10px;color:#555;padding:0 12px 6px}.stat-desc-list{display:flex;flex-direction:column;gap:6px}.stat-desc-row{display:flex;flex-direction:column;gap:1px}.stat-desc-value{color:#aaa;font-size:12px;font-family:Orbitron,monospace;letter-spacing:1px}.stat-desc-meaning{color:#555;font-size:10px;font-style:italic}.game-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.pause-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10}.pause-title{font-family:Orbitron,monospace;font-size:48px;color:#0ff;text-shadow:0 0 20px #00ffff,0 0 40px #0088ff;margin-bottom:30px}.pause-buttons{display:flex;flex-direction:column;gap:12px;width:200px}.pause-btn{padding:12px 20px;font-family:Orbitron,monospace;font-size:14px;letter-spacing:2px;border:2px solid #00ffff;background:#00ffff14;color:#0ff;cursor:pointer;transition:all .2s;text-align:center}.pause-btn:hover{background:#0ff3;box-shadow:0 0 20px #00ffff4d}.pause-btn-guide{border-color:#4df;color:#4df;font-size:11px}.pause-hint{color:#555;font-size:12px;margin-top:20px;letter-spacing:1px}.guide-panel{justify-content:flex-start;align-items:stretch;padding:0;overflow:hidden}.guide-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #1a1a2e;flex-shrink:0}.guide-title{font-family:Orbitron,monospace;font-size:16px;color:#4df;letter-spacing:3px;text-shadow:0 0 10px rgba(68,221,255,.4);margin:0}.guide-back-btn{padding:6px 12px;font-family:Orbitron,monospace;font-size:10px;letter-spacing:2px;border:1px solid #555;background:transparent;color:#888;cursor:pointer;transition:all .2s}.guide-back-btn:hover{border-color:#4df;color:#4df}.guide-scroll{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.guide-scroll::-webkit-scrollbar{width:4px}.guide-scroll::-webkit-scrollbar-track{background:transparent}.guide-scroll::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.guide-section{margin-bottom:20px}.guide-section-title{font-family:Orbitron,monospace;font-size:12px;color:#0ff;letter-spacing:3px;margin-bottom:10px;padding-bottom:4px;border-bottom:1px solid #1a1a2e}.guide-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.guide-item-icon{font-size:18px;width:28px;text-align:center;flex-shrink:0;line-height:1.4}.guide-item-name{color:#ddd;font-size:12px;font-weight:700;margin-bottom:2px}.guide-item-text{color:#777;font-size:11px;line-height:1.5}.guide-control-row{color:#888;font-size:11px;line-height:1.6;padding-left:4px}.guide-subsection{margin-bottom:6px}.guide-stat-key{font-family:Orbitron,monospace;font-size:10px;color:#aaa;letter-spacing:1px;min-width:100px;flex-shrink:0}
