/* The incumbent IBM blue / purple lecture identity is intentionally preserved. */
::selection{background:#d0e2ff;color:#001d6c}
html{scrollbar-color:#8d8d8d #f4f4f4}input{caret-color:#0f62fe}
.lesson-section p{max-width:48em}.lesson-section h3{margin-top:24px}.lesson-section .experiment h3{margin-top:0}
.lesson-section h1,.lesson-section h2{text-wrap:balance}.lesson-section .opening-lab h2,body.presenting .lesson-section .opening-lab h2{font-size:21px;line-height:1.55;letter-spacing:0;margin:0 0 14px;font-weight:600}
.key-note{border-left:0;border-top:1px solid #a6c8ff;background:#edf5ff;padding:18px 22px;margin-top:26px;color:#002d9c;font-size:17px}
.proposal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#c6c6c6;border:1px solid #c6c6c6;margin:20px 0}
.proposal{display:grid;position:relative;grid-template-columns:1fr auto;gap:4px 12px;background:#fff;padding:20px;cursor:pointer;min-width:0}
.proposal:has(input:checked){background:#edf5ff;box-shadow:inset 0 -3px #0f62fe}.proposal:focus-within{outline:3px solid #0f62fe;outline-offset:3px;z-index:1}
.proposal input{grid-column:2;grid-row:1;align-self:center;margin:0}.proposal-letter{grid-column:1;grid-row:1;color:#0043ce;font-size:26px}.proposal strong{grid-column:1/-1;font-size:24px}.proposal>span:not(.proposal-letter){grid-column:1/-1;color:#525252;font-size:15px}.proposal b{grid-column:1/-1;font-size:30px;font-weight:500;font-variant-numeric:tabular-nums;margin-top:14px}
.result-line{padding-top:16px;border-top:1px solid #c6c6c6;font-size:17px;min-height:3em}.invalid-result{color:#a2191f}
.route-strip{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:32px;padding-top:20px;border-top:1px solid #8d8d8d;font-size:16px}.route-strip span:not(:last-child)::after{content:'→';margin-left:24px;color:#0043ce}
.bit-example{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding:24px;background:#f4f4f4;margin:28px 0}.bit-example span{display:grid;text-align:center;font-size:15px}.bit-example b{font-size:48px;font-weight:500;color:#0043ce;line-height:1.3}.bit-example>strong{font-size:24px;margin-left:auto}
.count-readout{font-size:clamp(25px,3vw,40px);font-variant-numeric:tabular-nums;color:#0043ce;margin:4px 0 12px;overflow-wrap:anywhere}
.plain-equation{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:24px 0;font-size:22px;font-weight:500;border-block:1px solid #c6c6c6;margin:24px 0}.plain-equation span:last-child{color:#6929c4}
.table-scroll{overflow-x:auto;max-width:100%}.table-scroll table{min-width:400px}.table-scroll th,.table-scroll td{font-variant-numeric:tabular-nums}.minimum{background:#e8daff}.minimum th{background:transparent}.source-note{font-size:14px;color:#525252}.term-map{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:26px 0}.term-map>div{border-top:2px solid #0f62fe;padding-top:18px}.term-map>div+div{border-color:#6929c4}.term-map strong{font-size:21px}.formula-text{font-size:clamp(18px,2.4vw,28px);font-variant-numeric:tabular-nums}
.quantum-flow{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0;border-block:1px solid #c6c6c6}.quantum-flow>div{padding:22px;border-right:1px solid #c6c6c6}.quantum-flow>div:first-child{padding-left:0}.quantum-flow>div:last-child{border:0}.quantum-flow strong{color:#0043ce;font-size:21px}.quantum-flow p{font-size:16px}
.interference-figure{margin:26px 0}.interference-figure svg{display:block;width:100%;height:auto;background:#f4f4f4}.interference-figure figcaption{margin-top:10px}
.process-list{list-style:none;padding:0;counter-reset:process;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:24px 0}.process-list li{counter-increment:process;border-top:1px solid #c6c6c6;padding:18px 0;margin:0}.process-list li::before{content:counter(process,decimal-leading-zero);display:block;color:#0043ce;font-size:14px}.process-list strong,.process-list span{display:block}.process-list span{font-size:16px;margin-top:8px;color:#525252}
.q-distribution{display:grid;gap:12px;margin:24px 0}.q-row{display:grid;grid-template-columns:110px minmax(0,1fr) 64px;gap:16px;align-items:center;font-size:17px;font-variant-numeric:tabular-nums}.q-row small{display:block;font-size:12px;line-height:1.4}.q-track{height:22px;background:#e0e0e0;position:relative}.q-track>span{display:block;height:100%;background:#0f62fe;transition:width .18s ease-out}.q-track::after{content:'';position:absolute;left:12.5%;top:-3px;bottom:-3px;width:1px;background:#525252}.q-row.optimal .q-track>span{background:#6929c4}.q-row.invalid .q-track>span{background:repeating-linear-gradient(135deg,#525252 0 4px,#a8a8a8 4px 8px)}.q-row>strong{text-align:right;font-size:16px}.chart-legend{font-size:13px;color:#525252}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-top:1px solid #c6c6c6;padding-top:14px}.metrics p{font-size:14px;margin:0}.metrics strong{display:block;font-size:28px;font-weight:500;color:#0043ce;font-variant-numeric:tabular-nums}
.loop-figure{max-width:740px;margin:26px 0}.loop-step{padding:20px 24px;background:#f4f4f4}.loop-step>span{display:inline-block;font-size:14px;color:#0043ce;margin-right:20px}.loop-step>strong{font-size:20px}.loop-step p{margin:6px 0 0;font-size:16px}.loop-step.quantum{background:#f6f2ff}.loop-step.quantum>span{color:#6929c4}.loop-connector{padding:4px 24px;color:#0043ce;font-size:26px}.loop-figure figcaption{margin-top:16px}
.schedule-row{display:grid;grid-template-columns:190px 1fr 42px;gap:16px;align-items:center;margin:22px 0;font-size:16px}.schedule-track{height:28px;background:#e0e0e0}.schedule-track span{height:100%;display:block;background:#0f62fe}.schedule-track.problem span{background:#6929c4}.schedule-row>b{font-size:14px}
.comparison th:first-child{width:22%}.comparison td{width:39%}.comparison{table-layout:fixed}.sample-counts{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin:24px 0;font-size:14px}.sample-counts>span{padding-bottom:8px;border-bottom:1px solid #8d8d8d}.sample-counts b{display:block;font-size:20px;font-variant-numeric:tabular-nums}
.recap-list{padding-left:1.4em}.recap-list li{padding:8px 0}.recap-list strong{display:block}.exit-ticket{margin:28px 0;padding:22px;background:#f6f2ff}.exit-ticket h3{margin-top:0}.next-reading{font-size:16px}.reading-resources{max-width:1250px;margin:auto;padding:48px clamp(24px,5vw,76px);background:#f4f4f4}.reading-resources h2{font-size:28px;margin-bottom:16px}.reading-resources p,.reading-resources li{font-size:16px}.teacher-guide{max-width:980px;margin:auto;padding:40px 28px}.teacher-guide h1{margin-top:24px}.teacher-guide h2{font-size:25px;margin:36px 0 16px}.teacher-guide section{border-top:1px solid #e0e0e0;padding-bottom:14px}.noscript-note{padding:16px;background:#fff1f1}
@media(max-width:1000px){.quantum-flow{grid-template-columns:1fr}.quantum-flow>div,.quantum-flow>div:first-child{padding:16px 0;border-right:0;border-bottom:1px solid #c6c6c6}.quantum-flow p{margin:4px 0}.schedule-row{grid-template-columns:160px 1fr 36px;gap:10px}.proposal{padding:16px}.proposal strong{font-size:21px}}
@media(max-width:620px){.lesson-section{padding-inline:20px}.lesson-section .lead{font-size:20px}.experiment{padding:20px 16px}.proposal-grid{grid-template-columns:1fr}.proposal{grid-template-columns:32px 1fr 52px 24px;align-items:center;gap:0 12px;padding:16px}.proposal-letter{grid-column:1;grid-row:1/3}.proposal strong{grid-column:2;grid-row:1;font-size:21px}.proposal>span:not(.proposal-letter){grid-column:2;grid-row:2;font-size:13px}.proposal b{grid-column:3;grid-row:1/3;margin:0;font-size:25px}.proposal input{grid-column:4;grid-row:1/3}.route-strip{gap:8px 12px;font-size:14px}.route-strip span:not(:last-child)::after{margin-left:12px}.bit-example{gap:18px}.bit-example>strong{width:100%;margin-left:0}.plain-equation{font-size:18px;padding:18px 0;gap:8px 10px}.term-map,.process-list{grid-template-columns:1fr}.q-row{grid-template-columns:78px minmax(0,1fr) 54px;gap:8px;font-size:16px}.q-row>strong{font-size:14px}.q-row small{font-size:11px}.q-track{height:20px}.metrics{gap:8px}.metrics p{font-size:12px}.metrics strong{font-size:23px}.schedule-row{grid-template-columns:1fr 40px;gap:8px}.schedule-row>span{grid-column:1/-1}.schedule-track{grid-column:1}.sample-counts{grid-template-columns:repeat(4,1fr)}.loop-step{padding:16px}.loop-step>strong{font-size:18px}.loop-step>span{margin-right:12px}.interference-figure svg{min-height:110px}.reading-resources{padding:32px 20px}.comparison{min-width:460px!important}.section-meta{letter-spacing:0;gap:10px}.exit-ticket{padding:18px}.reading-resources h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.q-track>span{transition:none}}
@media print{body.presenting .lesson-section[hidden],.reading-resources[hidden]{display:block!important}body.presenting .lesson-section{min-height:0}.layout{display:block}.lesson-section{break-before:auto;max-width:none;padding:24px 0}.lesson-section h1,.lesson-section h2{font-size:28px!important}.experiment{break-inside:avoid}.experiment input,.experiment button{display:none}.proposal{break-inside:avoid}.reading-resources{padding:24px 0}.q-track>span,.schedule-track>span{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Key equations and explanatory illustrations, 2026-10-12. */
.lesson-illustration{margin:24px 0 30px}.lesson-illustration img{display:block;width:100%;height:auto;object-fit:contain}.lesson-illustration figcaption{margin-top:12px}.festival-illustration figcaption{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;font-size:16px;color:#161616}.hybrid-illustration{max-width:740px}.hybrid-illustration img{max-height:300px}.essential-math{margin:24px 0;padding:22px 24px;background:#edf5ff;border-top:1px solid #a6c8ff}.lesson-section .essential-math h3{margin-top:0;font-size:20px}.essential-math .math-line{font-size:clamp(20px,2.3vw,28px);line-height:1.8;margin:14px 0;letter-spacing:0;font-variant-numeric:tabular-nums}.math-reading{display:block;font-size:16px;color:#393939;font-weight:400}.essential-math p{font-size:16px}.energy-formula{display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline}.score-term{color:#0043ce;white-space:nowrap}.penalty-term{color:#6929c4;white-space:nowrap}.formula-key{display:flex;flex-wrap:wrap;gap:6px 24px;font-size:14px}.formula-key>span:first-child{color:#0043ce}.formula-key>span:last-child{color:#6929c4}.worked-equation{padding-block:12px;border-block:1px solid #a6c8ff;font-variant-numeric:tabular-nums}.essential-math var{font-family:Georgia,serif}.essential-math .math-line var{font-size:1.08em}
@media(max-width:620px){.essential-math{padding:18px 16px}.festival-illustration figcaption{font-size:13px}.hybrid-illustration img{max-height:none}.essential-math .math-line{font-size:21px}.essential-math .energy-formula{font-size:20px}}

/* Problem encoding and the two algorithms: diagrams are semantic, local SVG/HTML. */
.encoding-route{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.encoding-route>div{padding:18px 0;border-block:1px solid #a6c8ff}.encoding-route>div+div{border-color:#d4bbff}.encoding-route strong,.encoding-route span,.encoding-route b{display:block}.encoding-route strong{font-size:19px}.encoding-route span{margin:10px 0;font-size:16px}.encoding-route b{font-size:16px;color:#0043ce}.encoding-route>div+div b{color:#6929c4}
.concept-figure,.circuit-figure{margin:26px 0}.concept-figure svg{display:block;width:100%;height:auto;background:#f4f4f4}.concept-figure figcaption,.circuit-figure figcaption,.anneal-stages figcaption{margin-top:12px}.qubo-words{margin:24px 0}.qubo-words>div{padding:16px 0;border-bottom:1px solid #c6c6c6}.qubo-words dt{font-size:19px;font-weight:600}.qubo-words dd{margin:8px 0 0;font-size:17px}.shared-energy{margin:26px 0}.shared-source{background:#f6f2ff;padding:22px;text-align:center;color:#491d8b}.shared-source strong,.shared-source span{display:block}.shared-source strong{font-size:23px}.shared-source span{font-size:16px;margin-top:6px}.shared-branches{display:grid;grid-template-columns:1fr 1fr;gap:30px}.shared-branches>div{position:relative;padding:32px 16px 16px;border-bottom:1px solid #c6c6c6}.shared-branches>div::before{content:'';position:absolute;top:0;left:50%;height:22px;border-left:2px solid #6929c4}.shared-branches strong{color:#0043ce;font-size:20px}.shared-branches p{font-size:16px;margin:10px 0}.compact-formula{font-size:18px;line-height:2;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.diagram-scroll{max-width:100%;overflow-x:auto;padding:12px 0;background:#fff}.diagram-scroll:focus-visible{outline:2px solid #0f62fe;outline-offset:3px}.diagram-scroll svg{display:block;width:100%;height:auto;min-width:620px}.anneal-stages{margin:28px 0}.anneal-stages ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}.anneal-stages li{margin:0;padding-top:18px;border-top:3px solid #0f62fe}.anneal-stages li:nth-child(2){border-color:#8a3ffc}.anneal-stages li:last-child{border-color:#6929c4}.anneal-stages li>span{display:block;color:#525252;font-size:15px;margin-bottom:10px}.anneal-stages strong{display:block;font-size:20px}.anneal-stages p{font-size:16px}.essential-math sub{font-size:.65em}.circuit-figure svg text,.concept-figure svg text{font-family:inherit}
@media(max-width:800px){.anneal-stages ol{grid-template-columns:1fr;gap:12px}.anneal-stages li{padding-top:14px}.anneal-stages p{margin:8px 0}.anneal-stages li>span{margin-bottom:6px}}
@media(max-width:620px){.encoding-route,.shared-branches{grid-template-columns:1fr;gap:14px}.shared-branches>div{padding-top:30px}.concept-figure svg{min-height:140px}.essential-math .math-line{overflow-wrap:anywhere}.circuit-figure figcaption::before{content:'回路図は横にスクロールできます。 ';color:#0043ce}.diagram-scroll{border-block:1px solid #e0e0e0}}
@media print{.diagram-scroll{overflow:visible}.diagram-scroll svg{min-width:0}.circuit-figure,.concept-figure,.anneal-stages{break-inside:avoid}.circuit-figure figcaption::before{content:none}}

/* Annealing: distinguish the known initial ground state from the sought solution. */
.anneal-ground-comparison,.driver-ground{margin:26px 0}.ground-panels,.phase-states{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ground-panels>div{padding:20px;border-top:3px solid #0f62fe;background:#edf5ff}.ground-panels>div:last-child{border-color:#6929c4;background:#f6f2ff}.ground-label{font-size:16px;color:#393939}.ground-panels h4,.phase-states h4{font-size:21px;margin:12px 0}.ground-panels p,.ground-panels b,.driver-ground p,.phase-states p,.phase-states strong{font-size:16px}.ground-panels b{display:block;color:#0043ce}.ground-panels>div:last-child b{color:#491d8b}.anneal-ground-comparison figcaption,.driver-ground figcaption{margin-top:12px}.amplitude-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;background:#edf5ff;padding:20px 12px}.amplitude-grid>div{text-align:center;font-size:17px}.amplitude-grid b,.amplitude-grid span{display:block}.amplitude-grid .phase-arrow{font-size:36px;line-height:1.7;color:#0043ce}.phase-states>div{border-top:2px solid #a6c8ff;padding-top:10px}.phase-states>div:last-child{border-color:#c6c6c6}.phase-states strong{display:block}.anneal-gap svg{max-height:320px}.lesson-section .driver-ground>p{padding:14px 0;border-bottom:1px solid #c6c6c6}#anneal-equation{font-size:clamp(16px,2vw,22px);color:#491d8b}
@media(max-width:620px){.ground-panels,.phase-states{grid-template-columns:1fr;gap:16px}.amplitude-grid{grid-template-columns:repeat(4,1fr);gap:14px 8px}.ground-panels>div{padding:16px}.anneal-gap svg{min-height:0}.anneal-gap figcaption{font-size:14px}}
@media print{.anneal-ground-comparison,.driver-ground,.phase-states{break-inside:avoid}.ground-panels,.phase-states{grid-template-columns:1fr 1fr}.amplitude-grid{grid-template-columns:repeat(8,1fr)}}

@media(max-width:620px){.anneal-gap figcaption::before{content:"図は横にスクロールできます。 ";color:#0043ce}}
@media print{.anneal-gap figcaption::before{content:none}}

/* Five ungraded discussion quizzes: no hidden key or correctness styling. */
.reflection-anchor:empty{display:none}.mini-quiz{margin:32px 0;padding:24px;background:#f6f2ff;border-top:3px solid #6929c4}.mini-quiz .quiz-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;letter-spacing:.06em;color:#491d8b;font-weight:600;margin:0}.quiz-meta span{font-weight:400;letter-spacing:0}.lesson-section .mini-quiz h3{font-size:25px;margin:16px 0}.mini-quiz .quiz-question{font-size:18px}.quiz-options{list-style:none;padding:0;margin:20px 0;display:grid;gap:10px}.quiz-options li{display:flex;gap:14px;align-items:baseline;margin:0;padding:12px 14px;background:#fff;font-size:17px}.quiz-letter{color:#491d8b;font-weight:600;flex:0 0 18px}.mini-quiz .quiz-discuss{font-size:16px;margin-bottom:8px}.mini-quiz .quiz-vote{font-size:13px;color:#525252;margin-bottom:0}@media(max-width:620px){.mini-quiz{padding:20px 16px}.lesson-section .mini-quiz h3{font-size:22px}.quiz-options li{font-size:16px;padding:12px;gap:10px}}@media print{.mini-quiz{break-inside:avoid;padding:14pt}.mini-quiz .quiz-meta,.mini-quiz .quiz-vote{font-size:9pt}.mini-quiz .quiz-options{gap:6pt;margin:10pt 0}.mini-quiz .quiz-options li{font-size:10pt;padding:7pt}.lesson-section .mini-quiz h3{font-size:15pt}}

/* Small vignettes sit beside the heading without interrupting the question. */
.quiz-heading{isolation:isolate;background:#f6f2ff;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0}.lesson-section .quiz-heading h3{margin:0;flex:1;min-width:0}.quiz-heading .quiz-illustration{display:block;flex:0 0 144px;width:144px;height:96px;object-fit:contain;filter:contrast(1.12);mix-blend-mode:multiply}.mini-quiz .quiz-question{margin-top:12px}
@media(max-width:620px){.quiz-heading{gap:10px}.quiz-heading .quiz-illustration{flex-basis:104px;width:104px;height:69px}}
@media print{.quiz-heading{margin:8pt 0;gap:10pt;break-inside:avoid}.quiz-heading .quiz-illustration{flex-basis:80pt;width:80pt;height:54pt}.lesson-section .quiz-heading h3{margin:0}}

/* One-qubit instantaneous ground-state walkthrough. */
.matrix-line{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin:22px 0;font-size:20px}
.matrix-two{display:inline-grid;grid-template-columns:repeat(2,minmax(38px,auto));gap:10px 22px;border-left:2px solid currentColor;border-right:2px solid currentColor;border-radius:10px;padding:8px 14px;text-align:center}
.ground-prob-row{display:grid;grid-template-columns:100px minmax(0,1fr) 65px;gap:12px;align-items:center;margin:18px 0}
.ground-prob-track{height:20px;background:#e0e0e0}.ground-prob-track span{display:block;height:100%;background:#0f62fe}
#ground-p1-bar{background:#6929c4}.ground-spectrum{display:block;width:100%;height:auto;margin:22px 0}
.one-qubit-lesson .compact-formula{overflow-wrap:anywhere}
@media(max-width:480px){.ground-prob-row{grid-template-columns:80px minmax(0,1fr) 58px;gap:7px;font-size:14px}}

/* Locally rendered LaTeX, including scrollable display equations on narrow screens. */
.lecture-math.display-math{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:8px 2px}
.lecture-math .katex{font-size:1.12em}.lecture-math .katex-display{margin:.4em 0}
.matrix-line>.lecture-math{min-width:0;width:100%}
#ground-vector,#anneal-equation{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:8px 2px}
@media print{.lecture-math.display-math,#ground-vector,#anneal-equation{overflow:visible}.lecture-math .katex{font-size:1em}}

/* QAOA: show every stage in order, including on mobile and in print. */
.qone-stages>div{border-left:3px solid #0f62fe;padding:12px 16px;margin:16px 0;background:#fff;min-width:0}
.qone-stages>div:nth-child(2){border-color:#6929c4}
.qone-equation{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:8px 0}
#qone-p1-bar{background:#6929c4}
@media print{.qone-equation{overflow:visible}}
#qaoa-one-lab>label{display:block;margin-top:20px}
#qaoa-one-lab>input[type=range]{display:block;width:100%;max-width:560px;margin:14px 0 24px}
.ground-prob-row>strong{white-space:nowrap;font-size:16px}

/* Festival: fixed final-problem energies beside instantaneous probabilities. */
#festival-ground-lab>label{display:block;margin-top:20px}
#festival-ground-progress{display:block;width:100%;max-width:560px;margin:16px 0 24px}
.festival-prob-row{display:grid;grid-template-columns:135px minmax(0,1fr) 65px 65px;gap:12px;align-items:center;margin:14px 0}
.festival-prob-row small{display:block;font-size:12px}.festival-prob-row strong{white-space:nowrap;font-size:16px}
.festival-prob-track{height:22px;background:#e0e0e0}.festival-prob-track>span{display:block;height:100%;background:#0f62fe}
.festival-prob-row.optimal .festival-prob-track>span{background:#6929c4}
.festival-prob-row.infeasible .festival-prob-track>span{background:repeating-linear-gradient(135deg,#8d8d8d 0 5px,#c6c6c6 5px 10px)}
.festival-energy{font-size:14px;white-space:nowrap}
@media(max-width:480px){.festival-prob-row{grid-template-columns:76px minmax(0,1fr) 56px 49px;gap:6px}.festival-prob-row small{font-size:10px}.festival-prob-row strong,.festival-energy{font-size:12px}}
