/**
 * This theme file is applied after the operating system theme
 * It provides sane defaults for things that are very Dino-specific.
 */

@import url("conversation_details.css");

statuspage {
    opacity: 0.5;
}

window.dino-main .dino-header-right {
    background: @theme_base_color;
}

window.dino-main .dino-header-left {
    background: @insensitive_bg_color;
}

window.dino-main headerbar.dino-left label.title {
    opacity: 0;
    font-size: 0;
    color: transparent;
}

window.dino-main .dino-conversation undershoot,
window.dino-main .dino-conversation viewport /* Some themes set this */ {
    background: none;
}

@keyframes highlight {
    from { background-color: alpha(@accent_color, 0.5); }
    to { background-color: transparent; }
}

window.dino-main .dino-conversation .highlight-once {
    animation-duration: 3s;
    animation-timing-function: ease-out;
    animation-iteration-count: 1;
    animation-name: highlight;
}

window.dino-main .dino-conversation .message-box.highlight:not(.highlight-once) {
    background: @window_bg_color;
}

window.dino-main .dino-conversation .message-box {
    padding: 3px 15px 3px 15px;
}

window.dino-main .dino-conversation .has-skeleton {
    margin-top: 10px;
}

window.dino-main .dino-conversation .message-box:not(.has-skeleton) {
    padding-left: 58px;
}

window.dino-main .unread-count-notify {
    background-color: alpha(@theme_fg_color, 0.8);
    color: @theme_base_color;
    font-family: monospace;
    border-radius: 999em;
    padding: 0 .35em;
}

window.dino-main .unread-count-notify:backdrop {
    background-color: alpha(@theme_unfocused_fg_color, 0.8);
    color: @theme_unfocused_base_color;
}

window.dino-main .unread-count {
    background-color: alpha(@theme_fg_color, 0.1);
    color: @theme_fg_color;
    font-family: monospace;
    border-radius: 999em;
    padding: .2em .41em;
}

window.dino-main .unread-count:backdrop {
    background-color: alpha(@theme_unfocused_fg_color, 0.1);
    color: @theme_unfocused_fg_color;
}

/* Message */

.message-box {
    transition: background .05s ease;
}

window.dino-main .dino-conversation .message-box.edit-mode {
    background: alpha(@theme_selected_bg_color, 0.1);
}

window.dino-main .dino-conversation .message-box.edit-mode:hover {
    background: alpha(@theme_selected_bg_color, 0.12);
}

window.dino-main .dino-conversation .message-box.edit-mode frame {
    border-radius: 3px;
    padding: 0 7px;
}

window.dino-main .dino-conversation .message-box.error {
    background: alpha(@error_color, 0.1);
}

window.dino-main .dino-conversation .message-box.error:hover {
    background: alpha(@error_color, 0.12);
}

window.dino-main .dino-quote {
    border-left: 3px solid alpha(@theme_fg_color, 0.2);
    background: alpha(@theme_fg_color, 0.05);
    border-color: alpha(@theme_fg_color, 0.2);
    padding: 10px;
}

window.dino-main .dino-quote:hover {
    background: alpha(@theme_fg_color, 0.08);
}

picture.avatar {
    border-radius: 3px;
}

/* Overlay Toolbar */

.compact-card-toolbar {
    padding: 2px;
    border-radius: 6px;
    border-spacing: 0;
}

.compact-card-toolbar > * {
    margin-top: 0;
    margin-bottom: 0;
}

/* File Widget */

window.dino-main .file-box-outer,
window.dino-main .call-box-outer {
    background: @theme_base_color;
    border-radius: 8px;
    border: 1px solid var(--border-color);
}

window.dino-main .file-box,
window.dino-main .call-box {
    margin: 12px 16px 12px 12px;
}

window.dino-main .file-image-widget {
    border: 1px solid alpha(@theme_fg_color, 0.1);
    border-radius: 6px;
}

window.dino-main .file-image-widget .file-box-outer {
    color: #eee;
    background: rgba(0, 0, 0, 0.5);
}

window.dino-main .file-image-widget .file-box-outer button {
    color: #eee;
    background: transparent;
    border: none;
    box-shadow: none;
}

window.dino-main .file-image-widget .file-box-outer button:hover {
    background: rgba(100, 100, 100, 0.5);
}

.dino-main .file-image-widget picture {
    border-radius: 6px;
}

.dino-main .file-details {
    color: white;
    background: alpha(black, 0.3);
    border-radius: 5px;
    padding: 5px 10px;
}

.dino-main .circular-osd {
    background: alpha(@theme_bg_color, 0.75);
    border-radius: 100%;
}

/* Call widget */

window.dino-main .call-box-outer.incoming {
    border-color: alpha(@theme_selected_bg_color, 0.3);
}

window.dino-main .incoming-call-box {
    background: alpha(@theme_selected_bg_color, 0.1);
}

window.dino-main .multiparty-participants {
    border-top: 1px solid alpha(@theme_fg_color, 0.05);
    background: alpha(@theme_fg_color, 0.04);
}

