/* shared soft-geometry reset over the Swiss square style */
html.p17.v2.vt.vt.vt :is(.p12-card, .v2-card, .hx-pick, .hx-pick-main, .hx-pick-plan, .v2-st-card, .v2-rt-card, .hx-mini, .p13-chip, .p12-chips button, .v2-lib-chips button, .hx-xsearch input, .hx-xfind, .p12-search, .p12-filter, .p12-img, .v2-plan-mini, .p14-req, .v2-seg, .p13-placard, .p11-card, .p27-btn, .p27-feedcard, .p21-btn, .p21-x, .p21-row, input, select, textarea) { border-radius: var(--vt-r) !important; }
html.p17.v2.vt.vt.vt .v2-sheet { border-radius: 22px 22px 0 0 !important; border-top: 0 !important; box-shadow: 0 -10px 40px rgba(0,0,0,.18) !important; }
html.p17.v2.vt.vt.vt .v2-grab { border-radius: 3px !important; width: 40px !important; height: 5px !important; background: var(--muted) !important; opacity: .5; }
html.p17.v2.vt.vt.vt header.top { border-bottom: 0 !important; }
html.p17.v2.vt.vt.vt :is(h1, h2, h3, .tx-title, .v2-sheet-head h2) { letter-spacing: -.02em !important; font-weight: 700 !important; }
html.p17.v2.vt.vt.vt .tx-title { border-bottom: 0 !important; font-size: 36px !important; }
/* tab bar: icons back, labels small */
html.p17.v2.vt.vt.vt .v2-tabs { border-top: 0 !important; height: auto !important; padding: 6px 6px calc(6px + env(safe-area-inset-bottom)) !important; }
html.p17.v2.vt.vt.vt .v2-tabs button { border-right: 0 !important; flex-direction: column !important; gap: 3px; min-height: 56px !important; }
html.p17.v2.vt.vt.vt .v2-tabs button svg { display: block !important; width: 23px !important; height: 23px !important; }
html.p17.v2.vt.vt.vt .v2-tabs button span { font: 600 10.5px Inter, sans-serif !important; letter-spacing: .2px !important; text-transform: none !important; }
/* Library: doors, not rows */
html.vt .p21-panel { border-bottom: 0 !important; border-radius: 0 0 26px 26px; padding-bottom: 30px !important; }
html.vt .p21-top { border-bottom: 0 !important; }
html.vt .p21-title { font: 700 34px/1 Inter, sans-serif !important; letter-spacing: -.03em !important; }
html.vt .p21-x { border: 0 !important; border-radius: 50% !important; }
html.vt .p21-find { border: 0 !important; border-radius: 999px !important; padding: 13px 18px !important; margin-top: 14px !important; }
html.vt .p21-grp { margin-top: 12px !important; border-radius: 22px; padding: 16px 16px 12px; position: relative; }
html.vt .p21-h { margin: 0 !important; border: 0 !important; }
html.vt .p21-tog { border: 0 !important; padding: 0 !important; width: 100%; display: flex; align-items: center; gap: 10px; background: none !important; text-align: left; }
html.vt .p21-gn { display: none !important; }
html.vt .p21-gt { font: 700 20px/1.1 Inter, sans-serif !important; letter-spacing: -.01em !important; text-transform: none !important; flex: 1; }
html.vt .p21-gt::before { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; margin-right: 10px; font-size: 17px; vertical-align: middle; }
html.vt .p21-grp[data-grp="Keep walking"] .p21-gt::before { content: "👣"; }
html.vt .p21-grp[data-grp="Explore the Bible"] .p21-gt::before { content: "🧭"; }
html.vt .p21-grp[data-grp="Go deeper"] .p21-gt::before { content: "🔍"; }
html.vt .p21-grp[data-grp="Beliefs & questions"] .p21-gt::before { content: "✦"; }
html.vt .p21-grp[data-grp="Fun & family"] .p21-gt::before { content: "★"; }
html.vt .p21-grp[data-grp="More"] .p21-gt::before { content: "⋯"; }
html.vt .p21-list { display: flex !important; flex-wrap: wrap; gap: 7px; margin-top: 12px; border: 0 !important; }
html.vt .p21-grp:not(.open) .p21-list { display: none !important; }
html.vt .p21-row { display: inline-flex !important; width: auto !important; padding: 9px 13px !important; border: 0 !important; min-height: 0 !important; grid-template-columns: none !important; }
html.vt .p21-row small, html.vt .p21-row .p21-ar { display: none !important; }
html.vt .p21-row strong { font: 600 13.5px Inter, sans-serif !important; }
html.vt .p21-row[hidden] { display: none !important; }
html.vt .p21-list .p21-row:first-child { padding: 12px 16px !important; flex-basis: 100%; justify-content: space-between; }
html.vt .p21-list .p21-row:first-child strong::before { content: "Start here · "; font-weight: 500; opacity: .7; }
html.vt .p21-list .p21-row:first-child::after { content: "→"; font-weight: 700; }
html.vt .p21-grp[data-grp="More"] { background: none !important; box-shadow: none !important; padding-top: 6px; }
html.vt .p21-grp[data-grp="More"] .p21-gt { font-size: 14px !important; }
html.vt .p21-grp[data-grp="More"] .p21-list .p21-row:first-child { flex-basis: auto; padding: 9px 13px !important; }
html.vt .p21-grp[data-grp="More"] .p21-list .p21-row:first-child strong::before, html.vt .p21-grp[data-grp="More"] .p21-list .p21-row:first-child::after { content: none; }
.vt-libhero { margin-top: 14px; border-radius: 24px; padding: 18px; display: flex; gap: 14px; align-items: center; border: 0; width: 100%; text-align: left; cursor: pointer; font-family: Inter, sans-serif; }
.vt-libhero small { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.vt-libhero strong { display: block; font-size: 19px; margin: 3px 0; }
.vt-libhero em { font-style: normal; font-size: 12.5px; opacity: .8; }
.vt-libhero .vt-go { margin-left: auto; flex: none; border-radius: 999px; padding: 10px 16px; font-weight: 700; font-size: 14px; }
/* steps (shared) */
.vt-steps { display: flex; justify-content: center; gap: 6px; margin: 14px 0 0; font: 600 11px Inter, sans-serif; }
.vt-steps span { padding: 5px 10px; border-radius: 999px; }
html.vt .hx-hero button, html.vt .v2-bar button, html.vt .p21-btn { border-radius: 999px !important; }
html.vt .p30-pf { border: 0 !important; }
html.vt .p30-pfn { border-radius: 50% !important; }
html.vt .nav-back { border-radius: 50% !important; border: 0 !important; background: var(--paper-2) !important; color: var(--ink) !important; box-shadow: 0 1px 4px rgba(0,0,0,.12) !important; }
html.vt.p21-on .nav-back.nav-x { display: none !important; }
html.vt :is(.p26-solid, .p27-solid, .p25-solid, .p30-solid, .p31-solid, [class*="-solid"]) { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; }
html.vt[data-theme="dark"] :is([class*="-solid"]) { color: #111 !important; }
html.vt :is(.p26-btn, .p27-btn, .p25-btn, .p30-btn, .p31-btn, .p28-btn, [class$="-btn"]) { border-radius: 999px !important; border-width: 1px !important; }
html.vt .v2-plan-new, html.vt [class*="plan-new"], html.vt [class*="newplan"] { border-radius: 18px !important; }

/* full-bleed: page colour edge to edge (incl. iOS overscroll + notch sides), no sideways scroll */
html.v2, html.p17.v2 { background: var(--bg) !important; overflow-x: clip; }
html.v2 body { min-height: 100vh; min-height: 100dvh; overflow-x: clip; max-width: none !important; padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); }
html.v2 .v2-tabs { padding-left: max(6px, env(safe-area-inset-left, 0px)) !important; padding-right: max(6px, env(safe-area-inset-right, 0px)) !important; }
html.v2 img, html.v2 svg, html.v2 video { max-width: 100%; }
html.p17.v2.vt.vt.vt { --vt-r: 14px; --bg: #FFFFFF; --paper: #FFFFFF; --paper-2: #EEF2EA; --ink: #202124; --muted: #5F6368; --line: #DADCE0; --rule: #DADCE0; --accent: #3B3FD8; --select-edge: #3B3FD8; }
html.p17.v2.vt.vt.vt[data-theme="dark"] { --bg: #1B1D1F; --paper: #232528; --paper-2: #2B2E31; --ink: #E8EAED; --muted: #9AA0A6; --line: #3C4043; --rule: #3C4043; --accent: #A9A6FF; --select-edge: #A9A6FF; }
/* tab bar: Material white with blue pill */
html.p17.v2.vt.vt.vt .v2-tabs { background: #fff !important; box-shadow: 0 -1px 0 #E3E5E8, 0 -6px 18px rgba(0,0,0,.05) !important; }
html.p17.v2.vt.vt.vt[data-theme="dark"] .v2-tabs { background: #232528 !important; }
html.p17.v2.vt.vt.vt .v2-tabs button { color: #5F6368 !important; }
html.p17.v2.vt.vt.vt .v2-tabs button svg { padding: 3px 18px; box-sizing: content-box; border-radius: 999px; }
html.p17.v2.vt.vt.vt .v2-tabs button[aria-current="page"] { background: none !important; color: #2A2DB0 !important; }
html.p17.v2.vt.vt.vt .v2-tabs button[aria-current="page"] svg { background: #D3E3FD; }
html.p17.v2.vt.vt.vt .v2-tabs button[aria-current="page"] span { font-weight: 700 !important; }
/* HOME: map first */
html.p17.v2.vt.vt.vt.p27-today .hx-hero { position: relative; z-index: 3; background: none !important; border: 0 !important; }
html.p17.v2.vt.vt.vt.p27-today .p12-hello { background: #fff; border-radius: 28px; padding: 8px 10px 8px 14px !important; box-shadow: 0 2px 8px rgba(0,0,0,.14); margin: 0 4px; }
html.p17.v2.vt.vt.vt.p27-today .hx-greet { font-size: 22px !important; }
html.vt .p27-today { border: 0 !important; }
html.vt .p27-tread { position: relative; padding: 0 !important; border: 0 !important; background: none !important; }
.vt-map { position: relative; margin: -6px -20px 0; height: 360px; overflow: hidden; }
.vt-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.vt-pin { position: absolute; transform: translate(-50%, -130%); background: #fff; border-radius: 8px; padding: 4px 8px; font: 700 11px Inter, sans-serif; color: #202124; box-shadow: 0 1px 4px rgba(0,0,0,.25); white-space: nowrap; }
.vt-pin.here { background: #3B3FD8; color: #fff; }
.vt-sheet { position: relative; z-index: 2; margin: -34px -20px 0; background: #fff; border-radius: 24px 24px 0 0; padding: 10px 20px 18px; box-shadow: 0 -6px 22px rgba(0,0,0,.12); }
html[data-theme="dark"] .vt-sheet { background: #232528; }
.vt-grab { display: block; width: 40px; height: 5px; border-radius: 3px; background: #C4C7C5; margin: 0 auto 12px; border: 0; padding: 0; cursor: grab; }
.vt-status { background: #EEEDFF; color: #2A2DB0; border-radius: 10px; padding: 8px 11px; font: 600 12.5px Inter, sans-serif; margin-bottom: 10px; }
html.vt .p27-tread .p27-k { color: #3B3FD8 !important; letter-spacing: 1px !important; }
html.vt .p27-tr-h { font-size: 26px !important; margin: 4px 0 2px !important; border: 0 !important; }
html.vt .p27-tr-t { font-size: 14.5px !important; color: var(--muted) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html.vt .p27-tr-row { gap: 10px !important; margin-top: 12px !important; flex-wrap: wrap; }
html.vt #p27-tr-read { background: #3B3FD8 !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 12px 22px !important; font: 600 15px Inter, sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; }
html.vt #p27-choose { border: 1px solid #DADCE0 !important; border-radius: 999px !important; padding: 11px 16px !important; color: #3B3FD8 !important; text-decoration: none !important; font: 600 14px Inter, sans-serif !important; }
html.vt .p27-feedcard { background: #fff !important; color: var(--ink) !important; border: 1px solid #E3E5E8 !important; border-radius: 18px !important; margin: 12px 0 0 !important; min-height: 0 !important; padding: 14px 16px !important; }
html[data-theme="dark"].vt .p27-feedcard { background: #232528 !important; }
html.vt .p27-feedcard strong { font-size: 17px !important; } html.vt .p27-feedcard .p27-k { color: #3B3FD8 !important; } html.vt .p27-feedcard .p27-fgo { color: #3B3FD8 !important; }
html.vt .p27-feedcard strong, html.vt .p27-feedcard small { color: var(--ink) !important; }
html.vt .p27-pray { border: 1px solid #E3E5E8 !important; border-radius: 18px; padding: 10px 14px !important; margin-top: 10px !important; background: var(--paper) !important; }
html.vt #p27-pray-mark { border-radius: 999px !important; border: 1px solid #DADCE0 !important; color: #3B3FD8 !important; background: none !important; text-transform: none !important; letter-spacing: 0 !important; font: 600 13px Inter, sans-serif !important; }
html.vt #p27-pray-mark[aria-pressed="true"] { background: #3B3FD8 !important; color: #fff !important; }
html.vt .p27-more { border: 0 !important; margin-bottom: 110px !important; } html.vt .p27-more-s { color: #3B3FD8 !important; border: 0 !important; text-transform: none !important; letter-spacing: 0 !important; font: 600 14px Inter, sans-serif !important; }
/* LIBRARY: destinations on a route */
html.vt .p21-panel { background: #FFFFFF !important; }
html[data-theme="dark"].vt .p21-panel { background: #1B1D1F !important; }
html.vt .p21-find { background: #fff !important; box-shadow: 0 2px 8px rgba(0,0,0,.12); color: var(--ink) !important; }
html.vt .p21-x { background: #fff !important; box-shadow: 0 1px 4px rgba(0,0,0,.15); }
html.vt .p21-grp { background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08); margin-left: 22px; }
html[data-theme="dark"].vt .p21-grp { background: #232528; }
html.vt .p21-grp::before { content: ""; position: absolute; left: -16px; top: 26px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid #3B3FD8; box-sizing: border-box; }
html.vt .p21-grp::after { content: ""; position: absolute; left: -11px; top: 40px; bottom: -14px; width: 2px; background: repeating-linear-gradient(#3B3FD8 0 4px, transparent 4px 9px); }
html.vt .p21-grp[data-grp="More"]::after, html.vt .p21-grp[data-grp="Fun & family"]::after { display: none; }
html.vt .p21-grp[data-grp="More"]::before { display: none; }
html.vt .p21-gt::before { background: #EEEDFF; }
html.vt .p21-row { background: #F1F3F4 !important; color: var(--ink) !important; }
html[data-theme="dark"].vt .p21-row { background: #2B2E31 !important; }
html.vt .p21-list .p21-row:first-child { background: #EEEDFF !important; } html.vt .p21-list .p21-row:first-child strong { color: #2A2DB0 !important; }
html.vt .p21-grp[data-grp="More"] .p21-list .p21-row:first-child { background: #F1F3F4 !important; } html.vt .p21-grp[data-grp="More"] .p21-list .p21-row:first-child strong { color: var(--ink) !important; }
.vt-libhero { background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.1); color: #202124; flex-wrap: wrap; }
html[data-theme="dark"] .vt-libhero { background: #232528; color: #E8EAED; }
.vt-libhero small { color: #3B3FD8; } .vt-libhero .vt-go { background: #3B3FD8; color: #fff; }
.vt-libhero .vt-prog { flex-basis: 100%; height: 6px; border-radius: 3px; background: #E8EAED; overflow: hidden; } .vt-libhero .vt-prog i { display: block; height: 100%; background: #3B3FD8; }
html.p17.v2.vt.vt.vt.p27-today .hx-hero button { border: 1px solid #DADCE0 !important; }
html.vt .vt-sheet .p30-pf { background: #F1F3F4; border-radius: 12px; padding: 8px 10px !important; font-size: 13px; }
html.vt .vt-sheet .p27-tr-t { display: none !important; }
/* interactive map */
.vt-map { height: 44vh; touch-action: none; user-select: none; -webkit-user-select: none; background: #E9F0E2; }
.vt-svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: grab; }
.vt-svg:active { cursor: grabbing; }
.vt-era text { font: 800 15px Inter, sans-serif; fill: #5f6b56; letter-spacing: .5px; paint-order: stroke; stroke: #fff; stroke-width: 4px; }
.vt-map:not([data-zoom="far"]):not([data-zoom="mid"]) .vt-era { opacity: 0; }
.vt-era { transition: opacity .25s; pointer-events: none; }
.vt-map[data-zoom="far"] .vt-stop .vt-lbl, .vt-map[data-zoom="far"] .vt-mark-n { opacity: 0; }
.vt-map[data-zoom="far"] .vt-stop:not(.here) { opacity: .0; }
.vt-stop { cursor: pointer; transition: opacity .25s; }
.vt-stop .vt-dot { fill: #fff; stroke: #9AA0A6; stroke-width: 3; }
.vt-stop.done .vt-dot { fill: #3B3FD8; stroke: #fff; }
.vt-check { fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.vt-stop.here .vt-dot { fill: #fff; stroke: #3B3FD8; stroke-width: 5; }
.vt-pulse { fill: rgba(59,63,216,.35); transform-box: fill-box; transform-origin: center; animation: vtPulse 1.8s ease-out infinite; }
@keyframes vtPulse { from { transform: scale(.7); opacity: .9; } to { transform: scale(2.4); opacity: 0; } }
.vt-glow { fill: rgba(251,188,4,.55); transform-box: fill-box; transform-origin: center; animation: vtGlow 1.6s ease-in-out infinite alternate; }
.vt-stop.next .vt-dot { stroke: #F9AB00; stroke-width: 4; }
@keyframes vtGlow { from { transform: scale(1); opacity: .5; } to { transform: scale(1.7); opacity: .95; } }
.vt-lbl text { font: 700 11.5px Inter, sans-serif; fill: #202124; paint-order: stroke; stroke: #fff; stroke-width: 4px; stroke-linejoin: round; }
.vt-stop.here .vt-lbl text { fill: #2A2DB0; font-weight: 800; }
.vt-mark { cursor: pointer; }
.vt-mark-bg { fill: #fff; stroke: #DADCE0; stroke-width: 1.5; filter: drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
.vt-mark-e { font-size: 15px; }
.vt-mark-n { font: 700 10.5px Inter, sans-serif; fill: #3c4043; paint-order: stroke; stroke: #fff; stroke-width: 3.5px; }
.vt-map[data-zoom="near"] .vt-mark-n { opacity: .9; }
.vt-trav-c { fill: #fff; stroke: #3B3FD8; stroke-width: 2.5; filter: drop-shadow(0 2px 3px rgba(0,0,0,.3)); }
.vt-trav { pointer-events: none; } .vt-trav-e { font-size: 11px; }
.vt-trav { transform-box: view-box; }
.vt-ctrl { position: absolute; right: 10px; top: 10px; display: flex; flex-direction: column; gap: 6px; z-index: 2; }
.vt-ctrl button { width: 40px; height: 40px; border-radius: 12px !important; border: 0 !important; background: #fff !important; color: #3c4043 !important; font: 600 19px Inter, sans-serif; box-shadow: 0 1px 4px rgba(0,0,0,.25); cursor: pointer; }
.vt-zl { position: absolute; left: 10px; top: 10px; background: rgba(255,255,255,.92); border-radius: 999px; padding: 6px 11px; font: 700 11.5px Inter, sans-serif; color: #2A2DB0; box-shadow: 0 1px 3px rgba(0,0,0,.18); z-index: 2; max-width: 60%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vt-card { position: absolute; left: 10px; right: 10px; bottom: 46px; z-index: 3; background: #fff; border-radius: 18px; padding: 14px 16px; box-shadow: 0 8px 28px rgba(0,0,0,.22); font-family: Inter, sans-serif; color: #202124; transform: translateY(14px); opacity: 0; transition: transform .2s, opacity .18s; max-height: calc(100% - 60px); overflow: auto; }
.vt-card.in { transform: none; opacity: 1; }
.vt-card strong { display: block; font-size: 19px; margin: 3px 0 4px; } .vt-card p { margin: 0 0 10px; font-size: 13px; color: #5F6368; line-height: 1.4; }
.vt-card-k { color: #3B3FD8; font-weight: 700; font-size: 11px; letter-spacing: .6px; text-transform: uppercase; } .vt-card-k2 { display: block; font-size: 11px; font-weight: 700; color: #5F6368; margin-bottom: 6px; }
.vt-card-x { position: absolute; right: 8px; top: 6px; width: 32px; height: 32px; border: 0 !important; background: #F1F3F4 !important; border-radius: 50% !important; font-size: 18px; color: #3c4043; }
.vt-card-row { display: flex; gap: 8px; flex-wrap: wrap; } .vt-card-ppl { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.vt-card-go { background: #3B3FD8 !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 10px 18px; font: 600 14px Inter, sans-serif; }
.vt-card-2, .vt-chip { background: #fff !important; color: #3B3FD8 !important; border: 1px solid #DADCE0 !important; border-radius: 999px !important; padding: 9px 14px; font: 600 13px Inter, sans-serif; }
.vt-chip { color: #3c4043 !important; padding: 6px 10px; font-size: 12px; }
html[data-theme="dark"] .vt-card { background: #2B2E31; color: #E8EAED; }
.vt-sheet { touch-action: pan-y; }
.vt-grab { width: 100% !important; height: 22px !important; background: none !important; margin: -6px 0 4px !important; position: relative; }
.vt-grab::after { content: ""; position: absolute; left: 50%; top: 8px; width: 40px; height: 5px; margin-left: -20px; border-radius: 3px; background: #C4C7C5; }
@media (prefers-reduced-motion: reduce) { .vt-pulse, .vt-glow { animation: none; } .vt-card { transition: none; } .vt-era { transition: none; } }

.vt-stop .vt-lbl { opacity: 0; transition: opacity .2s; }
.vt-stop.here .vt-lbl, .vt-stop.next .vt-lbl, .vt-stop:hover .vt-lbl, .vt-stop:focus .vt-lbl { opacity: 1; }
.vt-map { margin: 0 -20px !important; }
.vt-sheet { margin-top: -22px !important; }
/* memory */
.vt-mstats { grid-template-columns: repeat(4, 1fr) !important; }
.vt-mh { font: 700 15px Inter, sans-serif !important; margin: 18px 0 8px !important; letter-spacing: 0 !important; text-transform: none !important; }
.vt-mrow { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; margin-bottom: 8px; }
.vt-mrow-b { flex: 1; text-align: left; background: none !important; border: 0 !important; padding: 0 !important; color: var(--ink); }
.vt-mrow-b strong { display: block; font-size: 15px; } .vt-mrow-b small { color: var(--muted); font-size: 12px; }
.vt-mbar { display: block; height: 5px; border-radius: 3px; background: #E8EAED; margin-top: 6px; overflow: hidden; } .vt-mbar i { display: block; height: 100%; background: #3B3FD8; border-radius: 3px; }
.vt-mtag { font: 700 10.5px Inter, sans-serif; text-transform: uppercase; letter-spacing: .5px; padding: 4px 8px; border-radius: 999px; background: #FEF7E0; color: #B06000; }
.vt-mtag.reviewing { background: #EEEDFF; color: #2A2DB0; } .vt-mtag.mastered { background: #E6F4EA; color: #137333; }
.vt-packs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.vt-pack { text-align: left; background: var(--paper) !important; border: 1px solid var(--line) !important; border-radius: 16px !important; padding: 12px !important; color: var(--ink); }
.vt-pack strong { display: block; font-size: 14.5px; } .vt-pack small { display: block; color: var(--muted); font-size: 12px; margin: 2px 0 6px; } .vt-pack em { font-style: normal; color: #3B3FD8; font-weight: 700; font-size: 12px; }
.vt-mverse span { color: var(--muted); } .vt-mverse span.on { color: var(--ink); font-weight: 600; }
.vt-mverse { font: 500 19px/1.5 Georgia, serif; } .vt-mk { font: 700 11px Inter, sans-serif; color: #3B3FD8; text-transform: uppercase; letter-spacing: .8px; margin: 14px 0 4px; } .vt-mnote { font-size: 14px; line-height: 1.5; color: var(--muted); }
.vt-dots { display: flex; gap: 5px; margin-bottom: 14px; } .vt-dots i { flex: 1; height: 4px; border-radius: 2px; background: #E8EAED; } .vt-dots i.done { background: #3B3FD8; } .vt-dots i.on { background: #A9A6FF; }
.vt-step { font: 700 12px Inter, sans-serif; color: #3B3FD8; text-transform: uppercase; letter-spacing: .6px; margin: 4px 0 10px; }
.vt-ctx { font: 500 19px/1.55 Georgia, serif; } .vt-ctx .hl { background: #D3E3FD; border-radius: 4px; color: #2A2DB0; } .vt-ctx .later { color: #BDC1C6; } .vt-ctx .known { color: var(--ink); }
.vt-line { font: 500 20px/1.5 Georgia, serif; min-height: 60px; } .vt-fade span { transition: opacity .35s; } .vt-fade span.gone { opacity: 0; }
@media (prefers-reduced-motion: reduce) { .vt-fade span { transition: none; } }
.vt-blank { color: #3B3FD8; font-weight: 700; }
.vt-tiles { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; } .vt-tile { padding: 10px 14px; border-radius: 12px !important; border: 1px solid #DADCE0 !important; background: #fff !important; color: #202124; font: 600 15px Inter, sans-serif; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.vt-tile:disabled { opacity: .25; } .vt-tile.ok { background: #E6F4EA !important; border-color: #137333 !important; } .vt-tile.no { background: #FCE8E6 !important; opacity: .5; }
.vt-msg { min-height: 22px; font-size: 14px; color: var(--muted); }
.vt-memstep { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; background: #FEF7E0 !important; border: 0 !important; border-radius: 14px !important; padding: 10px 12px !important; margin: 0 0 10px; color: #202124; }
.vt-memstep-i { font-size: 22px; } .vt-memstep small { display: block; font: 700 10.5px Inter, sans-serif; color: #B06000; text-transform: uppercase; letter-spacing: .5px; } .vt-memstep strong { font-size: 14px; } .vt-memstep-go { margin-left: auto; font-size: 22px; color: #B06000; }
.vt-micnote { font-size: 13px; color: #5F6368; background: #F1F3F4; border-radius: 12px; padding: 8px 10px; margin: 0 0 8px; }
.vt-micnote:empty { display: none; }
.vt-mic.on { background: #2A2DB0 !important; animation: vtMic 1s ease-in-out infinite alternate; }
@keyframes vtMic { to { box-shadow: 0 0 0 8px rgba(59,63,216,.18); } }
@media (prefers-reduced-motion: reduce) { .vt-mic.on { animation: none; } }
.vt-score { display: inline-block; font: 800 18px Inter, sans-serif; color: #B06000; } .vt-score.pass { color: #137333; }
.vt-legend { font-size: 12.5px; color: #5F6368; }
.vt-wline { display: block; margin-top: 8px; font: 500 18px/1.6 Georgia, serif; }
.vt-w.ok { color: #137333; background: #E6F4EA; border-radius: 4px; } .vt-w.miss { color: #9AA0A6; } .vt-w.wrong { color: #B06000; background: #FEF7E0; border-radius: 4px; } .vt-w.soft { color: #9AA0A6; }
.vt-map { width: auto; } 

@media (min-width: 700px) { .vt-map, .vt-sheet { border-radius: 22px; } .vt-map { margin: 0 !important; } .vt-sheet { margin-left: 0 !important; margin-right: 0 !important; } }
/* batch 2 */
html.p17.v2.vt.vt.vt .vt-card2{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;width:100%;text-align:left;padding:14px 16px;margin:0 0 8px;border:1px solid var(--line,#E2E6DF);border-radius:16px;background:var(--card,#fff);color:inherit;text-decoration:none;font:inherit;cursor:pointer}
html.p17.v2.vt.vt.vt .vt-card2 strong{font-weight:650}html.p17.v2.vt.vt.vt .vt-card2 small{grid-column:1;opacity:.7;font-size:.85em}html.p17.v2.vt.vt.vt .vt-card2 .vt-ar{grid-row:1/3;grid-column:2;color:var(--accent,#3B3FD8)}
html.p17.v2.vt.vt.vt .vt-lede{opacity:.75;margin:0 0 14px}html.p17.v2.vt.vt.vt .vt-hs h3{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin:18px 0 8px}
html.p17.v2.vt.vt.vt .vt-steps{list-style:none;padding:0;margin:16px 0}html.p17.v2.vt.vt.vt .vt-step button{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:12px 14px;margin-bottom:8px;border:1px solid var(--line,#E2E6DF);border-radius:16px;background:var(--card,#fff);color:inherit;font:inherit}
html.p17.v2.vt.vt.vt .vt-step small{display:block;opacity:.7}html.p17.v2.vt.vt.vt .vt-sn{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--line,#E2E6DF);font-weight:700}
html.p17.v2.vt.vt.vt .vt-step.done .vt-sn{background:#1E8E3E;color:#fff}html.p17.v2.vt.vt.vt .vt-step.next button{border-color:var(--accent,#3B3FD8);box-shadow:0 0 0 3px rgba(59,63,216,.15)}html.p17.v2.vt.vt.vt .vt-step.next .vt-sn{background:var(--accent,#3B3FD8);color:#fff}
html.p17.v2.vt.vt.vt .vt-tprog{display:block;height:8px;border-radius:8px;background:var(--line,#E2E6DF);overflow:hidden}html.p17.v2.vt.vt.vt .vt-tprog i{display:block;height:100%;background:var(--accent,#3B3FD8)}
html.p17.v2.vt.vt.vt .vt-tnext{display:block;width:100%;padding:14px;border:0;border-radius:999px;background:var(--accent,#3B3FD8);color:#fff;font:inherit;font-weight:650;margin:10px 0}html.p17.v2.vt.vt.vt .vt-link{background:none;border:0;color:var(--accent,#3B3FD8);font:inherit;padding:8px 0}
html.p17.v2.vt.vt.vt .vt-ans{margin:8px 0 12px;padding:10px;border-radius:16px;background:rgba(59,63,216,.07)}html.p17.v2.vt.vt.vt .vt-ansh{margin:0 4px 6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}
html.p17.v2.vt.vt.vt .vt-ansrow{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:12px;background:var(--card,#fff);color:inherit;font:inherit;margin-bottom:6px}html.p17.v2.vt.vt.vt .vt-ansrow small{display:block;opacity:.7}
html.p17.v2.vt.vt.vt .vt-chub-btn{display:flex;gap:10px;align-items:center;margin:12px auto;max-width:680px;width:calc(100% - 32px);padding:12px 16px;border:1px solid var(--line,#E2E6DF);border-radius:999px;background:var(--card,#fff);color:inherit;font:inherit}html.p17.v2.vt.vt.vt .vt-chub-btn span{color:var(--accent,#3B3FD8);font-size:1.2em}html.p17.v2.vt.vt.vt .vt-chub-btn small{opacity:.65;margin-left:auto}
@media (max-width:480px){html.p17.v2.vt.vt.vt .vt-chub-btn small{display:none}html.p17.v2.vt.vt.vt .vt-chub-btn strong{white-space:nowrap}}
/* ---- illustrated world map ---- */
.vt-map { background: #5EA8D2 !important; }
.vt-map[data-tod="night"] .vt-l-ground, .vt-map[data-tod="night"] .vt-l-deco { filter: brightness(.78) saturate(.85); }
.vt-map[data-tod="evening"] .vt-l-ground { filter: saturate(1.05) sepia(.08); }
.vt-skyl, .vt-clouds, .vt-birds { pointer-events: none; }
.vt-waves use { animation: vtWave 5.5s ease-in-out infinite; transform-box: fill-box; }
@keyframes vtWave { 0%,100% { opacity: .2; translate: -4px 0; } 50% { opacity: .9; translate: 4px 0; } }
.vt-shim { animation: vtShim 4s ease-in-out infinite; } @keyframes vtShim { 0%,100% { opacity: .1; } 50% { opacity: .45; } }
.vt-flow { animation: vtFlow 3s linear infinite; } @keyframes vtFlow { to { stroke-dashoffset: -56; } }
.vt-spark { animation: vtSpark 2.4s linear infinite; } @keyframes vtSpark { to { stroke-dashoffset: -56; } }
.vt-glowroad { animation: vtGlowR 2.6s ease-in-out infinite alternate; } @keyframes vtGlowR { from { opacity: .3; } to { opacity: .65; } }
.vt-twk { animation: vtTwk 3.5s ease-in-out infinite; } @keyframes vtTwk { 50% { opacity: .15; } }
.vt-bird { animation: vtBird 22s linear infinite; } .vt-wing { transform-box: fill-box; transform-origin: center; animation: vtFlap .5s ease-in-out infinite alternate; }
@keyframes vtBird { from { transform: translate(-40px, var(--by,20%)) ; } to { transform: translate(calc(100vw + 40px), calc(var(--by,20%) - 30px)); } }
.vt-birds { transform: translateY(0); } .vt-bird { translate: 0 0; }
@keyframes vtFlap { from { transform: scaleY(1); } to { transform: scaleY(-.5); } }
.vt-bob { animation: vtBob 1.3s ease-in-out infinite; } @keyframes vtBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.vt-trav-b { animation: vtWalk .7s ease-in-out infinite; } @keyframes vtWalk { 50% { transform: translateY(-1.5px) rotate(2deg); } }
.vt-car use { animation: vtWalk .9s ease-in-out infinite; } .vt-car use:nth-child(2n) { animation-delay: -.45s; }
.vt-car { pointer-events: none; transition: opacity .3s; }
.vt-stop-sh { fill: rgba(40,30,10,.25); }
.vt-stop .vt-dot-rim { fill: #fff; filter: drop-shadow(0 1.5px 1.5px rgba(0,0,0,.25)); }
.vt-stop .vt-dot { fill: #F7EFDC; stroke: #A88356; stroke-width: 2.5; }
.vt-stop.done .vt-dot { fill: #3B3FD8; stroke: #FFD866; stroke-width: 2.5; }
.vt-stop.here .vt-dot { fill: #fff; stroke: #3B3FD8; stroke-width: 5; }
.vt-stop.next .vt-dot { fill: #FFF6D8; stroke: #E8A400; stroke-width: 4; }
.vt-medal { cursor: pointer; } .vt-medal-sh { fill: rgba(40,30,10,.28); }
.vt-mark-pin { stroke: #8A6036; stroke-width: 2; }
.vt-mark:hover .vt-medal, .vt-mark:focus .vt-medal { filter: brightness(1.06); }
.vt-mark-bg { display: none; }
g.vt-mark-n text { font: 750 10.5px Inter, sans-serif; fill: #4a3410; stroke: none; }
.vt-mark-ban { fill: #FFF8E6; stroke: #D8B66A; stroke-width: 1; filter: drop-shadow(0 1px 1.5px rgba(0,0,0,.18)); }
.vt-map[data-zoom="far"] g.vt-mark-n { opacity: 0; }
.vt-map[data-zoom="far"] .vt-mark .vt-medal { transform: translate(0px, -20px) scale(.6); }
.vt-era-bg { fill: rgba(255,250,236,.92); stroke: #CDA95A; stroke-width: 1.2; filter: drop-shadow(0 2px 3px rgba(0,0,0,.2)); }
.vt-era text { font: 800 13px Inter, sans-serif !important; fill: #5a4216 !important; stroke: none !important; letter-spacing: .4px; }
.vt-map[data-zoom="far"] .vt-era { transform-box: fill-box; }
.vt-map[data-zoom="far"] .vt-era text { font-size: 14px !important; }
.vt-trav-c { fill: #3B3FD8; stroke: #fff; stroke-width: 2; filter: none; }
.vt-map .vt-pulse { fill: rgba(59,63,216,.32); }
.vt-map .vt-glow { fill: rgba(255,200,40,.6); }
.vt-zl { background: rgba(255,250,236,.92) !important; color: #5a4216 !important; }
@media (prefers-reduced-motion: reduce) { .vt-waves use, .vt-shim, .vt-flow, .vt-spark, .vt-glowroad, .vt-twk, .vt-bird, .vt-wing, .vt-bob, .vt-trav-b, .vt-car use { animation: none !important; } .vt-birds { display: none; } }
/* ===== Premium ===== */
html.p17.v2.vt.vt.vt .pm-wrap{padding-bottom:8px}
html.p17.v2.vt.vt.vt .pm-hero{text-align:center;padding:18px 12px 8px;border-radius:20px;background:linear-gradient(160deg,#EEEDFF,#FFFFFF);margin-bottom:12px}
html.p17.v2.vt.vt.vt .pm-mark{width:52px;height:52px;margin:0 auto 8px;border-radius:50%;background:#3B3FD8;color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 6px 18px rgba(59,63,216,.3)}
html.p17.v2.vt.vt.vt .pm-hero h3{margin:4px 0;font-size:1.35rem}html.p17.v2.vt.vt.vt .pm-hero p{margin:0;opacity:.75}
html.p17.v2.vt.vt.vt .pm-why{background:#EEEDFF;color:#2A2DB0;border-radius:12px;padding:10px 12px;font-size:.92em}
html.p17.v2.vt.vt.vt .pm-perks{list-style:none;padding:0;margin:12px 0}html.p17.v2.vt.vt.vt .pm-perks li{display:flex;gap:12px;align-items:flex-start;padding:8px 6px;border-radius:12px}
html.p17.v2.vt.vt.vt .pm-perks li.hl{background:#EEEDFF}html.p17.v2.vt.vt.vt .pm-perks small{display:block;opacity:.7}
html.p17.v2.vt.vt.vt .pm-ck{flex:none;width:22px;height:22px;border-radius:50%;background:#3B3FD8;color:#fff;display:grid;place-items:center;font-size:12px;margin-top:2px}
html.p17.v2.vt.vt.vt .pm-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 14px}
html.p17.v2.vt.vt.vt .pm-plan{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px;border:1.5px solid var(--line,#E2E6DF);border-radius:16px;background:var(--card,#fff);color:inherit;font:inherit;text-align:left;cursor:pointer}
html.p17.v2.vt.vt.vt .pm-plan.on{border-color:#3B3FD8;box-shadow:0 0 0 3px rgba(59,63,216,.18)}
html.p17.v2.vt.vt.vt .pm-price{font-weight:700;color:#3B3FD8}
html.p17.v2.vt.vt.vt .pm-tag{position:absolute;top:-9px;right:10px;font:700 10px Inter,sans-serif;font-style:normal;letter-spacing:.4px;text-transform:uppercase;background:#1E8E3E;color:#fff;border-radius:99px;padding:3px 8px}
html.p17.v2.vt.vt.vt .pm-cta{display:block;width:100%;box-sizing:border-box;text-align:center;text-decoration:none;padding:15px;border:0;border-radius:99px;background:#3B3FD8;color:#fff;font:600 1.02rem Inter,sans-serif;cursor:pointer;box-shadow:0 6px 16px rgba(59,63,216,.28);margin-top:6px}
html.p17.v2.vt.vt.vt .pm-soon{text-align:center;font-size:.85em;opacity:.7;margin:10px 0}
html.p17.v2.vt.vt.vt .pm-soon.pm-pulse{animation:pmp 1.2s ease;opacity:1;color:#2A2DB0}@keyframes pmp{0%{transform:scale(1)}30%{transform:scale(1.05)}100%{transform:scale(1)}}
html.p17.v2.vt.vt.vt .pm-links,html.p17.v2.vt.vt.vt .pm-setrow{display:flex;justify-content:center;gap:18px;margin:6px 0}
html.p17.v2.vt.vt.vt .pm-link{background:none;border:0;color:#3B3FD8;font:600 .92rem Inter,sans-serif;padding:8px;cursor:pointer}
html.p17.v2.vt.vt.vt .pm-sec h3{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin:20px 0 8px}
html.p17.v2.vt.vt.vt .pm-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-bottom:8px;border:1px solid var(--line,#E2E6DF);border-radius:16px;background:var(--card,#fff)}
html.p17.v2.vt.vt.vt .pm-card small{display:block;opacity:.7;font-size:.85em}
html.p17.v2.vt.vt.vt .pm-buy{flex:none;border:1.5px solid #3B3FD8;background:none;color:#3B3FD8;border-radius:99px;padding:8px 14px;font:600 .9rem Inter,sans-serif;cursor:pointer}
html.p17.v2.vt.vt.vt .pm-owned{color:#1E8E3E;font-weight:600}
html.p17.v2.vt.vt.vt .pm-have{padding:14px 16px;border-radius:16px;background:#E6F4EA}html.p17.v2.vt.vt.vt .pm-have small{display:block;opacity:.75}
html.p17.v2.vt.vt.vt .pm-tipjar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
html.p17.v2.vt.vt.vt .pm-tip{padding:14px 6px;border:1px solid var(--line,#E2E6DF);border-radius:16px;background:var(--card,#fff);color:inherit;font:inherit;cursor:pointer}
html.p17.v2.vt.vt.vt .pm-tip strong{display:block;font-size:1.1rem;color:#3B3FD8}html.p17.v2.vt.vt.vt .pm-tip small{opacity:.7;font-size:.78em}
html.p17.v2.vt.vt.vt .pm-tiers{display:grid;gap:12px;margin:8px 0 16px}
html.p17.v2.vt.vt.vt .pm-tier{position:relative;padding:16px;border:1px solid var(--line,#E2E6DF);border-radius:18px;background:var(--card,#fff)}
html.p17.v2.vt.vt.vt .pm-tier.best{border:1.5px solid #3B3FD8;box-shadow:0 0 0 3px rgba(59,63,216,.12)}
html.p17.v2.vt.vt.vt .pm-big{font-size:1.8rem;font-weight:700;color:#3B3FD8;margin-top:4px}html.p17.v2.vt.vt.vt .pm-tier small{opacity:.7}
html.p17.v2.vt.vt.vt .pm-tier ul{margin:10px 0 0;padding-left:18px}html.p17.v2.vt.vt.vt .pm-tier li{margin:3px 0}
html.p17.v2.vt.vt.vt .pm-input{display:block;width:100%;box-sizing:border-box;padding:14px;border:1.5px solid var(--line,#D5DAD2);border-radius:14px;font:600 1.1rem ui-monospace,Menlo,monospace;letter-spacing:1px;text-align:center;text-transform:uppercase;background:var(--card,#fff);color:inherit;margin-bottom:8px}
html.p17.v2.vt.vt.vt .pm-input:focus{outline:none;border-color:#3B3FD8;box-shadow:0 0 0 3px rgba(59,63,216,.18)}
html.p17.v2.vt.vt.vt .pm-msg{text-align:center;min-height:1.2em}html.p17.v2.vt.vt.vt .pm-msg.ok{color:#1E8E3E;font-weight:600}html.p17.v2.vt.vt.vt .pm-msg.bad{color:#B06000}
html.p17.v2.vt.vt.vt .pm-gated{max-height:9.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 45%,transparent);mask-image:linear-gradient(#000 45%,transparent)}
html.p17.v2.vt.vt.vt .pm-veil{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-6px 0 16px;padding:12px 14px;border-radius:16px;background:#EEEDFF}
html.p17.v2.vt.vt.vt .pm-veil-k{font:700 12px Inter,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:#2A2DB0}
html.p17.v2.vt.vt.vt .pm-unlock{border:0;border-radius:99px;background:#3B3FD8;color:#fff;padding:9px 14px;font:600 .88rem Inter,sans-serif;cursor:pointer}
html.p17.v2.vt.vt.vt .p30-jcard.pm-locked{opacity:.82}html.p17.v2.vt.vt.vt .pm-jlock{display:inline-block;margin-top:6px;font:700 11px Inter,sans-serif;color:#2A2DB0;background:#EEEDFF;border-radius:99px;padding:3px 8px}
html.p17.v2.vt.vt.vt .pm-row{margin-top:10px}
.pm-toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,20px);opacity:0;transition:.25s;background:#202124;color:#fff;padding:10px 16px;border-radius:99px;font:500 14px Inter,sans-serif;z-index:9999;max-width:86vw;text-align:center}.pm-toast.on{opacity:1;transform:translate(-50%,0)}
@media (prefers-color-scheme:dark){html.p17.v2.vt.vt.vt .pm-hero{background:linear-gradient(160deg,#1c2a44,#1B1D1F)}html.p17.v2.vt.vt.vt .pm-why,html.p17.v2.vt.vt.vt .pm-veil,html.p17.v2.vt.vt.vt .pm-perks li.hl,html.p17.v2.vt.vt.vt .pm-jlock{background:#1c2a44;color:#A9A6FF}html.p17.v2.vt.vt.vt .pm-have{background:#1d3324}}

html.p17.v2.vt.vt.vt .pm-plans.pm-one{grid-template-columns:1fr;margin:10px 0 8px}html.p17.v2.vt.vt.vt .pm-one .pm-plan{flex-direction:row;justify-content:space-between;align-items:center}html.p17.v2.vt.vt.vt .pm-hero{padding:12px 10px 6px}html.p17.v2.vt.vt.vt .pm-mark{width:40px;height:40px;font-size:18px;margin-bottom:4px}
/* ===== vertical story timeline (home) ===== */
html.p17.v2.vt.vt.vt .vt-tl{width:100vw;margin:0 0 18px calc(50% - 50vw);background:linear-gradient(#FFFFFF,#EEEDFF);padding:20px 0 28px;overflow:hidden}
html.p17.v2.vt.vt.vt .vt-tl-head{padding:0 20px 14px}
html.p17.v2.vt.vt.vt .vt-tl-k{font:700 11px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#3B3FD8}
html.p17.v2.vt.vt.vt .vt-tl-h{font:700 26px/1.15 Inter,sans-serif;margin:4px 0 2px;color:#202124}
html.p17.v2.vt.vt.vt .vt-tl-sub{margin:0 0 10px;color:#5F6368;font-size:14px}
html.p17.v2.vt.vt.vt .vt-tl-bar{height:6px;border-radius:9px;background:#E4E2FF;overflow:hidden}html.p17.v2.vt.vt.vt .vt-tl-bar i{display:block;height:100%;background:#3B3FD8;border-radius:9px}
html.p17.v2.vt.vt.vt .vt-tl-list{list-style:none;margin:0;padding:6px 0 0;position:relative}
html.p17.v2.vt.vt.vt .vt-tl-rail{position:absolute;left:27px;top:0;bottom:0;width:4px;background:#E4E2FF;border-radius:4px}
html.p17.v2.vt.vt.vt .vt-tl-railfill{display:block;width:100%;background:linear-gradient(#A9A6FF,#3B3FD8);border-radius:4px;transition:height .3s}
html.p17.v2.vt.vt.vt .vt-tl-stop{position:relative;padding:0 0 22px 0;opacity:0;transform:translateY(36px);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1)}
html.p17.v2.vt.vt.vt .vt-tl-stop.in{opacity:1;transform:none}
html.p17.v2.vt.vt.vt .vt-tl-dot{position:absolute;left:14px;top:14px;z-index:2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 13px Inter,sans-serif;background:#fff;color:#5F6368;border:3px solid #E4E2FF}
html.p17.v2.vt.vt.vt .vt-tl-stop.done .vt-tl-dot{background:#3B3FD8;border-color:#3B3FD8;color:#fff}
html.p17.v2.vt.vt.vt .vt-tl-stop.current .vt-tl-dot{background:#fff;border-color:#3B3FD8;color:#3B3FD8;box-shadow:0 0 0 6px rgba(59,63,216,.22),0 0 18px rgba(59,63,216,.6);animation:vtglow 2s ease-in-out infinite}
@keyframes vtglow{50%{box-shadow:0 0 0 11px rgba(59,63,216,.12),0 0 26px rgba(59,63,216,.7)}}
html.p17.v2.vt.vt.vt .vt-tl-card{display:block;width:100%;padding:0;border:0;background:#fff;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 2px 14px rgba(42,45,176,.12);font:inherit;color:inherit}
html.p17.v2.vt.vt.vt .vt-tl-art{height:200px;overflow:hidden;position:relative}html.p17.v2.vt.vt.vt .vt-tl-svg{width:100%;height:100%;display:block}
html.p17.v2.vt.vt.vt .vt-tl-art::after{content:"";position:absolute;inset:auto 0 0;height:50px;background:linear-gradient(transparent,rgba(255,255,255,.9))}
html.p17.v2.vt.vt.vt .vt-tl-body{padding:4px 20px 16px 58px;display:grid;gap:3px}
html.p17.v2.vt.vt.vt .vt-tl-era{font:700 11px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#3B3FD8}
html.p17.v2.vt.vt.vt .vt-tl-title{font:700 20px/1.2 Inter,sans-serif;color:#202124}
html.p17.v2.vt.vt.vt .vt-tl-hook{margin:0;color:#3C4043;font-size:15px;line-height:1.4}
html.p17.v2.vt.vt.vt .vt-tl-ref{font:600 13px Inter,sans-serif;color:#2A2DB0}
html.p17.v2.vt.vt.vt .vt-tl-stop.upcoming .vt-tl-card{opacity:.55;filter:saturate(.55)}
html.p17.v2.vt.vt.vt .vt-tl-stop.done .vt-tl-ref::before{content:"✓ Done · ";color:#3B3FD8}
html.p17.v2.vt.vt.vt .vt-tl-stop.current .vt-tl-card{box-shadow:0 0 0 3px #3B3FD8,0 8px 30px rgba(59,63,216,.35)}
html.p17.v2.vt.vt.vt .vt-tl-go{display:block;margin:12px 20px 0 58px;width:calc(100% - 78px);min-height:48px;border:0;border-radius:24px!important;background:#3B3FD8;color:#fff;font:700 16px Inter,sans-serif;box-shadow:0 4px 14px rgba(59,63,216,.4);cursor:pointer}
html.p17.v2.vt.vt.vt .vt-tl-j{padding:8px 20px 0;display:grid;gap:10px}html.p17.v2.vt.vt.vt .vt-tl-jh{margin:0;font:700 18px Inter,sans-serif;color:#202124}
html.p17.v2.vt.vt.vt .vt-tl-jcard{display:grid;gap:2px;padding:14px 16px;border-radius:16px;background:#fff;text-decoration:none;color:#202124;box-shadow:0 1px 6px rgba(42,45,176,.1)}html.p17.v2.vt.vt.vt .vt-tl-jcard small{color:#5F6368}
html.p17.v2.vt.vt.vt{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
@media (prefers-reduced-motion:reduce){html.p17.v2.vt.vt.vt .vt-tl-stop{opacity:1;transform:none;transition:none}html.p17.v2.vt.vt.vt .vt-tl-stop.current .vt-tl-dot{animation:none}}
/* ===== Today hero (home) ===== */
html.p17.v2.vt.vt.vt .vt-hero{position:relative;width:100vw;margin:-16px 0 16px calc(50% - 50vw);height:calc(100svh - 72px);min-height:600px;overflow:hidden;color:#fff;isolation:isolate}
html.p17.v2.vt.vt.vt .vt-hero-art{position:absolute;inset:0;z-index:-2}html.p17.v2.vt.vt.vt .vt-hero-art svg{width:100%;height:100%;display:block}
html.p17.v2.vt.vt.vt .vt-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(11,30,74,.62),rgba(11,30,74,.1) 38%,rgba(11,30,74,.25) 55%,rgba(11,30,74,.8))}
html.p17.v2.vt.vt.vt .vt-hero-top{position:absolute;top:16px;left:20px;right:20px;display:flex;justify-content:space-between}
html.p17.v2.vt.vt.vt .vt-pill{background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:7px 13px;font:600 13px Inter,sans-serif;color:#fff}
html.p17.v2.vt.vt.vt .vt-hero-k{position:absolute;top:70px;left:24px;right:24px;font:700 12px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;opacity:.9}
html.p17.v2.vt.vt.vt .vt-hero-h{position:absolute;top:92px;left:24px;right:24px;margin:0;font:700 42px/1.04 Georgia,"New York",serif;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.3)}
html.p17.v2.vt.vt.vt .vt-hero-q{position:absolute;bottom:236px;left:24px;right:24px;margin:0;font:400 20px/1.35 Georgia,serif;text-shadow:0 2px 12px rgba(0,0,0,.5);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
html.p17.v2.vt.vt.vt .vt-hero-q small{display:block;font:500 12px Inter,sans-serif;letter-spacing:.06em;opacity:.8;margin-top:8px}
html.p17.v2.vt.vt.vt .vt-hero-cta{position:absolute;bottom:142px;left:24px;right:24px;height:64px;border:0;border-radius:32px!important;background:#fff;color:#0B1E4A;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 26px;font:700 18px Inter,sans-serif;box-shadow:0 18px 40px rgba(59,63,216,.45);cursor:pointer}
html.p17.v2.vt.vt.vt .vt-hero-cta b{width:48px;height:48px;border-radius:50%;background:#3B3FD8;color:#fff;display:grid;place-items:center;font-size:22px}
html.p17.v2.vt.vt.vt .vt-hero-chips{position:absolute;bottom:34px;left:0;right:0;display:flex;gap:10px;padding:0 24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}html.p17.v2.vt.vt.vt .vt-hero-chips::-webkit-scrollbar{display:none}
html.p17.v2.vt.vt.vt .vt-hc{flex:0 0 230px;scroll-snap-align:start;text-align:left;padding:12px 16px;border-radius:20px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.25);color:#fff;font:400 13px/1.35 Inter,sans-serif;display:grid;gap:3px;cursor:pointer}
html.p17.v2.vt.vt.vt .vt-hc i{font-style:normal;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.75;font-weight:700}html.p17.v2.vt.vt.vt .vt-hc em{font-style:normal;font-weight:700;font-size:12px;color:#AECBFA}
html.p17.v2.vt.vt.vt .vt-hero-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:6px}html.p17.v2.vt.vt.vt .vt-hero-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45)}html.p17.v2.vt.vt.vt .vt-hero-dots i.on{background:#fff}
/* Journey screen */
html.p17.v2.vt.vt.vt .vt-jr{position:fixed;inset:0;z-index:900;overflow-y:auto;background:#FFFFFF;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth}
html.p17.v2.vt.vt.vt .vt-jr .vt-tl{width:100%;margin:0}
html.p17.v2.vt.vt.vt .vt-jr-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(246,248,244,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #E4E2FF}
html.p17.v2.vt.vt.vt .vt-jr-back{border:0;background:#EEEDFF;color:#2A2DB0;font:700 14px Inter,sans-serif;border-radius:18px;padding:8px 14px;cursor:pointer}html.p17.v2.vt.vt.vt .vt-jr-bar strong{font:700 17px Inter,sans-serif;color:#202124}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero{position:relative;z-index:3;background:transparent!important;box-shadow:none!important;border:0!important}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-greet{font-size:0;line-height:0;margin:6px 0 0}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-greet .p17-name{display:none}
html.p17.v2.vt.vt.vt.vt-timeline #p27-streak{display:inline-block;font:600 13px Inter,sans-serif;letter-spacing:0;text-transform:none;line-height:1.2;color:#fff;background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:7px 13px;margin:0}
html.p17.v2.vt.vt.vt.vt-timeline #p27-streak::before{content:"🔥 "}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero button,html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero .p17-logo{color:#fff;background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3)}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero svg{color:#fff;stroke:currentColor}
html.p17.v2.vt.vt.vt .vt-hero-top{top:auto;bottom:auto;top:150px;left:auto;right:20px}
html.p17.v2.vt.vt.vt .vt-hero-k{top:200px}html.p17.v2.vt.vt.vt .vt-hero-h{top:222px}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx,html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .p12-hello{background:transparent!important;box-shadow:none!important;border:0!important}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-greet{font-size:0!important;line-height:0!important}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-greet .p27-streak{font-size:13px!important;line-height:1.2!important}
html.p17.v2.vt.vt.vt .vt-hero-top{top:118px}html.p17.v2.vt.vt.vt .vt-hero-k{top:170px}html.p17.v2.vt.vt.vt .vt-hero-h{top:192px}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero,html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero *{pointer-events:none}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero button,html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero a,html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero button *{pointer-events:auto}
html.p17.v2.vt.vt.vt .vt-hc{border-radius:20px!important}html.p17.v2.vt.vt.vt .vt-pill{border-radius:20px!important}
html.p17.v2.vt.vt.vt .vt-hero[data-scene=garden] .vt-hero-shade{background:linear-gradient(rgba(7,20,51,.55),rgba(7,20,51,0) 30%,rgba(7,20,51,0) 58%,rgba(7,20,51,.75))}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero .p17-logo{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;color:#fff}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero .p17-logo b{color:#fff!important;background:transparent!important}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero button{border-radius:20px!important;border:1px solid rgba(255,255,255,.3)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
html.p17.v2.vt.vt.vt.vt-timeline #v2-home-view .hx-hero .p26-mast-search{width:40px;height:40px;padding:0;display:inline-grid;place-items:center}
