:root{--ink:#21313e;--muted:#5a6976;--blue:#2859a5;--green:#477d69;--line:#dce3e8;--paper:#fff;--bg:#f6f4ef}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.6 "Times New Roman",Times,serif}a{color:var(--blue)}button,input,select,textarea{font:inherit}button,.button{background:white;border:1px solid #b7c5d0;color:var(--blue);padding:7px 13px;border-radius:7px;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#edf3fa}button:disabled{opacity:.45;cursor:default}.primary,.tabs .active{background:var(--blue);color:white}header,main,footer{max-width:1260px;margin:auto;padding:24px}header nav{display:flex;gap:9px;align-items:center;flex-wrap:wrap}#profile{margin-left:auto}.eyebrow{font:700 12px/1.5 Arial,sans-serif;letter-spacing:2px;color:var(--green);margin-top:30px}h1{font-size:48px;line-height:1.15;margin:10px 0}h2{font-size:30px;line-height:1.2}h3{line-height:1.3}.lead{color:var(--muted);max-width:740px}.overview,.stats{display:flex;gap:12px;flex-wrap:wrap}.overview span,.stats span{padding:7px 13px;border:1px solid var(--line);border-radius:30px;background:white;font-size:15px}main{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;padding-top:0}aside{align-self:start;position:sticky;top:15px;max-height:85vh;overflow:auto;background:white;border:1px solid var(--line);border-radius:12px;padding:12px}aside button{display:block;width:100%;text-align:left;margin:4px 0;border-color:transparent;font-size:16px}aside .active{background:#e8f0f8;border-color:#b9cce1}.chapter-progress{font-size:13px;color:var(--muted);display:block}article{min-width:0}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.tabs button{font-size:16px}.panel,.problem-card{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:23px;margin:16px 0;min-width:0}.section-picker{width:100%;padding:10px;background:white;border:1px solid #b7c5d0;border-radius:7px}.concept{border-left:4px solid var(--green);padding:3px 20px;background:#f2f8f5;margin:20px 0}.concept h3{margin:14px 0 4px}.source,.muted,small{color:var(--muted)}.source,small{font-size:14px}.visual{background:#f8fbfd;border:1px solid #dbe6ef;border-radius:12px;padding:18px;margin:20px 0}.visual-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.visual-head h3{margin:0}.visual-head span{font-size:13px;color:var(--muted)}.visual-stage svg{display:block;width:100%;height:auto;margin:15px auto;background:white;border-radius:8px}.visual-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.visual-controls label{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}.visual-controls input{min-width:140px;flex:1}.visual-caption{font-size:16px;min-height:3.2em}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.problem-card{margin:0;padding:18px;display:flex;flex-direction:column;gap:10px}.problem-card h3{margin:0;font-size:20px}.problem-card p{font-size:16px;margin:0;color:var(--muted)}.problem-card button{align-self:flex-start;margin-top:auto}.complete{color:#276440}.notice{padding:13px 17px;border-left:4px solid #b88726;background:#fff7e4;font-size:16px}.answer{width:100%;padding:11px;border:1px solid #a8b7c3;border-radius:7px;margin:12px 0}textarea.answer{min-height:130px}.choices{display:grid;gap:9px;margin:20px 0}.choice{text-align:left;display:flex;align-items:baseline;gap:14px;width:100%;color:var(--ink);padding:12px 16px}.choice .letter{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;height:28px;border:1px solid currentColor;border-radius:50%}.choice.selected{background:#e9f1fa;border-color:var(--blue)}.choice.correct{background:#edf7ef;border-color:#43945b}.feedback{padding:13px 17px;background:#edf5ee;margin:15px 0}.feedback.wrong{background:#fff1e9}.solution{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.katex-display{overflow-x:auto;overflow-y:hidden;padding:5px 0}.math-warning{color:#8a4f11;background:#fff5e3;font-family:monospace;font-size:14px}.prose{overflow-wrap:anywhere}.prose p{white-space:pre-wrap}.prose table{border-collapse:collapse;max-width:100%}.prose th,.prose td{border:1px solid #aaa;padding:6px}.tablewrap{overflow:auto}dialog{width:min(900px,95vw);max-height:93vh;border:1px solid #b8c6d0;border-radius:12px;padding:28px;color:var(--ink);background:white;overflow:auto}dialog::backdrop{background:#1a2a3b88}.close{position:sticky;top:0;float:right;z-index:2;font-size:24px;padding:0 10px}.question-head{padding-right:40px}.question-meta{color:var(--muted);font-size:14px}.test-nav{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.test-nav button{min-width:36px;padding:4px}.test-nav .answered{background:#e2efe6}.test-nav .current{border:2px solid var(--blue)}.timer{font-variant-numeric:tabular-nums;font-weight:bold;color:var(--blue)}progress{width:100%;height:10px}footer{font-size:14px;color:var(--muted);border-top:1px solid var(--line)}@media(max-width:760px){header,main,footer{padding:16px}h1{font-size:36px}main{grid-template-columns:1fr;gap:8px}aside{position:static;max-height:180px}aside button{padding:5px}.panel{padding:17px}.visual{padding:12px}.visual-head{display:block}.grid{grid-template-columns:1fr}dialog{padding:18px}.tabs{gap:5px}.tabs button{padding:6px 9px;font-size:15px}.overview{gap:5px}.overview span{font-size:13px;padding:5px 9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.book-diagram svg{display:block;width:100%;max-width:600px;height:auto;margin:20px auto}.choice>span:last-child{min-width:0;overflow-x:auto}.prose .katex{white-space:nowrap}

.lesson-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:start}.lesson-complete{padding:6px;width:44px;height:44px;display:grid;place-items:center;background:transparent;border-color:transparent;color:#6b7d8c}.lesson-complete svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lesson-complete:hover{color:#2859a5;background:#edf3fa}.lesson-complete.is-complete{color:#fff;background:#477d69;border-color:#477d69}.lesson-complete:focus-visible{outline:3px solid #7aa2df;outline-offset:2px}

.visual-equation{font-size:18px;min-height:55px}.visual-equation .katex-display{margin:6px 0}.visual-stage{min-width:0}.practice-location{font-size:14px}.visual-controls button{font-size:15px}

/* A single reading path, rather than a dashboard of unrelated activities. */
#tabs{display:block}.path-context{margin:6px 0;color:var(--muted);font-size:16px}.learning-stages{display:flex;flex-wrap:wrap;gap:12px 28px;padding:0;list-style-position:inside;color:var(--muted);font-size:16px}.learning-stages li{padding:7px 0;border-bottom:2px solid transparent}.learning-stages [aria-current]{color:var(--blue);border-color:var(--blue);font-weight:bold}.path-actions{justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.section-navigation{font-size:15px}.worked-steps{padding-left:28px}.worked-steps>li{padding:5px 12px 5px 8px;border-bottom:1px solid var(--line);margin:12px 0}.worked-steps>li::marker{font-weight:bold;color:var(--green)}.worked-steps p{margin:8px 0}#worked-example{margin:24px 0;border-top:1px solid var(--line);padding-top:12px}.section-navigation button{background:transparent}.path-actions button{max-width:100%}

.concept h4{font-size:17px;margin:24px 0 5px;color:var(--green)}.concept h4+p{margin-top:5px}.concept .prose p{margin-top:8px}

.concept table{border-collapse:collapse;width:100%;font-size:16px}.concept th,.concept td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left}.visual-controls output{min-width:40px}.visual-controls label{min-width:0}
.prose p>.katex{display:inline-block;overflow:visible;vertical-align:baseline;padding:.15em 0}.prose .katex{overflow-wrap:normal;word-break:normal}.katex-display{padding:.35em 0}.concept{min-width:0}.worked-steps{min-width:0}

