@font-face {
    font-family: Thiccboi;
    src: url(fonts/THICCCBOI-Thin.ttf);
    font-weight: 200;
}
@font-face {
    font-family: Thiccboi;
    src: url(fonts/THICCCBOI-Light.ttf);
    font-weight: 300;
}
@font-face {
    font-family: Thiccboi;
    src: url(fonts/THICCCBOI-Regular.ttf);
    font-weight: 400;
}
@font-face {
    font-family: Thiccboi;
    src: url(fonts/THICCCBOI-SemiBold.ttf);
    font-weight: 500;
}
@font-face {
    font-family: Thiccboi;
    src: url(fonts/THICCCBOI-Bold.ttf);
    font-weight: 600;
}
h1, h2, h3, h4, h5, h6 {
    font-size:1.75em;
    margin:0;
    padding:0;
    font-family: Thiccboi, Arial, Helvetica, sans-serif;
    font-weight:normal;
}
h3 { 
    font-weight:500;
}
h4 {
    font-size: 18px;
    font-weight: 500;
}
h5 {
    font-size: 1em;
    font-weight:300;
}
h6 { 
    font-size: 1em;
    font-weight:200; }



html, body {
    font-family: Thiccboi, Arial, Helvetica, sans-serif;
    width: 100%;
    height: 100%;
    margin: 0;
    background-color: #FFFFFF;
    box-sizing: border-box;
}

/* Small / Large screen toggle */

@media (max-width: 841px) {
    .large-only {
        display: none;
    }
}

@media (min-width: 841px) {
    .small-only {
        display: none;
    }
}

/* Default styles */

/*
 * Telerik popups (dropdowns, etc.) are rendered into a .k-animation-container
 * somewhere under <article>, which is position: relative (needed for the
 * LockedPreview overlay). That makes <article> the offset parent, so the popup's
 * absolute viewport coordinates are shifted by <article>'s offset and the popup
 * renders detached from its anchor. Forcing these popups to fixed positioning
 * makes Telerik's viewport coordinates resolve correctly so the popup anchors to
 * its field. Use a descendant selector (not a direct-child one) so it also covers
 * pages whose layout nests the popup deeper (e.g. the account page via ManageLayout).
 */
article .k-animation-container {
    position: fixed;
}

.assisto-row{
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.user-content-page{
    width: 100%;
    height: 100%;
    max-width: 100%;
    overflow: auto;
    margin-bottom: 5rem;
}

.user-content-page.large{
    overflow: hidden;
}

.user-content-page-container{
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: 100%;
    width: 100%;
}

@media (min-width: 841px){
    .user-content-page-container{
        padding: 4rem 4rem 2rem 4rem;
    }
}

.manage-header{
    display: flex;
    flex-direction: row;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
}

.form-floating{
    width: 100%;
    max-width: 100%;
    margin-bottom: 1rem;
}

.account button, .account-message button {
    text-transform: uppercase;
}

button{
    border: none;
    background: none;
}

.account-message{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

*:focus-visible{
    outline: 1px solid var(--assisto-primary);
}

.k-picker-outline:focus-visible{
    outline: none;
}

/* disable chrome default blue highlight on filled input texts */
/* https://stackoverflow.com/a/46829178 */ 
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
}

/* Custom styles */

.plan-selection-dialog, .pack-selection-dialog{
    min-width: 80%;
    width: fit-content;
    height: fit-content;
    user-select: none;
}

.plan-selection-dialog .dialog-body,
.pack-selection-dialog .dialog-body{
    height: 100%;
}

/*.lock{
    backdrop-filter: blur(1px);
}

.blocked {
    filter: blur(1px);
}*/

/* Overrides */

a, 
a:focus, 
a:hover, 
a:active,
.btn-link{
    color: var(--assisto-primary);
}

a:focus,
a:hover,
a:active {
}

.btn-primary,
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    color: #fff;
    background-color: var(--assisto-primary);
    border-color: var(--assisto-primary);
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    filter: brightness(115%);
}

.form-control:focus,
.k-picker-outline:focus{
    border-color: var(--assisto-primary-focus-border);
}

.k-list-item.k-selected,
.k-selected.k-list-optionlabel,
.k-selected.k-list-optionlabel:hover
{
    color: var(--assisto-primary);
}

.form-check-input:checked{
    background-color:var(--assisto-primary);
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 .25rem var(--assisto-primary-focus-border);
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid var(--assisto-primary);
}

/*.invalid {
    outline: 1px solid var(--assisto-error-border);
}*/

