/* Shared first-release user palette and type scale. Operator surfaces keep their own theme. */
html:has(body.mobile-design){color-scheme:light;background:#f5f6f5}
body.mobile-design{
  --brand-primary:#80ac9b;--brand-hover:#6c9d8b;--brand-pressed:#4d7e6d;
  --brand-on-primary:#fff;--brand-text:#315c4d;--brand-focus:#315c4d;
  --brand-border:#d6deda;--brand-subtle:#e8f2ed;
  --bg:#f5f6f5;--panel:#fff;--panel2:#f5f6f5;
  --ink:#000000;--muted:#5c6b63;--line:#dfe5e1;
  --accent:#315c4d;--accent2:#315c4d;--text-accent:#315c4d;
  --accent-fill:#315c4d;--accent-contrast:#fff;--accentInk:#fff;
  --soft:#e8f2ed;--danger:#c77758;--warn:#a35b37;
  --chart-accent:#80ac9b;--previous:#9bad9f;--point:#315c4d;
  --steady:#5c6b63;--success:#315c4d;--shadow:0 3px 14px rgb(41 58 52 / .07);
  --ui-apricot:#f6af96;--ui-apricot-soft:#fff1ea;--ui-down:#c77758;
  --ui-shadow:0 3px 14px rgb(41 58 52 / .07);
  --ui-font:14px;--ui-meta:12px;--ui-heading:18px;--ui-title:22px;
  --ui-line:1.55;--ui-weight-body:400;--ui-weight-label:600;--ui-weight-heading:700;
  background:var(--bg);color:var(--ink);
  font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  font-size:var(--ui-font);font-weight:var(--ui-weight-body);line-height:var(--ui-line);
}
html[data-theme=light] body.mobile-design.ai-news-page{
  --bg:#f5f6f5;--panel:#fff;--panel2:#f5f6f5;
  --ink:#000000;--muted:#5c6b63;--line:#dfe5e1;
}
body.mobile-design :is(button,input,select,textarea){font-family:inherit}
/* Keep action tap feedback aligned with ACTION_CONTROL_SELECTOR in app-navigation.js. */
body.mobile-design :is(button,summary,[role="button"],[role="tab"],input[type="button"],input[type="submit"],input[type="reset"],.app-shell-nav a,.app-mobile-services a,a.skip-link,a[data-link],a.button,a.optical-control,.neighbor-own-heading>a,.news-post-suggestion,#newsPreviewOriginal,.summary-card .button-row>a,.brand-distributor-row a,#brandCandidateContent .trend-post-row>a),
body.mobile-design :is(button,summary,[role="button"],[role="tab"],input[type="button"],input[type="submit"],input[type="reset"],.app-shell-nav a,.app-mobile-services a,a.skip-link,a[data-link],a.button,a.optical-control,.neighbor-own-heading>a,.news-post-suggestion,#newsPreviewOriginal,.summary-card .button-row>a,.brand-distributor-row a,#brandCandidateContent .trend-post-row>a) *{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
/* Service text is not selectable; editing and paste menus stay native in fields. */
body.mobile-design,body.mobile-design *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
body.mobile-design :is(input,textarea,[contenteditable]:not([contenteditable="false"])),
body.mobile-design [contenteditable]:not([contenteditable="false"]) *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
body.mobile-design .app-shell-nav{background:var(--brand-primary);border-bottom:0;box-shadow:0 3px 12px rgb(41 58 52 / .11);font-family:inherit}
body.mobile-design .app-shell-nav .brand .logo{background:#fff;color:var(--brand-primary)}
body.mobile-design .app-shell-nav :is(.brand,.brand small,.global-menu a,.service-nav a,.nav-actions>a,.nav-actions>button){color:#fff}
body.mobile-design .app-shell-nav .nav-actions>:is(a,button){border-color:rgb(255 255 255 / .58)}
body.mobile-design .app-shell-nav .nav-actions{width:max-content;min-width:0;flex:0 1 auto;margin-left:auto}
body.mobile-design .app-shell-nav .nav-actions>.optical-control{width:auto}
body.mobile-design .app-shell-nav :is(.global-menu,.service-nav) a[aria-current="page"]{background:#315c4d;color:#fff}
body.mobile-design #themeToggle{display:none!important}
body.mobile-design #notificationConsentOpen{font-size:11px!important;font-weight:700}
body.mobile-design #notificationConsentOpen .app-nav-icon{width:18px;height:18px;stroke-width:2.2}
body.mobile-design :is(.eyebrow,.page-heading .eyebrow){color:var(--brand-text)}
body.mobile-design :is(.muted,.help,.profile-intro){color:var(--muted)}
body.mobile-design :is(.page-heading h1,.panel-head h2,.setup-intro h2,.news-feed h2){font-weight:var(--ui-weight-heading);line-height:1.4}
body.mobile-design :is(.primary,.actions .primary,.post-preview-original):not(:disabled){background:var(--brand-text);border-color:var(--brand-text);color:#fff}
body.mobile-design :is(.primary,.actions .primary,.post-preview-original):not(:disabled):hover{background:#254638;border-color:#254638}
body.mobile-design :is(.field input,.field select,textarea,[role="combobox"]){--control-line:var(--line);--control-surface:#fff}

/* Keep installation controls dormant until the dedicated invite landing flow is built. */
.app-install-banner{display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px max(14px,env(safe-area-inset-right,0px)) 10px max(14px,env(safe-area-inset-left,0px));background:#fff;color:var(--ink);border-bottom:1px solid #d6deda}
body.mobile-design .app-install-banner[hidden]{display:none}
.app-install-banner p{min-width:0;margin:0;font-size:12px;line-height:1.45;font-weight:600;overflow-wrap:break-word}
.app-install-banner button{flex:0 0 auto;min-width:70px;min-height:44px;padding:7px 10px;border:0;border-radius:9px;background:#315c4d;color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.app-install-banner button:focus-visible{outline:2px solid #315c4d;outline-offset:2px}
.app-install-help{display:none;max-width:720px;margin:0 auto;padding:12px 16px;background:#e8f2ed;color:#315c4d;font-size:13px;line-height:1.6}
.app-install-help:not([hidden]){display:block}
body.mobile-design .notification-consent-panel{width:min(440px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:0;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 18px 55px rgb(41 58 52 / .2)}
.notification-consent-panel::backdrop{background:rgb(25 38 32 / .4)}
.notification-consent-panel h2{margin:0 0 10px;font-size:20px;line-height:1.35}
.notification-consent-panel p{margin:0 0 14px;color:#5c6b63;font-size:14px;line-height:1.65}
.notification-consent-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.notification-consent-actions button{flex:1 1 130px;min-height:44px;padding:9px 12px;border:1px solid #d6deda;border-radius:10px;background:#fff;color:#315c4d;font-size:14px;font-weight:700;cursor:pointer}
.notification-consent-actions #notificationConsentAllow{background:#315c4d;border-color:#315c4d;color:#fff}
.notification-consent-panel :is(#notificationPermissionButton,#notificationConsentClose){min-height:44px;padding:9px 12px;border:1px solid #d6deda;border-radius:10px;background:#e8f2ed;color:#315c4d;font-weight:700}
.notification-consent-panel [role="status"]{margin-top:14px}

/* Keep the established navigation location with an opaque, borderless dock. */
@media(max-width:768px){
  body.mobile-design .app-mobile-services{width:min(228px,calc(100vw - 28px));padding:4px;gap:2px;border:0;border-radius:999px;background:#fff;box-shadow:0 5px 20px rgb(41 58 52 / .13);backdrop-filter:none;-webkit-backdrop-filter:none}
  body.mobile-design .app-mobile-services a{min-height:60px;gap:1px;padding:4px 6px;color:#5c6b63;font-size:11px;line-height:1.2}
  body.mobile-design .app-mobile-services a[aria-current="page"]{background:var(--brand-primary);color:#fff}
  body.mobile-design .app-mobile-services .app-service-icon{width:24px;height:24px}
  body.mobile-design.app-navigation-mobile{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  body.mobile-design .app-shell-nav .global-nav-inner{padding-top:8px}
}
@media(display-mode:standalone){body.mobile-design .app-install-banner{display:none}}
/* Let the installed main pages scroll beneath the iOS status bar, while controls start in the safe area. */
@media(display-mode:standalone){
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page){--trend-safe-top:env(safe-area-inset-top,0px)}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav{padding-top:var(--trend-safe-top)}
  body.mobile-design.member-page .app-shell-nav{padding-top:env(safe-area-inset-top,0px)}
}

/* Trend overview and the four existing boards retain their content and ranking lines. */
body.mobile-design .market-overview,
body.mobile-design .dashboard-main :is(#trend-intelligence,.vision-promotion-grid)>.intelligence-card{border:0;background:#fff;box-shadow:var(--ui-shadow)}
body.mobile-design .market-overview{border-radius:20px}
body.mobile-design .market-overview h1{color:var(--ink);font-weight:var(--ui-weight-heading)}
body.mobile-design .market-overview .topbar[hidden]{display:none}
body.mobile-design .market-overview :is(.kpi-label,.kpi-context){color:var(--muted);font-size:var(--ui-meta)}
body.mobile-design .market-overview .kpi-panel{border-top-color:var(--line)}
body.mobile-design .market-overview .kpi-panel .kpis article{border-color:var(--line)}
body.mobile-design :is(#marketOverviewToggle,#myNewsToggle){position:relative;flex:0 0 50px;width:50px;min-width:50px;min-height:44px;padding:0;border:0;background:transparent;color:var(--brand-text);font-size:12px;font-weight:700;text-align:left}
body.mobile-design :is(#marketOverviewToggle,#myNewsToggle)::before{content:"";position:absolute;right:0;top:7px;width:50px;height:30px;border-radius:999px;background:#d6deda;transition:background .18s}
body.mobile-design :is(#marketOverviewToggle,#myNewsToggle)::after{content:"";position:absolute;right:23px;top:10px;width:24px;height:24px;border-radius:50%;background:rgb(255 255 255);box-shadow:0 1px 3px rgb(41 58 52 / .2);transition:transform .18s}
body.mobile-design :is(#marketOverviewToggle,#myNewsToggle)[aria-checked="true"]::before{background:var(--ui-apricot)}
body.mobile-design :is(#marketOverviewToggle,#myNewsToggle)[aria-checked="true"]::after{transform:translateX(20px)}
body.mobile-design :is(.delta.down,.keyword-detail-badge.is-down){background:var(--ui-apricot-soft);color:var(--ui-down)}
body.mobile-design :is(.board-tabs [role="tab"][aria-selected="true"],.news-tabs [role="tab"][aria-selected="true"]){color:var(--brand-text)}
body.mobile-design .dashboard-main .board-tabs [role="tab"][aria-selected="true"]::before{background:var(--brand-primary)}
body.mobile-design .dashboard-main .board-tabs [role="tab"][aria-selected="true"]::after{border-top-color:var(--brand-primary)}
body.mobile-design #mainContent .dashboard-select-trigger{background:#fff;--control-hover-surface:#fff;border-color:var(--line);outline:none;box-shadow:none}
body.mobile-design #mainContent .dashboard-select-option[hidden]{display:none}
body.mobile-design #mainContent .dashboard-select.is-open>.dashboard-select-trigger,
body.mobile-design #mainContent .dashboard-select-trigger:active{border-color:var(--brand-primary)}
html[data-control-input="keyboard"] body.mobile-design #mainContent .dashboard-select-trigger:focus-visible{border-color:var(--brand-primary);outline:2px solid var(--brand-focus);outline-offset:2px}
@media(hover:hover) and (pointer:fine){
  body.mobile-design #mainContent .dashboard-select-trigger:hover{border-color:var(--brand-primary)}
}
body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail,.post-preview){--line:#dfe5e1;background:#fff;color:var(--ink)}
body.mobile-design :is(.keyword-detail-summary,.trending-related,.trending-posts-frame){border-color:var(--line)}

/* Inbox, post summary, and profile use the same surface and type roles. */
body.mobile-design.ai-news-page :is(.my-news,.news-board,.news-post-preview){border:0;border-radius:18px;background:#fff;box-shadow:var(--ui-shadow)}
body.mobile-design.ai-news-page :is(.news-tabs,.news-feed,.summary-card,.news-post-row){border-color:var(--line)}
body.mobile-design.ai-news-page :is(.setup-intro h2,.news-feed h2,.my-news h2){color:var(--ink);font-size:var(--ui-heading)}
body.mobile-design.ai-news-page :is(.summary-card h3,.news-post-main strong){color:var(--ink);font-weight:var(--ui-weight-label)}
body.mobile-design.ai-news-page :is(.summary-card small,.news-post-meta){color:var(--muted);font-size:var(--ui-meta)}
body.mobile-design.ai-news-page :is(.setup-intro,.news-feed,.summary-card,.neighbor-shop){color:var(--ink)}
body.mobile-design.member-page :is(.panel,.preview article,.summary-card,.balance-card){border-color:transparent;border-radius:18px;background:#fff;box-shadow:var(--ui-shadow)}
body.mobile-design.member-page .profile-details>div{border-bottom-color:var(--line)}
body.mobile-design.member-page .page-heading h1{color:var(--ink);font-size:var(--ui-title)}

/* Shared detail shell: the full title remains in the heading and accessible name. */
body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail){
  --line:#dfe5e1;background:var(--bg)!important;color:var(--ink);
  margin:0!important;padding:0!important;border:0!important;
}
body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail)>.trending-detail-head{
  position:sticky;top:0;z-index:5;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:center;gap:0;min-height:70px;margin:0;padding:12px 14px;
  border:0;background:var(--brand-primary);
}
body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail)>.trending-detail-head::after{content:"";grid-column:3;grid-row:1}
body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail)>.trending-detail-head .keyword-detail-heading{
  grid-column:2;grid-row:1;min-width:0;text-align:center;
}
body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail)>.trending-detail-head :is(.keyword-detail-title-row,.diagnosis-detail-title-row){display:block;min-width:0}
body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail)>.trending-detail-head h3{
  display:block;max-width:min(10em,100%);min-width:0;margin:0 auto!important;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;
  color:#fff!important;font-size:18px;line-height:1.4;font-weight:var(--ui-weight-heading);
}
body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail)>.trending-detail-head :is(#keywordDetailClose,#brandDetailClose,#diagnosisDetailClose,#promotionDetailClose){
  grid-column:1;grid-row:1;display:grid!important;width:44px;min-width:44px;height:44px;min-height:44px;
  place-items:center;margin:0;padding:0;border:0!important;border-radius:10px;
  background:transparent!important;color:#fff!important;font-size:26px;line-height:1;
}
body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail)>.trending-detail-head :is(#keywordDetailClose,#brandDetailClose,#diagnosisDetailClose,#promotionDetailClose):hover{background:rgb(255 255 255 / .14)!important}
body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail)>.detail-body-card{
  min-height:calc(100dvh - 70px);padding:18px 18px max(32px,calc(20px + env(safe-area-inset-bottom,0px)));
  border-radius:22px 22px 0 0;background:#fff;color:var(--ink);
}
body.mobile-design :is(#keywordDetail,#diagnosisDetail,#promotionDetail) .detail-secondary-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 12px;
  color:var(--muted);font-size:var(--ui-meta);line-height:1.5;
}
body.mobile-design :is(#keywordDetail,#diagnosisDetail,#promotionDetail) .detail-secondary-meta :is(p,span){margin:0}
body.mobile-design #keywordDetail .detail-secondary-meta{display:none}
body.mobile-design #brandDetail .brand-detail-guide{margin:0 0 14px;color:var(--muted);font-size:var(--ui-meta);line-height:1.55}
body.mobile-design #postPreview .post-preview-excerpt{
  display:block;overflow:visible;max-width:100%;margin:0;
  color:var(--ink);font-size:16px!important;font-weight:400!important;line-height:1.75!important;
  white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:unset;line-clamp:unset;
}
@media(max-width:560px){
  body.mobile-design #postPreviewOriginal{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}
  body.mobile-design #postPreview .post-preview-meta span{background:rgb(245 245 245);color:rgb(92 107 99)}
}

@media(max-width:899px){
  /* Cut the curve out of the header itself, so no opaque strip covers the scrolling content. */
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav{isolation:isolate;padding-bottom:16px;background:transparent;box-shadow:none}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .global-nav-inner{min-height:44px;padding-top:0;padding-bottom:0}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav::before{
    content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:linear-gradient(var(--brand-primary),var(--brand-primary)) top/100% calc(100% - 16px) no-repeat,
      radial-gradient(circle at 100% 100%,transparent 15.5px,var(--brand-primary) 16px) bottom left/16px 16px no-repeat,
      radial-gradient(circle at 0 100%,transparent 15.5px,var(--brand-primary) 16px) bottom right/16px 16px no-repeat;
    filter:drop-shadow(0 2px 3px rgb(41 58 52 / .09));
  }
  body.mobile-design .dashboard-main,body.mobile-design.ai-news-page .page-shell{padding-top:8px}
  body.mobile-design .market-overview h1,body.mobile-design.ai-news-page .my-news h2{font-size:15px;line-height:1.5;font-weight:var(--ui-weight-heading)}
  body.mobile-design .dashboard-main>.board-tabs{border-radius:24px 24px 0 0;background:#fff;box-shadow:none}
  body.mobile-design .dashboard-main>.board-tabs [role="tab"],body.mobile-design.ai-news-page .news-tabs button{min-height:56px}
  /* Keep the outer shadow without casting a shadow onto the board below the menu. */
  body.mobile-design .dashboard-main>.board-tabs::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;box-shadow:var(--ui-shadow);clip-path:inset(-20px -20px 0);pointer-events:none}
  body.mobile-design .dashboard-main [data-board-panel]{border-radius:0 0 24px 24px;box-shadow:var(--ui-shadow)}
  body.mobile-design.ai-news-page .news-board{border-radius:24px}
  body.mobile-design .market-overview{border-radius:20px}
  body.mobile-design .market-overview-head,body.mobile-design.ai-news-page .my-news-head{gap:12px;padding:14px 16px 14px 20px}
  body.mobile-design .market-overview.is-collapsed .market-overview-head{padding-bottom:14px}
  body.mobile-design.ai-news-page .page-shell{padding-bottom:95px}
}
@media(max-width:560px){
  /* Shared card geometry; the main content sheets override the header cutout below. */
  html:has(body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page)){background:#80ac9b}
  html:has(body.mobile-design.mobile-pull-refresh-enabled),body.mobile-design.mobile-pull-refresh-enabled{overscroll-behavior-y:none}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page){--overview-gap:12px;--overview-card-radius:24px}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .global-nav-inner{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .global-nav-inner>.brand>span{transform:translateY(-6px)}
  /* Keep 44px touch targets inside the viewport; only the visible frame is 32px tall. */
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .nav-actions>:is(a,button){position:relative;box-sizing:border-box;height:44px;min-height:44px;padding-top:0;padding-bottom:12px;border-color:transparent;background:transparent}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .nav-actions>:is(a,button)::after{content:"";position:absolute;top:-1px;right:-1px;left:-1px;height:32px;box-sizing:border-box;border:1px solid rgb(255 255 255 / .58);border-radius:inherit;pointer-events:none}
  body.mobile-design.ai-news-page .news-tabs button{font-size:15px}
  body.mobile-design .market-overview,body.mobile-design.ai-news-page .my-news{border-radius:var(--overview-card-radius)}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav{--overview-curve:calc(var(--overview-card-radius) + var(--overview-gap));padding-bottom:0}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav::before{
    bottom:calc(-1 * var(--overview-curve));
    background:linear-gradient(var(--brand-primary),var(--brand-primary)) top/100% calc(100% - var(--overview-curve)) no-repeat,
      radial-gradient(circle at 100% 100%,transparent var(--overview-curve),var(--brand-primary) calc(var(--overview-curve) + .5px)) bottom left/var(--overview-curve) var(--overview-curve) no-repeat,
      radial-gradient(circle at 0 100%,transparent var(--overview-curve),var(--brand-primary) calc(var(--overview-curve) + .5px)) bottom right/var(--overview-curve) var(--overview-curve) no-repeat;
    filter:drop-shadow(0 3px 5px rgb(41 58 52 / .18));
  }
  body.mobile-design .dashboard-main,body.mobile-design.ai-news-page .page-shell{padding-top:14px}
  body.mobile-design .mobile-pull-refresh-content{transition:transform .18s ease-out}
  body.mobile-design:is(.is-pulling,.is-refreshing) .mobile-pull-refresh-content{transform:translateY(var(--mobile-pull-distance,0px))}
  body.mobile-design.is-pulling .mobile-pull-refresh-content{transition:none}
  body.mobile-design .mobile-pull-refresh{position:absolute;top:100%;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;height:var(--mobile-pull-distance,0px);padding:0 32px;color:var(--brand-text);font-size:12px;font-weight:600;line-height:1.4;pointer-events:none;overflow:hidden}
  body.mobile-design .mobile-pull-refresh[hidden]{display:none}
  body.mobile-design .mobile-pull-refresh::before{content:"↓";font-size:18px}
  body.mobile-design.is-refreshing .mobile-pull-refresh::before{content:"";width:14px;height:14px;border:2px solid var(--brand-border);border-top-color:var(--brand-text);border-radius:50%;animation:mobile-pull-spin .8s linear infinite}
  /* Main cards share the detail background; their outer lines do not change layout. */
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page),html[data-theme=light] body.mobile-design.ai-news-page{--bg:rgb(237 238 237);--trend-sheet-overlap:16px;--trend-sheet-radius:32px}
  body.mobile-design:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)){--trend-sheet-radius:32px}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav{z-index:0;padding-top:calc(var(--trend-safe-top,0px) + 10px);padding-bottom:calc(var(--trend-sheet-overlap) + 20px);border-radius:0;background:var(--brand-primary);box-shadow:none}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .global-nav-inner{min-height:60px;padding-top:8px;padding-bottom:8px}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .global-nav-inner>.brand>span{transform:none}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .brand .logo{flex-basis:40px;width:40px;height:40px;font-size:24px}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .brand strong{font-size:16px}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .nav-actions>:is(a,button){padding-top:0;padding-bottom:0;border-color:rgb(255 255 255 / .58)}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .nav-actions>:is(a,button):not(#dashboardOperator,#newsOperator){flex:0 0 44px;width:44px;min-width:44px;height:44px;padding:0;border:1px solid rgb(255 255 255 / .58);border-radius:6px}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav .nav-actions>:is(a,button)::after{content:none}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav::before{bottom:calc(var(--trend-sheet-overlap) - var(--trend-sheet-radius) - var(--mobile-pull-distance,0px));border-radius:0;background:var(--brand-primary);filter:none;transition:bottom .18s ease-out}
  body.mobile-design.is-pulling:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav::before{transition:none}
  /* Keep the sheet out of a stacking context so fixed detail panels and the bottom dock retain their layers. */
  body.mobile-design .dashboard-main,body.mobile-design.ai-news-page .page-shell{position:relative;margin-top:calc(-1 * var(--trend-sheet-overlap));border-radius:var(--trend-sheet-radius) var(--trend-sheet-radius) 0 0;background:var(--bg);box-shadow:0 -6px 14px -4px rgb(0 0 0 / .14)}
  body.mobile-design .dashboard-main{box-shadow:0 -6px 14px -4px rgb(0 0 0 / .14)}
  body.mobile-design:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)) .app-mobile-services{box-shadow:0 4px 16px rgb(0 0 0 / .12)}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav:has(.app-account-menu:not([hidden])){z-index:70}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .mobile-pull-refresh{top:calc(100% - var(--trend-sheet-overlap))}
  body.mobile-design .dashboard-main>.market-overview,body.mobile-design.ai-news-page :is(.my-news,.news-board){box-shadow:none;outline:1px solid rgb(228 229 228);outline-offset:0}
  body.mobile-design.ai-news-page :is(.my-news,.news-board){border-radius:24px}
  body.mobile-design.ai-news-page .my-news{margin-bottom:var(--overview-gap)}
  /* The inbox menu follows the approved Trend strip, with three equal tabs. */
  body.mobile-design.ai-news-page .news-tabs{padding:0 12px;border-bottom-color:rgb(219 220 219);box-shadow:none}
  body.mobile-design.ai-news-page .news-tabs button{min-height:60px;padding-top:2px;padding-bottom:2px;font-size:16px!important;font-weight:700}
  body.mobile-design.ai-news-page .news-tabs button[aria-selected="true"]{color:rgb(0 0 0)}
  body.mobile-design.ai-news-page #settings{padding-top:29px}
  body.mobile-design :is(#marketOverviewTitle,#myNewsHeading){font-size:18px;font-weight:700;line-height:1.5;letter-spacing:-.02em}
  body.mobile-design .dashboard-main .market-overview :is(#marketOverviewTitle,#marketOverviewToggle){transform:none}
  body.mobile-design :is(#marketOverviewToggle,#myNewsToggle)::before{box-shadow:inset 0 1px 3px rgb(0 0 0 / .16)}
  body.mobile-design :is(#marketOverviewToggle,#myNewsToggle)[aria-checked="false"]::before{background:var(--bg)}
  body.mobile-design :is(.market-overview .kpi-panel,#myNewsBody){border-top-color:rgb(219 220 219)}
  body.mobile-design :is(.market-overview .kpi-panel .kpis,.my-news-kpis){grid-template-rows:repeat(2,auto)}
  body.mobile-design :is(.market-overview .kpi-panel .kpis,.my-news-kpis) article{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;grid-row:auto;gap:2px;min-height:96px;padding:12px 12px 12px 20px;border-color:rgb(219 220 219);text-align:left}
  body.mobile-design :is(.market-overview .kpi-panel .kpi-label,.market-overview .kpi-panel .kpi-context,.my-news-kpis article span,.my-news-kpis article small){align-self:auto;min-height:0;margin:0;color:rgb(26 26 26);font-size:12px;font-weight:500;line-height:1.45;text-align:left}
  body.mobile-design :is(.market-overview .kpi-panel .kpi-context,.my-news-kpis article small){color:rgb(116 116 116)}
  body.mobile-design :is(.market-overview .kpi-panel .kpi-value,.my-news-kpis article strong){margin:0;color:rgb(0 0 0);font-size:18px;font-weight:600;line-height:1.35;text-align:left}
}
@keyframes mobile-pull-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body.mobile-design .mobile-pull-refresh-content,body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page) .app-shell-nav::before{transition:none}body.mobile-design.is-refreshing .mobile-pull-refresh::before{animation:none}}
@media(max-width:360px){.app-install-banner p{font-size:11px}.app-install-banner button{min-width:64px;padding-inline:6px}}
@media(max-width:560px){
  body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail)>.trending-detail-head{min-height:44px;padding-block:0;border-radius:0}
  body.mobile-design :is(#keywordDetail,#brandDetail,#diagnosisDetail,#promotionDetail)>.detail-body-card{min-height:calc(100dvh - 44px);border-radius:0}
}
/* Preserve the existing keyword design outside the phone breakpoint. */
@media(min-width:561px){
/* One outer content edge and section gap for keyword detail. */
body.mobile-design #keywordDetail{background:rgb(222 222 222)!important;scrollbar-width:none;scrollbar-gutter:auto}
body.mobile-design #keywordDetail::-webkit-scrollbar{display:none}
body.mobile-design #keywordDetail>.detail-body-card{position:relative;min-height:0;margin:12px 12px 30px;padding-top:56px;padding-inline:18px;border:0;outline:1px solid rgb(215 215 215);outline-offset:0;border-radius:24px;background:#fff;box-shadow:none;isolation:isolate}
body.mobile-design #keywordDetail .keyword-detail-asof{position:absolute;top:14px;right:18px;left:18px;margin:0;text-align:right;font-size:12px;font-weight:500;line-height:1.5;color:#8a8a8a}
body.mobile-design #keywordDetail #keywordDetailContent{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:0}
body.mobile-design #keywordDetail #keywordDetailContent :is(.keyword-metric-section,.trending-chart,.trending-related-block,.trending-post-block){min-width:0;margin:0}
body.mobile-design #keywordDetail #keywordDetailContent .trending-related-block{margin-top:-10px}
body.mobile-design #keywordDetail .keyword-trend-section{display:grid;gap:8px;min-width:0}
body.mobile-design #keywordDetail .keyword-trend-card{display:grid;gap:0;min-width:0;margin-inline:-18px;border:0;border-radius:0;background:#fff;overflow:hidden}
body.mobile-design #keywordDetail .keyword-trend-card .keyword-metric-section>.detail-metrics{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;overflow:hidden}
body.mobile-design #keywordDetail .detail-metrics>div{align-items:center;justify-content:center;gap:2px;padding-block:12px;border-color:rgb(237 238 237);text-align:center}
body.mobile-design #keywordDetail .detail-metrics .metric-value-slot{flex:0 0 auto;justify-content:center}
body.mobile-design #keywordDetail .keyword-trend-card #keywordChart{width:auto;margin:-8px 0 12px}
body.mobile-design #keywordDetail .keyword-trend-card #keywordChart .chart-frame{border:0;border-bottom:1px solid var(--line)}
body.mobile-design #keywordDetail #keywordChart .chart-date-band span:first-child{margin-left:6px}
body.mobile-design #keywordDetail #keywordChart .chart-date-band span:last-child{margin-right:6px}
body.mobile-design #keywordDetail #keywordChart .chart-date-band .chart-date-middle{transform:translate(-50%,-50%)}
body.mobile-design #keywordDetail #keywordChart .keyword-chart-legend{pointer-events:none}
body.mobile-design #keywordDetail #keywordChart .keyword-chart-legend circle{stroke:none}
body.mobile-design #keywordDetail #keywordChart .keyword-chart-legend circle.current{fill:var(--keyword-chart-current,#6c9d8b)}
body.mobile-design #keywordDetail #keywordChart .keyword-chart-legend circle.previous{fill:var(--keyword-chart-previous,#e8b48f)}
body.mobile-design #keywordDetail #keywordChart .keyword-chart-legend text{font-size:12px;font-weight:500;fill:var(--keyword-meta-ink,#1a1a1a)}
body.mobile-design #keywordDetail #keywordChart .chart-grid line{stroke:rgb(237 238 237)}
body.mobile-design #keywordDetail #keywordChart :is(.chart-section-title,.chart-section-help){display:none}
body.mobile-design #keywordDetail #keywordChart :is(.chart-section-title,.chart-section-help),
body.mobile-design #keywordDetail #keywordDetailContent :is(.trending-related-block,.trending-post-block)>span{margin-inline:0}
/* Related terms keep separate badge, flexible name, and count columns. */
#keywordDetail #keywordRelated>button[data-related-name]:disabled{opacity:1;cursor:default;pointer-events:none;border-color:var(--line);background:var(--panel);color:var(--ink);box-shadow:none;-webkit-tap-highlight-color:transparent}
body.mobile-design #keywordDetail #keywordRelated>button{padding-inline:12px;border-radius:10px;border-color:var(--line);background:#fff;box-shadow:none;-webkit-tap-highlight-color:transparent}
body.mobile-design #keywordDetail #keywordRelated>button:not(:disabled):active{border-color:var(--brand-primary);background:var(--soft)}
body.mobile-design #keywordDetail #keywordRelated>button[data-related-name]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:8px;text-align:left}
body.mobile-design #keywordDetail #keywordRelated button[data-related-name]>strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
body.mobile-design #keywordDetail #keywordRelated button[data-related-name]>b{justify-self:end;margin:0;white-space:nowrap;text-align:right;letter-spacing:-.3px}
body.mobile-design #keywordDetail #keywordRelated .related-type{display:grid;place-items:center;padding:0}
body.mobile-design #keywordDetail #keywordRelated .related-type-ink{display:block;line-height:1;transform:translate(.5px,0)}
/* Related post titles and metadata share an edge beside a centered suggestion button. */
body.mobile-design #keywordDetail .keyword-ticket-divider{position:relative;height:1px;margin:14px -18px 34px;pointer-events:none}
body.mobile-design #keywordDetail .keyword-ticket-divider>i{position:relative;display:block;height:1px;margin:0 11px;background:repeating-linear-gradient(90deg,rgb(215 215 215) 0 6px,transparent 6px 10px)}
body.mobile-design #keywordDetail .keyword-ticket-divider::before,
body.mobile-design #keywordDetail .keyword-ticket-divider::after{content:"";position:absolute;top:-11.5px;box-sizing:border-box;width:12px;height:24px;border:1px solid rgb(215 215 215);background:rgb(222 222 222)}
body.mobile-design #keywordDetail .keyword-ticket-divider::before{left:-1px;border-left:0;border-radius:0 12px 12px 0}
body.mobile-design #keywordDetail .keyword-ticket-divider::after{right:-1px;border-right:0;border-radius:12px 0 0 12px}
body.mobile-design #keywordDetail .trending-posts-frame{border-color:var(--line)}
body.mobile-design #keywordDetail #keywordPostsList .trend-post-row{padding:14px 0;align-items:center;border-color:rgb(237 238 237)}
body.mobile-design #keywordDetail #keywordPostsList .trend-post-row:last-child{border-bottom-color:var(--line)}
body.mobile-design #keywordDetail #keywordPostsList .trend-post-row.has-suggestion{column-gap:16px}
body.mobile-design #keywordDetail #keywordPostsList .trend-post-main{gap:0;text-align:left}
body.mobile-design #keywordDetail #keywordPostsList .trend-post-meta{margin:0;color:#5c6b63;font-weight:600!important;line-height:25.6px}
body.mobile-design #keywordDetail #keywordPostsList .keyword-post-suggestion{align-self:center;border-color:rgb(223 229 225);color:rgb(0 0 0)}
/* Keyword detail type roles; post preview and the other boards keep their existing styles. */
body.mobile-design #keywordDetail{--keyword-meta-ink:#1a1a1a;--line:rgb(219 220 219)}
body.mobile-design #keywordDetail #keywordTitle{font-size:20px;font-weight:800}
body.mobile-design #keywordDetail #keywordDetailBadge{font-size:12px;font-weight:500;color:var(--keyword-meta-ink)}
body.mobile-design #keywordDetail :is(.chart-section-title,.trending-related-block>span,.trending-post-block>span){font-size:18px!important;font-weight:700!important;color:var(--ink)}
body.mobile-design #keywordDetail :is(#keywordTrendHeading,#keywordPostsHeading){display:block;position:static;width:auto;margin:0;line-height:1.4}
body.mobile-design #keywordDetail :is(.keyword-trend-heading-row,.keyword-post-heading-row){display:flex;align-items:center;justify-content:space-between;gap:8px}
body.mobile-design #keywordDetail .keyword-trend-heading-row{transform:translateY(3px)}
body.mobile-design #keywordDetail .keyword-post-heading-row{margin-bottom:10px;transform:translateY(3px)}
body.mobile-design #keywordDetail .keyword-trend-heading-row #keywordTrendHeading{min-width:0;white-space:nowrap}
body.mobile-design #keywordDetail .keyword-post-heading-row #keywordPostsHeading{display:inline-flex;align-items:baseline;gap:4px;flex:0 0 auto;text-align:left;white-space:nowrap}
body.mobile-design #keywordDetail #keywordPostsCount{font-size:12px;font-weight:500;color:rgb(138 138 138);white-space:nowrap}
body.mobile-design #keywordDetail #keywordPostsCount:is(:empty,[hidden]){display:none}
body.mobile-design #keywordDetail :is(#keywordTrendPeriods,#keywordPostsPeriods){position:static;display:grid;flex:0 0 140px;width:140px;height:44px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0;border:0;background:transparent;padding:0}
body.mobile-design #keywordDetail #keywordPostsPeriods{flex-shrink:1;min-width:0}
body.mobile-design #keywordDetail :is(#keywordTrendPeriods,#keywordPostsPeriods) button{position:relative;display:grid;place-items:center;width:100%;min-width:0;min-height:44px;border:0;background:transparent;padding:0;color:var(--muted);line-height:1.35}
body.mobile-design #keywordDetail :is(#keywordTrendPeriods,#keywordPostsPeriods) :is(button,.period-paint,.control-ink){font-size:14px!important;font-weight:600!important}
body.mobile-design #keywordDetail :is(#keywordTrendPeriods,#keywordPostsPeriods) .period-paint{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:28px;border:1px solid rgb(242 243 242);border-radius:999px;background:rgb(245 246 245);padding:0 4px;white-space:nowrap}
body.mobile-design #keywordDetail :is(#keywordTrendPeriods,#keywordPostsPeriods) .control-ink{flex-shrink:0}
body.mobile-design #keywordDetail :is(#keywordTrendPeriods,#keywordPostsPeriods) button[aria-pressed="true"]>.period-paint{background:var(--ui-apricot);border-color:rgb(243 172 147);color:#fff}
body.mobile-design #keywordDetail :is(#keywordTrendPeriods,#keywordPostsPeriods) button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
@media(max-width:360px){
  body.mobile-design #keywordDetail .keyword-post-heading-row{flex-wrap:wrap}
  body.mobile-design #keywordDetail .keyword-post-heading-row #keywordPostsPeriods{margin-left:auto}
}
body.mobile-design #keywordDetail .metric-value-slot strong{font-size:18px!important;font-weight:600!important;color:var(--ink)}
body.mobile-design #keywordDetail #keywordPostsList .trend-post-main strong{font-size:16px!important;font-weight:600;color:var(--ink);line-height:1.6}
body.mobile-design #keywordDetail #keywordRelated button[data-related-name] :is(strong,b){font-size:14px!important;font-weight:700;color:var(--ink)}
body.mobile-design #keywordDetail #keywordRelated .related-type{font-size:12px!important;font-weight:700;line-height:1;color:var(--keyword-meta-ink)}
body.mobile-design #keywordDetail #keywordRelated button[data-related-type="keyword"] .related-type{background:rgb(232 242 237);color:rgb(49 92 77);border-color:rgb(229 239 234)}
body.mobile-design #keywordDetail #keywordRelated button[data-related-type="brand"] .related-type{background:rgb(255 241 234);color:rgb(163 91 55);border-color:rgb(252 238 231)}
body.mobile-design #keywordDetail #keywordRelated .detail-related-toggle{font-size:14px!important;font-weight:800;color:var(--ink)}
body.mobile-design #keywordDetail #keywordDetailSummary{font-size:14px;font-weight:500;color:var(--ink)}
body.mobile-design #keywordDetail :is(#keywordDetailMeta,.detail-metrics>div>span,#keywordInstitutionsNote,.chart-section-help,.chart-grid text,.chart-date,.chart-date-band span,.chart-max-label,.chart-period,.chart-period-refresh,.trend-post-meta,.detail-inline-state,.trending-posts-status),
body.mobile-design #keywordDetail #keywordDetailPrimaryError>span{font-size:12px!important;font-weight:500!important;color:var(--keyword-meta-ink)}
body.mobile-design #keywordDetail :is(.chart-grid text,.chart-date,.chart-max-label,.chart-period){fill:var(--keyword-meta-ink)!important}
body.mobile-design #keywordDetail #keywordChart .chart-detail-period :is(button,.period-paint,.control-ink){font-size:14px!important;font-weight:600!important}
body.mobile-design #keywordDetail #keywordChart .chart-detail-period button{color:var(--muted)}
body.mobile-design #keywordDetail #keywordChart .chart-detail-period button:is([aria-pressed="true"],.active){color:#fff}
/* Chart touch feedback belongs to the active point, not iOS tap or lingering focus paint. */
body.mobile-design #keywordChart .chart-viewport,body.mobile-design #keywordChart .chart-viewport *{-webkit-tap-highlight-color:transparent}
body.mobile-design #keywordChart .chart-point-control:not(.is-selected) .chart-selected-point{visibility:hidden}
body.mobile-design #keywordDetail .trend-post-pagination :is(button,span){font-size:12px!important;font-weight:500;color:var(--keyword-meta-ink)}
body.mobile-design #keywordDetail .trend-post-pagination button{border-color:var(--line)}
body.mobile-design #keywordDetail .trend-post-pagination button:disabled{opacity:1}
body.mobile-design #keywordDetail .trend-post-pagination button:disabled>.control-label{opacity:.45}
/* Related posts show a background only while a pointer is held down. */
body.mobile-design #keywordDetail #keywordPostsList :is(.trend-post-row,.trend-post-row:hover,.trend-post-row:focus-within){background:#fff}
body.mobile-design #keywordDetail #keywordPostsList .trend-post-row.is-pressed{background:#f1f1f1}
body.mobile-design #keywordDetail #keywordPostsList button.trend-post-main{display:flex;align-items:stretch;appearance:none;width:100%;border:0;border-radius:0;background:transparent;padding:0;color:inherit;text-align:left;font:inherit;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
body.mobile-design #keywordDetail #keywordPostsList .trend-post-main.is-read strong{color:#777777}
body.mobile-design #keywordDetail #keywordPostsList .trend-post-main:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){body.mobile-design :is(#marketOverviewToggle,#myNewsToggle)::before,body.mobile-design :is(#marketOverviewToggle,#myNewsToggle)::after{transition:none}}

/* One edge-aligned interaction line across user controls. The state-only priority
   overrides legacy page rings without changing control geometry or forced colors. */
@media(forced-colors:none){
  body.mobile-design{--control-hover-border:var(--brand-primary);--control-focus-line:var(--brand-primary);--control-focus-shadow:none}
  body.mobile-design :is(button,summary,[role="button"],[role="tab"],input[type="button"],input[type="submit"],input[type="reset"],.app-shell-nav a,.app-mobile-services a,a.skip-link,a[data-link],a.button,a.optical-control,.neighbor-own-heading>a,.news-post-suggestion,#newsPreviewOriginal,.summary-card .button-row>a,.brand-distributor-row a,#brandCandidateContent .trend-post-row>a):not(:disabled):not([aria-disabled="true"]):is(:active,:focus-visible){outline:1px solid var(--brand-primary)!important;outline-offset:-1px!important;box-shadow:none!important}
  html[data-control-input="pointer"] body.mobile-design :is(button,summary,[role="button"],[role="tab"],input[type="button"],input[type="submit"],input[type="reset"],.app-shell-nav a,.app-mobile-services a,a.skip-link,a[data-link],a.button,a.optical-control,.neighbor-own-heading>a,.news-post-suggestion,#newsPreviewOriginal,.summary-card .button-row>a,.brand-distributor-row a,#brandCandidateContent .trend-post-row>a):focus:not(:active){outline:none!important}
  /* Keep the same enabled guards as the common rule so this wins during :active,
     not only after release. Keyboard focus and forced-colors keep their rings. */
  html[data-control-input="pointer"] body.mobile-design :is(#marketOverviewToggle,#myNewsToggle,.board-tabs [role="tab"],.news-tabs [role="tab"],#keywords .trending-row,#diagnosisTrends .diagnosis-row,#brands .brand-row,#promos .promotion-row,.trend-detail-design .detail-period-controls button,.neighbor-settings):not(:disabled):not([aria-disabled="true"]):is(:active,:focus){outline:none!important;box-shadow:none!important}
  /* Post rows use their gray pressed background; retain the keyboard focus line. */
  html[data-control-input="pointer"] body.mobile-design :is(#stories .news-post-main,#watchedRecommendations .news-post-main,.trend-detail-design .trend-post-main):not(:disabled):not([aria-disabled="true"]):is(:active,:focus){outline:none!important;box-shadow:none!important}
  body.mobile-design :is(input:not([type="checkbox"],[type="radio"],[type="hidden"],[type="button"],[type="submit"],[type="reset"]),select,textarea):focus{border-color:var(--control-validation-border,var(--brand-primary))!important;outline:none!important;box-shadow:none!important}
  html[data-control-input="pointer"] body.mobile-design #neighborSetupSheet .neighbor-role-option input:focus+span{outline:none}
  body.mobile-design #neighborSetupSheet .neighbor-role-option:active span{outline:1px solid var(--brand-primary);outline-offset:-1px}
}

/* Full-screen green underlay; keep the rounded gray content sheets above it. */
html:has(body.mobile-design .dashboard-main),
html:has(body.mobile-design.ai-news-page),
html:has(body.mobile-design.member-page.member-workspace:not(.member-detail-view)){background:#80ac9b}
body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page),
body.mobile-design.member-page.member-workspace:not(.member-detail-view){min-height:100dvh;background:var(--brand-primary)}
body.mobile-design .dashboard-main,
body.mobile-design.ai-news-page .page-shell,
body.mobile-design.member-page.member-workspace:not(.member-detail-view) .member-home{background:var(--bg)}

/* Keep the dock clearance inside each gray sheet, including short/loading pages. */
@media(max-width:768px){
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page,.member-workspace:not(.member-detail-view)){display:flex;flex-direction:column;min-height:100dvh;padding-bottom:0}
  body.mobile-design:is(:is([data-service-active="/dashboard"],:not([data-service-active]):has(.dashboard-main)),.ai-news-page,.member-workspace:not(.member-detail-view))>main{flex:1 0 auto;min-height:0}
  body.mobile-design.ai-news-page>#main,
  body.mobile-design.member-page.member-workspace:not(.member-detail-view)>#main,
  body.mobile-design.member-page.member-workspace:not(.member-detail-view) #app{display:flex;flex-direction:column;flex:1 0 auto;min-height:0}
  body.mobile-design.ai-news-page .page-shell{flex:1 0 auto;min-height:0;margin-bottom:0;padding-bottom:calc(185px + env(safe-area-inset-bottom,0px))}
  body.mobile-design.member-page.member-workspace:not(.member-detail-view) #app>.member-home{flex:1 0 auto;min-height:0;margin-bottom:0;padding-bottom:calc(210px + env(safe-area-inset-bottom,0px))}
  body.mobile-design .dashboard-main{padding-bottom:calc(130px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:560px){
  body.mobile-design .dashboard-main{padding-bottom:calc(126px + env(safe-area-inset-bottom,0px))}
}