/* Reactions */

.dino-main .reaction-grid button {
    min-height: 16px;
    min-width: 30px;
    padding: 4px;
}

.dino-main .reaction-grid button.own-reaction,
.dino-main .reaction-grid .own-reaction button {
    background-color: alpha(@accent_bg_color, 0.1);
    border: 1px solid @accent_bg_color;
    padding: 3px;
    color: @accent_color;
}

.dino-main .reaction-grid button.own-reaction:hover,
.dino-main .reaction-grid .own-reaction button:hover {
    background-color: alpha(@accent_bg_color, 0.2);
}

/* Sidebar */

window.dino-main .dino-sidebar > frame.collapsed {
    border-bottom: 1px solid @borders;
}

window.dino-main .dino-sidebar frame.auto-complete {
    background: @theme_base_color;
}

window.dino-main .dino-sidebar frame.auto-complete list > row {
    transition: none;
}

/* Sidebar tooltip */

image.dino-status-away {
    color: #ff7800;
}

image.dino-status-xa, image.dino-status-dnd {
    color: #e01b24;
}

image.dino-status-online, image.dino-status-chat {
    color: #33d17a;
}

/* Time offset warning */

.dino-main .dino-conversation .time-offset {
    background-color: var(--shade-color);
    opacity: 80%;
    padding: 12px;
    border-radius: 6px 6px 0 0;
}

/* Chat Input*/

/* These rules are direved from the libadwaita style for activateable entry rows */
window.dino-main box.dino-chatinput.activatable {
  outline: 0 solid transparent;
  outline-offset: 5px;
  transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-image 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

window.dino-main box.dino-chatinput.activatable:focus-within {
  outline-offset: -1px;
  outline-width: 2px;
  outline-color: color-mix(in srgb, var(--accent-color) 50%, transparent);
}

.dino-unread-line label {
    color: @theme_selected_bg_color;
}

.dino-unread-line separator {
    background-color: @theme_selected_bg_color;
}

window.dino-main .image-round-corners picture {
    border-radius: 8px;
}

window.dino-main .file-remove-button {
    min-height: 24px;
    min-width: 24px;
    opacity: 0;
}

window.dino-main .file-share-wrap *:hover + .file-remove-button, window.dino-main .file-remove-button:hover {
    opacity: 1;
}

/*Chat input warning*/

box.dino-input-warning frame border {
    border-color: @warning_color;
}

box.dino-input-warning frame separator {
    background-color: @warning_color;
    border: none;
}

box.dino-input-warning label {
    color: mix(@warning_color, @theme_fg_color, 0.5);
}


/*Chat input error*/

box.dino-input-error frame {
    border-color: @error_color;
}

box.dino-input-error frame separator {
    background-color: @error_color;
    border: none;
}

box.dino-input-error .chat-input-status {
    color: @error_color;
}

@keyframes input-error-highlight {
    0% { transform: translate(0,0); }
    25% { transform: translate(-10px,0); }
    75% { transform: translate(10px,0); }
    100% { transform: translate(0,0); }
}

box.dino-input-error .chat-input-status.input-status-highlight-once {
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
    animation-name: input-error-highlight;
}

/* Call window */

.dino-call-window decoration {
    border-radius: 0;
}

.dino-call-window .titlebar {
    min-height: 0;
}

.dino-call-window headerbar {
    box-shadow: none;
}

.dino-call-window .call-button {
    border-radius: 100%;
    background-color: @theme_bg_color;
}

.dino-call-window menubutton.call-mediadevice-settings-button button.toggle {
    min-width: 18px;
    min-height: 18px;
}

.dino-call-window .participant-header-bar .titles {
    background: none;
    border: none;
    border-radius: 0;
    color: #ededec;
    text-shadow: 0 0 2px black;
}

.dino-call-window .participant-header-bar {
    background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0));
    border: 0;
    border-radius: 0;
}

.dino-call-window .participant-header-bar button:hover:not(.close) {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0);
    box-shadow: none;
}

.dino-call-window .participant-header-bar button image {
    color: alpha(white, 0.7);
    -gtk-icon-shadow: none;
}

.dino-call-window .participant-header-bar button:hover image {
    color: white;
}

.dino-call-window .participant-header-bar button.unencrypted image {
    color: @error_color;
}

.dino-call-window .call-bottom-bar {
    background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.3));
    border: 0;
}

.dino-call-window {
    background-color: #212121;
}

.dino-call-window .participant-name {
    color: white;
    text-shadow: 1px 1px 2px black;
}

.dino-call-window .text-no-controls {
    color: black;
    background: white;
    border-radius: 5px;
    padding: 5px 10px;
}

.dino-call-window .own-video {
    box-shadow: 0 0 2px 0 rgba(0,0,0,0.5);
}

.qrcode-container > contents {
    background: white;  /* Color of the quiet zone. MUST have the same "reflectance" as light modules of the QR code. */
}
