/* Interactive learning tools share the existing site's colours and typography. */
.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}
.focus-desk{transform:none;min-width:0}.focus-desk h2{font-size:26px;margin:20px 0}.timer-modes{display:flex;gap:5px;padding:4px;background:#e7edf5;border-radius:10px}.timer-modes button{flex:1;min-height:42px;border:0;background:transparent;color:#4c5d78;border-radius:7px;font-size:14px;padding:7px 5px;font-weight:600}.timer-modes button[aria-pressed="true"]{color:#172840;background:white;box-shadow:0 3px 8px #1832520a}.timer-modes button:disabled{cursor:default}.timer-modes button:disabled:not([aria-pressed="true"]){opacity:.5}.timer-display{display:block;text-align:center;font-size:clamp(56px,6vw,78px);line-height:1.25;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.05em;margin:18px 0;color:#172840}.timer-actions{display:flex;align-items:center;gap:16px;justify-content:center}.timer-actions .button{min-width:170px}.timer-reset{background:transparent;border:0;color:#50617b;font-size:14px;min-height:44px;padding:10px}.timer-reset:hover{text-decoration:underline}#timer-status{min-height:44px;text-align:center;font-size:14px;line-height:1.6;color:#52637b;margin:18px 0 0}.focus-desk .desk-footer{border-top:1px solid #d7dfeb;margin-top:12px;padding-top:16px;gap:8px}#resume-study{font-size:16px;line-height:1.5;font-weight:650;color:#214878}#resume-study:hover{text-decoration:underline}
.learning-overview{border:1px solid #dfe5ee;border-radius:16px;padding:22px 24px;background:white;display:grid;grid-template-columns:minmax(250px,1.6fr) 1fr 1fr;align-items:center;gap:12px 28px;margin:0 0 20px}.learning-stat>div{display:flex;align-items:baseline;gap:13px;margin:4px 0 7px}.learning-stat strong{font-size:38px;line-height:1.3;letter-spacing:-1.4px}.learning-stat>div>span{font-size:14px;color:var(--muted)}.learning-stat progress{width:100%;height:8px}.overview-stat{border-left:1px solid var(--line);padding-left:24px;display:grid;gap:4px}.overview-stat strong{font-size:26px;letter-spacing:-.5px}.overview-stat span{font-size:14px;color:var(--muted)}#storage-note{grid-column:1/-1;margin:4px 0 0;font-size:12px;color:#60708a}
progress{appearance:none;border:0;background:#e8edf5;overflow:hidden;border-radius:20px}progress::-webkit-progress-bar{background:#e8edf5;border-radius:20px}progress::-webkit-progress-value{background:#7c9e3b;border-radius:20px}progress::-moz-progress-bar{background:#7c9e3b;border-radius:20px}
.learning-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 0;font-size:14px}.learning-toolbar label{display:flex;align-items:center;gap:8px;color:#53617a}.learning-toolbar select,.learning-toolbar button{font-size:14px;line-height:1.5;background:white;border:1px solid #d4deec;border-radius:8px;padding:9px 13px;min-height:44px;color:#344966}.learning-toolbar select{max-width:100%;padding-right:26px}.learning-toolbar button:hover{border-color:#8b9fbd;background:#f1f4fa}.learning-toolbar button[aria-pressed="true"]{background:#e9f1d8;border-color:#bccd9d;color:#40552a}.learning-toolbar #expand-subjects{margin-left:auto}.learning-toolbar button:disabled{opacity:.5;cursor:default}.subject-head-actions{display:flex;align-items:center;gap:9px}.bookmark-subject{border:1px solid #d8e2f0;background:white;border-radius:9px;width:40px;height:40px;font-size:23px;line-height:1;color:#566e93}.bookmark-subject:hover{background:#eff4fc}.bookmark-subject[aria-pressed="true"]{color:#637f25;border-color:#c9d8a3;background:#f0f6e1}.subject-completion{display:grid;gap:8px;margin:0 0 20px;font-size:12px;color:#5d6d85}.subject-completion progress{width:100%;height:6px}.subject-card.learning-card{scroll-margin-top:105px;display:block!important;grid-column:auto}.subject-card.learning-card:has(details[open]){grid-column:1/-1}.subject-card.learning-card>p{min-height:106px}.subject-card.learning-card:has(details[open])>p{min-height:0}.subject-card.learning-card:has(details[open]) h3{min-height:0}.subject-card.learning-card .syllabus-topics{columns:auto;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 26px}.subject-card.learning-card .syllabus-topics li{padding:0;margin:0;display:flex;min-width:0}.topic-check{display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px;background:#f8fafc;border:1px solid #dfe6ee;border-radius:10px;cursor:pointer;font-size:16px;line-height:1.75;overflow-wrap:anywhere}.topic-check input{width:18px;height:18px;margin:5px 0 0;flex-shrink:0;accent-color:#627f27}.topic-check:has(input:checked){background:#eff5e4;border-color:#b7ca92;color:#354c23}.topic-check:focus-within{outline:2px solid #507cbf;outline-offset:2px}.topic-help{font-size:14px;color:#64728a;margin-bottom:14px}.subject-card.learning-card details{margin-top:0!important}.empty-search p{color:var(--muted);margin:8px 0 20px}.subject-card summary{min-height:40px}
@media(max-width:1100px){.focus-desk{padding:22px}.timer-modes button{font-size:14px;padding-inline:4px}.hero-layout{gap:32px}.learning-overview{gap:12px 20px}.overview-stat{padding-left:20px}}
@media(max-width:850px){.hero-layout{grid-template-columns:1fr;max-width:680px;padding-bottom:62px}.hero h1{font-size:60px}.hero h1 br:last-of-type{display:none}.hero-visual{width:100%;max-width:none}.hero-visual h2{font-size:26px}.timer-display{font-size:72px}.focus-desk .desk-heading{flex-wrap:nowrap}.learning-overview{grid-template-columns:1fr 1fr}.learning-stat{grid-column:1/-1}.overview-stat{border-left:0;padding-left:0}.learning-toolbar #expand-subjects{margin-left:0}.subject-card.learning-card .syllabus-topics{grid-template-columns:1fr}}
@media(max-width:600px){.hero h1{font-size:48px}.hero h1 br:last-of-type{display:block}.hero-layout{gap:25px}.focus-desk{padding:22px}.focus-desk h2{font-size:25px}.learning-overview{padding:20px;gap:16px}.learning-stat>div{flex-wrap:wrap;gap:0 12px}.learning-stat strong{font-size:34px}.overview-stat strong{font-size:24px}.overview-stat span{font-size:14px}.learning-toolbar{gap:8px}.learning-toolbar>label{width:100%}.learning-toolbar select{flex:1}.learning-toolbar button{padding:9px 11px}.learning-toolbar #expand-subjects{width:100%}.subject-card.learning-card>p{min-height:0}.subject-card.learning-card h3{min-height:0}.subject-head-actions{gap:8px}.topic-check{padding:12px;gap:10px}.subject-card.learning-card:has(details[open]){padding:20px}.timer-modes button{font-size:14px}.timer-actions .button{min-width:165px}}
