/* Fieldwork motion. One set of timings for every interaction, in both modes.
   Nothing appears or disappears abruptly: things fade up with a slight rise and
   leave the way they came. Loaded last so it can refine the earlier sheets. */
:root{--fwm-out:cubic-bezier(.22,1,.36,1);--fwm-spring:cubic-bezier(.34,1.4,.64,1);--fwm-soft:cubic-bezier(.4,0,.2,1);--fwm-in:cubic-bezier(.55,0,.75,.2);interpolate-size:allow-keywords}
@keyframes fwm-rise{from{opacity:0;transform:translateY(10px)}}
@keyframes fwm-rise-soft{from{opacity:0;transform:translateY(6px)}}
@keyframes fwm-slide{from{opacity:0;transform:translateX(18px)}}
@keyframes fwm-card{from{opacity:0;transform:translateY(22px) scale(.985);filter:blur(4px)}60%{filter:blur(0)}}
@keyframes fwm-pop{0%{transform:scale(1)}40%{transform:scale(1.035)}100%{transform:scale(1)}}
@keyframes fwm-vt-out{to{opacity:0;transform:translateY(-10px) scale(.985);filter:blur(4px)}}
@keyframes fwm-vt-in{from{opacity:0;transform:translateY(18px) scale(.995)}}
@keyframes fwm-vt-out-back{to{opacity:0;transform:translateY(12px) scale(.99);filter:blur(4px)}}
@keyframes fwm-vt-in-back{from{opacity:0;transform:translateY(-14px) scale(1.01)}}
@keyframes fwm-shine{from{background-position:-160% 0}to{background-position:260% 0}}

/* ---------- 1. Every control answers the finger ---------- */
.navbtn,.findbtn,.filter-pill,.profile-indicator,.popover-done,.segmented button,.choice,.tab,.mini,.newsearch,.stopbtn,.profile-save,.close,.close-modal,.feedback,.hist-row,.setup-pill,.source-link,.save-btn,.fw-gate-google,.fw-gate-owner,.choose{transition:transform .24s var(--fwm-spring),background-color .22s var(--fwm-soft),color .22s var(--fwm-soft),border-color .22s var(--fwm-soft),box-shadow .3s var(--fwm-out),opacity .22s var(--fwm-soft),filter .22s var(--fwm-soft)}
:is(.navbtn,.findbtn,.filter-pill,.profile-indicator,.popover-done,.segmented button,.choice,.tab,.mini,.newsearch,.stopbtn,.profile-save,.close,.close-modal,.feedback,.hist-row,.setup-pill,.source-link,.save-btn,.fw-gate-google,.fw-gate-owner,.choose):active:not(:disabled){transform:scale(.955);transition-duration:.09s}
.findbtn:not(:disabled):hover,.profile-save:not(:disabled):hover,.popover-done:hover,.mini.primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.16)}
html[data-theme=dark] .findbtn:not(:disabled):hover,html[data-theme=dark] .profile-save:not(:disabled):hover{box-shadow:0 8px 28px rgba(255,255,255,.12)}
.mini:not(:disabled):hover,.newsearch:hover{transform:translateY(-1px)}
.navbtn{position:relative}
button:disabled{transition:opacity .3s var(--fwm-soft)}
.findbtn:disabled{background-image:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);background-size:220% 100%;animation:fwm-shine 1.4s var(--fwm-soft) infinite}
.field-input,.setting input,.setting textarea,.setting select,select,.rewrite-note input,.modal textarea,.search-main input{transition:border-color .22s var(--fwm-soft),box-shadow .3s var(--fwm-out),background-color .22s var(--fwm-soft)}
.chev{display:inline-block;transition:transform .35s var(--fwm-spring)}
[data-popover][aria-expanded=true] .chev{transform:translateY(1px) rotate(180deg)}
[data-popover][aria-expanded=true]:not(.location){border-color:currentColor}
.choice:after{transition:opacity .25s var(--fwm-soft),transform .35s var(--fwm-spring)}
.choice:not(.selected):after{content:'✓';opacity:0;transform:scale(.4)}
.choice.selected:after{opacity:1;transform:none}
.person .biz-meta a,.source-item a,.signal-row a{transition:opacity .2s var(--fwm-soft),color .2s var(--fwm-soft)}

/* dialog close buttons turn a quarter as you point at them */
.close-modal,.settings-panel .close{transition:transform .4s var(--fwm-spring),background-color .2s var(--fwm-soft)}
.close-modal:hover,.settings-panel .close:hover{transform:rotate(90deg)}
html .close-modal:active:not(:disabled),html .settings-panel .close:active:not(:disabled){transform:rotate(90deg) scale(.9)}

/* ---------- 2. Menus open from their button and close back into it ---------- */
.popover{display:none;opacity:0;transform:translateY(-8px) scale(.965);transform-origin:24px 0;transition:opacity .2s var(--fwm-soft),transform .34s var(--fwm-out),display .34s allow-discrete}
.popover.show{display:block;opacity:1;transform:none;animation:none}
@starting-style{.popover.show{opacity:0;transform:translateY(-8px) scale(.965)}}
.popover.show>*{animation:fwm-rise-soft .42s var(--fwm-out) backwards}
.popover.show>*:nth-child(2){animation-delay:0.055s}
.popover.show>*:nth-child(3){animation-delay:0.080s}
.popover.show>*:nth-child(4){animation-delay:0.105s}
.popover.show>*:nth-child(5){animation-delay:0.130s}
.popover.show>*:nth-child(6){animation-delay:0.155s}
.popover.show>*:nth-child(7){animation-delay:0.180s}
.popover.show>*:nth-child(8){animation-delay:0.205s}
.popover.show>*:nth-child(9){animation-delay:0.230s}
.popover.show>*:nth-child(10){animation-delay:0.255s}

