.sim-page{background:var(--paper)}.sim-page .wrap{max-width:1380px}.sim-page-intro{padding:50px 0 35px;display:grid;grid-template-columns:1.1fr 1fr;gap:10px 50px;align-items:end}.sim-page-intro>.sim-kicker{grid-column:1/-1}.sim-page-intro h1{font:500 clamp(36px,4vw,56px)/1.08 var(--sans);letter-spacing:-.045em}.sim-page-intro h1 em{font:italic 400 1.15em var(--serif);color:var(--accent)}.sim-page-intro>p:last-child{font-size:15px;color:var(--ink-2);max-width:50ch;line-height:1.8}
[data-simulator]{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:25px;min-width:0;box-shadow:0 20px 40px -30px rgb(32 46 45/.25)}.sim-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.sim-heading h2{font:400 28px var(--serif);margin-top:5px}.sim-kicker{font:9px/1.6 var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.075em}.sim-live{font:8px var(--mono);color:var(--accent);border:1px solid var(--line);border-radius:30px;padding:4px 8px;text-transform:uppercase}
.sim-tools{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:18px}.sim-tools select,.sim-tools button,.sim-angle button,.sim-step button,.sim-actions button{border:1px solid var(--line-strong);border-radius:7px;background:var(--paper);color:var(--ink);font:12px var(--sans);padding:8px 12px;min-height:35px;cursor:pointer}.sim-tools select{max-width:220px}.sim-tools button:hover,.sim-actions button:hover{border-color:var(--accent);background:var(--accent-soft)}.sim-tools button:disabled,.sim-step button:disabled{opacity:.4;cursor:default}.sim-size{display:flex;gap:10px;align-items:center;font:11px var(--mono);margin-inline:7px}.sim-size button{padding:6px 10px}.sim-palette{display:flex;flex-wrap:wrap;gap:7px;margin:19px 0 13px}.sim-palette button{background:var(--paper);border:1px solid var(--line-strong);color:var(--ink);border-radius:7px;min-width:40px;min-height:36px;padding:6px 10px;font:12px var(--mono);cursor:grab}.sim-palette button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--paper)}.sim-angle{display:flex;align-items:center;gap:10px;font:11px var(--sans);color:var(--ink-2);margin-bottom:12px}.sim-angle input{width:95px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:11px var(--mono);padding:7px;border-radius:6px}.sim-angle button{min-height:30px;padding:5px 10px}.sim-instructions{font-size:11px;line-height:1.65;color:var(--ink-2);margin-bottom:14px;min-height:36px}
.sim-circuit-scroll{overflow-x:auto;padding:5px 2px 8px}.sim-circuit{display:grid;grid-template-columns:65px repeat(var(--sim-cols),minmax(48px,1fr));grid-auto-rows:48px;align-items:center;min-width:calc(65px + var(--sim-cols)*48px)}.sim-column-number{font:9px var(--mono);color:var(--ink-3);text-align:center;align-self:end;padding-bottom:10px}.sim-circuit>.sim-wire-label:first-child{height:20px}.sim-wire-label{font:11px var(--mono);color:var(--ink-2);white-space:nowrap;display:flex;gap:7px;align-items:center}.sim-wire-label small{font-size:10px;color:var(--ink-3)}.sim-slot{position:relative;border:0;background:transparent;height:48px;display:grid;place-items:center;cursor:pointer;color:var(--accent);isolation:isolate;font:13px var(--mono)}.sim-slot::before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line-strong);z-index:-1}.sim-slot>span{background:var(--surface);width:32px;height:32px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:6px;color:var(--line-strong);position:relative;z-index:1}.sim-slot:hover>span,.sim-slot.pending>span{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.sim-slot.occupied>span{border:1px solid var(--accent);color:var(--accent);background:var(--accent-soft)}.sim-slot.control>span{border:0;background:var(--surface);width:16px;height:16px;font-size:12px;color:var(--accent)}.sim-slot.link-above::after,.sim-slot.link-below::after{content:'';position:absolute;width:1px;left:50%;background:var(--accent);z-index:-1}.sim-slot.link-above::after{top:0;height:50%}.sim-slot.link-below::after{bottom:0;height:50%}.sim-slot.link-above.link-below::after{top:0;bottom:0;height:100%}.sim-slot.future.occupied{opacity:.4}.sim-step{display:flex;gap:15px;align-items:center;margin:15px 0;font:11px var(--mono);color:var(--ink-2);flex-wrap:wrap}.sim-step input{flex:1;min-width:130px;accent-color:var(--accent)}.sim-step output{color:var(--accent)}
.sim-qubit-states{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0;padding:15px 0;border-block:1px solid var(--line)}.sim-reduced-card{flex:1;min-width:115px;text-align:center;background:var(--paper);border-radius:9px;padding:9px}.sim-reduced-card svg{width:95px;height:90px;display:block;margin:auto;fill:none;stroke:var(--line-strong);stroke-width:.7}.sim-reduced-card .sim-sphere{fill:var(--accent-soft);fill-opacity:.5}.sim-reduced-card .sim-vector{stroke:var(--accent);stroke-width:1.8}.sim-reduced-card .sim-tip{fill:var(--accent);stroke:none}.sim-reduced-card text{fill:var(--ink-3);stroke:none;font:8px var(--mono)}.sim-reduced-card>span{display:block;font:10px var(--mono);color:var(--ink-2)}.sim-reduced-card b{font:9px var(--mono);color:var(--accent);margin-left:5px}.sim-reduced-card small{display:block;margin-top:5px;font:8px var(--mono);color:var(--ink-3)}
.sim-output-head{display:flex;justify-content:space-between;align-items:center;margin:15px 0 10px}.sim-output-head>span:last-child{font:9px var(--mono);color:var(--ink-3)}.sim-probabilities{max-height:280px;overflow-y:auto}.sim-prob-row{display:grid;grid-template-columns:70px minmax(60px,1fr) 45px 135px 22px 75px;gap:12px;align-items:center;padding:7px 0;font:10px var(--mono);color:var(--ink-2)}.sim-ket{color:var(--ink)}.sim-prob-track{height:7px;background:var(--line);border-radius:5px;overflow:hidden}.sim-prob-track>span{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width .2s ease}.sim-amplitude{font-size:9px;text-align:right}.sim-phase{display:inline-block;width:18px;height:18px;border:1px solid var(--line-strong);border-radius:50%;position:relative}.sim-phase::after{content:'';position:absolute;width:7px;height:1px;background:var(--accent);left:8px;top:8px;transform-origin:left;transform:rotate(calc(-1*var(--phase)))}.sim-shots{font-size:9px}.sim-insight{font-size:11px;color:var(--ink-2);line-height:1.7;margin-top:15px;max-width:95ch}.sim-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:21px}.sim-actions button:first-child{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sim-actions a{color:var(--accent);font-size:12px;margin-left:auto}.sim-message{font-size:12px;color:var(--accent);min-height:20px;margin:13px 0}.sim-code{border-top:1px solid var(--line);padding-top:12px}.sim-code summary{font-size:12px;color:var(--ink-2);cursor:pointer}.sim-code pre{background:var(--block);color:var(--block-ink);border-radius:9px;padding:20px;margin-top:12px;font:12px/1.8 var(--mono);overflow:auto}.sim-limit{font-size:10px;color:var(--ink-3);line-height:1.8;margin-top:18px}.sim-limit a,.sim-footer a{color:var(--accent)}.sim-guide{padding:40px 0;display:grid;grid-template-columns:1fr 1.6fr;gap:40px}.sim-guide h2{font:400 30px var(--serif);margin-top:10px}.sim-guide ol{padding-left:18px;display:grid;gap:15px;color:var(--ink-2);font-size:13px;line-height:1.8}.sim-guide strong{color:var(--ink);font-weight:500}.sim-footer{border-top:1px solid var(--line);padding-block:25px;font-size:11px;color:var(--ink-3)}.sim-page .theme-toggle{display:grid;place-items:center;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:50%;width:34px;height:34px;cursor:pointer;flex:none}
[data-simulator="compact"]{padding:21px}[data-simulator="compact"] .sim-heading h2{font-size:24px;max-width:20ch}[data-simulator="compact"] .sim-kicker{font-size:8px}[data-simulator="compact"] .sim-tools{margin-top:12px;justify-content:space-between}[data-simulator="compact"] .sim-tools select,[data-simulator="compact"] .sim-tools button{font-size:10px;min-height:30px;padding:5px 8px}[data-simulator="compact"] .sim-palette{gap:5px;margin:13px 0 10px}[data-simulator="compact"] .sim-palette button{font-size:10px;min-height:30px;min-width:32px;padding:4px 8px}[data-simulator="compact"] .sim-instructions{font-size:9px;min-height:32px;margin-bottom:0}[data-simulator="compact"] .sim-circuit{grid-template-columns:40px repeat(var(--sim-cols),minmax(34px,1fr));min-width:calc(40px + var(--sim-cols)*34px);grid-auto-rows:35px}[data-simulator="compact"] .sim-slot{height:35px;font-size:10px}[data-simulator="compact"] .sim-slot>span{width:26px;height:26px}[data-simulator="compact"] .sim-wire-label{font-size:8px;gap:4px}[data-simulator="compact"] .sim-wire-label small{font-size:8px}[data-simulator="compact"] .sim-reduced-card{padding:3px;min-width:85px}[data-simulator="compact"] .sim-reduced-card svg{width:75px;height:68px}[data-simulator="compact"] .sim-qubit-states{gap:8px;padding:11px 0;margin:11px 0}[data-simulator="compact"] .sim-prob-row{grid-template-columns:35px 1fr 35px;font-size:9px;gap:8px;padding:4px 0}[data-simulator="compact"] .sim-insight{font-size:9px;margin-top:10px}[data-simulator="compact"] .sim-open{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;margin-top:13px;font-size:11px;color:var(--accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap;border:0}
@media(max-width:800px){.sim-page-intro{grid-template-columns:1fr;gap:18px}.sim-guide{grid-template-columns:1fr;gap:20px}.sim-prob-row{grid-template-columns:55px 1fr 40px 110px 18px;gap:8px}.sim-shots{grid-column:4/6;text-align:right}.sim-reduced-card{min-width:90px}.sim-actions a{margin-left:0}.sim-circuit-scroll{margin-inline:-10px}.sim-size{margin:0}}
@media(max-width:520px){[data-simulator]{padding:18px}.sim-heading h2{font-size:24px}.sim-page-intro{padding-top:35px}.sim-tools{gap:7px}.sim-tools select{max-width:160px}.sim-tools button{font-size:10px;padding:7px 10px}.sim-size{font-size:10px}.sim-palette{gap:6px}.sim-palette button{min-width:36px;font-size:11px;padding-inline:7px}.sim-angle{flex-wrap:wrap;font-size:10px}.sim-prob-row{grid-template-columns:53px 1fr 38px;gap:8px}.sim-amplitude{grid-column:2}.sim-phase{grid-column:3}.sim-shots{grid-column:2/4}.sim-guide ol{font-size:12px}.sim-step{font-size:10px}.sim-reduced-card small{font-size:7px}.sim-actions button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.sim-prob-track>span{transition:none}}

.sim-prob-header{color:var(--ink-3);border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:3px}.sim-prob-header .sim-amplitude{font-size:9px}.sim-prob-header .sim-shots{font-size:9px}

[data-simulator="full"] .sim-reduced-card small{font-size:10px;line-height:1.7}.sim-prob-header .sim-shots:empty{display:none}
@media(max-width:520px){[data-simulator="full"] .sim-palette button{min-width:44px;min-height:44px}[data-simulator="full"] .sim-reduced-card small{font-size:9px}}
