:root{--bg:#e9edf4;--surface:#f4f6fa;--ink:#16203a;--ink-2:#4a5470;--ink-3:#7a839c;--rule:#cfd6e3;--grid:#dfe4ee;--amp:#2f5bea;--answer:#0e9c7e;--measure:#b86e10;--spin:#8a5cd0;--focus:#2f5bea;--serif:"Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1320;--surface:#131a29;--ink:#e6eaf3;--ink-2:#aab3c7;--ink-3:#7b859c;--rule:#2a3449;--grid:#1f2839;--amp:#5f82f2;--answer:#1fa283;--measure:#bd7b22;--spin:#a585e6;--focus:#8aa4ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:600;line-height:1.3}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ket{font-family:var(--mono);font-weight:500}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root{--phase-l:.6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--phase-l:.68}}.page{max-width:1120px;margin:0 auto;padding:32px 24px 48px}.masthead h1{letter-spacing:.02em;text-wrap:balance;word-break:auto-phrase;font-size:clamp(1.6rem,3.6vw,2.5rem);font-weight:900}.modes{border-bottom:2px solid var(--rule);grid-template-columns:repeat(4,1fr);margin-top:24px;display:grid}.modes a{color:var(--ink-3);border-bottom:4px solid #0000;gap:2px;margin-bottom:-2px;padding:12px 16px 14px;text-decoration:none;display:grid}.modes a:hover{color:var(--ink-2)}.modes a[aria-current=page]{color:var(--ink);border-bottom-color:var(--amp)}.mode-name{font-family:var(--serif);font-size:1.35rem;font-weight:600}.mode-hint{font-size:.85rem}.lab{margin-top:20px}.presets{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--rule);cursor:pointer;color:var(--ink-2);background:0 0;border-radius:999px;padding:6px 14px;font-size:.9rem}.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.chip-small{padding:3px 10px;font-size:.8rem}.stage{background:var(--surface);border-radius:14px;margin-top:16px;padding:28px 28px 24px}.stage-head h2{text-wrap:balance;word-break:auto-phrase;font-size:1.5rem}.lede{color:var(--ink-2);max-width:44em;margin-top:6px}.note{border-left:3px solid var(--amp);background:color-mix(in oklab, var(--amp) 7%, transparent);border-radius:0 8px 8px 0;max-width:48em;min-height:3.4em;margin-top:12px;padding:12px 16px}.panel-title{margin-bottom:10px;font-size:1.1rem}.panel-text,.panel-foot,.chart-foot{color:var(--ink-2);font-size:.88rem}.panel-foot,.chart-foot{margin-top:8px}.btn{border:1px solid var(--rule);background:var(--bg);cursor:pointer;border-radius:8px;padding:7px 14px;font-size:.92rem}.btn:hover:not(:disabled){border-color:var(--ink-3)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--amp);border-color:var(--amp);color:#fff;font-weight:500}.btn-primary:hover:not(:disabled){border-color:var(--ink)}.btn-measure{border-color:var(--measure);color:var(--ink);background:0 0;font-weight:500}.circuit-scroll{margin-top:20px;padding-bottom:4px;overflow-x:auto}.circuit{display:block}.wire{stroke:var(--ink-3);stroke-width:1.5px}.wire-label{fill:var(--ink-2);font-size:13px}.gate{cursor:pointer}.gate-hit{fill:#0000}.gate:hover .gate-hit{fill:color-mix(in oklab, var(--amp) 8%, transparent)}.gate-box{fill:var(--surface);stroke:var(--ink-3);stroke-width:1.5px}.gate-text{fill:var(--ink-2);font:600 13px var(--mono)}.gate-link,.gate-target path,.gate-x{stroke:var(--ink-3);stroke-width:1.8px;fill:none}.gate-target circle{fill:var(--surface);stroke:var(--ink-3);stroke-width:1.8px}.gate-dot{fill:var(--ink-3)}.gate[data-done] .gate-box,.gate[data-done] .gate-target circle,.gate[data-done] .gate-link,.gate[data-done] .gate-target path,.gate[data-done] .gate-x{stroke:var(--ink)}.gate[data-done] .gate-dot,.gate[data-done] .gate-text{fill:var(--ink)}.gate[data-current] .gate-box,.gate[data-current] .gate-target circle{stroke:var(--amp);stroke-width:2.5px}.cursor{stroke:var(--amp);stroke-width:2px;stroke-dasharray:4 4;transition:all .3s}.cursor-hover{stroke:var(--ink-3);stroke-width:1px;transition:none}.stepper{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.stepper-buttons{flex-wrap:wrap;gap:8px;display:flex}.step-count{color:var(--ink-2)}.state-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:32px;margin-top:28px;display:grid}.dials{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:14px 10px;margin:0;padding:0;list-style:none;display:grid}.dials-n4,.dials-n5{grid-template-columns:repeat(auto-fill,minmax(68px,1fr))}.dial{justify-items:center;gap:2px;display:grid}.dial svg{width:100%;max-width:96px;overflow:visible}.dial-ring{fill:none;stroke:var(--rule);stroke-width:1.5px}.dial-disc{transition:r .45s cubic-bezier(.3,.7,.3,1),fill .45s}.dial-needle{transition:transform .45s cubic-bezier(.3,.7,.3,1),opacity .3s}.dial-needle line{stroke:var(--ink);stroke-width:2px;stroke-linecap:round}.dial-needle circle{fill:var(--ink)}.dial .ket{font-size:.9rem}.dial-p{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.8rem}.dial[data-live] .dial-p{color:var(--ink)}.phase-legend{color:var(--ink-2);align-items:center;gap:12px;margin:20px 0 0;font-size:.85rem;display:flex}.phase-legend svg{flex:none;width:88px}.phase-legend text{fill:var(--ink-3);font:9px var(--mono)}.legend-arc{fill:none;stroke-width:7px}.measure-panel .btn-measure{margin-top:12px}.measure{border-collapse:collapse;width:100%;margin-top:14px;font-size:.88rem}.measure th{text-align:left;white-space:nowrap;width:1%;padding:3px 10px 3px 0;font-weight:500}.measure-track{height:22px;position:relative}.measure-bar{background:var(--measure);border-radius:0 4px 4px 0;position:absolute;top:4px;bottom:4px;left:0}.measure-tick{background:var(--ink);width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.measure-n{text-align:right;font-variant-numeric:tabular-nums;width:1%;color:var(--ink-2);padding-left:10px}.editor{border-top:1px solid var(--rule);margin-top:28px;padding-top:14px}.editor summary{cursor:pointer;font-family:var(--serif);font-size:1.05rem;font-weight:600}.editor-body{gap:12px;margin-top:14px;display:grid}.field-row{flex-wrap:wrap;align-items:end;gap:10px 14px;display:flex}.field-row label,.json-field{color:var(--ink-2);gap:4px;font-size:.82rem;display:grid}select,input[type=number],textarea{border:1px solid var(--rule);background:var(--bg);color:var(--ink);border-radius:6px;padding:6px 8px}input[type=number]{width:6em}textarea{font:.85rem/1.5 var(--mono);resize:vertical;width:100%}.hint-error{color:var(--ink);padding-left:22px;font-size:.85rem;position:relative}.hint-error:before{content:"!";background:var(--measure);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:grid;position:absolute;top:.15em;left:0}.anneal-controls{grid-template-columns:1fr 1fr;gap:16px 32px;margin-top:20px;display:grid}.control{gap:6px;display:grid}.control label{font-weight:500}.control input[type=range]{width:100%;accent-color:var(--amp)}.speed-row{flex-wrap:wrap;gap:6px;display:flex}.anneal-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:28px 32px;margin-top:24px;display:grid}.chart{margin:0}.chart-title{font-family:var(--serif);margin-bottom:8px;font-size:1.05rem;font-weight:600}.chart-scroll{overflow-x:auto}.chart-wrap{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.grid{stroke:var(--grid);stroke-width:1px}.baseline{stroke:var(--ink-3);stroke-width:1px}.axis-label{fill:var(--ink-3);font:11px var(--sans);font-variant-numeric:tabular-nums}.axis-title{fill:var(--ink-2);font:11px var(--sans)}.hit{fill:#0000;cursor:crosshair}.level{fill:none;stroke:var(--ink-3);stroke-width:1.5px;opacity:.55}.level-answer{stroke:var(--answer);stroke-width:2px;opacity:1}.pop-dot{fill:var(--amp);fill-opacity:.85;stroke:var(--surface);stroke-width:2px;transition:cx .12s linear,cy .12s linear,r .2s}.gap-mark line{stroke:var(--ink);stroke-width:1.5px;marker-start:none}.gap-mark text{fill:var(--ink-2);font:11px var(--sans)}.bar{fill:var(--amp)}.bar-answer{fill:var(--answer)}[data-hover] .bar{fill-opacity:.75}.bar-label{fill:var(--ink-3);font-size:10px}.bar-label[data-answer]{fill:var(--ink)}.series{fill:none;stroke:var(--answer);stroke-width:2px}.series-dot{fill:var(--answer);stroke:var(--surface);stroke-width:2px}.current-dot{fill:var(--surface);stroke:var(--amp);stroke-width:3px}.graph{justify-items:center;gap:8px;margin:0;display:grid}.graph svg{width:100%;max-width:280px}.graph figcaption{color:var(--ink-2);text-align:center;font-size:.85rem}.edge{stroke:var(--ink-3);stroke-width:2px}.edge[data-split]{stroke:var(--ink);stroke-width:3px}.node circle{fill:var(--bg);stroke:var(--ink-3);stroke-width:2px;transition:fill .25s}.node text{fill:var(--ink);font-size:13px;font-weight:500}.node[data-bit="1"] circle{fill:var(--amp);stroke:var(--amp)}.node[data-bit="0"] circle{fill:var(--measure);stroke:var(--measure)}.node[data-bit]>text:not(.node-tag){fill:#fff}.node-tag{fill:var(--ink-2)!important;font-size:11px!important}.answers{margin-top:28px}.answers ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.answers li{background:var(--bg);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:8px 12px;display:flex}.answer-p{font-variant-numeric:tabular-nums;min-width:4em}.tip-answer{color:var(--answer);font-size:.85rem;font-weight:700}.example-link{color:var(--ink-3);flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;font-size:.85rem;display:flex}.example-link a,.learn a:not(.btn){color:var(--amp)}.learn .stage+.stage{margin-top:20px}.learn-section h2{font-size:1.5rem}.chapter-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.chapter-tools p{margin:0 auto 0 0}@media (width<=480px){.chapter-tools p{flex-basis:100%}}.chapter details{scroll-margin-top:16px}.chapter summary{cursor:pointer;gap:4px;padding-right:2.2em;list-style:none;display:grid;position:relative}.chapter summary::-webkit-details-marker{display:none}.chapter summary:after{content:"＋";color:var(--ink-3);font-size:1.4rem;position:absolute;top:.1em;right:0}.chapter details[open]>summary:after{content:"−"}.chapter summary h2{margin:0;font-size:1.5rem}.chapter-hint{color:var(--ink-3);font-size:.9rem}.chapter-body{margin-top:16px}.terms{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;margin-top:18px;display:grid}.term{background:var(--bg);border-radius:10px;padding:14px 16px}.term h3{font-size:1.05rem}.term p,.term ul{color:var(--ink-2);margin:6px 0 0;font-size:.92rem}.term code,.example-tools code{font-family:var(--mono);font-size:.85em}.gate-list{gap:2px;padding-left:0;list-style:none;display:grid}.gate-list code{min-width:2.6em;color:var(--ink);display:inline-block}.term-foot{font-size:.82rem!important}.terms-title{margin-top:28px;font-size:1.05rem}.deck{margin-top:18px}.deck-tabs{flex-wrap:wrap;gap:6px;display:flex}.slide{background:var(--bg);border-radius:12px;margin-top:12px;padding:20px 22px}.slide-head{align-items:baseline;gap:12px;display:flex}.slide-head h3{font-size:1.3rem}.slide-no{font:500 .85rem var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none}.slide-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:28px;min-height:340px;margin-top:16px;display:grid}.slide-visual,.before-after,.slide-charts{grid-template-columns:minmax(0,1fr);align-content:start;gap:14px;display:grid}.slide-visual .chart,.slide-visual .graph{margin:0}.slide-visual .graph figcaption{display:none}.slide-row{grid-template-columns:7.5em minmax(0,1fr);align-items:center;gap:10px;display:grid}.slide-row-label{font:500 .85rem var(--mono);color:var(--ink-2)}.slide-measure{gap:4px;display:grid}.frame-controls{align-items:center;gap:12px;display:flex}.frame-dots{gap:6px;margin:0;padding:0;list-style:none;display:flex}.frame-dots button{border:2px solid var(--ink-3);cursor:pointer;background:0 0;border-radius:50%;width:22px;height:22px;padding:0}.frame-dots button[aria-current=step]{background:var(--amp);border-color:var(--amp)}.slide-caption-title{color:var(--ink-3);margin:16px 0 0;font-size:.8rem;font-weight:600}.slide-caption{min-height:6.5em;margin-top:4px}.slide-body{color:var(--ink-2);margin-top:14px;font-size:.92rem}.slide-body p,.slide-body ul{margin:6px 0 0}.slide-link{margin:14px 0 0}.slide-nav{justify-content:space-between;gap:8px;margin-top:18px;display:flex}.school{border-left:3px solid var(--answer);background:color-mix(in oklab, var(--answer) 8%, transparent);color:var(--ink-2);border-radius:0 8px 8px 0;margin-top:14px;padding:10px 14px;font-size:.88rem}.school p{margin:4px 0 0}.school sup,.slide sup{line-height:0}.school-kosen{border-top:1px dashed color-mix(in oklab, var(--answer) 45%, transparent);margin-top:8px;padding-top:8px}.school-tag{color:var(--ink-2);font-size:.78rem;font-weight:600;margin:0!important}.school b{color:var(--ink)}.school-title{color:var(--ink-2);font-size:.8rem;font-weight:600;margin:0!important}.guide{margin-top:16px}.guide summary{cursor:pointer;border:1px solid var(--amp);color:var(--amp);border-radius:999px;padding:6px 14px;font-size:.92rem;font-weight:500;display:inline-block}.guide[open] summary{background:var(--amp);color:#fff}.guide .deck{margin-top:12px}.example-group{margin-top:28px}.example-group h3{font-size:1.15rem}.examples{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.example{background:var(--bg);border-radius:10px;grid-template-columns:2.4em minmax(0,1fr);gap:12px;padding:14px 16px;display:grid}.example-no{font-family:var(--serif);color:var(--ink-3);text-align:right;font-size:1.5rem;font-weight:600;line-height:1.2}.example h4{font-family:var(--serif);margin:0;font-size:1.05rem;font-weight:600}.example p{color:var(--ink-2);margin:4px 0 0;font-size:.92rem}.example-tools{flex-wrap:wrap;gap:6px;display:flex}.example-tools code{color:var(--ink-3)}.example-missing{color:var(--ink-3)!important}.example-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex;margin-top:10px!important}.example-actions .btn{font-size:.85rem;text-decoration:none}.example-actions .btn:not(.btn-primary){background:var(--surface);color:var(--ink)}.example-related{color:var(--ink-3)!important;font-size:.82rem!important}.tooltip{background:var(--ink);min-width:140px;color:var(--surface);pointer-events:none;z-index:2;border-radius:8px;gap:2px;padding:8px 10px;font-size:.8rem;display:grid;position:absolute;transform:translate(12px)}.tooltip[data-flip]{transform:translate(calc(-100% - 12px))}.tooltip em{opacity:.7;font-style:normal}.tooltip .tip-answer{color:color-mix(in oklab, var(--answer) 70%, white)}.word{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}.word-tip{clip-path:inset(50%);background:var(--ink);width:1px;height:1px;color:var(--surface);text-align:left;white-space:normal;pointer-events:none;z-index:3;border-radius:8px;padding:8px 10px;font-size:.8rem;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.word:focus-visible .word-tip{clip-path:none;width:max-content;max-width:min(20em,80vw);height:auto}@media (hover:hover){.word:hover .word-tip{clip-path:none;width:max-content;max-width:min(20em,80vw);height:auto}}.term-hints{color:var(--ink-2);margin-top:8px;font-size:.85rem}.term-hints summary{cursor:pointer;color:var(--ink-3)}.term-hints dl{gap:6px;margin:8px 0 0;display:grid}.term-hints dt{font-weight:700}.term-hints dt a{color:var(--ink)}.term-hints dd{margin:0}.control-hint{color:var(--ink-3);margin:4px 0 0;font-size:.8rem}.glossary-group{margin-top:20px}.glossary-group h3{font-size:1.05rem}.glossary{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px;margin:10px 0 0;display:grid}.glossary-item{background:var(--bg);border-radius:10px;padding:12px 14px;scroll-margin:80px}.glossary-item[data-focus]{outline:2px solid var(--focus)}.glossary-item dt{font-weight:700}.glossary-item dd{color:var(--ink-2);margin:4px 0 0;font-size:.9rem}.more-links{flex-wrap:wrap;gap:8px 20px;padding-left:1.2em;display:flex}.colophon{color:var(--ink-3);max-width:60em;margin-top:32px;font-size:.82rem}.colophon-meta{margin:8px 0 0}.colophon a,.lede a{color:var(--ink-2)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.vqe-intro{background:var(--bg);color:var(--ink-2);border-radius:10px;margin-top:16px;padding:14px 18px;font-size:.92rem}.vqe-intro summary{cursor:pointer;color:var(--ink);font-weight:600}.vqe-intro p{margin:8px 0 0}.vqe-loop{gap:6px;margin:10px 0 0;padding-left:1.4em;display:grid}.vqe-boxes{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.vqe-box{background:var(--surface);border-radius:8px;padding:10px 14px}.vqe-box h4{color:var(--ink);margin:0;font-size:.95rem}.vqe-controls{grid-template-columns:1fr 1fr;gap:16px 32px;margin-top:20px;display:grid}.control-label{font-weight:500}.vqe-readout{flex-wrap:wrap;gap:6px 24px;margin-top:16px;display:flex}.vqe-chart{margin-top:16px}.exact-line{stroke:var(--answer);stroke-width:2px}.exact-label{fill:var(--answer);font-size:11px}.reference-line{stroke:var(--measure);stroke-width:1.5px;stroke-dasharray:6 4}.reference-label{fill:var(--measure);font-size:11px}.vqe-chart .series{stroke:var(--amp);stroke-width:2.5px}.series-ghost{fill:none;stroke:var(--ink-3);stroke-width:1px;opacity:.35}.series-ahead{stroke:var(--amp);opacity:.25}.vqe-chart svg{cursor:pointer}.knob-rows{gap:4px;display:grid;overflow-x:auto}.knob-row{align-items:center;gap:4px;display:flex}.knob-q{width:2.2em;color:var(--ink-3)}.knob-cell{align-items:center;gap:4px;display:flex}.knob-link{background:color-mix(in oklab, var(--amp) 25%, transparent);border-radius:3px;align-self:stretch;width:6px;margin:0 6px}.knob{justify-items:center;display:grid}.knob svg{width:40px;height:40px}.knob-ring{fill:var(--surface);stroke:var(--rule);stroke-width:2px}.knob-needle{stroke:var(--amp);stroke-width:3px;stroke-linecap:round;transition:transform .12s linear}.knob-deg{font-family:var(--mono);color:var(--ink-3);font-size:.7rem}.knobs figcaption{color:var(--ink-3);margin-top:8px;font-size:.82rem}.vqe-variants{margin-top:20px}.exact-curve,.reference-curve{fill:none;stroke-width:2px}.exact-curve{stroke:var(--answer)}.reference-curve{stroke:var(--measure);stroke-dasharray:6 4}.current-ring{fill:none;r:8px}.spin-line,.spin-curve{fill:none;stroke:var(--spin);stroke-width:2px;stroke-dasharray:2 4;stroke-linecap:round}.spin-label{fill:var(--spin);font-size:11px}.legend-swatch.legend-spin{border-top:2px dotted var(--spin)}.playground-mark{fill:var(--surface);stroke:var(--ink-2);stroke-width:2px;pointer-events:none}.curve-legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 18px;margin:8px 0 0;padding:0;font-size:.82rem;list-style:none;display:flex}.curve-legend li{align-items:center;gap:6px;display:flex}.legend-swatch{border-top:2px solid;width:18px;height:0;display:inline-block}.legend-exact{border-color:var(--answer)}.legend-reference{border-top-style:dashed;border-color:var(--measure)}.legend-playground{border:2px solid var(--ink-2);width:10px;height:10px}.legend-current{border:3px solid var(--amp);border-radius:50%;width:10px;height:10px}@media (width<=820px){.page{padding:20px 16px 40px}.stage{padding:20px 16px}.state-grid,.anneal-grid,.anneal-controls,.vqe-controls,.vqe-boxes,.slide-grid{grid-template-columns:minmax(0,1fr)}.modes a{padding:10px 8px 12px}.mode-hint{font-size:.75rem}.mode-name{font-size:1.1rem}.chart-wrap-wide{min-width:520px}}@media (width<=480px){.modes a{padding:8px 4px 10px}.mode-name{font-size:.95rem}.mode-hint{display:none}.example{grid-template-columns:minmax(0,1fr);gap:2px}.slide{padding:16px 12px}.slide-row{grid-template-columns:minmax(0,1fr)}.example-no{text-align:left;font-size:1.1rem}}
