@font-face{font-family:"Cormorant Garamond";src:url('/assets/fonts/cormorant-garamond-medium-italic-latin.woff') format('woff');font-style:italic;font-weight:500;font-display:swap}
:root{color-scheme:dark;--mint:#61e3d7;--ink:#f4f7fb;--muted:#8ba2b5;--surface:#10202e}*{box-sizing:border-box}html{min-height:100%;background:#09131e}body{margin:0;min-height:100svh;color:var(--ink);font:15px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a,input{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--mint)}
.auth-wallpaper{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#07131de3 5%,#09131ed9 55%,#09131eed 100%),url('/assets/betlab-wallpaper-v1.webp') center/cover no-repeat;animation:wallpaper-enter 3.6s var(--motion-ease) both}.auth-wallpaper:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 32% 60%,#54d8bd10,transparent 54%)}.auth-shell{position:relative;z-index:1;max-width:1380px;padding:38px 64px 24px;margin:auto;min-height:100svh;display:flex;flex-direction:column;overflow:hidden}.auth-header{display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:5}.auth-brand{display:inline-flex;align-items:center;gap:10px;font-size:29px;line-height:1;font-weight:800;letter-spacing:-1.5px}.auth-brand svg{width:30px;height:34px;color:var(--mint)}.brand-mint{color:var(--mint)}.auth-language{display:flex;align-items:center;gap:4px;font-size:11px;letter-spacing:.08em;border:1px solid #6ca59935;border-radius:24px;padding:4px}.auth-language span,.auth-language a{display:block;padding:6px 10px;border-radius:18px}.auth-language span{color:var(--mint);background:#61e3d715}.auth-language a{color:#9cafbd;transition:background var(--motion-ui) var(--motion-ease),color var(--motion-ui) var(--motion-ease)}.auth-language a:hover{background:#ffffff0a;color:white}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:42px;align-items:center;flex:1;min-height:640px;padding:32px 0}.auth-scene{container-type:inline-size;position:relative;min-width:0;height:610px;isolation:isolate}.scene-copy{position:absolute;left:12px;right:0;top:10px;z-index:4;animation:copy-enter 1.9s 0.4s var(--motion-ease) both}.scene-motto{display:flex;align-items:center;flex-wrap:wrap;gap:17px;color:var(--mint);font-size:11px;font-weight:650;letter-spacing:.045em;margin:0 0 16px}.scene-motto span{display:inline-flex;align-items:center;gap:5px}.scene-motto svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6}.scene-copy h1{font-family:"Cormorant Garamond","Iowan Old Style",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(28px,10cqw,78px);letter-spacing:-.025em;line-height:1.15;margin:0;white-space:nowrap;text-wrap:nowrap;color:#f5f8f7}.scene-halo{position:absolute;z-index:-2;width:570px;height:570px;left:50%;top:72%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#5ae4c71b,transparent 62%);opacity:.9;animation:halo-enter 4.4s 0.2s var(--motion-ease) both}.scene-board{position:absolute;z-index:-1;width:900px;height:620px;left:50%;bottom:-230px;transform:translateX(-50%) perspective(750px) rotateX(61deg) rotateZ(-21deg);background:linear-gradient(45deg,#99e6d40a 25%,transparent 25%,transparent 75%,#99e6d40a 75%),linear-gradient(45deg,#99e6d40a 25%,transparent 25%,transparent 75%,#99e6d40a 75%);background-position:0 0,60px 60px;background-size:120px 120px;border:1px solid #75d9c71a;mask-image:radial-gradient(ellipse,#000 15%,transparent 68%);animation:board-enter 3.4s var(--motion-ease) both}.scene-orbit{position:absolute;width:480px;height:140px;border:1px solid #61e3d724;border-radius:50%;bottom:18px;left:50%;transform:translateX(-50%) rotate(-8deg);box-shadow:0 0 45px #61e3d708,inset 0 0 50px #61e3d708;animation:orbit-enter 3.6s 0.4s var(--motion-ease) both}.scene-knight{position:absolute;width:460px;height:460px;bottom:9px;left:50%;margin-left:-207px;z-index:2;animation:knight-enter 3.1s var(--motion-ease) both}.scene-knight img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 20px #0008);mask-image:linear-gradient(90deg,transparent 9%,#000 21%,#000 69%,transparent 77%);animation:knight-float 18s 3.2s ease-in-out infinite}.scene-piece{position:absolute;z-index:1;filter:drop-shadow(0 15px 15px #0008)}.scene-piece svg{display:block;width:100%;height:100%}.piece-pawn{width:116px;height:194px;bottom:24px;left:0;opacity:.65;animation:pawn-enter 3.2s 0.4s var(--motion-ease) both}.piece-pawn svg{animation:piece-float 21s 3.6s ease-in-out infinite}.piece-king{width:114px;height:190px;bottom:64px;right:-12px;opacity:.4;filter:blur(.5px) drop-shadow(0 12px 12px #0006);animation:king-enter 3.4s 0.5s var(--motion-ease) both}.piece-king svg{animation:piece-float 24s 4s ease-in-out infinite reverse}.scene-spark{position:absolute;width:3px;height:3px;border-radius:100%;background:#b0ffed;box-shadow:0 0 18px #5be2cbb3;opacity:.4;animation:spark-glow 13s ease-in-out infinite}.spark-one{left:14%;top:54%}.spark-two{right:12%;top:35%;animation-delay:3s}
.auth-card{position:relative;z-index:5;border:1px solid #567d814d;border-radius:20px;background:linear-gradient(145deg,#142a38ed,#0f1e2bef);box-shadow:0 24px 80px #0003,inset 0 1px 0 #d6fff606;padding:36px;backdrop-filter:blur(18px);animation:card-enter 1.4s 1.6s var(--motion-ease) both}.auth-card:before{content:"";position:absolute;top:-1px;left:36px;width:60px;height:2px;border-radius:100%;background:var(--mint);box-shadow:0 0 15px #61e3d74d}.card-marker{width:31px;height:34px;color:var(--mint);opacity:.75;margin-bottom:22px}.card-marker svg{display:block;width:100%;height:100%}.auth-card h2{font-size:30px;line-height:1.17;letter-spacing:-.9px;font-weight:650;margin:0 0 30px}.auth-field{margin:0 0 20px}.auth-field label{display:block;color:#b8c8d4;font-size:12px;font-weight:550;margin-bottom:9px}.auth-field input{display:block;width:100%;height:49px;border:1px solid #5d7a8b6b;border-radius:9px;background:#09172391;color:var(--ink);padding:12px 13px;transition:border-color var(--motion-ui) var(--motion-ease),box-shadow var(--motion-ui) var(--motion-ease)}.auth-field input:hover{border-color:#7496a6}.auth-field input:focus{outline:0;border-color:var(--mint);box-shadow:0 0 0 3px #61e3d712}.auth-field input:-webkit-autofill{-webkit-box-shadow:0 0 0 60px #10212e inset;-webkit-text-fill-color:var(--ink);caret-color:var(--ink)}.password-control{position:relative}.password-control input{padding-right:48px}.password-toggle{position:absolute;right:5px;top:5px;width:39px;height:39px;border:0;padding:9px;background:transparent;color:#7e98aa;border-radius:6px;cursor:pointer}.password-toggle{transition:color var(--motion-ui) var(--motion-ease),background var(--motion-ui) var(--motion-ease)}.password-toggle:hover{color:var(--mint);background:#61e3d707}.password-toggle svg{display:block;width:100%;height:100%}.eye-slash{display:none}.password-toggle[aria-pressed=true] .eye-slash{display:block}.field-hint{margin:7px 0 0;font-size:11px;color:var(--muted)}.auth-submit{width:100%;min-height:49px;display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 18px;border:1px solid var(--mint);border-radius:9px;background:var(--mint);color:#092b2d;font-weight:700;cursor:pointer;margin-top:26px;transition:background var(--motion-ui) var(--motion-ease),transform var(--motion-ui) var(--motion-ease),box-shadow var(--motion-ui) var(--motion-ease)}.auth-submit:hover{background:#80efe3;box-shadow:0 4px 20px #61e3d718;transform:translateY(-1px)}.auth-submit:active{transform:translateY(0)}.auth-submit svg{width:19px;height:19px}.auth-submit:disabled{cursor:wait;opacity:.85;transform:none}.submit-spinner{display:none;width:16px;height:16px;border:2px solid #113e3b40;border-top-color:#113e3b;border-radius:50%}.is-submitting .submit-spinner{display:block;animation:spin 1.7s linear infinite}.is-submitting .auth-submit svg{display:none}.auth-switch{font-size:11px;color:var(--muted);text-align:center;line-height:1.8;margin:24px -4px 0}.auth-switch a{font-weight:650;color:var(--mint);margin-left:4px;white-space:nowrap}.auth-switch a:hover{text-decoration:underline;text-underline-offset:3px}.auth-error{display:flex;align-items:flex-start;gap:9px;border-left:2px solid #f1a5a5;background:#d8707010;color:#ffc3bd;padding:10px 12px;margin:0 0 22px;font-size:12px;line-height:1.5;border-radius:0 6px 6px 0}.auth-error svg{flex-shrink:0;width:16px;height:16px;margin-top:1px;color:#f1a5a5}.auth-footer{display:flex;justify-content:space-between;gap:24px;font-size:10px;letter-spacing:.03em;color:#6c8498;padding-top:16px;position:relative;z-index:2}html[data-auth-return] .depth-item,html[data-auth-return] .auth-card,html[data-auth-return] .scene-copy,html[data-auth-return] .scene-knight,html[data-auth-return] .scene-piece,html[data-auth-return] .scene-board,html[data-auth-return] .scene-orbit,html[data-auth-return] .scene-halo,html[data-auth-return] .auth-wallpaper{animation-delay:0s;animation-duration:var(--motion-enter)}.auth-card:focus-within{animation:none;opacity:1;transform:none;filter:none}html[data-auth-leaving] .auth-shell{opacity:0;transition:opacity var(--motion-leave) var(--motion-fade)}
@keyframes wallpaper-enter{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes copy-enter{from{opacity:0;transform:translateY(12px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes knight-enter{from{opacity:0;transform:translate(-60px,55px) rotate(-7deg) scale(.94);filter:blur(12px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes pawn-enter{from{opacity:0;transform:translate(-70px,40px) rotate(-9deg);filter:blur(8px)}to{opacity:.65;transform:none}}@keyframes king-enter{from{opacity:0;transform:translate(65px,-35px) rotate(8deg);filter:blur(8px)}to{opacity:.4;transform:none}}@keyframes board-enter{from{opacity:0;bottom:-280px}to{opacity:1;bottom:-230px}}@keyframes orbit-enter{from{opacity:0;scale:.7}to{opacity:1;scale:1}}@keyframes halo-enter{from{opacity:0;scale:.6}to{opacity:.9;scale:1}}@keyframes card-enter{from{opacity:0;transform:translateY(22px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes knight-float{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-7px) rotate(.5deg)}}@keyframes piece-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes spark-glow{0%,100%{opacity:.15}50%{opacity:.55}}@keyframes spin{to{transform:rotate(360deg)}}

/* Receding sports objects drift behind the foreground chess scene and form. */
.auth-depth{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none;isolation:isolate}
.depth-item{position:absolute;aspect-ratio:1;opacity:var(--depth-opacity);filter:blur(var(--depth-blur,1px)) saturate(.7);transform:rotate(var(--depth-tilt));animation:depth-enter 3.2s var(--motion-ease) both}
.depth-item img{display:block;width:100%;height:100%;object-fit:contain;animation:depth-drift var(--depth-cycle) ease-in-out infinite;animation-delay:var(--depth-phase,0s)}
.depth-hockey{width:clamp(220px,26vw,370px);left:1.5%;top:39%;--depth-opacity:.24;--depth-blur:1.2px;--depth-tilt:-13deg;--depth-cycle:30s;--depth-x:18px;--depth-y:-26px;--depth-turn:5deg;animation-delay:.3s}
.depth-racket{width:clamp(190px,19vw,280px);left:48%;top:10%;--depth-opacity:.19;--depth-blur:1.6px;--depth-tilt:18deg;--depth-cycle:36s;--depth-phase:-9s;--depth-x:-18px;--depth-y:22px;--depth-turn:-6deg;animation-delay:.55s}
.depth-ball{width:clamp(115px,13vw,190px);right:3%;bottom:8%;--depth-opacity:.2;--depth-blur:1px;--depth-tilt:-18deg;--depth-cycle:26s;--depth-phase:-6s;--depth-x:-15px;--depth-y:-22px;--depth-turn:9deg;animation-delay:.8s}
@keyframes depth-enter{from{opacity:0;transform:translateY(30px) rotate(var(--depth-tilt)) scale(.9)}to{opacity:var(--depth-opacity);transform:translateY(0) rotate(var(--depth-tilt)) scale(1)}}
@keyframes depth-drift{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(var(--depth-x),var(--depth-y),0) rotate(var(--depth-turn))}}
@media(max-width:1100px){.depth-hockey{left:-2%;top:44%;width:260px}.depth-racket{left:44%;top:14%;width:220px}.depth-ball{right:-1%;bottom:5%;width:145px}}
@media(max-width:780px){.depth-hockey{left:-18px;top:16%;width:170px;--depth-opacity:.24}.depth-racket{left:auto;right:-65px;top:9%;width:210px;--depth-opacity:.2}.depth-ball{right:auto;left:15px;bottom:6%;width:110px;--depth-opacity:.18}}
@media(min-width:1500px){.auth-layout{gap:80px;grid-template-columns:minmax(0,1fr) 440px}.auth-scene{height:650px}.scene-knight{width:500px;height:500px;margin-left:-225px}.piece-pawn{left:25px}.piece-king{right:10px}}
@media(max-width:1100px){.auth-shell{padding:30px 36px 22px}.auth-layout{grid-template-columns:minmax(0,1fr) 390px;gap:20px}.auth-card{padding:30px}.scene-knight{width:410px;height:410px;margin-left:-184px;bottom:30px}.piece-pawn{width:90px;height:150px;bottom:38px;left:-8px}.piece-king{width:88px;height:147px;right:-5px;bottom:72px}.scene-copy{left:0;top:45px}.scene-motto{gap:11px;font-size:10px}.scene-orbit{width:390px}}
@media(max-width:780px){.auth-shell{padding:24px;overflow:hidden}.auth-layout{grid-template-columns:1fr;position:relative;min-height:670px;gap:0;align-items:center;padding:120px 0 30px}.auth-scene{position:absolute;inset:0;height:100%;z-index:-1;opacity:.44}.scene-copy{top:25px;left:0}.scene-motto{font-size:10px;gap:14px;margin-bottom:12px}.scene-knight{width:380px;height:380px;left:auto;right:-172px;bottom:26px;margin:0;opacity:.65}.scene-piece{display:none}.scene-board{bottom:-230px;width:700px;opacity:.5}.scene-orbit{bottom:28px;opacity:.25;width:420px}.scene-halo{top:70%}.auth-card{width:min(100%,420px);margin:28px auto 10px;padding:30px;backdrop-filter:blur(22px)}.auth-card h2{font-size:27px}.card-marker{display:none}.auth-footer{padding-top:16px}.auth-language{font-size:10px}.auth-brand{font-size:27px}.auth-brand svg{width:28px;height:31px}.auth-scene{pointer-events:none}}
@media(max-width:390px){.auth-shell{padding:20px 17px}.auth-card{padding:26px 23px}.auth-switch{font-size:10px}.scene-motto{gap:10px}.auth-layout{min-height:640px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.auth-card,.scene-copy,.scene-knight,.auth-wallpaper{opacity:1;filter:none}.scene-knight img,.scene-piece svg{transform:none}html[data-auth-leaving] .auth-shell{opacity:1}}

/* Retain the wallpaper between sign-in, registration and language changes. */
html[data-auth-return] .auth-wallpaper{animation:none;opacity:1;transform:none}

/* BetLab by Betano logo */
.auth-brand-logo{display:block;height:40px;width:auto}@media(max-width:767px){.auth-brand-logo{height:34px}}
