/* Tokens de la sub-marca Tojel Cursos. Verde de acción, profundo para titulares y bandas; oro sólo para filetes (--gold) y oro-texto para texto y foco. Vínculo con la marca madre: obsidiana y jade, éste sólo como acento sobre oscuro. */
:root{--paper:#f7f5ef;--surface:#fffefa;--warm:#fbf8f0;--ink:#1d2b24;--muted:#59655d;--green:#24543f;--deep:#123d32;--line:#d9ded4;--pale:#e9efe5;--gold:#b58c45;--gold-text:#7a5c22;--focus:#7a5c22;--control-border:#808b86;--disabled-ink:#636d66;--ok-bg:#e6f3ed;--ok-fg:#145c47;--bad-bg:#f3e9e6;--bad-fg:#753829;--danger:#753829;--obsidian:#0c1512;--obsidian-text:#b9c5bf;--jade:#57a98b;--shadow:#1d2b24}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:1;color:var(--disabled-ink);background:transparent;border-color:var(--control-border);border-style:dashed}[hidden]{display:none!important}a{color:var(--green)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.skip{position:fixed;top:-80px;left:16px;z-index:10;padding:10px;background:#fff}.skip:focus{top:10px}header{min-height:90px;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;border-bottom:1px solid var(--line);gap:20px}.header-actions{display:flex;align-items:center;gap:18px;font-size:14px}main{max-width:1480px;margin:auto;padding:40px 5vw 70px}h1,h2,h3{line-height:1.2}h1{font:500 clamp(2.2rem,4vw,4rem)/1.12 Georgia,serif;letter-spacing:-.8px;margin:10px 0 24px}h2{font:500 2rem/1.2 Georgia,serif}h3{font-size:1.05rem}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--green)}.lead{font-size:21px;line-height:1.6;max-width:36ch}.muted{color:var(--muted);font-size:14px}.intro{max-width:750px;padding:26px 0}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;min-height:65vh}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px}.login-card{max-width:460px;justify-self:end;width:100%}label{display:block;font-size:14px;font-weight:600;margin:16px 0 6px}input:not([type=checkbox]):not([type=radio]),select{display:block;width:100%;min-height:44px;background:white;color:var(--ink);border:1px solid var(--control-border);border-radius:7px;padding:11px;margin-top:6px}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:19px;height:19px;flex:none}.primary,.quiet,.button-link{display:inline-block;border-radius:7px;padding:11px 18px;text-decoration:none;font-size:14px;font-weight:650;min-height:44px}.primary{background:var(--green);border:1px solid var(--green);color:white}.quiet{background:transparent;color:var(--green);border:1px solid var(--control-border)}.login-card .primary{width:100%;margin-top:20px}.login-card .muted a{display:inline-block;padding:12px 0}#notice{position:sticky;top:0;z-index:5;padding:12px 5vw;background:var(--pale);border-bottom:1px solid var(--line);box-shadow:0 6px 18px #1d2b241a}#notice.error{color:var(--bad-fg);background:var(--bad-bg);border-left:5px solid var(--bad-fg);font-weight:600}.course-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.course-top h1{font-size:clamp(2rem,3vw,3.1rem);max-width:23ch}.metrics{display:flex;gap:55px;align-items:center;border-block:1px solid var(--line);padding:20px 0;margin:15px 0}.metrics strong{display:block;font:500 28px Georgia,serif}.metrics span,.metrics label{font-size:12px;color:var(--muted);font-weight:400;margin:3px 0}.progress-wrap{margin-left:auto;width:35%}progress{width:100%;height:10px;accent-color:var(--green)}.scope-note{font-size:13px;color:var(--muted);max-width:105ch;margin:20px 0 32px}.study-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}aside{position:sticky;top:15px}#outline-toggle{width:100%;text-align:left;margin-bottom:15px}#outline{display:grid;gap:8px}.module-nav{border:1px solid var(--line);border-radius:9px;padding:12px;background:var(--surface)}.module-nav button{background:none;border:0;color:var(--ink);width:100%;min-height:44px;padding:0;text-align:left;font-weight:650;line-height:1.5}.module-nav:has(>button:disabled){background:transparent;border-style:dashed;border-color:var(--control-border)}.module-nav>button:disabled{color:var(--disabled-ink)}.module-nav small{display:block;color:var(--muted);font-size:11px;margin:5px 0}.module-nav .lesson-nav{font-size:13px;font-weight:400;padding:7px 8px;border-radius:5px}.module-nav .lesson-nav.active{background:var(--pale);font-weight:700;box-shadow:inset 3px 0 0 var(--green)}.endpoints{margin:20px 0}.endpoint-hint{font-size:12px;line-height:1.45;color:var(--muted);margin:0 0 6px}.endpoints button{display:block;width:100%;min-height:44px;border:0;background:none;text-align:left;color:var(--muted);padding:5px 0}.endpoints button:not(:disabled){color:var(--green);font-weight:650}.endpoints button:disabled{border:0}.workspace{min-height:650px;background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden}.workspace-bar{padding:18px 25px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.workspace-bar [aria-current="page"]{background:var(--pale);border-color:var(--green);box-shadow:inset 0 -3px 0 var(--green);color:var(--deep)}.reading{padding:36px clamp(20px,4vw,62px);max-width:100%;overflow-wrap:anywhere}.reading h1{font-size:clamp(1.9rem,2.6vw,2.4rem);max-width:30ch;text-wrap:balance}.reading h2{font-size:1.65rem;margin-top:30px;text-wrap:balance}.reading h3{font:600 1.15rem/1.4 system-ui,sans-serif;margin-top:28px}.reading p,.reading li{max-width:62ch}.reading>p:not(.reader-location):not(.eyebrow):not(.hint):not(.muted),.reading>ul>li,.reading>ol>li{font-size:1.0625rem;line-height:1.7}.reading p{margin:16px 0}.reading code{font-size:.86em;background:var(--pale);padding:2px 4px;border-radius:3px}.reading ul{padding-left:24px}.reading [tabindex="-1"]:focus{outline:none}.reading .button-link{margin:8px 10px 8px 0}.reading>p.credential-status{font-size:14px;line-height:1.5}.reading>.diploma-holder{margin-bottom:20px}.diploma-holder strong{display:block;font:500 1.6rem/1.25 Georgia,serif;color:var(--deep)}.diploma-holder span{display:block;margin-top:4px;color:var(--muted)}.reading .hint{font-size:14px;color:var(--muted)}.reading details{border-bottom:1px solid var(--line)}.reading details>summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:650;color:var(--green)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.primary.is-done,.primary.is-done:disabled{background:var(--ok-bg);color:var(--ok-fg);border:1px solid var(--ok-fg);cursor:default}.primary.is-done::before{content:"✓ "}.question{border:0;border-bottom:1px solid var(--line);margin:0 0 20px;padding:0 0 24px;min-width:0;max-width:72ch}.question legend{font-weight:650;line-height:1.55;margin-bottom:8px;padding:0}.question .hint{font-size:12px;color:var(--muted)}.option{display:flex;align-items:start;gap:10px;font-weight:400;cursor:pointer;margin:7px 0;padding:10px;border:1px solid var(--control-border);border-radius:7px}.option:has(input:checked){border-color:var(--green);background:var(--pale);box-shadow:inset 3px 0 0 var(--green)}.result{border:1px solid var(--line);background:var(--pale);padding:18px;border-radius:9px;margin:20px 0}.feedback-item{margin:12px 0;padding:15px 0 15px 14px;border-bottom:1px solid var(--line);border-left:4px solid var(--line)}.feedback-item strong{display:block}.feedback-item.is-correct{border-left-color:var(--ok-fg)}.feedback-item.is-wrong{border-left-color:var(--bad-fg)}.feedback-item.is-correct strong{color:var(--ok-fg)}.feedback-item.is-wrong strong{color:var(--bad-fg)}.feedback-item.is-correct strong::before{content:"✓ "}.feedback-item.is-wrong strong::before{content:"✕ "}.feedback-item p{font-size:15px}.ref-button{border:0;background:none;min-height:44px;padding:2px 8px 2px 0;margin-right:6px;color:var(--green);text-decoration:underline;text-underline-offset:3px;font-size:14px}.module-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.save-status{font-size:13px;color:var(--muted)}dialog{max-width:min(800px,94vw);max-height:85vh;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:28px}dialog::backdrop{background:#172b2390}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.dialog-head h2{margin:0;font-size:1.6rem}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.7 Georgia,serif;max-height:52vh;overflow:auto}#reference-source{display:inline-block;padding:12px 0}footer{display:flex;justify-content:space-between;padding:25px 5vw;border-top:3px solid var(--jade);background:var(--obsidian);color:var(--obsidian-text);font-size:11px;letter-spacing:1px}@media(min-width:851px){aside{max-height:calc(100vh - 30px);overflow:auto;padding:0 4px 4px 0;scrollbar-width:thin}}@media(max-width:850px){main{padding:22px 18px 45px}header{padding:18px;min-height:80px}.brand-word{font-size:30px}.header-actions{gap:8px}.header-actions span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-layout{grid-template-columns:1fr;gap:15px}.login-card{max-width:none}.course-top{display:block}.metrics{gap:20px;flex-wrap:wrap}.progress-wrap{width:100%;margin:0}.study-layout{grid-template-columns:1fr;gap:16px}aside{position:static}.workspace{min-height:400px}.reading{padding:22px}.reading h1{font-size:1.9rem}.workspace-bar{padding:12px 14px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.workspace-bar .quiet{flex:none;white-space:nowrap}.scope-note{font-size:12px}footer{gap:15px;flex-wrap:wrap}.course-top .primary{width:100%}.actions button{flex:1}.option{padding:10px 8px}dialog{padding:20px}}

/* Marca única en campus, verificación y planes: monograma + wordmark. */
.pricing-brand{display:flex;align-items:center;color:var(--ink);text-decoration:none}.brand-mark{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;margin-right:11px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-text);font:700 20px/1 Georgia,serif}.brand-word{display:block;color:var(--ink);font:700 34px/.85 Georgia,serif;letter-spacing:-1.5px}.brand-word small{display:block;margin-top:7px;color:var(--ink);font:700 9px/1.2 system-ui,sans-serif;letter-spacing:2px}