.validation-message {
    color: var(--assisto-error);
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, var(--assisto-error-border);
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "An error has occurred."
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.alert-danger{
    background-color: var(--assisto-error-bg);
    border-color: var(--assisto-error);
}

.text-danger{
    margin: .5rem 0 .25rem 0;
    color: var(--assisto-error);
}

.invalid{
    border-color: var(--assisto-error-border);
}

.k-textbox > input{
    background-color: white;
}

.account form button{
    text-transform: uppercase;
}

/* Colors */

* {
    --assisto-bg: #eeeeee;
    --assisto-primary: #0ba292;
    --assisto-primary-focus: #0B8F81;
    --assisto-primary-filter: brightness(0) saturate(100%) invert(35%) sepia(97%) saturate(3512%) hue-rotate(156deg) brightness(93%) contrast(91%);
    --assisto-primary-rgb: 11, 143, 129;
    --assito-secondary: #00C9AF;
    --assito-secondary-focus: #058373;
    --assisto-primary-focus-border: rgba(11, 142, 128, 0.34);
    --assisto-tertiary: #4a80d1;
    --assisto-tertiary-rgb: 74, 128, 209;
    --assisto-border: #929292;
    --assisto-blue: #2683D4;
    --assisto-blue-filter: brightness(0) saturate(100%) invert(42%) sepia(86%) saturate(706%) hue-rotate(172deg) brightness(91%) contrast(88%);
    --assisto-white-filter: brightness(0) saturate(100%) invert(94%) sepia(100%) saturate(0%) hue-rotate(115deg) brightness(104%) contrast(102%);
    --assisto-action-bg: #FCF7EE;
    --assisto-action-bg-border: rgba(0, 0, 0, 0.12);

    --assisto-primary-text: black;
    --assisto-secondary-text: #747474;
    
    --assisto-warning: #f0881f;
    --assisto-warning-bg: #ffe3cc;
    --assisto-warning-rgb: 240, 136, 31;
    --assisto-warning-filter: brightness(0) saturate(100%) invert(77%) sepia(52%) saturate(5123%) hue-rotate(347deg) brightness(97%) contrast(94%);
    --assisto-error: #F01F83;
    --assisto-error-bg: #fad0e4;
    --assisto-error-border: #f156a1;
    --assisto-error-rgb: 240, 31, 131;
    --assisto-error-filter: brightness(0) saturate(100%) invert(18%) sepia(51%) saturate(6207%) hue-rotate(321deg) brightness(105%) contrast(88%);
    
    --assisto-credits-bg: #F67FED;

    --assisto-highlight-yellow: #bcdf0c;
    
    --ease-time: .4s;
    --ease-curve: cubic-bezier(0, 0, 0, 1);
    --bs-blue: var(--assisto-primary);
    --bs-primary: var(--assisto-primary);
    --bs-danger-rgb: var(--assisto-error-rgb);
    --mud-palette-primary: var(--assisto-primary);
    --mud-palette-primary-rgb: 11, 142, 128;
    --mud-palette-primary-darken: var(--assisto-primary);
    --mud-palette-primary-lighten: var(--assisto-primary);
}

/* ============================================================
   Dark theme for the public report view (/report).
   Activated by toggling `theme-dark` on <body> (see toggleTheme()
   in ReportView.razor). Lives here, in the global (non-scoped)
   stylesheet, because most surfaces are rendered by child
   components whose scoped CSS a `.razor.css` file cannot reach.
   Selectors are prefixed with `body.theme-dark` so they are inert
   on every other page and win over the components' scoped CSS
   (higher specificity) without needing !important.
   ============================================================ */

body.theme-dark {
    background-color: #121417;
}

body.theme-dark .scroll-container,
body.theme-dark .scroll-content {
    background-color: #121417;
    color: #e6e8ea;
}

body.theme-dark .content {
    color: #d7dbde;
}

/* ---- Top header bar + toggle ---- */
body.theme-dark .header {
    background-color: #1a1d21;
    border-bottom-color: #33383d;
}

/* Swap the dark-ink logo for the white one on the dark background */
body.theme-dark .logo-light {
    display: none;
}

body.theme-dark .logo-white {
    display: block;
}

body.theme-dark .theme-toggle {
    background-color: #262b30;
    border-color: #3a4046;
    color: #e6e8ea;
}

body.theme-dark .theme-toggle:hover {
    background-color: #31373d;
}

/* ---- Tabs ---- */
body.theme-dark .tab-button {
    background-color: #262b30;
    color: #5fd0c2;
}

body.theme-dark .tab-button.active {
    background-color: var(--assisto-primary);
    color: #ffffff;
}

body.theme-dark .tab-button:not(.active):hover {
    background-color: #31373d;
}

/* ---- Section navigation (left rail + mobile) ---- */
body.theme-dark .section-navigator-desktop,
body.theme-dark .section-navigator-mobile,
body.theme-dark .section-navigator-mobile .nav-header,
body.theme-dark .section-navigator-mobile .nav-content {
    background-color: #1e2226;
    border-color: #33383d;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

body.theme-dark .section-navigator-mobile .nav-item {
    border-bottom-color: #2c3137;
    color: #c4ccd0;
}

body.theme-dark .section-navigator-desktop .nav-item.subsection,
body.theme-dark .section-navigator-mobile .nav-item.subsection {
    color: #9aa3a8;
    border-left-color: #3a4046;
}

body.theme-dark .section-navigator-desktop .nav-item:hover,
body.theme-dark .section-navigator-mobile .nav-item:hover {
    background-color: #2a3036;
}

/* ---- Report headings ---- */
body.theme-dark .report-category h2,
body.theme-dark .header-content {
    color: #e6e8ea;
}

/* ---- Overview: charts, collapsibles, resources ---- */
body.theme-dark .chart-container {
    background-color: #1e2226;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

body.theme-dark .overview-collapsible-toggle {
    background-color: #1e2226;
    border-color: #33383d;
    color: #e6e8ea;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

body.theme-dark .overview-collapsible-toggle:hover {
    background-color: #2a3036;
}

body.theme-dark .overview-collapsible-label {
    color: #e6e8ea;
}

body.theme-dark .resources {
    background-color: #20262b;
}

/* ---- Citation list items ---- */
body.theme-dark .citation .content {
    background-color: #1e2226;
    border-color: #3a4046;
}

body.theme-dark .citation .title,
body.theme-dark .citation .tag-num {
    color: #e6e8ea;
}

body.theme-dark .similar-citation,
body.theme-dark .similar-citation .content,
body.theme-dark .story-similar-container {
    background-color: #181b1e;
}

/* ---- Report statistics ---- */
body.theme-dark .report-statistics,
body.theme-dark .penalty-exposure {
    background-color: #20262b;
}

body.theme-dark .stat-label,
body.theme-dark .exposure-title {
    color: #c4ccd0;
}

body.theme-dark .citation-date,
body.theme-dark .exposure-label,
body.theme-dark .no-penalty-exposure {
    color: #9aa3a8;
}

body.theme-dark .expanded-details {
    border-top-color: #33383d;
}

/* ---- Intro container ---- */
body.theme-dark .intro-container {
    background-color: #20262b;
    color: #d7dbde;
}

/* ---- Modals (story detail + share) ---- */
body.theme-dark .modal-panel {
    background-color: #1e2226;
    color: #e6e8ea;
}

body.theme-dark .modal-header,
body.theme-dark .modal-panel .header,
body.theme-dark .modal-panel .footer {
    background-color: #1e2226;
    border-color: #33383d;
}

body.theme-dark .with-separators > .body {
    border-color: #33383d;
}

/* ---- Share modal form fields ---- */
body.theme-dark .share-form-field input,
body.theme-dark .share-form-field textarea,
body.theme-dark .share-email-container input,
body.theme-dark .share-url-container input {
    background-color: #14181b;
    border-color: #3a4046;
    color: #e6e8ea;
}

body.theme-dark .share-form-field input::placeholder,
body.theme-dark .share-form-field textarea::placeholder {
    color: #6b747a;
}

/* ---- Checklist ---- */
body.theme-dark .audit-category-title {
    color: #e6e8ea;
}

body.theme-dark .audit-panel .audit-action .audit-action-title {
    background-color: #1f2a29;
}

body.theme-dark .audit-panel .audit-action .audit-action-title span,
body.theme-dark .audit-panel .audit-action .issue-found {
    color: #d7dbde;
}

body.theme-dark .audit-panel .audit-action .read-more {
    background-color: #1e2226;
    color: #5fd0c2;
}

/* ---- Signup prompt ---- */
body.theme-dark .signup-prompt {
    background-color: #16201e;
    border-color: var(--assisto-primary);
    color: #d7dbde;
}

body.theme-dark .signup-prompt p,
body.theme-dark .signup-prompt .signup-prompt-social {
    color: #c4ccd0;
}

body.theme-dark .signup-prompt .signup-prompt-price-alt,
body.theme-dark .signup-prompt .signup-prompt-note {
    color: #8a9794;
}

/* ---- Links inside report body ---- */
body.theme-dark .som-links a,
body.theme-dark .citation-link {
    color: #6cb7ff;
}


