/* fix1075: self-contained game layout; no dependency on the demo booking stylesheet. */
.ff-page{margin:0;background:#edf2f5;color:#0f2a43;font:16px/1.55 "Segoe UI",Arial,sans-serif}
.ff-page *{box-sizing:border-box}
.ff-page .skip{position:absolute;left:-9999px}.ff-page .skip:focus{left:12px;top:12px;z-index:200;background:#fff;padding:12px}
.ff-shell{width:min(1176px,100%);margin:auto;padding:28px 28px 56px}
.ff-shell [hidden]{display:none!important}
.ff-shell button,.ff-shell input{font:inherit}
.ff-shell button,.ff-shell a{touch-action:manipulation}
.ff-shell :is(button,a,input):focus-visible{outline:3px solid #bf6207;outline-offset:4px}
.ff-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin:0 0 10px;color:#537084}
.ff-hero{background:radial-gradient(ellipse at 100% 0,#1d4d6b,transparent 65%),#0b253b;border:1px solid #274e69;border-radius:24px;padding:38px 40px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;color:#fff;box-shadow:0 18px 40px #0f2a4310;position:relative}
.ff-hero .ff-eyebrow{color:#b5d2e2;font-size:10px;display:flex;align-items:center;gap:9px}
.ff-hero .ff-eyebrow span{width:7px;height:7px;background:#f28c28;border-radius:50%;flex:none}
.ff-hero h1{font-size:clamp(42px,5vw,64px);letter-spacing:-.045em;line-height:1.05;margin:16px 0 18px;font-weight:780}
.ff-hero h1 em{font-style:normal;color:#ffa341}
.ff-lede{font-size:18px;line-height:1.55;color:#d4e2eb;margin:0}
.ff-facts{display:flex;gap:22px;margin-top:26px;font-size:11px;color:#a9c5d6}.ff-facts span{display:flex;flex-direction:column}.ff-facts b{font-size:20px;color:#fff}
.ff-hero-art{min-width:0}.ff-hero-art svg{width:100%;height:auto;display:block}.ff-art-caption{display:block;text-align:center;color:#adc8d9;font-size:11px;margin-top:10px;letter-spacing:.04em}
.ff-challenge{padding:15px 20px;background:#fff0db;border:1px solid #ecc48d;border-radius:12px;color:#73400b;font-size:14px}
.ff-card{margin-top:22px;background:#fff;border:1px solid #d5e0e8;border-radius:20px;box-shadow:0 8px 32px #0f2a4308;padding:28px}
.ff-section-heading h2,.ff-board h2{font-size:26px;letter-spacing:-.035em;margin:0;line-height:1.2}
.ff-steps{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.ff-steps li{display:flex;gap:12px}.ff-steps li>span{flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid #c5d5df;border-radius:50%;font-size:11px;font-weight:750;background:#f0f5f8}.ff-steps b{font-size:15px}.ff-steps p{color:#526a7a;font-size:13px;line-height:1.6;margin:7px 0 0}
.ff-launch{display:flex;align-items:center;gap:20px;margin:24px 0 18px}.ff-launch p{font-size:12px;color:#587080;line-height:1.6;margin:0}
.ff-btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:12px 24px;border:1px solid #f28c28;border-radius:9px;background:#f28c28;color:#092439;font-size:14px!important;font-weight:750!important;text-decoration:none;cursor:pointer}
.ff-btn:hover{background:#ffab50}.ff-btn.alt{background:#fff;border-color:#a5bbc9;color:#143c57}.ff-btn.alt:hover{background:#edf4f7}
.ff-btn:disabled{cursor:wait;opacity:.65}
.ff-safety{border-top:1px solid #e0e6eb;margin:18px 0 0;padding:16px 0 0;font-size:12px;color:#596c79;line-height:1.6}.ff-safety b{color:#754718;margin-right:4px}
.ff-start-msg:empty,.ff-score-msg:empty,.ff-share-msg:empty{display:none}
.ff-start-msg,.ff-score-msg,.ff-share-msg{font-size:13px;color:#536978}
.ff-game{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start;scroll-margin-top:16px}
.ff-console{grid-column:2;grid-row:1;position:sticky;top:16px;border-radius:16px;background:#0c263d;padding:18px;color:#d9e6ee;box-shadow:0 8px 25px #0d294521}
.ff-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.ff-clock{flex:none;display:flex;flex-direction:column;align-items:center;line-height:1}.ff-clock span{font-size:40px;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#fff}.ff-clock small{font-size:10px;color:#b6cbd9;margin-top:5px;max-width:82px;text-align:center}
.ff-timer-wrap{flex:1}.ff-timer-wrap>span{display:block;font-size:9px;letter-spacing:.12em;color:#b6cbd9;margin-bottom:9px}
.ff-timer{height:5px;border-radius:9px;overflow:hidden;background:#345267}.ff-timer-bar{width:100%;height:100%;background:#68d3b0}.ff-timer-bar.mid{background:#ffb155}.ff-timer-bar.low{background:#ff7778}
.ff-meter{background:#20384a;border:2px solid #f28c28;border-radius:13px;padding:14px;box-shadow:inset 0 0 0 4px #10283b}
.ff-meter-label{display:flex;justify-content:space-between;gap:8px;font-size:8px;letter-spacing:.1em;color:#d0dfeb;margin-bottom:9px}
.ff-meter-face{background:#deead1;box-shadow:inset 0 2px 6px #1e412c33;color:#203a30;border-radius:5px;display:flex;align-items:baseline;justify-content:flex-end;gap:6px;padding:13px 8px}
.ff-meter-face span{font:700 40px/1 "Courier New",monospace;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.ff-meter-face small{font-size:12px;font-weight:700;white-space:nowrap}
.ff-meter-leads{display:grid;gap:6px;margin-top:12px;font-size:11px;color:#c5d8e4}.ff-meter-leads b{color:#fff}
.ff-dot{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:50%;vertical-align:baseline}.ff-dot.red{background:#ff7977}.ff-dot.black{background:#08101a;outline:1px solid #adc3d2}
.ff-meter-dial{display:flex;justify-content:space-around;align-items:center;margin-top:14px;height:55px}
.ff-meter-dial i{display:block;position:relative;width:48px;height:48px;border:2px solid #6f8494;border-radius:50%;background:#0a1b29}.ff-meter-dial i:after{content:"";position:absolute;width:4px;height:18px;left:25px;top:4px;border-radius:3px;background:#f28c28;transform:rotate(25deg)}
.ff-meter-dial span{width:12px;height:12px;border:3px solid #ff7977;border-radius:50%;background:#0b1d29}.ff-meter-dial span:last-child{border-color:#98adbb}
.ff-meter.touched .ff-meter-face{animation:ff-read .35s ease-out}
.ff-msg{font-size:13px;line-height:1.5;margin:15px 0 8px;min-height:58px;color:#d9e6ee}.ff-msg.bad{color:#ffb2ae}.ff-msg.good{color:#8fe4c5}
.ff-count{font-size:11px;color:#b3c9d7;margin:0}.ff-console-note{font-size:11px;line-height:1.6;color:#aac3d4;border-top:1px solid #345267;margin:16px 0 0;padding-top:12px}
.ff-panel{grid-column:1;grid-row:1;border:1px solid #d6e1e7;border-radius:14px;min-width:0;background:linear-gradient(90deg,#f8fafb,#f0f5f7)}
.ff-panel-heading{padding:20px 20px 14px;display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid #d6e1e7}
.ff-panel-heading h2{font-size:16px;margin:0;line-height:1.35;letter-spacing:-.02em}.ff-panel-heading .ff-eyebrow{font-size:9px;margin:0 0 5px}.ff-panel-status{font-size:9px;white-space:nowrap;background:#fce5e1;color:#953c2a;border-radius:5px;padding:4px 7px;font-weight:700}
.ff-circuit{position:relative;padding:16px;display:flex;flex-direction:column;gap:0}
.ff-circuit:before{content:"";position:absolute;width:3px;left:39px;top:40px;bottom:40px;background:#7e9aad}
.ff-tp{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:2px 9px 2px 0;border:0;background:transparent;text-align:left;border-radius:10px;cursor:pointer;color:#254659;scroll-margin-top:18px}
.ff-tp:hover{background:#e1ecf2}.ff-tp-n{flex:0 0 48px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid #6c91a8;font-size:14px;font-weight:800;box-shadow:inset 0 0 0 5px #ecf3f6}
.ff-tp-l{font-size:12px;flex:1;min-width:0}.ff-tp-v{font:700 12px/1.3 "Courier New",monospace;white-space:nowrap;min-width:52px;text-align:right;color:#103b54}
.ff-tp.on .ff-tp-n{border-color:#c7443e;background:#c7443e;color:#fff;box-shadow:0 0 0 4px #c7443e19;animation:ff-land .3s ease-out}.ff-tp.on .ff-tp-l{font-weight:700}
.ff-part{position:relative;display:flex;align-items:center;gap:12px;min-height:68px;padding:8px 8px 8px 7px;margin:3px 0;border-radius:10px}
.ff-part-l{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.ff-part-l b{font-size:13px}.ff-part-l small{font-size:10px;color:#597182;margin-top:2px}
.ff-sym{flex:0 0 34px;width:34px;height:34px;position:relative;z-index:1;display:grid;place-items:center;border-radius:5px;background:#18394e;color:#fff;border:1px solid #36596d}
.ff-sym:after{font-size:10px;font-weight:800}.ff-sym.fu1:after{content:"FU1"}.ff-sym.estop{border-radius:50%;background:#aa322a}.ff-sym.estop:after{content:"E"}.ff-sym.stop:after{content:"STOP";font-size:7px}.ff-sym.start{background:#216b50}.ff-sym.start:after{content:"START";font-size:6px}.ff-sym.ol:after{content:"OL"}.ff-sym.coil{border-radius:50%}.ff-sym.coil:after{content:"M";font-size:15px}.ff-sym.wire{background:#dbe5eb}.ff-sym.wire:after{content:"";height:22px;width:4px;background:#446a82;border-radius:1px}
.ff-guess{flex:none;min-height:44px;padding:8px 10px;font-size:11px!important;font-weight:700!important;border:1px solid #9eb5c5;border-radius:7px;background:#fff;color:#244c66;cursor:pointer}.ff-guess:hover{border-color:#b86611;background:#fff1df;color:#6f3c07}.ff-guess:disabled{cursor:default}
.ff-part.miss{animation:ff-shake .3s}.ff-part.miss .ff-guess{border-color:#ac4034;color:#973327}.ff-part.found{box-shadow:inset 0 0 0 2px #2c8966;background:#e2f5ec}.ff-part.reveal{box-shadow:inset 0 0 0 2px #b34638;background:#fdeae5}
.ff-x2{position:relative;display:flex;align-items:center;gap:12px;padding:14px 8px;font-size:11px;color:#294e66}.ff-x2 .ff-dot{width:16px;height:16px;margin-left:8px;margin-right:9px;flex:none}
.ff-result{border-top:1px solid #d5e0e8;margin-top:28px;padding-top:28px;scroll-margin-top:24px}
.ff-result-heading{display:flex;gap:16px;align-items:center}.ff-result-heading>span{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:#e3f5ed;color:#1c7250;font-size:28px}
.ff-result-heading h2{font-size:30px;line-height:1.2;margin:0;letter-spacing:-.035em}.ff-result-heading .ff-eyebrow{margin:0 0 5px}
.ff-result.won .ff-result-heading>span{animation:ff-win .5s ease-out}
.ff-result-stats{font-size:13px;color:#566f7f;margin:15px 0 20px}.ff-diagnosis{border:1px solid #d9e5ec;border-left:4px solid #f28c28;background:#f4f8fa;border-radius:8px;padding:18px 20px;margin-bottom:22px}.ff-explain{margin:0;font-size:14px;line-height:1.7}
.ff-join{background:#f1f6f9;border:1px solid #cbdce6;border-radius:12px;padding:20px;margin:20px 0}
.ff-join label{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.ff-join label b{font-size:16px}.ff-join label span{color:#526a7a;font-size:12px}
.ff-join-row{display:flex;gap:10px}.ff-join input{flex:1;min-width:0;min-height:48px;padding:10px 14px;border:1px solid #8ca8ba;border-radius:8px;background:white;font-size:16px;color:#0f2a43}
.ff-join-msg{font-size:13px;margin:10px 0 0}.ff-join-msg:empty{display:none}.ff-join-msg.good{color:#166545}.ff-join-msg.bad{color:#a13227}
.ff-share-lead{font-weight:700;margin:0 0 12px;font-size:15px}.ff-share-row{display:flex;flex-wrap:wrap;gap:8px}
.ff-share-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:9px 16px;border:1px solid #b6c9d5;border-radius:8px;background:#fff;color:#204c67;font-size:13px!important;font-weight:650!important;text-decoration:none;cursor:pointer}.ff-share-btn:hover{background:#edf4f8}.ff-share-btn.native{background:#0f2a43;color:white;border-color:#0f2a43}
.ff-again{margin:22px 0}.ff-cta{background:#102e46;color:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:26px;justify-content:space-between}.ff-cta b{font-size:18px}.ff-cta p{font-size:12px;line-height:1.7;color:#c2d6e3;margin:7px 0 0}.ff-cta-actions{display:flex;flex-direction:column;gap:9px;flex:none}.ff-cta .ff-btn{font-size:12px!important;min-height:44px}
.ff-board{margin-top:24px;border:1px solid #d5e0e8;background:white;border-radius:20px;padding:28px}
.ff-board-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.ff-board-head h2{font-size:23px}.ff-board-note{color:#586e7b;font-size:12px;margin:14px 0}
.ff-tabs{display:flex;gap:3px;padding:4px;border-radius:10px;background:#edf3f6}.ff-tabs button{min-height:44px;padding:8px 14px;border:0;background:transparent;border-radius:7px;color:#516c7e;font-size:12px;font-weight:700;cursor:pointer}.ff-tabs button.on{background:#fff;color:#153a53;box-shadow:0 1px 4px #0f2a4320}
.ff-board-list{list-style:none;margin:0;padding:0}.ff-board-list li{display:flex;gap:12px;align-items:center;padding:12px 8px;border-top:1px solid #e2e9ee;font-size:14px}.ff-board-list li.me{background:#fff3e3}.ff-rank{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:6px;background:#edf3f6;color:#516a7b;font-size:12px;font-weight:700}.ff-board-list li:first-child .ff-rank{background:#fce3bd;color:#7b4700}.ff-bname{flex:1;overflow-wrap:anywhere}.ff-bsecs{font-weight:800;font-variant-numeric:tabular-nums}.ff-board-empty{color:#536e7f;font-size:13px!important;padding:22px 0!important}
.ff-disclaimer{font-size:12px;text-align:center;color:#586e7b;line-height:1.7;margin:22px 0 0}
.ff-sr{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
@keyframes ff-read{from{box-shadow:inset 0 0 0 4px #7db36a}to{box-shadow:inset 0 2px 6px #1e412c33}}
@keyframes ff-land{from{transform:scale(.85)}to{transform:scale(1)}}
@keyframes ff-win{from{transform:scale(.7);opacity:.4}to{transform:scale(1);opacity:1}}
@keyframes ff-shake{0%,100%{transform:translateX(0)}30%{transform:translateX(-4px)}70%{transform:translateX(4px)}}
@media(max-width:850px){.ff-hero{gap:20px;padding:30px}.ff-game{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.ff-card{padding:20px}.ff-console{padding:14px}.ff-meter-face span{font-size:34px}.ff-steps{gap:16px}.ff-steps li>span{display:none}.ff-hero-art{align-self:center}.ff-facts{gap:16px}}
@media(max-width:700px){
 .ff-shell{padding:16px 12px 32px}.ff-hero{padding:25px 22px;grid-template-columns:1fr;gap:22px;border-radius:18px}.ff-hero h1{font-size:46px}.ff-hero .ff-eyebrow{font-size:9px}.ff-lede{font-size:16px}.ff-hero-art{display:none}.ff-facts{justify-content:space-between;margin-top:22px;font-size:10px}.ff-facts b{font-size:18px}
 .ff-card{padding:20px 14px;border-radius:16px;margin-top:16px}.ff-steps{grid-template-columns:1fr;gap:17px;margin:22px 0}.ff-steps li>span{display:grid}.ff-section-heading h2{font-size:24px}.ff-steps p{margin-top:4px}.ff-launch{gap:14px;align-items:center}.ff-launch .ff-btn{padding:13px 18px;gap:12px}.ff-launch p{font-size:11px}.ff-safety{font-size:11px}
 .ff-game{display:flex;flex-direction:column;gap:16px}.ff-panel{width:100%}.ff-console{order:-1;width:100%;position:sticky;top:0;z-index:10;padding:10px 12px;border-radius:10px;display:grid;grid-template-columns:74px minmax(0,1fr);gap:6px 12px}
 .ff-top{display:flex;flex-direction:column;gap:8px;margin:0;justify-content:center}.ff-clock span{font-size:32px}.ff-clock small{font-size:9px}.ff-timer-wrap{width:100%;flex:0}.ff-timer-wrap>span{display:none}
 .ff-meter{padding:7px;border-radius:8px;border-width:1px;box-shadow:none}.ff-meter-label,.ff-meter-dial{display:none}.ff-meter-face{padding:6px 8px}.ff-meter-face span{font-size:30px}.ff-meter-face small{font-size:10px}.ff-meter-leads{margin-top:5px;gap:2px;font-size:9px}.ff-meter-leads span{white-space:nowrap}.ff-dot{width:7px;height:7px}
 .ff-msg{grid-column:1/-1;min-height:0;font-size:11px;margin:2px 0 0;line-height:1.4}.ff-count,.ff-console-note{display:none}
 .ff-panel-heading{padding:14px 12px}.ff-panel-heading h2{font-size:14px}.ff-panel-heading .ff-eyebrow{font-size:8px}.ff-panel-status{font-size:8px;padding:4px}.ff-circuit{padding:12px 8px}.ff-circuit:before{left:31px}.ff-tp{gap:9px;scroll-margin-top:180px}.ff-tp-l{font-size:11px}.ff-tp-v{font-size:11px;min-width:48px}.ff-part{gap:9px;padding-right:3px;scroll-margin-top:180px}.ff-part-l b{font-size:12px}.ff-part-l small{font-size:9px}.ff-guess{font-size:10px!important;padding:8px 7px;max-width:82px;line-height:1.25}.ff-x2{font-size:10px}
 .ff-card.is-done .ff-console{position:static}.ff-result-heading h2{font-size:25px}.ff-result-heading>span{flex-basis:44px;width:44px;height:44px;font-size:23px}.ff-result-heading{gap:12px}.ff-explain{font-size:13px}.ff-diagnosis{padding:14px}.ff-result{scroll-margin-top:16px}
 .ff-join{padding:16px}.ff-join-row{flex-direction:column}.ff-cta{flex-direction:column;align-items:stretch;padding:20px;gap:18px}.ff-cta b{font-size:18px}.ff-cta-actions{flex-direction:column}
 .ff-board{padding:20px 16px;border-radius:16px}.ff-board-head{flex-direction:column;align-items:flex-start;gap:15px}.ff-board-head .ff-eyebrow{margin-bottom:4px}.ff-tabs{width:100%}.ff-tabs button{flex:1}.ff-disclaimer{font-size:11px}
}
@media(max-height:480px) and (max-width:700px){.ff-console{padding:6px 10px;grid-template-columns:80px 1fr}.ff-meter-leads{display:none}.ff-msg{font-size:10px}.ff-meter-face span{font-size:26px}.ff-clock span{font-size:26px}.ff-tp,.ff-part{scroll-margin-top:130px}}
@media(max-height:480px) and (min-width:701px){.ff-console{top:8px;padding:12px}.ff-top{margin-bottom:10px}.ff-meter{padding:8px}.ff-meter-label,.ff-meter-dial,.ff-console-note,.ff-count{display:none}.ff-meter-face{padding:7px}.ff-meter-face span{font-size:30px}.ff-meter-leads{margin-top:6px;gap:3px}.ff-msg{min-height:0;font-size:11px;margin:9px 0 0}.ff-clock span{font-size:32px}}
@media(prefers-reduced-motion:reduce){.ff-shell *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}


/* fix1076: compact diagnostic-bench hero, including the phone layout. */
.ff-hero{isolation:isolate;overflow:hidden;padding:34px;gap:32px;grid-template-columns:1.05fr 1fr;background:radial-gradient(ellipse at 90% 15%,#23566e 0,transparent 57%),linear-gradient(135deg,#082032,#102f47 68%,#0b2438);border-color:#35576e;box-shadow:0 18px 38px #0c29431c,inset 0 1px 0 #c4dce51a}
.ff-hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.17;background-image:linear-gradient(#85c6dd20 1px,transparent 1px),linear-gradient(90deg,#85c6dd20 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent,#000)}
.ff-hero:after{content:"";position:absolute;left:34px;top:0;width:108px;height:3px;border-radius:0 0 3px 3px;background:#f28c28;box-shadow:0 0 22px #f28c2870}
.ff-hero .ff-eyebrow{display:inline-flex;max-width:100%;font-size:9px;letter-spacing:.12em;padding:8px 10px;border:1px solid #648ba73d;background:#071e3099;border-radius:6px;color:#bdd5e2;line-height:1.5}
.ff-hero .ff-eyebrow span{box-shadow:0 0 12px #f28c2860;width:6px;height:6px}
.ff-hero h1{font-weight:850;font-size:clamp(46px,5vw,66px);margin:16px 0 14px;letter-spacing:-.05em;text-shadow:0 3px 14px #03142155}
.ff-hero h1 em{background:linear-gradient(#ffb15d,#f28c28);color:#ffa341;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.ff-lede{font-size:17px;color:#d4e5ee}
.ff-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:25px;border:1px solid #577b944d;border-radius:10px;background:#061c2d80;box-shadow:inset 0 1px 0 #a3ccdf10}
.ff-facts>span{padding:13px 12px;min-width:0}.ff-facts>span+span{border-left:1px solid #577b944d}
.ff-facts small{font-size:8px;letter-spacing:.1em;color:#a4c4d6;font-weight:750;white-space:nowrap}
.ff-facts b{font-size:25px;line-height:1.2;margin:6px 0 3px;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.ff-facts i{font-style:normal;font-size:11px;color:#b9d6e5;font-weight:550;letter-spacing:0}
.ff-facts .ff-fact-detail{font-size:9px;line-height:1.4;color:#a6c4d6}
.ff-hero-art{display:block;min-width:0;padding:0;align-self:center}
.ff-bench-status{display:flex;align-items:center;gap:7px;font:700 8px/1.3 "Segoe UI",Arial,sans-serif;letter-spacing:.14em;color:#b9d1de;padding:0 5px 10px}
.ff-bench-status b{margin-left:auto;font-size:8px;color:#8bddbd;background:#82dcbc15;border:1px solid #82dcbc30;border-radius:4px;padding:3px 6px}
.ff-ready-dot{width:5px;height:5px;border-radius:50%;background:#8bddbd;box-shadow:0 0 8px #8bddbd70}
.ff-hero-art svg{filter:drop-shadow(0 12px 12px #03152144)}
.ff-art-caption{font-size:9px;letter-spacing:.08em;color:#b0cedd;margin-top:12px;text-transform:uppercase}
.ff-art-caption i{display:inline-block;width:21px;height:2px;vertical-align:middle;margin-right:8px;background:#f28c28}
.ff-probe-ring{transform-box:fill-box;transform-origin:center;animation:ff-probe-pulse 3s ease-out infinite}
@keyframes ff-probe-pulse{0%,100%{opacity:.25;transform:scale(.8)}45%{opacity:.7;transform:scale(1.12)}}
@media(max-width:850px){.ff-hero{padding:28px;gap:22px}.ff-facts>span{padding:12px 8px}.ff-hero h1{font-size:49px}.ff-facts b{font-size:23px}.ff-facts i{font-size:10px}.ff-facts .ff-fact-detail{font-size:8px}}
@media(max-width:700px){
 .ff-hero{padding:23px 22px 20px;grid-template-columns:minmax(0,1fr);gap:21px;border-radius:18px}
 .ff-hero:after{left:23px;width:80px}.ff-hero h1{font-size:48px;margin:15px 0 12px}.ff-hero .ff-eyebrow{font-size:8px;padding:6px 8px;letter-spacing:.11em}
 .ff-lede{font-size:15px;line-height:1.6}.ff-facts{margin-top:20px}.ff-facts>span{padding:10px 8px}.ff-facts b{font-size:23px}.ff-facts i{font-size:9px}.ff-facts small{font-size:8px}.ff-facts .ff-fact-detail{font-size:8px}
 .ff-hero-art{display:block;width:100%;max-width:480px;margin:auto}.ff-bench-status{padding-bottom:7px;font-size:8px}.ff-art-caption{font-size:8px;margin-top:9px}
}
@media(prefers-reduced-motion:reduce){.ff-probe-ring{animation:none;opacity:.5}}

/* fix1077: sound controls and suspense cues. */
.ff-hero h1.ff-electric-title{margin:4px -7px 8px;line-height:1;font-size:inherit;text-shadow:none}
.ff-electric-title svg{display:block;width:100%;height:auto;overflow:visible}
.ff-session-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:0 0 18px;font-size:11px;color:#577185}
.ff-sound{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #a8bfce;border-radius:8px;background:#f1f6f9;color:#1e465f;font-size:12px!important;font-weight:700!important;cursor:pointer}
.ff-sound svg{width:17px;height:17px;flex:none}.ff-sound[aria-pressed=false] .ff-sound-waves{display:none}
.ff-sound[aria-pressed=false]{color:#617480}.ff-sound:disabled{cursor:default;opacity:.65}
.ff-console .ff-sound{margin:0 0 12px;width:100%;background:#173b53;border-color:#54748a;color:#d8e8f1}
.ff-ready{border:1px solid #345e77;border-radius:15px;background:radial-gradient(ellipse at top,#204d64,#092539 70%);padding:32px;text-align:center;color:white;scroll-margin-top:18px}
.ff-ready .ff-eyebrow{color:#8ddbc5}.ff-ready-number{display:grid;place-items:center;width:128px;height:128px;border:2px solid #f28c28;border-radius:50%;margin:20px auto;font-size:78px;font-weight:800;line-height:1;box-shadow:0 0 0 10px #f28c2812,0 0 44px #f28c2814}
.ff-ready p:last-child{color:#bdd3e0;font-size:14px;margin:20px 0 0}.ff-ready .ff-ready-wait{font-size:40px}
.ff-console.is-urgent{border:1px solid #f29c47;box-shadow:0 0 0 3px #f28c2816,0 8px 24px #142e4524}
.ff-console.is-urgent .ff-clock span{color:#ffb258}
.ff-console.is-critical{border-color:#f18376}.ff-console.is-critical .ff-clock span{color:#ffb4aa;animation:ff-clock-beat 1s ease-in-out infinite}
@keyframes ff-clock-beat{0%,100%{transform:scale(1)}45%{transform:scale(1.08)}}
@media(max-width:700px){
 .ff-session-tools{justify-content:space-between;gap:8px;font-size:10px}
 .ff-session-tools>span{max-width:155px}
 .ff-console .ff-sound{grid-column:1/-1;width:auto;justify-self:end;min-height:44px;padding:4px 9px;margin:0;font-size:10px!important}
 .ff-console .ff-sound svg{width:14px;height:14px}
 .ff-ready{padding:25px 18px}.ff-ready-number{width:110px;height:110px;font-size:66px}
 .ff-tp,.ff-part{scroll-margin-top:215px}
}
@media(max-height:480px) and (max-width:700px){.ff-tp,.ff-part{scroll-margin-top:185px}}
@media(prefers-reduced-motion:reduce){.ff-console.is-critical .ff-clock span{animation:none}}


/* fix1082: recognizable share logos. CSS decorations survive existing textContent label changes. */
.ff-share-row{gap:10px;align-items:center}
.ff-share-row .ff-share-btn{gap:9px;min-height:46px;padding:10px 15px;border:1px solid #ccd9e3;border-radius:10px;background:#fff;color:#183b52;font-size:14px!important;font-weight:650!important;line-height:1.2;box-shadow:0 2px 4px #15364c08;transition:background-color .15s,border-color .15s,box-shadow .15s}
.ff-share-row .ff-share-btn::before{content:"";display:block;flex:0 0 20px;width:20px;height:20px;background-color:var(--ff-share-color,currentColor);-webkit-mask:var(--ff-share-mark) center/contain no-repeat;mask:var(--ff-share-mark) center/contain no-repeat}
.ff-share-row .ff-share-btn:hover{background:#f3f7fa;border-color:#8faabc;box-shadow:0 3px 8px #15364c12}
.ff-share-row .ff-share-btn:active{background:#e9f1f6;box-shadow:none}
.ff-share-row .ff-share-btn.native{order:5;background:#0f2a43;border-color:#0f2a43;color:#fff}
.ff-share-row .ff-share-btn.native:hover{background:#1b405c;border-color:#1b405c}
.ff-share.is-app .native{order:0}
#ffLi{--ff-share-color:#0a66c2;--ff-share-mark:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20d%3D%22M0%201.146C0%20.513.526%200%201.175%200h13.65C15.474%200%2016%20.513%2016%201.146v13.708c0%20.633-.526%201.146-1.175%201.146H1.175C.526%2016%200%2015.487%200%2014.854zm4.943%2012.248V6.169H2.542v7.225zm-1.2-8.212c.837%200%201.358-.554%201.358-1.248-.015-.709-.52-1.248-1.342-1.248S2.4%203.226%202.4%203.934c0%20.694.521%201.248%201.327%201.248zm4.908%208.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878%201.232-.878.869%200%201.216.662%201.216%201.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274%200-1.845.7-2.165%201.193v.025h-.016l.016-.025V6.169h-2.4c.03.678%200%207.225%200%207.225z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E")}
#ffFb{--ff-share-color:#0866ff;--ff-share-mark:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20d%3D%22M16%208.049c0-4.446-3.582-8.05-8-8.05C3.58%200-.002%203.603-.002%208.05c0%204.017%202.926%207.347%206.75%207.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017%201.195-3.131%203.022-3.131.876%200%201.791.157%201.791.157v1.98h-1.009c-.993%200-1.303.621-1.303%201.258v1.51h2.218l-.354%202.326H9.25V16c3.824-.604%206.75-3.934%206.75-7.951%22%2F%3E%0A%3C%2Fsvg%3E")}
#ffX{--ff-share-color:#111111;--ff-share-mark:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20d%3D%22M12.6.75h2.454l-5.36%206.142L16%2015.25h-4.937l-3.867-5.07-4.425%205.07H.316l5.733-6.57L0%20.75h5.063l3.495%204.633L12.601.75Zm-.86%2013.028h1.36L4.323%202.145H2.865z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E")}
#ffRd{--ff-share-color:#ff4500;--ff-share-mark:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20d%3D%22M6.167%208a.83.83%200%200%200-.83.83c0%20.459.372.84.83.831a.831.831%200%200%200%200-1.661m1.843%203.647c.315%200%201.403-.038%201.976-.611a.23.23%200%200%200%200-.306.213.213%200%200%200-.306%200c-.353.363-1.126.487-1.67.487-.545%200-1.308-.124-1.671-.487a.213.213%200%200%200-.306%200%20.213.213%200%200%200%200%20.306c.564.563%201.652.61%201.977.61zm.992-2.807c0%20.458.373.83.831.83s.83-.381.83-.83a.831.831%200%200%200-1.66%200z%22%3E%3C%2Fpath%3E%0A%20%20%3Cpath%20d%3D%22M16%208A8%208%200%201%201%200%208a8%208%200%200%201%2016%200m-3.828-1.165c-.315%200-.602.124-.812.325-.801-.573-1.9-.945-3.121-.993l.534-2.501%201.738.372a.83.83%200%201%200%20.83-.869.83.83%200%200%200-.744.468l-1.938-.41a.2.2%200%200%200-.153.028.2.2%200%200%200-.086.134l-.592%202.788c-1.24.038-2.358.41-3.17.992-.21-.2-.496-.324-.81-.324a1.163%201.163%200%200%200-.478%202.224q-.03.17-.029.353c0%201.795%202.091%203.256%204.669%203.256s4.668-1.451%204.668-3.256c0-.114-.01-.238-.029-.353.401-.181.688-.592.688-1.069%200-.65-.525-1.165-1.165-1.165%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E")}
#ffCopy{--ff-share-color:#31536b;--ff-share-mark:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2013a5%205%200%200%200%207%20.1l3-3a5%205%200%200%200-7-7l-1.7%201.7M14%2011a5%205%200%200%200-7-.1l-3%203a5%205%200%200%200%207%207l1.7-1.7%22%2F%3E%3C%2Fsvg%3E")}
#ffNative{--ff-share-color:currentColor;--ff-share-mark:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2015V3m-4%204%204-4%204%204M5%2012v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1v-8%22%2F%3E%3C%2Fsvg%3E")}
@media(max-width:520px){.ff-share-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ff-share-row .ff-share-btn{padding:11px 12px;justify-content:center}.ff-share.is-app .ff-share-row{grid-template-columns:1fr}.ff-share-row .native{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.ff-share-row .ff-share-btn{transition:none}}
/* Social brand vectors: Bootstrap Icons, https://icons.getbootstrap.com/ .
The MIT License (MIT)
Copyright (c) 2019-2024 The Bootstrap Authors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
