/**
 * Flamenet Messenger — retro AIM/ICQ-style instant messenger.
 */

.fnmsg-wrap {
    font-family: Tahoma, Geneva, Arial, sans-serif;
    font-size: 11px;
    color: #000000;
    max-width: 420px;
    margin: 0 0 12px 0;
}

.fnmsg-login {
    border: 1px solid #A9C4E0;
    background: #EDF1FE;
    padding: 10px;
    font-size: 12px;
}

/* ---- flash notices ---- */
.fnmsg-notice {
    padding: 5px 8px;
    margin-bottom: 8px;
    font-size: 11px;
    border: 1px solid #999999;
}
.fnmsg-notice-ok  { background: #EAF3ED; border-color: #2B804C; color: #1F5E38; }
.fnmsg-notice-err { background: #F7E9E9; border-color: #9E4040; color: #7A2E2E; }

/* ---- window chrome ---- */
.fnmsg-window {
    border: 2px solid #003E6B;
    background: #ECE9D8;
    box-shadow: 0 2px 6px rgba(0, 20, 50, 0.35);
}

.fnmsg-titlebar {
    background: #1835A0 linear-gradient(180deg, #4A66C8 0%, #1835A0 55%, #0F2470 100%);
    color: #FFFFFF;
    font-weight: bold;
    font-size: 11px;
    padding: 4px 8px;
    position: relative;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3);
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}
.fnmsg-titlebar-icon { margin-right: 3px; }
.fnmsg-titlebar-close {
    position: absolute;
    right: 5px;
    top: 2px;
    color: #FFFFFF;
    text-decoration: none;
    font-weight: bold;
    background: #C13B3B;
    border: 1px solid #FFFFFF;
    width: 15px;
    height: 15px;
    line-height: 13px;
    text-align: center;
}
.fnmsg-titlebar-close:hover { background: #E04A4A; color: #FFFFFF; }

/* ---- status bar ---- */
.fnmsg-status-bar {
    padding: 5px 8px;
    background: #DCE4F4;
    border-bottom: 1px solid #A9C4E0;
    display: flex;
    align-items: center;
    gap: 5px;
}
.fnmsg-status-bar label { font-weight: bold; }
.fnmsg-status-bar select { font-size: 11px; font-family: Tahoma, Arial, sans-serif; }

/* ---- buddy groups ---- */
.fnmsg-buddy-groups {
    background: #FFFFFF;
    border-bottom: 1px solid #A9C4E0;
    min-height: 90px;
    max-height: 320px;
    overflow-y: auto;
}
.fnmsg-group-head {
    background: #C4D9EF linear-gradient(180deg, #D5E3F4, #BBD0EC);
    font-weight: bold;
    color: #004277;
    padding: 2px 8px;
    border-top: 1px solid #A9C4E0;
}
.fnmsg-group-empty {
    padding: 4px 14px;
    color: #888888;
    font-style: italic;
}

/* ---- a buddy row ---- */
.fnmsg-buddy {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px 2px 14px;
}
.fnmsg-buddy:hover { background: #EDF1FE; }

.fnmsg-dot { font-size: 10px; line-height: 1; }
.fnmsg-dot-on   { color: #20A020; }
.fnmsg-dot-away { color: #E0902A; }
.fnmsg-dot-off  { color: #AAAAAA; }

.fnmsg-buddy-name {
    color: #0266A8;
    text-decoration: none;
    font-weight: bold;
    flex: 1 1 auto;
}
.fnmsg-buddy-name:hover { color: #FF0000; text-decoration: underline; }

.fnmsg-dot-off + .fnmsg-buddy-name { color: #888888; font-weight: normal; }

.fnmsg-unread {
    background: #CC0000;
    color: #FFFFFF;
    font-size: 9px;
    font-weight: bold;
    padding: 0 4px;
    border-radius: 7px;
}

.fnmsg-remove-form { margin: 0; }
.fnmsg-remove {
    background: none;
    border: none;
    color: #999999;
    cursor: pointer;
    font-size: 13px;
    line-height: 1;
    padding: 0 2px;
}
.fnmsg-remove:hover { color: #CC0000; }

/* ---- add-buddy bar ---- */
.fnmsg-add-bar {
    display: flex;
    gap: 5px;
    padding: 6px 8px;
    background: #DCE4F4;
}
.fnmsg-input {
    flex: 1 1 auto;
    border: 1px solid #7F9DB9;
    padding: 2px 4px;
    font-size: 11px;
    font-family: Tahoma, Arial, sans-serif;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.14);
}
.fnmsg-btn {
    background: linear-gradient(180deg, #FCFBF6 0%, #E7E3D3 52%, #D4CEB9 100%);
    border: 1px solid #87826E;
    border-radius: 2px;
    font-size: 11px;
    font-weight: bold;
    padding: 2px 12px;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}
.fnmsg-btn:hover { background: linear-gradient(180deg, #FFFFFF, #DED8C5); }

/* ---- chat window ---- */
.fnmsg-log {
    background: #FFFFFF;
    border-bottom: 1px solid #A9C4E0;
    height: 260px;
    overflow-y: auto;
    padding: 6px 8px;
}
.fnmsg-log-empty { color: #888888; font-style: italic; }

.fnmsg-line { margin-bottom: 4px; line-height: 1.4; }
.fnmsg-line-who { font-weight: bold; }
.fnmsg-line-mine   .fnmsg-line-who { color: #CC0000; }
.fnmsg-line-theirs .fnmsg-line-who { color: #1835A0; }
.fnmsg-line-body { color: #000000; }
.fnmsg-line-time { color: #AAAAAA; font-size: 9px; }

.fnmsg-send {
    display: flex;
    gap: 5px;
    padding: 6px 8px;
    background: #DCE4F4;
    align-items: stretch;
}
.fnmsg-sendbox {
    flex: 1 1 auto;
    border: 1px solid #7F9DB9;
    padding: 3px 4px;
    font-size: 11px;
    font-family: Tahoma, Arial, sans-serif;
    resize: none;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.14);
}
.fnmsg-send-btn { padding: 2px 16px; }

.fnmsg-back {
    display: inline-block;
    margin-top: 6px;
    color: #0266A8;
    text-decoration: none;
    font-size: 11px;
}
.fnmsg-back:hover { color: #FF0000; text-decoration: underline; }

/* ---- service panels (AIM / ICQ) ---- */
.fnmsg-service { border-bottom: 1px solid #A9C4E0; }
.fnmsg-service:last-child { border-bottom: none; }
.fnmsg-service-head {
    font-weight: bold;
    color: #FFFFFF;
    padding: 3px 8px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}
.fnmsg-service-aim .fnmsg-service-head {
    background: #C68A1E linear-gradient(180deg, #E0A53A, #A8730F);
}
.fnmsg-service-icq .fnmsg-service-head {
    background: #2B804C linear-gradient(180deg, #3F9963, #246B40);
}
.fnmsg-service-body { background: #FFFFFF; }
.fnmsg-service-id {
    padding: 3px 8px;
    background: #DCE4F4;
    border-bottom: 1px solid #A9C4E0;
    color: #004277;
}
.fnmsg-service-cta {
    margin: 0;
    padding: 8px 10px 2px;
    color: #444444;
}
.fnmsg-buddy-sn { color: #999999; font-weight: normal; font-size: 10px; }
.fnmsg-buddy-ext { color: #666666; font-weight: normal; flex: 1 1 auto; }
