*{box-sizing:border-box}html{background:#010711}body{margin:0;background:#010711;color:#f1f8ff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}
.portal{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:calc(100svh - 42px);isolation:isolate}
.half{position:relative;min-width:0;min-height:650px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:clamp(265px,36vh,370px) 20px 36px;isolation:isolate}
.backdrop,.overlay{position:absolute;inset:0;pointer-events:none}.backdrop{z-index:-2;background-position:center center;background-size:cover;transform:scale(1.012);transition:transform 1.1s ease,filter .6s;filter:brightness(.96)}.half--driver .backdrop{background-image:url('./driverhub-night.webp')}.half--partner .backdrop{background-image:url('./partnerhub-night.webp')}.half:hover .backdrop{transform:scale(1.035);filter:brightness(1.03)}
.overlay{z-index:-1;background:linear-gradient(180deg,rgba(0,7,18,.02) 0%,rgba(0,7,18,.01) 25%,rgba(0,7,18,.38) 48%,rgba(0,7,18,.08) 77%,rgba(0,7,18,.30) 100%)}
.login-card{width:min(430px,95%);padding:20px 24px 17px;border:1px solid #78caffb5;border-radius:15px;background:linear-gradient(125deg,rgba(5,22,45,.84),rgba(0,9,23,.88));backdrop-filter:blur(11px);box-shadow:0 12px 36px #0009,0 0 16px #167ff25c,inset 0 1px #ecfaff5e;transition:transform .22s,box-shadow .22s;position:relative}.login-card:hover{transform:translateY(-3px);box-shadow:0 16px 42px #000b,0 0 25px #168fff88,inset 0 1px #ecfaff80}.login-card:before{content:"";position:absolute;left:18%;right:18%;top:-1px;height:2px;background:linear-gradient(90deg,transparent,#b0eaff,transparent);box-shadow:0 0 15px #168fff}
.card-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}.card-head>div{display:flex;flex-direction:column;gap:3px}.card-head strong{font-size:1.3rem}.card-head small{color:#b8d0e4;font-size:.8rem}.card-icon{font-size:2rem;color:#a8dbff;line-height:1}.version{margin-left:auto;border:1px solid #6bbafcb3;padding:4px 8px;border-radius:5px;font-size:.72rem;color:#dceeff}
.discord-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border-radius:10px;background:linear-gradient(180deg,#5696ff,#1563f6);border:1px solid #a1e6ff;color:#fff;text-decoration:none;font-weight:760;box-shadow:0 0 16px #198cffaa,0 6px 20px #005cf488,inset 0 1px #ffffff88;transition:transform .2s,filter .2s,box-shadow .2s}.discord-button svg{width:24px;height:24px;flex:none}.discord-button .chevron{margin-left:auto;font-size:1.6rem;line-height:0}.discord-button:hover,.discord-button:focus-visible{transform:translateY(-2px);filter:brightness(1.13);box-shadow:0 0 26px #198cffe0,0 8px 26px #005cf4aa}.discord-button:focus-visible{outline:2px solid white;outline-offset:4px}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:17px}.features span{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;font-size:.72rem;padding:0 5px;color:#dceeff;border-right:1px solid #90c6f73f}.features span:last-child{border-right:0}.features svg{width:24px;height:24px;fill:none;stroke:#7fcfff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #168fff)}
.notice{max-width:430px;margin-top:14px;border-radius:9px;padding:12px 16px;background:#551c28ec;border:1px solid #ffc4c4;color:#fff;font-size:.83rem;text-shadow:0 1px #0005}.notice--ok{background:#0e493ce9;border-color:#65e3a7}
.centerline{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);z-index:5;background:linear-gradient(180deg,#126fee3d 0%,#6cd5ff 35%,#c7f4ff 52%,#2a9fff 72%,#0f5ae344 100%);box-shadow:0 0 9px 2px #118dffb8,0 0 25px 5px #0777fc75;pointer-events:none;animation:neonBreath 4.5s ease-in-out infinite}.neon-tulip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:104px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(ellipse,#001e3ce8 5%,#001c35d0 45%,transparent 74%);filter:drop-shadow(0 0 10px #1a9fff)}.neon-tulip img{width:76px;height:102px;object-fit:contain;display:block;filter:drop-shadow(0 0 4px #e4f9ff) drop-shadow(0 0 12px #168bff)}
@keyframes neonBreath{0%,100%{filter:brightness(.85)}50%{filter:brightness(1.24)}}
.footer{height:42px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 23px;font-size:.7rem;color:#90acc5;background:#010815;border-top:1px solid #2e6eaa66}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}
@media(max-height:760px) and (min-width:901px){.half{padding-top:38vh;min-height:610px}.login-card{padding:15px 18px}.features{margin-top:12px}}
@media(max-width:900px){.portal{grid-template-columns:1fr}.half{min-height:720px;padding-top:285px}.centerline{left:0;right:0;top:50%;bottom:auto;width:100%;height:2px;transform:translateY(-50%);background:linear-gradient(90deg,#1063e945,#c7f4ff,#1063e945)}.neon-tulip{width:66px;height:78px}.neon-tulip img{width:55px;height:72px}}
@media(max-width:480px){.half{min-height:660px;padding:250px 9px 30px}.login-card{width:min(380px,98%);padding:16px 14px}.card-head strong{font-size:1.12rem}.features span{font-size:.63rem}.footer{padding:8px 12px;flex-wrap:wrap;min-height:42px;height:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
