@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Cinzel+Decorative:wght@700&family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Inter:wght@400;500;600&display=swap";:root{--bg-primary: #0e2635;--bg-secondary: #0a3d52;--bg-panel: rgba(10, 61, 82, .95);--bg-header: #0d5070;--bg-card: #083348;--accent-gold: #d4b580;--accent-gold-hover:#e0c490;--accent-red: #a04444;--accent-green: #3aaa88;--text-primary: #dff0ff;--text-titles: #eef6f2;--text-secondary: #c8d4d8;--text-player: #aabcb4;--text-faction: #92a89e;--text-stat-num: #a8cce8;--text-gold-muted: #ccc99e;--text-warm: #fffbef;--border-subtle: rgba(20, 110, 140, .5);--border-panel: #0d6080;--border-card: #0a4a62;--border-section: #2a7090;--shadow-soft: 0 4px 12px rgba(0,0,0,.3);--shadow-hover: 0 6px 14px rgba(0,0,0,.4);--radius-sm: 4px;--radius-md: 8px;--transition-fast: all .2s ease;--teal-deep: #033848;--teal-dark: #044458;--teal-base: #066A86;--teal-mid: #077a9a;--teal-panel: #033040;--teal-panel2: #043850;--teal-border: #0a5a70;--teal-border2: #0d6e88;--crimson: #8a1010;--crimson-l: #b82020;--gold: #a87818;--gold-l: #c89830;--gold-b: #e8b848;--text-white: #f0f0f0;--text-mid: #c8d8e0;--text-dim: #7aacbc;--p1c: #cc2200;--p1l: #ff5533;--p2c: #0044cc;--p2l: #3378ff;--p3c: #00aa00;--p3l: #22ee22;--p4c: #cc8800;--p4l: #ffbb00;--p5c: #8800cc;--p5l: #bb33ff;--b-ciudad: #9070e0;--b-pueblo: #c89040;--b-minas: #b87828;--b-montana: #48a848;--b-camino: #d0b840;--b-especial: #c040ff;--b-ruinas: rgba(40,45,35,.35)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:20px}html,body,#root{height:100%;overflow:hidden}body{font-family:Inter,Crimson Text,Georgia,serif;background:var(--bg-primary);color:var(--text-primary)}h1,h2,h3,h4{font-family:Cinzel,serif}.player-stat-value,.pv-value,.turn-number,[class*=stat-]{font-family:Inter,sans-serif;font-weight:600;font-variant-numeric:tabular-nums}label,p,span,button,input,textarea,select,td,th,li{font-family:Inter,Crimson Text,Georgia,serif}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--accent-gold)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important;transform:none!important}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#051820;padding:20px}.auth-box-wrapper{position:relative;width:100%;max-width:420px}.auth-box-wrapper:before{content:"";position:absolute;bottom:-10px;left:10px;right:-10px;top:10px;background:#010810;border-radius:0;z-index:0}.auth-box-wrapper:after{content:"";position:absolute;bottom:-5px;left:5px;right:-5px;top:5px;background:#020c14;border-radius:0;z-index:0}.auth-box{background:linear-gradient(160deg,#0d4858,#083040,#0a3848);border:1px solid #1a6878;border-bottom:2px solid #6a4820;padding:32px;width:100%;max-width:420px;position:relative;overflow:hidden;z-index:1}.auth-box:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#d4b580 20%,#f0d090 50%,#d4b580 80%,transparent);z-index:1}.auth-header{text-align:center;margin-bottom:28px;position:relative;z-index:1}.auth-sigil{font-size:2.5rem;margin-bottom:12px}.auth-title{font-family:Cinzel Decorative,serif;font-size:1.1rem;color:var(--accent-gold);letter-spacing:3px;text-shadow:0 0 20px rgba(232,184,72,.4);margin-bottom:6px}.auth-subtitle{font-family:Cinzel,serif;font-size:.6rem;letter-spacing:6px;color:var(--text-secondary)}.auth-form{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.auth-error{background:#8a101033;border:1px solid var(--crimson);color:#ff9090;padding:8px 12px;font-size:.85rem;font-family:Cinzel,serif}.form-field{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.form-field label{font-family:Cinzel,serif;font-size:.65rem;letter-spacing:2px;color:var(--accent-gold);text-transform:uppercase}.form-field input{background:#031820!important;border-top:2px solid #020e14!important;border-left:2px solid #020e14!important;border-bottom:1px solid #1a5868!important;border-right:1px solid #1a5868!important;box-shadow:inset 0 3px 8px #0009!important;color:#b8d8e8!important;font-family:Crimson Text,serif;font-size:1rem;padding:10px 12px;outline:none;width:100%}.form-field input:focus{border-color:var(--accent-gold)!important;background:#031820!important}.form-field input::-moz-placeholder{color:var(--text-secondary);opacity:.5}.form-field input::placeholder{color:var(--text-secondary);opacity:.5}.form-field input:-webkit-autofill,.form-field input:-webkit-autofill:hover,.form-field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px #031820 inset!important;-webkit-text-fill-color:#b8d8e8!important;caret-color:#b8d8e8}.btn-primary{background:linear-gradient(180deg,#a01818,#781010,#500808);border-top:2px solid #c83838;border-left:2px solid #b02828;border-bottom:3px solid #200404;border-right:2px solid #380808;padding:11px 20px;box-shadow:0 4px 8px #0009,inset 0 1px #ff646426;width:100%;display:flex;align-items:center;justify-content:center;gap:16px;cursor:pointer;font-family:Cinzel,serif;transition:all .2s}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#c02020,#a01818,#681010);box-shadow:0 4px 12px #000c,inset 0 1px #ff646433}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-footer{text-align:center;margin-top:20px;font-size:.85rem;color:var(--text-secondary);position:relative;z-index:1}.auth-footer a{color:var(--accent-gold);text-decoration:none}.auth-footer a:hover{color:var(--accent-gold)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;background:var(--bg-primary);color:var(--text-secondary);font-family:Cinzel,serif;letter-spacing:3px}.loading-sigil{font-size:3rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.95)}}.dashboard{display:flex;flex-direction:column;height:100vh;overflow:hidden}.dashboard-header{background:linear-gradient(180deg,#0d5070,#0a4862,#0a3d52);border-bottom:2px solid var(--border-panel);border-radius:0;padding:0 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;position:relative;min-height:56px}.dashboard-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-gold),rgba(168,120,24,.4),var(--accent-gold),transparent)}.dh-left{display:flex;align-items:center;gap:12px}.dh-sigil{font-size:1.5rem;color:var(--crimson-l)}.dh-left h1{font-family:Cinzel Decorative,serif;font-size:.95rem;color:var(--accent-gold);letter-spacing:2px}.dh-left p{font-family:Cinzel,serif;font-size:.55rem;letter-spacing:4px;color:var(--text-secondary)}.dh-right{display:flex;align-items:center;gap:8px}.dh-user{font-family:Cinzel,serif;font-size:.7rem;color:var(--text-primary)}.dh-role{font-family:Cinzel,serif;font-size:.55rem;letter-spacing:1px;color:var(--accent-gold);background:#a878181a;border:1px solid rgba(168,120,24,.3);padding:2px 6px;text-transform:uppercase}.dashboard-main{flex:1;overflow-y:auto;padding:24px 32px;display:flex;flex-direction:column;gap:28px}.btn{font-family:Cinzel,serif;font-size:.65rem;letter-spacing:1px;padding:6px 12px;cursor:pointer;transition:all .2s;border-top:1px solid rgba(212,181,128,.25);border-left:1px solid rgba(212,181,128,.25);border-bottom:2px solid rgba(0,0,0,.5);border-right:1px solid rgba(0,0,0,.3);border-radius:0;background:#0000004d;color:var(--accent-gold);text-decoration:none;display:inline-flex;align-items:center;gap:4px}.btn:hover{background:#d4b5801a;border-top-color:#d4b58080;border-left-color:#d4b58080;color:var(--accent-gold-hover)}.btn-red{border-top-color:#b4323266;border-left-color:#b4323266;color:#e07070}.btn-red:hover{background:#b4323226;border-top-color:#c8505099;border-left-color:#c8505099;color:#f09090}.join-section{background:linear-gradient(180deg,var(--bg-secondary),var(--bg-secondary));border:1px solid var(--border-subtle);border-top:2px solid rgba(212,181,128,.3);border-bottom:2px solid rgba(212,181,128,.2);border-radius:0;padding:16px 20px}.join-section h2,.campaigns-section h2{font-family:Cinzel,serif;font-size:.7rem;letter-spacing:3px;color:var(--accent-gold);text-transform:uppercase;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.join-form{display:flex;gap:8px;align-items:center}.join-form input{background:linear-gradient(180deg,#031820,#041e28);border-top:2px solid #020e14;border-left:2px solid #020e14;border-bottom:1px solid #1a5868;border-right:1px solid #1a5868;color:var(--text-primary);font-family:Cinzel,serif;font-size:.65rem;letter-spacing:2px;padding:7px 12px;outline:none;flex:1;max-width:300px;text-transform:uppercase;box-shadow:inset 0 2px 5px #00000080}.join-form input:focus{border-color:var(--accent-gold)}.form-error{color:#ff9090;font-size:.8rem;margin-top:6px}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.campaign-card{background:linear-gradient(160deg,#066a8614,#04445826);border:1px solid var(--border-subtle);border-radius:0;padding:16px;cursor:pointer;transition:all .2s;position:relative}.campaign-card:hover{border-color:var(--accent-gold);background:linear-gradient(160deg,#066a8626,#04445840);transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.cc-status{font-family:Cinzel,serif;font-size:.55rem;letter-spacing:2px;text-transform:uppercase;padding:2px 6px;border:1px solid;display:inline-block;margin-bottom:8px}.cc-status[data-status=ACTIVE]{color:#48e848;border-color:#48e848}.cc-status[data-status=DRAFT]{color:var(--text-secondary);border-color:var(--border-subtle)}.cc-status[data-status=PAUSED]{color:var(--accent-gold);border-color:var(--accent-gold)}.cc-status[data-status=FINISHED]{color:var(--crimson-l);border-color:var(--crimson)}.cc-name{font-family:Cinzel,serif;font-size:.85rem;color:var(--accent-gold);margin-bottom:4px;letter-spacing:1px}.cc-subtitle{font-size:.8rem;color:var(--text-secondary);font-style:italic;margin-bottom:10px}.cc-meta{display:flex;gap:16px;font-size:.75rem;color:var(--text-secondary);margin-bottom:8px;font-family:Cinzel,serif}.cc-code{font-size:.7rem;color:var(--text-secondary);font-family:Cinzel,serif;letter-spacing:1px}.cc-code strong{color:var(--accent-gold);letter-spacing:3px}.empty-text,.loading-text{color:var(--text-secondary);font-style:italic;font-size:.9rem;padding:20px 0}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:.8}}.drawer-input{width:100%;background:#0000004d;border:1px solid var(--border-subtle);border-radius:3px;color:var(--text-primary);font-family:Crimson Text,Georgia,serif;font-size:13px;padding:6px 10px;outline:none;transition:border-color .2s}.drawer-input:focus{border-color:var(--border-subtle)}.milestone-locked{position:relative;overflow:hidden}.milestone-locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;pointer-events:none}.veterancy-tooltip{position:relative}.veterancy-tooltip:hover .tooltip-text{display:block}.tooltip-text{display:none;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:10px;padding:4px 8px;border-radius:3px;white-space:nowrap;z-index:100;font-family:Crimson Text,serif}.confirm-danger{background:#8a101033;border:1px solid var(--crimson);border-radius:3px;padding:10px 12px;margin-top:8px}@media (max-width: 768px){.player-drawer{width:100%!important}.left-sidebar{width:240px!important}}@media (min-width: 769px) and (max-width: 1024px){.player-drawer{width:80%!important}}.hero-status-alive{color:#2a4}.hero-status-wounded{color:#c80}.hero-status-recovering{color:#48c}.hero-status-captured{color:#848}.hero-status-missing{color:#888}.hero-status-dead{color:#c22}.xp-bar-fill{transition:width .4s cubic-bezier(.4,0,.2,1)}.shield-active{filter:drop-shadow(0 0 3px currentColor)}.shield-inactive{filter:grayscale(1) opacity(.3)}
