/*
 * YT Timestamp Creator - Frontend Styles
 * White background | Black text | YouTube Red (#FF0000) accents
 * No dark mode | No box-shadows | Bordered How It Works cards | Red error bg
 * High-specificity overrides to defeat aggressive theme CSS resets
 */

/* ── Force light mode always ─────────────────────────────────────────────── */
#yttc-wrap { color-scheme: light !important; }

@media (prefers-color-scheme: dark) {
    #yttc-wrap,
    #yttc-wrap input,
    #yttc-wrap textarea,
    #yttc-wrap button,
    #yttc-wrap div,
    #yttc-wrap p,
    #yttc-wrap h2,
    #yttc-wrap h3,
    #yttc-wrap h4,
    #yttc-wrap span {
        color-scheme: light !important;
    }
    #yttc-wrap { background-color: #ffffff !important; color: #111111 !important; }
    #yttc-wrap #yttc-url-input,
    #yttc-wrap #yttc-result-textarea { background-color: #ffffff !important; color: #111111 !important; }
    #yttc-wrap .yttc-how-card { background-color: #ffffff !important; }
    #yttc-wrap #yttc-error-wrap { background-color: #fff0f0 !important; }
}

/* ── Wrapper ─────────────────────────────────────────────────────────────── */
#yttc-wrap {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #111111 !important;
    background-color: #ffffff !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    border: none !important;
}

#yttc-wrap *,
#yttc-wrap *::before,
#yttc-wrap *::after {
    box-sizing: border-box !important;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
#yttc-wrap #yttc-header {
    margin-bottom: 28px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

#yttc-wrap #yttc-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

#yttc-wrap #yttc-subtitle {
    font-size: 1rem !important;
    color: #444444 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

/* ── Input form ───────────────────────────────────────────────────── */

#yttc-wrap #yttc-form-wrap {
    margin-bottom: 24px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

#yttc-wrap #yttc-input-row {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: none !important;
}

#yttc-wrap #yttc-url-input {
    flex: 1 1 300px !important;
    min-width: 0 !important;
    height: 48px !important;
    padding: 0 14px !important;
    font-size: 0.95rem !important;
    font-family: inherit !important;
    color: #111111 !important;
    background-color: #ffffff !important;
    border: 1px solid #cccccc !important;
    border-radius: 4px !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color 0.15s ease !important;
    display: block !important;
}

#yttc-wrap #yttc-url-input:focus {
    border-color: #FF0000 !important;
    box-shadow: none !important;
    outline: none !important;
}

#yttc-wrap #yttc-url-input::placeholder {
    color: #aaaaaa !important;
    opacity: 1 !important;
}

/* ── Generate Timestamps button — YouTube Red ────────────────────────────── */
#yttc-wrap #yttc-submit-btn {
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    padding: 0 24px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    color: #ffffff !important;
    background-color: #FF0000 !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1 !important;
    transition: background-color 0.15s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    outline: none !important;
}

#yttc-wrap #yttc-submit-btn:hover {
    background-color: #cc0000 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

#yttc-wrap #yttc-submit-btn:active {
    background-color: #aa0000 !important;
    color: #ffffff !important;
}

#yttc-wrap #yttc-submit-btn:disabled,
#yttc-wrap #yttc-submit-btn[disabled] {
    background-color: #ff6666 !important;
    cursor: not-allowed !important;
    color: #ffffff !important;
}

#yttc-wrap #yttc-input-hint {
    font-size: 0.82rem !important;
    color: #888888 !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

/* ── Status / progress ───────────────────────────────────────────────────── */
/* NOTE: display is intentionally NOT set with !important here so that        */
/* jQuery .show()/.hide() (which use inline display:none/flex) can work.      */
#yttc-wrap #yttc-status-wrap {
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}
/* When visible (shown by JS), render as flex */
#yttc-wrap #yttc-status-wrap[style*="display: flex"],
#yttc-wrap #yttc-status-wrap[style*="display:flex"] {
    display: flex !important;
}

#yttc-wrap #yttc-spinner {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    border: 2px solid #eeeeee !important;
    border-top-color: #FF0000 !important;
    border-radius: 50% !important;
    animation: yttc-spin 0.75s linear infinite !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    background: none !important;
}

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

