/* Login screen + intro video */
body.locked .wrap,body.locked .toast{display:none;}
body.locked{overflow:hidden;}
#loginScreen{position:fixed;inset:0;z-index:100;display:none;background:url('../../img/sigiriya.jpg') center/cover no-repeat,linear-gradient(135deg,#1f6f6a 0%,#16413f 55%,#c9853f 140%);font-family:'Roboto','Segoe UI',system-ui,sans-serif;}
body.locked #loginScreen{display:block;}
.lg-container{display:flex;width:100%;height:100%;}
.lg-welcome{flex:1;display:flex;justify-content:center;align-items:center;color:#fff;padding:40px;position:relative;}
.lg-words{position:relative;height:100px;width:100%;text-align:center;}
.lg-word{font-size:3rem;font-weight:700;position:absolute;left:0;right:0;margin:0 auto;opacity:0;transform:translateX(50px);transition:opacity .5s ease,transform .8s ease;text-shadow:0 2px 14px rgba(0,0,0,.55);}
.lg-word.show{opacity:1;transform:translateX(0);}
.lg-panel{display:flex;justify-content:center;align-items:center;width:400px;background:rgba(255,255,255,.9);}
.login-card{padding:40px;width:100%;text-align:center;color:#333;}
.lg-logo{margin-bottom:26px;display:flex;justify-content:center;}
.lg-logo img{max-width:52%;}
.login-card input[type=email],.login-card input[type=password],.login-card input[type=text]{width:100%;padding:12px;margin-bottom:16px;border:1px solid #ccc;border-radius:5px;background:#fff;color:#333;font-size:.95rem;transition:.3s ease;}
.login-card input[type=email]:focus,.login-card input[type=password]:focus,.login-card input[type=text]:focus{border-color:#2980b9;outline:none;box-shadow:none;}
.login-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.8rem;color:#333;margin-bottom:14px;flex-wrap:wrap;}
.login-row label{display:flex;align-items:center;gap:6px;margin:0;color:#333;font-size:.8rem;cursor:pointer;}
.login-row input[type=checkbox]{width:auto;accent-color:#2980b9;}
.login-btn{width:100%;padding:12px;background:#2980b9;color:#fff;border:none;border-radius:5px;font-weight:700;font-size:.95rem;cursor:pointer;transition:background-color .3s ease;}
.login-btn:hover{background:#2573a6;filter:none;}
.login-err{color:#c0392b;font-size:.82rem;min-height:1.1em;margin-bottom:8px;}
.login-card.shake{animation:shake .4s;}
@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
#introVideoContainer{position:fixed;inset:0;background:#000;z-index:9999;display:none;opacity:1;transition:opacity .5s ease;}
#introVideo{width:100%;height:100%;object-fit:cover;}
#skipIntro{position:absolute;top:20px;right:20px;color:#000;font-size:14px;cursor:pointer;text-decoration:underline;background:none;z-index:10000;}
@media (max-width:768px){.lg-welcome{display:none;}.lg-panel{width:100%;}}
.lg-links{margin-top:12px;font-size:.82rem;}
.lg-links a{color:#2573a6;text-decoration:none;}
.lg-links a:hover{text-decoration:underline;}
.login-btn.lg-second{margin-top:14px;background:#fff;color:#2573a6;border:1px solid #2980b9;}
.login-btn.lg-second:hover{background:#eef6fc;}
.lg-h{margin:0 0 10px;font-size:1.05rem;color:#1d3b55;}
.lg-p{font-size:.84rem;color:#555;margin:0 0 12px;line-height:1.4;}
.lg-ok{color:#1d7a39;font-size:.84rem;margin-bottom:10px;}
.lg-privacy{margin:22px 0 0;font-size:.7rem;line-height:1.45;color:#6b6b6b;}
.login-card{max-height:100vh;overflow:auto;}
.login-btn:disabled{opacity:.6;cursor:default;}