.reward-status{font-size:14px;margin:12px 0}.reward-badges{display:flex;flex-wrap:wrap;gap:7px}.reward-badges span{padding:5px 10px;border:1px solid var(--line);border-radius:20px;background:white}.reward-badges .earned{color:#6b4e00;background:#fff3d6;border-color:#e3c770}.reward-status details{margin:10px 0;max-width:750px}.reward-status summary{cursor:pointer;color:var(--blue)}.reward-status li{margin:7px 0}.reward-status p{margin:10px 0}#reward-chip{margin-left:auto}#profile{margin-left:0}.ach-pn{font-family:Arial,sans-serif}.ach-pn small{color:inherit}

@media(max-width:760px){.visual-controls label{flex:0 0 100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.visual-controls label input{grid-column:1;width:100%;min-width:0}.visual-controls label output{grid-column:2}.visual-controls button{font-size:14px;padding:6px 9px}}

.variable-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:16px 0}.variable-control{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:white}.variable-control.is-active{border-color:var(--blue);background:#edf4fb}.variable-control label{grid-column:1/-1;font-size:16px;cursor:pointer}.variable-control input[type=range]{width:100%;min-width:0}.variable-control input[type=number]{width:82px;min-width:0;font-size:16px;padding:4px;border:1px solid #b7c5d0;border-radius:5px}.variable-control small{grid-column:1/-1;font-size:12px}.visual-stage [data-variable]:focus{outline:2px solid #d08434}.visual-controls [data-active]{display:block;flex-basis:100%}#triple-limit{width:100px;padding:5px}.tablewrap button{font-size:14px;padding:5px 8px}@media(max-width:760px){.variable-controls{grid-template-columns:1fr}.variable-control{grid-template-columns:minmax(0,1fr) 82px}}

/* Long algebraic expressions remain readable without widening the page. */
.prose p>.katex{max-width:100%;overflow-x:auto;overflow-y:hidden}.model-result{min-width:0}.model-result table{width:100%;border-collapse:collapse}.model-result th,.model-result td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--line)}.visual>label{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.visual>label input{min-width:0;max-width:100%}.visual>label output{min-width:36px}.model-result .katex-display{max-width:100%}
.precalculus-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.precalculus-controls label{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px;font-size:16px}.precalculus-controls input[type=range]{grid-column:1;width:100%;min-width:0}.precalculus-controls input[type=number]{grid-column:2;width:90px;min-width:0}.precalculus-controls select{grid-column:1/-1;width:100%;min-width:0}.visual [data-picture] svg,.visual>svg{display:block;width:100%;height:auto;margin-top:16px}.visual [data-description]{font-size:16px;overflow-wrap:anywhere}@media(max-width:760px){.precalculus-controls{grid-template-columns:1fr}}
.prose p>.katex{padding-right:.18em}


/* Inline math must flow with text, never create a tiny scroll box. */
.prose p>.katex{display:inline;max-width:none;overflow:visible;vertical-align:baseline;padding:0 .12em 0 0;white-space:normal}
.prose p>.katex>.katex-html{white-space:normal}
.prose .katex .base{white-space:nowrap}
.katex-display{padding:.4em .2em;max-width:100%;box-sizing:border-box}
.katex-display>.katex,.katex-display>.katex>.katex-html{white-space:normal}
.choice>span:last-child{overflow:visible;overflow-wrap:anywhere}
/* Only a formula wider than its entire paragraph becomes a scrollable block. */
.prose p>.katex.math-wide{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:.4em .2em;white-space:nowrap}
.prose p>.katex.math-wide>.katex-html{white-space:nowrap}
.book-diagram{max-width:100%;overflow-x:auto}
.visual svg{width:100%;height:auto;max-height:420px}.visual-controls{display:flex;flex-wrap:wrap;gap:12px}.visual-controls label{display:grid;gap:5px}.visual-controls input,.visual-controls select{max-width:170px}.diagram-caption{font-size:.95rem;color:#45536a}.book-diagram svg{width:100%;height:auto} .native-table{border-collapse:collapse;max-width:100%}.native-table td,.native-table th{padding:6px 10px;border:1px solid #ccd4e0}
.book-diagram svg{min-width:760px}.whole-groups{display:flex;flex-wrap:wrap;gap:8px}.whole-group{flex:1 1 120px;border:1px solid #2163a8;border-radius:8px;padding:10px;min-height:70px;font-size:15px;background:#eff6ff}.whole-dots{display:grid;grid-template-columns:repeat(10,6px);gap:4px;margin-top:8px}.whole-dots i{width:6px;height:6px;background:#2163a8;border-radius:50%}

.nt-sieve{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin:14px 0}.nt-cell{position:relative;text-align:center;border:1px solid #b7c5d0;border-radius:4px;padding:4px 0;font-size:16px;background:white}.nt-prime{border:2px solid #2163a8;border-radius:50%;color:#174b82;font-weight:bold}.nt-composite{color:#6f6f6f}.nt-composite>span{position:absolute;right:0;top:-4px;color:#a33b33;font-size:23px}.sieve-key{display:inline-block;margin-right:10px;font-size:15px}@media(max-width:600px){.nt-sieve{grid-template-columns:repeat(5,minmax(0,1fr))}}

.nt-common{background:#e4f1e9;color:#215d3b;border-radius:4px;padding:2px}.nt-highlight{font-size:1.15em;font-weight:bold;color:#174b82}.euclid-history{max-height:360px;overflow:auto}.euclid-history table{width:100%;font-size:16px}.visual-stage{min-width:0;overflow-x:auto}

/* Book05 Chapter4 native factor trees and exponent tables. */
.nt-tree{overflow-x:auto;padding:8px 0}.nt-tree svg{display:block;width:100%;max-height:540px}.visual-stage sup{font-size:.75em}.visual-stage td,.visual-stage th{overflow-wrap:anywhere}

/* Book05 Chapter5 choice grids, exact integer products, and cell toggles. */
.nt-divisor-grid{overflow-x:auto}.nt-divisor-grid table{min-width:360px}.nt-product{overflow-wrap:anywhere;max-width:100%;font-family:monospace}.nt-lock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(36px,1fr));gap:5px}.nt-lock-grid span{padding:7px 3px;text-align:center;border:1px solid #94a3b8;border-radius:5px;background:#edf2f7;color:#475569}.nt-lock-grid .nt-unlocked{background:#dcfce7;border-color:#15803d;color:#14532d;font-weight:700}

/* Authored lesson tables scroll within the prose on small screens. */
.prose .native-table{display:block;max-width:100%;overflow-x:auto}.nt-factorial-layers{overflow-x:auto}

/* Book05 Chapter6 exact values, mirrored digits, and exponent layers. */
.nt-exact{overflow-wrap:anywhere;font-family:monospace}.nt-factorial-layers{overflow-x:auto}.nt-factorial-layers table{min-width:340px}.nt-digit-row{display:flex;gap:7px;overflow-x:auto;padding:10px 0}.nt-digit-row span{display:block;flex:0 0 34px;text-align:center;font-size:24px;padding:8px 0;border-radius:5px;background:hsl(calc(var(--pair)*45 + 195) 65% 90%);border:1px solid #64748b}.nt-fib-scroll{max-height:380px;overflow:auto}

/* Book05 Chapter7 parameter controls and complete integer solution tables. */
.nt-topic-controls{display:contents}.nt-solution-scroll{max-height:360px;overflow:auto}.nt-pal-preview{max-height:240px;overflow:auto;line-height:1.8}

/* Rich lists and table cells use the same responsive math layout as paragraphs. */
.prose :is(p,li,td,th)>.katex{display:inline;max-width:none;overflow:visible;vertical-align:baseline;padding:0 .12em 0 0;white-space:normal}.prose :is(p,li,td,th)>.katex>.katex-html{white-space:normal}.prose :is(p,li,td,th)>.katex.math-wide{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:.4em .2em;white-space:nowrap}.prose :is(p,li,td,th)>.katex.math-wide>.katex-html{white-space:nowrap}

/* Book05 Chapter8 native bundle cards, digit alphabets and conversion histories. */
.nt-base-controls{display:contents}.nt-bundle-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.nt-bundle-cards>div{display:grid;gap:6px;padding:14px;border:1px solid #b9cce1;border-radius:8px;background:#eff6ff}.nt-digit-palette{display:grid;grid-template-columns:repeat(auto-fit,minmax(45px,1fr));gap:6px}.nt-digit-palette span,.nt-count-strip span{display:grid;text-align:center;padding:6px;border:1px solid #ccd4e0;border-radius:5px}.nt-count-strip{display:flex;overflow:auto;gap:6px;padding:10px 0}.nt-count-strip span{flex:0 0 60px}.nt-count-strip small{font-size:12px}.prose svg{max-width:100%}

/* Chapter 9 digit arithmetic, with readable columns on narrow screens. */
.nt-arithmetic-controls{display:flex;flex-wrap:wrap;gap:12px}.nt-arithmetic-controls label{display:flex;flex-direction:column;gap:4px;max-width:100%}.nt-arithmetic-controls input,.nt-arithmetic-controls select{max-width:100%;width:190px}.nt-arithmetic-scroll{max-width:100%;overflow-x:auto}.nt-arithmetic-scroll table{min-width:440px}.nt-secret-blocks{display:flex;gap:16px;flex-wrap:wrap}.nt-secret-blocks strong{padding:16px;background:#e8efff;border-radius:8px;font-size:1.5rem}

/* Chapter10 units-digit controls and native diagrams. */
.nt-units-controls{display:flex;flex-wrap:wrap;gap:12px}.nt-units-controls label{display:flex;flex-direction:column;gap:4px;max-width:100%}.nt-units-controls input,.nt-units-controls select{max-width:100%;width:200px}.nt-units-scroll{max-width:100%;overflow-x:auto}.nt-units-scroll table{min-width:360px}.nt-digit-focus{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.nt-digit-focus strong{font-size:3rem;background:#e8efff;padding:12px 28px;border-radius:10px}.nt-erased-product{max-width:300px;overflow-x:auto}.nt-erased-product td{text-align:right;font-family:monospace;letter-spacing:.3em}

/* Chapter11 exact radix expansions and accessible remainder tables. */
.nt-radix-controls{display:flex;flex-wrap:wrap;gap:12px}.nt-radix-controls label{display:flex;flex-direction:column;gap:4px;max-width:100%}.nt-radix-controls input{max-width:100%;width:200px}.nt-radix-scroll{max-width:100%;overflow-x:auto}.nt-radix-scroll table{min-width:370px}.nt-repetend{text-decoration:overline;text-decoration-thickness:1px}.nt-radix-number{font-family:monospace;overflow-wrap:anywhere;word-break:break-all}.visual-stage svg{max-width:100%}
/* Keep learner-step buttons absent when the selected method has no steps. */
#visual button[hidden]{display:none!important}

/* Chapter12 clocks, counting grids, residue-class controls. */
.nt-mod-controls{display:flex;flex-wrap:wrap;gap:12px}.nt-mod-controls label{display:flex;flex-direction:column;gap:4px;max-width:100%}.nt-mod-controls input,.nt-mod-controls select{max-width:100%;width:220px}.nt-mod-scroll{max-width:100%;overflow-x:auto}.nt-mod-scroll table{min-width:380px}.nt-residue-chips{display:flex;gap:6px;flex-wrap:wrap}.nt-residue-chips span{padding:5px 10px;background:#e8efff;border-radius:6px}

/* Chapter13 native digit rules and sequential digit-pair filters. */
.nt-rule-controls{display:flex;flex-wrap:wrap;gap:12px}.nt-rule-controls label{display:flex;flex-direction:column;gap:4px;max-width:100%}.nt-rule-controls input,.nt-rule-controls select{max-width:100%;width:230px}.nt-rule-scroll{max-width:100%;overflow-x:auto}.nt-rule-scroll table{min-width:360px}.nt-pair-grid{display:grid;grid-template-columns:repeat(10,minmax(30px,1fr));gap:3px;min-width:340px}.nt-pair-grid span{font-size:.75rem;text-align:center;padding:5px 2px}.nt-retained{background:#d6eedb;color:#17452b}.nt-eliminated{background:#edf0f4;color:#727984;text-decoration:line-through}.visual-stage:has(.nt-pair-grid){overflow-x:auto}

/* Chapter14 residue testing, gcd reductions, and system intersections. */
.nt-linear-controls{display:flex;flex-wrap:wrap;gap:12px}.nt-linear-controls label{display:flex;flex-direction:column;gap:4px;max-width:100%}.nt-linear-controls input,.nt-linear-controls select{max-width:100%;width:220px}.nt-linear-scroll{max-width:100%;overflow-x:auto}.nt-linear-scroll table{min-width:400px}.nt-linear-chips{display:flex;gap:5px;flex-wrap:wrap}.nt-linear-chips span{padding:4px 8px;background:#e4f0e9;border-radius:5px}

/* Keep seven system controls in separate cells rather than shrinking their labels. */
#visual .nt-linear-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));width:100%;min-width:0;flex:1 1 100%;gap:12px}
#visual .nt-linear-controls label{display:flex;flex:none;min-width:0;align-items:stretch;text-align:left}
#visual .nt-linear-controls input,#visual .nt-linear-controls select{width:100%;min-width:0;max-width:100%;flex:none}

/* Chapter15 exact arithmetic representations and finite-case controls. */
.nt-sense-controls{display:flex;flex-wrap:wrap;gap:12px}.nt-sense-controls label{display:flex;flex-direction:column;gap:4px;max-width:100%}.nt-sense-controls input,.nt-sense-controls select{max-width:100%;width:220px}.nt-sense-scroll{max-width:100%;overflow-x:auto}.nt-sense-scroll table{min-width:380px}.nt-sense-piles{display:flex;gap:12px;flex-wrap:wrap}.nt-sense-piles div{display:flex;flex-direction:column;align-items:center;background:#e9f1ff;padding:10px;border-radius:6px}.nt-sense-piles strong{font-size:1.5rem}
#visual .nt-sense-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));width:100%;min-width:0;flex:1 1 100%;gap:12px}
#visual .nt-sense-controls label{display:flex;flex:none;min-width:0;align-items:stretch;text-align:left}
#visual .nt-sense-controls input,#visual .nt-sense-controls select{width:100%;min-width:0;max-width:100%;flex:none}

.book05-hints{border:1px solid #d5e3ef;border-radius:12px;padding:16px;margin:18px 0;background:#f5f9fc}
.book05-hint{border-left:3px solid #527c9b;padding-left:12px;margin:12px 0}
#book05-support-dialog{width:min(850px,calc(100% - 24px));max-height:90vh;overflow:auto;box-sizing:border-box}
#book05-support-dialog .close{float:right}
#book05-support-dialog input{width:6em;max-width:100%}
#book05-hint-lookup{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
#book05-study-guide{margin-left:8px}
