/* Standalone mantra pages. Shared visual language with the exercise layout. */
body:has(.kl-exercise-page) #tm-sidebar { display:none; }
body:has(.kl-mantra-page) #tm-main > .uk-container > .uk-grid > .uk-sticky-placeholder { display:none !important; }
body:has(.kl-mantra-page) #tm-main > .uk-container > .uk-grid > .uk-width-expand\@m { flex:1 0 100%; width:100%; }
body:has(.kl-exercise-page) #tm-main > .uk-container { max-width:1280px; }
body:has(.kl-exercise-page) #tm-main { padding-top:36px; padding-bottom:64px; }
body:has(.kl-exercise-page) #tm-main .uk-breadcrumb { font-size:13px; margin-bottom:0; }
body:has(.kl-exercise-page) #tm-main .uk-breadcrumb > :last-child { display:none; }
body:has(.kl-exercise-page) #tm-main .uk-breadcrumb > :nth-last-child(2)::after { display:none; }
body:has(.kl-exercise-page) #tm-main .uk-margin-medium-bottom:has(> .uk-breadcrumb) { margin-bottom:24px !important; }
.kl-exercise-page { --ex-ink:#3f244c; --ex-muted:#786e80; --ex-pink:#f45094; --ex-line:#e9e2ed; --ex-soft:#faf7fc; color:var(--ex-ink); font-size:17px; line-height:1.7; max-width:1200px; margin:0 auto; }
.kl-exercise-page *, .kl-exercise-page *::before, .kl-exercise-page *::after { box-sizing:border-box; }
.kl-exercise-page [hidden] { display:none !important; }
.kl-exercise-page a { text-decoration:none; }
.kl-exercise-page a:hover { text-decoration:underline; text-underline-offset:4px; }
.kl-exercise-page button { font:inherit; cursor:pointer; }
.kl-exercise-page :is(a,button,summary):focus-visible { outline:3px solid #9562d4; outline-offset:4px; }
.kl-exercise-page h1, .kl-exercise-page h2 { color:var(--ex-ink); font-weight:500; text-align:left; letter-spacing:-.025em; }
.kl-exercise-page h1 { font-size:clamp(28px,3vw,42px); line-height:1.18; max-width:1000px; margin:10px 0 18px; }
.kl-exercise-page h2 { font-size:26px; line-height:1.25; margin:0 0 22px; }
.kl-exercise-page .kl-exercise-eyebrow { color:#9468aa; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:700; line-height:1.5; margin:0; }
.kl-exercise-header { margin-bottom:32px; }
.kl-exercise-meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; font-size:14px; }
.kl-exercise-duration { display:inline-flex; align-items:center; gap:8px; border:1px solid #eadff0; border-radius:24px; padding:6px 13px; background:#fff; font-weight:600; }
.kl-exercise-duration svg, .kl-exercise-share svg, .kl-exercise-zoom-hint svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.kl-exercise-page .kl-exercise-back { color:var(--ex-muted); font-size:13px; }
.kl-exercise-back span { margin-left:8px; }
.kl-exercise-intro { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:start; gap:40px; }
.kl-exercise-intro--text { grid-template-columns:1fr; max-width:800px; }
.kl-exercise-gallery { min-width:0; position:sticky; top:128px; }
.kl-exercise-stage { position:relative; background:#fff; border:1px solid var(--ex-line); border-radius:24px; overflow:hidden; }
.kl-exercise-frames { padding:30px 14px 44px; }
.kl-exercise-frame { position:relative; display:flex; align-items:center; justify-content:center; min-height:340px; cursor:zoom-in; overflow:hidden; }
.kl-exercise-frame img { display:block; width:100%; height:340px; object-fit:contain; max-width:100%; }
.kl-exercise-frame img[data-kl-fitted] { position:absolute; left:0; top:0; max-width:none; object-fit:fill; }
.kl-exercise-image-count { position:absolute; left:20px; bottom:16px; font-size:12px; color:var(--ex-muted); font-variant-numeric:tabular-nums; }
.kl-exercise-zoom-hint { position:absolute; right:20px; bottom:16px; display:flex; align-items:center; gap:6px; color:var(--ex-muted); font-size:11px; pointer-events:none; }
.kl-exercise-thumbs { display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.kl-exercise-thumb { position:relative; width:88px; height:76px; padding:5px; overflow:hidden; background:#fff; border:1px solid var(--ex-line); border-radius:12px; transition:border-color .15s,box-shadow .15s; }
.kl-exercise-thumb[aria-pressed="true"] { border-color:var(--ex-pink); box-shadow:0 0 0 2px #f450941a; }
.kl-exercise-thumb img { width:100%; height:100%; object-fit:contain; }
.kl-exercise-thumb img[data-kl-fitted] { position:absolute; left:0; top:0; max-width:none; object-fit:fill; }
.kl-exercise-thumb span { position:absolute; left:4px; bottom:2px; color:var(--ex-muted); font-size:9px; background:#fff; line-height:1.2; padding:0 2px; }
.kl-exercise-instruction { padding:4px 0 0; }
.kl-exercise-instruction h2 { margin-top:6px; }
.kl-exercise-prose { color:#574e5f; font-size:18px; line-height:1.75; overflow-wrap:anywhere; }
.kl-exercise-prose p { margin:0 0 18px; }
.kl-exercise-prose strong { color:#42304b; font-weight:600; }
.kl-exercise-prose a { color:#c62b72; border-bottom:1px solid #f2c3d9; }
.kl-exercise-prose a:hover { border-color:currentColor; text-decoration:none; }
.kl-exercise-prose img { max-width:100%; height:auto; }
.kl-exercise-prose :is(ul,ol) { padding-left:22px; }
.kl-exercise-comment { border-left:3px solid #d5b5e5; padding:12px 16px; background:#f0e9f6; border-radius:0 12px 12px 0; font-size:14px; line-height:1.65; }
.kl-exercise-section { margin-top:44px; }
.kl-exercise-effects { margin-top:36px; padding:26px 30px; background:#fcfaff; border:1px solid #e8dff0; border-radius:20px; }
.kl-exercise-effects h2 { font-size:21px; margin-bottom:16px; }
.kl-exercise-effect-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 32px; list-style:none; padding:0; margin:0; }
.kl-exercise-effect-list li { position:relative; padding-left:23px; font-size:16px; line-height:1.6; margin:0; }
.kl-exercise-effect-list li::before { content:'→'; position:absolute; left:0; top:0; color:#9b68b5; }
.kl-exercise-effect-list a { color:#594361; }
.kl-exercise-section-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 18px; margin-bottom:20px; }
.kl-exercise-section-heading h2 { margin:0; }
.kl-exercise-section-heading p { font-size:13px; color:var(--ex-muted); margin:0; }
.kl-exercise-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); align-items:stretch; gap:18px; list-style:none; margin:0; padding:0; }
.kl-exercise-cards:has(> li:only-child) { grid-template-columns:1fr; max-width:620px; }
.kl-exercise-cards > li { margin:0; padding:0; min-width:0; display:flex; list-style:none; }
.kl-exercise-cards > li > div { width:100%; }
.kl-exercise-cards .uk-card { background:#fff; border:1px solid var(--ex-line); border-radius:18px; height:100%; margin:0 !important; box-shadow:0 5px 18px #3f244c04; overflow:hidden; transition:border-color .15s,box-shadow .15s; }
.kl-exercise-cards .uk-card:hover { border-color:#d6bddf; box-shadow:0 8px 24px #3f244c09; }
.kl-exercise-cards .uk-card-media-top { padding:20px 20px 0; text-align:left; }
.kl-exercise-cards .uk-card-media-top > br { display:none; }
.kl-exercise-cards .uk-card-media-top .uk-inline-clip { display:block; width:100%; }
.kl-exercise-cards .uk-card-media-top img { width:100%; height:150px; object-fit:contain; transform:none !important; }
.kl-exercise-cards .uk-card-body { padding:20px; text-align:left !important; }
.kl-exercise-cards .uk-card-title { font-size:17px; line-height:1.5; margin:0 0 12px !important; text-align:left !important; font-weight:500; }
.kl-exercise-cards .uk-card-title a { color:var(--ex-ink); }
.kl-exercise-cards .uk-text-meta, .kl-exercise-cards .kl-time { font-size:13px; line-height:1.6; color:var(--ex-muted); margin:0; }
.kl-exercise-cards .kl-related-blog-type { display:block; text-align:left; text-transform:uppercase; font-size:10px; letter-spacing:.08em; color:#9873aa; margin:0 0 8px; }
.kl-exercise-cards--techniques { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.kl-exercise-cards--techniques .uk-card { display:flex; align-items:center; padding:16px; gap:16px; }
.kl-exercise-cards--techniques .uk-card-media-top { flex:0 0 90px; width:90px; padding:0; }
.kl-exercise-cards--techniques .uk-card-media-top img { height:76px; }
.kl-exercise-cards--techniques .uk-card-body { padding:0; min-width:0; }
.kl-exercise-cards--techniques .uk-card-title { margin:0 !important; }
.kl-exercise-cards--practices { grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr)); }
.kl-exercise-cards--practices .uk-card-body > .uk-grid { margin-left:0; display:flex; gap:16px; }
.kl-exercise-cards--practices .uk-card-body > .uk-grid > * { padding-left:0; }
.kl-exercise-cards--practices .uk-card-body > .uk-grid > :first-child { width:100px; flex:none; }
.kl-exercise-cards--practices .uk-card-body > .uk-grid > :last-child { flex:1; width:auto; min-width:0; }
.kl-exercise-cards--practices .lk-thumb { height:100px; width:100px; }
.kl-exercise-cards--practices .lk-thumb canvas { display:none; }
.kl-exercise-cards--practices img { width:100%; height:100px; object-fit:contain; position:static !important; transform:none !important; }
.kl-exercise-page .kl-exercise-cards .kl-paid-badge { display:inline-flex; align-items:center; width:auto; padding:0; margin:0 0 9px; background:#fce6ef; background-image:none; border:1px solid #f3c9dc; border-radius:7px; color:#a72c62; font-size:11px; font-weight:600; line-height:1.4; letter-spacing:.02em; text-transform:none; box-shadow:none; }
.kl-exercise-page .kl-exercise-cards .kl-paid-badge a { display:inline-flex; padding:4px 9px; margin:0; background:transparent; background-image:none; border:0; border-radius:inherit; color:inherit; font:inherit; letter-spacing:inherit; line-height:inherit; text-transform:none; text-decoration:none; box-shadow:none; }
.kl-exercise-footer { margin-top:42px; border-top:1px solid var(--ex-line); padding-top:24px; }
.kl-exercise-share { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:13px; color:var(--ex-muted); margin-bottom:20px; }
.kl-exercise-share button { display:flex; align-items:center; gap:8px; font-size:13px; color:#715283; background:#fff; border:1px solid #e0d4e8; border-radius:10px; padding:9px 13px; }
.kl-exercise-sources { border-top:1px solid var(--ex-line); border-bottom:1px solid var(--ex-line); font-size:14px; margin:0 0 20px; }
.kl-exercise-sources summary { padding:15px 0; cursor:pointer; color:#65516e; }
.kl-exercise-sources ol { padding:0 0 0 22px; color:var(--ex-muted); }
.kl-exercise-notice { font-size:14px; line-height:1.8; color:#73667b; }
.kl-exercise-notice strong { color:#6e6177; }
.kl-exercise-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.kl-exercise-lightbox { width:min(1100px,96vw); max-width:96vw; max-height:94vh; max-height:94dvh; padding:48px 20px 20px; border:0; border-radius:20px; background:#fff; color:#3f244c; box-shadow:0 20px 100px #0004; }
.kl-exercise-lightbox::backdrop { background:#25182bbd; backdrop-filter:blur(4px); }
.kl-exercise-lightbox img { display:block; width:100%; height:72vh; height:72dvh; object-fit:contain; }
.kl-exercise-lightbox button { position:absolute; top:9px; right:12px; width:36px; height:36px; border:0; border-radius:50%; font-size:25px; color:#715283; background:#f2edf6; cursor:pointer; }
.kl-exercise-lightbox button:focus-visible { outline:3px solid #9562d4; outline-offset:3px; }
@media(max-width:959px) {
  .kl-exercise-intro { gap:26px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
  .kl-exercise-gallery { position:static; }
  .kl-exercise-frame, .kl-exercise-frame img { min-height:0; height:280px; }
  .kl-exercise-cards--techniques { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  body:has(.kl-exercise-page) #tm-main { padding-top:22px; padding-bottom:36px; }
  body:has(.kl-exercise-page) #tm-main > .uk-container { padding-left:18px; padding-right:18px; }
  .kl-exercise-page h1 { font-size:28px; line-height:1.24; margin:8px 0 16px; }
  .kl-exercise-header { margin-bottom:22px; }
  .kl-exercise-meta { gap:10px 16px; }
  .kl-exercise-duration { font-size:12px; }
  .kl-exercise-intro { display:flex; flex-direction:column; gap:28px; }
  .kl-exercise-gallery, .kl-exercise-instruction { width:100%; }
  .kl-exercise-stage { border-radius:18px; }
  .kl-exercise-frames { padding:14px 8px 40px; }
  .kl-exercise-frame, .kl-exercise-frame img { height:290px; min-height:0; }
  .kl-exercise-thumbs { gap:8px; margin-top:10px; }
  .kl-exercise-thumb { width:80px; height:70px; }
  .kl-exercise-page h2 { font-size:23px; margin-bottom:18px; }
  .kl-exercise-prose { font-size:17px; line-height:1.75; }
  .kl-exercise-effects { padding:22px; margin-top:28px; }
  .kl-exercise-effects h2 { font-size:20px; }
  .kl-exercise-effect-list { grid-template-columns:1fr; gap:12px; }
  .kl-exercise-section { margin-top:32px; }
  .kl-exercise-cards { grid-template-columns:1fr; gap:12px; }
  .kl-exercise-cards .uk-card { display:flex; align-items:center; gap:14px; padding:14px; }
  .kl-exercise-cards .uk-card-body { padding:0; flex:1; min-width:0; }
  .kl-exercise-cards .uk-card-title { font-size:16px; line-height:1.45; }
  .kl-exercise-cards .uk-card-media-top { padding:0; width:90px; flex:0 0 90px; }
  .kl-exercise-cards .uk-card-media-top img { height:90px; }
  .kl-exercise-cards--techniques { grid-template-columns:1fr; }
  .kl-exercise-cards--techniques .uk-card { padding:14px; }
  .kl-exercise-cards--techniques .uk-card-body { padding:0; }
  .kl-exercise-cards--techniques .uk-card-media-top { padding:0; }
  .kl-exercise-cards--techniques .uk-card-media-top img { height:76px; }
  .kl-exercise-cards--practices { grid-template-columns:1fr; }
  .kl-exercise-cards--practices .uk-card { padding:0; }
  .kl-exercise-cards--practices .uk-card-body { padding:14px; }
  .kl-exercise-cards--practices .uk-card-body > .uk-grid > :first-child { width:82px; }
  .kl-exercise-cards--practices .lk-thumb { width:82px; height:90px; }
  .kl-exercise-cards--practices img { height:90px; }
  .kl-exercise-lightbox { padding:44px 8px 12px; }
}
@media(prefers-reduced-motion:reduce) { .kl-exercise-page * { transition:none !important; scroll-behavior:auto !important; } }
@media print {
  .kl-exercise-page .kl-exercise-frame[hidden] { display:block !important; }
  .kl-exercise-gallery { position:static; }
  .kl-exercise-thumbs, .kl-exercise-share, .kl-exercise-back, .kl-exercise-zoom-hint { display:none !important; }
  .kl-exercise-intro { display:block; }
  .kl-exercise-page details > * { display:block; }
  .kl-exercise-cards .uk-card { break-inside:avoid; box-shadow:none; }
}

/* Asana-specific layout and the existing My Shortlist module. */
.kl-mantra-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
.kl-mantra-favorites { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
.kl-mantra-favorites .myshortlist_clr { display:none; }
.kl-mantra-favorites .msl_module_wrapper, .kl-mantra-favorites .myshortlist_button_wrapper { width:auto; margin:0; padding:0; }
.kl-mantra-favorites form, .kl-mantra-favorites p { margin:0; }
.kl-mantra-favorites .add_button { display:inline-flex; align-items:center; gap:8px; min-height:42px; margin:0; padding:8px 14px; border:1px solid #e6cade; border-radius:12px; background:#fff; background-image:none; color:#824767; font-size:14px; line-height:1.5; text-transform:none; box-shadow:none; }
.kl-mantra-favorites .add_button:hover { background:#fcf0f6; color:#824767; text-decoration:none; }
.kl-mantra-favorites .add_button input.myshortlist { width:auto !important; min-height:24px; margin:0; padding:0; background:transparent !important; border:0; box-shadow:none; color:#824767 !important; font:inherit; cursor:pointer; }
.kl-mantra-page .kl-mantra-favorites .add_button input.myshortlist[type="submit"] { border:0 !important; border-radius:0; appearance:none; }
.kl-mantra-favorites .custom a { font-size:13px; color:#786e80; }
.kl-mantra-meta { font-size:13px; color:#786e80; margin-top:12px; }
.kl-mantra-nav { display:flex; flex-wrap:wrap; gap:8px 20px; padding-top:22px; margin-top:22px; border-top:1px solid #e9e2ed; font-size:13px; }
.kl-mantra-nav a { color:#755585; padding:2px 0; }
.kl-mantra-page .kl-exercise-gallery { position:sticky; top:120px; }
.kl-mantra-main { min-width:0; }
.kl-mantra-lead { margin-bottom:26px; }
.kl-mantra-page .kl-exercise-prose :is(h2,h3,h4) { line-height:1.35; font-size:23px; margin:26px 0 16px; }
.kl-mantra-page .kl-exercise-prose li { padding-left:4px; margin-bottom:10px; }
.kl-mantra-page .kl-exercise-prose ul { list-style:disc; }
.kl-mantra-page .kl-exercise-prose ol { list-style:decimal; }
.kl-mantra-page :is(h2,section[id]) { scroll-margin-top:130px; }
.kl-mantra-attention { margin-top:24px; padding:18px 20px; background:#faf3e8; border-left:3px solid #dcc09a; border-radius:0 14px 14px 0; }
.kl-mantra-page .kl-mantra-attention h2 { font-size:18px; font-weight:600; margin:0 0 10px; }
.kl-mantra-attention .kl-exercise-prose { font-size:16px; line-height:1.7; }
.kl-mantra-attention .kl-exercise-prose > :last-child { margin-bottom:0; }
.kl-mantra-reading { padding:28px 32px; border:1px solid #e9e2ed; border-radius:20px; background:#fcfaff; }
.kl-mantra-reading .kl-exercise-prose { max-width:950px; }
.kl-mantra-reading .kl-exercise-prose > :last-child { margin-bottom:0; }
.kl-mantra-properties { padding-bottom:18px; overflow-wrap:anywhere; color:#73667b; }
.kl-mantra-more { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:18px; font-size:13px; color:#786e80; }
.kl-mantra-more button { padding:10px 18px; background:#fff; color:#755585; border:1px solid #e0d4e8; border-radius:12px; font:inherit; cursor:pointer; }
.kl-mantra-page .kl-exercise-prose iframe { max-width:100%; }
@media(max-width:959px) {
  .kl-mantra-page .kl-exercise-intro { grid-template-columns:1fr; }
  .kl-mantra-page .kl-exercise-gallery { position:static; max-width:620px; width:100%; }
}
@media(max-width:700px) {
  .kl-mantra-actions { gap:12px 18px; margin-top:18px; }
  .kl-mantra-favorites { gap:10px; }
  .kl-mantra-nav { gap:8px 16px; padding-top:16px; margin-top:18px; font-size:12px; }
  .kl-mantra-page .kl-exercise-frame, .kl-mantra-page .kl-exercise-frame img { height:240px; }
  .kl-mantra-lead { margin-bottom:24px; }
  .kl-mantra-attention { padding:16px; }
  .kl-mantra-reading { padding:22px; }
  .kl-mantra-page h2 { font-size:23px; }
}
@media print { .kl-mantra-nav,.kl-mantra-actions,.kl-mantra-more { display:none; } .kl-mantra-page .kl-exercise-gallery { position:static; } .kl-mantra-page .kl-exercise-cards > li[hidden] { display:block !important; } }

/* My Shortlist emits a standalone input after an item has been saved. */
.kl-mantra-page .kl-mantra-favorites input.myshortlist.delete_button[type="submit"] {
  display:inline-block; width:auto !important; min-height:42px; margin:0; padding:8px 14px 8px 42px !important;
  border:1px solid #e6cade !important; border-radius:12px !important; box-shadow:none !important;
  background-color:#fcf0f6; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b95184' stroke='%23a04473' stroke-width='1.3'%3E%3Cpath d='M20.8 4.6a5.4 5.4 0 0 0-7.6 0L12 5.8l-1.2-1.2a5.4 5.4 0 0 0-7.6 7.6L12 21l8.8-8.8a5.4 5.4 0 0 0 0-7.6Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:14px center; background-size:20px;
  color:#824767 !important; font-family:inherit; font-size:14px; font-weight:400; line-height:21px;
  letter-spacing:normal; text-transform:none; appearance:none; cursor:pointer;
}
.kl-mantra-page .kl-mantra-favorites input.myshortlist.delete_button[type="submit"]:hover { background-color:#f9e3ee; }
.kl-mantra-page .kl-mantra-favorites input.myshortlist[type="submit"]:focus-visible { outline:3px solid #9562d4; outline-offset:4px; }

/* Text and listening are the main actions of a mantra page. */
.kl-mantra-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
.kl-mantra-hero--text { grid-template-columns:1fr; max-width:900px; }
.kl-mantra-text-card, .kl-mantra-audio-card { min-width:0; background:#fff; border:1px solid #e9e2ed; border-radius:24px; padding:28px; }
.kl-mantra-page .kl-mantra-card-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.kl-mantra-page .kl-mantra-card-top h2 { font-size:19px; margin:0; }
.kl-mantra-card-top button, .kl-mantra-text-actions button { border:0; background:transparent; padding:7px 0; font-size:13px; color:#885893; }
.kl-mantra-verses { padding:32px 0 22px; }
.kl-mantra-script + .kl-mantra-script { margin-top:22px; }
.kl-mantra-page .kl-mantra-script .kl-exercise-eyebrow { margin-bottom:9px; font-size:10px; color:#8b6a99; }
.kl-mantra-latin { color:#533161; font-size:clamp(26px,3vw,40px); line-height:1.5; letter-spacing:.01em; overflow-wrap:anywhere; }
.kl-mantra-russian { color:#776780; font-size:clamp(23px,2.5vw,30px); line-height:1.6; overflow-wrap:anywhere; }
.kl-mantra-latin :is(p,div,span), .kl-mantra-russian :is(p,div,span) { font-size:inherit; line-height:inherit; margin-top:0; }
.kl-mantra-text-actions { border-top:1px solid #eee6f2; padding-top:12px; }
.kl-mantra-translation { margin-top:20px; background:#f8f4fb; border-radius:14px; padding:20px; }
.kl-mantra-page .kl-mantra-translation h3 { font-size:17px; color:#533161; margin:0 0 12px; }
.kl-mantra-translation .kl-exercise-prose { font-size:16px; line-height:1.75; }
.kl-mantra-translation .kl-exercise-prose > :last-child { margin-bottom:0; }
.kl-mantra-page .kl-mantra-audio-card h2 { margin:8px 0 20px; font-size:25px; }
.kl-mantra-tempos { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.kl-mantra-tempos button { font:inherit; font-size:12px; padding:7px 11px; border:1px solid #e6ddeb; border-radius:10px; background:#faf7fc; color:#786780; min-height:36px; }
.kl-mantra-tempos button[aria-pressed="true"] { color:#9b386c; border-color:#eac5d7; background:#fcebf3; }
.kl-mantra-player { min-height:80px; overflow:hidden; border-radius:12px; background:#faf7fc; }
.kl-mantra-player-disclosure > summary { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border:1px solid #ead6e9; border-radius:12px; background:#f9f2fb; color:#795084; cursor:pointer; font-size:14px; list-style:none; }
.kl-mantra-player-disclosure > summary::-webkit-details-marker { display:none; }
.kl-mantra-player-disclosure[open] > summary { margin-bottom:14px; }
.kl-mantra-track-status { font-size:12px; color:#88798f; margin:16px 0 8px; }
.kl-mantra-track-lists > ul { list-style:none; padding:0; margin:0; }
.kl-mantra-track-lists li { display:flex; align-items:center; gap:16px; justify-content:space-between; padding:13px 0; border-top:1px solid #eee8f2; font-size:13px; line-height:1.6; }
.kl-mantra-track-lists li > span { min-width:0; overflow-wrap:anywhere; }
.kl-mantra-track-lists li > a { flex:none; color:#926b9c; font-size:11px; padding:5px 0; }
.kl-mantra-audio-help { font-size:12px; line-height:1.65; color:#88798f; margin:14px 0 0; }
.kl-mantra-description { max-width:900px; }
.kl-mantra-reading-section + .kl-mantra-reading-section { margin-top:34px; }
.kl-mantra-description .kl-exercise-prose :is(h2,h3) { font-size:23px; line-height:1.35; margin:26px 0 16px; }
.kl-mantra-description .kl-exercise-prose li { margin-bottom:10px; }
.kl-mantra-description .kl-exercise-prose blockquote { border-left:3px solid #dabee5; padding:8px 22px; margin-left:0; color:#6f527b; font-size:18px; }
.kl-mantra-page :is(section[id],h2[id],h3[id]) { scroll-margin-top:130px; }
.kl-mantra-page .kl-exercise-effect-list > li > div { display:contents; }
.kl-mantra-reader { width:min(1000px,95vw); max-height:92vh; max-height:92dvh; padding:24px; border:1px solid #e9e2ed; border-radius:24px; color:#533161; background:#fff; }
.kl-mantra-reader::backdrop { background:#25182bbd; backdrop-filter:blur(4px); }
.kl-mantra-reader-toolbar { position:sticky; top:-24px; background:#fff; display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #e9e2ed; z-index:1; }
.kl-mantra-reader-toolbar p { margin:0; font-size:14px; color:#786780; }
.kl-mantra-reader-buttons { display:flex; align-items:center; gap:8px; }
.kl-mantra-reader button { min-width:42px; min-height:42px; padding:6px 12px; background:#faf7fc; color:#755585; border:1px solid #e0d4e8; border-radius:10px; font:inherit; cursor:pointer; }
.kl-mantra-reader button:focus-visible { outline:3px solid #9562d4; outline-offset:3px; }
.kl-mantra-reader-content { padding:32px 8px 12px; }
.kl-mantra-reader .kl-mantra-latin, .kl-mantra-reader .kl-mantra-russian { font-size:var(--mantra-read-size,40px); line-height:1.75; }
.kl-mantra-reader .kl-exercise-eyebrow { font-size:11px; color:#9468aa; text-transform:uppercase; letter-spacing:.1em; margin:0 0 10px; }
@media(min-width:1100px) {
  .kl-mantra-page .kl-exercise-cards--practices { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:701px) and (max-width:1099px) {
  .kl-mantra-page .kl-exercise-cards--practices { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:959px) { .kl-mantra-hero { grid-template-columns:1fr; } }
@media(max-width:700px) {
  .kl-mantra-text-card, .kl-mantra-audio-card { padding:22px; border-radius:18px; }
  .kl-mantra-hero { gap:20px; }
  .kl-mantra-page .kl-mantra-card-top h2 { font-size:18px; }
  .kl-mantra-verses { padding-top:26px; }
  .kl-mantra-translation { padding:16px; }
  .kl-mantra-track-lists li { flex-wrap:wrap; gap:2px 14px; }
  .kl-mantra-reader { padding:18px; }
  .kl-mantra-reader-toolbar { top:-18px; }
}
