.case-embedded .j39-coach{display:none!important}html{scrollbar-width:none}::-webkit-scrollbar{display:none}.case-tap{animation:caseTap .6s ease-out}.case-filled{animation:caseFill .8s ease-out}@keyframes caseTap{50%{box-shadow:0 0 0 3px #b5b8ce88}}@keyframes caseFill{from{filter:brightness(1.12)}to{filter:brightness(1)}}.case-embedded .j13-compose-body{scrollbar-width:none}html.case-composer .j13-composer{position:fixed!important;inset:0!important;width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important;box-sizing:border-box!important}html.case-composer .j13-sheet-grabber{margin-top:14px}html.case-composer .j13-composer::backdrop{background:#191a1d}html.case-reward .j39-reward.j44-reward{position:fixed!important;inset:0!important;width:100%!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:30px 24px 24px!important;border:0!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box!important}html.case-reward .j39-reward::backdrop{background:#0b1215}
/* Compact day-note illustration: keep selected Labels beside the written thought. */
html.case-embedded .j82-day-composer .j13-compose-body textarea[data-j14-note]{height:88px!important;min-height:88px!important;flex:0 0 auto!important;margin-bottom:0!important}
html.case-embedded .j82-day-composer .j82-selected-labels{margin:8px 0 0!important}

/* Open from the control, settle, then hold still for reading. */
@media(prefers-reduced-motion:no-preference){
 .case-motion .j13-composer[open]{animation:casePanelIn .56s cubic-bezier(.16,1,.3,1) both}
 .case-motion .j20-slash:not([hidden]),.case-motion .j16-inline-labels:not([hidden]),.case-motion .j37-day-dock:not([hidden]),.case-motion .j20-plan-picker:not([hidden]){animation:caseDockIn .44s cubic-bezier(.16,1,.3,1) both}
 /* One entrance per surface; updating an existing label must not replay every chip. */
 .case-motion .j35-bottom-dock:not([hidden]){animation:none}
 .case-motion .j20-plan-picker.j27-chart-panel:not([hidden]){animation:caseChartIn .58s cubic-bezier(.16,1,.3,1) both;transform-origin:50% 85%}
 .case-motion .j19-attachment{animation:caseAttachmentIn .5s cubic-bezier(.16,1,.3,1) both}
}
@keyframes casePanelIn{from{opacity:.15;translate:0 32px}to{opacity:1;translate:0 0}}
@keyframes caseDockIn{from{opacity:0;translate:0 16px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes caseChartIn{from{opacity:.15;translate:0 18px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes caseAttachmentIn{from{opacity:.2;translate:0 10px}to{opacity:1;translate:0 0}}
/* Appended to the active dialog when one is open so it shares the top layer. */
.case-motion .case-touch{position:fixed;display:block;width:24px;height:24px;margin:-12px 0 0 -12px;border:1px solid #eee9ffad;border-radius:50%;background:#c4b5ea26;box-shadow:0 0 0 4px #e4dcff0b;opacity:0;pointer-events:none;z-index:2147483647;box-sizing:border-box}
@media(prefers-reduced-motion:reduce){.case-motion *{animation:none!important;transition:none!important}.case-motion .case-touch{display:none!important}}

.case-embedded dialog[open]{position:fixed;z-index:2000}

/* Chart demos share one content slot; tabs and trade selectors never travel with the plot. */
.case-chart-demo{overflow-anchor:none}
.case-chart-demo .j8-chart{position:relative}
.case-chart-demo .case-chart-content{display:flow-root;min-height:var(--case-chart-content-height,0px)}
.case-chart-demo .case-chart-measure{position:absolute;inset:0 0 auto;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
 .case-chart-demo .j8-bubble{transition:left .26s cubic-bezier(.22,.61,.36,1)}
 .case-chart-demo .j8-chart-tabs button,.case-chart-demo .j8-point-picker button{transition:background-color .18s,border-color .18s,color .18s}
}
