/* =============================================
   Plain / Light Monochrome Accessibility Mode
   Activated by .plain-mode class on <body>
   White background, black text — mirrors dark-mode.css structure.
   ============================================= */

/* --- Base --- */
body.plain-mode {
    background-color: #fafafa !important;
    color: #000 !important;
    background-image: none !important;
}

/* --- Sidebar --- */
body.plain-mode #sidebar,
body.plain-mode .sidebar-wrapper {
    background-color: #fafafa !important;
    border-right: 2px solid #000 !important;
}

body.plain-mode .spacer {
    background-color: #ccc !important;
    color: #222 !important;
    border-color: #aaa !important;
}

body.plain-mode .account-list {
    background-color: #bbb !important;
    color: #000 !important;
}

body.plain-mode .account-sublist {
    background-color: #d5d5d5 !important;
}

/* Icon badges: black background, white icon in plain mode */
body.plain-mode .chiller-theme .sidebar-wrapper .sidebar-menu ul li a i {
    background: #222 !important;
    color: #fff !important;
}
body.plain-mode .chiller-theme .sidebar-wrapper ul li:hover a i,
body.plain-mode .chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown.active2 a i {
    color: #fff !important;
    text-shadow: none !important;
}

/* --- Page wrapper / panels --- */
body.plain-mode .page-wrapper,
body.plain-mode .dashslide,
body.plain-mode .container-fluid {
    background-color: #fafafa !important;
}

/* --- All text --- */
body.plain-mode h1, body.plain-mode h2, body.plain-mode h3,
body.plain-mode h4, body.plain-mode h5, body.plain-mode h6,
body.plain-mode p, body.plain-mode span, body.plain-mode label,
body.plain-mode li, body.plain-mode a, body.plain-mode small,
body.plain-mode td, body.plain-mode th,
body.plain-mode .form-check-label, body.plain-mode .form-text {
    color: #000 !important;
    text-shadow: none !important;
}

/* --- Navigation links --- */
body.plain-mode .sidebar-dropdown > a,
body.plain-mode .sidebar-dropdown a span,
body.plain-mode .nav-link,
body.plain-mode .nav-link i {
    color: #000 !important;
}

/* Hover — subtle tint in same colour family as active states */
body.plain-mode .sidebar-dropdown:hover,
body.plain-mode .sidebar-dropdown > a.active-menu,
body.plain-mode .sidebar-dropdown > a:hover,
body.plain-mode #sidebar a.active-menu,
body.plain-mode #sidebar a:hover,
body.plain-mode .menu-action:hover,
body.plain-mode .menu-action:active,
body.plain-mode .menu-action > a:hover,
body.plain-mode .menu-action > span:hover,
body.plain-mode .submenu-link:hover,
body.plain-mode .submenu-link:active,
body.plain-mode .submenu-link > a:hover {
    background-color: rgba(153, 79, 178, 0.15) !important;
    color: #000 !important;
    border-radius: 4px;
}

body.plain-mode .chiller-theme .sidebar-wrapper ul li:hover a i,
body.plain-mode .chiller-theme .sidebar-wrapper ul li:hover a span,
body.plain-mode .chiller-theme .sidebar-wrapper .sidebar-dropdown .sidebar-submenu li a:hover:before {
    color: #000 !important;
    text-shadow: none !important;
}

/* --- Buttons --- */
body.plain-mode button,
body.plain-mode .btn,
body.plain-mode .btn-submit {
    background-color: #fff !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    box-shadow: none !important;
}
body.plain-mode .btn-danger {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #fff !important;
}

/* --- Form inputs --- */
body.plain-mode input[type="text"],
body.plain-mode input[type="email"],
body.plain-mode input[type="password"],
body.plain-mode select,
body.plain-mode textarea {
    background-color: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
}

body.plain-mode input[type="checkbox"],
body.plain-mode input[type="radio"] {
    accent-color: #000;
}

/* --- Cards --- */
body.plain-mode .card {
    background-color: #fff !important;
    border: 1px solid #000 !important;
    color: #000 !important;
}

/* --- Modals --- */
body.plain-mode .modal-content {
    background-color: #fff !important;
    border: 1px solid #000 !important;
    color: #000 !important;
}
body.plain-mode .modal-header,
body.plain-mode .modal-footer {
    border-color: #000 !important;
    background-color: #fff !important;
}

/* --- Progress bars --- */
body.plain-mode .progress {
    background-color: #e0e0e0 !important;
    border: 1px solid #000 !important;
}
body.plain-mode .progress-bar {
    background-color: #000 !important;
    color: #fff !important;
}

/* --- Notification / badge bubbles --- */
body.plain-mode .notification-bubble,
body.plain-mode .bg-homework,
body.plain-mode .badge {
    background-color: #000 !important;
    color: #fff !important;
    border: 1px solid #000 !important;
}

