/* Quiet pressed-in edges, clear labels. No texture is applied to the text. */
:root{--cta-recess:inset 0 2px 3px #00000024,inset 0 -1px 1px #ffffff80;--cta-press:inset 0 3px 5px #0000003d,inset 0 -1px 1px #ffffff55}
:root[data-theme=night],.alfred-demo-page{--cta-recess:inset 0 2px 3px #00000033,inset 0 -1px 1px #ffffff24;--cta-press:inset 0 3px 6px #00000080,inset 0 -1px 1px #ffffff1f}
html body :is(.button.button.button,.alfred-controls button,.alfred-human-action,.alfred-chat-actions button,.goal-actions button){border-radius:16px;box-shadow:var(--cta-recess);text-align:center;text-shadow:none;min-height:48px;transition:box-shadow .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease;transform:none}
html body :is(.button.lime,.alfred-chat-actions [data-chat-send]){box-shadow:inset 0 2px 3px #1b29002b,inset 0 -1px 1px #ffffff8c}
html body .coast-copy .button.button.button,html body .nav-cta.nav-cta.nav-cta{border-radius:999px}
html .plan-page .intake-entry .entry-path{border-radius:18px;box-shadow:var(--cta-recess);transition:box-shadow .16s ease,border-color .16s ease;transform:none}
html .plan-page .intake-entry .entry-text{box-shadow:inset 0 2px 5px #0009,inset 0 -1px 1px #ffffff24}
html .plan-page .intake-entry .entry-guided{border:1px solid var(--line);margin-top:12px;background:var(--bone)}
html .entry-arrow{border-radius:10px}
html .entry-text .entry-arrow{box-shadow:inset 0 2px 3px #1b290030,inset 0 -1px 1px #ffffff8c}
html .plan-page .goal-actions button:not(.lime){border:1px solid var(--line);background:var(--bone);padding-inline:16px}
html body :is(.button.button.button,.alfred-controls button,.alfred-human-action,.alfred-chat-actions button,.goal-actions button,.entry-path):focus-visible{outline:3px solid var(--ink,#f6f4ef);outline-offset:4px}
@media(hover:hover) and (pointer:fine){html body :is(.button.button.button,.alfred-controls button,.alfred-human-action,.alfred-chat-actions button,.goal-actions button,.entry-path):hover:not(:disabled){box-shadow:var(--cta-press);transform:none}html .plan-page .intake-entry .entry-path:hover{border-color:var(--ink)}html .plan-page .intake-entry .entry-text:hover{border-color:#a4aa9b}}
html body :is(.button.button.button,.alfred-controls button,.alfred-human-action,.alfred-chat-actions button,.goal-actions button,.entry-path):active:not(:disabled){box-shadow:var(--cta-press);transform:translateY(1px)}
html body :is(button:disabled,.button[aria-disabled=true]){cursor:default}
@media(prefers-reduced-motion:reduce){html body :is(.button.button.button,.alfred-controls button,.alfred-human-action,.alfred-chat-actions button,.goal-actions button,.entry-path){transition:none!important;transform:none!important}}
@media(forced-colors:active){html body :is(.button.button.button,.alfred-controls button,.alfred-human-action,.alfred-chat-actions button,.goal-actions button,.entry-path){border:1px solid ButtonText;box-shadow:none}}

html .plan-page .intake-entry .entry-text:active{box-shadow:inset 0 4px 6px #000c,inset 0 -1px 1px #ffffff24}
/* Override legacy hover inversions so touch cannot leave a sticky hover shade. */
html body [data-cta-ready]{background-color:var(--cta-rest-bg)!important;color:var(--cta-rest-ink)!important;filter:none!important}
@media(hover:hover) and (pointer:fine){html body [data-cta-ready]:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--cta-shade)!important}}
html body [data-cta-ready][data-cta-press]:not(:disabled){background-color:var(--cta-shade)!important;box-shadow:var(--cta-press)!important;transition:none!important}
@media(forced-colors:active){html body [data-cta-ready][data-cta-press]{background-color:Highlight!important;color:HighlightText!important}}

html body [data-cta-measuring]{transition:none!important}

/* Semantic lime CTAs retain a dark foreground, including inherited child labels. */
html body .alfred-human-action,html body .alfred-human-action *,html body [data-chat-send],html body [data-chat-send] *{color:#0b0b0d!important}
html body [data-cta-ready]:hover:not(:disabled),html body [data-cta-ready][data-cta-press]:not(:disabled){color:var(--cta-shade-ink,var(--cta-rest-ink))!important}
@media(forced-colors:active){html body [data-cta-ready]{color:ButtonText!important}html body [data-cta-ready][data-cta-press]{color:HighlightText!important}}

/* Disabled checkout stays muted but legible in both themes. */
html body .checkout-gate .button:disabled{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line);opacity:.75}
/* Tabs use the same foreground as their parent when its hover fill changes. */
html body .artifact-tab:hover span{color:inherit!important}
html body .artifact-tab span,html body .decision-tabs button span{color:inherit!important}
html body .deliverable-tabs button[aria-selected=true],html body .deliverable-tabs button[aria-selected=true]:hover{background:#0b0b0d!important;color:#f6f4ef!important}
html body .deliverable-tabs button[aria-selected=true] :is(span,strong,small){color:inherit!important}
/* Solid tab surfaces keep Night labels readable over translucent galleries. */
html[data-theme=night] body .artifact-tab,html[data-skin-theme=night] body .artifact-tab{background:#1e2124;color:#f6f4ef!important}
html body .artifact-tab:hover,html body .artifact-tab:focus-visible,html body .decision-tabs button:hover:not([aria-selected=true]){background:#d9ff57!important;color:#0b0b0d!important}
/* Branded lime surfaces stay dark-on-lime in either theme. */
html body .cta-section,html body .cta-section :is(h2,p,.eyebrow),html body .preview-lime,html body .preview-lime :is(strong,small){color:#0b0b0d!important}
/* Quote attribution follows the quote's theme-aware foreground. */
html body .case-quote span{color:inherit;opacity:.75}
