/* Shared chrome of the member area: the course navigator (/app/), every lesson page
   (/app/doc/<slug>, rendered by product/member-site/document_style.py), updates and the
   locked page. One file so the top menu looks and behaves the same everywhere.
   Brand: dark blue techno identity (brand/final). */
:root{--ink:#0b0e14;--deep:#070a10;--panel:#131826;--panel2:#171e2e;--line:#26334b;--line2:#34466a;
--text:#e8edf7;--soft:#c9d2e3;--muted:#9ca9bd;--blue:#3e7bfa;--cyan:#38e1ff;--amber:#ffb020;
--read:#4fe3b0;--read-bg:rgba(79,227,176,.09);--read-line:rgba(79,227,176,.42);
--glass:linear-gradient(160deg,rgba(24,33,54,.92),rgba(12,17,29,.92));
--glow:0 0 0 1px rgba(56,225,255,.35),0 10px 34px rgba(56,225,255,.12);
--sans:"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;--display:Sora,"Segoe UI",system-ui,sans-serif;
--mono:ui-monospace,"Cascadia Mono",Consolas,monospace;color-scheme:dark}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*{box-sizing:border-box}
html{background:var(--ink);-webkit-text-size-adjust:100%}
body{margin:0;color:var(--text);font:16px/1.6 var(--sans);overflow-wrap:break-word;
background:radial-gradient(900px 500px at 8% -8%,rgba(62,123,250,.16),transparent 70%),
radial-gradient(700px 420px at 100% 0,rgba(56,225,255,.07),transparent 70%),
linear-gradient(rgba(62,123,250,.035) 1px,transparent 1px) 0 0/44px 44px,
linear-gradient(90deg,rgba(62,123,250,.035) 1px,transparent 1px) 0 0/44px 44px,var(--ink);
background-attachment:fixed}
a{color:var(--cyan)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:6px}
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none}
.bba-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:50;background:var(--text);color:var(--ink);padding:8px 12px;border-radius:8px}
[hidden]{display:none!important}

/* ---- top bar ---- */
.bba-top{position:sticky;top:0;z-index:20;background:rgba(9,13,22,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.bba-top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--blue) 25%,var(--cyan) 60%,transparent);opacity:.7}
.bba-top__in{max-width:1320px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:18px;min-height:64px}
.bba-brand{display:flex;align-items:center;gap:10px;color:#e8edf7;text-decoration:none;flex:0 0 auto;font:800 15px/1.2 Inter,"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;letter-spacing:.04em;white-space:nowrap}
.bba-brand img{width:38px;height:38px;border-radius:9px}
/* Logo identical to the public site (site-nav.css); "Member area" on the right (1. 11. 2026) */
/* Inside the member area "Member area" is a "you are here" mark, not a button (1. 11. 2026): a lit
   dot, no border, no hover; /app/shell.js turns the link into plain text. */
.bba-area{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 12px;border-radius:999px;background:rgba(56,225,255,.08);color:var(--cyan);font:600 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;text-decoration:none;white-space:nowrap;pointer-events:none;cursor:default}
.bba-area::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.bba-links{display:flex;align-items:center;gap:2px}
.bba-links a{padding:8px 11px;border-radius:9px;color:var(--soft);text-decoration:none;font-size:14.5px;white-space:nowrap}
.bba-links a:hover{color:var(--text);background:rgba(62,123,250,.12)}
.bba-links a[aria-current]{color:var(--text);background:rgba(56,225,255,.1);box-shadow:inset 0 -2px 0 var(--cyan)}
.bba-search{position:relative;margin-left:auto;flex:0 1 300px}
.bba-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.bba-search input{width:100%;padding:9px 12px 9px 34px;border:1px solid var(--line);border-radius:10px;background:rgba(7,10,16,.7);color:var(--text);font:14px var(--sans)}
.bba-search input:focus{outline:0;border-color:var(--cyan);box-shadow:var(--glow)}
.bba-user{flex:0 0 auto;display:flex;align-items:center}
.bba-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid var(--line2);border-radius:10px;background:var(--panel2);color:var(--text);font:600 14.5px var(--sans);text-decoration:none;cursor:pointer}
.bba-btn:hover{border-color:var(--cyan);color:var(--text)}
.bba-btn--primary{border-color:transparent;background:linear-gradient(135deg,#3e7bfa,#2b63e0 60%,#1f8fd6);box-shadow:0 6px 22px rgba(62,123,250,.35)}
.bba-btn--primary:hover{box-shadow:0 0 0 1px var(--cyan),0 8px 26px rgba(56,225,255,.3)}
.bba-btn--ghost{background:transparent}
.bba-btn[disabled]{opacity:.55;cursor:default}
.bba-account-btn{display:inline-flex;align-items:center;gap:9px;padding:5px 12px 5px 5px;border:1px solid var(--line2);border-radius:999px;background:var(--panel2);color:var(--text);font:600 14px var(--sans);cursor:pointer}
.bba-account-btn:hover{border-color:var(--cyan)}
.bba-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#06101d;font:700 13px var(--mono);text-transform:uppercase}
.bba-avatar--big{width:42px;height:42px;font-size:17px}

/* ---- popovers (login, account) ---- */
.bba-pop{position:fixed;inset:72px 16px auto auto;margin:0;width:min(360px,calc(100vw - 32px));padding:18px;border:1px solid var(--line2);border-radius:16px;background:var(--glass);color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.6),0 0 0 1px rgba(56,225,255,.08)}
.bba-pop::backdrop{background:rgba(3,5,10,.45)}
.bba-pop h2{margin:0 0 6px;font:650 18px/1.3 var(--display)}
.bba-pop p{margin:0 0 12px;color:var(--muted);font-size:14px}
.bba-pop label{display:block;margin-bottom:5px;color:var(--soft);font-size:13.5px}
.bba-pop input[type=email]{width:100%;padding:10px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:10px;background:var(--deep);color:var(--text);font:15px var(--sans)}
.bba-pop input[type=email]:focus{outline:0;border-color:var(--cyan);box-shadow:var(--glow)}
.bba-pop .bba-btn{width:100%}
.bba-status{min-height:1.4em;margin:10px 0 0!important;font-size:13.5px}
.bba-status[data-kind=good]{color:var(--read)}.bba-status[data-kind=bad]{color:#ff9f9f}
.bba-pop__who{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.bba-pop__who b{display:block;font-size:14.5px;word-break:break-all}
.bba-pop__who small{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}
.bba-pop__who small::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted)}
.bba-pop__who small[data-state=active]{color:var(--read)}.bba-pop__who small[data-state=active]::before{background:var(--read);box-shadow:0 0 8px var(--read)}
.bba-pop__who small[data-state=none]::before{background:var(--amber)}
.bba-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border:0;border-radius:10px;background:none;color:var(--soft);font:15px var(--sans);text-align:left;text-decoration:none;cursor:pointer}
.bba-menu-item:hover{background:rgba(62,123,250,.14);color:var(--text)}
.bba-menu-item svg{flex:0 0 auto;color:var(--cyan)}
.bba-menu-item small{display:block;color:var(--muted);font-size:12px}
.bba-pop form{margin:0}
.bba-pop hr{border:0;border-top:1px solid var(--line);margin:8px 0}