/* --- Settings page form --- */
body.plain-mode form {
    background-color: #fafafa !important;
    border: 1px solid #000 !important;
}

/* --- Yes/No pill toggle --- */
body.plain-mode .yes-no-toggle {
    border-color: #000 !important;
}
body.plain-mode .yes-no-toggle label {
    background-color: #fafafa !important;
    color: #000 !important;
}
body.plain-mode .yes-no-toggle input:checked + label {
    background-color: #7bb662 !important;
    color: #4a3050 !important;
}

/* --- Override inline background / color --- */
body.plain-mode [style*="background-color"] {
    background-color: #fafafa !important;
}
body.plain-mode [style*="background:"] {
    background: #fafafa !important;
}
body.plain-mode [style*="color:"]:not(.medal-list-mountain-button) {
    color: #000 !important;
}

/* --- Avatar box: #414141 dark grey → light grey in plain mode --- */
body.plain-mode .avatarbox {
    background-color: #e8e8e8 !important;
    color: #000 !important;
}

/* --- Sidebar status bar --- */
body.plain-mode .statusbar,
body.plain-mode #sidebar .statusbar span,
body.plain-mode .statusbar * {
    color: #000 !important;
}

/* --- Game of the Day tile --- */
body.plain-mode .fadingBackgroundAnimation3,
body.plain-mode .gameOfTheDay {
    background: #fff !important;
    animation: none !important;
    border: 1px solid #000 !important;
}

/* --- Last played tile --- */
body.plain-mode .lastplayed {
    background-color: #fff !important;
    border: 1px solid #000 !important;
}

/* --- Images: greyscale in the shell --- */
body.plain-mode .sidebar-menu img,
body.plain-mode .gameOfTheDay img,
body.plain-mode .header-homework img,
body.plain-mode .exitbutton {
    filter: grayscale(100%) brightness(0.8);
}

/* --- Top navigation bar --- */
body.plain-mode .dashboard-nav {
    background-color: #fafafa !important;
    border-bottom: 2px solid #000 !important;
    color: #000 !important;
}

/* --- nav block buttons --- */
body.plain-mode .block-gradient {
    background: #fff !important;
    animation: none !important;
    border: 2px solid #000 !important;
    color: #000 !important;
}
body.plain-mode .block-primary {
    background-color: #fff !important;
    border: 2px solid #000 !important;
    color: #000 !important;
}

/* --- Sidebar expanded item (active2) and submenu container --- */
body.plain-mode .sidebar-dropdown.active2 {
    background-color: rgba(153, 79, 178, 0.15) !important;
}
body.plain-mode #sidebar .sidebar-content .sidebar-dropdown div.sidebar-submenu {
    background-color: #f5f5f5 !important;
    color: #000 !important;
}

/* --- Medal Mountain: preserve DB font_color --- */
body.plain-mode .medal-list-mountain-button * {
    color: inherit !important;
}

/* --- Quest page / multiplayer menu --- */
body.plain-mode .button-group {
    background-color: #fff !important;
    box-shadow: none !important;
    border: 1px solid #000 !important;
    color: #000 !important;
}
body.plain-mode .list-group-item,
body.plain-mode .list-group-item a {
    background-color: #fff !important;
    color: #000 !important;
    border-color: #ccc !important;
}
body.plain-mode .list-group-item:hover,
body.plain-mode .list-group-item a:hover {
    background-color: #f0f0f0 !important;
    color: #000 !important;
}
body.plain-mode .card-header {
    background-color: #fff !important;
    color: #000 !important;
    border-color: #ccc !important;
}

/* --- Scrollbars --- */
body.plain-mode::-webkit-scrollbar-track,
body.plain-mode ::-webkit-scrollbar-track {
    background-color: #e0e0e0 !important;
}
body.plain-mode::-webkit-scrollbar-thumb,
body.plain-mode ::-webkit-scrollbar-thumb {
    background-color: #888 !important;
}
body.plain-mode::-webkit-scrollbar-thumb:hover,
body.plain-mode ::-webkit-scrollbar-thumb:hover {
    background-color: #555 !important;
}

/* --- Keep game iframe unaffected --- */
body.plain-mode iframe#mainframe {
    filter: none;
}

/* =============================================
   Game Plain Mode
   ============================================= */

/* Question + answer blocks */
body.plain-mode .block {
    background-color: #f8f8f8 !important;
    color: #000 !important;
    border-color: #ccc !important;
    box-shadow: 4px 4px #bbb !important;
}
body.plain-mode .block--orange,
body.plain-mode .block--beige,
body.plain-mode .block--blue {
    background-color: #f8f8f8 !important;
}

