/* Visiontek public landing/login — interactive daily-theme tube scene. */
:root{--landing-bg:#050711;--landing-surface:rgba(11,16,34,.82);--landing-line:rgba(255,255,255,.13);--landing-text:#f8fafc;--landing-muted:#aab4ca;--login-a1:var(--accent-primary,#8b5cf6);--login-a2:var(--accent-secondary,#3b82f6);--login-a3:var(--accent-tertiary,#22d3ee)}
*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0}html{background:var(--landing-bg)}
body{position:relative;display:block;min-height:100vh;min-height:100dvh;overflow:hidden;color:var(--landing-text);background:var(--landing-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.bi{display:inline-block;width:1.1em;text-align:center;font-style:normal;line-height:1}.bi:before{display:inline-block}.bi-stars:before{content:"✦"}.bi-graph-up-arrow:before{content:"↗"}.bi-geo-alt:before{content:"⌖"}.bi-people:before{content:"♙"}.bi-wrench-adjustable-circle:before{content:"⚙"}.bi-mouse:before{content:"↔"}.bi-shield-check:before{content:"✓"}.bi-exclamation-triangle-fill:before{content:"!"}.bi-person:before{content:"●"}.bi-shield-lock:before,.bi-lock-fill:before{content:"◆"}.bi-eye:before{content:"◉"}.bi-eye-slash:before{content:"⊘"}.bi-arrow-right:before{content:"→"}.me-1{margin-inline-end:.25rem}
.tube-scene{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 16% 16%,color-mix(in srgb,var(--login-a1) 20%,transparent),transparent 35%),radial-gradient(circle at 86% 82%,color-mix(in srgb,var(--login-a2) 18%,transparent),transparent 38%),linear-gradient(145deg,#040610 0%,#090d1c 48%,#050712 100%)}
#tubeCanvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;transition:opacity .65s ease}body.tubes-ready #tubeCanvas{opacity:1}
.tube-grid{position:absolute;inset:0;opacity:.17;background-size:52px 52px;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);-webkit-mask-image:radial-gradient(ellipse at center,#000 0%,transparent 74%);mask-image:radial-gradient(ellipse at center,#000 0%,transparent 74%)}
.tube-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,13,.25),transparent 40%,rgba(3,5,13,.38)),radial-gradient(ellipse at center,transparent 38%,rgba(2,4,11,.58) 100%)}
.brand-lockup{position:fixed;z-index:4;top:28px;left:32px;display:inline-flex;align-items:center;animation:enterUp .72s ease both}
.brand-logo{display:block;width:clamp(190px,18vw,238px);height:auto;max-height:54px;margin:0;object-fit:contain;object-position:left center;filter:drop-shadow(0 10px 25px rgba(0,0,0,.35))}
.stage{position:relative;z-index:2;width:min(1280px,100%);height:100vh;height:100dvh;min-height:620px;margin:0 auto;padding:82px clamp(24px,5vw,72px) 34px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(370px,.88fr);align-items:center;gap:clamp(42px,7vw,96px)}
.hero{max-width:650px}.daily-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:8px 13px;border:1px solid color-mix(in srgb,var(--login-a3) 40%,transparent);border-radius:999px;color:color-mix(in srgb,var(--login-a3) 72%,white);background:color-mix(in srgb,var(--login-a3) 10%,transparent);box-shadow:0 0 30px color-mix(in srgb,var(--login-a3) 12%,transparent);font-size:.71rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;animation:enterUp .75s .06s ease both}
.hero-title{max-width:11ch;margin:0 0 20px;color:#fff;font-size:clamp(2.7rem,5.25vw,4.9rem);font-weight:820;line-height:.98;letter-spacing:-.058em;text-wrap:balance;text-shadow:0 18px 50px rgba(0,0,0,.56);animation:enterUp .78s .12s ease both}
.hero-sub{max-width:52ch;margin:0 0 27px;color:var(--landing-muted);font-size:1.03rem;line-height:1.65;text-shadow:0 5px 20px rgba(0,0,0,.48);animation:enterUp .78s .18s ease both}
.feature-bubbles{display:flex;flex-wrap:wrap;gap:10px;animation:enterUp .78s .24s ease both}.feature-bubbles>span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#e8edf9;background:rgba(8,12,26,.50);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:.80rem;font-weight:680}.feature-bubbles i{color:color-mix(in srgb,var(--login-a3) 75%,white)}
.scene-hint{display:flex;align-items:center;gap:8px;margin:17px 0 0;color:rgba(213,220,237,.56);font-size:.75rem;animation:enterUp .78s .30s ease both}.scene-hint i{color:color-mix(in srgb,var(--login-a1) 65%,white)}
.login-glass{position:relative;width:100%;max-width:465px;justify-self:end;padding:37px 36px 29px;overflow:hidden;border:1px solid var(--landing-line);border-radius:30px;color:var(--landing-text);background:radial-gradient(circle at 92% 3%,color-mix(in srgb,var(--login-a1) 20%,transparent),transparent 34%),linear-gradient(155deg,rgba(20,27,52,.89),var(--landing-surface));box-shadow:0 36px 110px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.10);-webkit-backdrop-filter:blur(30px) saturate(1.15);backdrop-filter:blur(30px) saturate(1.15);animation:cardEnter .86s .10s cubic-bezier(.2,.8,.2,1) both}
.login-glass:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 38%)}
.panel-mark{position:relative;width:58px;height:42px;margin:0 auto 11px}.panel-mark span{position:absolute;display:block;height:8px;border-radius:999px;transform:rotate(-18deg)}.panel-mark span:nth-child(1){width:50px;left:0;top:5px;background:var(--login-a1);box-shadow:0 0 20px var(--login-a1)}.panel-mark span:nth-child(2){width:43px;right:0;top:17px;background:var(--login-a2);box-shadow:0 0 20px var(--login-a2)}.panel-mark span:nth-child(3){width:34px;left:7px;top:29px;background:var(--login-a3);box-shadow:0 0 20px var(--login-a3)}
.login-head{position:relative;text-align:center;margin-bottom:24px}.login-eyebrow{display:inline-flex;align-items:center;gap:6px;color:color-mix(in srgb,var(--login-a3) 68%,white);font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-head h2{margin:9px 0 6px;color:#fff;font-size:1.72rem;font-weight:780;letter-spacing:-.035em}.login-head p{margin:0;color:var(--landing-muted);font-size:.90rem}
.field{position:relative;margin-bottom:17px}.login-label{display:block;margin:0 0 8px 2px;color:#b6bfd2;font-size:.67rem;font-weight:790;letter-spacing:.10em;text-transform:uppercase}.control{display:flex;align-items:center;gap:11px;min-height:55px;padding:0 15px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.045);transition:border-color .22s ease,box-shadow .22s ease,background .22s ease,transform .22s ease}.control:focus-within{border-color:color-mix(in srgb,var(--login-a3) 65%,transparent);background:rgba(255,255,255,.075);box-shadow:0 0 0 4px color-mix(in srgb,var(--login-a3) 12%,transparent),0 14px 30px rgba(0,0,0,.16);transform:translateY(-1px)}.control i.lead{flex:0 0 auto;color:color-mix(in srgb,var(--login-a3) 75%,white);font-size:1rem}
.control input{flex:1;min-width:0;width:100%;padding:15px 0;border:0!important;outline:0;box-shadow:none!important;color:#f8fafc!important;background:transparent!important;font:530 .96rem/1.2 inherit}.control input::placeholder{color:#78839e;opacity:1}.control input:-webkit-autofill{-webkit-text-fill-color:#f8fafc;transition:background-color 9999s}.pw-toggle{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:0;color:#909ab2;background:transparent;cursor:pointer}.pw-toggle:hover,.pw-toggle:focus-visible{color:color-mix(in srgb,var(--login-a3) 74%,white);outline:none}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 0 21px}.session-note{display:inline-flex;align-items:center;gap:7px;color:#9ca6bc;font-size:.79rem}.session-note i{color:#34d399}.link-gold{color:color-mix(in srgb,var(--login-a3) 72%,white);font-size:.81rem;text-decoration:none}.link-gold:hover,.link-gold:focus-visible{color:#fff;text-decoration:underline}
.btn-solar{position:relative;width:100%;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;overflow:hidden;border:0;border-radius:17px;color:#fff;background:linear-gradient(105deg,var(--login-a1),var(--login-a2));box-shadow:0 17px 42px color-mix(in srgb,var(--login-a1) 34%,transparent),inset 0 1px 0 rgba(255,255,255,.28);font:770 .98rem/1 inherit;cursor:pointer;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.btn-solar:after{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);animation:buttonSweep 3.8s ease-in-out infinite}.btn-solar:hover,.btn-solar:focus-visible{transform:translateY(-2px);filter:brightness(1.08);outline:2px solid rgba(255,255,255,.55);outline-offset:3px}
.login-foot{margin-top:19px;color:#7e89a3;text-align:center;font-size:.71rem;line-height:1.6}.alert-solar{display:flex;align-items:flex-start;gap:9px;margin:0 0 19px;padding:12px 13px;border:1px solid rgba(251,113,133,.38);border-radius:14px;color:#fecdd3;background:rgba(244,63,94,.12);font-size:.85rem}.alert-solar i{color:#fb7185}
@keyframes enterUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes cardEnter{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}@keyframes buttonSweep{55%,100%{transform:translateX(120%)}}
[data-bs-theme="light"] body{color:#172033;background:#eef3fb}[data-bs-theme="light"] .tube-scene{background:radial-gradient(circle at 16% 16%,color-mix(in srgb,var(--login-a1) 18%,transparent),transparent 35%),radial-gradient(circle at 86% 82%,color-mix(in srgb,var(--login-a2) 16%,transparent),transparent 38%),linear-gradient(145deg,#eef4ff 0%,#faf8ff 48%,#edf7ff 100%)}[data-bs-theme="light"] .tube-grid{opacity:.16;filter:invert(1)}[data-bs-theme="light"] .tube-vignette{background:radial-gradient(ellipse at center,transparent 44%,rgba(222,230,246,.42));opacity:.58}[data-bs-theme="light"] .hero-title{color:#11182c;text-shadow:0 18px 45px rgba(70,84,120,.18)}[data-bs-theme="light"] .hero-sub{color:#59657e;text-shadow:none}[data-bs-theme="light"] .feature-bubbles>span{color:#34405a;background:rgba(255,255,255,.68);border-color:rgba(42,56,90,.12)}[data-bs-theme="light"] .scene-hint{color:#6e7890}[data-bs-theme="light"] .login-glass{color:#172033;background:rgba(255,255,255,.88);border-color:rgba(42,56,90,.14);box-shadow:0 34px 95px rgba(63,76,112,.22),inset 0 1px 0 #fff}[data-bs-theme="light"] .login-head h2{color:#151d33}[data-bs-theme="light"] .login-head p,[data-bs-theme="light"] .login-label,[data-bs-theme="light"] .session-note,[data-bs-theme="light"] .login-foot{color:#66718a}[data-bs-theme="light"] .control{background:rgba(247,249,255,.88);border-color:rgba(42,56,90,.14)}[data-bs-theme="light"] .control input{color:#172033!important}[data-bs-theme="light"] .control input::placeholder{color:#8b94aa}[data-bs-theme="light"] .control input:-webkit-autofill{-webkit-text-fill-color:#172033}
@media (min-width:901px) and (max-height:720px){.brand-lockup{top:15px;left:24px}.brand-logo{width:190px;max-height:39px}.stage{min-height:560px;padding:38px clamp(24px,5vw,72px) 16px}.hero-title{margin-bottom:12px;font-size:clamp(2.5rem,4.7vw,3.8rem)}.hero-sub{margin-bottom:17px;font-size:.94rem;line-height:1.48}.daily-kicker{margin-bottom:12px}.feature-bubbles>span{padding:8px 12px}.scene-hint{margin-top:11px}.login-glass{padding:20px 28px 17px;border-radius:25px}.panel-mark{height:34px;margin-bottom:3px;transform:scale(.82);transform-origin:center bottom}.login-head{margin-bottom:13px}.login-head h2{margin:5px 0 3px;font-size:1.47rem}.field{margin-bottom:10px}.login-label{margin-bottom:5px}.control{min-height:47px}.control input{padding:12px 0}.row-between{margin:2px 0 11px}.btn-solar{min-height:49px}.login-foot{display:none}}
@media (max-width:900px){html,body{overflow:hidden}body.tubes-ready #tubeCanvas{opacity:.68}.stage{width:100%;max-width:100vw;height:100svh;min-height:560px;grid-template-columns:minmax(0,1fr);padding:76px 18px 14px}.login-glass{order:1;width:100%;min-width:0;max-width:calc(100vw - 36px);justify-self:center;animation:none;background:radial-gradient(circle at 92% 3%,color-mix(in srgb,var(--login-a1) 17%,transparent),transparent 34%),linear-gradient(155deg,rgba(18,25,49,.97),rgba(8,13,29,.95))}.hero{display:none}.brand-lockup{top:22px;left:22px;animation:none}.brand-logo{width:200px;max-height:40px}.tube-grid{background-size:42px 42px}}
@media (max-width:900px){[data-bs-theme="light"] .login-glass{background:rgba(255,255,255,.96)}}
@media (max-width:560px){.stage{min-height:530px;padding:68px 12px 10px}.brand-lockup{top:18px;left:18px}.brand-logo{width:178px;max-height:36px}.login-glass{max-width:calc(100vw - 24px);padding:28px 20px 24px;border-radius:25px}.row-between{flex-wrap:wrap}.login-foot{overflow-wrap:anywhere}}
@media (max-width:900px) and (max-height:700px){.brand-lockup{top:12px;left:16px}.brand-logo{width:158px;max-height:31px}.stage{min-height:480px;padding:51px 10px 7px}.login-glass{max-width:460px;padding:17px 18px 14px;border-radius:22px}.panel-mark{height:32px;margin-bottom:2px;transform:scale(.78);transform-origin:center bottom}.login-head{margin-bottom:12px}.login-head h2{margin:4px 0 2px;font-size:1.42rem}.login-head p{font-size:.80rem}.field{margin-bottom:9px}.login-label{margin-bottom:4px}.control{min-height:46px}.control input{padding:11px 0}.row-between{margin:1px 0 10px}.btn-solar{min-height:48px}.login-foot{display:none}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}#tubeCanvas{opacity:.72}}
