/* 1.2.0 modules: original typography and palette, no external assets. */
.feature-topbar { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:80px; padding:14px max(20px,calc((100vw - 1240px)/2)); background:var(--ink); color:var(--pale); }
.feature-topbar>a:last-child { min-height:44px; display:flex; align-items:center; color:var(--yellow); font-size:14px; }
.feature-page { max-width:1320px; margin:auto; padding:46px 40px 70px; }
.feature-heading { max-width:980px; margin-bottom:42px; }
.feature-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:0 0 34px; list-style:none; font-size:12px; color:#4d5955; }
.feature-breadcrumb li+li:before { content:'/'; margin-right:10px; }
.feature-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.feature-heading h1 { font-family:Georgia,serif; font-weight:400; font-size:clamp(40px,5.6vw,76px); line-height:1.04; letter-spacing:-.04em; margin:0; }
.feature-heading>p:last-child { font-size:18px; line-height:1.7; max-width:810px; margin:24px 0 0; }
.feature-page h2,.feature-explanation h2 { font-family:Georgia,serif; font-weight:400; font-size:32px; line-height:1.2; letter-spacing:-.02em; }
.feature-page p { line-height:1.7; }
.feature-page a:not(.feature-button):hover { text-decoration:underline; text-underline-offset:4px; }
.feature-form,.image-controls { min-width:0; }
.feature-form label,.feature-label { display:flex; flex-direction:column; gap:9px; margin:0 0 20px; font-size:14px; font-weight:700; }
.feature-form input,.feature-form select,.feature-label input,.feature-label select,.admin-card select,.admin-card textarea { width:100%; min-width:0; padding:12px 14px; border:1px solid #aab0a7; border-radius:3px; background:var(--pale); color:var(--ink); font:inherit; min-height:48px; }
.feature-form input { font-size:21px; font-family:var(--font-geist-mono),monospace; }
.feature-form input[aria-invalid=true],.feature-label input[aria-invalid=true] { border:2px solid var(--orange-text); }
.feature-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; background:var(--ink); color:var(--pale); border:1px solid var(--ink); border-radius:3px; font-size:14px; font-weight:700; cursor:pointer; line-height:1.4; text-align:center; }
.feature-button:hover { background:var(--orange-text); border-color:var(--orange-text); }
.feature-button:disabled { opacity:.5; cursor:not-allowed; }
.feature-note { font-size:13px; line-height:1.65; color:#45534e; }
.feature-note a,.feature-explanation a,.image-text a,.reference-intro a { text-decoration:underline; text-underline-offset:3px; }
.feature-explanation { padding:22px 0 8px; max-width:900px; margin:22px 0; }
.feature-explanation p { font-size:16px; line-height:1.8; }
.feature-text-link { display:inline-flex; align-items:center; min-height:44px; font-weight:700; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.feature-bottom-nav { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:28px; margin-top:36px; border-top:1px solid var(--line); }
.feature-bottom-nav a { display:flex; align-items:center; min-height:44px; font-weight:700; font-size:14px; }
.visual-lab { display:grid; grid-template-columns:minmax(260px,.76fr) minmax(0,1.24fr); gap:32px; align-items:start; }
.visual-controls { padding:28px; border:1px solid var(--line); background:var(--pale); min-width:0; }
.visual-board { padding:26px; background:var(--ink); color:var(--pale); border-radius:3px; min-width:0; }
.board-heading { display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.board-heading span { font-size:19px; color:var(--yellow); font-weight:700; }
.board-heading b { font-size:13px; color:var(--pale); font-weight:400; }
.magnitude-grid { width:100%; height:auto; display:block; aspect-ratio:8/5; cursor:crosshair; touch-action:manipulation; }
.grid-empty { fill:#354b45; }
.grid-filled { fill:var(--yellow); }
.board-legend { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:18px; font-size:12px; }
.board-legend span { display:flex; align-items:center; gap:8px; }
.board-legend span:before { content:''; width:10px; height:10px; flex:0 0 10px; background:var(--yellow); }
.board-legend .legend-off:before { background:#354b45; border:1px solid #8ba099; }
.visual-summary { margin-top:25px; border-top:1px solid #52635c; padding-top:25px; }
.visual-summary strong { display:block; font-family:Georgia,serif; font-size:clamp(28px,3.5vw,44px); font-weight:400; overflow-wrap:anywhere; }
.visual-summary p { margin:12px 0 0; font-size:14px; }
.feature-presets { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.feature-presets button { min-height:44px; padding:10px 14px; background:transparent; border:1px solid var(--line); border-radius:99px; font:inherit; font-size:13px; color:var(--ink); cursor:pointer; }
.feature-presets button[aria-pressed=true],.feature-presets button:hover { background:var(--yellow); border-color:var(--ink); }
.range-label { font-size:14px; font-weight:700; display:block; }
.range-label input { width:100%; min-height:44px; accent-color:var(--orange-text); }
.feature-launcher { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1276px; margin:36px auto 0; padding:0 20px; gap:14px; }
.feature-launcher>a { display:flex; flex-direction:column; gap:10px; padding:24px; border:1px solid var(--ink); background:var(--mint); }
.feature-launcher>a:first-child { background:var(--yellow); }
.feature-launcher>a:last-child { background:var(--pale); }
.feature-launcher span { font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.feature-launcher strong { font-family:Georgia,serif; font-size:25px; font-weight:400; line-height:1.15; }
.feature-launcher p { margin:0; font-size:14px; line-height:1.65; }
.feature-launcher b { margin-top:auto; padding-top:7px; font-size:13px; }
.feature-launcher a:hover b { text-decoration:underline; text-underline-offset:4px; }
.inline-feature-links { padding:4px max(20px,calc((100vw - 1276px)/2)) 28px; display:flex; flex-wrap:wrap; gap:12px; margin:0; }
.inline-feature-links a { min-height:44px; display:inline-flex; align-items:center; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.daily-topline { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:26px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.daily-topline h2 { margin:8px 0 0; }
.daily-topline .eyebrow { font-size:10px; letter-spacing:.13em; }
.difficulty-tabs { display:flex; flex-wrap:wrap; gap:8px; }
.difficulty-tabs a { min-height:46px; display:flex; align-items:center; padding:12px 18px; border:1px solid var(--ink); border-radius:3px; font-size:14px; }
.difficulty-tabs a[aria-current=page] { background:var(--ink); color:var(--yellow); }
.daily-toolbar { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:24px 0 0; }
.daily-toolbar>span { font-size:16px; font-weight:700; }
.feature-checkbox { display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.6; margin:14px 0; font-weight:400; }
.feature-checkbox input { flex:0 0 21px; width:21px; height:21px; min-height:21px; margin:1px 0 0; accent-color:var(--ink); }
.daily-questions { display:grid; gap:24px; }
.question-card { background:var(--pale); border:1px solid var(--ink); padding:28px; border-radius:3px; }
.question-number { font-family:var(--font-geist-mono),monospace; font-size:12px; color:var(--orange-text); }
.question-card h2 { margin:16px 0 24px; font-size:30px; max-width:1000px; }
.answer-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.answer-options button { display:flex; align-items:center; text-align:left; gap:12px; padding:16px; min-height:64px; border:1px solid #748079; border-radius:3px; background:var(--paper); color:var(--ink); font-size:16px; line-height:1.5; cursor:pointer; }
.answer-options button>span { flex:0 0 28px; width:28px; height:28px; border:1px solid currentColor; border-radius:50%; display:grid; place-items:center; font-size:12px; }
.answer-options button:hover:not(:disabled) { background:var(--yellow); }
.answer-options .answer-correct { background:var(--mint); border:2px solid var(--ink); }
.answer-options .answer-wrong { background:#f7dace; border:2px solid var(--orange-text); }
.answer-options button:disabled { cursor:default; opacity:1; }
.answer-feedback { margin-top:24px; border-top:1px solid var(--line); padding-top:24px; }
.answer-feedback p { margin:10px 0; }
.answer-feedback a { display:inline-flex; align-items:center; min-height:44px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.daily-finish { background:var(--ink); color:var(--pale); padding:36px; margin:32px 0; border-radius:3px; }
.daily-finish h2 { font-size:44px; margin:12px 0 20px; }
.daily-finish p:not(.eyebrow) { max-width:800px; }
.daily-finish .feature-button { background:var(--yellow); color:var(--ink); }
.daily-history { border:1px solid var(--line); padding:26px; margin:30px 0; }
.daily-history summary { min-height:44px; cursor:pointer; padding:12px 0; }
.daily-history h2 { margin-top:0; }
#daily-history-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 20px; }
#daily-history-list a { font-size:14px; display:flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:3px; }
.daily-expired { padding:20px; background:var(--yellow); }
.image-lab { display:grid; grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr); gap:30px; align-items:start; }
.image-controls { background:var(--pale); border:1px solid var(--line); padding:26px; }
.image-preview { min-width:0; position:sticky; top:24px; }
.image-preview canvas { width:100%; height:auto; display:block; box-shadow:0 12px 30px rgba(16,32,30,.12); }
.image-text { margin:24px 0; padding:22px; border:1px solid var(--line); }
.image-text h2 { font-size:25px; margin:0 0 16px; overflow-wrap:anywhere; }
.image-text p { margin:14px 0; font-size:14px; overflow-wrap:anywhere; }
.image-metrics { padding:0; border:0; margin:24px 0; }
.image-metrics legend { font-size:15px; font-weight:700; }
.image-personal { padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.image-personal summary { cursor:pointer; min-height:44px; padding:12px 0; font-weight:700; }
.image-personal p { font-size:14px; }
.image-personal input:disabled { opacity:.5; }
.reference-intro { max-width:980px; }
.reference-jumps,.admin-tabs { display:flex; flex-wrap:wrap; gap:8px 14px; margin:24px 0; }
.reference-jumps a,.admin-tabs a { min-height:44px; padding:12px 16px; border:1px solid var(--line); background:var(--pale); font-size:14px; line-height:1.5; }
.admin-tabs a[aria-current=page] { background:var(--ink); color:var(--pale); }
.public-reference-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.public-reference-grid article { border:1px solid var(--line); padding:24px; background:var(--pale); min-width:0; }
.public-reference-grid h3 { font-size:17px; line-height:1.45; margin:18px 0 14px; }
.public-reference-grid strong { font-size:24px; font-family:Georgia,serif; font-weight:400; overflow-wrap:anywhere; }
.public-reference-grid p { font-size:14px; }
.public-reference-grid dl { margin:20px 0; font-size:13px; }
.public-reference-grid dt { font-weight:700; margin-top:12px; }
.public-reference-grid dd { margin:4px 0; }
.public-reference-grid a { min-height:44px; display:inline-flex; align-items:center; font-weight:700; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.public-ref-group { padding-top:22px; }
.reference-badge { font-size:10px; text-transform:uppercase; padding:7px 9px; background:var(--yellow); display:inline-block; letter-spacing:.03em; }
.reference-editor { border-bottom:1px solid var(--line); padding:10px 0; }
.reference-editor>summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 0; min-height:64px; cursor:pointer; list-style:none; }
.reference-editor>summary:before { content:'+'; font-size:21px; font-weight:400; }
.reference-editor[open]>summary:before { content:'−'; }
.reference-editor>summary>span { flex:1; }
.reference-editor summary small { display:block; font-size:12px; line-height:1.6; font-weight:400; margin-top:5px; }
.reference-editor summary b { font-size:19px; text-align:right; overflow-wrap:anywhere; }
.reference-editor form { padding:12px 0 22px; }
.reference-editor textarea { resize:vertical; max-width:100%; }
.ref-url { word-break:break-word; font-size:12px; }
.admin-main h1 { overflow-wrap:anywhere; }
.reference-editor:target { background:#fff6d2; }
.reference-runtime-note { margin:18px 0 0; font-size:12px; line-height:1.7; }
.reference-runtime-note a { text-decoration:underline; text-underline-offset:3px; }
body :where(section[id],div[id],article[id],details[id]) { scroll-margin-top:84px; }
@media(max-width:1000px){
 .visual-lab,.image-lab { grid-template-columns:1fr; }
 .visual-controls .feature-form { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
 .visual-controls .feature-form button { justify-self:start; }
 .image-preview { position:static; }
 .public-reference-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .feature-launcher strong { font-size:23px; }
}
@media(max-width:700px){
 .feature-topbar { min-height:70px; gap:12px; }
 .feature-topbar .seo-brand { font-size:13px; }
 .feature-topbar>a:last-child { font-size:12px; }
 .feature-page { padding:28px 20px 50px; }
 .feature-heading { margin-bottom:28px; }
 .feature-heading h1 { font-size:42px; }
 .feature-heading>p:last-child { font-size:16px; margin-top:20px; }
 .feature-breadcrumb { margin-bottom:26px; }
 .feature-launcher { grid-template-columns:1fr; margin-top:24px; }
 .feature-launcher>a { padding:20px; }
 .feature-launcher strong { font-size:25px; }
 .visual-controls { padding:20px; }
 .visual-controls .feature-form { display:block; }
 .visual-board { padding:18px; }
 .board-heading span { font-size:17px; }
 .visual-lab,.image-lab { gap:20px; }
 .daily-topline,.daily-toolbar { align-items:flex-start; flex-direction:column; }
 .difficulty-tabs { width:100%; }
 .difficulty-tabs a { flex:1; padding:11px; justify-content:center; }
 .daily-toolbar { padding-top:18px; gap:2px; }
 .question-card { padding:22px 18px; }
 .question-card h2 { font-size:27px; }
 .answer-options { grid-template-columns:1fr; }
 .answer-options button { font-size:15px; min-height:60px; }
 .daily-finish { padding:26px 20px; }
 .daily-finish h2 { font-size:37px; }
 .daily-history { padding:22px 18px; }
 #daily-history-list { grid-template-columns:1fr; }
 .image-controls { padding:20px; }
 .public-reference-grid { grid-template-columns:1fr; }
 .reference-editor>summary { flex-wrap:wrap; gap:12px; }
 .reference-editor>summary>b { flex:0 0 100%; text-align:left; padding-left:25px; }
 .reference-editor summary small { font-size:12px; }
 .admin-tabs a { flex:1; text-align:center; }
 .feature-bottom-nav { flex-direction:column; gap:8px; }
}
@media print {
 .feature-topbar,.feature-bottom-nav,.feature-launcher,.image-controls,.difficulty-tabs,.daily-toolbar { display:none; }
 .feature-page { padding:0; max-width:none; }
 .visual-lab,.image-lab { display:block; }
 .visual-controls { display:none; }
 .visual-board,.question-card { break-inside:avoid; }
 .image-text { border:0; }
}

.inflation-retained-meter svg { display:block; width:100%; height:100%; color:var(--yellow); }
.inline-feature-links { max-width:1276px; margin:24px auto; padding:0 24px; line-height:1.8; }

.reference-warning { position:relative;z-index:60;margin-top:84px;padding:18px 24px;background:var(--yellow);color:var(--ink);font-size:15px;line-height:1.6; }
.reference-warning a { text-decoration:underline; }
@media(max-width:700px){.reference-warning{margin-top:70px;}}

/* 1.3.0 – reader, targeted practice, print-only worksheets and isolated embeds. */
.learning-card{padding:clamp(20px,4vw,38px);margin-bottom:28px;background:var(--pale);border:1px solid var(--line);border-radius:8px;min-width:0}
.learning-card h2{margin-top:0}.learning-card .feature-form{display:flex;align-items:end;flex-wrap:wrap;gap:16px}.learning-card .feature-form label{flex:1;min-width:min(100%,210px)}
.learning-card input,.learning-card select,.learning-card textarea{max-width:100%;font:inherit}.learning-card textarea{display:block;width:100%;padding:14px;margin:8px 0 16px;border:1px solid var(--line);background:var(--paper);line-height:1.6;resize:vertical}
.number-reading{padding:24px;margin-top:24px;background:var(--ink);color:var(--pale);border-radius:5px}.number-reading>span{font-size:12px;color:var(--yellow)}.number-reading p{font-family:Georgia,serif;font-size:clamp(25px,4vw,40px);line-height:1.35;margin:12px 0;overflow-wrap:anywhere}
.number-groups{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:24px 0}.number-groups li{background:var(--mint);padding:18px;min-width:94px;flex:1;text-align:center}.number-groups li:nth-child(even){background:var(--yellow)}.number-groups b{display:block;font-size:28px;font-variant-numeric:tabular-nums}.number-groups span{display:block;font-size:12px;margin-top:8px}.number-breakdown{overflow-wrap:anywhere;line-height:1.8}
.learning-conversions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.learning-conversions p{padding:18px;background:var(--paper);margin:0 0 20px}.learning-conversions span,.learning-conversions b{display:block;overflow-wrap:anywhere}.learning-conversions b{font-size:23px;margin-top:8px}
.worksheet-questions,.worksheet-solutions{padding:32px;background:white;color:#10201e;margin-bottom:32px;border:1px solid var(--line)}.worksheet-question{padding:15px 0;border-bottom:1px solid var(--line);break-inside:avoid;page-break-inside:avoid}.worksheet-question h3{font-size:17px;line-height:1.5}.worksheet-line,.worksheet-name{font-size:14px;overflow-wrap:anywhere;line-height:1.8}.worksheet-solutions{background:var(--paper)}
.mini-preview{display:block;width:100%;max-width:640px;border:1px solid var(--line);border-radius:6px;background:var(--paper);margin-top:24px}
.practice-link{display:inline-block;min-height:44px;padding:12px 0;text-decoration:underline;text-underline-offset:4px}.feature-bottom-nav a{min-width:0;overflow-wrap:anywhere}section[id],header[id]{scroll-margin-top:90px}
@media(max-width:600px){.learning-conversions{grid-template-columns:1fr}.learning-card{padding:20px 16px}.worksheet-questions,.worksheet-solutions{padding:20px 16px}.number-groups li{padding:14px 10px;min-width:80px}}
@media print{
 @page{size:A4;margin:18mm}
 body{background:white!important;color:black!important;font-family:Arial,sans-serif}
 .feature-topbar,.feature-heading,.learning-controls,.feature-bottom-nav,.site-footer,.skip-link,.reference-warning,#analytics-choice,[data-ad-container]{display:none!important}
 .feature-page{padding:0!important;margin:0!important;max-width:none!important}.worksheet-questions,.worksheet-solutions{border:0!important;margin:0!important;padding:0!important;background:white!important;color:black!important}
 .worksheet-solutions{display:none!important}body.print-solutions .worksheet-questions{display:none!important}body.print-solutions .worksheet-solutions{display:block!important}
 .worksheet-question{break-inside:avoid;page-break-inside:avoid;padding:10px 0}.worksheet-question h3{font-size:12pt}.worksheet-line{font-size:10pt}
}

.feature-launcher{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.feature-launcher{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.feature-launcher{grid-template-columns:1fr}}