/* Stepped light greyscale per option */
body.plain-mode [data-option-container] > .block--option:nth-child(1) { background-color: #f5f5f5 !important; }
body.plain-mode [data-option-container] > .block--option:nth-child(2) { background-color: #eeeeee !important; }
body.plain-mode [data-option-container] > .block--option:nth-child(3) { background-color: #e6e6e6 !important; }
body.plain-mode [data-option-container] > .block--option:nth-child(4) { background-color: #dedede !important; }

body.plain-mode .block--option:hover {
    background-color: #d0d0d0 !important;
}

/* Keep correct / wrong feedback colours */
body.plain-mode .block.correct,
body.plain-mode .block.correct:hover {
    background-color: #5a9e42 !important;
    color: #fff !important;
    border-color: #5a9e42 !important;
}
body.plain-mode .block.wrong,
body.plain-mode .block.wrong:hover {
    background-color: #cc3300 !important;
    color: #fff !important;
    border-color: #cc3300 !important;
}

/* Disabled state */
body.plain-mode .block--disabled,
body.plain-mode .block.disabled {
    background-color: #e0e0e0 !important;
    border-color: #aaa !important;
    color: #888 !important;
}

/* Number icon circles */
body.plain-mode .block-icon {
    background-color: #e0e0e0 !important;
    border-color: #999 !important;
}

/* Header action buttons */
body.plain-mode .button {
    background-color: #f8f8f8 !important;
    color: #000 !important;
    box-shadow: 4px 4px #bbb !important;
    border: 1px solid #aaa !important;
}
body.plain-mode .button--orange:hover,
body.plain-mode .button--beige:hover {
    background-color: #e0e0e0 !important;
}

/* Start / pause modal */
body.plain-mode .custom-modal,
body.plain-mode .pause-modal {
    background-color: #f8f8f8 !important;
    color: #000 !important;
    box-shadow: 4px 4px #bbb !important;
}
body.plain-mode .custom-modal__time {
    background-color: rgba(240,240,240,.9) !important;
    color: #000 !important;
}

/* Overlay backdrop */
body.plain-mode .overlay {
    background-color: rgba(255,255,255,.85) !important;
}

/* Scoop Snatcher / Quizzy */
body.plain-mode .quiz-container {
    background-color: rgba(245,245,245,.95) !important;
}

/* --- Fix 1: Avatar images — keep normal colour --- */
body.plain-mode #userAvatarImage img,
body.plain-mode .user-main-avatar,
body.plain-mode .avatar-items img,
body.plain-mode .user-avatar-img {
    filter: none !important;
}

/* --- Fix 2: Shop popup — restore dark text on yellow/orange backgrounds --- */
body.plain-mode .item-popup .popup-item-header,
body.plain-mode .item-popup .popup-item-header * {
    color: #1c0f24 !important;
}

/* --- Fix 3: Pick-a-pair / Arrange-a-rama — dark text on amber card backgrounds --- */
body.plain-mode .word-card,
body.plain-mode .word-card *,
body.plain-mode .group-card,
body.plain-mode .group-card * {
    color: #4a3050 !important;
}

/* --- Fix 4: Orderama answer bar — dark text on light-orange background --- */
body.plain-mode .word-container .word,
body.plain-mode .word-container .word * {
    color: #4a3050 !important;
}

/* --- Fix 5: Wrongarama — light cloud background; restore correct/wrong colours --- */
body.plain-mode .cumulus {
    background-color: #f0f0f0 !important;
    border-color: #ccc !important;
}
body.plain-mode .cumulus::after {
    display: none !important;
}
body.plain-mode .gap.correct,
body.plain-mode .word.correct {
    background-color: #5a9e42 !important;
    border-color: #5a9e42 !important;
    color: #fff !important;
}

/* --- Fix 6: Tricky Trios — light per-column tints; selected cyan --- */
body.plain-mode [data-column="0"] .item { background-color: #d4a8e0 !important; color: #000 !important; }
body.plain-mode [data-column="1"] .item { background-color: #a8d4a0 !important; color: #000 !important; }
body.plain-mode [data-column="2"] .item { background-color: #f5c49a !important; color: #000 !important; }
body.plain-mode .item.selected {
    background-color: #2a9fc8 !important;
    color: #fff !important;
}

/* --- Roll of Honour table --- */
body.plain-mode .summarytable {
    background-color: #fff !important;
    color: #222 !important;
}
body.plain-mode .summarytable th,
body.plain-mode .summarytable td {
    color: #222 !important;
    border-color: #ccc !important;
}

/* --- Activity Reports table --- */
body.plain-mode #activity-report-table > tbody > tr:nth-of-type(odd) {
    background-color: #f0f0f0 !important;
}
body.plain-mode #activity-report-table > tbody > tr:nth-of-type(even) {
    background-color: #fff !important;
}

/* --- Progress Tracking / Statistics --- */
body.plain-mode .statistics .table {
    background-color: #fff !important;
    color: #222 !important;
    border-color: #aaa !important;
}
body.plain-mode .statistics .table th,
body.plain-mode .statistics .table td {
    color: #222 !important;
    border-color: #aaa !important;
}
body.plain-mode .statistics .table tbody tr:nth-child(odd) {
    background-color: #f0f0f0 !important;
}
body.plain-mode .statistics .table tbody tr:nth-child(even) {
    background-color: #fff !important;
}
body.plain-mode .statistics .list-table th {
    background-color: #ccc !important;
    color: #222 !important;
}
body.plain-mode .statistics .list-table tr:nth-child(even) {
    background-color: #f0f0f0 !important;
}
body.plain-mode .statistics .list-table tr:hover {
    background-color: #e0e0e0 !important;
}
body.plain-mode .statistics .list-table td {
    color: #222 !important;
}

/* --- My Classes --- */
body.plain-mode .classmenu #stdclstable,
body.plain-mode .classmenu #addclassresult2,
body.plain-mode .classmenu #pastoralGroupTable {
    background-color: #fff !important;
    color: #222 !important;
    border-color: #aaa !important;
}
body.plain-mode .classmenu #stdclstable th,
body.plain-mode .classmenu #stdclstable td,
body.plain-mode .classmenu #addclassresult2 th,
body.plain-mode .classmenu #addclassresult2 td,
body.plain-mode .classmenu #pastoralGroupTable th,
body.plain-mode .classmenu #pastoralGroupTable td {
    color: #222 !important;
    border-color: #aaa !important;
}
body.plain-mode .classmenu #stdclstable tbody tr.odd,
body.plain-mode .classmenu #stdclstable tbody tr:nth-child(odd) {
    background-color: #f0f0f0 !important;
}
body.plain-mode .classmenu #stdclstable tbody tr.even,
body.plain-mode .classmenu #stdclstable tbody tr:nth-child(even) {
    background-color: #fff !important;
}

/* --- Sporty Spelling word list rows --- */
body.plain-mode #group_list .group-row {
    background-color: #f0f0f0 !important;
    border: 1px solid #ccc !important;
}
body.plain-mode #group_list .group-row:hover {
    background-color: #e4e4e4 !important;
}
body.plain-mode #group_list .status-pending {
    background-color: #e8e8e8 !important;
}
body.plain-mode #group_list > .col-12:last-child > .mt-4 {
    background-color: #ddd !important;
}
body.plain-mode #group_list > .col-12:last-child > .mt-4 > .mt-2 {
    background-color: #f5f5f5 !important;
}
body.plain-mode #group_list .btn-group[style] {
    background: #eee !important;
    border: 1px solid #ccc !important;
}

