:root {
	--bg: #0f172a;
	--card: #111827;
	--muted: #94a3b8;
	--text: #e5e7eb;
	--accent: #22c55e;
	--accent-2: #60a5fa;
	--danger: #ef4444;
	--border: #1f2937;
	--input: #0b1220;
}
* {
	box-sizing: border-box;
}
body {
	margin: 0;
	font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
	background: radial-gradient(1200px 800px at 10% 10%, #0b1220, var(--bg));
	color: var(--text);
	min-height: 100vh;
	display: block;
	padding: 0 16px 16px;
}
	
body.noscroll { overflow:hidden; }

.container { 
	width: 100%; 
	max-width: 760px;
	margin-inline: auto;     /* centra el contenedor */
	padding: 16px;
}
.grid{
	display:grid; gap:16px;
	grid-template-columns: 1fr 1fr;
}

.card {
	background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
	border: 1px solid var(--border);
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.25);
	padding: 20px;
	backdrop-filter: blur(8px);
}
.card h2{
	margin:0 0 10px 0; 
	font-size:20px;
}

h1 { letter-spacing: -0.02em; margin: 0 0 12px 0; font-size: 28px; }
p { color: var(--muted); margin: 0 0 16px 0; }

.hidden { display: none !important; }

.topbar{
	display:flex;
	gap:10px;
	justify-content:center;
	align-items:center;
	margin-bottom:10px;
}

/* Botón hamburguesa (3 líneas) */
.hamburger {
	display:inline-flex; align-items:center; justify-content:center;
	width:42px; height:42px; border-radius:12px; cursor:pointer;
	border:1px solid var(--border);
	background: white;
	transition: box-shadow .2s ease, transform .05s ease;
}
.hamburger:hover { box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.hamburger:active { transform: translateY(1px); }
.hamburger .bar { width:20px; height:2px; border-radius:2px; background: var(--text); display:block; }
.hamburger .bar + .bar { margin-top:4px; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }


/* Sidebar (off-canvas) */
.sidebar {
	position: fixed; inset: 0 auto 0 0; /* top:0; left:0; bottom:0 */
	width: 300px; max-width: 85vw; z-index: 1000;
	background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
	border-right: 1px solid var(--border);
	backdrop-filter: blur(10px);
	transform: translateX(-100%);
	transition: transform .28s ease;
	display: flex; flex-direction: column;
	}
.sidebar.open { transform: translateX(0); }
.sidebar-header { padding:14px 16px; font-weight:700; border-bottom:1px solid var(--border); }
.sidebar-nav { padding:10px; display:flex; flex-direction:column; gap:8px; }
.sidebar a, .sidebar button.linky {
	display:block; text-align:left; border:1px solid transparent; border-radius:10px;
	padding:10px 12px; font-weight:600; color:var(--text); background:transparent; cursor:pointer;
	text-decoration:none; font-size:14px;
	}
.sidebar a:hover, .sidebar button.linky:hover { background: rgba(255,255,255,0.06); border-color:var(--border); }
.sidebar .sep { height:1px; background:var(--border); opacity:.6; margin:6px 0; }



/* Capa oscura para clic-fuera */
.backdrop { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index: 999; opacity:0; pointer-events:none; transition: opacity .28s ease; }
.backdrop.show { opacity:1; pointer-events:auto; }





/* Asegura contexto en la topbar */
.topbar { position: relative; z-index: 1001; }

/* Para todas las listas no ordenadas */
ul {
  list-style-type: square;
}

/* Opcional: ajustar color/tamaño del marcador */
ul li::marker{
  color: var(--text);
  font-size: 1em;
}