/* Focused navigation and progressive disclosure. */
:root {
  --font-scale: 1;
  --bg: #121214;
  --bg2: #1b1b20;
  --card: #1d1d23;
  --text: #f1eef4;
  --text-mid: #c2bccb;
  --text-dim: #a39bab;
  --glass: rgba(255,255,255,.055);
  --glass-b: rgba(255,255,255,.12);
  --cyan: #71cbb7;
  --cyan-l: #93ddca;
  --radius-card: 8px;
  --app-safe-top: env(safe-area-inset-top, 0px);
  --app-safe-bottom: env(safe-area-inset-bottom, 0px);
  --app-nav-height: 56px;
  --app-nav-space: calc(var(--app-nav-height) + var(--app-safe-bottom));
}
body { padding-top:0; }
.screen { transform:none; }
#shell { font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
#voidCanvas { opacity:.18; }
#shell .grad-text { background:none; -webkit-text-fill-color:currentColor; color:var(--text); }
#shell button, #shell input, #shell summary { letter-spacing:0; }
#shell .gc { background:var(--card); border-radius:8px; box-shadow:none; }
#shell .gc::before { display:none; }
#shell .sh { align-items:center; min-height:44px; }
#shell .sh-title { font:600 calc(15px * var(--font-scale))/1.4 system-ui,sans-serif; letter-spacing:0; text-transform:none; color:var(--text); }
#shell .sh-link { font-family:inherit; letter-spacing:0; }
button.sh-link { min-height:44px; padding:8px; background:none; border:0; font-size:14px; }
#shell .home-header { padding:24px 20px 20px; }
#shell .home-greeting { font:400 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--text-mid); }
#shell .home-name { font-size:28px; line-height:1.3; }
#shell .home-write-primary { min-height:54px; background:#7852bf; box-shadow:none; margin-bottom:24px; }
#shell .impulse { width:calc(100% - 32px); text-align:left; font-family:inherit; background:transparent; border:0; border-left:2px solid var(--cyan); border-radius:0; box-shadow:none; padding:4px 12px; margin:0 16px 24px; }
#shell .impulse::before, #shell .impulse::after, #shell .imp-orb { display:none; }
#shell .impulse-body { min-width:0; flex:1; }
#shell .imp-tag { font:500 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; letter-spacing:0; text-transform:none; color:var(--cyan-l); }
#shell .imp-txt { font-size:calc(17px * var(--font-scale)); line-height:1.6; font-style:normal; color:var(--text); }
#shell .impulse-edit { position:static; color:var(--text-mid); }
#shell .home-extras { margin-bottom:16px; }
#shell .j-header { padding:24px 20px 16px; }
#shell .j-title { font-size:28px; }
#shell .j-context { font:400 calc(13px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--text-mid); }
#shell .j-words-badge { display:none; }
#shell .j-write-fab { animation:none; background:#7852bf; color:#fff; border-radius:8px; box-shadow:none; }
#shell .j-search { border-radius:8px; min-height:48px; background:var(--glass); }
#shell .j-search input { min-width:0; font:400 calc(16px * var(--font-scale))/1.5 system-ui,sans-serif; }
#shell .entry { background:var(--card); border:1px solid var(--glass-b); box-shadow:none; }
#shell .entry:hover { transform:none; box-shadow:none; }
#shell .entry:active { transform:none; }
#shell .entry { animation:none !important; transition-property:border-color,background-color; }
#shell .e-date { font:400 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; letter-spacing:0; color:var(--text-mid); }
#shell .e-title { font-size:calc(18px * var(--font-scale)); line-height:1.4; overflow-wrap:anywhere; }
#shell .e-preview { font:400 calc(14px * var(--font-scale))/1.65 system-ui,sans-serif; color:var(--text-mid); }
#shell .e-top { flex-wrap:wrap; gap:6px; }
#shell .entry-stripe { width:2px; }
#shell .month-hdr-name, #shell .month-hdr-count { font:500 13px/1.5 system-ui,sans-serif; letter-spacing:0; color:var(--text-mid); }
#shell .j-tag-pill, #shell #jResonanzPill, #shell #jTagClearBtn { min-height:44px; border-radius:8px !important; padding:8px 12px !important; font:500 calc(13px * var(--font-scale))/1.4 system-ui,sans-serif !important; letter-spacing:0 !important; color:var(--text-mid) !important; }
#shell .j-tag-pill[aria-pressed="true"], #shell #jResonanzPill[aria-pressed="true"] { color:var(--text) !important; }
#shell .w-header { min-height:72px; padding:12px 20px; border-bottom:1px solid var(--glass-b); }
#shell .w-back, #shell .w-save { font:600 calc(14px * var(--font-scale))/1.4 system-ui,sans-serif; letter-spacing:0; min-height:44px; }
#shell .w-save { border-radius:8px; box-shadow:none; }
#shell .w-date { font:400 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; letter-spacing:0; padding-top:16px; }
#shell #writeScrollArea > .w-title-input { font-size:calc(24px * var(--font-scale)); }
#shell #writeScrollArea > .w-body { margin-top:4px; font-style:normal; font-size:calc(17px * var(--font-scale)); padding-top:12px; }
#shell .w-body::placeholder { font-style:normal; color:var(--text-mid) !important; }
#shell .w-title-input::placeholder { font-style:normal; color:var(--text-dim) !important; }
#shell .w-footer { background:var(--bg); border-top:1px solid var(--glass-b); }
#shell .ux-section-switch { margin-top:20px; }
#shell .ux-section-switch button { font-family:system-ui,sans-serif; color:var(--text-mid); }
#shell .ux-section-switch button[aria-pressed="true"] { color:var(--text); box-shadow:none; }
#screenSoul .sai-state-wrap > span:last-child { font:400 calc(14px * var(--font-scale))/1.6 system-ui,sans-serif !important; letter-spacing:0 !important; color:var(--text-mid) !important; }
#screenSoul .sai-panel { border-color:var(--glass-b) !important; }
#screenSoul .sh-link { color:var(--text-mid) !important; font-size:11px !important; letter-spacing:0 !important; }
.ux-reflection-mark { object-fit:contain; opacity:.85; }
#shell .ux-insights-intro [data-kosmos-desc] { font-family:system-ui,sans-serif !important; font-style:normal !important; color:var(--text-mid) !important; }
.ux-reflection-overview { margin:0 20px 24px; }
.ux-reflection-overview h2 { font:600 calc(16px * var(--font-scale))/1.5 system-ui,sans-serif; margin:0 0 10px; }
.ux-reflection-overview p { font-size:calc(14px * var(--font-scale)); color:var(--text-mid); line-height:1.6; margin:0 0 4px; }
.ux-theme-entry { display:block; width:100%; text-align:left; background:none; border:0; color:var(--cyan-l); min-height:44px; padding:10px 8px; font:400 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; cursor:pointer; overflow-wrap:anywhere; }
.ux-analysis-summary { padding:8px 0 20px; }
.ux-analysis-summary > div { min-width:0; }
.ux-analysis-summary [data-i18n] { color:var(--text-mid) !important; font:400 11px/1.5 system-ui,sans-serif !important; letter-spacing:0 !important; }
#shell .ux-analysis-toolbar, #shell #wesenskernDivider { background:none; border:0; border-bottom:1px solid var(--glass-b); border-radius:0; padding-inline:0; }
#shell .ux-profile-identity { background:none !important; border:0 !important; border-radius:0 !important; padding:16px 4px !important; }
#shell .ux-profile-identity #profName { color:var(--text) !important; }
#shell .ux-profile-metrics { display:none !important; }
#shell #profTitle { font:400 calc(13px * var(--font-scale))/1.5 system-ui,sans-serif !important; letter-spacing:0 !important; color:var(--text-mid) !important; }
#shell .ux-profile-progress .gc { margin:0 0 14px !important; }
#shell .group-label { font:600 13px/1.5 system-ui,sans-serif; letter-spacing:0; color:var(--text-mid); }
#shell .setting-row .sr-name { font:500 calc(15px * var(--font-scale))/1.5 system-ui,sans-serif; }
#shell .setting-row { gap:12px; }
#shell .setting-row .sr-left { flex:1; min-width:0; }
#shell .setting-row .sr-left > div { min-width:0; }
#shell .setting-row .sr-ico, #shell .setting-row .sr-right { flex-shrink:0; }
#shell .setting-row .sr-name, #shell .setting-row .sr-sub { overflow-wrap:anywhere; }
#shell .setting-row:focus-visible { outline:2px solid var(--cyan); outline-offset:-2px; }
#shell button.toggle { border:0; padding:0; height:44px; background:none; }
#shell button.toggle::before { content:''; position:absolute; inset:10px 0; border-radius:12px; background:rgba(255,255,255,.1); }
#shell button.toggle.on::before { background:linear-gradient(135deg,var(--primary-glow),var(--cyan)); }
body.echo-light #shell button.toggle:not(.on)::before { background:rgba(20,16,42,.18); }
#shell button.toggle::after { top:13px; }
#shell button.toggle:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
#shell .setting-row .sr-left[role="button"]:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
#shell .setting-row .sr-sub { font:400 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--text-mid); }
#shell .stat-label { font:500 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; letter-spacing:0; text-transform:none; color:var(--text); }
#shell .stat-context { font:400 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--text-mid); }
#shell .stat-number { font-family:system-ui,sans-serif; font-size:32px; letter-spacing:0; text-shadow:none; }
#shell .ss-lbl { font:400 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; letter-spacing:0; text-transform:none; color:var(--text-mid); }
#shell .prof-title { letter-spacing:0; }
#shell .settings-group { background:none; box-shadow:none; border-radius:0; border:0; }
.entry-open:focus-visible, .entry-actions summary:focus-visible, .ux-text-button:focus-visible, .ux-theme-entry:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
.entry-actions { position:absolute; top:6px; right:6px; z-index:3; }
.entry-actions summary { display:grid; place-items:center; width:44px; height:44px; cursor:pointer; color:var(--text-mid); font:700 20px/1 system-ui,sans-serif; border-radius:6px; }
.entry-actions summary::marker { content:''; }
.entry-actions[open] { z-index:10; }
.entry-actions[open] summary { background:var(--glass); }
.entry-actions-menu { position:absolute; right:0; top:46px; width:190px; padding:4px; background:var(--bg2); border:1px solid var(--glass-b); border-radius:8px; box-shadow:0 6px 24px rgba(0,0,0,.3); }
.entry-actions-menu button { display:flex; align-items:center; gap:10px; min-height:44px; width:100%; border:0; background:none; padding:10px; text-align:left; color:var(--text); font:400 14px/1.5 system-ui,sans-serif; cursor:pointer; }
.entry-actions-menu button:last-child { color:#f1a6b5; }
.entry-actions-menu button:hover { background:var(--glass); }
.entry-tags { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
.entry-tags span { color:var(--text-mid); background:var(--glass); border-radius:4px; padding:3px 7px; font-size:12px; line-height:1.5; }
#bottomNav { background:var(--bg2) !important; box-shadow:none !important; backdrop-filter:none; }
#bottomNav .nav-btn.on { background:none; color:var(--cyan-l); }
#bottomNav .nav-btn.on .nav-lbl { color:var(--cyan-l); }
#bottomNav .nav-ico { display:grid; place-items:center; width:24px; height:24px; }
[data-ui-icon] svg, .entry-actions-menu svg { display:block; flex-shrink:0; }
body.echo-light #shell .gc { background:var(--card) !important; }
body.echo-light #shell .e-date, body.echo-light #shell .e-preview { color:var(--text-mid) !important; }
body.echo-light #shell .e-top { background:none !important; }
#shell { padding-bottom:0; }
.screen { top:var(--app-safe-top); padding-bottom:var(--app-nav-space); }
#screenWrite { padding-bottom:var(--app-safe-bottom); }
.w-footer { padding-bottom:0; }
#toast {
  top:auto; bottom:calc(var(--app-nav-space) + 12px);
  max-width:min(90vw, 400px); white-space:normal; border-radius:8px;
  font-size:14px; line-height:1.45; letter-spacing:0; pointer-events:none;
}
#toast.show { animation:none; }
#bottomNav {
  position:absolute; bottom:0;
  width:100%; max-width:430px; margin-inline:auto;
  height:var(--app-nav-space); min-height:var(--app-nav-space);
  padding:3px max(8px, env(safe-area-inset-right, 0px)) calc(3px + var(--app-safe-bottom)) max(8px, env(safe-area-inset-left, 0px));
  align-items:stretch; border-radius:0;
  transition-property:background-color, border-color;
}
#bottomNav .nav-btn {
  justify-content:center; gap:3px; padding:2px;
  opacity:1; color:var(--text-mid); border-radius:8px;
  font-family:system-ui,sans-serif;
}
#bottomNav .nav-btn.on { background:none; color:var(--cyan-l); }
#bottomNav .nav-btn.on .nav-lbl { color:var(--cyan-l); font-weight:600; }
#bottomNav .nav-ico { width:44px; height:24px; border-radius:8px; font-size:20px; line-height:20px; filter:none; animation:none; transform:none; transition:background-color .15s ease; }
#bottomNav .nav-ico svg { width:22px; height:22px; }
#bottomNav .nav-btn.on .nav-ico { background:var(--glass); background:color-mix(in srgb,currentColor 14%,transparent); }
#bottomNav .nav-lbl { line-height:14px; animation:none; }
#bottomNav .nav-btn:active { transform:none; background:var(--glass); }
@media(prefers-reduced-motion:reduce) { #bottomNav .nav-ico { transition:none; } }
#bottomNav .nav-btn:focus-visible { outline:2px solid var(--cyan); outline-offset:-2px; }
.ux-method-button { min-width:44px; min-height:44px; border:1px solid var(--glass-b); border-radius:8px; background:var(--glass); color:var(--text); font:600 18px/1 system-ui,sans-serif; cursor:pointer; }
.ux-method-button:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.ux-analysis-toolbar { flex-wrap:wrap; gap:8px; }
.ux-text-button { min-height:44px; padding:8px; border:0; background:transparent; color:var(--text); font:600 14px/1.4 system-ui,sans-serif; cursor:pointer; }
.ux-text-button:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
#wesenskernDivider [data-i18n="soul.traits.title"] { letter-spacing:0 !important; text-transform:none !important; font-size:14px !important; }
@media(min-width:500px) {
  #bottomNav { max-width:640px; }
}
@supports(height:100dvh) {
  #shell { height:100dvh; }
}
.screen:not(.active) { visibility: hidden; }
.ux-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.ux-icon-button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:1px solid var(--glass-b); border-radius:8px; color:var(--text); background:var(--glass); font-size:24px; cursor:pointer; }
.ux-icon-button:focus-visible, .ux-disclosure > summary:focus-visible, .ux-section-switch button:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
.ux-disclosure { margin:12px 16px 20px; border-top:1px solid var(--glass-b); border-bottom:1px solid var(--glass-b); }
.ux-disclosure > summary { padding:16px 0; cursor:pointer; color:var(--text); font-size:calc(15px * var(--font-scale)); font-weight:600; line-height:1.5; letter-spacing:0; }
.ux-disclosure[open] > summary { margin-bottom:8px; }
.ux-disclosure > .gc, .ux-disclosure > .sh { margin-left:0 !important; margin-right:0 !important; }
.ux-section-switch { display:flex; gap:4px; padding:4px; margin:8px 20px 16px; border:1px solid var(--glass-b); border-radius:8px; flex-shrink:0; }
.ux-section-switch button { flex:1; min-height:44px; padding:8px; border:0; border-radius:6px; background:transparent; color:var(--text-dim); font:600 15px/1.4 'Rajdhani',sans-serif; cursor:pointer; }
.ux-section-switch button[aria-pressed="true"] { background:var(--glass); color:var(--text); box-shadow:inset 0 -2px var(--cyan); }
.ux-insights-intro { padding:8px 20px 16px; }
.ux-insights-intro [data-kosmos-desc] { font:400 calc(15px * var(--font-scale))/1.6 'Rajdhani',sans-serif !important; color:var(--text-dim) !important; text-align:left !important; }
.ux-insights-intro [data-i18n="soul.kosmos"] { display:none; }
.ux-insights-intro [data-i18n^="soul.stats."] { color:var(--text-dim) !important; font-size:11px !important; letter-spacing:0 !important; }
.ux-profile-header { display:flex; align-items:center; gap:16px; min-height:60px; padding:8px 20px; font-size:15px; flex-shrink:0; }
.ux-profile-header .w-back { min-height:44px; }
.ux-field-label { display:block; padding:8px 20px 0; color:var(--text-dim); font-size:14px; }
.ux-empty-note { margin:0 20px 24px; color:var(--text-mid); font-size:15px; line-height:1.6; }
#writeScrollArea > .w-body { min-height:250px; margin-top:12px; padding-top:16px; font-size:calc(17px * var(--font-scale)); line-height:1.75; }
#writeScrollArea > .w-body::placeholder { color:var(--text-mid); }
#screenSoul .sai-state-wrap { color:var(--text-mid); opacity:1 !important; }
#screenSoul .sai-state-wrap span { color:var(--text-mid) !important; }
.write-extras { margin-top:8px; }
.write-extras .w-capsule-btn { margin:10px 20px; min-height:44px; }
#writeScrollArea > .w-title-input { font-size:calc(20px * var(--font-scale)); }
.write-extras .write-meta-row { padding-top:12px !important; padding-bottom:12px !important; }
#wWordCount { color:var(--text-dim) !important; font-size:13px; letter-spacing:0; }
#wImpulseIco, #wImpulseLabel, #wDialogIco, #wDialogLabel { display:none !important; }
#bottomNav .nav-lbl { font-size:12px; letter-spacing:0; text-transform:none; }
#screenHome .home-header { align-items:center; }
.home-extras > #homeSplitCard, .home-extras > #homeFactsCard { margin-left:0 !important; margin-right:0 !important; }
@media (prefers-reduced-motion: reduce) {
  .screen, #authScreen { animation:none !important; transition:none !important; }
}

