.zm-tp{--zm-tp-accent:#5686f5;--zm-tp-text:var(--main-color,#344052);--zm-tp-muted:var(--muted-color,#8893a2);--zm-tp-surface:var(--main-bg-color,#fff);--zm-tp-soft:var(--muted-bg-color,#f0f6ff);box-sizing:border-box;position:relative;isolation:isolate;width:100%;max-width:1240px;margin:32px auto;padding:28px 24px 30px;color:var(--zm-tp-text);font-size:14px;line-height:1.5}
.zm-tp *,.zm-tp *::before,.zm-tp *::after{box-sizing:border-box}.zm-tp a{color:inherit;text-decoration:none}.zm-tp a:hover{color:var(--zm-tp-accent)}
.zm-tp--grid::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(to right,rgba(130,155,190,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(130,155,190,.08) 1px,transparent 1px),radial-gradient(ellipse at 50% 55%,rgba(104,155,255,.12),transparent 68%);background-size:26px 26px,26px 26px,100% 100%;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}
.zm-tp-heading{text-align:center;margin:0 0 28px}.zm-tp-title-row{display:flex;align-items:center;justify-content:center;gap:16px}.zm-tp-heading h2{font-size:clamp(21px,2.3vw,30px);font-weight:500;line-height:1.4;margin:0;padding:0;border:0;color:inherit;letter-spacing:.02em}.zm-tp-heading h2::before,.zm-tp-heading h2::after{display:none}.zm-tp-heading p{margin:8px 0 0;color:var(--zm-tp-muted);font-size:13px}.zm-tp-ornament{font-size:28px;color:var(--zm-tp-accent);opacity:.6;white-space:nowrap}
.zm-tp-board{position:relative;display:flex;min-width:0;border-radius:20px;border:1px solid transparent;background:linear-gradient(var(--zm-tp-surface),var(--zm-tp-surface)) padding-box,linear-gradient(115deg,var(--zm-tp-accent),rgba(130,164,245,.07) 45%,rgba(130,164,245,.15) 75%,var(--zm-tp-accent)) border-box;box-shadow:0 10px 36px rgba(83,119,180,.045);overflow:hidden}
.zm-tp-tabs{flex:0 0 154px;padding:18px 12px;border-right:1px solid rgba(137,155,181,.14);display:flex;flex-direction:column;gap:7px;align-items:stretch}.zm-tp .zm-tp-tab{appearance:none;border:0;background:transparent;box-shadow:none;color:var(--zm-tp-muted);display:flex;align-items:center;gap:10px;border-radius:10px;padding:10px 12px;text-align:left;font:inherit;font-size:13px;line-height:1.5;cursor:pointer;transition:background .18s,color .18s}.zm-tp .zm-tp-tab:hover{background:var(--zm-tp-soft);color:var(--zm-tp-accent)}.zm-tp .zm-tp-tab[aria-selected=true]{background:var(--zm-tp-soft);color:var(--zm-tp-accent);font-weight:600}.zm-tp-tab-icon{font-size:21px;line-height:1;min-width:20px;color:var(--zm-tp-accent)}.zm-tp-tab:nth-child(2) .zm-tp-tab-icon{color:#36b976}.zm-tp-tab:nth-child(3) .zm-tp-tab-icon{color:#eea052}.zm-tp-tab:nth-child(4) .zm-tp-tab-icon{color:#24a5d9}.zm-tp-tab:nth-child(5) .zm-tp-tab-icon{color:#9673df}
.zm-tp-content{flex:1;min-width:0;padding:20px 18px 12px}.zm-tp-panel[hidden],.zm-tp-controls[hidden]{display:none!important}.zm-tp-panel{min-width:0}.zm-tp-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;scrollbar-color:rgba(119,151,206,.35) transparent;padding-bottom:0}.zm-tp-track::-webkit-scrollbar{display:none;width:0;height:0}
.zm-tp-card{flex:0 0 206px;min-width:0;scroll-snap-align:start;border-radius:10px;overflow:hidden;margin:0;padding:0 0 8px;background:var(--zm-tp-surface);transition:transform .18s,box-shadow .18s}.zm-tp-card:hover{box-shadow:0 4px 16px rgba(74,112,182,.1)}.zm-tp-browser{height:27px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;background:linear-gradient(110deg,var(--zm-tp-soft),var(--zm-tp-surface));font-size:10px;color:var(--zm-tp-muted)}.zm-tp-browser time>span{color:#24b4df;font-size:15px}.zm-tp-dots{display:flex;align-items:center;align-self:flex-start;flex:0 0 auto;gap:5px;position:relative;top:10px;left:1px;pointer-events:none}.zm-tp-dots i{display:block;flex:0 0 7px;width:7px;height:7px;margin:0;padding:0;border:0;background:#fc716b;border-radius:50%;opacity:1;box-shadow:none;animation:none;transition:none;transform:none}.zm-tp-dots i:nth-child(2){background:#f0c146}.zm-tp-dots i:nth-child(3){background:#54bd80}
.zm-tp-cover{display:block;position:relative;aspect-ratio:1.7;overflow:hidden;border-radius:0;margin:0;background:var(--zm-tp-soft)}.zm-tp-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;margin:0;max-width:100%;border:0;border-radius:0;transition:transform .25s}.zm-tp-cover:hover img{transform:scale(1.045)}.zm-tp-placeholder{position:absolute;inset:0;display:flex;width:100%;height:100%;flex-direction:column;justify-content:center;align-items:center;color:var(--zm-tp-accent);background:linear-gradient(130deg,rgba(92,174,251,.08),rgba(154,108,238,.13));font-size:34px}.zm-tp-placeholder small{font-size:11px;letter-spacing:.16em;opacity:.7}.zm-tp-pin{position:absolute;left:7px;top:7px;background:#ffba32;color:#fff;padding:1px 6px;font-size:10px;line-height:1.6;border-radius:4px}
.zm-tp .zm-tp-card-title{padding:0;margin:8px 8px 7px;height:38px;font-size:13px;font-weight:400;line-height:19px;border:0}.zm-tp-card-title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.zm-tp-card-title::before,.zm-tp-card-title::after{display:none!important}.zm-tp-tags{display:flex;gap:5px;margin:0 8px 9px;overflow:hidden;height:21px}.zm-tp-tags a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65%;padding:2px 5px;background:var(--zm-tp-soft);border-radius:3px;font-size:10px;color:var(--zm-tp-accent)}.zm-tp-tags a+a{color:var(--zm-tp-muted)}.zm-tp-meta{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--zm-tp-muted);margin:0 8px;white-space:nowrap}.zm-tp-author{display:flex;align-items:center;gap:4px;margin-right:auto;min-width:0}.zm-tp-author img{width:17px;height:17px;border-radius:50%;margin:0}.zm-tp-empty{min-height:205px;display:flex;align-items:center;justify-content:center;flex:1;color:var(--zm-tp-muted);margin:0;padding:25px;text-align:center}
.zm-tp-controls{display:flex;justify-content:flex-end;align-items:center;gap:7px;padding-top:3px}.zm-tp-status{font-size:11px;color:var(--zm-tp-muted);margin-right:auto}.zm-tp .zm-tp-controls button{border:1px solid rgba(137,155,181,.22);background:var(--zm-tp-surface);color:var(--zm-tp-accent);border-radius:6px;width:29px;height:25px;padding:0;line-height:1;font:inherit;cursor:pointer}.zm-tp .zm-tp-controls button:disabled{opacity:.3;cursor:default}.zm-tp button:focus-visible,.zm-tp a:focus-visible,.zm-tp-panel:focus-visible{outline:2px solid var(--zm-tp-accent);outline-offset:2px}
.dark-theme .zm-tp,.dark-mode .zm-tp,[data-theme=dark] .zm-tp{--zm-tp-surface:var(--main-bg-color,#222631);--zm-tp-soft:var(--muted-bg-color,#2c3544);--zm-tp-text:var(--main-color,#e1e7f0);--zm-tp-muted:var(--muted-color,#929eb1)}
@media(max-width:767px){.zm-tp{padding:18px 10px;margin:20px auto}.zm-tp-heading{margin-bottom:18px}.zm-tp-heading p{font-size:11px}.zm-tp-title-row{gap:8px}.zm-tp-ornament{font-size:20px}.zm-tp-board{flex-direction:column;border-radius:15px}.zm-tp-tabs{flex:0 0 auto;flex-direction:row;overflow-x:auto;padding:10px;gap:4px;border-right:0;border-bottom:1px solid rgba(137,155,181,.14);scrollbar-width:none}.zm-tp .zm-tp-tab{flex:0 0 auto;padding:8px 10px;font-size:12px;white-space:nowrap;gap:6px}.zm-tp-content{padding:12px 10px 10px}.zm-tp-card{flex-basis:190px}.zm-tp-track{gap:10px}.zm-tp-tab-icon{font-size:18px}.zm-tp .zm-tp-controls button{width:38px;height:32px}}
@media(prefers-reduced-motion:reduce){.zm-tp *{transition:none!important;scroll-behavior:auto!important}}

/* Native widgets may live in a narrow sidebar on an otherwise wide viewport. */
.zm-tp-widget{container-type:inline-size;container-name:zm-tp-host;min-width:0;width:100%}
@container zm-tp-host (max-width:767px){
 .zm-tp-widget .zm-tp{padding:16px 8px;margin:12px auto}
 .zm-tp-widget .zm-tp-title-row{gap:6px}
 .zm-tp-widget .zm-tp-heading h2{font-size:21px}
 .zm-tp-widget .zm-tp-ornament{display:none}
 .zm-tp-widget .zm-tp-board{flex-direction:column;border-radius:15px}
 .zm-tp-widget .zm-tp-tabs{flex:0 0 auto;flex-direction:row;overflow-x:auto;padding:10px;gap:4px;border-right:0;border-bottom:1px solid rgba(137,155,181,.14);scrollbar-width:none}
 .zm-tp-widget .zm-tp-tab{flex:0 0 auto;padding:8px 10px;font-size:12px;white-space:nowrap;gap:6px}
 .zm-tp-widget .zm-tp-content{padding:12px 10px 10px}
 .zm-tp-widget .zm-tp-card{flex-basis:190px}
 .zm-tp-widget .zm-tp-track{gap:10px}
 .zm-tp-widget .zm-tp-controls button{width:38px;height:32px}
}

/* The theme widget wrapper must not add a second white panel. */
.zm-tp-widget-host{background:transparent!important;box-shadow:none!important;border:0!important}
.zm-tp-widget-host>.zm-tp-widget,.zm-tp-widget .zm-tp{background:transparent!important;box-shadow:none!important}
.zm-tp-widget .zm-tp--grid::before{display:none}

/* Match the theme content area's edges, not an independently capped inner box. */
.zm-tp-widget-host{padding-left:0!important;padding-right:0!important}
.zm-tp-widget{max-width:none}
.zm-tp-widget .zm-tp{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
/* A moving highlight confined to the rounded border; never covers the cards. */
@property --zm-tp-flow-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
.zm-tp-board::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;z-index:2;background:conic-gradient(from var(--zm-tp-flow-angle),transparent 0deg,transparent 55deg,rgba(115,207,255,.18) 100deg,var(--zm-tp-accent) 135deg,#9ae7ff 152deg,transparent 175deg,transparent 235deg,rgba(167,144,255,.25) 280deg,#a591ff 315deg,var(--zm-tp-accent) 332deg,transparent 355deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:zm-tp-border-flow 6s linear infinite}
@keyframes zm-tp-border-flow{to{--zm-tp-flow-angle:360deg}}
@supports not ((mask-composite:exclude) or (-webkit-mask-composite:xor)){.zm-tp-board::before{display:none}}
@media(prefers-reduced-motion:reduce){.zm-tp-board::before{animation:none;--zm-tp-flow-angle:135deg}}

/* Desktop grab-to-scroll. Touch scrolling remains native. */
@media(hover:hover) and (pointer:fine){.zm-tp-track,.zm-tp-track .zm-tp-card a{cursor:grab}.zm-tp-track{user-select:none;-webkit-user-select:none}}
.zm-tp-track.zm-tp-dragging{scroll-snap-type:none;scroll-behavior:auto;user-select:none;-webkit-user-select:none}
.zm-tp-track.zm-tp-dragging,.zm-tp-track.zm-tp-dragging *{cursor:grabbing!important}
.zm-tp-track img{-webkit-user-drag:none}

/* Shared price presentation: scoped to the two content showcases only. */
.zm-rs,.zm-tp{--zm-wc-wash:linear-gradient(145deg,rgba(65,153,255,.11),rgba(139,92,246,.07) 55%,rgba(236,72,153,.08));--zm-wc-price:#b52064;--zm-wc-member:#765119;--zm-wc-free:#15805d}
:is(.dark-theme,.dark-mode,[data-theme=dark]) :is(.zm-rs,.zm-tp){--zm-wc-wash:linear-gradient(145deg,rgba(65,153,255,.15),rgba(139,92,246,.10) 55%,rgba(236,72,153,.10));--zm-wc-price:#ff91bd;--zm-wc-member:#efc675;--zm-wc-free:#6bddb6}
:is(.zm-rs,.zm-tp) .zm-wc-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 7px;min-height:29px;margin:0 0 8px;line-height:1.5;color:var(--zm-wc-price);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
:is(.zm-rs,.zm-tp) .zm-wc-price strong{font-size:18px;font-weight:700;letter-spacing:-.025em}
:is(.zm-rs,.zm-tp) .zm-wc-price-label{font-size:10px;font-weight:500}
:is(.zm-rs,.zm-tp) .zm-wc-price del{font-size:11px;color:var(--muted-color,#7c8797);font-weight:400}
:is(.zm-rs,.zm-tp) .zm-wc-price.is-free{color:var(--zm-wc-free)}
:is(.zm-rs,.zm-tp) .zm-wc-price.is-member{color:var(--zm-wc-member)}
:is(.zm-rs,.zm-tp) .zm-wc-price:is(.is-free,.is-member) strong{font-size:14px;letter-spacing:0}

/* Inset gradient frame stays visible around both real covers and placeholders. */
.zm-tp .zm-tp-card{border:1px solid rgba(133,149,205,.20);border-radius:13px;background:var(--zm-wc-wash),var(--zm-tp-surface);box-shadow:0 4px 16px rgba(72,93,156,.045)}
.zm-tp .zm-tp-cover{margin:8px 8px 0;padding:3px;border-radius:10px;background:linear-gradient(130deg,#67c6f4 0%,#8b91ed 45%,#bf8ce8 75%,#edb9d8 100%);flex-shrink:0}
.zm-tp .zm-tp-cover>img,.zm-tp .zm-tp-cover>.zm-tp-placeholder{inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);border-radius:7px}
.zm-tp .zm-tp-cover:hover img{transform:none}
.zm-tp .zm-tp-card:hover{box-shadow:0 6px 20px rgba(109,116,194,.14)}
.zm-tp .zm-tp-card{display:flex;flex-direction:column}
.zm-tp .zm-wc-price{margin-left:8px;margin-right:8px}
.zm-tp .zm-tp-meta{margin-top:auto}

/* Compact widget gutters without changing cards, prices or the flow border. */
.zm-tp-widget-host{margin-top:0!important;margin-bottom:24px!important;padding-top:0!important;padding-bottom:0!important;}
.zm-tp-widget-host .zm-tp-widget .zm-tp{margin-top:0;margin-bottom:0;padding-top:8px;padding-bottom:12px}
.zm-tp-widget-host .zm-tp-heading{margin-bottom:16px}
@media(max-width:767px){
 .zm-tp-widget-host{margin-bottom:16px!important}
 .zm-tp-widget-host .zm-tp-widget .zm-tp{padding-top:6px;padding-bottom:8px}
 .zm-tp-widget-host .zm-tp-heading{margin-bottom:12px}
}