/* ---------- 3. Dialogs rise in, content settles, height glides ---------- */
[hidden]:not([data-fx]){display:none!important}
[data-fx]{transition:opacity .3s var(--fwm-soft),transform .45s var(--fwm-out),display .45s allow-discrete}
[data-fx][hidden]{display:none;opacity:0}
[data-fx=rise][hidden]{transform:translateY(8px)}
@starting-style{[data-fx]:not([hidden]){opacity:0}[data-fx=rise]:not([hidden]){transform:translateY(10px)}}
.modal-backdrop[data-fx]{transition:opacity .32s var(--fwm-soft),display .4s allow-discrete,backdrop-filter .4s var(--fwm-soft)}
.modal{transition:transform .5s var(--fwm-out),opacity .3s var(--fwm-soft);will-change:transform}
.modal-backdrop[hidden] .modal{transform:translateY(14px) scale(.975);opacity:0;transition-duration:.3s,.22s;transition-timing-function:var(--fwm-in),var(--fwm-soft)}
@starting-style{.modal-backdrop:not([hidden]) .modal{transform:translateY(26px) scale(.96);opacity:0}}
.modal-head>*{animation:fwm-rise-soft .5s var(--fwm-out) backwards}
#modalBody>*,#modalBody .hist-list>*,#modalBody .rewrite-chips>*{animation:fwm-rise .5s var(--fwm-out) backwards;animation-delay:.06s}
#modalBody>*:nth-child(2){animation-delay:0.095s}
#modalBody>*:nth-child(3){animation-delay:0.130s}
#modalBody>*:nth-child(4){animation-delay:0.165s}
#modalBody>*:nth-child(5){animation-delay:0.200s}
#modalBody>*:nth-child(6){animation-delay:0.235s}
#modalBody>*:nth-child(7){animation-delay:0.270s}
#modalBody>*:nth-child(8){animation-delay:0.305s}
#modalBody>*:nth-child(9){animation-delay:0.340s}
#modalBody>*:nth-child(10){animation-delay:0.375s}
#modalBody>*:nth-child(11){animation-delay:0.410s}
#modalBody>*:nth-child(12){animation-delay:0.445s}
#modalBody>*:nth-child(13){animation-delay:0.480s}
#modalBody>*:nth-child(14){animation-delay:0.515s}
#modalBody .hist-list>*:nth-child(2){animation-delay:0.128s}
#modalBody .hist-list>*:nth-child(3){animation-delay:0.156s}
#modalBody .hist-list>*:nth-child(4){animation-delay:0.184s}
#modalBody .hist-list>*:nth-child(5){animation-delay:0.212s}
#modalBody .hist-list>*:nth-child(6){animation-delay:0.240s}
#modalBody .hist-list>*:nth-child(7){animation-delay:0.268s}
#modalBody .hist-list>*:nth-child(8){animation-delay:0.296s}
#modalBody .hist-list>*:nth-child(9){animation-delay:0.324s}
#modalBody .hist-list>*:nth-child(10){animation-delay:0.352s}
#modalBody .hist-list>*:nth-child(11){animation-delay:0.380s}
#modalBody .hist-list>*:nth-child(12){animation-delay:0.408s}
#modalBody .hist-list>*:nth-child(13){animation-delay:0.436s}
#modalBody .hist-list>*:nth-child(14){animation-delay:0.464s}
#modalBody .hist-list>*:nth-child(15){animation-delay:0.492s}
#modalBody .hist-list>*:nth-child(16){animation-delay:0.520s}
#modalBody .rewrite-chips>*:nth-child(2){animation-delay:0.175s}
#modalBody .rewrite-chips>*:nth-child(3){animation-delay:0.200s}
#modalBody .rewrite-chips>*:nth-child(4){animation-delay:0.225s}
#modalBody .rewrite-chips>*:nth-child(5){animation-delay:0.250s}
#modalBody .rewrite-chips>*:nth-child(6){animation-delay:0.275s}
#modalBody .rewrite-chips>*:nth-child(7){animation-delay:0.300s}
#modalBody .rewrite-chips>*:nth-child(8){animation-delay:0.325s}
#modalBody .rewrite-chips>*:nth-child(9){animation-delay:0.350s}
#modalBody .rewrite-chips>*:nth-child(10){animation-delay:0.375s}
.modal,.settings-panel,.tracker-scroll{scrollbar-width:thin;scrollbar-color:rgba(127,127,127,.35) transparent}
.hist-row{transition:transform .28s var(--fwm-out),background-color .2s var(--fwm-soft),box-shadow .3s var(--fwm-out)}
.hist-row:hover{transform:translateX(3px)}

/* ---------- 4. Settings slides in, each section follows ---------- */
.settings-panel{transition:transform .6s var(--fwm-out),box-shadow .6s var(--fwm-out)}
.settings-panel:not(.show){transition:transform .38s var(--fwm-in)}
.settings-panel.show>*{animation:fwm-slide .55s var(--fwm-out) backwards}
.settings-panel.show>*:nth-child(2){animation-delay:0.072s}
.settings-panel.show>*:nth-child(3){animation-delay:0.094s}
.settings-panel.show>*:nth-child(4){animation-delay:0.116s}
.settings-panel.show>*:nth-child(5){animation-delay:0.138s}
.settings-panel.show>*:nth-child(6){animation-delay:0.160s}
.settings-panel.show>*:nth-child(7){animation-delay:0.182s}
.settings-panel.show>*:nth-child(8){animation-delay:0.204s}
.settings-panel.show>*:nth-child(9){animation-delay:0.226s}
.settings-panel.show>*:nth-child(10){animation-delay:0.248s}
.settings-panel.show>*:nth-child(11){animation-delay:0.270s}
.settings-panel.show>*:nth-child(12){animation-delay:0.292s}
.settings-panel.show>*:nth-child(13){animation-delay:0.314s}
.settings-panel.show>*:nth-child(14){animation-delay:0.336s}
.settings-panel.show>*:nth-child(15){animation-delay:0.358s}
.settings-panel.show>*:nth-child(16){animation-delay:0.380s}
.settings-panel.show>*:nth-child(17){animation-delay:0.402s}
.settings-panel.show>*:nth-child(18){animation-delay:0.424s}
.screenback[data-fx]{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}

/* ---------- 5. Notices ---------- */
.toast[data-fx]{opacity:1;transform:translateX(-50%);transition:opacity .25s var(--fwm-soft),transform .5s var(--fwm-out),display .5s allow-discrete}
.toast[data-fx][hidden]{opacity:0;transform:translate(-50%,14px) scale(.97);transition-timing-function:var(--fwm-soft),var(--fwm-in)}
@starting-style{.toast[data-fx]:not([hidden]){opacity:0;transform:translate(-50%,20px) scale(.95)}}
.notice[data-fx],.research-state.show,.low-note,.reason-notes{animation:fwm-rise-soft .45s var(--fwm-out) backwards}
.progress.show{animation:fwm-rise .55s var(--fwm-out) backwards}
.inline-error:not(:empty),.loc-error:not(:empty){animation:fwm-rise-soft .35s var(--fwm-out)}

/* ---------- 6. Results arrive in order ---------- */
.results.show .results-top,.results.show .research-console:not([hidden]),.results.show .tabs:not([hidden]){animation:fwm-rise .65s var(--fwm-out) backwards}
.results.show .research-console{animation-delay:.07s}.results.show .tabs{animation-delay:.14s}
.person{transition:border-color .3s var(--fwm-soft),box-shadow .4s var(--fwm-out)}
.person:not([style*=translate]){transition:translate .4s var(--fwm-out),border-color .3s var(--fwm-soft),box-shadow .4s var(--fwm-out)}
.person:hover{translate:0 -2px}
.person.enter{animation:fwm-card .75s var(--fwm-out) backwards;animation-delay:calc(var(--fwm-i,0) * 60ms + 40ms)}
.person.enter:nth-child(n){animation-delay:calc(var(--fwm-i,0) * 60ms + 40ms)}
.empty-state{animation:fwm-rise .6s var(--fwm-out) backwards}
@supports (animation-timeline:view()){
 .person:not(.enter){animation:fwm-rise linear both;animation-timeline:view();animation-range:entry 0% entry 28%}
}
details::details-content{block-size:0;overflow:hidden;transition:block-size .4s var(--fwm-out),content-visibility .4s allow-discrete}
details[open]::details-content{block-size:auto}

