:root{color:#201c18;background:#efe7d6;font-family:Avenir Next,Trebuchet MS,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #fff8e9;--ink: #201c18;--muted: #776d5d;--line: #d1c2a7;--cyan: #00bcd4;--magenta: #d81b60;--yellow: #f5d90a;--black: #111111;--green: #287a49;--red: #a53a2a;--shadow: 0 24px 80px rgb(58 43 16 / 16%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 10% 20%,rgb(0 188 212 / 22%),transparent 28rem),radial-gradient(circle at 92% 8%,rgb(245 217 10 / 24%),transparent 24rem),radial-gradient(circle at 80% 90%,rgb(216 27 96 / 16%),transparent 28rem),linear-gradient(135deg,#f5eddc,#e5d7bc)}button,input,select{font:inherit}button{border:0;cursor:pointer}.app-shell{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:stretch;margin-bottom:24px}.hero>div:first-child,.panel,.basis-card{border:1px solid rgb(32 28 24 / 12%);background:#fff8e9d1;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero>div:first-child{padding:42px;border-radius:34px;position:relative;overflow:hidden}.hero>div:first-child:after{content:"";position:absolute;right:-80px;bottom:-110px;width:260px;height:260px;border-radius:50%;background:conic-gradient(from 20deg,var(--cyan),var(--magenta),var(--yellow),var(--black),var(--cyan));opacity:.2}.eyebrow,.label{margin:0 0 8px;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:720px;margin-bottom:16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,7vw,6.4rem);line-height:.9;letter-spacing:-.06em}.hero-copy{max-width:620px;margin-bottom:0;color:#4e463b;font-size:1.2rem;line-height:1.6}.basis-card{display:grid;gap:12px;padding:22px;border-radius:28px}.basis-row,.counts-grid>div{display:flex;align-items:center;gap:10px}.swatch{display:inline-block;width:20px;height:20px;border:1px solid rgb(32 28 24 / 20%);border-radius:999px}.layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px}.panel{border-radius:28px;padding:22px}.level-list{align-self:start;position:sticky;top:20px}.level-button{width:100%;display:grid;gap:5px;margin-top:10px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#f8efd9;color:var(--ink);text-align:left;transition:transform .16s ease,background .16s ease,border-color .16s ease}.level-button:hover,.level-button.active{transform:translateY(-1px);border-color:#211c17;background:#201c18;color:#fff8e9}.level-button small{color:inherit;opacity:.72}.play-panel{display:grid;gap:20px}.level-heading,.target-row,.run-row,.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.level-heading h2{margin-bottom:8px;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em}.level-heading p,.hint,.muted,.empty{color:var(--muted);line-height:1.55}.level-meta{display:grid;gap:8px;min-width:160px;color:#fff8e9}.level-meta span{padding:9px 12px;border-radius:999px;background:#201c18;font-size:.9rem;text-align:center}.hint{margin:0;padding:14px 16px;border-left:5px solid var(--yellow);border-radius:14px;background:#f5d90a2e}.target-row{display:grid;grid-template-columns:1fr 1fr}.target-row>div,.builder,.raw-editor,.circuit,.result-card{border:1px solid var(--line);border-radius:22px;background:#ffffff61;padding:18px}.target-row>div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.target-row .label{margin:0}.builder{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(90px,.7fr) minmax(90px,.7fr) minmax(90px,.7fr) auto;gap:14px;align-items:start}.builder>div,.raw-editor,.run-row label{display:grid;gap:8px}.builder small{color:var(--muted);line-height:1.35}label{color:#40372d;font-weight:800}input,select{width:100%;height:44px;min-height:44px;border:1px solid #bcae96;border-radius:14px;background:#fffaf0;color:var(--ink);line-height:1.2;padding:10px 12px}.builder button,.raw-row button,.run-button,.section-title button{min-height:44px;border-radius:14px;background:#201c18;color:#fff8e9;padding:10px 16px;font-weight:900}.builder>button{align-self:center}.raw-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.error-text,.result-card.error{color:var(--red)}.gate-strip{display:flex;flex-wrap:wrap;gap:10px}.gate-strip button{display:grid;gap:2px;min-width:94px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,#00bcd4,#d81b60);color:#fff;font-weight:900}.gate-strip span{font-size:.72rem;font-weight:700;opacity:.74}.counts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.counts-grid>div{flex-wrap:wrap;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff8e9}.counts-grid strong{width:100%;font-size:1.4rem}.run-row{align-items:end}.run-row label{min-width:140px}.run-button{min-width:180px;background:linear-gradient(135deg,#201c18,#665032)}.run-button:disabled{cursor:wait;opacity:.65}.result-card{display:grid;gap:16px}.yay{color:var(--green)}.nay{color:var(--red)}.measurement-plot{width:min(100%,460px);background:#d8d2c4;border-radius:22px}.measurement-plot rect{fill:#d8d2c4;stroke:#444;stroke-width:2}.measurement-plot circle{opacity:.3}.dot-strip{overflow-wrap:anywhere;margin:0;padding:14px;border-radius:16px;background:#201c18;color:#fff8e9;font-family:Courier New,monospace;letter-spacing:.1em}.qasm-block{border:1px solid var(--line);border-radius:16px;background:#fff8e9;padding:12px 14px}.qasm-block summary{cursor:pointer;font-weight:900}.qasm-block pre{overflow-x:auto;margin-bottom:0;white-space:pre}@media(max-width:920px){.hero,.layout,.target-row,.builder,.run-row{grid-template-columns:1fr}.level-list{position:static}.counts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.level-heading,.section-title{flex-direction:column}}@media(max-width:560px){.app-shell{width:min(100% - 20px,1220px);padding-top:10px}.hero>div:first-child,.panel,.basis-card{border-radius:22px;padding:18px}h1{font-size:3.1rem}.raw-row,.counts-grid{grid-template-columns:1fr}}
