:root {
  color-scheme: light; --paper:#fcfcf9; --card:#fff; --ink:#1d2c26; --muted:#52635a;
  --forest:#174d3c; --pine:#256446; --mint:#e8f2e8; --plum:#694a80; --lav:#f3eef6;
  --line:#d7dfd6; --shadow:0 14px 42px rgb(20 61 43 / .065);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);font:16px/1.55 var(--sans);color:var(--ink);overflow-wrap:anywhere}
button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}
button{cursor:pointer}button:disabled{cursor:default;opacity:.59}
button,a,input,select,summary{ -webkit-tap-highlight-color:transparent }
:focus-visible{outline:3px solid #875dac;outline-offset:3px}
[hidden]{display:none!important}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.17}button,a{color:inherit}
p+p{margin-top:.75rem}.frame{width:min(1110px,calc(100% - 54px));margin-inline:auto}
.skip{position:fixed;top:-95px;left:12px;z-index:9;background:var(--ink);color:white;padding:.65rem 1rem;border-radius:.5rem}.skip:focus{top:8px}
.site-head{border-bottom:1px solid var(--line);background:#fff}.head-in,.brand,.head-label,.foot-in,.row,.button-row,.card-actions,.section-top,.library-head,.badge-row{display:flex;align-items:center;gap:12px}
.head-in{justify-content:space-between;min-height:76px}.brand{line-height:1.12}.brand img{border-radius:12px}.brand strong{display:block;font-size:1.12rem;letter-spacing:.09em;font-weight:850;color:var(--forest)}.brand span{font-size:.78rem;font-weight:650;display:block;margin-top:3px}
.head-label{font-size:.8rem;font-weight:650;color:var(--forest)}.live-dot{width:8px;height:8px;border-radius:50%;background:#458961}
.site-foot{border-top:1px solid var(--line)}.foot-in{min-height:66px;justify-content:space-between;color:var(--muted);font-size:.81rem}.site-foot .plain{font-size:inherit}
.foot-brand{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px}
.web-release{font-size:.81rem;line-height:1.5;font-weight:600;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.profile-release{margin:-8px 0 18px}
.legal-brief{margin:18px 0;padding:12px 15px;border-left:3px solid #8aa992;background:#f0f5ef;border-radius:0 9px 9px 0;font-size:.82rem;line-height:1.5}
.legal-brief strong,.legal-brief h3{display:block;color:var(--forest);font-size:.9rem}
.legal-brief p{margin:.3rem 0}
.legal-brief a,.legal-help .plain,.legal-subsection .plain{color:var(--forest);text-underline-offset:.2em}
.legal-card{max-width:680px;margin:clamp(12px,3vw,36px) auto;padding:clamp(20px,4vw,42px)}
.legal-card .workspace-heading{margin:0 0 20px}
.legal-card .workspace-heading h1{margin:.3em 0 .4em;line-height:1.16;font-size:clamp(1.8rem,4vw,2.65rem)}
.legal-card .workspace-heading h1[tabindex="-1"]:focus{outline:none}
.legal-card h2,.legal-profile-entry h2{font-size:1.12rem;line-height:1.3}
.legal-documents{display:grid;gap:10px}
.legal-document{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:14px 16px;color:var(--forest);border:1px solid #cbd8cc;border-radius:12px;text-decoration:none;background:var(--paper)}
.legal-document:hover{background:var(--mint)}
.legal-document small{display:block;margin-top:3px;color:var(--muted);font-size:.84rem}
.legal-note{margin:18px 0;color:var(--muted);font-size:.93rem}
.legal-preview{width:fit-content;margin:0 0 12px;padding:3px 10px;background:var(--lav);color:var(--plum);font-size:.78rem;font-weight:650;border-radius:9px}
.legal-consent{padding-top:17px;border-top:1px solid var(--line)}
.legal-consent .accept{margin:0;align-items:flex-start}
.legal-consent .button-row{margin-top:18px}
.legal-help{display:flex;flex-wrap:wrap;gap:2px 18px;align-items:center;margin-top:15px}
.legal-help .plain{font-size:.84rem;padding:9px 0}
.legal-profile-entry,.legal-record{margin:16px 0;padding:16px 18px;background:#f3f5ef;border:1px solid var(--line);border-radius:12px}
.legal-profile-entry .btn,.legal-subsection .btn,.legal-card>.plain{margin-top:10px}
.legal-subsection,.legal-card>.admin-section {margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.legal-record p,.legal-profile-entry p,.legal-subsection p{margin-top:6px}
.legal-card>.back-link{margin-bottom:12px}
.member-entry,.reader-entry{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin:14px 0;padding:15px 20px;border:1px solid #cbd8cc;border-radius:14px;background:#edf5ed;
}
.reader-entry{background:#faf8fc;border-color:#e1d8e7;margin-top:18px}
.member-entry h2,.reader-entry h2{font-size:1.15rem;line-height:1.3}
.member-entry .fine,.reader-entry h2{margin-top:3px}
.offer-page{max-width:740px;margin:12px auto;padding:clamp(16px,4vw,35px)}
.offer-page .workspace-heading{margin:0 0 10px}
.offer-status{display:inline-block;border-radius:100px;background:var(--mint);color:var(--forest);font-size:.83rem;font-weight:700;padding:4px 12px}
.offer-lead{margin-top:12px;color:var(--muted)}
.offer-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:12px;margin:20px 0 12px}
.offer-plan{padding:16px;border:1px solid #cbd8cc;border-radius:12px;background:#f4f8f3}
.offer-plan.annual{background:#f6f2f8;border-color:#ded2e5}
.offer-price{color:var(--forest);font-size:clamp(1.5rem,4.2vw,2rem);font-weight:750;margin:8px 0 2px;line-height:1.15}
.offer-renewal{font-size:.9rem;color:var(--muted)}
.offer-current{margin:18px 0;padding-top:16px;border-top:1px solid var(--line)}
.offer-current h2{margin-bottom:6px}
.offer-includes{padding-inline-start:1.2rem}
.workspace .plan-compare{max-width:900px;margin:12px auto 20px;background:#f8fbfd;border-color:#d8e5ec;box-shadow:none;padding:clamp(15px,3vw,32px)}
.plan-compare .workspace-heading{margin:0 0 20px;text-align:center}
.plan-compare .workspace-heading .eyebrow{justify-content:center}
.plan-compare .workspace-heading .muted{text-align:center}
.plan-common{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 17px;padding:12px 0;border-block:1px solid #d4e2eb;color:#315774;font-size:.91rem}
.plan-common span::before{content:"✓ ";color:#327356}
.plan-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.plan-choice{display:flex;flex-direction:column;align-items:stretch;gap:9px;min-width:0;border-radius:14px;border:1px solid #c9dbe5;padding:clamp(15px,2.5vw,25px);background:white;color:#203d53}
.plan-choice.plan-paid{border-color:#98bbd1;background:#edf5fb}
.plan-label{font-weight:700;color:#326b61;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem}
.plan-paid .plan-label,.plan-saving{color:#235c7b}
.workspace .plan-choice h2{font-size:1.6rem;text-align:left}
.plan-choice p{margin:0}
.plan-choice .plan-price,.plan-choice .plan-rate strong{font-weight:700;font-size:1.35rem;text-align:left;color:#193e5a}
.plan-formats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;list-style:none;padding:0;margin:3px 0;font-size:.88rem}
.plan-formats li::before{content:"✓ ";color:#327356}
.plan-saving{font-size:.88rem;font-weight:700}
.plan-choice>.btn{margin-top:auto}
.workspace .offer-current summary{cursor:pointer;font-weight:700}
@media(max-width:640px){.plan-choices{grid-template-columns:1fr;gap:12px}.plan-common{justify-content:flex-start}.plan-common strong{flex-basis:100%}}
@media(max-width:480px){.foot-brand{width:100%}}
.access-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,425px);align-items:center;gap:clamp(40px,8vw,125px);min-height:calc(100svh - 144px);padding-block:clamp(30px,6vw,76px)}
.eyebrow{display:flex;gap:9px;align-items:center;color:var(--forest);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;line-height:1.55}.eyebrow i{width:24px;height:3px;background:var(--plum);border-radius:1px}.eyebrow.plum{color:var(--plum)}
.welcome h1{margin:.23em 0;font-family:var(--sans);font-weight:500;letter-spacing:-.05em;font-size:clamp(62px,6.6vw,100px)}.welcome h1 em{color:var(--forest);font-weight:500}.lede{font-size:clamp(1rem,1.4vw,1.17rem);color:var(--muted);max-width:31rem}
.cover-art{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:28px;margin-top:30px;min-height:154px;background:linear-gradient(112deg,#e8f1e7,#edf4e9 65%,#edf0e2);border:1px solid #d8e1d3;border-radius:16px;padding:19px 25px}.art-lines{position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,transparent,transparent 19px,#60927619 20px);transform:rotate(-9deg) scale(1.4)}.notebook{flex:0 0 128px;align-self:center;transform:rotate(-5deg);padding:11px;background:#fffdf4;border:1px solid #c2cdbd;border-left:7px solid var(--forest);border-radius:4px 10px 10px 4px;box-shadow:4px 6px 0 #bdcaba}.notebook img{display:block;width:59px;height:59px;border-radius:11px;margin:8px auto}.book-label,.book-bottom{display:flex;align-items:center;justify-content:space-between;color:var(--forest)}.book-label{font-size:.37rem;letter-spacing:.045em;font-weight:800}.book-bottom{border-top:1px solid var(--line);padding-top:4px;font-size:.4rem}.book-bottom b{font-size:.67rem}.art-caption span{font-weight:800;letter-spacing:.13em;font-size:.59rem;color:var(--pine)}.art-caption b{display:block;font:italic 1.75rem/1.07 var(--sans);color:var(--forest);margin:.28rem 0}.art-caption i{display:block;background:var(--plum);width:29px;height:3px;margin-top:9px}
.login-card,.panel,.study-item,.exercise,.resource-view{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.login-card{padding:clamp(23px,3vw,38px);border-top:4px solid var(--forest)}.login-card h2{font:500 clamp(1.8rem,3vw,2.5rem)/1.1 var(--sans);letter-spacing:-.045em;margin:12px 0 7px}.muted,.fine,small{color:var(--muted)}.fine,small{font-size:.83rem}.login-card .muted{font-size:.93rem}
.field{display:grid;gap:6px;margin-top:14px}.field label,.field-label{font-size:.84rem;font-weight:670}.field input,.field select,.search-input,.sort-input{width:100%;min-height:47px;padding:9px 12px;background:white;color:var(--ink);border:1px solid #a5b5a8;border-radius:9px}.field input:focus,.field select:focus,.search-input:focus,.sort-input:focus{border-color:var(--forest)}.secret{position:relative}.secret input{padding-right:80px}.secret button{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:7px;background:#fff}.link-small,.plain{background:none;border:0;text-decoration:underline;text-underline-offset:3px;font-size:.87rem;font-weight:650;color:var(--forest);padding:0}.accept{display:flex;align-items:flex-start;gap:9px;margin:13px 0;font-size:.83rem}.accept input{accent-color:var(--forest);width:17px;height:17px;flex:none}.accept .link-small{font-size:inherit}
.feedback:empty{display:none}.feedback,.notice{padding:11px 13px;border-radius:9px;background:#f2f6ef;color:var(--forest);margin:14px 0;font-size:.91rem}.feedback.error,.notice.error{background:#fff1ea;color:#8b3b26}.notice{border:1px solid var(--line)}.btn,.chip,.back-link,.icon-btn,.nav-item,.shortcut,.kind-button,.mark,.progress-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-weight:650;border:1px solid transparent;border-radius:10px;min-height:43px;padding:8px 14px;background:#fff}.btn.primary{color:white;background:var(--forest)}.btn.primary:hover{background:#103f30}.btn.secondary,.icon-btn,.mark{border-color:var(--line);color:var(--forest);background:#fff}.btn.secondary:hover,.mark:hover{background:var(--mint)}.btn.soft,.chip{color:var(--plum);background:var(--lav)}.btn.full{width:100%;margin-top:19px}
.auth-recover{display:block;margin:12px auto 0;text-align:center}.auth-switch{margin-top:18px;padding-top:15px;border-top:1px solid var(--line);font-size:.89rem;text-align:center}
.workspace{min-height:calc(100svh - 144px);padding:32px 0 78px;max-width:988px}.dashboard-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(235px,.75fr);gap:16px}.panel{padding:19px 21px}.profile-panel{overflow:hidden;padding:0;background:linear-gradient(115deg,#fff,#f3f8f2);border-color:#cbd8cc}.profile-row{display:flex;align-items:center;gap:15px;padding:18px}.portrait{width:72px;height:89px;flex:none;display:grid;place-items:center;border-radius:10px;overflow:hidden;background:#dcead9;color:#345c42;font:italic 1.75rem var(--sans)}.portrait img{width:100%;height:100%;object-fit:cover}.profile-name{font:500 clamp(1.35rem,2.5vw,1.9rem)/1.12 var(--sans);letter-spacing:-.04em;margin:4px 0 5px}.mini{font-size:.75rem;color:var(--muted)}.progress-link{border:0;border-top:1px solid #cdded1;border-radius:0;width:100%;justify-content:space-between;padding:11px 18px;background:#e4f0e5;color:var(--forest)}.progress-link:hover{background:#d9eadc}.meter{accent-color:var(--forest);height:8px;width:min(32%,120px);border:0;border-radius:4px;overflow:hidden;background:#cedccf}.meter::-webkit-progress-bar{background:#cedccf}.meter::-webkit-progress-value{background:var(--forest)}.meter::-moz-progress-bar{background:var(--forest)}
.continue-panel{background:var(--lav);border-color:#e1d8e7;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.continue-panel h3{margin:7px 0;font-size:1.12rem}.continue-panel .btn{margin-top:12px}.workspace h1{font:500 clamp(2rem,5vw,3.3rem)/1.1 var(--sans);color:var(--ink);letter-spacing:-.055em;margin:6px 0}.workspace-heading{margin:24px 0 19px}.workspace-heading .muted,.section-top .muted{margin-top:6px}.section-top{justify-content:space-between;align-items:end;margin:23px 0 13px}.section-top h2,.panel h2,.exercise h2,.resource-view h2{font:550 clamp(1.35rem,2.2vw,1.65rem)/1.15 var(--sans);letter-spacing:-.025em}.section-top p{font-size:.88rem}
.shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.shortcut{justify-content:flex-start;border-color:var(--line);background:#fff;font-size:.86rem;text-align:left}.shortcut .symbol{color:var(--plum)}.kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.kind-button{border:1px solid var(--tint-line);color:var(--tint-ink);justify-content:space-between;text-align:left;background:var(--tint);min-height:73px;padding:12px;border-radius:12px}.kind-button:hover{box-shadow:inset 0 0 0 1px var(--tint-ink)}.kind-button .label{flex:1;line-height:1.2}.kind-button .label b{display:block;font-size:.92rem}.kind-button .label small{display:block;color:inherit;font-weight:500;font-size:.75rem;margin-top:4px}.kind-button .icon-tile{background:#ffffffb8;padding:8px;border-radius:8px}.symbol{display:inline-block;width:1.1rem;height:1.1rem;flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.green{--tint:#e6f3e8;--tint-ink:#225a3a;--tint-line:#c2dec6}.purple{--tint:#f0eaf7;--tint-ink:#654180;--tint-line:#dcd0e7}.blue{--tint:#e8f1fa;--tint-ink:#235f85;--tint-line:#caddeb}.pink{--tint:#f9eaf1;--tint-ink:#963c68;--tint-line:#edd0df}.peach{--tint:#fceee5;--tint-ink:#94491e;--tint-line:#ebd5c5}
.tabbar{display:flex;justify-content:center;gap:8px;position:sticky;bottom:0;border-block:1px solid var(--line);background:#fffffff5;z-index:3;padding:5px 10px max(5px,env(safe-area-inset-bottom))}.nav-item{color:var(--muted);font-size:.82rem;background:none}.nav-item[aria-current=page]{color:var(--forest);background:var(--mint)}.head-person{color:var(--forest);border-radius:99px;max-width:18rem;font-size:.84rem}
.back-link{color:var(--forest);padding:4px 0;min-height:36px;background:transparent}.profile-form,.exercise,.resource-view,.progress-view{max-width:750px;margin:15px auto}.profile-form .field{margin-top:17px}.profile-form h1,.resource-view h1{font-size:clamp(1.7rem,4vw,2.6rem)}.profile-form .button-row,.resource-view .button-row{margin-top:18px}.photo-row{display:flex;gap:14px;align-items:center;margin:18px 0}.photo-row .portrait{width:62px;height:76px}.button-row,.card-actions,.badge-row{flex-wrap:wrap}.section-list{display:grid;gap:8px}.library-head{align-items:start;justify-content:space-between;margin-bottom:15px}.library-head h1{font-size:clamp(1.8rem,4vw,2.6rem)}.filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.33fr);gap:10px;margin:14px 0}.filters .field{margin:0}.tabs-inline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chip{min-height:33px;font-size:.82rem;padding:4px 11px;border-radius:99px;background:#fff;border-color:var(--line);color:var(--muted)}.chip[aria-pressed=true]{background:var(--lav);color:var(--plum);border-color:#cbb7d9}
.study-item{border-radius:12px;box-shadow:none;display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:13px 15px;border-left:5px solid var(--tint-line)}.thumb{width:61px;height:75px;border-radius:6px;display:grid;place-items:center;background:var(--tint);color:var(--tint-ink);overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .symbol{width:27px;height:27px}.item-copy h3{font-size:.99rem;line-height:1.38}.item-copy .badge-row{font-size:.76rem;color:var(--muted);gap:8px;margin-top:4px}.card-actions{margin-top:7px;gap:7px}.card-actions .btn,.mark{font-size:.8rem;min-height:35px;padding:4px 10px}.mark[aria-pressed=true]{background:var(--mint);color:var(--forest)}.empty{padding:20px;background:#f4f6f1;border:1px dashed #b8c7bb;border-radius:12px;color:var(--muted)}.load-more{margin:12px auto;display:flex}.random-box{background:#eff4eb;border:1px solid #d2dfcf;border-radius:12px;margin:0 0 18px;padding:15px 18px}.random-box h2{font-size:1.12rem}.random-box .button-row{margin-top:9px}.random-box .btn{font-size:.86rem;min-height:36px}
.exercise,.resource-view{padding:clamp(18px,3.5vw,33px)}.exercise-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.meter.full{width:100%;max-width:none;margin:12px 0}.question{font-size:clamp(1.08rem,2vw,1.35rem);font-weight:650;line-height:1.5;text-align:justify;text-align-last:start;background:var(--lav);border-radius:12px;padding:16px;margin:10px 0 13px}.options{border:0;margin:0;padding:0;display:grid;gap:9px}.options.binary{grid-template-columns:repeat(2,minmax(0,1fr))}.option{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:12px;border:1px solid var(--tint-line);background:var(--tint);cursor:pointer;text-align:justify;text-align-last:start;color:var(--ink)}.option input{accent-color:var(--forest);margin:6px 0 0;flex:none}.option b{font-size:.82rem;color:var(--tint-ink)}.option:has(input:checked){outline:2px solid var(--tint-ink);outline-offset:0}.exercise .button-row{margin-top:16px}.response-box{border:1px solid var(--line);border-left:4px solid var(--tint-ink);background:var(--tint);border-radius:10px;padding:13px;margin-top:14px}.response-box p{margin-top:6px;text-align:justify;text-align-last:start}
.resource-frame{width:100%;height:clamp(360px,68vh,800px);border:1px solid var(--line);border-radius:10px;margin-top:16px}.resource-frame.video{height:auto;aspect-ratio:16/9}.resource-view .fine{margin-top:10px}.section-top .count{color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:13px 0}.metric{background:var(--tint);border:1px solid var(--tint-line);border-radius:10px;padding:10px 5px;text-align:center;display:grid;justify-items:center;align-content:start;color:var(--tint-ink);font-size:.8rem}.metric b{display:block}.ring{width:65px;height:65px;position:relative;display:grid;place-items:center;margin-bottom:3px;font-size:.95rem;font-weight:800}.ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:#fff;stroke-width:4}.ring-value{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round}.ring span{z-index:1}.history-row{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0}.history-row strong{font-size:.9rem}.history-row .btn{flex:none}
dialog{width:min(520px,calc(100% - 28px));max-height:85svh;overflow:auto;border:1px solid var(--line);border-radius:17px;padding:0;color:var(--ink);background:white}dialog::backdrop{background:#122a20a8}.dialog-wrap{padding:24px}.dialog-wrap h2{margin:11px 0}.dialog-wrap p{margin:10px 0}.dialog-wrap .btn{margin-top:9px}
@media(max-width:770px){.frame{width:min(100% - 30px,650px)}.access-grid{grid-template-columns:1fr;gap:23px;padding:25px 0}.welcome{max-width:450px}.welcome h1 br{display:none}.welcome h1{font-size:clamp(2.4rem,7vw,3.7rem);line-height:1.2;margin:5px 0}.welcome h1 em::before{content:" "}.cover-art{display:none}.lede{font-size:.94rem}.login-card{max-width:540px;width:100%;justify-self:center}.dashboard-top{grid-template-columns:1fr}.continue-panel{display:block}.continue-panel .btn{margin-top:9px}.kinds{grid-template-columns:repeat(2,minmax(0,1fr))}.shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding-top:18px}.workspace-heading{margin:18px 0 15px}.profile-row{padding:13px}.foot-in{min-height:60px}.head-in{min-height:63px}.tabbar{gap:4px}}
@media(max-width:480px){.head-label{font-size:.7rem;gap:5px}.brand img{width:36px;height:36px}.brand{gap:7px}.brand strong{font-size:.98rem}.brand span{font-size:.7rem}.panel{padding:14px}.profile-panel{padding:0}.kind-button{min-height:77px;gap:6px;padding:9px}.kind-button .icon-tile{padding:5px}.kind-button .label b{font-size:.84rem}.kind-button .label small{font-size:.72rem}.kind-button>.arrow{display:none}.nav-item{flex:1;flex-direction:column;gap:2px;min-width:0;font-size:.7rem;padding:4px}.filters{grid-template-columns:1fr}.filters .field{gap:3px}.filters .sort-input{min-height:39px}.study-item{grid-template-columns:43px minmax(0,1fr);gap:9px;padding:10px}.thumb{width:43px;height:59px}.head-person{font-size:.73rem;max-width:110px}.head-person .symbol{display:none}.profile-name{font-size:1.35rem}.portrait{width:55px;height:68px}.options.binary .option{padding:9px 7px;gap:6px}.site-foot .foot-in{flex-wrap:wrap;gap:4px;padding:8px 0}.btn,.shortcut{font-size:.89rem}.profile-form .button-row .btn{flex:1}.ring{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:0s!important}}
.sample-link{display:block;margin:12px auto 0;width:fit-content;text-align:center;font-size:.83rem;color:var(--forest);text-underline-offset:.2em}.progress-view>.fine{text-align:justify}
.kind-button.upcoming{background:#f2f5f7;color:#495c66;border:1px dashed #c0cdd3;cursor:default}.kind-button.upcoming small{color:#576670}
.thumb .original-cover{object-fit:contain}
.google-login { position:relative;min-width:0;max-width:100%;height:40px;overflow:clip;overflow-clip-margin:3px; }
.google-login .google-pending { opacity:0; }
.google-login .google-loading { position:absolute;inset:0;display:grid;align-items:center; }
.access-privacy-link { display:block; width:fit-content; margin:12px auto 4px; padding:6px 3px; font-size:.86rem; color:var(--forest); text-underline-offset:.18em; }
#google-retry { margin:.75rem 0 .25rem; }
.video-card {
  position:relative;
  grid-template-columns:clamp(160px,22vw,224px) minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:12px 16px 12px 12px;
  border-left-color:var(--tint-ink);
}
.video-card .thumb {
  width:100%;height:auto;aspect-ratio:16 / 9;
  background:var(--tint);border-radius:7px;
}
.video-card .thumb img { display:block;object-fit:contain; }
.video-kind {
  display:block;margin-bottom:4px;color:var(--tint-ink);
  font-size:.74rem;font-weight:700;
}
.video-title {
  border:0;padding:0;color:var(--ink);background:none;
  font:inherit;font-weight:680;text-align:inherit;
}
/* El título extiende su zona de activación sobre la portada. El marcador es independiente. */
.video-title::after { content:"";position:absolute;inset:0;border-radius:12px; }
.video-title:focus-visible { outline:none; }
.video-title:focus-visible::after { outline:3px solid var(--tint-ink);outline-offset:2px; }
.video-title:hover { color:var(--tint-ink);text-decoration:underline;text-underline-offset:3px; }
.video-card .item-copy h3 { font-size:1.07rem;line-height:1.35; }
.video-card .badge-row { margin-top:7px;gap:8px 12px; }
.video-card .row { gap:4px; }
.video-card .row .symbol { width:.95rem;height:.95rem; }
.video-status { padding:1px 8px;border-radius:20px;background:var(--tint);color:var(--tint-ink);font-weight:600; }
.video-card .mark {
  position:relative;z-index:1;align-self:start;min-height:42px;gap:6px;
}
@media(max-width:770px) {
  .video-card { grid-template-columns:clamp(130px,24vw,170px) minmax(0,1fr);gap:6px 13px; }
  .video-card .thumb { grid-row:span 2; }
  .video-card .mark { grid-column:2;justify-self:start; }
}
@media(max-width:520px) {
  .video-card { grid-template-columns:minmax(0,1fr);gap:9px;padding:10px 12px; }
  .video-card .thumb,.video-card .mark { grid-column:1;grid-row:auto; }
  .video-card .item-copy h3 { font-size:1rem; }
  .video-card .badge-row { margin-top:5px; }
}
.mistakes-shortcut{
  display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;
  width:100%;min-height:46px;margin-top:14px;padding:9px 12px;text-align:start;
  border:1px solid #dbcee4;border-radius:10px;background:var(--lav);color:var(--plum);
}
.mistakes-shortcut:hover{background:#eae1f0}
.mistakes-shortcut small{font-size:.82rem}
.mistakes-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mistakes-kind{display:flex;flex-direction:column;align-items:flex-start;gap:9px;border-top:4px solid var(--tint-ink)}
.mistakes-kind .row{color:var(--tint-ink)}
.mistakes-kind .btn{margin-top:auto}
.result-hint{margin-top:10px}
.privacy-page{max-width:46rem;padding:2rem 0 3rem}
.privacy-page h1{line-height:1.15;margin:.5rem 0 1.25rem}
.privacy-page p{margin:1rem 0}
.privacy-page .btn{margin-top:1rem}
@media(max-width:600px){.mistakes-list{grid-template-columns:1fr}.mistakes-kind{gap:6px}}
@media(max-width:440px){
  .mistakes-shortcut{grid-template-columns:auto 1fr auto;gap:0 9px}
  .mistakes-shortcut .symbol{grid-row:1 / 3}
  .mistakes-shortcut .symbol:last-child{grid-column:3}
  .mistakes-shortcut small{grid-column:2}
}
.admin-panel>h2,.admin-section{margin-top:2rem}
.admin-panel h2{font-size:clamp(1.2rem,3vw,1.6rem)}
.admin-metrics{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.8rem),1fr));padding:0}
.admin-metrics>div{padding:.9rem 1rem;border:1px solid #d9e3dc;border-radius:.85rem}
.admin-metrics dt{color:#43554c;font-size:.86rem}
.admin-metrics dd{font-size:1.3rem;font-weight:700;margin:.35rem 0 0}
.admin-table-wrap{max-width:100%;overflow-x:auto;margin:1rem 0 1.4rem}
.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:.91rem}
.admin-table caption{text-align:center;font-weight:700;padding:.5rem 0}
.admin-table td,.admin-table th{padding:.6rem .45rem;border-bottom:1px solid #d9e3dc}
.admin-table th{color:#234b3a;background:#edf4ed}
.admin-verify{display:grid;gap:.65rem;max-width:32rem}
.admin-secret,.admin-section code{overflow-wrap:anywhere}
.admin-secret{background:#edf4ed;padding:.8rem;user-select:all}
.ceaa-pdf-page{display:block;max-width:100%;height:auto;margin:.8rem auto;background:white;border:1px solid #d9e3dc}
.ceaa-pdf-view .button-row{align-items:center}

/* Lector de las páginas protegidas de CEAA. */
.resource-view:has(.ceaa-reader) {
  max-width: 960px;
  padding: clamp(.65rem, 2vw, 1.4rem);
}
.resource-view:has(.ceaa-reader) .workspace-heading { margin: .65rem 0; }
.ceaa-reader {
  min-width: 0; max-width: 100%; margin-block: .85rem;
  border: 1px solid var(--line); border-radius: 14px; background: var(--card);
}
.reader-toolbar, .reader-footer {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: .25rem .7rem; padding: .45rem .8rem;
}
.reader-brand, .reader-tools, .reader-controls, .reader-zoom-group, .reader-picker {
  display: flex; align-items: center;
}
.reader-brand { flex: 1 1 14rem; gap: .55rem; color: var(--forest); min-width: 0; }
.reader-brand img { width: 32px; height: 32px; border-radius: 7px; }
.reader-brand > div { min-width: 0; }
.reader-brand strong { white-space: normal; font-size: .94rem; }
.reader-document-title { display: none; }
.reader-tools { gap: .55rem; }
.reader-controls, .reader-zoom-group {
  border: 1px solid var(--line); border-radius: 10px; background: #fff;
}
.reader-action, .reader-picker {
  justify-content: center; flex: none; min-height: 44px; min-width: 44px;
  background: transparent; color: var(--forest); border: 0; border-radius: 8px;
}
.reader-action { display: inline-flex; align-items: center; padding: .5rem; }
.reader-action:hover:not(:disabled), .reader-picker:hover:not(:has(select:disabled)) { background: var(--mint); }
.reader-action:disabled { color: var(--muted); opacity: .45; }
.reader-action:focus-visible, .reader-picker:has(select:focus-visible) { outline: 2px solid var(--forest); outline-offset: -2px; }
.reader-action svg, .reader-picker svg {
  fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  width: 1.25rem; height: 1.25rem;
}
.reader-tools > .reader-action { border: 1px solid var(--line); }
.reader-picker { position: relative; padding-inline: .35rem; gap: .3rem; }
.reader-picker svg { width: .8rem; height: .8rem; }
.reader-picker select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.reader-zoom-label, .reader-page-label { font-size: .88rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.reader-viewport {
  --reader-height: clamp(16rem, 62vh, 52rem); --reader-height: clamp(16rem, 62svh, 52rem);
  min-height: min(12rem, 30vh); max-height: var(--reader-height);
  padding: clamp(.4rem, 1.6vw, 1.25rem); border-block: 1px solid var(--line);
  overflow: auto; max-width: 100%; background: #edf2f6;
}
.reader-viewport:focus-visible { outline-offset: -3px; }
.reader-viewport .reader-sheet {
  display: block; width: 100%; height: auto; max-width: none; margin: 0 auto;
  box-shadow: 0 1px 6px rgb(25 49 70 / 16%); background: #fff;
  user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
}
.reader-viewport[data-zoom="fit"] { display: flex; align-items: center; height: var(--reader-height); }
.reader-viewport[data-zoom="fit"] .reader-sheet { width: auto; max-width: 100%; max-height: 100%; }
.reader-viewport[data-zoom="150"] .reader-sheet { width: 150%; }
.reader-viewport[data-zoom="200"] .reader-sheet { width: 200%; }
.reader-viewport[data-zoom="300"] .reader-sheet { width: 300%; }
.reader-controls[data-single="true"] { border: 0; }
.reader-controls[data-single="true"] :is(.reader-action, svg, select) { display: none; }
.reader-controls[data-single="true"] .reader-picker { min-height: auto; }
.ceaa-reader .reader-status { min-width: 0; margin: 0; font-size: .82rem; }
.reader-footer { min-height: 52px; }
.reader-dialog {
  position: fixed; inset: 0; width: 100%; height: 100%; max-width: 100%; max-height: 100%;
  margin: 0; padding: 0; border: 0; border-radius: 0; overflow: hidden;
}
.reader-expanded {
  display: flex; flex-direction: column; width: 100%; height: 100%; margin: 0;
  padding: env(safe-area-inset-top) 0 0; border: 0; border-radius: 0; overflow: auto;
}
.reader-expanded > * { flex-shrink: 0; }
.reader-expanded .reader-viewport { flex: 1 1 auto; min-height: 5rem; max-height: none; height: auto; }
.reader-expanded .reader-document-title {
  display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  color: var(--muted); font-size: .82rem;
}
.reader-expanded .tabbar { margin: 0; }
@media (max-width: 600px) {
  .resource-view:has(.ceaa-reader) { padding-inline: .5rem; }
  .reader-toolbar, .reader-footer { padding: .35rem .45rem; }
  .reader-footer { justify-content: center; }
  .reader-status { width: 100%; }
  .reader-viewport { padding: .3rem; }
}
@media (max-width: 420px) {
  .reader-brand strong { font-size: .81rem; white-space: normal; line-height: 1.12; display: block; }
  .reader-expanded .reader-document-title { display: none; }
  .reader-tools { gap: .25rem; }
}
@media print {
  .ceaa-reader, .reader-dialog, .reader-sheet { display: none !important; }
}

/* La barra ocupa su propio espacio al final de la página y acompaña al lector ampliado. */
html:has(#tabbar:not([hidden])) { scroll-padding-bottom: calc(4.25rem + env(safe-area-inset-bottom)); }
.tabbar {
  padding-inline: max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right));
  background: #fff;
}
.tabbar .nav-item { min-height: 44px; line-height: 1.2; }
.nav-item:hover { background: #f2f6ef; color: var(--forest); }
.nav-membership { color: var(--forest); }
.nav-logout { color: #654643; }
@media(max-width:770px) {
  .tabbar { gap: 2px; }
  .tabbar .nav-item { flex-direction: column; gap: 3px; min-width: 0; padding: 4px 6px; font-size: .78rem; }
}
@media(max-width:520px) {
  html:has(#tabbar.with-study-links:not([hidden])) { scroll-padding-bottom: calc(7.5rem + env(safe-area-inset-bottom)); }
  .tabbar.with-study-links { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 0 3px; }
  .with-study-links .nav-item { grid-column: span 4; }
  .with-study-links .nav-membership,.with-study-links .nav-logout { grid-column: span 6; }
  .tabbar .nav-membership,.tabbar .nav-logout { flex-direction: row; gap: 7px; }
  .with-study-links .nav-membership,.with-study-links .nav-logout { border-top-color: var(--line); }
}
@media print { .tabbar { display:none !important; } }

/* Encabezados que la interfaz presenta como texto fuerte, precios o rótulos de tarjeta. */
.legal-brief > strong, .legal-document strong, .response-box > strong,
.history-row > div > strong, .kind-button .label b, .offer-price {
  display: block;
  text-align: center;
  text-align-last: auto;
}
.field > small, .legal-document small, .accept, .button-row label,
.privacy-page li, .offer-includes li, .options legend {
  text-align: justify;
  text-align-last: start;
  hyphens: auto;
}
/* El encabezado ocupa el ancho disponible también en filas con icono o acción. */
.section-top > div:only-child { flex: 1; min-width: 0; }
.profile-row > div:last-child, .progress-view > .row > div,
.history-row > div, .mistakes-kind .row h2 { flex: 1; min-width: 0; }
.member-entry > div, .reader-entry > div { flex: 1 1 15rem; min-width: 0; }
.continue-panel > :is(h3,p), .mistakes-kind > :is(.row,p) { align-self: stretch; }
.welcome .lede { margin-inline: auto; }
@media (max-width:770px) { .access-grid .welcome { width: 100%; margin-inline: auto; } }
.kind-button.calc-access{--tint:#b75c12;--tint-ink:#fff;--tint-line:#934807}
.kind-button.calc-access .icon-tile{color:#924807;background:#fff3e6}
/* Los saltos pertenecen al original, incluidos los pasos de las preguntas de ordenamiento. */
.exercise .question, .exercise .option > span, .response-box > p, .report-context {
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.question-report { margin-top: 1rem; border-top: 1px solid var(--line); padding-top: .3rem; }
.question-report summary { width: fit-content; cursor: pointer; color: var(--forest); font-weight: 650; padding: .7rem 0; }
.question-report .field { display: grid; gap: .3rem; margin-block: .6rem; }
.question-report textarea { width: 100%; resize: vertical; font: inherit; padding: .55rem; color: var(--ink); }
.question-report .report-context { text-align: start; }
.progress-counts p { margin-block: .35rem; }
.home-study-card { overflow-wrap: anywhere; }
.home-study-card .btn { align-self: center; }
.home-progress-count { margin: 0; padding: 0 18px 10px; background: #e4f0e5; color: var(--forest); font-size: .86rem; }
.shortcuts:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.home-upcoming { margin-top: 1.25rem; border-top: 1px solid var(--line); }
.home-upcoming summary { cursor: pointer; min-height: 44px; padding-block: .7rem; color: var(--forest); font-weight: 650; }
.home-upcoming li { margin-block: .35rem; color: var(--muted); }
.home-next { width: 100%; justify-content: flex-start; margin-block: .5rem 0; text-align: start; }
.home-next > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.home-next small, .home-next b { display: block; }
.home-next small { font-weight: 500; }
.collection-scope { display: flex; gap: .35rem; padding: .3rem; margin: 1rem auto; max-width: 33rem; border-radius: 1rem; background: #edf3ef; }
.collection-scope .chip { flex: 1; min-width: 0; min-height: 44px; white-space: normal; background: transparent; border-color: transparent; }
.collection-scope .chip[aria-pressed="true"] { color: white; background: var(--forest); }
.collection-processes { max-width: 100%; font-size: .82rem; color: var(--forest); }
.collection-processes summary { cursor: pointer; padding: .25rem .4rem; }
.collection-processes ul { margin: .25rem 0 .5rem; padding-inline-start: 1.4rem; }

/* Colores que identifican cada herramienta en Mi Progreso, compartidos con la app. */
.study-color-abc { --study-color: #2e7d32; }
.study-color-vf { --study-color: #ad3974; }
.study-color-juego { --study-color: #2679a1; }
.study-color-infografia { --study-color: #7050a0; }
.study-color-resumenGrafico { --study-color: #ae507f; }
.study-color-resumenRapido { --study-color: #18766c; }
.study-color-audiolibro { --study-color: #7552a2; }
.study-color-videos, .study-color-clase { --study-color: #245fa1; }
.study-color-videoBreve { --study-color: #1d7d85; }
.home-progress-entry, .progress-general {
  display: grid; align-content: center; gap: .48rem; width: 100%; box-sizing: border-box;
  color: #fff; background: #745293; padding: .85rem 1.1rem; text-align: start;
}
.home-progress-entry { border: 0; border-radius: 0; cursor: pointer; line-height: 1.25; }
.home-progress-entry:hover { background: #64457f; }
.home-progress-entry:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
.dashboard-top .profile-panel {
  background: #fbfdfb; padding: clamp(.7rem, 2vw, 1.15rem);
  border-radius: 20px; align-self: start;
}
.profile-row { padding: 3px 2px 14px; gap: clamp(.65rem, 2vw, 1.2rem); }
.profile-row .foto-editable { width: clamp(85px, 24vw, 122px); }
.profile-row .portrait { width: 100%; height: auto; aspect-ratio: 4 / 5; border-radius: 12px; }
.profile-row > div { min-width: 0; }
.profile-row .profile-name { margin-block: .15rem .3rem; }
.home-route-caption { display: block; margin-top: .55rem; font-size: .76rem; color: var(--muted); }
.profile-panel .home-progress-entry { border-radius: 12px; }
.progress-title-line { display: grid; grid-template-columns: 1fr auto 1.2rem; align-items: center; gap: .55rem; }
.progress-title-line .symbol { width: 1.05rem; height: 1.05rem; }
.progress-hint { color: white; font-size: .82rem; }
.earned-strip { display: block; width: 100%; height: 9px; overflow: hidden; border-radius: 99px; background: rgb(255 255 255 / 21%); }
.earned-strip rect { fill: var(--study-color); fill: color-mix(in srgb, var(--study-color) 50%, white); }
.progress-general { grid-template-columns: 1fr auto; align-items: center; border-radius: .75rem; }
.progress-general h2 { font-size: 1.05rem; color: white; margin: 0; }
.progress-general .earned-strip, .progress-general .fine { grid-column: 1 / -1; }
.progress-general .fine { color: white; margin: 0; }
.progress-counts { padding-block: .65rem; }
.progress-view .detail-title { margin: .65rem 0 .2rem; text-align: center; }
.progress-view { container-type: inline-size; }
.study-metrics { gap: .6rem; margin: .9rem 0; }
.study-metrics .study-metric {
  width: 100%; min-width: 0; align-content: start; gap: .25rem; padding: .7rem .3rem;
  background: #fff; border: 1px solid #d6ded8; border-radius: .85rem; line-height: 1.25; color: #24342b;
}
button.study-metric { cursor: pointer; }
button.study-metric:hover { border-color: var(--study-color); background: #f7f9f7; }
button.study-metric:focus-visible { outline: 3px solid var(--study-color); outline-offset: 2px; }
.study-metric .ring { width: 4rem; height: 4rem; margin: 0; }
.study-metric .ring-track { stroke: #e0e6e3; }
.study-metric .ring-value, .study-metric .ring-part { stroke: var(--study-color); }
.study-metric .ring-part { fill: none; stroke-width: 4; }
.study-metric small { line-height: 1.25; font-size: .78rem; color: #435348; }
.study-metric.unavailable { background: #f6f8f6; }
.unavailable .ring-track { stroke-dasharray: 3 3; }
.lectura-ems { max-width: 72ch; margin: 1.25rem auto; line-height: 1.65; overflow-wrap: anywhere; }
.lectura-ems select { width: 100%; min-height: 2.75rem; }
.lectura-ems h3 { margin: 1.5rem 0 .8rem; }
.lectura-ems-cuerpo h4 { margin: 1.4rem 0 .25rem; }
.lectura-ems-cuerpo p { margin: .5rem 0; }
.lectura-ems-etapa, .lectura-ems-alcance { font-weight: 700; }
.lectura-ems-fuente, .lectura-ems-referencia { font-size: .9em; }
.lectura-ems .button-row { margin-top: 1.5rem; }
@container (max-width: 19.8rem) {
  .study-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
}
.prepaid-offer { display:grid; gap:.8rem; }
.prepaid-offer > .btn { justify-self:start; }
.prepaid-periods { display:flex; flex-wrap:wrap; gap:.5rem; min-width:0; margin:0; padding:0; border:0; }
.prepaid-periods legend { margin-bottom:.35rem; font-weight:700; }
.prepaid-periods label { display:inline-flex; align-items:center; gap:.45rem; min-height:44px; padding:.4rem .75rem; border:1px solid var(--line); border-radius:.6rem; cursor:pointer; }
.prepaid-periods label:focus-within { outline:2px solid currentColor; outline-offset:2px; }
.prepaid-periods input { flex:none; width:1.05rem; height:1.05rem; margin:0; }
.prepaid-reference strong, .prepaid-reference code { display:block; }
.prepaid-reference code { overflow-wrap:anywhere; user-select:all; font-variant-numeric:tabular-nums; }
.plan-presentation{max-width:60rem;margin-inline:auto}
.plan-common-info{padding:1rem 1.2rem;border-radius:1rem;background:#eff5fb;color:#244662}
.plan-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem;margin-block:1rem}
.plan-option{display:flex;flex-direction:column;align-items:stretch;gap:.6rem;min-width:0;border:1px solid #ccd9e4;border-radius:1rem;padding:clamp(1rem,2.5vw,1.7rem)}
.plan-option h2,.plan-option p{margin:0}
.plan-option h2,.plan-option .plan-option-price,.plan-option .plan-opening{text-align:center}
.plan-option-premium{background:#f1f7fc;border-color:#8aaec9}
.plan-option-price{font-size:1.25rem;color:#164366}
.plan-option button{margin-top:auto}
.plan-opening{color:#475d6f}
.plan-periods{display:flex;flex-wrap:wrap;gap:.7rem;border:1px solid #ccd9e4;border-radius:1rem;padding:1rem}
.plan-periods label{display:flex;align-items:center;gap:.6rem;cursor:pointer;min-height:44px;padding:.4rem .75rem;border:1px solid #b8ccdd;border-radius:.7rem}
.plan-periods input{width:1.1rem;height:1.1rem;margin:0;accent-color:#22567f}
.plan-periods label:has(:checked){background:#e9f3fc;border-color:#22567f}
.plan-period-detail{min-height:2em}
.plan-purchase-intro{max-width:62ch;margin:.4rem auto 1.2rem}
.workspace .plan-compare:has(.purchase-choices){max-width:72rem}
@media(min-width:900px){
  .purchase-choices:has(>.plan-choice:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
}
.purchase-choices .plan-method{font-weight:700}
.purchase-choices .plan-choice h2,.purchase-choices .plan-price{text-align:center}
.purchase-choices .plan-choice.plan-annual{color:#fff;background:#204d73;border-color:#204d73}
.purchase-choices .plan-annual :is(h2,.plan-price,.fine,a,.plan-saving){color:#fff}
.purchase-choices .plan-annual .btn{background:white;color:#17456a;border-color:white}
.purchase-choices .plan-annual .btn:focus-visible{outline:3px solid #ffc85a;outline-offset:2px}

/* Comparación editorial de la cuenta gratuita y los dos periodos de la misma membresía. */
#workspace:has(> .tool-offer),
body:has(.tool-offer) .head-in{width:min(1380px,calc(100% - 72px));max-width:none}
#workspace:has(> .tool-offer){padding-top:16px}
.workspace .tool-offer{padding:0;margin:8px 0 20px;border:1px solid #c5d5df;border-radius:16px;overflow:hidden;box-shadow:0 3px 14px #203f5b06;background:white;color:#173549}
.tool-offer>.notice{margin:12px}
.tool-table{width:100%;border-spacing:0;table-layout:fixed;text-align:left;font:400 15px/1.42 var(--sans)}
.tool-table .col-tool{width:28%}.tool-table .col-free{width:17%}.tool-table .col-premium{width:22%}.tool-table .col-billing{width:33%}
.tool-table :is(th,td){vertical-align:middle;overflow-wrap:break-word}
.tool-table thead th{padding:14px 18px;border-bottom:1px solid #cedee7}
.tool-table .tools-heading{padding-inline:9px;background:#edf3f7;text-align:center}
.tool-table .tools-heading h1{margin:0;color:#183c52;font-size:clamp(21px,1.8vw,26px);font-weight:650;line-height:1.19;letter-spacing:-.8px;text-align:center}
.tool-table .tools-free{background:#fff;border-left:1px solid #d6e1e8;font-weight:600;font-size:20px}
.tools-free span{display:inline-block;vertical-align:middle;padding:3px 7px;border:1px solid #d5e1e6;border-radius:999px;color:#536977;font-size:10px;font-weight:500}
.tool-table .tools-premium{background:#195581;color:white;text-align:center}
.tools-premium>span{display:flex;align-items:center;justify-content:center;gap:8px;font-size:22px;font-weight:650;line-height:1.2;letter-spacing:-.55px}
.tools-premium .symbol{width:21px;height:21px}
.tools-premium small{display:block;color:#deedf7;font-size:12px;font-weight:400;margin-top:3px}
.tool-table tbody th{position:relative;padding:17px 14px 17px 67px;background:var(--pastel);text-align:left}
.tool-table tbody th strong{font-size:16px;font-weight:600;line-height:1.35}
.tool-table tbody th small,.tool-table td>small{display:block;margin-top:3px;color:#3f5768;font-size:13px;font-weight:400;line-height:1.45}
.tool-table .tool-symbol{position:absolute;top:50%;left:17px;transform:translateY(-50%);display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#ffffffae;color:var(--icon-ink)}
.tool-symbol .symbol{width:21px;height:21px}
.tool-table tbody td{padding:12px 19px;border-left:1px solid #d8e3e9}
.tool-table tbody tr+tr>:is(td,th){border-top:1px solid #d8e3e9}
.tool-table tbody tr+tr>th{border-top-color:#ffffffdd}
.tool-table .tool-free{background:white}.tool-table .tool-premium{background:#edf5fa}
.tool-table td>strong{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.4px}

.tool-table .tool-included{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#37586e}
.tool-included>span{color:#3f718f}.tool-mobile-label{display:none}
.tool-table .tool-checkout{background:#f3f8fc;padding:15px;border-left:1px solid #c2d7e5}
.tool-period{border-radius:12px;padding:18px;color:#173549;background:white;border:1px solid #c4d7e4}
.tool-period+.tool-period{margin-top:14px}
.tool-period.year{color:#fff;background:#195581;border-color:#195581}
.workspace .tool-period h2{margin:0;color:inherit;font-size:15px;font-weight:600;line-height:1.2;text-align:left;letter-spacing:0}
.tool-period p,.tool-terms p{margin:3px 0;color:#435d70;font-size:13px;line-height:1.45;text-align:left;text-align-last:auto}
.tool-period.year p{color:#e9f4fc}
.tool-period .tool-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:1px 8px;margin:6px 0 4px;color:inherit}
.tool-price .amount{font:650 30px/1.14 var(--sans);letter-spacing:-1.2px;white-space:nowrap}
.tool-period .tool-price small{color:inherit;font-size:13px;letter-spacing:0;font-weight:500}
.tool-period.year .tool-price{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline}
.tool-price .installments{font-size:12.5px;font-weight:500;letter-spacing:-.12px}
.tool-saving{margin:15px 0 6px;padding:11px 14px;border-radius:8px;background:#ffdb36;color:#173744}
.tool-saving strong{display:block;font-size:19px;line-height:1.2;font-weight:700;letter-spacing:-.4px}
.tool-saving small{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:#354c55}
.workspace .tool-pay{width:100%;min-height:42px;padding:10px 12px;margin-top:13px;justify-content:center;gap:8px;border:1px solid #a6c4d9;border-radius:8px;background:#e5f1f9;color:#19486a;font-size:14px;font-weight:600}
.workspace .year .tool-pay{border-color:#fff;background:#fff;color:#164566}
.workspace .tool-pay:hover:not(:disabled){background:#d2e7f6;color:#173b55}
.workspace .tool-pay:focus-visible{outline:3px solid #d77800;outline-offset:2px}
.tool-pay .symbol{width:16px;height:16px}
.tool-terms{margin-top:9px;color:#44647b;font-size:12px}
.tool-terms summary{min-height:28px;align-content:center;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tool-terms[open] p{margin:.5rem 0}
@media(max-width:1023px){
  #workspace:has(> .tool-offer),body:has(.tool-offer) .head-in{width:calc(100% - 24px)}
  .tool-table,.tool-table thead,.tool-table thead tr{display:block}
  .tool-table colgroup,.tool-table thead :is(.tools-free,.tools-premium){display:none}
  .tool-table .tools-heading{display:block;padding:15px}
  .tool-table tbody{display:grid;grid-template-columns:1fr 1fr}
  .tool-table tbody tr{display:contents}
  .tool-table tbody tr:nth-child(1)>*{order:1}.tool-table tbody tr:nth-child(2)>*{order:2}
  .tool-table tbody tr:nth-child(3)>*{order:3}.tool-table tbody tr:nth-child(4)>*{order:4}
  .tool-table tbody tr:nth-child(5)>*{order:5}
  .tool-table tbody th{grid-column:1 / -1;padding:10px 12px 10px 53px}
  .tool-table .tool-symbol{left:12px;width:30px;height:30px}.tool-symbol .symbol{width:18px;height:18px}
  .tool-table tbody td{padding:10px 13px;border-top:0}
  .tool-table .tool-free{border-left:0}
  .tool-table td>strong{font-size:16px}.tool-table tbody th small,.tool-table td>small{font-size:12px}
  .tool-table .tool-mobile-label{display:block;font-size:11px;color:#526d81;font-weight:600;margin-bottom:3px}
  .tool-table tbody tr:first-child>.tool-checkout{order:7;grid-column:1 / -1;padding:14px;border-left:0;border-top:1px solid #c2d7e5}
  .tool-periods{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
  .tool-period+.tool-period,.tool-terms{margin:0}
  .tool-period{display:flex;flex-direction:column;justify-content:flex-start;padding:16px}
  .tool-period .tool-pay{margin-top:auto;min-height:44px}.tool-period>p:last-of-type{margin-bottom:10px}
  .tool-terms{grid-column:1 / -1}.tool-terms summary{min-height:44px}
}
