/* BAS Field Reference: shared app layer styles (badges, Pro lock, install, tab bar, dev switch) */
.bfr-badge{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;margin-right:8px;padding:2px 8px 2px 7px;border-radius:999px;
  font:700 11.5px/1.5 var(--sans,system-ui,sans-serif);letter-spacing:.04em;text-transform:uppercase;font-variation-settings:"wdth" 100;position:relative;top:-2px}
.bfr-badge.free{color:#9FDCEE;background:rgba(63,193,224,.12);border:1px solid rgba(63,193,224,.35)}
.bfr-badge.pro,.bfr-badge.locked{color:#FFC08F;background:rgba(240,122,43,.12);border:1px solid rgba(240,122,43,.45)}
.bfr-badge svg{width:12px;height:12px}
.bfr-locked{opacity:.82}
.bfr-locked:hover{opacity:1}

.bfr-lock{max-width:min(560px,calc(100vw - 32px));width:100%;padding:0;border:1px solid var(--line2,#28435E);border-radius:14px;
  background:var(--deep,#0A1521);color:var(--ink,#E6EEF5);box-shadow:0 24px 80px rgba(0,0,0,.6)}
.bfr-lock::backdrop{background:rgba(2,5,9,.72)}
.bfr-lock-in{padding:26px 26px 22px;font:400 16px/1.6 var(--sans,system-ui,sans-serif)}
.bfr-lock-tag{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;color:#FFC08F;font-weight:750;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.bfr-lock h2{margin:0;color:#fff;font-size:26px;line-height:1.15;font-weight:780;outline:none}
.bfr-lock-sub{margin:4px 0 14px;color:var(--muted,#93A4B6);font-size:14.5px}
.bfr-lock p{margin:0 0 10px}
.bfr-ticks{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:4px}
.bfr-ticks li{padding-left:26px;position:relative}
.bfr-ticks li:before{content:"";position:absolute;left:4px;top:.45em;width:12px;height:7px;border-left:2.5px solid #3FC1E0;border-bottom:2.5px solid #3FC1E0;transform:rotate(-45deg)}
.bfr-lock-free{color:var(--body-ink,#CFDAE5);font-size:14.5px;border-top:1px solid var(--line,#1A2C40);padding-top:12px}
.bfr-lock-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.bfr-lock-act .btn{font-size:15px;padding:11px 16px;cursor:pointer}
.bfr-lock-act .btn[disabled]{opacity:.55;cursor:not-allowed}
@media(max-width:520px){.bfr-lock-act .btn{flex:1 1 100%;text-align:center}}

.bfr-inst{display:none;margin-left:8px;background:transparent;color:var(--ice,#9FDCEE);border:1px solid var(--line2,#28435E);border-radius:6px;
  font:650 14.5px/1 var(--sans,system-ui,sans-serif);padding:9px 12px;cursor:pointer}
.bfr-inst:hover{border-color:var(--ice,#9FDCEE);color:#fff}
.bfr-can-install .bfr-inst{display:inline-block}
.bfr-app .bfr-inst{display:none!important}

.bfr-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;max-width:calc(100vw - 32px);
  background:#10263a;color:#fff;border:1px solid var(--line2,#28435E);border-radius:10px;padding:10px 14px;font:500 14.5px/1.4 var(--sans,system-ui,sans-serif);box-shadow:0 10px 30px rgba(0,0,0,.5)}

/* bottom tab bar: installed app on phones and tablets only, hidden inside a running exercise */
.bfr-tabs{display:none}
@media(max-width:900px){
  .bfr-app .bfr-tabs{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;
    background:rgba(4,8,13,.96);border-top:1px solid var(--line,#1A2C40);padding:4px 4px calc(4px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .bfr-app body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .bfr-app body.inlab,.bfr-app body.incase,.bfr-app body.intest{padding-bottom:0}
  .bfr-app body.inlab .bfr-tabs,.bfr-app body.incase .bfr-tabs,.bfr-app body.intest .bfr-tabs,.bfr-app body.in-lab .bfr-tabs{display:none}
}
.bfr-tabs a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;min-height:52px;justify-content:center;border-radius:8px;
  color:var(--muted,#93A4B6);text-decoration:none;font:600 11.5px/1.2 var(--sans,system-ui,sans-serif)}
.bfr-tabs a svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.bfr-tabs a[aria-current]{color:#fff;background:rgba(63,193,224,.1)}
.bfr-tabs a[aria-current] svg{stroke:#3FC1E0}

.bfr-dev{position:fixed;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:4px;padding:5px 6px 5px 10px;border-radius:999px;
  background:#2a1405;border:1px dashed #F07A2B;color:#FFC08F;font:700 12px/1 var(--mono,monospace)}
.bfr-app .bfr-dev{bottom:calc(74px + env(safe-area-inset-bottom))}
.bfr-dev button{background:transparent;color:#FFC08F;border:1px solid transparent;border-radius:999px;padding:4px 9px;font:inherit;cursor:pointer}
.bfr-dev button[aria-pressed="true"]{background:#F07A2B;color:#04080D}
@media(max-width:900px){.bfr-app header.nav a.item,.bfr-app header.nav a.buy{display:none}.bfr-app header.nav .wrap{min-height:52px;padding-bottom:0}}

/* offline search (app/search.js) */
[data-bfr-search]{max-width:720px;margin:22px 0 0}
.bfs-l{display:block;margin:0 0 6px;color:var(--ice,#9FDCEE);font:650 14px/1.2 var(--sans,system-ui,sans-serif)}
.bfs-q{width:100%;min-height:54px;padding:14px 16px 14px 46px;border-radius:10px;border:1px solid var(--line2,#28435E);color:#fff;font:500 17px/1.2 var(--sans,system-ui,sans-serif);
  background:var(--void,#04080D) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239FDCEE' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") 14px 50%/20px no-repeat}
.bfs-q:focus{outline:2px solid var(--cyan,#3FC1E0);outline-offset:1px}
.bfs-r{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.bfs-r a{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;padding:11px 14px;border-radius:10px;background:var(--deep,#0A1521);border:1px solid var(--line,#1A2C40);text-decoration:none;color:var(--ink,#E6EEF5)}
.bfs-r a:hover,.bfs-r a:focus{border-color:var(--line2,#28435E)}
.bfs-k{grid-row:span 2;font:700 11px/1.6 var(--mono,monospace);text-transform:uppercase;letter-spacing:.06em;color:var(--cyan,#3FC1E0);min-width:62px}
.bfs-r b{color:#fff;font-size:16px}.bfs-d{grid-column:2;color:var(--muted,#93A4B6);font-size:14px;line-height:1.4}
.bfs-none{color:var(--muted,#93A4B6);padding:8px 2px}

.bfr-deeper{margin:40px 0 0}.bfr-deeper p{margin:0;padding:16px 18px;border-radius:12px;border:1px solid var(--line,#1A2C40);background:var(--deep,#0A1521);color:var(--body-ink,#CFDAE5);font-size:15.5px}
.bfr-deeper b{color:#fff}
body.inlab .bfr-deeper,body.incase .bfr-deeper,body.intest .bfr-deeper,body.in-lab .bfr-deeper{display:none}
.bfr-deeper p+p{margin-top:8px}

/* ---- site shell (2026-09 redesign): nav search, column footer, search panel ---- */
header.nav a.item.srch{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;margin-left:4px;border:1px solid var(--line2,#28435E);border-radius:8px;color:var(--muted,#93A4B6)}
header.nav a.item.srch:hover,header.nav a.item.srch[aria-expanded="true"]{color:#fff;border-color:var(--ice,#9FDCEE)}
@media(max-width:640px){
  header.nav .wrap{padding-bottom:6px;row-gap:2px}
  header.nav .wrap:before{content:"";order:4;flex-basis:100%;height:0}
  header.nav .brand{width:auto;flex:1 1 auto;min-width:0}
  header.nav .wrap{padding-left:16px;padding-right:16px}
  header.nav a.buy{order:2;font-size:14px;padding:7px 12px;margin-left:8px}
  header.nav a.item:not(.srch){order:5;padding:6px 0;margin-right:14px;font-size:15px}
  header.nav a.item.srch{order:6;width:34px;height:34px;margin-left:auto}
  header.nav .bfr-inst{order:7}
}
@media(max-width:360px){header.nav .brand{font-size:0;gap:0}}
.bfr-app header.nav a.item.srch{display:inline-grid;order:2}
.bfr-sp{border-bottom:1px solid var(--line,#1A2C40);background:rgba(4,8,13,.97);position:sticky;top:62px;z-index:4}
.bfr-sp .wrap{padding-top:4px;padding-bottom:16px}
.bfr-sp [data-bfr-search]{margin:10px 0 0;max-width:none}
.bfr-sp .bfs-r{max-height:60vh;overflow:auto}
footer.bfr-foot{border-top:1px solid var(--line,#1A2C40);margin-top:48px;padding:44px 0 56px;color:var(--muted,#93A4B6);font-size:14.5px}
footer.bfr-foot .wrap{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:28px 28px;align-items:start}
footer.bfr-foot h2{margin:0 0 10px;color:var(--ink,#E6EEF5);font-size:14px;font-weight:700;letter-spacing:.02em}
footer.bfr-foot nav.fc{display:block;margin:0}
footer.bfr-foot nav.fc a{display:block;padding:3px 0;color:var(--muted,#93A4B6);text-decoration:none}
footer.bfr-foot a:hover{color:var(--ink,#E6EEF5)}
footer.bfr-foot .fb p{margin:8px 0 12px;line-height:1.55;max-width:30em}
footer.bfr-foot .fbrand{color:var(--ink,#E6EEF5);font-weight:750;text-decoration:none;font-size:16px}
footer.bfr-foot .fnotes{color:var(--ice,#9FDCEE);font-weight:650;text-decoration:none}
footer.bfr-foot .fcopy{grid-column:1/-1;margin:8px 0 0;padding-top:18px;border-top:1px solid var(--line,#1A2C40);font-size:13.5px}
@media(max-width:860px){footer.bfr-foot .wrap{grid-template-columns:1fr 1fr}footer.bfr-foot .fb{grid-column:1/-1}}
