/* V2 shared: dark continuous gradient + glass */
:root { --v2-bg: linear-gradient(180deg, #0a1128 0%, #1b1a4a 28%, #2a1f6e 55%, #3b2a7a 78%, #4a3585 100%); }
body.v2 { background: var(--v2-bg); background-attachment: scroll; min-height: 100vh; color: #fff; }
body.v2 .movie-title { background: transparent !important; box-shadow: none !important; }
.v2-top { padding: 26px 16px 8px; text-align: center; position: relative; }
.v2-top .t { font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 30px; line-height: 1.05; background: linear-gradient(90deg, #ff8fb3, #ffd77a, #7fc8ff, #a78bfa); -webkit-background-clip: text; background-clip: text; color: transparent; }
.v2-top .fams { margin-top: 6px; font-family: 'Poppins', sans-serif; font-size: 10px; letter-spacing: 3px; color: #ffd77a; text-transform: uppercase; }
.v2-top .ver { position: absolute; right: 12px; bottom: 6px; font-size: 9px; color: rgba(255,255,255,.3); letter-spacing: 1px; }
.v2-sec { padding: 14px 16px 0; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,.55); }
.v2-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 12px 16px 24px; }
.v2-tile { aspect-ratio: 1 / 1; border-radius: 28px; padding: 16px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; position: relative; overflow: hidden; text-decoration: none; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 16px 40px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.25); -webkit-tap-highlight-color: transparent; }
.v2-tile:active { transform: scale(.97); }
.v2-tile::after { content: ''; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; border-radius: 50%; background: var(--glow, #a78bfa); filter: blur(30px); opacity: .7; }
.v2-tile .n { font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 19px; line-height: 1.05; text-shadow: 0 2px 10px rgba(0,0,0,.5); position: relative; z-index: 1; }
.v2-tile .s { font-family: 'Poppins', sans-serif; font-size: 10px; color: rgba(255,255,255,.7); margin-top: 3px; position: relative; z-index: 1; }
.v2-tile svg { width: 64px; height: 64px; filter: drop-shadow(0 8px 14px rgba(0,0,0,.45)); position: relative; z-index: 1; }
.v2-tile.half { grid-column: span 2; width: 50%; margin: 6px auto 0; aspect-ratio: auto; height: 96px; border-radius: 22px; flex-direction: row; align-items: center; gap: 12px; padding: 12px 16px; }
.v2-tile.half svg { width: 44px; height: 44px; } .v2-tile.half .n { font-size: 17px; }
.v2-foot { display: block; text-align: center; font-family: 'Poppins', sans-serif; font-size: 12px; color: rgba(255,255,255,.4); padding: 4px 0 120px; text-decoration: underline; }
.v2-hint { text-align: center; font-family: 'Poppins', sans-serif; font-size: 11px; color: rgba(255,255,255,.55); padding: 6px 24px; }
/* edge semicircle floating buttons */
.edge-fab { position: fixed; right: -34px; width: 68px; height: 68px; border-radius: 50%; z-index: 6000; display: flex; align-items: center; justify-content: center; padding-right: 30px; text-decoration: none; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: -4px 6px 16px rgba(0,0,0,.18); transition: transform .15s; }
.edge-fab:active { transform: translateX(-10px); }
.edge-fab svg { width: 28px; height: 28px; stroke: #fff; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.edge-fab.e-home { background: rgba(27,42,74,.42); }
.edge-fab.e-chat { background: rgba(255,111,145,.42); }
.edge-fab.e-map { background: rgba(29,158,117,.42); }
.edge-fab.e-plan { background: rgba(255,176,64,.45); }
.edge-fab[data-slot='0'] { bottom: calc(62px + env(safe-area-inset-bottom)); } .edge-fab[data-slot='1'] { bottom: calc(142px + env(safe-area-inset-bottom)); } .edge-fab[data-slot='2'] { bottom: calc(222px + env(safe-area-inset-bottom)); } .edge-fab[data-slot='3'] { bottom: calc(302px + env(safe-area-inset-bottom)); }
.edge-fab .eb { position: absolute; left: 4px; top: 4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #ffd77a; color: #1b2a4a; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 11px; display: none; align-items: center; justify-content: center; }
.edge-fab .eb.on { display: flex; }
body.has-edge .home-fab, body.has-edge .chat-fab { display: none !important; }

.ro-bar { position: fixed; left: 0; right: 0; top: 0; z-index: 9800; padding: calc(6px + env(safe-area-inset-top)) 12px 6px; text-align: center; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 12px; letter-spacing: 2px; color: #1b1a4a; background: rgba(255,215,122,.92); }
.ro-toast { position: fixed; left: 50%; bottom: 40px; transform: translateX(-50%); z-index: 9900; background: #e24b4a; color: #fff; padding: 10px 18px; border-radius: 14px; font-family: 'Poppins', sans-serif; font-size: 13px; opacity: 0; transition: opacity .3s; pointer-events: none; } .ro-toast.show { opacity: 1; }

.alert-ov { position: fixed; inset: 0; z-index: 9990; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; text-align: center; color: #fff; background: radial-gradient(circle at 50% 30%, #ff3b3b, #7a0f2a 70%); animation: alertPulse 1s ease-in-out infinite; }
@keyframes alertPulse { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.35); } }
.alert-k { font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 52px; line-height: 1; letter-spacing: 2px; text-shadow: 0 6px 30px rgba(0,0,0,.5); }
.alert-f { margin-top: 14px; font-family: 'Poppins', sans-serif; font-size: 20px; } .alert-f b { color: #ffd77a; font-family: 'Baloo 2', sans-serif; font-size: 26px; }
.alert-t { margin-top: 8px; font-family: 'Poppins', sans-serif; font-size: 15px; font-style: italic; opacity: .9; }
.alert-b { margin-top: 14px; width: 100%; max-width: 360px; padding: 20px; border: none; border-radius: 22px; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 22px; cursor: pointer; color: #1b1a4a; background: #ffd77a; box-shadow: 0 12px 30px rgba(0,0,0,.35); }
.alert-b.re { background: rgba(255,255,255,.18); color: #fff; border: 1px solid rgba(255,255,255,.4); font-size: 18px; padding: 16px; }
.alert-b:first-of-type { margin-top: 30px; }
.alert-h { margin-top: 18px; font-family: 'Poppins', sans-serif; font-size: 11px; opacity: .7; }
.alert-in { margin-top: 26px; width: 100%; max-width: 360px; padding: 14px 16px; border-radius: 16px; border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.15); color: #fff; font-family: 'Poppins', sans-serif; font-size: 15px; text-align: center; } .alert-in::placeholder { color: rgba(255,255,255,.6); }
.alert-b:first-of-type { margin-top: 12px; }

.pub-ov { position: fixed; inset: 0; z-index: 9700; background: rgba(5,5,15,.78); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; padding: 20px; }
.pub-card { width: 100%; max-width: 360px; border-radius: 26px; padding: 22px 18px; text-align: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: #fff; }
.pub-ic { font-size: 44px; } .pub-k { margin-top: 8px; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 24px; } .pub-t { margin-top: 6px; font-family: 'Poppins', sans-serif; font-size: 12.5px; color: rgba(255,255,255,.7); line-height: 1.4; }
.pub-b { margin-top: 12px; width: 100%; padding: 15px; border-radius: 18px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.12); color: #fff; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 16px; cursor: pointer; }
.pub-b.yes { background: linear-gradient(90deg, #1D9E75, #5ee3a3); border: none; margin-top: 18px; color: #04342C; }
