/* BSMT Identity — canonical BSMT light visual tokens, responsive and accessible */
@font-face{font-family:"Source Serif 4";src:url("/assets/bsmt/SourceSerif4Variable-Roman.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("/assets/bsmt/SourceSans3VF-Upright.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap}
:root{--b-ink:#0E1116;--b-paper:#FCFCFA;--b-panel:#F2F4F7;--b-border:#D2D7DF;--b-muted:#5C6470;--b-red:#9E2B20;--b-red-hover:#BE3527;--b-focus:#F0A202;--b-violet:#6D3CC9;--b-sans:"Source Sans 3",system-ui,-apple-system,sans-serif;--b-serif:"Source Serif 4",Georgia,serif;color-scheme:light}
html{background:var(--b-paper);font-size:16px}
html body{background:var(--b-paper);color:var(--b-ink);font:400 1rem/1.6 var(--b-serif);margin:0;min-height:100vh}
body *{box-sizing:border-box}
body img{max-width:100%}
body a{color:var(--b-red);text-underline-offset:.18em}
body :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--b-ink)!important;outline-offset:3px!important;box-shadow:0 0 0 3px var(--b-focus)!important}
body #layout{min-height:calc(100vh - 6rem);margin:0;background:var(--b-paper)}
body #header{height:auto;min-height:5.9rem;border-top:3px solid var(--b-red);border-bottom:1px solid var(--b-border);background:var(--b-paper);box-shadow:none}
body #header .wrap{width:min(calc(100% - 2rem),1200px);max-width:1200px;margin:auto;min-height:5.9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
body #header .bsmt-brand{display:inline-flex;align-items:center;gap:.75rem;max-width:100%;text-decoration:none;color:var(--b-ink);line-height:1.2}
body #header .bsmt-mark{width:3.3rem;height:3.3rem;object-fit:contain;display:block;flex:none}
body #header .bsmt-wordmark{display:flex;flex-direction:column;gap:.2rem}
body #header .bsmt-wordmark strong{font:600 clamp(.92rem,1vw + .7rem,1.22rem)/1.2 var(--b-serif);color:var(--b-ink)}
body #header .bsmt-wordmark span{font:500 .78rem/1.3 var(--b-sans);color:var(--b-muted)}
body #header .bsmt-header-links{display:flex;align-items:center;gap:.65rem;flex:none;font:600 .89rem/1.25 var(--b-sans)}
body #header .bsmt-header-links a{padding:.65rem .8rem;text-decoration:none;color:var(--b-ink);border:1px solid transparent}
body #header .bsmt-header-links a:hover{border-color:var(--b-border);background:#fff}
body #content{background:var(--b-paper);padding:clamp(2rem,5vw,4.5rem) 0 4.5rem}
body #content>.wrap{width:min(calc(100% - 2rem),760px);max-width:760px;margin:0 auto}
body #content h1{font:600 clamp(2rem,2.2vw + 1.4rem,3.05rem)/1.12 var(--b-serif);color:var(--b-ink);margin:0 0 1.1rem;letter-spacing:-.02em}
body #content h2{font:400 clamp(1.13rem,.8vw + 1rem,1.42rem)/1.45 var(--b-serif);color:var(--b-muted);margin:0 0 1.9rem}
body #content p,body #content li{font:400 1rem/1.6 var(--b-serif);color:var(--b-ink)}
body #content input[type=text],body #content input[type=password],body #content input[type=email]{width:100%;min-height:3rem;min-width:0;border:1px solid var(--b-border);border-radius:2px;background:#fff;color:var(--b-ink);padding:.7rem .85rem;box-shadow:none;font:400 1rem/1.3 var(--b-sans)}
body #content input[type=checkbox]{accent-color:var(--b-red)}
body #content button,body #content input[type=submit],body #content .pure-button{min-height:2.9rem;padding:.75rem 1.2rem;background:var(--b-red);border:1px solid var(--b-red);border-radius:2px;box-shadow:none;color:#fff;cursor:pointer;font:600 1rem/1.25 var(--b-sans);text-shadow:none}
body #content button:hover,body #content input[type=submit]:hover,body #content .pure-button:hover{background:var(--b-red-hover);border-color:var(--b-red-hover);color:#fff}
body #content button:disabled{opacity:.55;cursor:not-allowed}
body #content form{font-family:var(--b-sans);font-size:1rem}
body #content form label{font:600 .97rem/1.4 var(--b-sans);color:var(--b-ink)}
body #content .bounding-tokens{padding:1.6rem;margin:1.4rem 0;background:#fff;border:1px solid var(--b-border);box-shadow:0 5px 25px rgba(14,17,22,.04);border-radius:3px}
body #content .tokencaption{font:600 1.2rem/1.3 var(--b-serif);display:block;margin-bottom:1.15rem;color:var(--b-ink)}
body #content #regform{display:block}
body #content #regform label[for=tokenname]{display:block;margin:0 0 .55rem}
body #content #regform #tokenname{display:block;margin:0 0 1.1rem;width:100%}
body #content #regform #label-passwordless{display:block;margin:-1.75rem 0 1.4rem;padding-left:1.6rem}
body #content #regform #passwordless{width:1.1rem;height:1.1rem;vertical-align:middle}
body #content #regform #span-passwordless{display:block;font:400 .91rem/1.48 var(--b-sans);color:var(--b-muted);margin-top:.4rem}
body #content #regform #regformSubmit{display:block;width:100%}
body #content .message-box{border:1px solid var(--b-border);border-left:3px solid var(--b-red);background:white;box-shadow:none}
body #footer{display:block;height:auto;min-height:5rem;padding:1.4rem 0;border-top:1px solid var(--b-border);background:var(--b-paper);color:var(--b-muted)}
body #footer>.wrap{width:min(calc(100% - 2rem),1200px);max-width:1200px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}
body #footer .bsmt-footer-copy,body #footer .bsmt-footer-meta{font:400 .81rem/1.5 var(--b-sans);color:var(--b-muted)}
body #footer a{color:var(--b-ink);text-decoration:none}
body #footer a:hover{text-decoration:underline;color:var(--b-red)}
body #foot{height:auto}
/* Standalone, two-purpose gateway */
.bsmt-gateway{width:min(calc(100% - 2rem),1200px);margin:0 auto;padding:clamp(2rem,6vw,5rem) 0}
.bsmt-gateway-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5.5rem);align-items:start}
.bsmt-eyebrow{font:700 .76rem/1.2 var(--b-sans);text-transform:uppercase;letter-spacing:.14em;color:var(--b-red)}
.bsmt-gateway h1{font:600 clamp(2.65rem,4.4vw,5.1rem)/1.06 var(--b-serif);letter-spacing:-.03em;color:var(--b-ink);margin:.9rem 0 1.4rem}
.bsmt-gateway .bsmt-intro{max-width:29rem;font:400 clamp(1.08rem,1.4vw,1.32rem)/1.52 var(--b-serif);color:var(--b-muted)}
.bsmt-gateway .bsmt-brand-line{width:5.5rem;height:3px;background:var(--b-red);margin:2rem 0}
.bsmt-gateway .bsmt-service-note{max-width:30rem;border-top:1px solid var(--b-border);padding-top:1rem;font:400 .91rem/1.55 var(--b-sans);color:var(--b-muted)}
.bsmt-auth-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}
.bsmt-auth-panels--single{grid-template-columns:minmax(0,1fr);width:100%;max-width:31rem;justify-self:center}
.bsmt-auth-panels--single .bsmt-auth-card{min-height:25rem}
.bsmt-auth-bottom{padding-top:1rem;border-top:1px solid var(--b-border)}
.bsmt-auth-bottom .bsmt-auth-small{font-size:.94rem}
.bsmt-auth-bottom .bsmt-auth-small a{font-weight:700;text-underline-offset:.18em}
.bsmt-auth-card{background:#fff;border:1px solid var(--b-border);border-top:3px solid var(--b-ink);padding:clamp(1.25rem,2.5vw,2rem);min-width:0;display:flex;flex-direction:column;gap:1.1rem;min-height:26rem;box-shadow:0 6px 30px rgba(14,17,22,.035)}
.bsmt-auth-card[data-mode=register]{border-top-color:var(--b-red)}
.bsmt-auth-card h2{font:600 clamp(1.5rem,2vw,2rem)/1.16 var(--b-serif);margin:0;color:var(--b-ink)}
.bsmt-auth-card p{font:400 .94rem/1.52 var(--b-sans);color:var(--b-muted);margin:0}
.bsmt-auth-action{display:flex;align-items:center;justify-content:center;gap:.72rem;padding:.81rem 1rem;min-height:3.1rem;text-align:center;font:600 .96rem/1.2 var(--b-sans);text-decoration:none;border:1px solid var(--b-ink);color:var(--b-ink);background:#fff;border-radius:2px;cursor:pointer}
.bsmt-auth-action:hover:not(:disabled){background:var(--b-panel);text-decoration:none;color:var(--b-ink)}
.bsmt-auth-action-primary{background:var(--b-red);color:#fff;border-color:var(--b-red)}
.bsmt-auth-action-primary:hover:not(:disabled){background:var(--b-red-hover);color:#fff}
.bsmt-auth-action:disabled{opacity:.56;cursor:not-allowed;background:#f7f7f5}
.bsmt-google-g{font:700 1.18rem/1 var(--b-sans);color:#4285F4}
.bsmt-google-status{font:500 .76rem/1.4 var(--b-sans);color:var(--b-muted);text-align:center;margin:-.55rem 0 0}
.bsmt-auth-divider{display:flex;align-items:center;gap:.65rem;color:var(--b-muted);font:500 .75rem/1.3 var(--b-sans);text-transform:uppercase;letter-spacing:.08em}
.bsmt-auth-divider:before,.bsmt-auth-divider:after{content:"";height:1px;background:var(--b-border);flex:1}
.bsmt-auth-bottom{margin-top:auto}
.bsmt-auth-small{font:400 .82rem/1.5 var(--b-sans);color:var(--b-muted);margin:0}
.bsmt-auth-small a{color:var(--b-red)}
.bsmt-gateway-header{border-top:3px solid var(--b-red);border-bottom:1px solid var(--b-border);padding:1rem 0;background:var(--b-paper)}
.bsmt-gateway-header>.bsmt-shell,.bsmt-gateway-footer>.bsmt-shell{width:min(calc(100% - 2rem),1200px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.bsmt-gateway-header .bsmt-gateway-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--b-ink)}
.bsmt-gateway-header img{width:3.2rem;height:3.2rem}
.bsmt-gateway-header strong{display:block;font:600 1.05rem/1.25 var(--b-serif)}
.bsmt-gateway-header small{font:400 .8rem/1.35 var(--b-sans);color:var(--b-muted)}
.bsmt-gateway-header nav{font:600 .86rem/1.25 var(--b-sans)}
.bsmt-gateway-header nav a{color:var(--b-ink);text-decoration:none;padding:.5rem}
.bsmt-gateway-footer{border-top:1px solid var(--b-border);padding:1.5rem 0;color:var(--b-muted);font:400 .81rem/1.5 var(--b-sans)}
.bsmt-gateway-footer a{color:var(--b-ink);text-decoration:none}
@media(max-width:970px){.bsmt-gateway-grid{grid-template-columns:minmax(0,1fr)}.bsmt-gateway .bsmt-intro{max-width:45rem}.bsmt-auth-card{min-height:23rem}}
@media(max-width:650px){body #header .bsmt-mark{width:2.65rem;height:2.65rem}body #header .bsmt-wordmark strong{font-size:.87rem}body #header .bsmt-wordmark span{font-size:.69rem}body #header .bsmt-header-links{font-size:.79rem;gap:.05rem}body #header .bsmt-header-links a{padding:.5rem .3rem}.bsmt-gateway-header img{width:2.65rem;height:2.65rem}.bsmt-gateway-header strong{font-size:.86rem}.bsmt-gateway-header small{font-size:.72rem}.bsmt-gateway-header nav{font-size:.79rem}.bsmt-gateway-header nav a{padding:.35rem}.bsmt-gateway{padding:2.4rem 0}.bsmt-gateway h1{font-size:2.65rem}.bsmt-auth-panels{grid-template-columns:minmax(0,1fr)}.bsmt-auth-card{min-height:0}.bsmt-gateway-footer>.bsmt-shell,body #footer>.wrap{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
