/* 
 * Vantage Simulation Models Add-in v1.0.0
 * Copyright (C) 2026 Vantage Risk. All Rights Reserved.
 *
 * v1.0.0 - Initial release - R. Hadsall 13 Feb 2026
 */

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

ul {
    margin: 0;
    padding: 0;
}

.ms-welcome__header {
    padding: 20px;
    padding-bottom: 0px;
    padding-top: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ms-welcome__header h1 {
    font-size: 20px;
    margin: 8px 0 4px 0;
}

/* Logo animation while model is running */
.ms-welcome__header img {
    transition: all 0.3s ease;
}

.ms-welcome__header img.running {
    animation: logoPulse 2s ease-in-out infinite;
    filter: drop-shadow(0 0 8px rgba(0, 120, 215, 0.4));
}

@keyframes logoPulse {
    0%, 100% {
        transform: scale(1);
        filter: drop-shadow(0 0 8px rgba(0, 120, 215, 0.2));
    }
    50% {
        transform: scale(1.05);
        filter: drop-shadow(0 0 16px rgba(0, 120, 215, 0.6));
    }
}

/* Spinner */
.spinner-container {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
}

.spinner-container.visible {
    display: flex;
}

.spinner {
    width: 40px;
    height: 40px;
    position: relative;
}

.spinner::before,
.spinner::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid transparent;
}

.spinner::before {
    border-top-color: #0078d7;
    border-right-color: #0078d7;
    animation: spinOuter 1s linear infinite;
}

.spinner::after {
    inset: 6px;
    border-bottom-color: #005a9e;
    border-left-color: #005a9e;
    animation: spinInner 0.8s linear infinite;
}

@keyframes spinOuter {
    to { transform: rotate(360deg); }
}

@keyframes spinInner {
    to { transform: rotate(-360deg); }
}

.spinner-text {
    font-size: 12px;
    color: #605e5c;
    animation: ellipsis 1.5s steps(4, end) infinite;
    min-width: 120px;
    text-align: center;
}

.spinner-text::after {
    content: '';
    animation: dots 1.5s steps(3, end) infinite;
}

@keyframes dots {
    0%   { content: ''; }
    33%  { content: '.'; }
    66%  { content: '..'; }
    100% { content: '...'; }
}

.ms-welcome__main {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    flex: 1 0 0;
    padding: 10px 20px;
}

.ms-welcome__main > h2 {
    width: 100%;
    text-align: center;
}

.ms-welcome__features {
    list-style-type: none;
    margin-top: 20px;
}

.ms-welcome__features.ms-List .ms-ListItem {
    padding-bottom: 20px;
    display: flex;
}

.ms-welcome__features.ms-List .ms-ListItem > .ms-Icon {
    margin-right: 10px;
}

.ms-welcome__action.ms-Button--hero {
    margin-top: 30px;
}

.ms-Button.ms-Button--hero .ms-Button-label {
    color: #0078d7;
}

.ms-Button.ms-Button--hero:hover .ms-Button-label,
.ms-Button.ms-Button--hero:focus .ms-Button-label {
    color: #005a9e;
    cursor: pointer;
}

b {
    font-weight: bold;
}