:root{font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#111}body.no-select{user-select:none;-webkit-user-select:none}iframe{width:100vw;height:100vh;border:0;background:#fff}.splash{position:fixed;inset:0;z-index:20;display:grid;place-content:center;gap:.75rem;text-align:center;background:#fff;transition:opacity .3s}.splash img{width:92px;height:92px;border-radius:22px;margin:auto}.splash.hidden{opacity:0;pointer-events:none}.offline-alert{display:none;position:fixed;z-index:40;top:12px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:.75rem 1rem;border-radius:10px;background:#b42318;color:#fff}.offline-alert.visible{display:block}.menu-button{position:fixed;z-index:15;right:14px;top:14px;width:44px;height:44px;border:0;border-radius:50%;background:#111d;color:#fff;font-size:22px}.drawer{position:fixed;z-index:30;inset:0 0 0 auto;width:min(320px,88vw);padding:1.25rem;background:#fff;transform:translateX(105%);transition:transform .2s;box-shadow:-10px 0 30px #0003}.drawer.open{transform:none}.drawer button,.drawer-link{display:flex;align-items:center;gap:.6rem;width:100%;margin:.5rem 0;padding:.75rem;border-radius:8px}.drawer-link{color:#17202a;background:#f2f4f7;text-decoration:none}.menu-icon{width:20px;height:20px;fill:currentColor}.drawer #closeDrawer{width:auto;margin-left:auto;font-size:24px}.drawer small{display:block;margin-top:1rem;color:#667085}dialog{border:0;border-radius:18px;padding:1.5rem;box-shadow:0 20px 60px #0005}dialog form{display:grid;gap:1rem;min-width:min(300px,75vw)}dialog input{width:100%}

:root{--drawer-bg:#0b1220;--drawer-card:#172033;--drawer-line:#ffffff18;--drawer-text:#e5edf8;--drawer-muted:#94a3b8;--drawer-brand:#7c3aed}.menu-button{display:grid;align-content:center;gap:4px;padding:11px;border-radius:14px;background:linear-gradient(135deg,#111827e8,#312e81e8);box-shadow:0 8px 24px #0005;backdrop-filter:blur(8px);transition:transform .2s,box-shadow .2s}.menu-button:hover{transform:scale(1.04);box-shadow:0 12px 30px #0006}.menu-button span{display:block;height:2px;border-radius:3px;background:#fff}.menu-button.menu-top-right{right:14px;top:max(14px,env(safe-area-inset-top));left:auto;bottom:auto}.menu-button.menu-top-left{left:14px;top:max(14px,env(safe-area-inset-top));right:auto;bottom:auto}.menu-button.menu-bottom-right{right:14px;bottom:max(14px,env(safe-area-inset-bottom));left:auto;top:auto}.menu-button.menu-bottom-left{left:14px;bottom:max(14px,env(safe-area-inset-bottom));right:auto;top:auto}.drawer-backdrop{position:fixed;z-index:25;inset:0;width:100%;height:100%;border:0;padding:0;background:#02061799;backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.22s}.drawer-backdrop.open{opacity:1;visibility:visible}.drawer{display:flex;flex-direction:column;width:min(360px,90vw);padding:0;background:linear-gradient(165deg,var(--drawer-bg),#111a2e);color:var(--drawer-text);transform:translateX(105%);transition:transform .26s cubic-bezier(.22,.8,.3,1);box-shadow:-18px 0 55px #0008;overflow-y:auto}.drawer-hero{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:.85rem;align-items:center;padding:1.2rem;background:linear-gradient(135deg,#312e81,#6d28d9 60%,#0891b2);border-bottom:1px solid #ffffff25}.drawer-hero>img{width:58px;height:58px;border-radius:16px;object-fit:cover;background:#fff;box-shadow:0 8px 20px #0004}.drawer-hero h2{font-size:1.1rem;margin:0 0 .18rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-hero span{font-size:.78rem;color:#e0e7ff}.drawer #closeDrawer{width:38px;height:38px;display:grid;place-items:center;margin:0;padding:0;border:1px solid #ffffff2e;border-radius:50%;background:#ffffff17;color:#fff;font-size:1.5rem}.drawer-section{padding:.8rem 1rem;border-bottom:1px solid var(--drawer-line)}.drawer-section-title{display:block;margin:.15rem 0 .55rem;color:var(--drawer-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.drawer button,.drawer-link{min-height:46px;margin:.35rem 0;padding:.72rem .8rem;border:1px solid transparent;border-radius:11px;background:var(--drawer-card);color:var(--drawer-text);font:600 .92rem system-ui;text-align:left;transition:.15s}.drawer button:hover,.drawer-link:hover{background:#24304a;border-color:#ffffff24;transform:translateX(2px)}.drawer-link{text-decoration:none}.menu-icon{width:23px;height:23px;flex:0 0 23px;fill:currentColor}.menu-icon-image{object-fit:cover;border-radius:7px;background:#fff}.drawer footer{margin-top:auto;padding:1rem;color:var(--drawer-muted);border-top:1px solid var(--drawer-line)}.drawer footer small{display:block;margin:.25rem 0;color:inherit}dialog{max-width:min(520px,92vw);background:#fff;border:1px solid #fff;border-radius:20px}dialog::backdrop{background:#020617a0;backdrop-filter:blur(4px)}@media(max-width:480px){.drawer{width:min(340px,92vw)}.drawer-hero{padding:1rem}.menu-button{width:46px;height:46px}}
[hidden]{display:none!important}
.drawer-exit-section{margin-top:auto}.drawer-exit-section+footer{margin-top:0}.drawer .exit-app-button{background:#7f1d1d;color:#fee2e2;border-color:#ef444455}.drawer .exit-app-button:hover{background:#991b1b;border-color:#f87171}.exit-app-button .menu-icon{fill:currentColor}.exit-screen{position:fixed;z-index:60;inset:0;display:grid;place-content:center;justify-items:center;gap:.8rem;padding:1.5rem;text-align:center;background:linear-gradient(145deg,#0f172a,#1e1b4b);color:#fff}.exit-screen img{width:88px;height:88px;border-radius:22px;object-fit:cover;background:#fff}.exit-screen h1,.exit-screen p{margin:0}.exit-screen p{max-width:360px;color:#cbd5e1}.exit-screen button{padding:.75rem 1rem;border:1px solid #ffffff38;border-radius:10px;background:#7c3aed;color:#fff;font:700 1rem system-ui}
.notification-bell{position:fixed;z-index:15;right:14px;top:max(68px,calc(env(safe-area-inset-top) + 68px));display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #ffffff40;border-radius:14px;background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;box-shadow:0 8px 24px #0005}.notification-bell svg{width:24px;height:24px;fill:currentColor}.notification-bell.granted:after{content:"";position:absolute;right:3px;top:3px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#22c55e}.menu-top-left+.notification-bell{left:14px;right:auto}.menu-bottom-right+.notification-bell{right:14px;top:auto;bottom:max(68px,calc(env(safe-area-inset-bottom) + 68px))}.menu-bottom-left+.notification-bell{left:14px;right:auto;top:auto;bottom:max(68px,calc(env(safe-area-inset-bottom) + 68px))}.permissions-dialog{width:min(540px,94vw);max-height:90vh;padding:0;overflow:hidden;background:#f8fafc}.permissions-dialog form{display:block;min-width:0}.permissions-hero{padding:1.4rem;background:linear-gradient(135deg,#312e81,#6d28d9 65%,#0891b2);color:#fff}.permissions-hero span{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#c7d2fe}.permissions-hero h2{margin:.25rem 0}.permissions-hero p{margin:0;color:#e0e7ff}.permissions-list{padding:.35rem 1rem;max-height:55vh;overflow-y:auto}.permission-request{display:grid;gap:.55rem;padding:1rem 0;border-bottom:1px solid #e2e8f0}.permission-copy p{margin:.25rem 0;color:#64748b}.permission-request output,.permission-request small{display:block;color:#475569;font-size:.85rem}.activity-toggle{display:flex;align-items:center;gap:.65rem;padding:.7rem;border:1px solid #d7dce5;border-radius:.75rem;background:#fff}.activity-toggle input{width:1.2rem;height:1.2rem}.save-permissions-button{width:calc(100% - 2rem);margin:.8rem 1rem 1rem;background:linear-gradient(115deg,#4f46e5,#7c3aed)}
.install-help-dialog{width:min(500px,94vw);padding:0;overflow:hidden;background:#f8fafc}.install-help-dialog form{display:block;min-width:0}.install-help-body{display:grid;gap:.7rem;padding:1.1rem}.install-help-body p{margin:0;padding:.75rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.install-help-dialog form>button{width:calc(100% - 2.2rem);margin:0 1.1rem 1.1rem;background:#312e81}
.drawer.drawer-ltr{inset:0 auto 0 0;transform:translateX(-105%);box-shadow:18px 0 55px #0008}.drawer.drawer-rtl{inset:0 0 0 auto;transform:translateX(105%);box-shadow:-18px 0 55px #0008}.drawer.drawer-ltr,.drawer.drawer-rtl{height:100vh;height:100dvh;overscroll-behavior:contain;overflow-x:hidden}.drawer.drawer-ltr.open,.drawer.drawer-rtl.open{transform:none}.drawer-rtl .drawer-hero{grid-template-columns:auto minmax(0,1fr) 58px}.drawer-rtl .drawer-hero>img{grid-column:3;grid-row:1}.drawer-rtl .drawer-hero>div{grid-column:2;grid-row:1;text-align:right}.drawer-rtl #closeDrawer{grid-column:1;grid-row:1;margin:0}.drawer-rtl .drawer-link,.drawer-rtl .drawer-section>button{flex-direction:row-reverse;text-align:right}.drawer .drawer-link{cursor:pointer}.drawer .drawer-link:hover,.drawer .drawer-link:active,.drawer .drawer-section>button:hover,.drawer .drawer-section>button:active{transform:none}
.push-status{position:fixed;z-index:80;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(430px,calc(100% - 28px));padding:.9rem 1rem;border-radius:14px;background:#7f1d1d;color:#fff;font:700 .92rem system-ui;box-shadow:0 14px 40px #0007;text-align:center}.push-status.success{background:#067647}
.permission-request output.permission-success{padding:.65rem .75rem;border-radius:9px;background:#dcfae6;color:#05603a;font-weight:800}
.permission-request{margin:.65rem 0;padding:1rem;border:1px solid #dbe5f0!important;border-radius:16px;background:linear-gradient(145deg,#fff,#f1f5f9);box-shadow:0 8px 22px #0f172a0c}.permission-request[data-status="granted"]{border-color:#86efac!important;background:linear-gradient(145deg,#f0fdf4,#dcfce7)}.permission-request[data-status="denied"]{border-color:#fecaca!important;background:linear-gradient(145deg,#fff7f7,#fee2e2)}.permission-request>[data-request-permission]{justify-self:start;min-width:124px;padding:.68rem 1rem;border:0;border-radius:999px;background:linear-gradient(115deg,#4f46e5,#7c3aed);color:#fff;font-weight:850;box-shadow:0 8px 18px #4f46e536}.permission-request>[data-request-permission]:disabled{cursor:not-allowed;background:linear-gradient(115deg,#15803d,#16a34a);color:#fff;box-shadow:none;opacity:1}.permission-request[data-status="denied"]>[data-request-permission]:disabled{background:linear-gradient(115deg,#b91c1c,#dc2626)}.permission-request output{padding:.55rem .7rem;border-radius:9px;background:#e2e8f0;color:#334155!important;font-weight:750}.permission-request[data-status="granted"] output{background:#bbf7d0;color:#166534!important}.permission-request[data-status="denied"] output{background:#fecaca;color:#991b1b!important}.save-permissions-button{color:#fff!important;font-weight:850}.drawer-install-section{margin-top:auto;border-top:1px solid #ffffff1a}.drawer-install-section .drawer-instructions{margin-top:.65rem}
.install-gate-dialog{width:min(460px,calc(100% - 28px));padding:0;border:0;border-radius:28px;background:transparent;overflow:visible}.install-gate-dialog::backdrop{background:#020617d9;backdrop-filter:blur(9px)}.install-gate-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:430px;padding:2rem;text-align:center;border:1px solid #ffffff30;border-radius:28px;background:linear-gradient(155deg,#111827,#1e1b4b 58%,#0e7490);color:#fff;box-shadow:0 30px 90px #000b;overflow:hidden}.install-gate-glow{position:absolute;left:50%;top:-90px;width:280px;height:280px;transform:translateX(-50%);border-radius:50%;background:#8b5cf680;filter:blur(45px)}.install-gate-card>*:not(.install-gate-glow){position:relative}.install-gate-card>img{width:104px;height:104px;margin-bottom:1.1rem;border:5px solid #ffffff32;border-radius:25px;object-fit:cover;background:#fff;box-shadow:0 18px 45px #0007}.install-gate-label{font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#c4b5fd}.install-gate-card h2{margin:.35rem 0;font-size:clamp(1.55rem,6vw,2.15rem)}.install-gate-card p{max-width:340px;margin:.25rem 0 1.35rem;color:#dbeafe;line-height:1.55}.install-gate-card button{display:flex;align-items:center;justify-content:center;gap:.6rem;width:min(290px,100%);min-height:56px;border:1px solid #ffffff40;border-radius:17px;background:linear-gradient(110deg,#7c3aed,#2563eb);color:#fff;font:800 1.05rem system-ui;box-shadow:0 12px 28px #0005}.install-gate-card button .menu-icon{width:24px;height:24px}.install-gate-card output{display:block;min-height:2.5em;margin-top:1rem;color:#bfdbfe;font-size:.85rem;line-height:1.4}@media(max-height:560px){.install-gate-card{min-height:0;padding:1.25rem}.install-gate-card>img{width:72px;height:72px}.install-gate-card p{margin-bottom:.8rem}}
.drawer-instructions{margin:.45rem 0;padding:.85rem;border:1px solid #60a5fa55;border-radius:12px;background:#0f2744;color:#dbeafe}.drawer-instructions strong{display:block;margin-bottom:.45rem;color:#fff}.drawer-instructions p{margin:.45rem 0;font-size:.82rem;line-height:1.45}.drawer-instructions b{color:#93c5fd}
.save-permissions-button{position:relative;display:flex!important;align-items:center;justify-content:center;gap:.75rem;width:calc(100% - 2rem)!important;min-height:62px;margin:.85rem 1rem 1.1rem!important;padding:.75rem 1rem!important;overflow:hidden;border:1px solid #ffffff55!important;border-radius:18px!important;background:linear-gradient(125deg,#2563eb 0%,#4f46e5 48%,#7c3aed 100%)!important;color:#fff!important;font-size:1.02rem!important;font-weight:900!important;letter-spacing:.01em;box-shadow:0 15px 34px #4f46e552,0 4px 10px #0f172a2b,inset 0 1px 0 #ffffff60!important;text-shadow:0 1px 2px #1e1b4b80;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.save-permissions-button:before{content:"✓";display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #ffffff66;border-radius:12px;background:#ffffff20;color:#fff;font-size:1.15rem;font-weight:950;box-shadow:inset 0 1px 0 #ffffff4d}.save-permissions-button:hover{transform:translateY(-2px);filter:saturate(1.15) brightness(1.05);box-shadow:0 19px 42px #4f46e566,0 5px 12px #0f172a35,inset 0 1px 0 #ffffff70!important}.save-permissions-button:active{transform:translateY(1px) scale(.99)}.save-permissions-button:focus-visible{outline:3px solid #67e8f9;outline-offset:3px}@media(max-width:420px){.save-permissions-button{min-height:58px;border-radius:16px!important}.save-permissions-button:before{width:32px;height:32px;flex-basis:32px}}