/* Quiet reading surface, with a close action that remains reachable. */
.ux-reading-sheet {
  width:100%; max-width:560px; max-height:92vh; max-height:92dvh;
  overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box;
  padding:0 22px calc(24px + env(safe-area-inset-bottom, 0px));
  background:var(--bg); color:var(--text); border:1px solid var(--glass-b);
  border-radius:8px 8px 0 0; overflow-wrap:anywhere;
}
.ux-reading-toolbar { position:sticky; top:0; z-index:2; display:flex; justify-content:flex-end; padding:8px 0; background:var(--bg); border-bottom:1px solid var(--glass-b); margin-bottom:20px; }
.ux-reading-close { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 12px; border:0; border-radius:6px; background:transparent; color:var(--text); font:inherit; cursor:pointer; }
#entryDetailOverlay #edTitle { font-size:calc(24px * var(--font-scale)) !important; color:var(--text) !important; }
#entryDetailOverlay #edDate { font:400 calc(13px * var(--font-scale))/1.5 system-ui,sans-serif !important; letter-spacing:0 !important; color:var(--text-dim) !important; }
#entryDetailOverlay #edBody, #entryDetailOverlay .ed-impulse-text { font-size:calc(17px * var(--font-scale)) !important; line-height:1.85 !important; color:var(--text) !important; font-style:normal; }
#entryDetailOverlay .ed-meta-chip, #entryDetailOverlay #edTags span { font:400 calc(13px * var(--font-scale))/1.5 system-ui,sans-serif !important; color:var(--text-mid) !important; border-radius:4px !important; }
#entryDetailOverlay #edCloseBtn, #entryDetailOverlay .ed-deep-btn { min-height:48px; font:600 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif !important; letter-spacing:0 !important; color:var(--text) !important; border-radius:8px !important; margin-top:16px; }
#entryDetailOverlay #edResonanzBlock { font-size:calc(15px * var(--font-scale)) !important; color:var(--text-mid) !important; }
#writeFooter { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
#writeFooter #wWordCount { flex:1; min-width:140px; }
#writeFooter .w-voice-row { padding:0; margin:0; }
#writeFooter .voice-mic-btn { min-height:44px; padding:8px 12px; border-radius:6px; font-size:14px; letter-spacing:0; color:var(--text); }
#writeFooter #wLimitHint, #writeFooter #wHardLimitHint { flex-basis:100%; font-size:12px; line-height:1.5; }
#premiumSheet { background:var(--bg) !important; border-radius:8px 8px 0 0 !important; padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px)) !important; max-height:92dvh !important; }
#premiumSheet div, #premiumSheet span { letter-spacing:0 !important; }
#premiumSheet > div:first-of-type > div:first-child { display:none; }
#premiumSheet > div:first-of-type { padding:28px 24px 20px !important; }
#premiumSheet > div:first-of-type > div:nth-child(3) { font-size:26px !important; animation:none !important; background:none !important; -webkit-text-fill-color:var(--text) !important; color:var(--text) !important; }
#premiumSheet > div:first-of-type > div:last-child { color:var(--text-mid) !important; font-size:15px !important; font-style:normal !important; }
#premiumSheet .ux-premium-close { width:44px !important; height:44px !important; top:8px !important; right:8px !important; color:var(--text) !important; border-radius:6px !important; }
#premiumSheet #premCTA { min-height:52px; border-radius:8px !important; background:var(--cyan) !important; animation:none !important; box-shadow:none !important; color:#121214 !important; font:600 16px/1.5 system-ui,sans-serif !important; }
#premiumSheet #premPrice { font-size:32px !important; background:none !important; -webkit-text-fill-color:var(--text) !important; }
#premiumSheet #premPeriod, #premiumSheet #premNote { color:var(--text-mid) !important; font-size:14px !important; }
#premiumSheet #btnMonthly, #premiumSheet #btnYearly { min-height:48px; font:600 14px/1.5 system-ui,sans-serif !important; color:var(--text-mid) !important; }
#premiumSheet button[aria-pressed="true"] { background:var(--glass) !important; color:var(--text) !important; border-color:var(--cyan) !important; }
.ux-premium-comparison-details { margin:20px 18px 0; border-top:1px solid var(--glass-b); }
.ux-premium-comparison-details > summary { min-height:44px; padding:12px 0; color:var(--text); font-size:15px; cursor:pointer; }
#premiumSheet .ux-premium-comparison { padding:0 !important; }
#premiumSheet .ux-premium-comparison > div { background:none !important; border:0 !important; padding:0 !important; }
#premiumSheet .ux-premium-comparison span { color:var(--text-mid) !important; font-size:13px !important; text-decoration:none !important; white-space:normal !important; }
#premiumSheet .ux-premium-features > div { border:0 !important; border-bottom:1px solid var(--glass-b) !important; border-radius:0 !important; background:none !important; padding:16px 0 !important; }
#premiumSheet .ux-premium-features > div > div:last-child > div:first-child { color:var(--text) !important; font:600 calc(15px * var(--font-scale))/1.5 system-ui,sans-serif !important; }
#premiumSheet .ux-premium-features > div > div:last-child > div:last-child { color:var(--text-mid) !important; font:400 calc(14px * var(--font-scale))/1.6 system-ui,sans-serif !important; }
#premiumSheet .ux-premium-terms, #premiumSheet .ux-premium-purchase > div { color:var(--text-dim) !important; font:400 calc(12px * var(--font-scale))/1.6 system-ui,sans-serif !important; }
#premiumSheet * { text-shadow:none !important; }
#premiumSheet .ux-premium-heading > div:last-child { font-family:system-ui,sans-serif !important; }
#premiumSheet .ux-premium-heading > div:nth-child(2) { font-size:12px !important; color:var(--text-dim) !important; }
#premiumSheet #premNote { font-family:system-ui,sans-serif !important; font-style:normal !important; line-height:1.6; }
.ux-save-result { margin:4px 20px 20px; padding:16px 0; border-top:1px solid var(--glass-b); border-bottom:1px solid var(--glass-b); }
.ux-save-result[hidden] { display:none; }
#shell #homeSaveResult:not([hidden]) ~ .impulse { display:none; }
.ux-save-result h2 { margin:0 0 8px; font-size:calc(17px * var(--font-scale)); line-height:1.5; color:var(--cyan-l); }
.ux-save-result p { margin:0 0 8px; color:var(--text-mid); overflow-wrap:anywhere; }
.ux-journey-actions { display:flex; flex-wrap:wrap; gap:4px 16px; }
.ux-saved-prompt { margin:16px 0 12px; padding-left:12px; border-left:2px solid var(--cyan-l); }
.ux-saved-prompt span { display:block; margin-bottom:6px; font-size:calc(12px * var(--font-scale)); color:var(--text-mid); }
.ux-save-result .ux-saved-prompt p { margin:0; color:var(--text); font-size:calc(16px * var(--font-scale)); line-height:1.5; }
.ux-observation { padding:20px 0; border-bottom:1px solid var(--glass-b); }
.ux-observation h3 { margin:0 0 8px; font:600 calc(18px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--text); }
.ux-observation p { margin:0 0 12px; color:var(--text-mid); font-size:calc(15px * var(--font-scale)); line-height:1.65; }
.ux-observation-sources { display:flex; flex-direction:column; margin-bottom:16px; }
.ux-observation .ux-theme-entry { margin:0; min-height:44px; padding:8px 0; text-decoration:underline; text-underline-offset:3px; }
.ux-observation .ux-reflection-question { color:var(--text); font-family:Lora,serif; }
.ux-reflection-overview .ux-observation-note { font-size:calc(12px * var(--font-scale)); line-height:1.6; color:var(--text-dim); }
.ux-insights-intro { display:none; }
.ux-reflection-overview { padding-top:8px; }
.ux-save-result button, .ux-observation button { white-space:normal; text-align:left; overflow-wrap:anywhere; }
.ux-next-options { margin:20px; }
.ux-next-options h2, .ux-retrospective h2 { font:600 calc(16px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--text); margin:0 0 12px; }
.ux-next-action { display:grid; grid-template-columns:minmax(0,1fr) 24px; gap:4px 12px; width:100%; min-height:64px; padding:16px 0; text-align:left; border:0; border-bottom:1px solid var(--glass-b); background:none; color:var(--text); cursor:pointer; }
.ux-next-action strong { font-size:calc(15px * var(--font-scale)); line-height:1.5; }
.ux-next-action > span:not(.ux-next-chevron) { grid-column:1; color:var(--text-mid); font:400 calc(14px * var(--font-scale))/1.6 system-ui,sans-serif; overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.ux-next-chevron { grid-column:2; grid-row:1 / 3; align-self:center; color:var(--cyan); }
.ux-next-action:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
.ux-retrospective { margin:24px 20px; }
.ux-period-switch { display:flex; gap:4px; padding:4px; margin-bottom:16px; border:1px solid var(--glass-b); border-radius:8px; }
.ux-period-switch button { flex:1; min-height:44px; border:0; border-radius:4px; background:none; color:var(--text-mid); font:600 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; cursor:pointer; }
.ux-period-switch button[aria-pressed="true"] { background:var(--glass); color:var(--text); }
#insightHistory [data-review-section][hidden] { display:none !important; }
#insightHistory > .gc, #insightHistory > .sh { margin-inline:0 !important; }
#insightHistory .sai-panel { border:0; border-radius:0; background:none !important; padding:0 !important; }
#insightHistory .sai-state-wrap { padding:12px 0; }
#insightHistory button { min-height:44px; font-family:system-ui,sans-serif !important; letter-spacing:0 !important; }
#insightHistory .sai-panel p { font-size:calc(15px * var(--font-scale)) !important; color:var(--text-mid) !important; font-style:normal !important; }
#homeSplitCard .split-expanded { animation:none; padding:12px 0; }
#homeSplitCard .split-back { min-height:44px; border-radius:6px; color:var(--text); font:500 14px/1.5 system-ui,sans-serif; letter-spacing:0; }
#homeSplitCard .sc-task-box, #homeSplitCard .sc-challenge-title { font-size:calc(16px * var(--font-scale)); color:var(--text); background:none; line-height:1.6; }
#homeSplitCard .sc-fokus-input { box-sizing:border-box; width:100%; min-height:120px; font:400 calc(16px * var(--font-scale))/1.6 system-ui,sans-serif; color:var(--text); background:var(--bg2); border-radius:6px; }
#homeSplitCard .sc-fokus-input::placeholder { color:var(--text-dim); }
#homeSplitCard .sc-fokus-save-btn, #homeSplitCard .sc-change-btn { min-height:44px; font:500 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; letter-spacing:0; border-radius:6px; }
.ux-fulltext-overlay.ux-open { display:flex !important; align-items:flex-end; justify-content:center; padding:0 !important; overflow:hidden !important; }
.ux-fulltext-overlay > .ux-reading-sheet { max-width:560px !important; background:var(--bg) !important; border:1px solid var(--glass-b) !important; border-radius:8px 8px 0 0 !important; padding:0 22px calc(24px + env(safe-area-inset-bottom, 0px)) !important; margin:0 !important; }
.ux-fulltext-overlay .ux-reading-toolbar { margin-bottom:16px !important; gap:12px; }
#saiPopupLabel, #dynPopupTitle { font:600 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif !important; color:var(--text) !important; letter-spacing:0 !important; overflow-wrap:anywhere; }
#saiPopupBody, #dynPopupDesc { font-size:calc(17px * var(--font-scale)) !important; line-height:1.8 !important; color:var(--text) !important; }
.ux-fulltext-overlay [data-i18n$="disclaimer"] { font:400 calc(12px * var(--font-scale))/1.6 system-ui,sans-serif !important; letter-spacing:0 !important; color:var(--text-dim) !important; text-align:left !important; }
.ux-fulltext-overlay button { min-width:44px; min-height:44px; border-radius:6px !important; letter-spacing:0 !important; }
#fokusPickerModal .fpm-sheet { background:var(--bg); border-radius:8px 8px 0 0; padding:0 20px calc(24px + env(safe-area-inset-bottom, 0px)); max-height:92dvh; overscroll-behavior:contain; }
#fokusPickerModal .fpm-title { font:600 calc(18px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--text); letter-spacing:0; text-transform:none; }
#fokusPickerModal .fpm-goal-btn, #fokusPickerModal .fpm-ch-btn { min-height:56px; border:0; border-bottom:1px solid var(--glass-b); border-radius:0; background:none; padding:16px 0; }
#fokusPickerModal .fpm-goal-label { font:600 calc(16px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--text); letter-spacing:0; }
#fokusPickerModal .fpm-goal-desc, .ux-focus-choice span { font:400 calc(14px * var(--font-scale))/1.6 system-ui,sans-serif; color:var(--text-mid); }
#fokusPickerModal .fpm-back { min-height:44px; font:500 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--cyan); letter-spacing:0; }
.ux-focus-group { margin:24px 0 4px; font:600 calc(15px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--text-dim); }
#fokusPickerModal .ux-focus-choice { display:flex; flex-direction:column; gap:6px; align-items:flex-start; text-align:left; width:100%; white-space:normal; overflow-wrap:anywhere; }
#fokusPickerModal .fpm-sheet, #fokusPickerBody, #fokusPickerBody button { box-sizing:border-box; min-width:0; }
#fokusPickerBody { padding:0; overflow-wrap:anywhere; }
.ux-focus-choice strong, .ux-focus-choice span { max-width:100%; min-width:0; }
#fokusPickerModal .fpm-goal-desc { white-space:normal; }
.ux-focus-choice strong { font:600 calc(16px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--text); }
.ux-insight-mode { display:flex; margin:4px 20px 8px; gap:12px; padding:0; border:0; border-bottom:1px solid var(--glass-b); border-radius:0; }
.ux-insight-mode button { flex:1; min-width:0; min-height:44px; border:0; border-radius:4px; background:none; color:var(--text-mid); font:600 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; letter-spacing:0; }
.ux-insight-mode button[aria-pressed="true"] { background:none; color:var(--cyan-l); box-shadow:inset 0 -2px var(--cyan); }
#screenSoul[data-insight-mode="simple"] #insightDetails,
#screenSoul[data-insight-mode="simple"] #insightHistory,
#screenSoul[data-insight-mode="simple"] [data-insight-detailed] { display:none !important; }
.ux-topic-picture { margin:20px 0; padding:0 0 24px; border-bottom:1px solid var(--glass-b); }
.ux-topic-picture figcaption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.ux-loop-step { color:var(--cyan-l) !important; font-weight:600; }
.ux-observation-sources blockquote { margin:12px 0 0; padding:4px 12px; border-left:2px solid var(--glass-b); font:400 calc(15px * var(--font-scale))/1.6 Georgia,serif; overflow-wrap:anywhere; color:var(--text); }
.ux-loop-feedback { padding:16px 0; border-top:1px solid var(--glass-b); }
.ux-loop-feedback button { min-height:44px; margin:8px 6px 0 0; padding:8px 12px; border:1px solid var(--glass-b); border-radius:6px; }
.ux-loop-feedback button[aria-pressed="true"] { color:var(--cyan-l); border-color:var(--cyan); background:var(--glass); }
.ux-loop-attempt { padding:16px 0; border-top:1px solid var(--glass-b); }
.ux-loop-attempt h4 { font:600 calc(16px * var(--font-scale))/1.5 system-ui,sans-serif; margin-bottom:8px; }
.ux-loop-attempt button { color:var(--cyan-l); border-bottom:1px solid var(--cyan); border-radius:0; }
.ux-loop-attempt button:disabled { opacity:.5; cursor:wait; }
.ux-insight-mode button:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.ux-topic-picture > p { font:400 calc(13px * var(--font-scale))/1.6 system-ui,sans-serif; color:var(--text-dim); }
.ux-topic-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 12px; margin-top:18px; font:500 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; }
.ux-topic-row > span { overflow-wrap:anywhere; }
.ux-topic-row > span:nth-child(2) { font-size:calc(12px * var(--font-scale)); color:var(--text-mid); }
.ux-topic-row meter { --signal:#79d1bd; grid-column:1 / -1; width:100%; height:12px; border:0; background:var(--glass); border-radius:4px; }
.ux-topic-row[data-tone="1"] meter { --signal:#c3a1ea; }
.ux-topic-row[data-tone="2"] meter { --signal:#e3ba73; }
.ux-topic-row meter::-webkit-meter-bar { background:var(--glass); border:0; border-radius:4px; }
.ux-topic-row meter::-webkit-meter-optimum-value { background:var(--signal); border-radius:4px; }
.ux-topic-row meter::-moz-meter-bar { background:var(--signal); border-radius:4px; }
@media(max-width:380px) { .ux-topic-row { grid-template-columns:minmax(0,1fr); } .ux-topic-row meter { grid-column:1; } }
