.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:98;background:#000000ad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.menu-overlay.active{opacity:1;visibility:visible}.side-menu{position:fixed;top:0;left:0;z-index:99;width:min(82vw,340px);height:100dvh;display:flex;flex-direction:column;padding:26px 22px;background:#121212f7;border-right:1px solid var(--line);transform:translate(-105%);transition:transform .4s cubic-bezier(.22,1,.36,1)}.side-menu.active{transform:translate(0)}.side-menu-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-size:26px;letter-spacing:1px;color:var(--orange)}.menu-close{width:42px;height:42px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:var(--orange);color:#fff;font-family:Arial,sans-serif;font-size:30px;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease}.menu-close:hover{background:#ff9d22;transform:rotate(90deg)}.side-menu-links{display:flex;flex-direction:column;margin-top:28px}.side-menu-link{position:relative;padding:18px 4px;border-bottom:1px solid rgba(255,255,255,.07);color:var(--ink);text-decoration:none;font-family:var(--font-display);font-size:24px;letter-spacing:1px;transition:color .2s ease,padding-left .25s ease}.side-menu-link:hover{color:var(--orange);padding-left:10px}.side-menu-link:before{content:"";position:absolute;left:-22px;top:50%;width:4px;height:0;border-radius:0 4px 4px 0;background:var(--orange);transform:translateY(-50%);transition:height .25s ease}.side-menu-link:hover:before{height:28px}.side-menu-footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);color:#777;font-size:10px;font-weight:600;letter-spacing:2px}body.menu-open{overflow:hidden}.auth-submit{opacity:1;visibility:visible;color:#111;background:var(--orange)}.google-auth-btn{opacity:1;visibility:visible;color:#222;background:#fff}.auth-tab{opacity:1;visibility:visible}.auth-switch button{opacity:1;visibility:visible;color:var(--orange);background:transparent}.auth-message{display:none;margin:16px 0 0;font-family:Poppins,sans-serif;font-size:12px;font-weight:500;text-align:center}.menu-title-img{display:block;width:90px;height:auto;object-fit:contain}.menu-btn{z-index:20}.logo{z-index:10}:root{--orange: #ff8b00;--orange-dim: #cc7000;--orange-light: #ff9d22;--font-display: "Kenyan Coffee", "Anton", "Arial Narrow", sans-serif;--font-body: "Poppins", "Segoe UI", sans-serif}.auth-btn{width:48px;height:48px;padding:0;margin:0;border:none;outline:none;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.auth-pfp{width:48px;height:48px;display:block;object-fit:contain;object-position:center;background:transparent;border:none;border-radius:50%}.auth-btn:hover{background:transparent}.auth-btn:focus{outline:none}.auth-btn:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.auth-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility .25s ease}.auth-modal.open{visibility:visible;opacity:1}.auth-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000c2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.auth-modal-panel{position:relative;z-index:1;width:100%;max-width:420px;max-height:calc(100vh - 40px);overflow-y:auto;padding:32px;background:linear-gradient(145deg,#1e1e1efa,#0c0c0cfc);border:1px solid rgba(255,139,0,.35);border-radius:18px;box-shadow:0 30px 80px #000000a6,0 0 35px #ff8b0014;transform:translateY(15px) scale(.98);transition:transform .25s ease}.auth-modal.open .auth-modal-panel{transform:translateY(0) scale(1)}.auth-modal-close{position:absolute;top:13px;right:17px;padding:0;border:0;background:transparent;color:#aaa;font-size:30px;line-height:1;cursor:pointer}.auth-modal-close:hover{color:#fff}.auth-modal-brand{display:flex;justify-content:center;margin-bottom:25px}.auth-modal-brand img{display:block;width:220px;max-width:70%}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12)}.auth-tab{position:relative;padding:12px 5px;border:0;background:transparent;color:#777;font-family:var(--font-display);font-size:18px;cursor:pointer;transition:color .2s ease;opacity:1;visibility:visible}.auth-tab.active{color:#fff}.auth-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--orange)}.auth-tab:hover{opacity:1;visibility:visible;color:#fff;background:transparent}.auth-form{display:none}.auth-form.active{display:block}.auth-heading{margin-bottom:22px}.auth-heading h2{margin:0 0 5px;color:var(--orange);font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1;text-transform:uppercase}.auth-heading p{margin:0;color:#aaa;font-size:12px;line-height:1.5}.auth-field{display:block;margin-bottom:15px}.auth-field span{display:block;margin-bottom:6px;color:#ddd;font-family:var(--font-display);font-size:14px;letter-spacing:.5px}.auth-field input{display:block;width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.13);border-radius:8px;outline:none;background:#ffffff0e;color:#fff;font-family:var(--font-body);font-size:13px;transition:border-color .2s ease,background .2s ease}.auth-field input::placeholder{color:#666}.auth-field input:focus{border-color:var(--orange);background:#ffffff13}.auth-submit{width:100%;margin-top:5px;padding:13px 15px;border:0;border-radius:8px;background:var(--orange);color:#111;font-family:var(--font-display);font-size:18px;cursor:pointer;opacity:1;visibility:visible;transition:background .2s ease,transform .2s ease}.auth-submit:hover,.auth-submit:focus{opacity:1;visibility:visible;color:#111;background:var(--orange-light);transform:translateY(-1px)}.auth-submit:disabled{cursor:wait;opacity:.7}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#666;font-size:11px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#ffffff1f}.google-auth-btn{width:100%;padding:12px 15px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#fff;color:#222;font-family:var(--font-body);font-size:12px;font-weight:600;cursor:pointer;opacity:1;visibility:visible;transition:background .2s ease,transform .2s ease}.google-auth-btn:hover,.google-auth-btn:focus{opacity:1;visibility:visible;color:#222;background:#eee;transform:translateY(-1px)}.google-auth-btn svg{flex:0 0 auto}.auth-switch{margin:20px 0 0;color:#888;text-align:center;font-size:11px}.auth-switch button{padding:0;border:0;background:transparent;color:var(--orange);font:inherit;font-weight:600;cursor:pointer;opacity:1;visibility:visible}.auth-switch button:hover{opacity:1;visibility:visible;color:var(--orange-light);background:transparent}body.auth-modal-open{overflow:hidden}@media(max-width:600px){.auth-modal{padding:12px}.auth-modal-panel{max-height:calc(100dvh - 24px);padding:27px 20px 23px;border-radius:15px}.auth-modal-brand{margin-bottom:20px}.auth-modal-brand img{width:190px}.auth-heading h2{font-size:27px}}.auth-message{display:none;margin:16px 0 0;padding:10px;border-radius:7px;background:#ff8b001a;font-family:Poppins,sans-serif;font-size:12px;font-weight:500;line-height:1.4;text-align:center}.auth-message.show{display:block}.auth-message.error{color:#ff5252}.auth-message.success{color:#ff8b00}.profile-menu{position:fixed;top:76px;right:18px;z-index:900;width:270px;padding:16px;background:#151515;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 18px 45px #0000008c;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.profile-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.profile-menu-user{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.1)}.profile-menu-user img{width:42px;height:42px;border-radius:50%;object-fit:cover}.profile-menu-user div{min-width:0}.profile-menu-user strong{display:block;color:#fff;font-family:var(--font-display);font-size:19px;font-weight:400;line-height:1}.profile-menu-user span{display:block;margin-top:4px;overflow:hidden;color:#888;font-size:10px;text-overflow:ellipsis;white-space:nowrap}#logoutBtn{width:100%;margin-top:12px;padding:10px 4px;border:0;background:transparent;color:var(--orange);font-family:var(--font-display);font-size:17px;text-align:left;cursor:pointer}#logoutBtn:hover{color:#fff}@media(min-width:860px){.profile-menu{top:86px;right:max(32px,calc((100vw - var(--max-width, 1080px)) / 2 + 32px))}}.auth-forgot-row{display:flex;justify-content:flex-end;margin-top:-4px;margin-bottom:4px}.auth-forgot-btn{padding:0;border:0;background:transparent;color:#8d8d8d;font-family:var( --font-display, "Kenyan Coffee", "Alumni Sans", sans-serif );font-size:13px;letter-spacing:.7px;cursor:pointer;transition:color .18s ease,opacity .18s ease}.auth-forgot-btn:hover{color:#ff8b00}.auth-forgot-btn:disabled{opacity:.45;cursor:wait}.auth-forgot{align-self:flex-end;border:0;background:transparent;padding:0;margin:-6px 0 5px;color:#8b8b8b;font-family:var(--font-display),"Kenyan Coffee","Alumni Sans",sans-serif;font-size:13px;font-weight:600;letter-spacing:.6px;cursor:pointer;transition:color .18s ease}.auth-forgot:hover{color:#ff8b00}.forgot-password-modal .auth-modal-panel{width:min(430px,calc(100vw - 32px))}.forgot-back-btn{width:100%;border:1px solid rgba(255,255,255,.14);background:transparent;color:#aaa;padding:13px 16px;font-family:var(--font-display),"Kenyan Coffee","Alumni Sans",sans-serif;font-size:14px;font-weight:600;letter-spacing:.8px;cursor:pointer;transition:border-color .18s ease,color .18s ease}.forgot-back-btn:hover{border-color:#ff8b00;color:#ff8b00}.forgot-password-modal .auth-message{margin-top:4px}
