/* DOSINT v20 — liquid glass + motion. Loaded after theme.css; remove its <link> and <script src="/glass.js"> to go back to v19. */
:root{--gl-bg:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.028) 55%,rgba(255,255,255,.055));
 --gl-bd:rgba(255,255,255,.12);--gl-hi:rgba(255,255,255,.24);--gl-lo:rgba(0,0,0,.5);--gl-sh:0 26px 60px -30px rgba(0,0,0,.95);
 --gl-blur:blur(22px) saturate(170%);--gl-spot:rgba(255,255,255,.11);--gl-ease:cubic-bezier(.2,.75,.2,1)}
[data-theme="light"]{--gl-bg:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.4) 60%,rgba(255,255,255,.62));
 --gl-bd:rgba(255,255,255,.75);--gl-hi:#fff;--gl-lo:rgba(30,45,80,.14);--gl-sh:0 24px 54px -30px rgba(30,45,80,.5);--gl-spot:rgba(255,255,255,.7)}

/* ---- glass surfaces (spotlight follows the pointer via --mx/--my, set in glass.js) ---- */
.card,.fc,.sc,.tile2,.term,.tw,.mx,.box,.dcard,.mbox,.auto,.hq,.srcs span,.ddp,.rep .card{
 background:radial-gradient(380px circle at var(--mx,50%) var(--my,-30%),var(--gl-spot),transparent 55%),var(--gl-bg)!important;
 -webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);border:0!important;
 box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px var(--gl-bd),inset 0 -1px 0 var(--gl-lo),var(--gl-sh)!important;
 transition:transform .55s var(--gl-ease),box-shadow .4s,background-color .4s}
.fc,.tile2,.sc,.tw{will-change:transform}
.fc:hover,.tile2:hover,.sc:hover{transform:translateY(-4px)}
.srcs span{box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px var(--gl-bd)!important}
.hq:focus-within,.auto:focus-within{box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px var(--mut),0 0 0 5px rgba(255,255,255,.06),var(--gl-sh)!important}
input[type=text],input[type=search],input:not([type]),textarea,select{background:rgba(0,0,0,.22)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
[data-theme="light"] input[type=text],[data-theme="light"] input[type=search],[data-theme="light"] input:not([type]),[data-theme="light"] textarea,[data-theme="light"] select{background:rgba(255,255,255,.6)!important}
.hq input,.auto input{background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none}

/* ---- buttons: glass secondary + sheen on the primary ---- */
.btn{position:relative;overflow:hidden;transition:transform .35s var(--gl-ease),box-shadow .3s,background .3s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s var(--gl-ease);pointer-events:none}
.btn:not(.s):hover::after{transform:translateX(130%)}
.btn:active{transform:scale(.96)}
.btn.s,.btn.s:hover{background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);border:0;box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px var(--gl-bd)}
.btn.s:hover{background:rgba(255,255,255,.11)}
[data-theme="light"] .btn.s,[data-theme="light"] .btn.s:hover{background:rgba(255,255,255,.55)}

/* ---- floating pill navigation ---- */
.lnav{position:fixed!important;top:14px;left:50%;translate:-50% 0;width:min(980px,calc(100vw - 24px));padding:9px 12px 9px 18px!important;border:0!important;border-radius:999px;
 background:var(--gl-bg),rgba(0,0,0,.35)!important;-webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);
 box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px var(--gl-bd),inset 0 -1px 0 var(--gl-lo),var(--gl-sh);
 transition:width .6s var(--gl-ease),top .45s var(--gl-ease),padding .45s,box-shadow .4s;animation:gl-drop .9s var(--gl-ease) both}
