@import url("ui-sync-20260808-26.css?v=20260808-27");

/* Camera workspace: exactly one camera column and one live guidance column. */
.companion-privacy-dialog{width:min(1120px,100%)!important}
.companion-privacy-dialog .companion-preparation{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr)!important;align-items:start!important;gap:22px!important}
.companion-preparation>.focus-companion,.companion-preparation>div:last-child{border:1px solid rgba(23,56,45,.1);border-radius:22px;background:#fffefa;padding:16px;box-shadow:0 14px 40px rgba(23,56,45,.07)}
.companion-preparation>div:last-child>h3,.companion-preparation>div:last-child>p,.companion-preparation .calibration-count,.companion-preparation #calibrate-button{display:none!important}
.companion-preparation .companion-controls #camera-consent-button,.companion-preparation .companion-controls #recalibrate-button{display:none!important}

.posture-assessment{display:grid;gap:14px;min-width:0}.posture-assessment__head{display:flex;align-items:center;justify-content:space-between;gap:16px}.posture-assessment__head small,.companion-breath-panel small,.posture-breath-preview>small{color:#b38343;font-size:10px;font-weight:800;letter-spacing:.13em}.posture-assessment__head h3{margin:4px 0 0;font:600 24px/1.2 var(--font-app)}.posture-assessment__head>strong{flex:0 0 auto;font:700 28px var(--font-app);color:#173d31}.posture-progress{height:14px;overflow:hidden;border-radius:999px;background:#e6ece6;border:1px solid rgba(23,56,45,.08)}.posture-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c69a55,#2d7356);transition:width .28s ease}.posture-assessment>p{min-height:48px;margin:0;padding:11px 13px;border-radius:12px;background:#eef3ee;color:#334b41;line-height:1.5}.posture-assessment[data-tone=gentle]>p{background:#f7ead9;color:#765b35}.posture-assessment[data-tone=stable]>p{background:#e1f0e6;color:#225b43}.posture-assessment>ul{display:grid;grid-template-columns:1fr;gap:7px;margin:0;padding:0;list-style:none}.posture-assessment>ul li{position:relative;padding:10px 12px 10px 38px;border-radius:11px;background:#f3f3ef;color:#6c746e}.posture-assessment>ul li:before{content:'○';position:absolute;left:13px;font-weight:800}.posture-assessment>ul li.is-ready{background:#e7f2e9;color:#1f6345}.posture-assessment>ul li.is-ready:before{content:'✓'}.posture-restart{width:100%;margin:0!important}.posture-assessment~#start-calibrated{margin-top:12px}.posture-assessment~#start-calibrated .companion-button{display:flex;width:100%;align-items:center;justify-content:center;min-height:50px}

.posture-breath-preview{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 14px;padding:13px;border:1px solid rgba(23,56,45,.09);border-radius:15px;background:#f5f0e5}.posture-breath-preview>small,.posture-breath-preview>p{grid-column:1}.posture-breath-preview>p{margin:0!important;color:#68736c;font-size:11px}.breathing-orb--small{grid-column:2;grid-row:1/3;width:58px!important;height:58px!important;font-size:10px}.posture-breath-preview[data-phase=inhale] .breathing-orb{transform:scale(1.16)}.posture-breath-preview[data-phase=hold] .breathing-orb{transform:scale(1.16)}.posture-breath-preview[data-phase=exhale] .breathing-orb,.posture-breath-preview[data-phase=pause] .breathing-orb{transform:scale(.88)}

/* During meditation the right column contains progress and breathing guidance. */
.focus-mode.has-companion{grid-template-columns:minmax(320px,1.05fr) minmax(360px,.95fr)!important;align-items:center!important}.focus-mode.has-companion .focus-companion{width:100%;padding:16px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:rgba(255,255,255,.05)}.companion-breath-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;margin:18px 0;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.07)}.companion-breath-panel h3{margin:4px 0;font:600 20px var(--font-app)}.companion-breath-panel p{margin:0!important;color:rgba(255,255,255,.65)!important;font-size:11px}.companion-breath-panel .breathing-guide{margin:0}.companion-breath-panel .breathing-orb{width:78px;height:78px;font-size:11px}

@media(max-width:760px){.companion-privacy-dialog .companion-preparation{display:grid!important;grid-template-columns:1fr!important}.companion-preparation>.focus-companion,.companion-preparation>div:last-child{padding:13px}.posture-assessment__head h3{font-size:21px}.focus-mode.has-companion{display:flex!important}.focus-mode.has-companion .focus-companion{padding:12px}.companion-breath-panel{text-align:left}.companion-breath-panel .breathing-orb{width:68px;height:68px}}
@media(max-width:390px){.posture-assessment__head>strong{font-size:24px}.posture-breath-preview{grid-template-columns:1fr}.breathing-orb--small{grid-column:1;grid-row:auto;margin:8px auto}.companion-breath-panel{grid-template-columns:1fr}.companion-breath-panel .breathing-guide{margin:8px auto}}

/* =========================================================
   V28 · Meditation reliability + content discovery
   ========================================================= */
.meditation-hero--v28{align-items:end;gap:28px}.meditation-search{display:flex;gap:10px;max-width:760px;margin:18px 0 16px}.meditation-search input{flex:1;min-width:0;height:48px;border:1px solid rgba(23,56,45,.15);border-radius:14px;background:#fffefa;padding:0 16px;font:inherit;color:#17382d;box-shadow:0 8px 28px rgba(23,56,45,.05)}.meditation-filter-block{display:grid;gap:8px;margin-bottom:18px}.filter-chips--sub a{font-size:13px;padding:7px 12px}.meditation-grid--v28{align-items:stretch}.meditation-card--v28{overflow:hidden;display:flex;flex-direction:column;min-height:100%;background:#fffefa;border:1px solid rgba(23,56,45,.1);border-radius:20px;box-shadow:0 14px 36px rgba(23,56,45,.07)}.meditation-card--v28 .meditation-card__visual{position:relative;aspect-ratio:4/3;min-height:0;overflow:hidden;background:#294f42}.meditation-card--v28 .meditation-card__visual>.responsive-media,.meditation-card--v28 .meditation-card__visual>.meditation-theme{width:100%;height:100%;display:block}.meditation-card--v28 .meditation-card__visual>span{position:absolute;right:12px;top:12px;z-index:3;background:rgba(23,56,45,.86);color:#fff;border-radius:999px;padding:6px 10px;font-size:12px}.meditation-card__body{display:flex;flex-direction:column;gap:10px;padding:18px;height:100%}.meditation-card__body h2{margin:0;font-size:clamp(22px,2vw,28px);line-height:1.12}.meditation-card__body>p{margin:0;color:#64736c;line-height:1.6}.meditation-card__body .app-primary{margin-top:auto;align-self:flex-start}.meditation-card__meta{display:flex;gap:6px;flex-wrap:wrap}.meditation-card__meta small{padding:5px 8px;border-radius:999px;background:#edf3ee;color:#315b4b;font-size:11px}.meditation-series{font-size:13px;color:#9a7440!important}.meditation-theme{position:relative;overflow:hidden;color:#f8f1df;background:linear-gradient(145deg,#21483b,#547563);display:grid!important;place-items:center}.meditation-theme:before,.meditation-theme:after{content:"";position:absolute;border:1px solid rgba(248,241,223,.25);border-radius:50%}.meditation-theme:before{width:68%;aspect-ratio:1;left:-20%;top:-25%}.meditation-theme:after{width:56%;aspect-ratio:1;right:-15%;bottom:-25%}.meditation-theme .ui-icon{width:74px;height:74px;opacity:.9;position:relative;z-index:2}.meditation-theme strong{position:absolute;left:18px;bottom:18px;z-index:2;font-family:var(--font-app);font-size:19px;font-weight:600}.meditation-theme__orb{position:absolute;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(233,216,171,.28),rgba(233,216,171,0));filter:blur(2px)}.meditation-theme--ngu-ngon{background:linear-gradient(145deg,#182f35,#455d5d)}.meditation-theme--thu-gian{background:linear-gradient(145deg,#315b4b,#78927f)}.meditation-theme--hoi-tho{background:linear-gradient(145deg,#315761,#7d9b9a)}.meditation-theme--buoi-sang{background:linear-gradient(145deg,#765f40,#c2a56d)}.meditation-theme--tap-trung{background:linear-gradient(145deg,#283f37,#53675e)}.meditation-theme--cam-xuc{background:linear-gradient(145deg,#51465a,#8d788f)}.meditation-theme--thien-tra{background:linear-gradient(145deg,#4b3c2c,#8b7650)}.meditation-theme--thien-di{background:linear-gradient(145deg,#315b43,#7d9270)}.meditation-theme--tre-em{background:linear-gradient(145deg,#557267,#9ab0a0)}.meditation-theme--chuyen-sau{background:linear-gradient(145deg,#142f27,#345046)}
.focus-control--early{border-color:rgba(255,255,255,.3)!important;background:transparent!important;color:rgba(255,255,255,.78)!important}.focus-time-meta strong{font-variant-numeric:tabular-nums}.focus-completion button:disabled{opacity:.45;cursor:not-allowed}.focus-progress span{transition:width .5s linear}
@media(max-width:767px){.meditation-search{position:relative;margin:12px 0}.meditation-search input{height:46px}.meditation-search .app-primary{padding-inline:14px}.meditation-filter-block{margin-inline:-2px}.filter-chips{overflow-x:auto;scrollbar-width:none;padding-bottom:3px}.filter-chips::-webkit-scrollbar{display:none}.meditation-card--v28{border-radius:18px}.meditation-card--v28 .meditation-card__visual{aspect-ratio:4/3}.meditation-card__body{padding:16px}.meditation-card__body .app-primary{width:100%;justify-content:center}.focus-controls{flex-wrap:wrap}.focus-control--early{width:100%}}


/* V50 · Meditation browse page cleanup for desktop + mobile */
.meditation-hero--v50{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:8px 0 18px}.meditation-hero--v50 .meditation-hero__copy{min-width:0}.meditation-hero--v50 h1{margin-bottom:10px}.meditation-hero--v50 p{max-width:760px;line-height:1.65}.meditation-hero--v50 .meditation-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.practice-summary--v50{min-width:156px;padding:18px 18px 16px;border-radius:22px;box-shadow:0 14px 36px rgba(23,56,45,.08)}.practice-summary--v50 strong{font-size:36px}.meditation-toolbar{display:grid;gap:14px;margin:8px 0 20px}.meditation-search--v50{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:none;margin:0}.meditation-search--v50 input{height:46px;border-radius:15px;padding:0 16px}.meditation-search--v50 .app-primary{min-width:92px}.meditation-filter-panel{display:grid;gap:10px;padding:16px 18px;border:1px solid rgba(23,56,45,.08);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 14px 34px rgba(23,56,45,.05)}.meditation-filter-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center}.meditation-filter-label{font-size:11px;font-weight:800;letter-spacing:.12em;color:#8b9a92;text-transform:uppercase}.filter-chips--compact{padding:0;overflow-x:auto;flex-wrap:nowrap;gap:8px}.filter-chips--compact a{padding:8px 12px;font-size:12px;line-height:1.2;background:#fff}.meditation-grid--v50{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.meditation-card--v50{overflow:hidden;display:flex;flex-direction:column;min-height:100%;background:#fffefa;border:1px solid rgba(23,56,45,.08);border-radius:22px;box-shadow:0 16px 40px rgba(23,56,45,.06)}.meditation-card--v50 .meditation-card__visual{position:relative;aspect-ratio:16/10;min-height:0;overflow:hidden;background:#294f42}.meditation-card--v50 .meditation-card__visual>.responsive-media,.meditation-card--v50 .meditation-card__visual>.meditation-theme{width:100%;height:100%;display:block}.meditation-card--v50 .meditation-card__visual>span{position:absolute;top:12px;right:12px;z-index:3;background:rgba(23,56,45,.88);color:#fff;border-radius:999px;padding:6px 10px;font-size:12px}.meditation-card--v50 .meditation-theme .ui-icon{width:58px;height:58px;opacity:.88}.meditation-card--v50 .meditation-theme strong{left:16px;bottom:14px;font-size:15px;max-width:65%}.meditation-card--v50 .meditation-card__body{display:flex;flex-direction:column;gap:12px;padding:16px 16px 18px;height:100%}.meditation-card--v50 .meditation-card__meta{display:flex;flex-wrap:wrap;gap:6px}.meditation-card--v50 .meditation-card__meta small{padding:5px 8px;border-radius:999px;background:#edf3ee;color:#315b4b;font-size:10px;font-weight:700}.meditation-card--v50 .meditation-card__body h2{margin:0;font-size:clamp(20px,1.9vw,27px);line-height:1.14;color:#18392f}.meditation-card--v50 .meditation-card__body>p{margin:0;color:#64736c;line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:0}.meditation-card--v50 .meditation-series{font-size:12px;color:#9a7440!important;margin-top:-2px}.meditation-card--v50 .meditation-card__actions{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}.meditation-card--v50 .meditation-card__actions .app-primary,.meditation-card--v50 .meditation-card__actions .app-secondary{width:100%;min-width:0;min-height:44px;padding:10px 12px;text-align:center;justify-content:center}.meditation-card--v50 .meditation-card__actions .app-primary{margin-top:0;align-self:auto}.meditation-card--v50 .meditation-card__actions .ui-icon{width:16px;height:16px}.meditation-card--v50:hover{transform:translateY(-1px)}
@media(max-width:1080px){.meditation-grid--v50{grid-template-columns:repeat(2,minmax(0,1fr))}.meditation-hero--v50{grid-template-columns:1fr}.practice-summary--v50{justify-self:start}}
@media(max-width:820px){.meditation-hero--v50{padding:4px 0 14px;gap:14px}.meditation-hero--v50 p{max-width:100%;font-size:14px;line-height:1.6}.meditation-hero--v50 .meditation-hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meditation-hero--v50 .meditation-hero__actions>*{width:100%}.meditation-toolbar{gap:12px}.meditation-filter-panel{padding:14px;border-radius:20px}.meditation-filter-row{grid-template-columns:1fr;gap:7px;align-items:start}.meditation-filter-label{padding-left:2px}.filter-chips--compact a{padding:8px 12px}.meditation-search--v50 input{font-size:16px}.meditation-card--v50 .meditation-card__visual{aspect-ratio:16/9}.meditation-card--v50 .meditation-theme strong{font-size:14px;left:14px;bottom:12px}}
@media(max-width:560px){.meditation-search--v50{grid-template-columns:minmax(0,1fr) 78px}.meditation-search--v50 .app-primary{min-width:0;padding-inline:10px}.meditation-grid--v50{grid-template-columns:1fr;gap:14px}.meditation-card--v50{border-radius:18px}.meditation-card--v50 .meditation-card__body{padding:14px}.meditation-card--v50 .meditation-card__body h2{font-size:19px}.meditation-card--v50 .meditation-card__body>p{font-size:14px;line-height:1.55}.meditation-card--v50 .meditation-card__actions{grid-template-columns:1fr 1fr}.meditation-card--v50 .meditation-card__actions .app-primary,.meditation-card--v50 .meditation-card__actions .app-secondary{min-height:42px;padding:9px 10px;font-size:13px}.practice-summary--v50{width:100%;grid-template-columns:auto 1fr;column-gap:8px;align-items:end}.practice-summary--v50 small{grid-column:1/-1}.meditation-hero--v50 .meditation-hero__actions .app-primary,.meditation-hero--v50 .meditation-hero__actions .app-secondary{min-height:44px;font-size:13px}}
@media(max-width:390px){.meditation-hero--v50 .meditation-hero__actions{grid-template-columns:1fr}.meditation-search--v50{grid-template-columns:minmax(0,1fr)}.meditation-search--v50 .app-primary{width:100%}.meditation-card--v50 .meditation-card__actions{grid-template-columns:1fr 1fr;gap:8px}.meditation-card--v50 .meditation-card__actions .app-primary,.meditation-card--v50 .meditation-card__actions .app-secondary{font-size:12px;padding-inline:8px}}

/* V51 · Mobile filters stay hidden until search/filter interaction */
.meditation-search--v51{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:0}
.meditation-filter-toggle{display:none;align-items:center;justify-content:center;min-height:46px;padding:0 14px;border:1px solid rgba(23,56,45,.18);border-radius:15px;background:#fffefa;color:#234d3e;font:700 13px/1 var(--font-app);cursor:pointer}
.meditation-filter-mobile-head{display:none}
.meditation-filter-panel--v51{transition:opacity .18s ease,transform .18s ease}

@media(max-width:820px){
  .meditation-search--v51{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
  .meditation-search--v51 input{min-width:0;height:46px}
  .meditation-filter-toggle{display:inline-flex}
  .meditation-search-submit{min-width:64px!important;padding-inline:12px!important}
  .meditation-filter-panel--v51{display:none;padding:12px;border-radius:18px;opacity:0;transform:translateY(-5px)}
  .meditation-toolbar.is-filter-open .meditation-filter-panel--v51{display:grid;opacity:1;transform:none}
  .meditation-filter-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 2px}
  .meditation-filter-mobile-head strong{font-size:13px;color:#234d3e}
  .meditation-filter-mobile-head button{border:0;background:transparent;color:#75837c;font:700 12px/1 var(--font-app);padding:7px 2px;cursor:pointer}
  .meditation-filter-panel--v51 .meditation-filter-row{gap:6px}
  .meditation-filter-panel--v51 .meditation-filter-label{font-size:10px;letter-spacing:.1em}
  .meditation-filter-panel--v51 .filter-chips--compact{gap:7px;margin-inline:-2px;padding-inline:2px}
  .meditation-filter-panel--v51 .filter-chips--compact a{padding:7px 11px;font-size:11px;white-space:nowrap}
}

@media(max-width:480px){
  .meditation-search--v51{grid-template-columns:minmax(0,1fr) 56px}
  .meditation-search--v51 .meditation-search-submit{grid-column:1/-1;width:100%;min-height:42px}
  .meditation-filter-toggle{min-width:56px;padding-inline:8px}
  .meditation-toolbar:not(.is-filter-open) .meditation-search-submit{display:none}
  .meditation-toolbar.is-filter-open .meditation-search-submit{display:flex}
}