/* --- Live Play (index-quests) --- */
body.plain-mode .play-live-game-list {
    background: #f0f0f0 !important;
    border-color: #ccc !important;
}
body.plain-mode .play-live-game-list:hover {
    background: #e0e0e0 !important;
}
body.plain-mode .modal-homework-settings .modal-content,
body.plain-mode .modal-homework-saved .modal-content {
    background-color: #fff !important;
    color: #000 !important;
}

/* --- Roll Call --- */
body.plain-mode .roll-call-settings-div {
    background-color: #e8e8e8 !important;
    color: #222 !important;
    box-shadow: 0 5px #aaa !important;
}
body.plain-mode .modal-rollama-yellow .modal-content {
    background-color: #fff !important;
    color: #000 !important;
}

/* --- Game of the Day table --- */
body.plain-mode .gameOfDayTable th,
body.plain-mode .gameOfDayTable td {
    color: #000 !important;
    border-color: #aaa !important;
}
body.plain-mode .gameOfDayTable tbody tr:nth-child(odd) {
    background-color: #f0f0f0 !important;
}
body.plain-mode .gameOfDayTable tbody tr:nth-child(even) {
    background-color: #fff !important;
}

/* --- Class/group selector buttons (Live Play, Teacher Tasks, Sporty Spelling) --- */
body.plain-mode .rollama-button {
    background-color: #e8e8e8 !important;
    color: #222 !important;
    box-shadow: 5px 5px #aaa !important;
}
body.plain-mode .rollama-button:hover {
    background-color: #d4d4d4 !important;
    color: #000 !important;
}
body.plain-mode .rollama-active-link,
body.plain-mode .btn-check:checked + .rollama-button {
    background-color: #733381 !important;
    color: #fff !important;
    box-shadow: 5px 5px #aaa, 0 0 0 3px rgba(115,51,129,0.3) !important;
    outline: 2px solid #733381 !important;
}