[data-theme="light"] .lnav{background:var(--gl-bg),rgba(255,255,255,.35)!important}
.lnav.lg-s{width:min(780px,calc(100vw - 24px));top:9px}
.lnav .brand small{display:none}
.hero{padding-top:clamp(120px,21vh,190px)!important}
.top{background:var(--gl-bg),rgba(0,0,0,.4)!important;-webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);border-bottom:1px solid var(--gl-bd)!important}
/* Chromium only: real refraction of what is behind the nav (SVG displacement) */
html.lg-r .lnav,html.lg-r .box{-webkit-backdrop-filter:url(#lg-f) blur(10px) saturate(170%) brightness(1.06);backdrop-filter:url(#lg-f) blur(10px) saturate(170%) brightness(1.06)}

/* ---- sign-in: glass card over the aurora ---- */
#auth{background:transparent!important;position:relative;z-index:1}
.box{border-radius:26px;padding:28px 26px}
#auth:not([hidden]) .box{animation:gl-pop .85s var(--gl-ease) both}
#auth:not([hidden]) .box>*{animation:gl-up .7s var(--gl-ease) both}
#auth:not([hidden]) .box>*:nth-child(2){animation-delay:.08s}#auth:not([hidden]) .box>*:nth-child(3){animation-delay:.14s}#auth:not([hidden]) .box>*:nth-child(4){animation-delay:.2s}#auth:not([hidden]) .box>*:nth-child(5){animation-delay:.26s}#auth:not([hidden]) .box>*:nth-child(n+6){animation-delay:.32s}

/* ---- hero: ambient liquid orb + staggered headline ---- */
.hero{position:relative;isolation:isolate}
.hero h1 .w{display:inline-block;animation:gl-word 1s var(--gl-ease) both;animation-delay:calc(var(--i,0)*75ms + .2s)}
.hero-info>*:not(h1):not(img){animation:gl-up .9s var(--gl-ease) both}
.hero-info>.lead{animation-delay:.55s}.hero-info>.hq{animation-delay:.68s}.hero-info>.hq-t{animation-delay:.76s}.hero-info>.cta{animation-delay:.84s}.hero-info>.trust{animation-delay:.92s}
.hero .term{animation:gl-up 1s var(--gl-ease) 1s both}

/* ---- scroll reveal: soft blur-in, staggered across grids ---- */
.js-rv .rv{filter:blur(8px);transition:opacity .9s var(--gl-ease),transform .9s var(--gl-ease),filter .9s var(--gl-ease)!important;transition-delay:var(--d,0s)!important}
.js-rv .rv.in{filter:none}
.lf2,.lf{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

/* ---- dashboard motion ---- */
#m-dash:not([hidden]) .dh,#m-dash:not([hidden]) .auto,#m-dash:not([hidden]) .stat2 .sc,#m-dash:not([hidden]) .dgrid .card{animation:gl-up .8s var(--gl-ease) both}
#m-dash .auto{animation-delay:.08s!important}#m-dash .stat2 .sc:nth-child(1){animation-delay:.14s}#m-dash .stat2 .sc:nth-child(2){animation-delay:.2s}#m-dash .stat2 .sc:nth-child(3){animation-delay:.26s}#m-dash .stat2 .sc:nth-child(4){animation-delay:.32s}#m-dash .dgrid .card:nth-child(1){animation-delay:.4s}#m-dash .dgrid .card:nth-child(2){animation-delay:.48s}
.bar i{transform-origin:bottom;animation:gl-grow .9s var(--gl-ease) both}.bar:nth-child(3n) i{animation-delay:.08s}.bar:nth-child(3n+1) i{animation-delay:.16s}
.fi{transition:background .25s,padding .25s}.fi:hover{background:rgba(255,255,255,.04)}
.ddb,.seg,.chips span,.chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

@keyframes gl-drop{from{opacity:0;transform:translateY(-26px) scale(.96);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes gl-pop{from{opacity:0;transform:translateY(24px) scale(.95);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@keyframes gl-up{from{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes gl-word{from{opacity:0;transform:translateY(.45em);filter:blur(12px)}to{opacity:1;transform:none;filter:none}}
@keyframes gl-grow{from{transform:scaleY(.04);opacity:0}to{transform:none;opacity:.85}}
@media(max-width:900px){.lnav{padding:8px 10px 8px 14px!important}.hero{padding-top:110px!important}}
@media(prefers-reduced-motion:reduce){.lnav,.box,.hero h1 .w,.hero-info>*,.hero .term,.bar i,#m-dash *{animation:none!important}.js-rv .rv{filter:none!important}.btn::after{display:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.lnav,.card,.fc,.sc,.box,.term,.tw,.mx{background:var(--panel)!important}}

.hero h1{font-size:clamp(38px,6.2vw,74px)!important}

/* livelier aurora behind the glass (overrides the values bg.js injects) */
.box{padding-top:62px!important}


/* ===== v23 — stronger liquid glass ===== */
:root{--gl-bg:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.04) 42%,rgba(255,255,255,.02) 60%,rgba(255,255,255,.10));
 --gl-bd:rgba(255,255,255,.16);--gl-hi:rgba(255,255,255,.42);--gl-lo:rgba(255,255,255,.07);
 --gl-sh:0 30px 70px -30px rgba(0,0,0,.95),0 2px 0 rgba(255,255,255,.03);
 --gl-blur:blur(28px) saturate(210%) brightness(1.08);--gl-spot:rgba(255,255,255,.18)}
[data-theme="light"]{--gl-bg:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.35) 45%,rgba(255,255,255,.3) 60%,rgba(255,255,255,.75));
 --gl-bd:rgba(255,255,255,.9);--gl-hi:#fff;--gl-lo:rgba(30,45,80,.08);--gl-spot:rgba(255,255,255,.85)}

/* luminous blobs so the glass has something to refract */
#bg .a1{background:radial-gradient(closest-side,rgba(130,150,255,.22),transparent)!important}
#bg .a2{background:radial-gradient(closest-side,rgba(255,255,255,.14),transparent)!important}
#bg .a3{background:radial-gradient(closest-side,rgba(110,200,255,.16),transparent)!important}
[data-theme="light"] #bg .a1{background:radial-gradient(closest-side,rgba(120,140,255,.30),transparent)!important}
[data-theme="light"] #bg .a2{background:radial-gradient(closest-side,rgba(255,170,220,.25),transparent)!important}
[data-theme="light"] #bg .a3{background:radial-gradient(closest-side,rgba(120,220,255,.28),transparent)!important}

/* extras (modules + report preview) become glass too */
.ex-c,.ex-p,.ex-i{
 background:radial-gradient(420px circle at var(--mx,50%) var(--my,-30%),var(--gl-spot),transparent 55%),var(--gl-bg)!important;
 -webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);border:0!important;
 box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px var(--gl-bd),inset 0 -1px 0 var(--gl-lo),inset 0 18px 30px -22px rgba(255,255,255,.22),var(--gl-sh)!important}
.ex-c,.ex-p{position:relative;overflow:hidden}
.ex-c::before,.ex-p::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
 background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.10) 46%,transparent 56%);transform:translateX(-120%);transition:transform 1s var(--gl-ease)}
.ex-c:hover::before,.ex-p:hover::before{transform:translateX(120%)}
.ex-c>*,.ex-p>*{position:relative}
.ex-i{border-radius:13px;box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px var(--gl-bd),0 8px 18px -10px rgba(0,0,0,.8)!important}
.ex-pb{background:rgba(255,255,255,.04);border-bottom:1px solid var(--gl-bd)!important}
.ex-tl{border-left:1px solid var(--gl-bd)!important}
.ex-gr circle{fill:rgba(255,255,255,.08);}
.ex-gr .c0{fill:var(--ink)}

/* stronger rim + depth on every existing glass surface */
.card,.fc,.sc,.tile2,.term,.tw,.mx,.box,.dcard,.mbox,.auto,.hq,.ddp,.rep .card{
 box-shadow:inset 0 1px 0 var(--gl-hi),inset 1px 0 0 rgba(255,255,255,.08),inset 0 0 0 1px var(--gl-bd),inset 0 -1px 0 var(--gl-lo),inset 0 20px 34px -24px rgba(255,255,255,.2),var(--gl-sh)!important}
.lnav{background:var(--gl-bg),rgba(10,10,14,.28)!important;
 box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px var(--gl-bd),inset 0 -1px 0 var(--gl-lo),inset 0 12px 22px -16px rgba(255,255,255,.3),var(--gl-sh)}
.btn.s,.btn.s:hover{background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px var(--gl-bd),inset 0 -8px 14px -10px rgba(255,255,255,.18)}
.srcs span,.chips span,.chip,.seg,.ddb{background:var(--gl-bg)!important;-webkit-backdrop-filter:blur(16px) saturate(190%);backdrop-filter:blur(16px) saturate(190%)}
@media(prefers-reduced-motion:reduce){.ex-c::before,.ex-p::before{display:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ex-c,.ex-p,.ex-i{background:var(--panel)!important}}


/* ===== v23 — history viewer + clickable rows ===== */
.fi-c{cursor:pointer;border-radius:10px}.fi-c:hover,.fi-c:focus-visible{background:rgba(255,255,255,.07)!important;outline:0}
.hv{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:gl-up .35s var(--gl-ease) both}
.hv-b{width:min(860px,100%);max-height:88vh;display:flex;flex-direction:column;border-radius:24px;overflow:hidden;
 background:var(--gl-bg),rgba(14,14,18,.55);-webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);
 box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px var(--gl-bd),var(--gl-sh)}
[data-theme="light"] .hv-b{background:var(--gl-bg),rgba(255,255,255,.7)}
.hv-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--gl-bd)}
.hv-h b{display:block;font-size:15px;color:var(--ink);word-break:break-all}.hv-h small{color:var(--mut);font-size:12px}
.hv-c{padding:16px 18px;overflow:auto;flex:1}
.hv-f{padding:12px 18px;border-top:1px solid var(--gl-bd);display:flex;justify-content:flex-end}
#m-cons .cons.big{min-height:70vh}
