
/* QssedA frontier modules: parametric optima and exact-search trace. */
.qf-intro{padding-top:75px;padding-bottom:35px}
.qf-intro-overline,.qf-section-rule{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line-strong);padding-top:16px;color:var(--ink-soft)}
.qf-live-mark,.qf-status{font:700 10px/1.5 ui-monospace,monospace;letter-spacing:.055em;white-space:nowrap;color:var(--ink-soft)}
.qf-live-mark span{display:inline-block;width:8px;height:8px;background:#4dc97b;border-radius:50%;margin-right:8px}
.qf-intro-grid,.qf-section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:end}
.qf-intro-grid{margin-top:50px}
.qf-mini-kicker{display:block;font:700 11px/1.6 ui-monospace,monospace;letter-spacing:.08em;color:var(--accent);margin-bottom:22px}
.qf-intro h2,.qf-section-heading h2{font-weight:820;line-height:1.16;letter-spacing:-.065em;margin:0}
.qf-intro h2{font-size:clamp(39px,6vw,87px)}
.qf-intro h2 em,.qf-section-heading h2 em{color:var(--accent);font-style:normal}
.qf-intro-grid p,.qf-section-heading p{font-size:15px;line-height:1.95;color:var(--ink-soft);margin:0 0 5px}
.qf-feature-strip{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:54px;background:var(--green);color:#17211d;padding:23px 27px;font:800 clamp(13px,1.55vw,20px)/1.2 ui-monospace,monospace;letter-spacing:.05em}
.qf-feature-strip b{font-size:20px;font-weight:750}
.qf-section{padding-block:100px}
.qf-section-heading{margin:36px 0 36px}
.qf-section-heading h2{font-size:clamp(39px,5.8vw,79px)}
.qf-section-heading p{max-width:440px}
.qf-phase-shell{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden}
.qf-phase-map-card,.qf-phase-controls,.qf-tree-controls,.qf-tree-visual{padding:clamp(18px,2.5vw,32px);min-width:0}
.qf-phase-map-card{border-right:1px solid var(--line)}
.qf-card-top{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:28px}
.qf-card-top>.micro,.qf-card-top>div>.micro{color:var(--ink-soft)}
.qf-card-top p{font-size:14px;margin:8px 0 0;font-weight:650}
.qf-pill{background:var(--ink);color:var(--bg);border-radius:100px;padding:7px 11px;font:700 10px/1.35 ui-monospace,monospace;white-space:nowrap}
.qf-pill-muted{background:var(--surface-muted);color:var(--ink-soft);border:1px solid var(--line)}
.qf-map-frame{position:relative;aspect-ratio:1/1;padding:15px;background:var(--surface-muted);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.qf-map-frame canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;outline-offset:-2px}
.qf-map-top,.qf-map-bottom,.qf-map-left,.qf-map-right{position:absolute;font:600 10px/1.3 ui-monospace,monospace;color:var(--ink-soft);pointer-events:none;background:var(--surface);padding:3px 5px;border-radius:3px}
.qf-map-top{top:6px;left:50%;transform:translateX(-50%)}
.qf-map-bottom{bottom:6px;left:50%;transform:translateX(-50%)}
.qf-map-left{left:7px;top:50%;transform:translateY(-50%) rotate(-90deg)}
.qf-map-right{right:7px;top:50%;transform:translateY(-50%) rotate(90deg)}
.qf-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}
.qf-legend span{display:inline-flex;align-items:center;gap:7px;font:650 12px/1.4 ui-monospace,monospace;color:var(--ink-soft)}
.qf-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.qf-footnote,.qf-method{color:var(--ink-soft);font-size:12px;line-height:1.85}
.qf-footnote{margin:18px 0 0}
.qf-method{border-left:3px solid var(--accent);margin-top:22px;padding:12px 17px;background:var(--surface-muted)}
.qf-control-label{font-size:13px;font-weight:680;display:flex;justify-content:space-between;margin:20px 0 10px;gap:15px}
.qf-control-label strong{font-family:ui-monospace,monospace}
.qf-phase-controls input:not([type=range]),.qf-phase-controls select,.qf-tree-controls input:not([type=range]),.qf-tree-controls select{width:100%;min-width:0;min-height:45px;border:1px solid var(--line-strong);border-radius:7px;background:var(--bg);color:var(--ink);padding:11px;font:600 13px/1.4 inherit}
.qf-phase-controls input[type=range],.qf-playback input[type=range]{width:100%;accent-color:var(--accent)}
.qf-phase-controls input[type=range]{margin:12px 0 5px}
.qf-button-row{margin:15px 0 20px}
.qf-outline-btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:none;border:1px solid var(--line-strong);color:var(--ink);border-radius:99px;padding:11px 15px;font-size:12px;font-weight:670;cursor:pointer;max-width:100%;text-align:left}
.qf-outline-btn:hover{background:var(--surface-muted)}
.qf-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.qf-field-pair label{font-size:12px;font-weight:670;display:block}
.qf-field-pair input,.qf-field-pair select{margin-top:8px}
.qf-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:23px 0}
.qf-metrics div{border:1px solid var(--line);padding:12px 9px;border-radius:7px;min-width:0}
.qf-metrics span{display:block;font-size:10px;color:var(--ink-soft);margin-bottom:12px}
.qf-metrics strong{display:block;font-size:clamp(13px,1.8vw,21px);overflow-wrap:anywhere}
.qf-geometry-panel{padding:16px;background:var(--surface-muted);border-radius:9px;border:1px solid var(--line)}
.qf-geometry-panel svg{display:block;width:100%;height:auto}
.qf-geometry-panel .qf-card-top{margin-bottom:2px}
.qf-analysis-note{padding:15px 0;margin:0 0 18px;color:var(--ink-soft);font-size:12px;line-height:1.85;min-height:58px}
.qf-error{color:#a03934;padding:12px;background:#f9e1da;border-radius:7px;font-size:12px;margin-top:12px}
.qf-error[hidden]{display:none}
@media(prefers-color-scheme:dark){.qf-error{background:#462823;color:#ffd0c4}}
.qf-tree-outer{background:var(--surface-muted)}
.qf-tree-layout{display:grid;grid-template-columns:minmax(0,.77fr) minmax(0,1.23fr);background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden}
.qf-tree-controls{border-right:1px solid var(--line)}
.qf-table-heading,.qf-item-row{display:grid;grid-template-columns:.7fr 1fr 1fr .95fr;gap:8px;align-items:center}
.qf-table-heading{font:650 10px/1.3 ui-monospace,monospace;color:var(--ink-soft);padding:10px 0 7px;margin-top:24px;border-bottom:1px solid var(--line)}
.qf-item-row{padding:7px 0;border-bottom:1px solid var(--line)}
.qf-item-row b{font:800 13px/1.4 ui-monospace,monospace}
.qf-item-row input{min-height:40px!important;padding:8px!important;font-size:13px!important}
.qf-item-row small{font:650 12px/1.4 ui-monospace,monospace;text-align:right;color:var(--ink-soft)}
.qf-primary-btn{border:0;border-radius:99px;background:var(--ink);color:var(--bg);padding:14px 19px;font-size:13px;font-weight:700;margin:24px 0 0;cursor:pointer}
.qf-primary-btn span{margin-left:16px}
.qf-tree-proof{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}
.qf-tree-proof>div{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:13px 0}
.qf-tree-proof>div>span{font-size:12px;color:var(--ink-soft)}
.qf-tree-proof>div strong{font:700 16px/1.35 ui-monospace,monospace;word-break:break-all;text-align:right}
.qf-tree-visual .qf-card-top{margin-bottom:10px}
.qf-tree-canvas-scroll{overflow:auto;max-width:100%;background:var(--bg);border:1px solid var(--line);border-radius:9px}
.qf-tree-canvas-scroll svg{display:block;min-width:610px;width:100%;height:auto;min-height:340px}
.qf-tree-key{display:flex;flex-wrap:wrap;gap:13px;margin:16px 0 22px}
.qf-tree-key span{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-soft)}
.qf-tree-key i{display:inline-block;width:9px;height:9px;border-radius:100%}
.qf-key-active{background:#f4c45e}
.qf-key-open{background:#7ba9fc}
.qf-key-branch{background:#a9b0b1}
.qf-key-prune{background:#e89483}
.qf-key-best{background:#80d995}
.qf-playback{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}
.qf-playback button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:6px;min-height:36px;padding:7px 12px;font-weight:700;cursor:pointer}
.qf-playback button:disabled{opacity:.35}
.qf-playback label{color:var(--ink-soft);font-size:11px;font-weight:650;margin-left:auto}
.qf-playback input{width:35%;min-width:95px}
.qf-tree-readout{padding:16px;margin:14px 0;background:var(--surface-muted);font-size:12px;line-height:1.85;min-height:66px;border-radius:8px}
.qf-micro-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}
.qf-micro-metrics span{border:1px solid var(--line);border-radius:8px;padding:10px;font-size:11px;color:var(--ink-soft);display:flex;justify-content:space-between;gap:6px}
.qf-micro-metrics strong{color:var(--ink)}
.qf-section-geometry text,.qf-phase-controls svg text{font:600 11px ui-monospace,monospace;fill:var(--ink-soft)}
@media(max-width:1110px){
.qf-intro-grid,.qf-section-heading{grid-template-columns:1fr .85fr}
.qf-phase-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.qf-tree-layout{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)}
}
@media(max-width:850px){
.qf-intro{padding-top:55px}
.qf-intro-grid,.qf-section-heading,.qf-phase-shell,.qf-tree-layout{grid-template-columns:1fr}
.qf-intro-grid{margin-top:33px;gap:23px}
.qf-feature-strip{margin-top:36px}
.qf-section{padding-block:72px}
.qf-section-heading{gap:23px}
.qf-section-heading h2{font-size:clamp(41px,7vw,64px)}
.qf-section-heading p{max-width:760px}
.qf-phase-map-card,.qf-tree-controls{border-right:0;border-bottom:1px solid var(--line)}
.qf-map-frame{max-width:640px;margin-inline:auto}
.qf-tree-canvas-scroll svg{min-width:710px}
}
@media(max-width:540px){
.qf-intro-overline,.qf-section-rule{flex-wrap:wrap}
.qf-intro h2{font-size:clamp(39px,10vw,52px)}
.qf-intro-grid p,.qf-section-heading p{font-size:14px}
.qf-feature-strip{gap:9px;padding:16px;font-size:11px}
.qf-feature-strip b{font-size:16px}
.qf-section-heading h2{font-size:clamp(40px,10vw,52px)}
.qf-phase-map-card,.qf-phase-controls,.qf-tree-controls,.qf-tree-visual{padding:16px}
.qf-phase-shell,.qf-tree-layout{border-radius:10px}
.qf-map-frame{padding:10px}
.qf-map-top,.qf-map-bottom,.qf-map-left,.qf-map-right{font-size:8px}
.qf-metrics span{font-size:9px}
.qf-metrics strong{font-size:14px}
.qf-field-pair{gap:8px}
.qf-tree-proof>div{flex-wrap:wrap}
.qf-playback button{padding:7px 9px}
.qf-playback label{display:none}
.qf-playback input{flex:1}
}
@media(prefers-reduced-motion:reduce){.qf-outline-btn{transition:none}}

/* Six module navigation preserves two columns on tablets. */
.ql-quicknav{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:780px){.ql-quicknav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:370px){.ql-quicknav a{font-size:11px}}

/* Contain touch gestures inside the chart on iPadOS Safari. */
.qf-map-frame{touch-action:none;overscroll-behavior:contain}
.qf-map-frame canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}
