/* JS contract: [data-es], [data-en], [data-lang], [data-*-label], all backup.html IDs;
   .notice[data-tone], .checkpoint-preview, [hidden]. JS never depends on layout. */
:root{--berry-deep:#140910;--berry:#6D2E46;--cream:#ece2d0;--gold:#ffc629;--ink:#2B2B2B;--muted:#5F4B54;--line:rgba(255,198,41,.24);color-scheme:dark;font-family:Inter,system-ui,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--berry-deep);color:var(--cream);line-height:1.65}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:var(--gold)}a:hover{text-decoration-thickness:2px}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}::selection{background:var(--gold);color:var(--berry-deep)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3,p{margin:0}p+p{margin-top:.7rem}h1,h2{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:500;letter-spacing:-.02em}h1{font-size:clamp(2.6rem,5vw,3.75rem);line-height:1.08;max-width:16ch;color:var(--gold)}h2{font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.2;margin-bottom:.8rem}h3{font-size:1.05rem;line-height:1.4;margin-bottom:.7rem}.skip{position:fixed;left:1rem;top:-8rem;background:var(--gold);color:var(--ink);padding:.6rem 1rem;border-radius:999px;z-index:9}.skip:focus{top:1rem}.course-header{border-bottom:1px solid var(--line);background:#180c14}.header-row{max-width:1440px;margin:auto;padding:1.15rem 2rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center}.brand{display:flex;gap:.65rem;align-items:center;color:var(--cream);text-decoration:none;line-height:1;font-size:1.22rem;flex-shrink:0}.brand small{display:block;font-size:.6rem;letter-spacing:.06em;margin-top:.5rem}.brand-mark{display:grid;place-items:center;width:2.1rem;height:2.1rem;font-family:Fraunces,Georgia,serif;font-size:2rem;color:var(--gold)}.languages{margin-left:auto;display:flex;border:1px solid var(--line);border-radius:999px;padding:.2rem;gap:.15rem}.languages button{background:transparent;border:0;color:var(--cream);border-radius:999px;padding:.4rem .7rem;min-height:38px;font-size:.75rem;font-weight:700}.languages button[aria-pressed=true]{background:var(--gold);color:var(--berry-deep)}.course-nav{display:flex;flex-wrap:wrap;gap:.35rem;width:100%;align-items:center}.course-nav a{text-decoration:none;font-size:.78rem;color:var(--cream);padding:.5rem .8rem;line-height:1.35;border:1px solid transparent;border-radius:999px;min-height:38px;display:flex;align-items:center}.course-nav a:hover{border-color:var(--line)}.course-nav a[aria-current=page]{background:var(--gold);color:var(--berry-deep);font-weight:700}main{max-width:1220px;margin:0 auto;padding:0 2rem 3rem;outline-offset:-3px}.intro{position:relative;padding:3.7rem 0 2.5rem}.intro:before{content:"";position:absolute;inset:0 -2rem;z-index:-1;background:radial-gradient(ellipse at 95% 5%,rgba(255,198,41,.1),transparent 55%),radial-gradient(ellipse at 0 100%,rgba(92,41,70,.28),transparent 65%)}.intro:after{content:"";position:absolute;inset:0 -2rem;z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.5' filter='url(%23n)'/%3E%3C/svg%3E")}.kicker,.eyebrow{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;margin-bottom:.9rem}.kicker{color:var(--gold)}.intro-copy{max-width:65ch;margin-top:1.4rem;font-size:1.05rem;color:#ded0c3}.ledger{max-width:83ch;border-left:2px solid var(--gold);padding-left:1rem;font-size:.84rem;margin-top:1.5rem;color:#dbcebd}.card{position:relative;background:var(--cream);color:var(--ink);border-radius:1.1rem;padding:1.8rem;box-shadow:0 28px 80px rgba(0,0,0,.38);overflow:hidden;min-width:0;color-scheme:light}.card:before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--gold)}.card p{font-size:.92rem}.card .eyebrow{font-size:.7rem;color:var(--berry)}.card>p{margin-bottom:1rem}.identity-card{margin-bottom:1.4rem}.identity-top{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem}.identity-top h2{margin:0}.identity-top .eyebrow{margin-bottom:.3rem}.registration-ref{font-size:1.2rem!important;font-weight:700;color:var(--berry);overflow-wrap:anywhere}.text-link{font-size:.82rem;color:var(--berry);font-weight:600;text-underline-offset:3px}.identity-top .text-link{margin-left:auto}.muted{color:var(--muted)}#identity-state{margin-top:1rem;margin-bottom:0}#owner-panel{border-top:1px solid #cdbfaf;margin-top:1.2rem;padding-top:1.2rem}.check-row{display:flex;align-items:flex-start;gap:.7rem;font-size:.88rem;line-height:1.5;cursor:pointer}.check-row input{flex-shrink:0;width:1.15rem;height:1.15rem;margin:.13rem 0 0;accent-color:var(--berry)}.hint{font-size:.77rem!important;line-height:1.65;color:var(--muted);margin:.65rem 0 1rem}.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:999px;padding:.72rem 1.2rem;line-height:1.4;border:1px solid transparent;font-size:.85rem;font-weight:700;min-height:44px;max-width:100%;transition:background .15s,box-shadow .15s}.button.primary{background:var(--gold);color:var(--ink);border-color:#cca022}.button.primary:hover:not(:disabled){background:#ffd258}.button.secondary,.button.small{background:transparent;border-color:#90777f;color:var(--berry)}.button.secondary:hover:not(:disabled),.button.small:hover:not(:disabled){background:rgba(72,24,47,.07)}.actions{display:flex;flex-wrap:wrap;gap:.6rem}.section-rule{border-top:1px solid #cdbfaf;margin:1.6rem 0}.status-line{font-size:.82rem!important;color:var(--berry);border-left:2px solid #a47710;padding-left:.7rem;margin:1rem 0!important;font-weight:600}.timestamps{margin:1.2rem 0 0;border-top:1px solid #cdbfaf;padding-top:1rem}.timestamps>div+div{margin-top:.7rem}.timestamps dt{font-size:.75rem;color:var(--muted)}.timestamps dd{margin:0;font-size:.87rem;font-weight:600}.file-label{display:block;font-weight:600;font-size:.87rem;margin-bottom:.5rem}input[type=file]{display:block;background:white;color:var(--ink);border:1px solid #a68f93;border-radius:10px;padding:.7rem;width:100%;min-width:0;font-size:.8rem}input[type=file]::file-selector-button{background:var(--berry);color:var(--cream);border:0;border-radius:999px;padding:.5rem .8rem;margin-right:.6rem;cursor:pointer;font:inherit}.restore-confirmation{border:1px solid #cdbfaf;border-radius:12px;margin:1.4rem 0 1rem;padding:1rem}.restore-confirmation legend{font-size:.75rem;font-weight:600;padding:0 .4rem;color:var(--berry)}.preview-panel{border:1px solid #cdbfaf;border-radius:12px;background:rgba(255,255,255,.5);padding:1rem;margin-top:1rem}.preview-panel .hint:last-child{margin-bottom:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.78rem;text-align:left}th,td{padding:.5rem .3rem;border-bottom:1px solid #d7cabc}thead th{font-weight:600;color:var(--muted)}tbody th{font-weight:400}td{text-align:center}.notice{border:1px solid #a58b46;border-radius:12px;padding:1rem 1.2rem;font-size:.87rem;line-height:1.6}.page-message{margin-bottom:1.4rem;background:#2d2317;color:#f5e2b7;display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.page-message[data-tone=error]{background:#3c1d29;border-color:#cc8b9e;color:#ffe0e8}.page-message[data-tone=success]{background:#1b302b;border-color:#89aa96;color:#e5f4e9}.page-message .button{color:inherit;border-color:currentColor}.noscript{margin-bottom:1.4rem}#repair-panel{margin-top:1rem}#repair-panel p{margin-bottom:.75rem}.checkpoint-card{margin-top:1.4rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.checkpoints-list{margin:0;padding:0;list-style:none}.checkpoints-list li{border-bottom:1px solid #cdbfaf;padding:.7rem 0;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.checkpoints-list time{font-size:.8rem}.checkpoints-list .button{font-size:.76rem;padding:.5rem .9rem;flex-shrink:0}.checkpoints-empty{font-size:.86rem;color:var(--muted)}footer{border-top:1px solid var(--line);max-width:1156px;margin:0 auto;padding:1.5rem 0 6.5rem;color:#bba9af;font-size:.75rem}.wa-fab{position:fixed;right:1.2rem;bottom:1.1rem;border-radius:999px;background:var(--cream);color:var(--berry);display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;box-shadow:0 7px 30px #0006;border:1px solid #ccb99d;text-decoration:none;font-size:.78rem;z-index:3}.wa-fab svg{height:21px;width:21px;fill:none;stroke:currentColor;stroke-width:1.6}.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}
.continue-course{margin-top:.7rem;text-decoration:none}.drive-note{border-left:2px solid #a47710;padding-left:.7rem;font-size:.82rem!important}.file-control{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;background:white;border:1px solid #a68f93;border-radius:10px;padding:.75rem}.file-control span{font-size:.77rem;color:var(--muted)}.source-warning{background:#fff6d9;border-left:2px solid #a47710;border-radius:10px;padding:.8rem;font-size:.82rem!important;margin-bottom:1rem}#automatic-file-section>p{margin-bottom:1rem}
@media(min-width:1400px){.header-row{gap:1rem}.course-nav{width:auto;flex:1;justify-content:center;order:1}.languages{order:2;margin-left:0}.course-nav a{padding:.5rem .65rem}}
.restore-options{margin:1rem 0;color:var(--berry);font-size:.85rem}.restore-options summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item;padding:.5rem 0}.restore-options[open] summary{margin-bottom:.5rem}.restore-options .hint{margin-bottom:.5rem}.reviewed-restore{margin-top:1rem}
@media(max-width:760px){.header-row{padding:1rem}.course-nav{gap:.25rem}.course-nav a{font-size:.74rem;padding:.45rem .65rem}main{padding:0 1rem 2rem}.intro{padding:2.5rem 0 2rem}.intro:before,.intro:after{inset:0 -1rem}.kicker{font-size:.62rem}.intro-copy{font-size:.95rem}.backup-grid,.checkpoint-card{grid-template-columns:1fr;gap:1rem}.card{padding:1.4rem}.identity-card{margin-bottom:1rem}.identity-top{gap:.8rem}.identity-top .text-link{width:100%;margin:0}.identity-top>div{width:100%}.identity-top h2{margin-bottom:0}.ledger{font-size:.79rem}.wa-fab{right:.8rem;bottom:.8rem;font-size:.72rem;padding:.65rem .9rem}.checkpoints-list li{flex-wrap:wrap}footer{margin:0 1rem}.page-message{padding:1rem}.check-row{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* Match the existing hub family. Shared course-navigation.css loads after this
   file and owns cross-page navigation metrics; no recovery selectors change. */
.course-header{background:#0B1020;border-bottom:1px solid rgba(255,255,255,.08);font-family:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"SF Pro Text",Roboto,"Helvetica Neue",Arial,sans-serif}
.header-row{max-width:1280px;padding:10px 24px;gap:12px}
.brand{gap:9px;color:#fff;margin-right:6px;white-space:nowrap}
.brand img{width:34px;height:34px;display:block;flex-shrink:0}
.brand .wm{font-family:Fraunces,Cambria,Georgia,serif;font-size:17px;line-height:1;font-weight:500}
.brand .wm b{font-weight:700}
.brand .wm small{font-family:Inter,system-ui,sans-serif;font-size:8.5px;font-weight:700;letter-spacing:.2em;color:#F2B544;margin-top:4px}
.languages{border-color:rgba(255,198,41,.55);background:rgba(11,16,32,.72)}
.languages button{color:rgba(255,255,255,.8)}
.languages button[aria-pressed=true]{background:#fff;color:#0B1020}
.course-nav{gap:4px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:4px;min-width:0;max-width:100%;overflow:visible}
.course-nav a{color:rgba(255,255,255,.78);font-size:13px;font-weight:600;padding:7px 14px;gap:7px;min-height:38px;max-width:100%;border:0}
.course-nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.course-nav a[aria-current=page]{background:#fff;color:#0B1020}
.course-nav a .n{font-size:11px;font-weight:700;background:rgba(255,198,41,.22);color:#FFE08A;border-radius:999px;padding:1px 7px;line-height:1.5;flex-shrink:0}
.course-nav a[aria-current=page] .n{background:#FFF1C2;color:#6D2E46}
main{max-width:1280px;padding-inline:24px}
.intro{padding:4.4rem 0 1.9rem}
.intro:before,.intro:after{inset:0 -24px}
h1{font-size:clamp(1.85rem,4.4vw,2.85rem);max-width:18ch;font-weight:500}
@media(max-width:760px){.header-row{padding:8px 12px;gap:8px}.course-nav a{padding:6px 11px;font-size:12.5px}main{padding-inline:16px}.intro{padding:2.5rem 0 1.9rem}.intro:before,.intro:after{inset:0 -16px}}
@media print{body{background:white;color:black;font-size:11pt}.course-header,.intro,.wa-fab,.skip,button,input,footer{display:none!important}main{max-width:none;padding:0}.card{background:white;color:black;box-shadow:none;border:1px solid #999;break-inside:avoid}.backup-grid,.checkpoint-card{display:block}.card+.card{margin-top:1rem}.notice{color:black!important;background:white!important}.card:before{display:none}a{color:black}.timestamps,.hint,.muted{color:black!important}}