/* ---- progress bar ---- */
.bba-bar{display:block;height:8px;border-radius:999px;background:rgba(7,10,16,.9);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.bba-bar>i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 12px rgba(56,225,255,.55);transition:width .5s ease}

/* ---- state icons ---- */
.bba-state{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line2);color:transparent}
.is-read .bba-state{border-color:var(--read);background:var(--read-bg);color:var(--read)}
.is-current .bba-state{border-color:var(--cyan);box-shadow:0 0 10px rgba(56,225,255,.5);color:var(--cyan)}
.is-locked .bba-state{border-color:#4a3a1c;color:var(--amber);background:rgba(255,176,32,.06)}

@media(max-width:980px){.bba-links a{padding:8px 8px;font-size:14px}}
@media(max-width:1080px){.bba-brand{font-size:13px}}
@media(max-width:400px){.bba-brand{font-size:12px}.bba-brand img{width:32px;height:32px}.bba-area{padding:4px 8px;letter-spacing:.06em}}
@media(max-width:820px){
.bba-top{position:static}
.bba-top__in{flex-wrap:wrap;gap:10px 12px;padding:10px 16px}
.bba-brand{order:1;margin-right:auto;min-width:0}
.bba-area{order:2}
.bba-account-btn{padding:5px}.bba-account-btn>span:last-child{display:none}
.bba-btn--primary[data-bba-signed-out]{min-height:36px;padding:6px 14px}
.bba-user{order:2}
.bba-links{order:3;width:100%;overflow-x:auto;scrollbar-width:none;margin:0 -4px}
.bba-search{order:4;flex:1 1 100%;margin:0}
.bba-pop{inset:64px 16px auto 16px;width:auto}
}
/* Phone, signed out: logo, "Member area" and Log in do not fit one row; the Log in button wins (final QA 1. 11. 2026) */
@media(max-width:460px){.bba-top__in:has([data-bba-signed-out]:not([hidden])) .bba-area{display:none}}
@media print{.bba-top{display:none!important}body{background:#fff}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
