bon / bon_ui.css
shaked08's picture
Upload 10 files
2df4c34 verified
Raw
History Blame Contribute Delete
22 kB
/* BON cinematic UI. Nocturne: indigo base, violet + cyan light. No aggressive blinking. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@300;400;500;600&display=swap');
:root{--bon-bg:#0a0813;--bon-panel:rgba(255,255,255,.045);--bon-edge:rgba(150,130,235,.16);
--bon-cyan:#a78bfa;--bon-blue:#5cc8ff;--bon-ink:#ece9ff;--bon-mut:#9a90c0;
--bon-good:#37e0a6;--bon-warn:#ffcf6b;--bon-bad:#ff6f9c;
--bon-serif:'Cormorant Garamond',Georgia,serif;--bon-display:'Fraunces',Georgia,serif;
--bon-ease:cubic-bezier(.22,1,.36,1);}
/* calm the default Gradio chrome so our stage leads */
gradio-app, .gradio-container{background:var(--bon-bg)!important;color:var(--bon-ink);
font-family:'Inter',-apple-system,system-ui,sans-serif;}
#bon-form{background:var(--bon-panel)!important;border:1px solid var(--bon-edge)!important;
border-radius:16px!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
#bon-investigate{letter-spacing:.06em;}
#bon-stage-mount{margin:6px 0 14px;}
.bon-stage{--pad:22px;position:relative;border-radius:20px;overflow:hidden;min-height:600px;
background:radial-gradient(1200px 700px at 70% -10%,rgba(62,52,120,.18),transparent 60%),var(--bon-bg);
box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);padding:var(--pad);}
.bon-stage *{box-sizing:border-box;}
.bon-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.bon-brand{display:flex;align-items:center;gap:10px;letter-spacing:.14em;font-size:12px;color:var(--bon-mut);text-transform:uppercase;}
.bon-brand b{color:var(--bon-ink);font-weight:600;letter-spacing:.24em;}
.bon-dot{width:8px;height:8px;border-radius:50%;background:var(--bon-cyan);box-shadow:0 0 12px var(--bon-cyan);}
.bon-status{font-size:12px;color:var(--bon-mut);letter-spacing:.05em;}
.bon-grid{display:grid;grid-template-columns:270px 1fr;gap:18px;}
@media (max-width:760px){.bon-grid{grid-template-columns:1fr;}}
.bon-panel{background:var(--bon-panel);border:1px solid var(--bon-edge);border-radius:16px;
backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.bon-steps{padding:18px 16px;position:relative;}
.bon-rail{position:absolute;left:29px;top:26px;bottom:26px;width:2px;background:linear-gradient(var(--bon-edge),rgba(150,130,235,.04));}
.bon-railfill{position:absolute;left:29px;top:26px;width:2px;height:0;background:linear-gradient(var(--bon-cyan),var(--bon-blue));
box-shadow:0 0 10px rgba(167,139,250,.6);transition:height .7s cubic-bezier(.4,0,.2,1);}
.bon-step{display:flex;align-items:center;gap:13px;padding:8px 0;position:relative;opacity:.4;transition:opacity .6s ease;}
.bon-step .nd{width:14px;height:14px;border-radius:50%;background:#120d20;border:1.5px solid var(--bon-edge);flex:0 0 auto;transition:all .5s ease;}
.bon-step .lb{font-size:13px;letter-spacing:.02em;color:var(--bon-mut);transition:color .5s ease;}
.bon-step.done{opacity:.85;}
.bon-step.done .nd{background:var(--bon-blue);border-color:var(--bon-blue);box-shadow:0 0 8px rgba(92,200,255,.5);}
.bon-step.done .lb{color:#c4d4f0;}
.bon-step.active{opacity:1;}
.bon-step.active .nd{background:var(--bon-cyan);border-color:var(--bon-cyan);
box-shadow:0 0 0 5px rgba(167,139,250,.12),0 0 16px rgba(167,139,250,.8);animation:bon-brea 1.6s ease-in-out infinite;}
.bon-step.active .lb{color:#fff;}
@keyframes bon-brea{0%,100%{box-shadow:0 0 0 5px rgba(167,139,250,.10),0 0 14px rgba(167,139,250,.6);}
50%{box-shadow:0 0 0 8px rgba(167,139,250,.05),0 0 22px rgba(167,139,250,.9);}}
.bon-arena{position:relative;border-radius:16px;overflow:hidden;min-height:544px;}
.bon-arena canvas{display:block;width:100%;height:544px;}
.bon-cap{position:absolute;left:22px;bottom:20px;right:22px;z-index:3;}
.bon-cap .k{font-size:19px;font-weight:600;margin-bottom:4px;opacity:0;transform:translateY(6px);transition:all .6s ease;}
.bon-cap .c{font-size:13px;color:var(--bon-mut);opacity:0;transform:translateY(6px);transition:all .6s ease .08s;}
.bon-cap.show .k,.bon-cap.show .c{opacity:1;transform:none;}
/* writing panel for the generation stage: a clean dark card so the map does not bleed through the text */
.bon-write{position:absolute;left:22px;right:22px;top:62px;z-index:5;opacity:0;transition:opacity .6s ease;
background:rgba(6,10,20,.94);border:1px solid var(--bon-edge);border-radius:16px;padding:18px 20px;
backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 20px 60px rgba(0,0,0,.5);
max-height:380px;overflow:hidden;}
.bon-write.show{opacity:1;}
.bon-write .memo{font-size:14px;line-height:1.65;color:#eef4ff !important;white-space:pre-wrap;max-height:360px;overflow:hidden;}
.bon-caret{display:inline-block;width:8px;height:16px;background:var(--bon-cyan);margin-left:2px;vertical-align:-2px;
box-shadow:0 0 10px var(--bon-cyan);animation:bon-blink 1s steps(2) infinite;}
@keyframes bon-blink{0%,50%{opacity:1}51%,100%{opacity:.15}}
/* tags that appear on the 3 nearest creators */
.bon-tag{position:absolute;z-index:4;font-size:11px;letter-spacing:.02em;padding:4px 9px;border-radius:999px;
background:rgba(10,16,28,.72);border:1px solid var(--bon-edge);backdrop-filter:blur(8px);
color:#cfe0ff;opacity:0;transform:translateY(4px);transition:all .5s ease;white-space:nowrap;pointer-events:none;}
.bon-tag.show{opacity:1;transform:none;}
.bon-tag.fraud{border-color:rgba(255,111,156,.45);color:#ffd7dd;}
.bon-tag.clean{border-color:rgba(55,224,166,.45);color:#c8ffe9;}
/* final report + full analysis panel */
.bon-report{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:26px;
opacity:0;pointer-events:none;transition:opacity .9s ease;}
.bon-report.show{opacity:1;pointer-events:auto;}
.bon-card{width:100%;max-width:460px;background:rgba(6,10,20,.96);border:1px solid var(--bon-edge);border-radius:18px;
padding:24px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 30px 80px rgba(0,0,0,.6);
max-height:520px;overflow:auto;}
.bon-ring{display:flex;align-items:center;gap:18px;margin-bottom:16px;}
.bon-score{font-size:34px;font-weight:700;color:#ffffff !important;}
.bon-verdict{margin-left:auto;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px;border-radius:999px;}
.bon-verdict.pay{color:var(--bon-good);border:1px solid rgba(55,224,166,.35);background:rgba(55,224,166,.08);}
.bon-verdict.negotiate{color:var(--bon-warn);border:1px solid rgba(255,207,107,.35);background:rgba(255,207,107,.08);}
.bon-verdict.walk{color:var(--bon-bad);border:1px solid rgba(255,111,156,.35);background:rgba(255,111,156,.08);}
.bon-card h4{margin:16px 0 6px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#b3c4e6 !important;font-weight:700;}
.bon-card p{margin:0 0 6px;font-size:13.5px;color:#eef4ff !important;line-height:1.6;white-space:pre-wrap;}
.bon-rowf{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:#dbe6fa !important;margin:6px 0;line-height:1.45;}
.bon-rowf .b{width:6px;height:6px;border-radius:50%;background:var(--bon-cyan);margin-top:6px;flex:0 0 auto;box-shadow:0 0 8px var(--bon-cyan);}
.bon-sim{display:flex;align-items:center;gap:10px;font-size:12.5px;color:#e6eeff !important;margin:6px 0;}
.bon-sim .pill{font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:999px;}
.bon-sim .pill.fraud{color:#ffd7dd;border:1px solid rgba(255,111,156,.4);}
.bon-sim .pill.clean{color:#c8ffe9;border:1px solid rgba(55,224,166,.4);}
.bon-sim .s{margin-left:auto;color:var(--bon-mut);}
.bon-btns{position:absolute;top:16px;right:16px;z-index:6;display:flex;gap:8px;}
.bon-btn{font-size:12px;letter-spacing:.05em;color:var(--bon-mut);background:rgba(255,255,255,.05);
border:1px solid var(--bon-edge);border-radius:999px;padding:7px 15px;cursor:pointer;
backdrop-filter:blur(10px);transition:all .3s ease;}
.bon-btn:hover{color:#fff;border-color:var(--bon-cyan);box-shadow:0 0 16px rgba(167,139,250,.25);}
.bon-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
/* force readable text regardless of the viewer's Gradio theme (the stage is always dark) */
.bon-cap .k{color:#ffffff !important;}
.bon-cap .c{color:#9fb2d6 !important;}
.bon-step .lb{color:#8394b3 !important;}
.bon-step.done .lb{color:#c4d4f0 !important;}
.bon-step.active .lb{color:#ffffff !important;}
.bon-brand b{color:#eaf2ff !important;}
.bon-status{color:#8394b3 !important;}
.bon-sim .s{color:#9fb2d6 !important;}
.bon-card span:not(.pill){color:inherit !important;}
/* hide Gradio's queue/status toasts for a clean, uninterrupted run */
.toast-wrap, .toast-body, div[class*="toast"]{display:none !important;}
/* modern, premium form controls (replace the old white boxes) */
#bon-form .block, #bon-form .form, #bon-form .gap{background:transparent !important;border:none !important;box-shadow:none !important;}
#bon-form input, #bon-form textarea, #bon-form select{
background:rgba(255,255,255,.045) !important;color:#eaf2ff !important;
border:1px solid rgba(150,130,235,.18) !important;border-radius:12px !important;
padding:11px 13px !important;transition:border-color .2s,box-shadow .2s;}
#bon-form input::placeholder, #bon-form textarea::placeholder{color:#5f6f8c !important;}
#bon-form input:focus, #bon-form textarea:focus, #bon-form select:focus{
border-color:var(--bon-cyan) !important;box-shadow:0 0 0 3px rgba(167,139,250,.15) !important;outline:none !important;}
#bon-form label span, #bon-form .label span{color:#9fb2d6 !important;}
#bon-form button{background:rgba(255,255,255,.05) !important;color:#eaf2ff !important;
border:1px solid rgba(150,130,235,.2) !important;border-radius:12px !important;font-weight:500 !important;transition:all .2s;}
#bon-form button:hover{border-color:var(--bon-cyan) !important;box-shadow:0 0 16px rgba(167,139,250,.2) !important;}
#bon-investigate{background:linear-gradient(120deg,#4c3a8f,#7b5cff) !important;border:none !important;
color:#fff !important;font-weight:600 !important;letter-spacing:.08em;}
#bon-investigate:hover{box-shadow:0 0 22px rgba(167,139,250,.4) !important;}
/* theme every Gradio control (including the niche dropdown) via theme variables */
.gradio-container, gradio-app{
--input-background-fill:rgba(255,255,255,.05) !important;
--input-background-fill-focus:rgba(255,255,255,.08) !important;
--input-border-color:rgba(150,130,235,.18) !important;
--input-border-color-focus:#a78bfa !important;
--block-background-fill:transparent !important;
--border-color-primary:rgba(150,130,235,.18) !important;
--body-text-color:#eaf2ff !important;
--body-text-color-subdued:#8394b3 !important;}
#bon-form .wrap{background:transparent !important;}
#bon-form ul, #bon-form .options{background:#120d20 !important;border:1px solid rgba(150,130,235,.2) !important;}
#bon-form li, #bon-form .options li{color:#eaf2ff !important;}
#bon-form li:hover, #bon-form .options li:hover, #bon-form .options .active{background:rgba(167,139,250,.14) !important;}
/* buttons sit at the top; the report card is pushed below them so nothing overlaps */
.bon-btns{top:14px !important;bottom:auto !important;right:16px !important;left:16px !important;
flex-direction:row !important;align-items:center;justify-content:flex-end;gap:8px;}
.bon-report{align-items:flex-start !important;padding-top:60px !important;}
.bon-card{max-height:462px !important;}
/* New investigation: light-blue neon square that separates it from the others */
#bon-new{border:1px solid var(--bon-cyan) !important;border-radius:10px !important;
background:rgba(167,139,250,.10) !important;color:#eaf6ff !important;box-shadow:0 0 14px rgba(167,139,250,.35) !important;}
#bon-new:hover{box-shadow:0 0 20px rgba(167,139,250,.55) !important;border-color:#c4b5fd !important;}
/* hint banner with a subtle neon LED glow (same blue) */
#bon-form .bon-hint{background:rgba(167,139,250,.08);border:1px solid rgba(167,139,250,.35);border-radius:12px;
padding:12px 14px;color:#cfe0ff !important;font-size:13px;line-height:1.55;margin:2px 0 8px;
box-shadow:0 0 16px rgba(167,139,250,.28), inset 0 0 10px rgba(167,139,250,.06);
animation:bon-hint-glow 2.8s ease-in-out infinite;}
#bon-form .bon-hint b{color:#eaf6ff !important;font-weight:700;}
@keyframes bon-hint-glow{
0%,100%{box-shadow:0 0 12px rgba(167,139,250,.20), inset 0 0 8px rgba(167,139,250,.05);}
50%{box-shadow:0 0 24px rgba(167,139,250,.38), inset 0 0 13px rgba(167,139,250,.09);}}
.bon-card a{color:#a78bfa !important;text-decoration:none;font-size:13px;}
.bon-card a:hover{text-decoration:underline;}
/* landing hero (additive; does not touch the stage, form, or animation) */
.bon-hero{text-align:center;padding:22px 12px 2px;}
.bon-hero h1{font-family:var(--bon-serif);font-size:31px;font-weight:500;letter-spacing:.01em;
color:#ece9ff !important;margin:2px 0 4px;opacity:0;animation:bon-rise .9s var(--bon-ease) .5s both;}
.bon-hero p{font-family:var(--bon-serif);font-style:italic;font-weight:400;font-size:17px;color:#a99fce !important;
margin:0;opacity:0;animation:bon-rise .9s var(--bon-ease) .62s both;}
#bon-hero-row{max-width:720px;margin:16px auto 4px;align-items:center;}
#bon-analyze-url{background:linear-gradient(120deg,#4c3a8f,#7b5cff) !important;border:none !important;
color:#fff !important;font-weight:600 !important;letter-spacing:.06em;}
#bon-analyze-url:hover{box-shadow:0 0 22px rgba(167,139,250,.4) !important;}
#bon-manual-link{max-width:720px;margin:2px auto 12px;background:transparent !important;border:none !important;
color:#9fb2d6 !important;box-shadow:none !important;text-decoration:underline;font-size:13px;}
#bon-manual-link:hover{color:#a78bfa !important;}
/* landing actions + coming-soon label */
#bon-hero-actions{max-width:520px;margin:12px auto 8px;gap:14px;justify-content:center;}
/* Coming Soon shown small, inside the Instant Creator Scan button */
#bon-scan{display:flex !important;flex-direction:column !important;align-items:center !important;line-height:1.15;}
#bon-scan::after{content:"Coming Soon";font-size:9px;letter-spacing:.14em;text-transform:uppercase;
color:#8a9bb8;margin-top:3px;font-weight:400;font-family:'Inter',sans-serif;}
#bon-analyze-manual{background:linear-gradient(120deg,#4c3a8f,#7b5cff) !important;border:none !important;
color:#fff !important;font-weight:600 !important;letter-spacing:.05em;}
#bon-analyze-manual:hover{box-shadow:0 0 22px rgba(167,139,250,.4) !important;}
#bon-scan{background:transparent !important;border:1px solid rgba(150,130,235,.3) !important;
color:#cfe0ff !important;font-weight:500 !important;letter-spacing:.05em;}
#bon-scan:hover{border-color:#a78bfa !important;box-shadow:0 0 16px rgba(167,139,250,.2) !important;}
.bon-coming{text-align:center;font-size:13px;font-style:italic;font-weight:300;letter-spacing:.04em;
color:#8a9bb8 !important;margin:4px auto 16px;}
/* hide the default Gradio footer (Use via API, Built with Gradio, Settings) */
footer{display:none !important;}
/* Instant Creator Scan modal */
.bon-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;
background:rgba(3,6,12,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.bon-modal-card{width:100%;max-width:420px;background:rgba(10,16,28,.98);border:1px solid rgba(150,130,235,.18);
border-radius:18px;padding:28px;box-shadow:0 40px 100px rgba(0,0,0,.6);}
.bon-modal-card h3{margin:0 0 10px;font-size:20px;font-weight:700;color:#eaf2ff !important;letter-spacing:-.01em;}
.bon-modal-card p{margin:0 0 18px;font-size:14px;line-height:1.6;color:#9fb2d6 !important;}
.bon-modal-form{display:flex;gap:10px;margin-bottom:10px;}
.bon-modal-form input{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(150,130,235,.2);border-radius:10px;
padding:11px 13px;color:#eaf2ff;font-size:14px;outline:none;}
.bon-modal-form input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px rgba(167,139,250,.15);}
.bon-modal-form button{background:linear-gradient(120deg,#4c3a8f,#7b5cff);border:none;border-radius:10px;color:#fff;
font-weight:600;padding:0 16px;cursor:pointer;font-size:13px;letter-spacing:.04em;}
#bon-notify-msg{font-size:12.5px;color:#8fe4c2;min-height:16px;margin-bottom:12px;}
.bon-modal-close{background:transparent;border:none;color:#8394b3;font-size:13px;cursor:pointer;text-decoration:underline;padding:0;}
.bon-modal-close:hover{color:#a78bfa;}
/* hide the raw download button from view but keep it clickable (the map's "Export PDF" triggers it) */
#bon-dl{position:fixed !important;left:-9999px !important;top:0 !important;width:1px !important;height:1px !important;
opacity:0 !important;overflow:hidden !important;pointer-events:auto;}
/* make sure the form never clips the Advanced section and the page can always scroll to it */
#bon-form, #bon-form .block, #bon-form .gap, #bon-form .form{overflow:visible !important;}
/* elegant fine serif tagline on the landing (above the actions) */
.bon-tagline{text-align:center;max-width:700px;margin:6px auto 30px;}
.bon-tagline .l1{font-family:var(--bon-serif);font-style:italic;font-weight:400;font-size:23px;
line-height:1.5;letter-spacing:.005em;color:#cdc6ea !important;
opacity:0;animation:bon-rise 1s var(--bon-ease) .15s both;}
/* the BON sentence: the one line in a distinct display face */
.bon-tagline .l2{font-family:var(--bon-display);font-weight:600;font-size:40px;letter-spacing:.005em;
color:#ffffff !important;margin-top:12px;
text-shadow:0 0 12px rgba(255,255,255,.35), 0 0 26px rgba(167,139,250,.55), 0 0 54px rgba(124,92,255,.35);
opacity:0;animation:bon-rise 1.1s var(--bon-ease) .35s both;}
@keyframes bon-rise{from{opacity:0;transform:translateY(16px);filter:blur(4px);}
to{opacity:1;transform:none;filter:blur(0);}}
/* Quick Starters with subtle scenario-matched neon accents */
#bon-qs-fake{border:1.6px solid #ff6f9c !important;color:#ffdfe4 !important;
background:rgba(255,111,156,.14) !important;box-shadow:0 0 20px rgba(255,111,156,.55), inset 0 0 12px rgba(255,111,156,.16) !important;}
#bon-qs-genuine{border:1.6px solid #37e0a6 !important;color:#d3ffef !important;
background:rgba(55,224,166,.14) !important;box-shadow:0 0 20px rgba(55,224,166,.55), inset 0 0 12px rgba(55,224,166,.16) !important;}
#bon-qs-border{border:1.6px solid #ffcf6b !important;color:#ffeecb !important;
background:rgba(255,207,107,.14) !important;box-shadow:0 0 20px rgba(255,207,107,.55), inset 0 0 12px rgba(255,207,107,.16) !important;}
#bon-qs-fake:hover{box-shadow:0 0 28px rgba(255,111,156,.8), inset 0 0 14px rgba(255,111,156,.22) !important;}
#bon-qs-genuine:hover{box-shadow:0 0 28px rgba(55,224,166,.8), inset 0 0 14px rgba(55,224,166,.22) !important;}
#bon-qs-border:hover{box-shadow:0 0 28px rgba(255,207,107,.8), inset 0 0 14px rgba(255,207,107,.22) !important;}
/* the Advanced panel and its toggle were removed for reliability; no styles remain for them */
/* responsive: phones and tablets (desktop unchanged) */
@media (max-width:820px){
.bon-grid{grid-template-columns:1fr;}
.bon-arena{min-height:440px;}
.bon-arena canvas{height:440px;}
}
@media (max-width:640px){
.bon-hero h1{font-size:26px;}
.bon-hero p{font-size:13px;}
.bon-tagline .l1{font-size:15px;}
.bon-tagline .l2{font-size:23px;}
.bon-hero h1{font-size:22px;}
#bon-hero-actions{flex-direction:column;max-width:100%;gap:10px;}
#bon-analyze-manual, #bon-scan{width:100% !important;}
.bon-stage{padding:14px;}
.bon-arena{min-height:400px;}
.bon-arena canvas{height:400px;}
.bon-steps{padding:12px 10px;}
.bon-btns{position:absolute;top:10px;left:10px;right:10px;flex-wrap:wrap;justify-content:center;gap:6px;}
.bon-btn{font-size:11px;padding:6px 11px;}
.bon-report{padding:14px;align-items:flex-start !important;padding-top:56px !important;}
.bon-card{max-width:100%;max-height:70vh;padding:18px;}
.bon-write{left:12px;right:12px;top:56px;padding:14px 16px;}
.bon-cap{left:14px;right:14px;bottom:14px;}
.bon-cap .k{font-size:16px;}
}
/* hero action buttons in the elegant fine serif, matching the landing */
#bon-analyze-manual, #bon-scan{font-family:var(--bon-serif) !important;font-weight:500 !important;
font-size:16px !important;letter-spacing:.03em;}
#bon-hero-actions{opacity:0;animation:bon-rise .9s var(--bon-ease) .74s both;}
/* ---- transitions polish: smooth, cinematic, level-up ---- */
/* the manual form fades in when opened. Opacity only, so its layout position stays stable
and the scroll-to lands accurately on the Quick Starters at the top. */
#bon-form{scroll-margin-top:72px;}
#bon-form.bon-reveal{animation:bon-reveal .7s var(--bon-ease) both;}
@keyframes bon-reveal{from{opacity:0;filter:blur(3px);}to{opacity:1;filter:blur(0);}}
/* unified easing + gentle lift on interactive elements */
#bon-analyze-manual, #bon-scan, #bon-investigate, #bon-qs-fake, #bon-qs-genuine, #bon-qs-border,
.bon-btn, #bon-new{transition:transform .28s var(--bon-ease), box-shadow .28s var(--bon-ease),
border-color .28s var(--bon-ease), color .28s var(--bon-ease), background .28s var(--bon-ease) !important;}
#bon-analyze-manual:hover, #bon-scan:hover, #bon-investigate:hover,
#bon-qs-fake:hover, #bon-qs-genuine:hover, #bon-qs-border:hover, #bon-new:hover{transform:translateY(-2px);}
#bon-analyze-manual:active, #bon-scan:active, #bon-investigate:active{transform:translateY(0) scale(.99);}
/* inputs ease their focus glow */
#bon-form input, #bon-form textarea, #bon-form select{transition:border-color .25s var(--bon-ease),
box-shadow .25s var(--bon-ease), background .25s var(--bon-ease) !important;}
/* honor users who prefer no motion */
@media (prefers-reduced-motion: reduce){
.bon-tagline .l1, .bon-tagline .l2, .bon-hero h1, .bon-hero p, #bon-hero-actions,
#bon-form.bon-reveal{animation:none !important;opacity:1 !important;transform:none !important;filter:none !important;}}