/* The sliding highlight behind the selected tab or radius (placed by motion.js) */
.fwm-ink-host{position:relative}
.fwm-ink-host>:not(.fwm-ink){position:relative;z-index:1}
.fwm-ink{position:absolute;left:0;top:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .25s var(--fwm-soft)}
.fwm-ink.ready{opacity:1;transition:transform .5s var(--fwm-spring),width .5s var(--fwm-spring),height .5s var(--fwm-out),opacity .25s var(--fwm-soft)}
html[data-theme][data-theme] .fwm-has-ink>:is(.selected,.active){background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.flipnum{display:inline-block}

/* Page and tab changes (View Transitions: Chrome, Edge and Safari; others switch instantly) */
::view-transition-old(root),::view-transition-new(root){animation:none}
::view-transition-group(*){animation-duration:.5s;animation-timing-function:var(--fwm-out)}
html.fwm-page header{view-transition-name:fwm-header}
html.fwm-page main{view-transition-name:fwm-main;overflow:clip;contain:paint}
html.fwm-page::view-transition-group(fwm-main){animation:none}
html.fwm-page::view-transition-old(fwm-main){animation:fwm-vt-out .3s var(--fwm-soft) both}
html.fwm-page::view-transition-new(fwm-main){animation:fwm-vt-in .6s var(--fwm-out) .08s both}
html.fwm-back::view-transition-old(fwm-main){animation:fwm-vt-out-back .3s var(--fwm-soft) both}
html.fwm-back::view-transition-new(fwm-main){animation:fwm-vt-in-back .6s var(--fwm-out) .08s both}
html.fwm-tabs::view-transition-old(*):only-child{animation:fwm-vt-out .26s var(--fwm-soft) both}
html.fwm-tabs::view-transition-new(*):only-child{animation:fwm-card .55s var(--fwm-out) .06s both}

/* ---------- 7. First load: header and page settle in ---------- */
html:not(.fw-swapped) header .brand,html:not(.fw-swapped) header nav>*{animation:fwm-rise-soft .7s var(--fwm-out) backwards}
html:not(.fw-swapped) header nav>*:nth-child(2){animation-delay:0.160s}
html:not(.fw-swapped) header nav>*:nth-child(3){animation-delay:0.200s}
html:not(.fw-swapped) header nav>*:nth-child(4){animation-delay:0.240s}
html:not(.fw-swapped) header nav>*:nth-child(5){animation-delay:0.280s}
html:not(.fw-swapped) header nav>*:nth-child(6){animation-delay:0.320s}
html:not(.fw-swapped) header nav>*:nth-child(7){animation-delay:0.360s}
html:not(.fw-swapped) header nav>*:nth-child(8){animation-delay:0.400s}
html:not(.fw-swapped) header nav>*:nth-child(9){animation-delay:0.440s}
html:not(.fw-swapped) header nav>*:nth-child(10){animation-delay:0.480s}
.fw-gate-card>*{animation:fwm-rise .6s var(--fwm-out) backwards}
.fw-gate-card>*:nth-child(2){animation-delay:0.170s}
.fw-gate-card>*:nth-child(3){animation-delay:0.220s}
.fw-gate-card>*:nth-child(4){animation-delay:0.270s}
.fw-gate-card>*:nth-child(5){animation-delay:0.320s}
.fw-gate-card>*:nth-child(6){animation-delay:0.370s}
.fw-gate-card>*:nth-child(7){animation-delay:0.420s}
.fw-gate-card>*:nth-child(8){animation-delay:0.470s}
.tracker-table tbody tr{animation:fwm-rise-soft .45s var(--fwm-out) backwards}
.tracker-table tbody tr:nth-child(2){animation-delay:0.130s}
.tracker-table tbody tr:nth-child(3){animation-delay:0.160s}
.tracker-table tbody tr:nth-child(4){animation-delay:0.190s}
.tracker-table tbody tr:nth-child(5){animation-delay:0.220s}
.tracker-table tbody tr:nth-child(6){animation-delay:0.250s}
.tracker-table tbody tr:nth-child(7){animation-delay:0.280s}
.tracker-table tbody tr:nth-child(8){animation-delay:0.310s}
.tracker-table tbody tr:nth-child(9){animation-delay:0.340s}
.tracker-table tbody tr:nth-child(10){animation-delay:0.370s}
.tracker-table tbody tr:nth-child(11){animation-delay:0.400s}
.tracker-table tbody tr:nth-child(12){animation-delay:0.430s}
.tracker-table tbody tr:nth-child(13){animation-delay:0.460s}
.tracker-table tbody tr:nth-child(14){animation-delay:0.490s}
.tracker-panel .tracker-card{transition:transform .5s var(--fwm-out)}

/* ---------- 8. Polish ---------- */
/* The home page could get scrolled sideways inside itself (after picking a sector the headline
   slid off-centre). Clipping instead of hiding keeps it put. */
.hero,.shell,.results{overflow:clip}
/* While a menu or settings is open, the crew and Rupert never sit on top of what you are clicking */
body:has(.popover.show,.settings-panel.show) :is(.actor,.crew-char,.cfx,.office-page .rupert){pointer-events:none!important}
@keyframes fwm-flash{0%{box-shadow:0 0 0 0 rgba(120,110,255,0)}25%{box-shadow:0 0 0 3px rgba(120,110,255,.45),0 18px 50px rgba(120,110,255,.18)}100%{box-shadow:0 0 0 0 rgba(120,110,255,0)}}
html[data-mode=partners] .person.fwm-flash{--fwm-flash:rgba(40,150,90,.4)}
.person.fwm-flash{animation:fwm-flash 1.6s var(--fwm-out)}
.scoreboard tr{transition:background .2s var(--fwm-soft),transform .3s var(--fwm-out)}.scoreboard tr:hover{transform:translateX(3px)}
::selection{background:rgba(120,110,255,.22)}
html[data-mode=partners] ::selection{background:rgba(40,160,90,.2)}
html[data-theme=dark] .source-item{border-color:#262930}
html[data-theme=dark] .modal h4{color:#8e8f99}
html[data-theme=dark] .modal p,html[data-theme=dark] .modal li{color:#b9bac2}

/* Phones: the menu scrolls sideways under the name instead of pushing the page off screen */
@media(max-width:760px){
 html,body{overflow-x:clip}
 html[data-mode][data-theme] header{height:auto;min-height:62px;flex-wrap:wrap;row-gap:2px;padding:12px 14px 6px}
 html[data-mode][data-theme] header nav{order:2;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;width:calc(100% + 28px);margin:0 -14px;padding:2px 14px 6px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 30px),transparent)}
 html[data-mode][data-theme] header nav::-webkit-scrollbar{display:none}
 html[data-mode][data-theme] header nav>*{flex:0 0 auto;white-space:nowrap}
 html[data-mode][data-theme] .tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
 .tabs::-webkit-scrollbar{display:none}
 html[data-mode][data-theme] .tab{white-space:nowrap;flex:0 0 auto}
 .scoreboard td:nth-child(4){display:none}
 .scoreboard td{padding:8px 4px}
 .popover{transform:translateY(28px)}
 @starting-style{.popover.show{opacity:0;transform:translateY(28px)}}
 .person:hover{translate:none}
}

@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* ---------- research running in the background ---------- */
#bgRun{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:999px;background:rgba(21,23,28,.9);color:#eceae2;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 30px rgba(0,0,0,.35);backdrop-filter:blur(8px);font-size:13px;animation:fwbg-in .42s var(--fwm-spring,cubic-bezier(.34,1.56,.64,1)) both}
#bgRun.out{animation:fwbg-out .24s var(--fwm-in,ease-in) both}
#bgRun .bg-dot{width:8px;height:8px;border-radius:50%;background:#7ee29a;box-shadow:0 0 0 0 rgba(126,226,154,.6);animation:fwbg-pulse 1.6s ease-out infinite}
#bgRun.done .bg-dot{animation:none;background:#ffd166}
#bgRun .bg-text{transition:opacity .2s}
#bgRun button{border:0;border-radius:999px;padding:6px 12px;font:inherit;cursor:pointer;background:#eceae2;color:#111;transition:transform .18s var(--fwm-spring,ease),background .2s}
#bgRun button:hover{transform:translateY(-1px)}#bgRun button:active{transform:scale(.96)}
#bgRun .bg-x{background:transparent;color:inherit;padding:4px 8px;opacity:.7}
html[data-mode=partners] #bgRun{background:rgba(244,240,229,.94);color:#2b2618;border-color:#c9c1aa;box-shadow:0 8px 24px rgba(60,50,20,.18)}
html[data-mode=partners] #bgRun .bg-view{background:#2b2618;color:#f4f0e5}
@keyframes fwbg-in{from{opacity:0;transform:translateY(14px) scale(.96)}}
@keyframes fwbg-out{to{opacity:0;transform:translateY(10px) scale(.97)}}
@keyframes fwbg-pulse{70%{box-shadow:0 0 0 7px rgba(126,226,154,0)}100%{box-shadow:0 0 0 0 rgba(126,226,154,0)}}
@media (max-width:760px){#bgRun{left:12px;right:12px;bottom:12px;justify-content:space-between}}
@media (prefers-reduced-motion:reduce){#bgRun,#bgRun .bg-dot{animation:none}}

/* ---------- glass boxes: the crew live behind the page and show through ---------- */
html[data-theme=dark] body :is(.searchbox,.progress,.person,.empty-state){background:rgba(21,23,28,.72);}
html[data-theme=dark] body :is(.research-console,.scoreboard){background:linear-gradient(125deg,rgba(21,23,28,.62) 15%,rgba(19,21,25,.55) 80%,rgba(23,20,28,.62));}
html[data-theme=dark] body .notice{background:rgba(26,23,18,.62);}
html[data-mode=partners] body :is(.searchbox,.research-console,.progress,.person,.empty-state){background:rgba(244,240,229,.74);}
html[data-mode=partners] body .contact{background:rgba(249,246,238,.62)}
html[data-mode=partners] body .fitbox{background:rgba(250,247,238,.62)}
html[data-mode=partners] body .notice{background:rgba(243,236,214,.66);}
/* Rupert works behind the page unless he's sneaking out */
html[data-mode=partners] .office-page,html[data-mode=partners] .office-floor{z-index:0}
html[data-mode=partners].office-bold .office-page{z-index:41}
html[data-mode=partners].office-bold .office-floor{z-index:40}
html.office-bold .office-page .rupert,html.office-bold .office-floor .rupert{animation:fw-sneak .5s var(--fwm-spring,ease) both}
/* a crew member sneaking out front gets a little guilty hop */
.actor.bold .a-in{animation:fw-sneak .5s var(--fwm-spring,ease)}
@keyframes fw-sneak{0%{translate:0 0}35%{translate:0 -6px}100%{translate:0 0}}
@media (prefers-reduced-motion:reduce){.actor.bold .a-in,html.office-bold .rupert{animation:none}}

/* ---------- every email status says what to do next ---------- */
.alt-email{flex-wrap:wrap;justify-content:flex-end;max-width:min(560px,62%)}
.alt-tip{flex-basis:100%;text-align:right;font-size:11.5px;line-height:1.4;color:#85857f;margin-top:2px;animation:rise .4s var(--fwm-out,ease) backwards}
.email-tip{font-size:12px;line-height:1.45;color:#85857f;margin:4px 0 8px;max-width:340px}
.alt-email em.st-invalid{color:#c2453a}.alt-email em.st-unknown,.alt-email em.st-unchecked{color:#b08a3e}
html[data-theme=dark] :is(.alt-tip,.email-tip){color:#a3a39d}
html[data-theme=dark] .alt-email em.st-invalid{color:#ff7b6b}
@media(max-width:760px){.alt-email{max-width:none;justify-content:flex-start}.alt-tip{text-align:left}}

/* ---------- showing the working: dates, heads-up, how it decided ---------- */
.when{display:inline-block;font-size:10.5px;letter-spacing:.02em;padding:1px 7px;border-radius:999px;background:rgba(20,122,69,.1);color:#147a45;white-space:nowrap;vertical-align:1px}
.when.old{background:rgba(176,138,62,.14);color:#8a6420}
.when.none{background:rgba(120,120,110,.12);color:#77776f}
html[data-theme=dark] .when{background:rgba(126,226,154,.12);color:#8fe3a8}
html[data-theme=dark] .when.old{background:rgba(255,196,94,.14);color:#ffc45e}
html[data-theme=dark] .when.none{background:rgba(255,255,255,.07);color:#a3a39d}
.headsup{margin-top:14px;padding:11px 14px;border-radius:14px;border:1px solid rgba(176,138,62,.35);background:rgba(176,138,62,.08);animation:rise .5s var(--fwm-out,ease) backwards}
.headsup .eyebrow{color:#8a6420;margin-bottom:4px}.headsup p{margin:4px 0;font-size:13px;line-height:1.5}
html[data-theme=dark] .headsup{border-color:rgba(255,196,94,.3);background:rgba(255,196,94,.07)}html[data-theme=dark] .headsup .eyebrow{color:#ffc45e}
.working{margin-top:12px;border-top:1px dashed rgba(128,128,120,.3);padding-top:8px;interpolate-size:allow-keywords}
.working summary{cursor:pointer;font-size:12.5px;font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:6px;opacity:.85;transition:opacity .2s}
.working summary::-webkit-details-marker{display:none}
.working summary:before{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .3s var(--fwm-out,ease)}
.working[open] summary:before{transform:rotate(45deg)}
.working summary:hover{opacity:1}
.working::details-content{height:0;overflow:clip;opacity:0;transition:height .38s var(--fwm-out,ease),opacity .3s ease,content-visibility .38s allow-discrete}
.working[open]::details-content{height:auto;opacity:1}
.working-body{padding-top:8px;font-size:13px;line-height:1.55}
.working-body p{margin:0 0 8px}.working-body ul{margin:4px 0 10px;padding-left:18px}.working-body li{margin:3px 0}
.working-body .eyebrow{margin-top:8px}
html[data-theme=dark] .working-body{color:#cfcfc9}
.angle{margin-top:10px;font-size:12.5px;line-height:1.5;padding:9px 12px;border-radius:12px;background:rgba(120,110,255,.08)}
.angle span{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin-bottom:2px}
html[data-theme=dark] .angle{background:rgba(156,124,255,.12);color:#e6e2ff}
html[data-mode=partners] .angle{background:rgba(43,38,24,.06)}
@media (prefers-reduced-motion:reduce){.working::details-content{transition:none}}

/* ---------- interest score out of 100 ---------- */
.score.rating strong{display:inline-flex;align-items:baseline;gap:1px;font-variant-numeric:tabular-nums}
.score.rating .n{font-size:22px;letter-spacing:-.03em;line-height:1}
.score.rating small{font-size:11px;opacity:.55;font-weight:500}
.score.rating.s-top .n{color:#147a45}.score.rating.s-good .n{color:#2f7d5b}.score.rating.s-mid .n{color:#a37414}.score.rating.s-low .n{color:#b5483c}
html[data-theme=dark] .score.rating.s-top .n{color:#7ee29a}html[data-theme=dark] .score.rating.s-good .n{color:#a9e6b8}html[data-theme=dark] .score.rating.s-mid .n{color:#ffc45e}html[data-theme=dark] .score.rating.s-low .n{color:#ff8a7a}
.score.rating{cursor:help}

/* ---------- keep the first-visit chooser light on the graphics card ---------- */
/* the preview of the other world is a still backdrop: no blur, no moving characters */
html.fw-preview *,html.fwc-open *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.fw-preview .crew-layer,html.fw-preview .office-page,html.fw-preview .office-floor,html.fw-preview .crew-sky{display:none!important}
html.fw-preview *,html.fw-preview *:before,html.fw-preview *:after{animation-play-state:paused!important}
.brain-tag{display:inline-block;margin-left:10px;vertical-align:3px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;color:#fff;background:linear-gradient(90deg,#7a5cff,#d45cff);box-shadow:0 2px 10px rgba(122,92,255,.35)}
.hist-q .brain-tag{margin:0 6px 0 0;vertical-align:1px}
html[data-mode=partners] .brain-tag{background:#2b2618;box-shadow:none}

/* ---------- history page ---------- */
#histPage{margin:0 0 22px;animation:rise .5s var(--fwm-out,ease) backwards}
.hist-searches{border:1px solid rgba(128,128,120,.22);border-radius:18px;padding:12px 16px;interpolate-size:allow-keywords}
.hist-searches summary{cursor:pointer;list-style:none;font-size:14px;display:flex;align-items:center;gap:8px}
.hist-searches summary::-webkit-details-marker{display:none}
.hist-searches summary:before{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .3s var(--fwm-out,ease)}
.hist-searches[open] summary:before{transform:rotate(45deg)}
.hist-searches::details-content{height:0;overflow:clip;opacity:0;transition:height .38s var(--fwm-out,ease),opacity .3s,content-visibility .38s allow-discrete}
.hist-searches[open]::details-content{height:auto;opacity:1}
.hist-searches .hist-list{max-height:360px;overflow:auto;margin-top:10px}
.hist-every{margin:22px 0 4px}
.check-main{margin:2px 0 10px}
.not-ready{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:#8a6420}
html[data-theme=dark] .not-ready{color:#ffc45e}
.finish-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:12px 16px;border-radius:16px;border:1px solid rgba(156,124,255,.4);background:rgba(156,124,255,.1);font-size:13.5px;animation:rise .5s var(--fwm-out,ease) backwards}
html[data-mode=partners] .finish-bar{border-color:#c9c1aa;background:rgba(43,38,24,.05)}
.hist-finish{margin:-4px 0 10px auto;display:block}
@media(max-width:760px){.finish-bar{flex-direction:column;align-items:flex-start}}

/* ---------- search progress: steps, time running, time left ---------- */
.psteps{margin-top:14px}
.psteps ol{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.psteps li{display:flex;align-items:center;gap:7px;font-size:12.5px;padding:6px 11px;border-radius:999px;background:rgba(128,128,120,.12);opacity:.55;transition:opacity .4s,background .4s}
.psteps li .dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.5}
.psteps li.done{opacity:.85}.psteps li.done .dot{background:#7ee29a;opacity:1}
.psteps li.now{opacity:1;background:rgba(156,124,255,.2);box-shadow:inset 0 0 0 1px rgba(156,124,255,.5)}
.psteps li.now .dot{background:#b49cff;opacity:1;animation:fwbg-pulse 1.4s ease-out infinite}
.ptime{margin-top:10px;font-size:12.5px;opacity:.85;display:flex;align-items:center;gap:8px}
.live-dot{width:8px;height:8px;border-radius:50%;background:#7ee29a;animation:fwbg-pulse 1.6s ease-out infinite}
html[data-mode=partners] .psteps li.now{background:rgba(43,38,24,.08);box-shadow:inset 0 0 0 1px #b6ad93}

/* ---------- outreach page ---------- */
#outreachPage{animation:rise .5s var(--fwm-out,ease) backwards}
.o-next{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;background:rgba(156,124,255,.12);border:1px solid rgba(156,124,255,.35);font-size:15px;margin-bottom:16px}
.o-next-label{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:linear-gradient(90deg,#7a5cff,#d45cff);color:#fff}
.o-counts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:26px}
.o-counts a{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:14px;border:1px solid rgba(128,128,120,.22);text-decoration:none;color:inherit;transition:transform .2s var(--fwm-spring,ease),border-color .2s}
.o-counts a:hover{transform:translateY(-2px);border-color:rgba(156,124,255,.5)}
.o-counts strong{font-size:24px;letter-spacing:-.03em}.o-counts span{font-size:12px;opacity:.75}.o-counts a.zero{opacity:.45}
.o-sec{margin:0 0 28px;scroll-margin-top:90px}
.o-sec h3{font-size:18px;margin:0 0 4px;display:flex;align-items:center;gap:8px}.o-sec h3 span{font-size:12px;opacity:.6;font-weight:500}
.o-sub{margin:0 0 10px;font-size:13px;opacity:.7}
details.o-sec summary{cursor:pointer;list-style:none}details.o-sec summary::-webkit-details-marker{display:none}
.o-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px;border-radius:16px;border:1px solid rgba(128,128,120,.2);background:rgba(21,23,28,.72);margin-bottom:8px;animation:rise .45s var(--fwm-out,ease) backwards}
.o-who{display:flex;flex-direction:column;gap:2px;min-width:0}.o-who strong{font-size:14.5px}.o-who span{font-size:12.5px;opacity:.75}
.o-mail{font-size:12.5px;text-align:left;padding:0;overflow-wrap:anywhere}
.o-state{font-size:13px;opacity:.9}
.o-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.o-empty{font-size:13px;opacity:.6;margin:6px 0}
html[data-mode=partners] .o-row{background:rgba(244,240,229,.6)}
@media(max-width:760px){.o-counts{grid-template-columns:repeat(3,1fr)}.o-row{grid-template-columns:1fr}.o-actions{justify-content:flex-start}}
#toast{pointer-events:auto}#toast .linkish{color:inherit;text-decoration:underline;margin-left:6px;font-weight:600}
.o-score{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;margin-right:10px;padding:0 7px;border-radius:999px;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;background:rgba(126,226,154,.14);color:#8fe3a8}
html[data-mode=partners] .o-score{background:rgba(20,122,69,.1);color:#147a45}

/* ---------- buttons you can tell apart at a glance ---------- */
#outreachPage [data-oa],.contact-actions [data-action="deepen"]{display:inline-flex;align-items:center;gap:7px;transition:transform .18s var(--fwm-spring,ease),background .2s,border-color .2s,box-shadow .2s}
#outreachPage [data-oa]:not(:disabled):hover,.contact-actions [data-action="deepen"]:not(:disabled):hover{transform:translateY(-1px)}
#outreachPage [data-oa]:before,.contact-actions [data-action="deepen"]:before{font-size:12px;line-height:1;opacity:.9}
/* write or follow up: the main job, solid */
#outreachPage [data-oa="write"],#outreachPage [data-oa="follow"]{background:#f1efe8;color:#111;border-color:transparent;font-weight:600}
#outreachPage [data-oa="write"]:before,#outreachPage [data-oa="follow"]:before{content:'✎'}
/* emailed / replied: green */
#outreachPage [data-oa="sent"],#outreachPage [data-oa="replied"]{background:rgba(126,226,154,.12);border-color:rgba(126,226,154,.4);color:#a9efbd}
#outreachPage [data-oa="sent"]:before,#outreachPage [data-oa="replied"]:before{content:'✓'}
/* research again: purple, the AI */
#outreachPage [data-oa="research"],.contact-actions [data-action="deepen"]{background:rgba(156,124,255,.14);border-color:rgba(156,124,255,.45);color:#d4c7ff}
#outreachPage [data-oa="research"]:before,.contact-actions [data-action="deepen"]:before{content:'↻'}
#outreachPage [data-oa="research"]:disabled{opacity:.7;animation:fw-busy 1.6s ease-in-out infinite}
@keyframes fw-busy{50%{box-shadow:0 0 0 4px rgba(156,124,255,.12)}}
/* bookings: gold */
#outreachPage [data-oa="meeting"],#outreachPage [data-oa="won"]{background:rgba(255,196,94,.14);border-color:rgba(255,196,94,.5);color:#ffd48a;font-weight:600}
#outreachPage [data-oa="meeting"]:before{content:'☎'}#outreachPage [data-oa="won"]:before{content:'★'}
/* not interested: muted red, no fill */
#outreachPage [data-oa="no"]{background:transparent;border-color:rgba(255,138,122,.3);color:#ff9e90}
#outreachPage [data-oa="no"]:before{content:'✕';font-size:10px}
/* gmail and reopen: plain blue */
#outreachPage [data-oa="gmail"],#outreachPage [data-oa="reopen"]{background:rgba(120,170,255,.1);border-color:rgba(120,170,255,.35);color:#b6cfff}
#outreachPage [data-oa="gmail"]:before{content:'✉'}#outreachPage [data-oa="reopen"]:before{content:'↺'}
#outreachPage .o-mail[data-oa="copy"]:before{content:none}
/* light (partners) colours */
html[data-mode=partners] #outreachPage [data-oa="sent"],html[data-mode=partners] #outreachPage [data-oa="replied"]{color:#147a45}
html[data-mode=partners] #outreachPage [data-oa="research"],html[data-mode=partners] .contact-actions [data-action="deepen"]{color:#5a3fd0}
html[data-mode=partners] #outreachPage [data-oa="meeting"],html[data-mode=partners] #outreachPage [data-oa="won"]{color:#8a6420}
html[data-mode=partners] #outreachPage [data-oa="no"]{color:#b5483c}
html[data-mode=partners] #outreachPage [data-oa="write"],html[data-mode=partners] #outreachPage [data-oa="follow"]{background:#2b2618;color:#f4f0e5}
.o-row.can-open{cursor:pointer}.o-row.can-open:hover{border-color:rgba(156,124,255,.4)}
.o-row.can-open .o-who strong:after{content:'';display:inline-block;width:6px;height:6px;margin-left:9px;vertical-align:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.5;transition:transform .3s var(--fwm-out,ease)}
.o-row.open .o-who strong:after{transform:rotate(-135deg)}
.o-row.open{border-bottom-left-radius:6px;border-bottom-right-radius:6px;margin-bottom:0}
.o-card{margin:0 0 14px;animation:rise .4s var(--fwm-out,ease) backwards}.o-card .person{border-top-left-radius:6px;border-top-right-radius:6px}
.o-busy,.o-fresh{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:12.5px;padding:8px 12px;border-radius:10px;margin-top:2px}
.o-busy{background:rgba(156,124,255,.12);color:#d4c7ff;position:relative;overflow:hidden}
.o-busy .bar{width:14px;height:14px;border-radius:50%;border:2px solid rgba(212,199,255,.35);border-top-color:#d4c7ff;animation:fw-spin .9s linear infinite;flex:none}
@keyframes fw-spin{to{transform:rotate(360deg)}}
.o-busy:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(156,124,255,.18),transparent);transform:translateX(-100%);animation:fw-sweep 1.8s ease-in-out infinite}
@keyframes fw-sweep{to{transform:translateX(100%)}}
.o-fresh{background:rgba(126,226,154,.1);color:#a9efbd;animation:rise .5s var(--fwm-out,ease) backwards}
.o-row:has(.o-busy){border-color:rgba(156,124,255,.55);box-shadow:0 0 0 3px rgba(156,124,255,.1)}
html[data-mode=partners] .o-busy{color:#5a3fd0}html[data-mode=partners] .o-fresh{color:#147a45}
@media (prefers-reduced-motion:reduce){.o-busy .bar,.o-busy:after{animation:none}}

/* ---------- big progress bar ---------- */
.pbig{margin:16px 0 12px}
.pbig-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.pbig-top b{font-size:20px;letter-spacing:-.02em}.pbig-top span{font-size:13px;opacity:.8}
.pbig-track{height:12px;border-radius:999px;background:rgba(128,128,120,.18);overflow:hidden;position:relative}
.pbig-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7ee29a,#7aa8ff,#b49cff);transition:width .8s var(--fwm-out,ease);position:relative;overflow:hidden}
.pbig-fill:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-100%);animation:fw-sweep 1.6s ease-in-out infinite}
html[data-mode=partners] .pbig-fill{background:linear-gradient(90deg,#147a45,#2b2618)}

/* ---------- new since you last looked ---------- */
.new-head{display:flex;align-items:center;gap:12px;margin:4px 0 14px;font-size:15px}
.new-head .mini{margin-left:auto}
.new-pill{font-size:10.5px;letter-spacing:.1em;padding:3px 9px;border-radius:999px;background:#7ee29a;color:#0d1a12;font-weight:700}
.seen-head{margin:30px 0 14px;padding-top:18px;border-top:1px dashed rgba(128,128,120,.35);font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.6}
.person.is-new{border-color:rgba(126,226,154,.55)!important;box-shadow:0 0 0 3px rgba(126,226,154,.1)}
.person.is-new .who h3:after{content:'NEW';display:inline-block;margin-left:10px;vertical-align:3px;font-size:10px;letter-spacing:.1em;font-weight:700;padding:3px 8px;border-radius:999px;background:#7ee29a;color:#0d1a12}
.person.is-new.seen-now{border-color:rgba(128,128,120,.25)!important;box-shadow:none;transition:border-color 1.2s,box-shadow 1.2s}
.person.is-new.seen-now .who h3:after{opacity:.35;transition:opacity 1.2s}
@media (prefers-reduced-motion:reduce){.pbig-fill:after{animation:none}}
.rest-line{margin:26px 0 8px;padding:14px 16px;border-radius:14px;border:1px dashed rgba(128,128,120,.35);font-size:13.5px;opacity:.85}
.rest-line .linkish{font-weight:600;margin-left:4px}
.rest-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:12px 16px;border-radius:14px;background:rgba(255,196,94,.08);border:1px solid rgba(255,196,94,.3);font-size:13.5px}
.not-ready .linkish{font-weight:600}
@media(max-width:760px){.rest-head{flex-direction:column;align-items:flex-start}}

/* ---------- review: decide on each find ---------- */
#reviewPage{animation:rise .5s var(--fwm-out,ease) backwards}
.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:#7ee29a;color:#0d1a12;font-size:11.5px;font-weight:700;vertical-align:1px}
.r-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-radius:16px;background:rgba(156,124,255,.1);border:1px solid rgba(156,124,255,.32);font-size:15px;margin-bottom:26px}
.r-group{margin:0 0 40px}
.r-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:0 0 12px;margin-bottom:16px;border-bottom:1px solid rgba(128,128,120,.25)}
body:has(#reviewPage) #newSearch,body:has(#outreachPage) #newSearch{display:none}
.r-head h3{margin:0;font-size:20px;letter-spacing:-.02em}.r-head span{font-size:13px;opacity:.7}
.r-head-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.r-live{color:#7ee29a;font-weight:600}
.r-none,.r-loading{font-size:14px;opacity:.7;margin:10px 0 18px}
.r-rest{margin:10px 0 0;font-size:13px;opacity:.9}.r-rest .linkish{font-weight:600}.r-rest .person{margin-top:14px;opacity:.85}
.r-empty{text-align:center;padding:60px 20px;border:1px dashed rgba(128,128,120,.35);border-radius:20px}.r-empty h3{font-size:24px;margin:0 0 8px}.r-empty p{opacity:.75;margin:0 0 18px}
/* keep / not for me */
.feedbackbar.decide{display:flex;align-items:center;gap:10px;justify-content:flex-start}
.feedbackbar.decide .feedback{margin-left:auto}
.keep-btn{background:#7ee29a!important;color:#0d1a12!important;border-color:transparent!important;font-weight:700;padding:9px 22px!important;font-size:14px!important}
.keep-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(126,226,154,.25)}
.notfor-btn{background:transparent!important;border-color:rgba(255,138,122,.35)!important;color:#ff9e90!important;padding:9px 16px!important;font-size:14px!important}
.kept-btn{background:rgba(126,226,154,.14)!important;border-color:rgba(126,226,154,.45)!important;color:#a9efbd!important;font-weight:600}
.kept-btn small{margin-left:8px;opacity:.6;font-weight:400}
html[data-mode=partners] .notfor-btn{color:#b5483c!important}html[data-mode=partners] .kept-btn{color:#147a45!important}
@media(max-width:760px){.r-head{flex-direction:column;align-items:flex-start}.r-top{flex-direction:column;align-items:flex-start}}

/* ---------- the three steps ---------- */
header nav [data-step]:before{content:attr(data-step);display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:7px;border-radius:50%;font-size:10.5px;font-weight:700;background:rgba(255,255,255,.12);vertical-align:1px}
header nav [data-step].active:before,header nav #reviewBtn:has(.nav-count):before{background:#7ee29a;color:#0d1a12}
html[data-mode=partners] header nav [data-step]:before{background:rgba(43,38,24,.1)}
.flow{display:flex;align-items:center;gap:14px;padding:14px 18px;margin:0 0 18px;border-radius:16px;background:rgba(126,226,154,.07);border:1px solid rgba(126,226,154,.28);font-size:14px;line-height:1.5}
.flow-step{flex:none;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:999px;background:#7ee29a;color:#0d1a12}
.flow-search{max-width:760px;margin:22px auto 10px;text-align:left}
.go-btn{margin-left:auto;flex:none;border:0;border-radius:999px;padding:11px 20px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;background:#7ee29a;color:#0d1a12;transition:transform .2s var(--fwm-spring,ease),box-shadow .2s}
.go-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(126,226,154,.3)}
.next-btn{margin-left:10px;border:0;border-radius:999px;padding:6px 14px;font:inherit;font-weight:700;cursor:pointer;background:#7ee29a;color:#0d1a12}
@media(max-width:760px){.flow{flex-direction:column;align-items:flex-start}.go-btn{margin-left:0}}
.ask-btn{background:rgba(156,124,255,.16)!important;border-color:rgba(156,124,255,.5)!important;color:#d4c7ff!important;font-weight:600}
html[data-mode=partners] .ask-btn{color:#5a3fd0!important}
.ask-ideas{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.ask-answer{margin-top:14px;padding:14px 16px;border-radius:14px;background:rgba(156,124,255,.1);border:1px solid rgba(156,124,255,.3);font-size:14.5px;line-height:1.6;animation:rise .45s var(--fwm-out,ease) backwards}
.ask-src{margin-top:8px;font-size:12px;opacity:.8;overflow-wrap:anywhere}.ask-note,.ask-wait{font-size:12.5px;opacity:.75;margin-top:10px}

/* ---------- kept / cleared feedback ---------- */
.keep-btn.done{animation:fx-pop .45s var(--fwm-spring,cubic-bezier(.34,1.56,.64,1))}
@keyframes fx-pop{40%{transform:scale(1.12)}}
.person.fx-kept{position:relative;border-color:rgba(126,226,154,.8)!important;box-shadow:0 0 0 4px rgba(126,226,154,.18),0 20px 50px rgba(126,226,154,.12)!important;transition:box-shadow .3s,border-color .3s}
.fx-stamp{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:inherit;background:rgba(10,20,14,.72);backdrop-filter:blur(3px);color:#a9efbd;font-size:22px;font-weight:700;letter-spacing:-.01em;z-index:5;animation:fx-stamp .45s var(--fwm-out,ease) both}
.fx-stamp span{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#7ee29a;color:#0d1a12;font-size:28px;animation:fx-pop .5s .1s var(--fwm-spring,ease) both}
.fx-stamp small{font-size:13px;font-weight:500;opacity:.8}
html[data-mode=partners] .fx-stamp{background:rgba(244,240,229,.85);color:#147a45}
@keyframes fx-stamp{from{opacity:0}}
.fx-chip{position:fixed;z-index:200;padding:8px 14px;border-radius:999px;background:#7ee29a;color:#0d1a12;font-weight:700;font-size:13px;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 10px 30px rgba(126,226,154,.35);pointer-events:none;animation:fx-stamp .3s both}
.fx-bump{animation:fx-bump .6s var(--fwm-spring,cubic-bezier(.34,1.56,.64,1))}
@keyframes fx-bump{30%{transform:scale(1.18);color:#7ee29a}}

/* click-to-copy email */
.contact .email.copyable{cursor:pointer;transition:color .25s ease}
.contact .email.copyable:hover{color:#7fb4ff}
.contact .email.copyable.copied{color:#5fd38d}

/* outreach status colours */
#outreachPage .o-row.st-waiting{border-left:3px solid #3fbf74;background:linear-gradient(90deg,rgba(63,191,116,.10),rgba(63,191,116,.02) 45%,transparent)}
#outreachPage .o-row.st-follow{border-left:3px solid #f0a53a;background:linear-gradient(90deg,rgba(240,165,58,.10),transparent 45%)}
#outreachPage .o-row.st-replied{border-left:3px solid #5b9dff;background:linear-gradient(90deg,rgba(91,157,255,.10),transparent 45%)}
#outreachPage .o-row.st-won{border-left:3px solid #e8c547;background:linear-gradient(90deg,rgba(232,197,71,.12),transparent 45%)}
#outreachPage .o-row.st-closed{border-left:3px solid #e2585b;opacity:.75}
#outreachPage .o-badge{display:inline-block;margin:0 8px 4px 0;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.01em;vertical-align:middle}
#outreachPage .o-badge.sent{background:rgba(63,191,116,.16);color:#5fd38d;border:1px solid rgba(63,191,116,.45)}
#outreachPage .o-badge.due{background:rgba(240,165,58,.16);color:#f5b95c;border:1px solid rgba(240,165,58,.45)}
#outreachPage .o-badge.rep{background:rgba(91,157,255,.16);color:#8cbaff;border:1px solid rgba(91,157,255,.45)}
#outreachPage .o-badge.won{background:rgba(232,197,71,.16);color:#f0d46a;border:1px solid rgba(232,197,71,.45)}
#outreachPage .o-badge.shut{background:rgba(226,88,91,.14);color:#ef8285;border:1px solid rgba(226,88,91,.4)}

/* email pop-up: To line + copy whole */
.draft-to{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.draft-to-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.draft-to-addr{all:unset;cursor:pointer;font-size:15px;font-weight:600;color:#fff;transition:color .2s ease}
.draft-to-addr:hover{color:#7fb4ff}
.draft-to-hint{margin-left:auto;font-size:12px;color:rgba(255,255,255,.45);transition:color .2s ease}
.draft-to-hint.ok{color:#5fd38d}
html[data-theme] .mini.copy-whole,.mini.copy-whole{background:#2fa863;border-color:#2fa863;color:#fff;font-weight:600}
html[data-theme] .mini.copy-whole:hover,.mini.copy-whole:hover{background:#38bb70;border-color:#38bb70}

/* saved Ask AI answers */
#askPast h4{margin:22px 0 10px}
.ask-item{margin:0 0 14px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.ask-q{display:flex;justify-content:space-between;gap:12px;font-weight:600;margin-bottom:8px;color:#fff}
.ask-q span{font-weight:400;font-size:12px;color:rgba(255,255,255,.45);white-space:nowrap}

/* rewrite highlighted text */
.sel-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 0;font-size:13px;color:rgba(255,255,255,.55)}
.sel-tools span{margin-right:4px}
.sel-tools .mini:not(:disabled){background:#5b4bd6;border-color:#5b4bd6;color:#fff}
.sel-tools .mini:disabled{opacity:.4;cursor:default}

/* Outreach owns the screen: hide anything left over from a search */
#results:has(#outreachPage) #scoreboard,
#results:has(#outreachPage) #researchConsole,
#results:has(#outreachPage) #resultTabs,
#results:has(#outreachPage) #progress,
#results:has(#outreachPage) #resultNotice{display:none!important}
/* emailed people in High scores */
.scoreboard tr.sent td{opacity:.45}
.scoreboard tr.sent td.st{opacity:1}
.scoreboard .stamp.sent{color:#5fd38d;border-color:#3fbf74;background:rgba(63,191,116,.12)}

/* email pop-up: actions right under the email, each its own colour */
.foot-actions.draft-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:12px 0 4px}
html[data-theme] .mini.sent-btn,.mini.sent-btn{background:#2f6fd6;border-color:#2f6fd6;color:#fff;font-weight:600}
html[data-theme] .mini.sent-btn:hover,.mini.sent-btn:hover{background:#3b7ce6;border-color:#3b7ce6}
html[data-theme] .mini.gmail-btn,.mini.gmail-btn{background:#d0443a;border-color:#d0443a;color:#fff;font-weight:600}
html[data-theme] .mini.gmail-btn:hover,.mini.gmail-btn:hover{background:#de5147;border-color:#de5147}
#draftText{min-height:260px;max-height:42vh}

/* Review owns the screen: hide the old search's high scores and tabs */
#results:has(#reviewPage) #scoreboard,
#results:has(#reviewPage) #resultTabs{display:none!important}
.review-board{margin:18px 0 26px}
.review-board tr[data-rgo]{cursor:pointer}
.review-board tr[data-rgo]:hover td{color:#fff}

html[data-theme] .mini.follow-btn,.mini.follow-btn{background:#d98a1f;border-color:#d98a1f;color:#fff;font-weight:600}
html[data-theme] .mini.follow-btn:hover,.mini.follow-btn:hover{background:#e69a33;border-color:#e69a33}

/* Instant press feedback on every button */
button,.mini{transition:transform .12s ease,background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease}
button:active:not(:disabled),.mini:active:not(:disabled){transform:scale(.96)}
/* Messages at the bottom fade up instead of popping */
#toast.toast-in{animation:fwToastIn .32s cubic-bezier(.2,.8,.2,1)}
@keyframes fwToastIn{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
#toast .toast-undo{margin-left:10px;font-weight:700;text-decoration:underline;color:inherit;cursor:pointer;background:none;border:0;padding:0}

/* Already emailed section on a search page */
.sent-head{margin-top:34px}
.sent-cards article.person{opacity:.72;transition:opacity .25s ease}
.sent-cards article.person:hover{opacity:1}
.emailed-tag{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:10px;background:rgba(63,191,116,.14);border:1px solid rgba(63,191,116,.45);color:#5fd38d;font-weight:600;font-size:13px}

/* Simpler film cards: one reason, the rest folds away */
html[data-mode=film] .person .angle{display:none}
.why-more,.people-fold{margin-top:10px}
.why-more>summary,.people-fold>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:rgba(255,255,255,.6);padding:6px 0;transition:color .2s ease}
.why-more>summary::-webkit-details-marker,.people-fold>summary::-webkit-details-marker{display:none}
.why-more>summary::before,.people-fold>summary::before{content:'›';display:inline-block;transition:transform .25s ease;font-size:16px;line-height:1}
.why-more[open]>summary::before,.people-fold[open]>summary::before{transform:rotate(90deg)}
.why-more>summary:hover,.people-fold>summary:hover{color:#fff}
.why-more[open]>*:not(summary),.people-fold[open]>*:not(summary){animation:fwFoldIn .3s cubic-bezier(.2,.8,.2,1)}
@keyframes fwFoldIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.reason-full{color:rgba(255,255,255,.72);margin:6px 0 10px}
.people-fold .more-people{margin-top:6px}
/* Send mode */
.send-start{margin-left:14px;vertical-align:middle;font-size:14px;padding:8px 16px}
html[data-theme] .mini.skip-btn,.mini.skip-btn{background:transparent;border-color:rgba(255,255,255,.28);color:#fff;font-weight:600}
html[data-theme] .mini.skip-btn:hover,.mini.skip-btn:hover{border-color:#fff}
