/* base.css — Base: variables, reset, tipografia, botones genericos
   Extraido automaticamente de index.html (bloques <style> originales) */

:root{--primary:#2E7D32;--primary-dark:#1B5E20;--primary-light:#4CAF50;--bg-dark:#020502;--bg-panel:rgba(10,25,10,0.95);--text-white:#E8F5E9;--text-gray:#A5D6A7;--danger:#D32F2F;--font-main:'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--ui-ease:cubic-bezier(0.25,0.8,0.25,1);--ui-duration:0.3s;--safe-pad:env(safe-area-inset-bottom,20px);--ui-scale:1.0;--mob-btn-size:52px;--mob-margin:20px;--western-sepia:sepia(0.8) contrast(1.2) brightness(0.9);}

*{box-sizing:border-box;user-select:none;-webkit-user-select:none;overscroll-behavior:none;touch-action:none;}

input[type=range]{touch-action:pan-x!important;cursor:pointer;}

::-webkit-scrollbar{width:8px;height:8px;}

::-webkit-scrollbar-track{background:rgba(0,0,0,0.3);border-radius:4px;}

::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px;}

::-webkit-scrollbar-thumb:hover{background:var(--primary-light);}

html{margin:0;padding:0;width:100%;height:100%;overflow:hidden;position:fixed;touch-action:none;}

body{margin:0;padding:0;background-color:var(--bg-dark);color:var(--text-white);font-family:var(--font-main);overflow:hidden;width:100%;height:100%;font-size:16px;cursor:default;position:fixed;touch-action:none;}

#gameCanvas{display:block;position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;image-rendering:auto;z-index:1;transition:filter 0.2s ease;}

#threeCanvasContainer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;display:none;pointer-events:auto;transition:filter 0.2s ease;}

#gameCanvas,#threeCanvasContainer{transition:filter 0.4s ease-in-out;}

.ui-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity var(--ui-duration) var(--ui-ease),transform var(--ui-duration) var(--ui-ease);z-index:100;}

.interactive{pointer-events:auto;cursor:default;}

.hidden{display:none!important;opacity:0;pointer-events:none;}

.btn{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:1px solid rgba(255,255,255,0.1);border-radius:4px;color:white;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 3px 8px rgba(0,0,0,0.3);transition:all 0.2s ease;text-transform:uppercase;letter-spacing:1px;margin:3px;min-width:120px;text-align:center;position:relative;overflow:hidden;text-decoration:none;display:inline-block;}

@media (hover:hover){.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(46,125,50,0.5),0 2px 4px rgba(0,0,0,0.4);background:linear-gradient(135deg,var(--primary-light),var(--primary));border-color:var(--primary-light);}}

.btn:active{transform:translateY(1px) scale(.98);}

.btn:disabled{background:#444;color:#888;cursor:not-allowed;box-shadow:none;transform:none;border-color:#555;}

.btn-secondary{background:rgba(0,0,0,0.4);border:1px solid var(--primary);box-shadow:none;padding:7px 12px;font-size:11px;}

@media (hover:hover){.btn-secondary:hover{background:rgba(46,125,50,0.2);}}

.btn-small{padding:5px 10px;font-size:12px;min-width:auto;margin:2px;}

h1{color:var(--primary-light);font-size:1.9rem;margin:0 0 3px 0;text-shadow:0 0 20px rgba(46,125,50,0.5);letter-spacing:2px;font-weight:800;}

h2{color:var(--text-gray);margin:0 0 10px 0;font-weight:300;font-size:0.85rem;letter-spacing:3px;text-transform:uppercase;}

/* ── JetOpt: GPU compositing hints ─────────────────────────── */

#gameCanvas,#threeCanvasContainer{will-change:transform;transform:translateZ(0);}
