/* Constitución Fácil · lectura accesible · 2026-10-12
   Sistema tipográfico sin llamadas a Google Fonts: fuente nativa, carga instantánea.
   Regla de diseño: una columna, contraste y espacio; sin componentes decorativos. */
:root{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--reading-width:740px;--ink:#1b2825;--muted:#4d635c;--brand:#146959;--brand-soft:#e8f5ef;--action:#146959;--action-text:#fff;--focus:#136cba}
:root[data-theme="dark"]{--ink:#ecf3ed;--muted:#b9c9c2;--brand:#75e2c5;--brand-soft:#1a3630;--action:#70d8b9;--action-text:#0e2822;--focus:#99d8ff}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:100px}
body{font-family:inherit;font-size:17px;line-height:1.72;letter-spacing:0;color:var(--ink);font-weight:400;overflow-wrap:break-word}
button,input,textarea,select{font:inherit}
h1,h2,h3,h4{line-height:1.22;text-wrap:balance;letter-spacing:-.026em;font-weight:690;color:var(--ink-strong)}
p,li,dd{max-width:76ch}
p{line-height:1.75}
a,button,summary{-webkit-tap-highlight-color:transparent}
.app-header .brand-name, .app-header .brand-name span{letter-spacing:-.03em}
.header-nav a{font-size:15px;line-height:1.4}
.theme-switch{font-size:14px}
.button{font-size:16px;line-height:1.3;min-height:48px}
.text-action,.line-link,.back-link{font-size:16px;line-height:1.5}
.home-hero h1{font-size:clamp(2.25rem,4.5vw,3.7rem);max-width:19ch;line-height:1.13}
.home-hero p,.topic-lead,.page-heading>p,.quiz-page-heading>p{font-size:18px;line-height:1.7}
.section-heading-min h2,.adjacent-themes h2,.topic-material h2{font-size:clamp(1.4rem,2.5vw,1.8rem)}
.subject-title{font-size:17px;line-height:1.38}
.subject-description{font-size:15px;line-height:1.52}
.subject-index{font-size:15px}
.subject-main,.subject-practice,.subject-arrow{min-height:56px}
.facts-caption,.micro-label,.mini-label,.quiz-kicker,.quiz-chip{font-size:13px;line-height:1.5;letter-spacing:.025em}
.app-footer p,.app-footer nav,.app-footer span{font-size:13px;line-height:1.7}
.quiz-question{font-size:clamp(1.48rem,2.8vw,2rem);line-height:1.36;letter-spacing:-.02em}
.quiz-option{min-height:66px;line-height:1.5;padding-block:15px;font-size:17px;text-align:left;transition:border-color .16s}
.option-text{font-size:inherit;line-height:1.5}
.quiz-feedback p,.quiz-explanation-inline p,.result-copy,.quiz-help{font-size:16px;line-height:1.72}
.question-preview summary,.question-preview p,.faq-item summary,.faq-item p{font-size:16px;line-height:1.63}
.question-preview summary,.faq-item summary{min-height:50px}
.quiz-learn-link{display:inline-flex;min-height:44px;align-items:center;margin:8px 0 0;text-decoration:underline;text-underline-offset:4px;color:var(--brand);font-size:15px;font-weight:650}
.quiz-context{max-width:740px;border-top:1px solid var(--line);margin-top:34px;padding:25px 0 8px}
.quiz-context h2{font-size:21px;margin-bottom:10px}.quiz-context p{font-size:16px;color:var(--muted);margin:8px 0}.quiz-context a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
/* Readable secondary text on existing topic, FAQ and quiz screens. */
.topic-block>p,.concept-list li,.question-preview-answer p{font-size:17px;line-height:1.7}
.minimal-prose,.minimal-prose p{font-size:17px;line-height:1.76}
.quiz-running-score,.quiz-answer-note,.quiz-chip,.quiz-help{font-size:14px;line-height:1.55}
.resume-title p{font-size:15px;line-height:1.55}
.resume-title .micro-label{font-size:12px}
/* Editorial reading pages */
.content-reading{max-width:1120px;margin-inline:auto}
.reading-article,.reading-directory{max-width:var(--reading-width);margin-inline:auto}
.reading-breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;margin-bottom:30px;flex-wrap:wrap}
.reading-breadcrumb a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;min-height:30px;display:inline-flex;align-items:center}
.reading-hero{border-bottom:1px solid var(--line);padding-bottom:33px;margin-bottom:28px}
.reading-hero h1{font-size:clamp(2.15rem,4vw,3.45rem);max-width:22ch;line-height:1.13;margin:12px 0 20px}
.reading-lead{font-size:clamp(1.13rem,1.9vw,1.3rem);line-height:1.7;color:var(--ink);max-width:66ch}
.reading-meta{font-size:13px;line-height:1.6;color:var(--muted);margin-top:20px}
.reading-section{margin:36px 0 0}.reading-section h2{font-size:clamp(1.55rem,2.8vw,2rem);margin-bottom:15px}.reading-section h3{font-size:clamp(1.22rem,2vw,1.5rem);margin-bottom:13px}
.reading-section p,.reading-sources p,.reading-next p{font-size:17px;line-height:1.82;color:var(--ink);margin:0 0 16px}
.reading-facts{margin:25px 0 15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 0}
.reading-fact{padding:14px 16px 14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:5px}
.reading-fact strong{font-size:15px;font-weight:700;color:var(--ink)}.reading-fact span{font-size:15px;color:var(--muted);line-height:1.55}
.reading-qa{border-top:1px solid var(--line)}.reading-qa details{border-bottom:1px solid var(--line);padding:0}
.reading-qa summary{min-height:60px;padding:17px 28px 17px 0;font-size:17px;line-height:1.4;font-weight:650;cursor:pointer;position:relative;list-style:none}
.reading-qa summary::-webkit-details-marker{display:none}.reading-qa summary:after{content:'+';position:absolute;right:4px;top:17px;color:var(--brand);font-size:22px}.reading-qa details[open] summary:after{content:'−'}
.reading-qa p{padding-bottom:15px}
.reading-sources,.reading-next,.reading-related{margin:44px 0 0;border-top:1px solid var(--line);padding-top:22px}
.reading-sources h2,.reading-next h2,.reading-related h2{font-size:1.38rem;margin-bottom:11px}
.reading-sources p,.reading-next p{font-size:15px;color:var(--muted)}
.reading-sources ul,.reading-related ul,.reading-related-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.reading-sources li,.reading-related li,.reading-related-list li{max-width:100%;padding-bottom:8px;border-bottom:1px solid var(--line)}
.reading-sources a,.reading-related a,.reading-related-list a,.reading-source-inline a,.editorial-policy a{color:var(--brand);text-decoration:underline;text-underline-offset:4px;line-height:1.5}
.reading-next{display:flex;align-items:start;flex-wrap:wrap;gap:14px}.reading-next h2,.reading-next p{flex-basis:100%;margin:0}.reading-next .text-action{padding:12px 0;min-height:48px;display:inline-flex;align-items:center}
.reading-directory .reading-hero h1{max-width:22ch}
.directory-section{margin:40px 0}.directory-section>h2{font-size:1.35rem;margin-bottom:15px}
.directory-list{border-top:1px solid var(--line)}.directory-row{display:grid;position:relative;grid-template-columns:1fr 24px;gap:4px 12px;min-height:80px;padding:19px 0;border-bottom:1px solid var(--line);align-items:center}
.directory-row strong{grid-column:1;font-size:17px;line-height:1.35;letter-spacing:-.01em}.directory-row>span:not(.directory-arrow){grid-column:1;color:var(--muted);font-size:15px;line-height:1.55}.directory-arrow{grid-column:2;grid-row:1/3;font-size:20px;color:var(--brand)}
.directory-row:hover strong{color:var(--brand)}.directory-note{font-size:15px;color:var(--muted);margin:30px 0}
.topic-deep{margin-top:30px;border-top:1px solid var(--line);padding-top:32px}.topic-deep .reading-section{margin-top:29px}.topic-deep .reading-section p{font-size:17px}
.reading-heading h2{font-size:1.8rem;margin:12px 0}.reading-heading>p:last-child{font-size:16px;color:var(--muted)}
.home-guides{margin:55px 0 0;border-top:1px solid var(--line);padding-top:22px}.home-guide-links{margin-top:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.home-guide-links a{border-bottom:1px solid var(--line);padding:14px 0;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:16px;min-height:54px}
.home-guide-links a span,.home-guide-links .all-guides{color:var(--brand)}
.print-lines{border-top:1px solid var(--line);margin-top:20px}.print-lines>div{border-bottom:1px solid var(--line);padding:12px 0;display:grid;grid-template-columns:minmax(90px,130px) 1fr;gap:16px}.print-lines strong{font-size:16px}.print-lines p{font-size:16px;line-height:1.55}.print-button{margin-top:20px}.glossary-list>div{padding:20px 0;border-bottom:1px solid var(--line)}.glossary-list dt{font-size:18px;font-weight:720;margin-bottom:7px}.glossary-list dd{margin:0;font-size:16px;line-height:1.7}.glossary-list a{color:var(--brand);text-decoration:underline}
.editorial-policy{margin-top:36px;border-top:1px solid var(--line);padding-top:20px}.editorial-policy h2{font-size:22px}.editorial-policy p{font-size:17px;line-height:1.75;margin-top:12px}
@media(max-width:930px){
 .tab-link{min-height:56px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;font-size:12.5px;line-height:1.2}
 .app-tabs{padding-bottom:max(7px,env(safe-area-inset-bottom))}
}
@media(max-width:650px){
 :root{--reading-width:100%}
 body{font-size:18px;line-height:1.72}
 .app-header .brand-name{font-size:17px}
 .app-tabs .tab-link{font-size:13px;min-height:58px}
 .content-wrap{padding-left:20px;padding-right:20px}
 .home-hero h1,.page-heading h1,.topic-intro h1{font-size:clamp(2rem,8vw,2.5rem);line-height:1.16;letter-spacing:-.027em}
 .home-hero p,.topic-lead,.page-heading>p,.quiz-page-heading>p{font-size:18px;line-height:1.7}
 .home-hero .hero-actions{gap:10px}.button{font-size:17px;min-height:52px}
 .subject-title{font-size:17px}.subject-description{font-size:15.5px}
 .quiz-question{font-size:1.45rem;line-height:1.38}.quiz-option{font-size:18px;min-height:68px;padding:16px 14px}
 .reading-hero h1{font-size:clamp(2rem,8vw,2.5rem);line-height:1.17}
 .reading-lead{font-size:19px;line-height:1.65}.reading-section p,.reading-next p,.reading-sources p,.topic-deep .reading-section p{font-size:17.5px;line-height:1.78}
 .reading-section h2{font-size:1.52rem}.reading-facts{grid-template-columns:1fr 1fr}.reading-fact{padding:13px 8px 13px 0}
 .home-guide-links{grid-template-columns:1fr}.home-guides{margin-top:37px}
 .quiz-context{padding-top:18px}.quiz-context p{font-size:16px}
 .app-footer{padding-bottom:112px}
}
@media(max-width:365px){
 .content-wrap{padding-left:16px;padding-right:16px}
 .reading-hero h1{font-size:1.9rem}.reading-lead{font-size:18px}.reading-facts{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.app-header,.app-tabs,.app-footer,.reading-next,.reading-related,.home-guides,.print-button{display:none!important}.app-main{min-height:0}.content-wrap{max-width:100%!important}.reading-article{max-width:100%}a{color:#000;text-decoration:underline}body{font-size:12pt}}

/* Education content upgrade: restrained accessible tables + complementary units. */
.study-list{margin:10px 0 20px;padding-left:22px;color:var(--ink);font-size:17px;line-height:1.78}
.study-list li{margin:9px 0;max-width:74ch}
.study-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0 25px}
.study-table{border-collapse:collapse;min-width:510px;width:100%;font-size:15.5px;line-height:1.55;text-align:left;color:var(--ink)}
.study-table caption{caption-side:top;text-align:left;color:var(--muted);font-size:14px;padding:11px 0}
.study-table th,.study-table td{padding:13px 15px 13px 0;border-bottom:1px solid var(--line);vertical-align:top;min-width:105px}
.study-table th{font-weight:700;white-space:normal;color:var(--ink)}
.study-table tr:last-child td{border-bottom:0}
.module-section{border-top:1px solid var(--line);padding-top:27px;margin-top:40px}
.module-list{margin:16px 0 0;display:grid;gap:0}
.module-row{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:17px 0 8px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.module-row strong{display:block;font-size:17px;line-height:1.4}.module-row small{display:block;color:var(--muted);font-size:14px;margin-top:3px}
.module-row>span:last-child{font-size:14px;color:var(--brand);white-space:nowrap}
.module-practice{display:inline-flex;min-height:44px;align-items:center;color:var(--brand);font-size:15px;text-decoration:underline;text-underline-offset:3px;padding-bottom:8px}
@media(max-width:650px){.study-list{font-size:17.5px;line-height:1.75}.study-table{font-size:16px}.study-table th,.study-table td{padding:14px 16px 14px 0}.module-row strong{font-size:17px}.module-row{align-items:flex-start}}
@media print{.module-section,.module-practice{display:none}.study-table-wrap{overflow:visible}.study-table{min-width:0;font-size:10pt}}

/* Constrain long translated CTA labels on narrow screens. */
.reading-next .button{box-sizing:border-box;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center}
