.q3d{margin:1.5rem 0;padding:clamp(.8rem,2.3vw,1.5rem);border:1px solid #cfdae4;border-radius:12px;background:#f8fafc;color:#23364a;max-width:100%;min-width:0}.q3d *{box-sizing:border-box}.q3d header h3{font-size:1.3rem;line-height:1.35;margin:.2rem 0 .6rem}.q3d header p{font-size:.97rem;line-height:1.6;margin:.5rem 0}.q3d-eyebrow{color:#627589;text-transform:uppercase;letter-spacing:.08em;font-size:.73rem!important}.q3d button,.q3d select{font:inherit;font-size:.9rem;background:#fff;color:#23364a;border:1px solid #aabccc;border-radius:6px;padding:.55rem .72rem;min-height:42px;cursor:pointer;white-space:normal;line-height:1.3}.q3d button:hover{background:#edf4fa}.q3d button:focus-visible,.q3d input:focus-visible,.q3d select:focus-visible,.q3d-webgl:focus-visible{outline:3px solid #a87424;outline-offset:3px}.q3d button:disabled{opacity:.45;cursor:default}.q3d-view-controls,.q3d-timeline,.q3d-layer-buttons{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}.q3d-camera-help,.q3d-help{font-size:.84rem!important;line-height:1.55;color:#617184}.q3d-stage{position:relative;width:100%;min-width:0;background:#fff;border:1px solid #dbe3eb;border-radius:8px;overflow:hidden}.q3d-static{width:100%}.q3d-static svg{display:block;width:100%;max-height:460px;height:auto}.q3d-webgl{height:380px;width:100%;touch-action:none}.q3d-webgl canvas{display:block;width:100%;height:100%}.q3d-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.q3d-labels span{position:absolute;display:block;font:600 14px/1.15 Arial,sans-serif;white-space:nowrap;padding:1px 2px;background:transparent;color:#203b54;border:0;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 3px #fff}.q3d-runtime-message{font-size:.86rem;line-height:1.55;color:#617184;min-height:1.5em}.q3d-controls{display:grid;gap:.8rem;margin:1rem 0}.q3d-controls>label{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;font-size:.94rem}.q3d input[type=range]{width:100%;min-width:0;accent-color:#315f89;height:24px}.q3d output{font-variant-numeric:tabular-nums;color:#365d80}.q3d-toggles{display:flex;flex-wrap:wrap;gap:.7rem 1.3rem}.q3d-toggles label{display:flex;gap:.4rem;align-items:center;font-size:.85rem}.q3d input[type=checkbox]{width:19px;height:19px;accent-color:#315f89}.q3d-readout{padding:1rem;background:#edf3f8;border-radius:6px;display:grid;gap:.5rem;font-size:.93rem;line-height:1.55;min-width:0;overflow-wrap:anywhere}.q3d-readout strong{font-weight:600}.q3d-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0 0;font-size:.8rem;line-height:1.4;color:#5b6c7e}.q3d-legend span{display:flex;align-items:center;gap:.35rem}.q3d-legend i{display:inline-block;width:14px;height:14px;border:1px solid #8196aa}.q3d-initial{background:#245982}.q3d-frozen{background:#b4d0e4}.q3d-new{background:#ddae5c}.q3d-grids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:620px}.q3d-grids fieldset{border:1px solid #ccd7e1;margin:0;min-width:0;padding:.7rem;border-radius:7px}.q3d-grids legend{font-size:.94rem;font-weight:600;padding:0 .3rem}.q3d-grids p{font-size:.73rem;line-height:1.4;margin:.1rem 0 .5rem}.q3d-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.q3d-grid button{padding:.25rem;aspect-ratio:1;min-height:36px;font-size:1rem;border-radius:4px;position:relative}.q3d-grid .is-initial{background:#245982;color:white}.q3d-grid .is-frozen{background:#b4d0e4}.q3d-grid .is-new{background:#ddae5c}.q3d-grid .is-selected{outline:2px solid #a66d1c;outline-offset:1px}.q3d-neighbours{font-size:.85rem;line-height:1.55;overflow-wrap:anywhere}.q3d [hidden]{display:none!important}.q3d-layer-buttons button[aria-pressed=true]{border-color:#8c611e;background:#f6e7ca}@media(max-width:520px){.q3d{padding:.7rem;border-radius:7px}.q3d-webgl{height:290px}.q3d-grids{grid-template-columns:1fr;max-width:300px;margin:auto;width:100%}.q3d-view-controls button,.q3d-timeline button{flex:1 1 42%;font-size:.82rem;padding:.5rem}.q3d-labels span{font-size:12px}.q3d-readout{padding:.7rem;font-size:.88rem}.q3d-camera-help{font-size:.78rem!important}.q3d button[data-q3d-action=activate]{background:#edf3f8}}@media(prefers-reduced-motion:reduce){.q3d *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.q3d-labels>svg{position:absolute;inset:0;pointer-events:none}.q3d-grid button.is-initial:hover{background:#245982;color:white}.q3d-grid button.is-frozen:hover{background:#b4d0e4}.q3d-grid button.is-new:hover{background:#ddae5c}.q3d-readout math{font-size:1.2em;vertical-align:middle}.q3d-readout .katex{font-size:1.14em}

.q3d-static{overflow:auto;max-height:530px}.q3d-static svg{max-width:none!important;max-height:none;height:auto}.q3d-static{scrollbar-width:thin}

.q3d-shape-label{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;min-height:2.9rem}.q3d-shape-label .katex{font-size:1.08em}
