/* =========================================================
   Formalismo de Dirac — Bra-Ket, Medida, Nacimiento de la Integral
   Prof. Mariano Miguel Lanzi
   ========================================================= */

:root {
  --bg-main: #0d1117; --bg-sidebar: #161b22; --bg-card: #1c2333; --bg-input: #21262d;
  --text-primary: #e6edf3; --text-secondary: #8b949e; --text-muted: #6e7681;
  --accent: #ec4899; --accent-hover: #f472b6;
  --accent-gold: #d4a72c; --accent-green: #3fb950; --accent-red: #f85149;
  --border: #30363d; --border-light: #21262d; --shadow: 0 2px 8px rgba(0,0,0,0.3);
  --radius: 8px; --transition: 0.2s ease;
  --font-sans: 'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  --sidebar-width: 260px;
}
[data-theme="light"] {
  --bg-main: #f6f8fa; --bg-sidebar: #fff; --bg-card: #fff; --bg-input: #f0f2f5;
  --text-primary: #1a1a2e; --text-secondary: #4a5568; --text-muted: #718096;
  --accent: #db2777; --accent-hover: #be185d; --border: #e2e8f0; --border-light: #e2e8f0;
  --shadow: 0 2px 8px rgba(0,0,0,0.08);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-sans);background:var(--bg-main);color:var(--text-primary);line-height:1.7;display:flex;min-height:100vh}
a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}

.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--bg-sidebar);border-right:1px solid var(--border);overflow-y:auto;z-index:100;padding:24px 0;display:flex;flex-direction:column}
.sidebar-header{padding:0 20px 20px;border-bottom:1px solid var(--border);margin-bottom:12px}
.sidebar-header h2{font-size:1.05rem;color:var(--accent-gold);line-height:1.3}
.sidebar-header small{font-size:.7rem;color:var(--text-muted)}
.sidebar-nav{flex:1;padding:0 8px}
.sidebar-nav a{display:block;padding:7px 16px;color:var(--text-secondary);border-radius:6px;font-size:.74rem;transition:all var(--transition);margin-bottom:2px}
.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(236,72,153,0.1);color:var(--accent)}
.sidebar-nav a.active{border-left:3px solid var(--accent);padding-left:13px}
.sidebar-nav .nav-home{font-weight:600;color:var(--text-primary);margin-bottom:8px}
.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border);font-size:.7rem;color:var(--text-muted)}
.theme-toggle{display:flex;align-items:center;gap:8px;padding:8px 16px;margin:12px 8px 0;cursor:pointer;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-secondary);font-size:.78rem;transition:all var(--transition)}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}
.main{margin-left:var(--sidebar-width);flex:1;min-width:0}
.container{max-width:900px;margin:0 auto;padding:40px 32px 80px}

.page-header{text-align:center;padding:60px 0 40px;border-bottom:1px solid var(--border);margin-bottom:40px}
.page-header h1{font-size:2rem;color:var(--accent-gold);margin-bottom:8px}
.page-header .subtitle{font-size:1.1rem;color:var(--text-secondary)}
.page-header .author{font-size:.85rem;color:var(--text-muted);margin-top:8px}

.section{margin-bottom:48px}
.section h2{font-size:1.5rem;color:var(--accent);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.section h3{font-size:1.2rem;color:var(--accent-hover);margin:24px 0 12px}
.section h4{font-size:1rem;color:var(--text-primary);margin:20px 0 8px}
.section p{margin-bottom:14px;color:var(--text-secondary)}
.section ul,.section ol{margin:8px 0 14px 20px;color:var(--text-secondary)}
.section li{margin-bottom:6px}

.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin:20px 0;box-shadow:var(--shadow)}
.card h3{margin-top:0;color:var(--accent-gold)}
.card.info{border-left:4px solid var(--accent)}
.card.success{border-left:4px solid var(--accent-green)}

.eq-wrapper{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin:16px 0;overflow-x:auto;text-align:center}

table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.9rem}
th,td{padding:10px 14px;text-align:center;border:1px solid var(--border)}
th{background:var(--bg-input);color:var(--accent);font-weight:600}
td{color:var(--text-secondary)}

.flow-diagram{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px 0}
.flow-step{background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--radius);padding:10px 16px;font-size:.85rem;color:var(--accent);font-weight:600}

.quiz-container{margin:40px 0}
.quiz-question{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-bottom:16px}
.quiz-question h4{color:var(--text-primary);margin-bottom:12px}
.quiz-options{display:flex;flex-direction:column;gap:8px}
.quiz-option{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:6px;cursor:pointer;transition:all var(--transition);font-size:.9rem;color:var(--text-secondary)}
.quiz-option:hover{border-color:var(--accent);background:rgba(236,72,153,0.05)}
.quiz-option input[type=radio]{accent-color:var(--accent);width:16px;height:16px}
.quiz-option.correct{border-color:var(--accent-green)!important;background:rgba(63,185,80,.1)!important;color:var(--accent-green)!important}
.quiz-option.incorrect{border-color:var(--accent-red)!important;background:rgba(248,81,73,.1)!important;color:var(--accent-red)!important}
.quiz-feedback{margin-top:8px;font-size:.85rem;padding:8px 12px;border-radius:4px;display:none}
.quiz-feedback.show{display:block}.quiz-feedback.correct{background:rgba(63,185,80,.1);color:var(--accent-green);border:1px solid rgba(63,185,80,.3)}
.quiz-feedback.incorrect{background:rgba(248,81,73,.1);color:var(--accent-red);border:1px solid rgba(248,81,73,.3)}
.quiz-actions{display:flex;gap:12px;margin-top:24px}
.btn{padding:10px 20px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;font-size:.9rem;transition:all var(--transition)}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.quiz-score{text-align:center;font-size:1.2rem;font-weight:600;margin-top:16px;padding:12px;border-radius:var(--radius);display:none}
.quiz-score.show{display:block}.quiz-score.good{background:rgba(63,185,80,.1);color:var(--accent-green);border:1px solid rgba(63,185,80,.3)}
.quiz-score.medium{background:rgba(212,167,44,.1);color:var(--accent-gold);border:1px solid rgba(212,167,44,.3)}
.quiz-score.bad{background:rgba(248,81,73,.1);color:var(--accent-red);border:1px solid rgba(248,81,73,.3)}

.certificate{background:#fff;color:#1a1a2e;padding:40px;border:4px double #ec4899;border-radius:8px;text-align:center;max-width:600px;margin:20px auto;display:none}
.certificate h2{color:#db2777;font-size:1.8rem;border-bottom:2px solid #ec4899;display:inline-block;padding-bottom:8px}
.certificate .cert-name{font-size:2rem;color:#1a1a2e;margin:16px 0}
.certificate .cert-detail{color:#4a5568;margin:6px 0}
.page-footer{text-align:center;padding:24px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.8rem;margin-top:48px}
.page-footer a{color:var(--text-secondary)}

@media(max-width:768px){
.sidebar{position:relative;width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border);padding:16px 0}
.sidebar-nav{display:flex;flex-wrap:wrap;gap:4px;padding:0 12px}.sidebar-nav a{font-size:.68rem;padding:5px 8px}
body{flex-direction:column}.main{margin-left:0}.container{padding:24px 16px 60px}
.page-header h1{font-size:1.5rem}
}