#yttc-wrap #yttc-status-text {
    font-size: 0.95rem !important;
    color: #444444 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

/* ── Error message — faint red background ────────────────────────────────── */
/* NOTE: display is intentionally NOT set with !important here so jQuery can  */
/* control visibility via .show()/.hide().                                    */
#yttc-wrap #yttc-error-wrap {
    background-color: #fff0f0 !important;
    border: 1px solid #ffcccc !important;
    border-radius: 4px !important;
    padding: 12px 16px !important;
    margin-bottom: 20px !important;
    box-shadow: none !important;
}

#yttc-wrap #yttc-error-text {
    font-size: 0.92rem !important;
    color: #cc0000 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

/* ── Results ────────────────────────────────────────────────────────────── */
/* NOTE: display is intentionally NOT set with !important here so jQuery can  */
/* control visibility via .show()/.hide().                                    */
#yttc-wrap #yttc-result-wrap {
    margin-bottom: 40px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

#yttc-wrap #yttc-result-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 10px !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

#yttc-wrap #yttc-result-label {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #111111 !important;
    background: none !important;
    border: none !important;
}

/* ── Copy Timestamps button — YouTube Red ────────────────────────────────── */
#yttc-wrap #yttc-copy-btn {
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 38px !important;
    padding: 0 18px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    color: #ffffff !important;
    background-color: #FF0000 !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1 !important;
    transition: background-color 0.15s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
    outline: none !important;
}

#yttc-wrap #yttc-copy-btn:hover {
    background-color: #cc0000 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

#yttc-wrap #yttc-copy-btn:active {
    background-color: #aa0000 !important;
    color: #ffffff !important;
}

#yttc-wrap #yttc-result-textarea {
    display: block !important;
    width: 100% !important;
    min-height: 180px !important;
    padding: 14px !important;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace !important;
    font-size: 0.9rem !important;
    line-height: 1.7 !important;
    color: #111111 !important;
    background-color: #ffffff !important;
    border: 1px solid #cccccc !important;
    border-radius: 4px !important;
    resize: vertical !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

#yttc-wrap #yttc-copy-confirm {
    font-size: 0.85rem !important;
    color: #FF0000 !important;
    font-weight: 600 !important;
    margin: 6px 0 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

/* ── How It Works section ────────────────────────────────────────────────── */
#yttc-wrap #yttc-how-wrap {
    border-top: 1px solid #eeeeee !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding-top: 32px !important;
    margin-top: 8px !important;
    background: none !important;
    box-shadow: none !important;
}

#yttc-wrap #yttc-how-title {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

#yttc-wrap #yttc-how-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    list-style: none !important;
}

/* ── How It Works cards — bordered, no shadow ────────────────────────────── */
#yttc-wrap .yttc-how-card {
    display: block !important;
    background-color: #ffffff !important;
    border: 1px solid #dddddd !important;
    border-radius: 6px !important;
    padding: 20px 18px !important;
    box-shadow: none !important;
    margin: 0 !important;
    float: none !important;
    position: static !important;
}

#yttc-wrap .yttc-how-num {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    border-radius: 50% !important;
    background-color: #FF0000 !important;
    color: #ffffff !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    margin-bottom: 12px !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    border: none !important;
    line-height: 1 !important;
}

#yttc-wrap .yttc-how-card-title {
    display: block !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
}

#yttc-wrap .yttc-how-card-text {
    display: block !important;
    font-size: 0.88rem !important;
    color: #555555 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.55 !important;
    background: none !important;
    border: none !important;
}

#yttc-wrap .yttc-how-card-text strong {
    color: #111111 !important;
    font-weight: 600 !important;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    #yttc-wrap #yttc-how-grid {
        grid-template-columns: 1fr !important;
    }
    #yttc-wrap #yttc-input-row {
        flex-direction: column !important;
    }
    #yttc-wrap #yttc-submit-btn {
        width: 100% !important;
    }
    #yttc-wrap #yttc-title {
        font-size: 1.4rem !important;
    }
}
