:root{color-scheme:light;--ow-ink:#193b59;--ow-muted:#506b82;--ow-blue:#2169b4;--ow-pale:#eef5fc;--ow-line:#cfdeed;--ow-focus:#0f62c2;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ow-ink);background:#f4f8fc;font-size:16px;line-height:1.55}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button,a{touch-action:manipulation}button,input,select,textarea{border:1px solid var(--ow-line);border-radius:12px}button,.ow-button{background:var(--ow-blue);color:white;font-weight:650;padding:10px 18px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}button:hover,.ow-button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:default}a{color:#1b5b9d;text-underline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--ow-focus);outline-offset:3px}.ow-quiet{background:white;color:var(--ow-ink)}[hidden]{display:none!important}.ow-skip{position:absolute;top:-100px;left:10px;z-index:10;background:white;padding:12px}.ow-skip:focus{top:8px}.ow-header{max-width:1220px;margin:auto;padding:20px 30px;display:flex;gap:24px;justify-content:space-between;align-items:center}.ow-brand{font-weight:800;font-size:22px;text-decoration:none;color:var(--ow-ink);line-height:1.2}.ow-brand span{display:block;font-size:12px;font-weight:550;letter-spacing:.07em;color:var(--ow-muted);margin-top:5px}.ow-header nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.ow-header nav a{display:flex;align-items:center;min-height:44px;font-size:14px;padding:6px 8px}main{max-width:1160px;margin:0 auto;padding:0 24px}.ow-hero{background:linear-gradient(115deg,#e9f3fe,#fff);border:1px solid #bed7ef;border-top:4px solid #6bb4ed;border-radius:22px;padding:28px 32px}.ow-eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#477193;margin:0 0 9px}h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.2;margin:0 0 12px;overflow-wrap:anywhere}.ow-hero>p:last-child{margin-bottom:0}.ow-chip{display:inline-block;background:#dcecf9;border-radius:20px;padding:4px 12px;font-size:13px}.ow-status{min-height:24px}.ow-status:empty{margin:10px 0;min-height:0}.ow-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.ow-library article,.ow-empty{padding:24px;background:#fff;border:1px solid var(--ow-line);border-radius:18px}.ow-library h2{margin:0 0 10px;font-size:1.3rem}.ow-notice{font-size:14px;margin:16px 0;padding:16px 20px;border:1px solid var(--ow-line);border-radius:16px;background:white}.ow-notice p{margin:6px 0;color:var(--ow-muted)}.ow-notice-actions{display:flex;gap:10px 20px;align-items:center;flex-wrap:wrap}.ow-notice-actions>label{display:flex;align-items:center;gap:8px;min-height:44px}.ow-notice-actions input{width:20px;height:20px}.ow-notice-actions button{min-height:44px;font-size:13px;padding:8px 12px}.ow-topline{display:flex;gap:24px;align-items:end;justify-content:space-between;margin:24px 0 16px}.ow-chapter-label{display:grid;gap:5px;min-width:0;width:min(65%,660px);font-size:13px;font-weight:700}select,input[type=search],input[type=text]{background:#fff;color:var(--ow-ink);width:100%;padding:10px 12px;min-height:48px}#ow-progress{font-size:14px;text-align:right;white-space:nowrap}#ow-progress strong{font-size:22px;display:block}.ow-modes{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.ow-modes button{background:transparent;color:var(--ow-muted);border-color:transparent}.ow-modes button[aria-pressed=true]{background:white;color:var(--ow-blue);border-color:var(--ow-line);box-shadow:0 2px 5px #17365608}.ow-filter-panel,.ow-online{border:1px solid var(--ow-line);border-radius:14px;background:#fff;margin:14px 0;padding:0 16px}summary{min-height:46px;padding:11px 0;font-weight:650}details>p{color:var(--ow-muted)}.ow-filters{display:grid;grid-template-columns:1fr 1.5fr 1fr 1.5fr;gap:12px;padding:4px 0 18px}.ow-filters label{font-size:13px;font-weight:600;min-width:0}.ow-filters input,.ow-filters select{margin-top:5px}.ow-filters button{justify-self:start}.ow-task{border:1px solid var(--ow-line);background:#fff;border-radius:20px;padding:28px 32px;box-shadow:0 5px 20px #244f7510;overflow-wrap:anywhere}.ow-task-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ow-muted);font-size:13px;margin-bottom:12px}.ow-level{border-radius:7px;padding:3px 9px;background:var(--ow-pale);font-weight:700}.ow-task h2{font-size:clamp(1.25rem,2.7vw,1.7rem);line-height:1.3;margin:0 0 15px}.ow-prompt{font-size:1.12rem;white-space:pre-wrap}.ow-passage{background:#f1f6fc;border-left:3px solid #6ba4d4;padding:16px 20px;border-radius:0 12px 12px 0;white-space:pre-wrap;line-height:1.8;margin:20px 0}.ow-words{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0}.ow-words span{padding:4px 10px;background:#ecf3fa;border-radius:8px}.ow-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;margin:22px 0}.ow-field{border:0;padding:0;margin:0;min-width:0;display:block}.ow-field legend,.ow-field>span:first-child{font-weight:700;display:block;padding:0;margin:0 0 7px}.ow-field input[type=text]{max-width:100%;display:block}.ow-choice{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--ow-line);border-radius:12px;cursor:pointer}.ow-choice:hover{background:var(--ow-pale)}.ow-choice:has(input:checked){background:#e5f0fe;border-color:#397abc}.ow-choice input{width:20px;height:20px;flex-shrink:0;accent-color:var(--ow-blue)}.ow-choice span{min-width:0}.ow-unit{color:var(--ow-muted);font-size:13px}.ow-field-feedback{display:block;font-size:14px;margin-top:6px;min-height:20px}.ow-field [aria-invalid=true]{border-color:#a3631c}.ow-task-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ow-task-mark{font-size:14px;font-weight:650}.ow-result{padding:0;margin:14px 0;color:var(--ow-muted)}.ow-result:not(:empty){padding:13px 16px;background:#edf5fc;border-radius:12px}.ow-result.ow-correct{background:#e7f5eb;color:#24643a}.ow-result.ow-error{background:#fff1de;color:#82511b}.ow-support{display:grid;gap:10px;margin-top:18px}.ow-support details{border-top:1px solid #e1eaf2}.ow-support ol{padding-left:25px}.ow-support li{padding:4px 0}.ow-solution{margin-top:18px;border-radius:12px;background:#eaf5f0;padding:0 16px}.ow-navigation{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:18px 0}.ow-jump{flex:1;max-width:620px;min-width:0}.ow-jump label{display:block;font-size:12px;color:var(--ow-muted);margin-bottom:4px}.ow-navigation button{flex-shrink:0}.ow-aux-nav{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:18px}.ow-note-label{display:block;font-size:13px;font-weight:600}textarea{display:block;background:#fff;color:var(--ow-ink);width:100%;min-height:180px;padding:12px;resize:vertical;margin:8px 0 16px}.ow-check{display:flex;align-items:flex-start;gap:12px;min-height:46px;padding:9px 0}.ow-check input{width:21px;height:21px;flex-shrink:0}.ow-vocab-word{font-size:clamp(2rem,5vw,3.2rem);font-weight:750;line-height:1.3;margin:26px 0}.ow-vocab-actions{display:flex;gap:10px;flex-wrap:wrap}.ow-online{font-size:14px}.ow-online a{display:inline-flex;min-height:44px;align-items:center;padding:8px 12px;margin:0 8px 8px 0;background:#f0f6fc;border-radius:9px}.ow-footer{text-align:center;font-size:12px;color:var(--ow-muted);padding:32px 20px}.mwb-diagram{margin:20px 0}.mwb-diagram table{border-collapse:collapse;width:100%;font-size:14px}.mwb-diagram td,.mwb-diagram th{border:1px solid #c9d9e6;padding:10px;text-align:left}.mwb-diagram caption{font-weight:700;text-align:left;margin-bottom:8px}.mwb-diagram figure{margin:0}.ow-structured{margin:20px 0;padding:16px;background:#f0f6fc;border-radius:12px}.ow-structured dl{margin:8px 0}.ow-structured dt{font-weight:650}.ow-structured dd{margin:0 0 9px 15px}.ow-structured ul{padding-left:20px}.ow-empty p{color:var(--ow-muted)}
@media(max-width:760px){.ow-header{padding:16px 20px}.ow-header nav{gap:2px}.ow-header nav a{font-size:12px}main{padding:0 16px}.ow-hero{padding:23px}.ow-task{padding:23px}.ow-filters{grid-template-columns:1fr 1fr}.ow-topline{gap:12px}.ow-navigation{flex-wrap:wrap}.ow-jump{order:-1;flex-basis:100%;max-width:none}.ow-topline #ow-progress{font-size:12px}.ow-chapter-label{width:70%}}
@media(max-width:440px){.ow-header{align-items:flex-start;gap:12px;padding:16px}.ow-header nav{flex-direction:column}.ow-header nav a{min-height:35px;padding:3px 0}.ow-hero,.ow-task{padding:20px}.ow-notice{padding:14px}.ow-topline{align-items:start;flex-direction:column}.ow-chapter-label{width:100%}#ow-progress{text-align:left!important;display:flex;gap:14px;align-items:center}#ow-progress strong{font-size:18px}.ow-fields{grid-template-columns:1fr}.ow-filters{grid-template-columns:1fr}.ow-task-head{font-size:12px}.ow-prompt{font-size:1rem}.ow-passage{padding:12px}.ow-notice-actions button{width:100%}.ow-modes{gap:4px}.ow-modes button{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.ow-download{padding:0 20px;border:1px solid var(--ow-line);border-radius:14px;background:white;margin:12px 0}.ow-download h2{font-size:1.15rem;margin:0 0 6px}.ow-download p{font-size:14px;color:var(--ow-muted);margin:6px 0}.ow-download-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.ow-download progress{display:block;width:100%;height:14px;accent-color:var(--ow-blue);margin:15px 0}.ow-download:has(#ow-remove:not([hidden]))>div:first-child>p:last-child{display:none}.ow-notice{padding:0 20px;margin:12px 0}.ow-notice[open]{padding-bottom:14px}.ow-notice summary{font-size:14px}.ow-download[open]{padding-bottom:12px}
@media(max-width:440px){.ow-download{padding:16px}.ow-download-actions button{width:100%}}
@media print{.ow-download{display:none!important}}
.ow-saved .ow-hero{padding:18px 24px}.ow-saved .ow-eyebrow{display:none}.ow-saved .ow-hero h1{font-size:1.7rem;margin-bottom:6px}.ow-saved #ow-description{margin:5px 0;font-size:14px}.ow-saved #ow-connection{margin-top:8px}.ow-saved .ow-topline{margin-top:18px}
@media print{body{background:#fff}.ow-header,.ow-hero,.ow-notice,.ow-topline,.ow-modes,.ow-filter-panel,.ow-navigation,.ow-online,.ow-footer,button,.ow-aux-nav,#ow-status,.ow-skip{display:none!important}main{max-width:none;padding:0}.ow-task{border:0;box-shadow:none;padding:0}.ow-task details{break-inside:avoid}textarea{border:1px solid #777;min-height:240px}.ow-passage{background:transparent}.ow-task input{color:#000}.ow-support{display:block}}

/* Primary visual practice: shared with the standalone offline reader. */
.mwb-diagram.mwb-visual{max-width:700px;margin:18px 0;padding:18px;border:1px solid #c5dbe8;border-top:4px solid #398aaa;border-radius:18px;background:linear-gradient(145deg,#f4faff,#fff);color:#17395d;box-shadow:0 3px 14px #1b446b06;overflow:hidden}
.mwb-visual *{box-sizing:border-box}
.mwb-visual .mwb-visual-heading{font-family:system-ui,sans-serif;font-size:13px;line-height:1.45;font-weight:750;letter-spacing:.035em;color:#35617d;margin:0 0 14px}
.mwb-visual .mwb-visual-svg{max-height:none;width:100%;height:auto;display:block}
.mwb-visual .mwb-visual-alternative{border-top:1px solid #dbe6ee;margin-top:13px;padding-top:3px;font-size:12px;line-height:1.55;color:#48627e}
.mwb-visual .mwb-visual-alternative summary{font:inherit;cursor:pointer;padding:8px 0;min-height:36px;font-weight:600;display:list-item}
.mwb-visual .mwb-visual-alternative p{font:inherit;margin:5px 0 7px;overflow-wrap:anywhere}
.mwb-visual .mwb-visual-alternative summary:focus-visible{outline:3px solid #a96512;outline-offset:2px;border-radius:3px}
.mwb-visual .mwb-visual-index{display:block;font-size:11px;font-weight:650;line-height:1;color:#59718a;margin-bottom:9px}
.mwb-visual .mwb-numberchain{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:9px;padding:0;margin:0;counter-reset:none}
.mwb-visual .mwb-numberchain-cell{border:1px solid #bdd5e6;background:#eaf4fc;border-radius:14px;padding:11px 4px;text-align:center;min-width:0;margin:0;font-size:22px;line-height:1.15;position:relative}
.mwb-visual .mwb-numberchain-cell:nth-child(even){background:#edf5ee;border-color:#c5dbc9}
.mwb-visual .mwb-numberchain-cell.mwb-visual-unknown{background:#fff4d8;border:2px dashed #bb842e;color:#704b17}
.mwb-visual .mwb-numberchain-cell strong{font-weight:750;overflow-wrap:anywhere}
.mwb-visual .mwb-chain-rule{display:block;font-size:12px;line-height:1.25;margin-top:10px;color:#3d6178;overflow-wrap:anywhere}
.mwb-visual .mwb-factor-deck{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:410px;margin:0 auto 18px}
.mwb-visual .mwb-factor-card{display:block;text-align:center;padding:14px 4px 11px;border:1px solid #bed2df;border-top:5px solid var(--mwb-card-accent,#186c91);border-radius:10px;background:#fff;color:#17395d;font-size:30px;line-height:1.2;font-weight:750;box-shadow:0 3px 0 #e0eaf0;overflow-wrap:anywhere}
.mwb-visual .mwb-factor-products{list-style:none;display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding:0}
.mwb-visual .mwb-factor-products li{margin:0;padding:12px 8px;text-align:center;border:1px solid #d0e1ea;border-radius:10px;font-size:20px;font-variant-numeric:tabular-nums;font-weight:650;line-height:1.3;background:#fff;overflow-wrap:anywhere}
.mwb-visual .mwb-sharing-caption{font-size:13px;line-height:1.4;font-weight:650;margin:0 0 9px;color:#3b617c}
.mwb-visual .mwb-token-pool,.mwb-visual .mwb-sharing-space{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;min-height:38px}
.mwb-visual .mwb-token-pool{border:1px dashed #bacbd6;background:#fff;border-radius:12px;padding:11px;margin-bottom:16px}
.mwb-visual .mwb-sharing-token{flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:#286f96;box-shadow:inset 0 0 0 1px #195372}
.mwb-visual .mwb-sharing-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:9px}
.mwb-visual .mwb-sharing-plate{border:2px solid #c3dacf;background:#f1f8f3;border-radius:17px;padding:11px 7px;text-align:center;min-width:0}
.mwb-visual .mwb-sharing-plate:nth-child(even){border-color:#cecee7;background:#f5f3fb}
.mwb-visual .mwb-sharing-plate .mwb-sharing-caption{display:block;font-size:12px;margin-bottom:5px}
.mwb-visual .mwb-sharing-question{font-size:25px;line-height:1.3;font-weight:650;color:#567487}
.mwb-visual .mwb-puzzle-packet{list-style:none;display:grid;grid-template-columns:1fr;gap:10px;margin:0;padding:0}
.mwb-visual .mwb-puzzle-packet li{display:flex;align-items:center;gap:14px;padding:13px 14px;border:1px solid #ddcea9;border-radius:12px;background:#fffbf0;margin:0;min-width:0;line-height:1.3}
.mwb-visual .mwb-puzzle-packet li:nth-child(even){background:#f3f8fd;border-color:#c8dcec}
.mwb-visual .mwb-puzzle-packet .mwb-visual-index{margin:0;flex:0 0 12px}.mwb-visual .mwb-puzzle-packet strong{font-size:20px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.mwb-visual figcaption{font-size:13px;line-height:1.55;color:#466880;padding-top:10px}
@media(max-width:600px){.mwb-diagram.mwb-visual{padding:13px 11px;border-radius:14px;margin:14px 0}.mwb-visual .mwb-visual-heading{font-size:12px;margin-bottom:10px}.mwb-visual .mwb-factor-deck{gap:8px}.mwb-visual .mwb-factor-products li,.mwb-visual .mwb-puzzle-packet strong{font-size:18px}.mwb-visual .mwb-puzzle-packet{grid-template-columns:1fr}.mwb-visual .mwb-factor-products{gap:6px}.mwb-visual .mwb-numberchain{grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:7px}.mwb-visual .mwb-sharing-groups{grid-template-columns:repeat(auto-fit,minmax(95px,1fr))}}
@media print{.mwb-diagram.mwb-visual{max-width:600px;padding:10pt;border:1px solid #8a9aa6;box-shadow:none;background:#fff;break-inside:avoid}.mwb-visual .mwb-visual-alternative{display:none}.mwb-visual .mwb-visual-svg{max-height:250px}.mwb-visual .mwb-factor-card,.mwb-visual .mwb-numberchain-cell,.mwb-visual .mwb-puzzle-packet li{box-shadow:none;border:1px solid #869aa8}.mwb-visual .mwb-sharing-token{border:1px solid #17395d}.mwb-visual .mwb-visual-heading{font-size:10pt}}
@media(forced-colors:active){.mwb-diagram.mwb-visual,.mwb-visual .mwb-factor-card,.mwb-visual .mwb-numberchain-cell,.mwb-visual .mwb-sharing-plate,.mwb-visual .mwb-puzzle-packet li{border-color:CanvasText;background:Canvas;color:CanvasText}.mwb-visual .mwb-sharing-token{background:CanvasText;border:1px solid CanvasText;forced-color-adjust:none}.mwb-visual .mwb-visual-svg{forced-color-adjust:none}}
/* End primary visual practice. */

/* Same material hierarchy as the online workbook, including small screens. */
.ow-passage.ow-task-material{padding:clamp(16px,2.5vw,24px);margin:18px 0 24px;border:1px solid #9dbddb;border-left:5px solid #2466a4;border-radius:14px;background:#fff;box-shadow:0 3px 12px #12335a08;color:#12335a;font-size:clamp(1.25rem,2vw,1.4375rem);font-weight:550;line-height:1.7;white-space:normal;overflow-wrap:anywhere}
.ow-material-text{white-space:pre-line}
.ow-material-label{display:block;font-size:13px;line-height:1.5;font-weight:750;letter-spacing:.035em;color:#2e6190;margin:0 0 10px;white-space:normal}
.ow-task>.ow-prompt{font-size:clamp(1.2rem,2vw,1.45rem);font-weight:650;color:#12335a;line-height:1.5}
.ow-words{font-size:1.125rem;border:1px solid #9dbddb;background:white;padding:14px 16px;border-radius:12px;margin:16px 0 24px;line-height:1.6}
.ow-words>span{font-size:1.125rem;font-weight:600;padding:5px 10px}
@media print{.ow-passage.ow-task-material{box-shadow:none;background:white;color:black;border:1px solid #777;border-left:3px solid #333;font-size:12pt;padding:10pt}.ow-material-label{color:#333}.ow-words,.ow-words>span{font-size:11pt}.ow-task>.ow-prompt{font-size:12pt}}

/* Tables contain task data, not ancillary notes. */
@media screen{.ow-task .mwb-diagram table{font-size:1.125rem;color:#12335a;line-height:1.6}.ow-task .mwb-diagram{border:1px solid #9dbddb;border-left:5px solid #2466a4;border-radius:14px;background:white;padding:16px}.ow-task .mwb-diagram figcaption{font-size:1rem;color:#24476a;line-height:1.5}}