.verification-page{max-width:850px;margin:40px auto;padding:0 20px}.digest{display:block;overflow-wrap:anywhere;white-space:normal;font-size:.82rem}.credential-status{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:999px;font-size:14px;font-weight:700}.credential-status::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}.status-issued{background:var(--ok-bg);color:var(--ok-fg)}.status-revoked,.status-superseded{background:var(--bad-bg);color:var(--bad-fg)}.verification-page .card{padding:32px}.verification-page .hint{font-size:14px;color:var(--muted)}.verification-page code{overflow-wrap:anywhere}.record-grid code{font-size:13px}.record-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;margin:18px 0 24px;font-size:15px}.record-grid dt{color:var(--muted);font-size:13px;font-weight:650;padding-top:1px}.record-grid dd{margin:0}.file-pick{position:relative;margin:16px 0 6px}.file-caption{display:block;font-size:14px;font-weight:600}.file-pick input[type=file]{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:0;border:0;opacity:0;overflow:hidden}.file-pick .file-button{display:inline-flex;align-items:center;margin:8px 0 0;cursor:pointer}.file-pick input[type=file]:focus-visible+.file-button{outline:3px solid var(--focus);outline-offset:4px}.file-name{display:block;margin-top:6px;font-size:13px;font-weight:400;color:var(--muted)}#final-answers .actions{position:sticky;bottom:0;background:var(--surface);box-shadow:0 -8px 16px -12px #1d2b2455;padding:12px 0;z-index:2}
@media print{header .header-actions,footer,.skip,.file-pick,#file-check{display:none!important}.verification-page{margin:0}.verification-page .card{border:0;padding:0}}

/* Course reader: original palette retained; no new page or parallel application. */
.reference-inline{font:inherit;color:var(--green);background:none;border:0;padding:2px 3px;text-decoration:underline;text-underline-offset:3px;border-radius:3px;cursor:pointer}.reference-inline:hover{background:var(--pale)}
.reader-location{font-size:12px;color:var(--muted);letter-spacing:.6px;margin-top:0!important}.reading h4,.reading h5,.reading h6{line-height:1.4;margin:24px 0 12px}.reading ol{padding-left:26px}.reading blockquote{border-left:3px solid var(--green);padding:4px 18px;margin:20px 0;background:var(--pale)}.reading .source-code{white-space:pre;overflow:auto;max-width:100%;padding:15px;border:1px solid var(--line);border-radius:7px;background:var(--pale)}.reading .source-code code{padding:0;font-size:.9em}
/* Tablas: sin cortes por letra; en móvil se desplazan con sombra que indica el contenido oculto. */
.table-scroll{overflow-x:auto;max-width:100%;margin:20px 0;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,var(--surface) 30%,#fffefa00),linear-gradient(90deg,#fffefa00,var(--surface) 70%) 100% 0,radial-gradient(farthest-side at 0 50%,#1d2b2422,#1d2b2400),radial-gradient(farthest-side at 100% 50%,#1d2b2422,#1d2b2400) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.table-scroll table{border-collapse:collapse;width:100%;font-size:14px;min-width:320px;border-style:hidden}.table-scroll table:has(th:nth-child(4)){min-width:44rem}.table-scroll th,.table-scroll td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;overflow-wrap:normal;word-break:normal;hyphens:auto;min-width:9ch}.table-scroll th:first-child,.table-scroll td:first-child{white-space:nowrap;min-width:0}.table-scroll th{background:var(--pale)}.table-scroll .num{text-align:right;font-variant-numeric:tabular-nums}.table-scroll .center{text-align:center}
.answer-progress{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 25px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.answer-progress p{font-size:13px;flex:1;margin:0;min-width:180px}.answer-progress button{font-size:12px;min-height:44px}.save-error{color:var(--bad-fg)}.save-status.save-error{background:var(--bad-bg);padding:8px 12px;border-radius:7px;border-left:4px solid var(--bad-fg);font-weight:600}.reading:focus,.reading h1:focus,.reading h2:focus{outline-offset:5px}.option{min-height:44px}.actions{align-items:stretch}
@media(max-width:600px){header{gap:10px}.header-actions #student-name{display:none}.header-actions .quiet{padding:11px 12px}.reading .actions{flex-direction:column}.reading .actions button{width:100%;min-height:44px}.answer-progress{display:block}.answer-progress button{margin-top:10px;width:100%}.table-scroll table{min-width:280px}#final-answers .actions{position:static;box-shadow:none}.reading>p:not(.reader-location):not(.eyebrow):not(.hint):not(.muted),.reading>ul>li,.reading>ol>li{font-size:1rem}.record-grid{grid-template-columns:1fr;gap:2px}.record-grid dd{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Same course workspace: progress navigation, not a new site or permission layer. */
.course-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;max-width:440px}.course-actions .primary{flex:1}.next-study-detail{margin:2px 0 20px;color:var(--muted);font-size:14px}.journey h2{margin-top:12px}.journey-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.journey-totals div{padding:14px;border:1px solid var(--line);border-radius:8px}.journey-totals dt{font-size:12px;color:var(--muted);line-height:1.4;overflow-wrap:normal}.journey-totals dd{font:500 25px/1.5 Georgia,serif;margin:6px 0 0}.journey-next{background:var(--pale);border:1px solid var(--line);padding:20px;border-radius:9px;margin:20px 0 28px}.journey-next h3{margin-top:0}.journey-next button{margin:8px 10px 0 0;min-height:44px}.journey-modules{display:grid;gap:15px}.journey-module{border:1px solid var(--line);border-radius:9px;padding:20px}.journey-module h3{margin:0!important}.journey-status{font-size:12px;color:var(--muted);margin:8px 0 15px!important}.journey-module ol{list-style:none;padding:0;margin:0}.journey-module li{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:8px 0;max-width:none}.journey-module li button{border:0;padding:9px 8px;text-align:left;flex:1;min-height:44px}.journey-step-status{font-size:12px;color:var(--muted);flex:none;border:1px solid var(--line);border-radius:999px;padding:2px 10px;line-height:1.5}.journey-module li.is-done .journey-step-status{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-bg);font-weight:650}.journey-module li.is-done .journey-step-status::before{content:"✓ "}.journey-module li.is-done button{color:var(--ink)}.journey-exam{margin-top:28px;border-top:1px solid var(--line);padding-top:10px}.journey-exam button{margin:8px 8px 0 0}.journey p{line-height:1.6}
@media(max-width:600px){.course-actions{max-width:none;display:grid;width:100%;grid-template-columns:1fr}.journey-totals{grid-template-columns:1fr;gap:7px}.journey-totals div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 12px}.journey-totals dt{font-size:13px}.journey-totals dd{font-size:21px;margin:0}.journey-module{padding:15px}.journey-next{padding:15px}.journey-next button,.journey-exam button{width:100%;margin-right:0}.journey-module h3{font-size:1rem}.journey-step-status{font-size:11px}}
.reading .lesson-figure{margin:20px 0}.reading .lesson-figure img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
