.lega-assistant { --bs-offcanvas-width: min(48rem, 90vw); --phoenix-offcanvas-width: min(48rem, 90vw); width: min(48rem, 90vw) !important; background: var(--phoenix-body-bg); }
.lega-code { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 20rem; overflow: auto; padding: 1rem; border-radius: .5rem; background: var(--phoenix-tertiary-bg); color: var(--phoenix-body-color); }
.lega-change { border: 1px solid var(--phoenix-border-color); border-radius: .5rem; padding: 1rem; margin-top: .75rem; }
.lega-values { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.lega-values pre { min-width: 0; margin: 0; }
.lega-changed { outline: 2px solid var(--phoenix-primary); outline-offset: 2px; }
@media (max-width: 767.98px) { .lega-assistant { width: 100vw !important; } .lega-values { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .lega-assistant { transition: none !important; } }

.submission-tools { position: fixed; right: 1rem; bottom: calc(5rem + env(safe-area-inset-bottom)); z-index: 1030; }
.lega-launcher { display: flex; align-items: center; gap: .5rem; padding: .4rem .85rem .4rem .4rem; background: var(--phoenix-body-bg); color: var(--phoenix-body-color); border: 1px solid var(--phoenix-border-color); box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.18); }
.lega-launcher:hover, .lega-launcher:focus-visible { background: var(--phoenix-tertiary-bg); color: var(--phoenix-body-color); border-color: var(--phoenix-primary); }
.lega-logo { object-fit: contain; flex-shrink: 0; }
@media (max-width: 575.98px) { .submission-tools { bottom: calc(10rem + env(safe-area-inset-bottom)); } .lega-launcher { padding: .4rem; } .lega-launcher-label { display: none; } }

/* Stack the launchers above the wrapped mobile action bar. */
@media (max-width: 575.98px) { body .vilvik-feedback-launcher-wrapper { bottom: calc(7rem + env(safe-area-inset-bottom)); } .submission-tools { bottom: calc(10.5rem + env(safe-area-inset-bottom)); } }

.submission-tools[hidden] { display: none; }
.lega-dismiss { position: absolute; top: -.5rem; right: -.5rem; width: 1.25rem; height: 1.25rem; display: inline-flex; align-items: center; justify-content: center; padding: 0; border-radius: 50%; border: 1px solid var(--phoenix-border-color); background: var(--phoenix-body-bg); color: var(--phoenix-body-color); box-shadow: 0 .25rem .5rem rgba(0,0,0,.18); font-size: .85rem; line-height: 1; cursor: pointer; opacity: 0; visibility: hidden; }
.lega-dismiss:hover { background: var(--phoenix-body-emphasis-bg); }

.lega-chat-body { display: flex; flex-direction: column; overflow: hidden; padding: 0; min-height: 0; position: relative; }
.lega-assistant .offcanvas-header { flex-shrink: 0; }
.lega-availability { margin: .65rem 1rem 0; padding: .4rem .75rem; flex-shrink: 0; font-size: .85rem; }
.lega-conversation { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1rem; scroll-padding-block: 1rem; }
.lega-chat-welcome { text-align: center; padding: 2rem .5rem; }
.lega-chat-welcome img { margin-bottom: 1rem; }
.lega-chat-welcome .lega-motion { margin: 0 auto 1rem; }
.lega-message { max-width: 95%; margin: 0 0 1rem; padding: .85rem 1rem; border: 1px solid var(--phoenix-border-color); border-radius: 1rem; background: var(--phoenix-body-bg); overflow-wrap: anywhere; }
.lega-message-user { margin-left: auto; background: var(--phoenix-primary-bg-subtle); border-color: var(--phoenix-primary-border-subtle); }
.lega-message-header { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: .5rem; }
.lega-message-text { white-space: pre-wrap; margin: 0; }
.lega-message-copy { padding: .15rem .4rem; font-size: .75rem; }
.lega-composer { flex-shrink: 0; padding: .75rem 1rem max(.75rem, env(safe-area-inset-bottom)); border-top: 1px solid var(--phoenix-border-color); background: var(--phoenix-body-bg); }
.lega-composer textarea { min-height: 3.5rem; max-height: min(12rem, 28dvh); resize: none; overflow-y: auto; }
.lega-latest { position: absolute; bottom: 10rem; align-self: center; box-shadow: var(--phoenix-box-shadow); z-index: 1; }
.lega-proposal-details > summary { cursor: pointer; color: var(--phoenix-primary-text-emphasis); padding: .5rem 0; }
.lega-message .lega-code { max-height: 16rem; }
@media (max-width: 575.98px) { .lega-message { max-width: 100%; padding: .75rem; } .lega-conversation { padding: .75rem; } .lega-composer { padding-inline: .75rem; } }

.lega-message section { padding: 0; }
.lega-message [hidden] { display: none !important; }

/* Chromo logo motion lives in lega_motion.css, generated from internal-docs/build_lega_chromo_motion_options.py. */
.lega-message-identity { display: inline-flex; align-items: center; gap: .5rem; }
.lega-message-pending .lega-message-header { margin-bottom: 0; }
.lega-message-pending .lega-motion { width: 48px; height: 48px; }
