      :root {         --primary-color: #3498db;         --secondary-color: #2c3e50;         --accent-color: #e74c3c;         --success-color: #2ecc71;         --warning-color: #f39c12;         --bg-color: #f8fafc;         --card-bg: #ffffff;         --text-color: #2d3748;         --text-muted: #718096;         --border-color: #e2e8f0;         --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);         --presentation-yellow-bg: #fff8e1;         --presentation-blue-text: #1565c0;      }      [data-theme="dark"] {         --bg-color: #1a202c;         --card-bg: #2d3748;         --text-color: #f7fafc;         --text-muted: #a0aec0;         --border-color: #4a5568;         --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);      }      * {         box-sizing: border-box;      }      .header-top {         display: flex;         align-items: center;         gap: 15px;         margin-bottom: 10px;      }      .header-bottom {         display: flex;         align-items: center;         gap: 15px;         flex-wrap: wrap;      }      .header h1 {         margin: 0;         font-size: 1.1em;         font-weight: 600;         color: white;         flex-grow: 1;         text-align: left;      }      /* Search Box */      .search-container {         position: relative;         flex-grow: 1;         max-width: 300px;      }      .search-box {         width: 100%;         padding: 8px 40px 8px 12px;         border: 2px solid rgba(255,255,255,0.2);         border-radius: 25px;         background: rgba(255,255,255,0.1);         color: white;         font-size: 14px;         transition: all 0.3s ease;      }      .search-box::placeholder {         color: rgba(255,255,255,0.7);      }      .search-box:focus {         outline: none;         border-color: rgba(255,255,255,0.5);         background: rgba(255,255,255,0.2);      }      .search-icon {         position: absolute;         right: 12px;         top: 50%;         transform: translateY(-50%);         color: rgba(255,255,255,0.7);      }      /* Header Controls */      .header-controls {         display: flex;         align-items: center;         gap: 10px;      }      .control-btn {         background: rgba(255,255,255,0.1);         border: 1px solid rgba(255,255,255,0.2);         color: white;         padding: 8px 12px;         border-radius: 6px;         cursor: pointer;         transition: all 0.3s ease;         font-size: 14px;      }      .control-btn:hover {         background: rgba(255,255,255,0.2);         transform: translateY(-1px);      }      /* Botão de tela cheia */      .fullscreen-btn {         background: rgba(255,255,255,0.1);         border: 1px solid rgba(255,255,255,0.2);         color: white;         width: 36px;         height: 36px;         border-radius: 50%;         cursor: pointer;         transition: all 0.3s ease;         display: flex;         align-items: center;         justify-content: center;         font-size: 16px;		 right: 230px;      }      .fullscreen-btn:hover {         background: rgba(255,255,255,0.2);         transform: scale(1.1);      }      .theme-toggle {         background: none;         border: none;         color: white;         font-size: 18px;         cursor: pointer;         padding: 8px;         border-radius: 50%;         transition: all 0.3s ease;      }      .theme-toggle:hover {         background: rgba(255,255,255,0.1);         transform: scale(1.1);      }      /* Hamburger Menu */      .hamburger {         display: flex;         flex-direction: column;         justify-content: space-around;         width: 30px;         height: 24px;         cursor: pointer;         transition: all 0.3s ease;         padding: 4px;         border-radius: 4px;      }      .hamburger:hover {         background: rgba(255,255,255,0.1);      }      .hamburger span {         display: block;         height: 3px;         width: 100%;         background-color: white;         border-radius: 3px;         transition: all 0.3s ease;      }      .hamburger.active {         transform: rotate(45deg);      }      .hamburger.active span:nth-child(1) {         transform: rotate(90deg) translate(-50%, -50%);      }      .hamburger.active span:nth-child(2) {         opacity: 0;      }      .hamburger.active span:nth-child(3) {         transform: rotate(90deg) translate(50%, 50%);      }      /* Botão para mostrar/ocultar header */      .header-toggle-btn {         position: fixed;         top: 10px;         left: 50%;         transform: translateX(-50%);         background: var(--primary-color);         color: white;         border: none;         padding: 8px 16px;         border-radius: 20px;         cursor: pointer;         transition: all 0.3s ease;         z-index: 1001;         display: flex;         align-items: center;         gap: 8px;         font-size: 14px;         box-shadow: var(--shadow);      }      .header-toggle-btn:hover {         background: var(--secondary-color);         transform: translateX(-50%) translateY(-2px);      }      /* Sidebar Menu */      .sidebar {         position: fixed;         top: 120px;         left: -380px;         width: 350px;         height: calc(100vh - 120px);         background: var(--card-bg);         color: var(--text-color);         padding: 20px;         transition: all 0.3s ease;         z-index: 999;         overflow-y: auto;         box-shadow: var(--shadow);         border-right: 3px solid var(--primary-color);      }      .sidebar.active {         left: 0;      }      .sidebar h3 {         color: var(--primary-color);         margin-top: 0;         margin-bottom: 20px;         font-size: 1.2em;         font-weight: 600;         border-bottom: 2px solid var(--primary-color);         padding-bottom: 10px;         display: flex;         align-items: center;         gap: 8px;      }      .sidebar ul {         list-style-type: none;         padding-left: 0;      }      .sidebar li {         margin-bottom: 4px;      }      .sidebar a {         color: var(--text-muted);         text-decoration: none;         display: flex;         align-items: center;         padding: 12px;         border-radius: 8px;         transition: all 0.3s ease;         gap: 10px;         font-weight: 500;      }      .sidebar a:hover, .sidebar a.active {         background: linear-gradient(135deg, var(--primary-color), rgba(52, 152, 219, 0.1));         color: white;         transform: translateX(8px);         box-shadow: 0 2px 8px rgba(52, 152, 219, 0.3);      }      .sidebar a i {         width: 20px;         text-align: center;      }      /* Tools Sidebar */      .tools-sidebar {         position: fixed;         top: 120px;         right: -380px;         width: 350px;         height: calc(100vh - 120px);         background: var(--card-bg);         color: var(--text-color);         padding: 20px;         transition: all 0.3s ease;         z-index: 20000;         overflow-y: auto;         box-shadow: var(--shadow);         border-left: 3px solid var(--primary-color);      }      .tools-sidebar.active {         right: 0;      }      .tools-sidebar h3 {         color: var(--primary-color);         margin-top: 0;         margin-bottom: 20px;         font-size: 1.2em;         font-weight: 600;         border-bottom: 2px solid var(--primary-color);         padding-bottom: 10px;         display: flex;         align-items: center;         gap: 8px;      }      .tools-grid {         display: grid;         grid-template-columns: repeat(2, 1fr);         gap: 15px;      }      .tool-item {         background: var(--bg-color);         border: 1px solid var(--border-color);         border-radius: 12px;         padding: 20px;         text-align: center;         cursor: pointer;         transition: all 0.3s ease;         display: flex;         flex-direction: column;         align-items: center;         gap: 10px;      }      .tool-item:hover {         border-color: var(--primary-color);         transform: translateY(-3px);         box-shadow: var(--shadow);      }      .tool-item i {         font-size: 2em;         color: var(--primary-color);      }      .tool-item h4 {         margin: 0;         font-size: 0.9em;         color: var(--text-color);      }      .tool-item p {         margin: 0;         font-size: 0.8em;         color: var(--text-muted);      }      /* Submenu Styles */      .submenu {         max-height: 0;         overflow: hidden;         transition: max-height 0.3s ease;         padding-left: 20px;      }      .submenu.active {         max-height: 500px;      }      .submenu-toggle {         cursor: pointer;         display: flex;         align-items: center;         justify-content: space-between;         width: 100%;      }      .submenu-icon {         transition: transform 0.3s ease;         font-size: 0.8em;      }      .submenu-toggle.active .submenu-icon {         transform: rotate(90deg);      }      /* Submenu de segundo nível */      .submenu-2 {         max-height: 0;         overflow: hidden;         transition: max-height 0.3s ease;         padding-left: 20px;      }      .submenu-2.active {         max-height: 500px;      }      /* Submenu de terceiro nível */      .submenu-3 {         max-height: 0;         overflow: hidden;         transition: max-height 0.3s ease;         padding-left: 20px;      }      .submenu-3.active {         max-height: 500px;      }      /* Overlay */      .overlay {         position: fixed;         top: 0;         left: 0;         right: 0;         bottom: 0;         background-color: rgba(0,0,0,0.5);         z-index: 998;         opacity: 0;         visibility: hidden;         transition: all 0.3s ease;      }      .overlay.active {         opacity: 1;         visibility: visible;      }      .container {         max-width: 1000px;         margin: 0 auto;         background: var(--card-bg);         padding: 40px;         border-radius: 16px;         box-shadow: var(--shadow);         border: 1px solid var(--border-color);         position: relative;         overflow: hidden;         transition: all 0.3s ease;      }      .container::before {         content: '';         position: absolute;         top: 0;         left: 0;         right: 0;         height: 4px;         background: linear-gradient(90deg, var(--primary-color), var(--success-color));      }      /* Modo Foco */      body.focus-mode .header,      body.focus-mode .sidebar,      body.focus-mode .tools-sidebar,      body.focus-mode .overlay,      body.focus-mode .scroll-top,      body.focus-mode .header-toggle-btn {         display: none !important;      }      body.focus-mode {         padding: 20px !important;      }      body.focus-mode .container {         max-width: 800px;         margin: 0 auto;         border-radius: 0;         box-shadow: none;         border: none;      }      /* Botão sair do modo foco */      .exit-focus-btn {         position: fixed;         top: 20px;         right: 20px;         background: var(--primary-color);         color: white;         border: none;         padding: 10px 20px;         border-radius: 25px;         cursor: pointer;         transition: all 0.3s ease;         display: none;         z-index: 1001;         box-shadow: var(--shadow);      }      body.focus-mode .exit-focus-btn {         display: flex;         align-items: center;         gap: 8px;      }      .exit-focus-btn:hover {         background: var(--secondary-color);         transform: translateY(-2px);      }      /* Modo Apresentação */      body.presentation-mode {         background: #000;         color: #fff;         overflow-y: auto;      }      body.presentation-mode .header,      body.presentation-mode .sidebar,      body.presentation-mode .tools-sidebar,      body.presentation-mode .overlay,      body.presentation-mode .scroll-top,      body.presentation-mode .header-toggle-btn {         display: none !important;      }      body.presentation-mode .container {         max-width: 100%;         margin: 0;         padding: 0;         border-radius: 0;         box-shadow: none;         border: none;         background: #000;      }      body.presentation-mode .section {         display: none;         min-height: 100vh;         padding: 60px;         position: relative;         background: #000;      }      body.presentation-mode .section.active {         display: block;      }      body.presentation-mode .section h2 {         font-size: 3em;         margin-bottom: 40px;         text-align: center;      }      body.presentation-mode .section h3 {         font-size: 2em;         margin-bottom: 30px;      }      body.presentation-mode .section p {         font-size: 1.5em;         margin-bottom: 20px;      }      body.presentation-mode .section .formula {         font-size: 1.8em;         padding: 30px;         margin: 30px 0;      }      body.presentation-mode .section .comparison {         grid-template-columns: 1fr 1fr;         gap: 40px;      }      body.presentation-mode .section .comparison-item {         padding: 30px;         font-size: 1.2em;      }      /* ===== ALTERAÇÃO APLICADA ===== */      /* Cor azul para todo o texto no modo apresentação */      body.presentation-mode .section {         color: var(--presentation-blue-text) !important;      }      body.presentation-mode .section h2,      body.presentation-mode .section h3,      body.presentation-mode .section h4,      body.presentation-mode .section h5,      body.presentation-mode .section p,      body.presentation-mode .section li,      body.presentation-mode .section .formula,      body.presentation-mode .section .note,      body.presentation-mode .section .note h4,      body.presentation-mode .section .note p,      body.presentation-mode .section .comparison-item,      body.presentation-mode .section .comparison-item h4,      body.presentation-mode .section .comparison-item p {         color: var(--presentation-blue-text) !important;      }      /* Mantém os fundos amarelos para elementos específicos */      body.presentation-mode .note {         background: var(--presentation-yellow-bg);      }      body.presentation-mode .formula {         background: var(--presentation-yellow-bg);      }      /* ===== FIM DA ALTERAÇÃO ===== */      .presentation-controls {         position: fixed;         top: 20px;         left: 0;         right: 0;         display: none;         justify-content: space-between;         align-items: center;         padding: 0 40px;         z-index: 1000;      }      body.presentation-mode .presentation-controls {         display: flex;      }      .presentation-controls button {         background: rgba(255,255,255,0.2);         border: 1px solid rgba(255,255,255,0.3);         color: white;         padding: 12px 20px;         border-radius: 25px;         cursor: pointer;         transition: all 0.3s ease;         font-size: 16px;         display: flex;         align-items: center;         gap: 8px;      }      .presentation-controls button:hover {         background: rgba(255,255,255,0.3);         transform: scale(1.05);      }      .slide-counter {         color: white;         font-size: 18px;         font-weight: 600;         background: rgba(255,255,255,0.1);         padding: 10px 20px;         border-radius: 25px;         border: 1px solid rgba(255,255,255,0.3);      }      /* Barra de progresso da apresentação */      .presentation-progress {         position: fixed;         bottom: 80px;         left: 50%;         transform: translateX(-50%);         width: 300px;         height: 6px;         background: rgba(255, 255, 255, 0.2);         border-radius: 3px;         overflow: hidden;         z-index: 1001;         display: none;      }      body.presentation-mode .presentation-progress {         display: block;      }      .presentation-progress-bar {         height: 100%;         background: linear-gradient(90deg, var(--primary-color), var(--success-color));         width: 0%;         transition: width 0.1s ease;      }      /* Controle de velocidade */      .speed-control {         position: fixed;         bottom: 100px;         right: 20px;         background: var(--card-bg);         padding: 15px;         border-radius: 12px;         box-shadow: var(--shadow);         z-index: 20000;         display: none;         flex-direction: column;         gap: 10px;         min-width: 200px;      }      .speed-control.active {         display: flex;      }      .speed-control h4 {         margin: 0;         color: var(--primary-color);         font-size: 0.9em;         font-weight: 600;      }      .speed-slider {         width: 100%;         margin: 10px 0;      }      .speed-value {         text-align: center;         font-size: 0.9em;         color: var(--text-muted);      }      /* Marcadores */      .bookmark-btn {         background: none;         border: none;         color: var(--warning-color);         cursor: pointer;         font-size: 1.2em;         transition: all 0.3s ease;         margin-left: 10px;      }      .bookmark-btn:hover {         transform: scale(1.2);      }      .bookmark-list {         position: fixed;         bottom: 20px;         left: 20px;         background: var(--card-bg);         padding: 15px;         border-radius: 12px;         box-shadow: var(--shadow);         z-index: 20000;         display: none;         flex-direction: column;         gap: 10px;         min-width: 250px;         max-height: 300px;         overflow-y: auto;      }      .bookmark-list.active {         display: flex;      }      .bookmark-list h4 {         margin: 0;         color: var(--primary-color);         font-size: 0.9em;         font-weight: 600;      }      .bookmark-item {         padding: 8px;         border-radius: 6px;         cursor: pointer;         transition: all 0.3s ease;         font-size: 0.9em;         display: flex;         justify-content: space-between;         align-items: center;      }      .bookmark-item:hover {         background: var(--bg-color);      }      .bookmark-item button {         background: none;         border: none;         color: var(--accent-color);         cursor: pointer;         font-size: 0.9em;         padding: 2px 6px;      }      /* Estatísticas de Leitura */      .reading-stats {         position: fixed;         top: 80px;         right: 20px;         background: var(--card-bg);         padding: 15px;         border-radius: 12px;         box-shadow: var(--shadow);         z-index: 20000;         display: none;         flex-direction: column;         gap: 10px;         min-width: 200px;      }      .reading-stats.active {         display: flex;      }      .reading-stats h4 {         margin: 0;         color: var(--primary-color);         font-size: 0.9em;         font-weight: 600;      }      .stat-item {         display: flex;         justify-content: space-between;         font-size: 0.9em;      }      .stat-label {         color: var(--text-muted);      }      .stat-value {         font-weight: 600;         color: var(--primary-color);      }      /* Compartilhamento */      .share-menu {         position: fixed;         top: 50%;         left: 50%;         transform: translate(-50%, -50%);         background: var(--card-bg);         padding: 20px;         border-radius: 12px;         box-shadow: var(--shadow);         z-index: 10000;         display: none;         flex-direction: column;         gap: 15px;         min-width: 300px;      }      .share-menu.active {         display: flex;      }      .share-menu h3 {         margin: 0;         color: var(--primary-color);         font-size: 1.2em;         font-weight: 600;      }      .share-options {         display: flex;         gap: 10px;         flex-wrap: wrap;      }      .share-btn {         background: var(--primary-color);         color: white;         border: none;         padding: 10px 15px;         border-radius: 8px;         cursor: pointer;         transition: all 0.3s ease;         display: flex;         align-items: center;         gap: 8px;         font-size: 0.9em;      }      .share-btn:hover {         background: var(--secondary-color);         transform: translateY(-2px);      }      .share-url {         width: 100%;         padding: 8px;         border: 1px solid var(--border-color);         border-radius: 6px;         font-size: 0.9em;      }      h2 {         color: var(--primary-color);         padding: 15px 20px;         margin-top: 40px;         margin-bottom: 25px;         font-weight: 600;         font-size: 1.8em;         display: flex;         align-items: center;         gap: 12px;         background: linear-gradient(135deg, var(--primary-color), rgba(52, 152, 219, 0.1));         border-radius: 8px;         border-left: 4px solid var(--primary-color);         animation: slideInLeft 0.6s ease-out;         color: white;      }      h2 i {         color: white;      }      h3 {         color: var(--secondary-color);         margin-top: 5px;         margin-bottom: 20px;         font-weight: 600;         font-size: 1.4em;         display: flex;         align-items: center;         gap: 10px;         padding: 10px 0;         border-bottom: 2px solid var(--border-color);      }      h3 i {         color: var(--primary-color);         font-size: 0.9em;      }      h4 {         color: var(--text-color);         margin-top: 25px;         margin-bottom: 15px;         font-weight: 600;         font-size: 1.2em;         display: flex;         align-items: center;         gap: 8px;         padding: 8px 0;         border-bottom: 1px solid var(--border-color);      }      h4 i {         color: var(--primary-color);         font-size: 0.8em;      }      h5 {         color: var(--text-color);         margin-top: 20px;         margin-bottom: 10px;         font-weight: 600;         font-size: 1.1em;         display: flex;         align-items: center;         gap: 8px;         padding: 6px 0;         border-bottom: 1px dashed var(--border-color);      }      h5 i {         color: var(--primary-color);         font-size: 0.8em;      }      p {         margin-bottom: 15px;         text-align: justify;      }      .formula {         background: linear-gradient(135deg, #f0f8ff, #e8f4fd);         padding: 20px;         border-radius: 12px;         margin: 20px 0;         font-style: italic;         text-align: center;         border: 2px solid var(--primary-color);         box-shadow: 0 4px 12px rgba(52, 152, 219, 0.1);         font-size: 1.1em;         font-weight: 500;         position: relative;         overflow: hidden;      }      .formula::before {         content: '∑';         position: absolute;         top: -10px;         left: 15px;         font-size: 3em;         color: rgba(52, 152, 219, 0.1);         font-weight: bold;      }      figure {         margin: 20px 0;         text-align: center;      }      figcaption {         font-style: italic;         margin-top: 10px;         color: var(--text-muted);      }      .image-placeholder {         background: linear-gradient(135deg, #f8f9fa, #e9ecef);         border: 2px dashed var(--border-color);         height: 250px;         display: flex;         align-items: center;         justify-content: center;         margin: 15px 0;         color: var(--text-muted);         border-radius: 12px;         transition: all 0.3s ease;         position: relative;         overflow: hidden;         font-weight: 500;      }      .image-placeholder:hover {         border-color: var(--primary-color);         background: linear-gradient(135deg, rgba(52, 152, 219, 0.1), rgba(52, 152, 219, 0.05));         transform: scale(1.02);      }      .image-placeholder::before {         content: '🖼';         font-size: 3em;         position: absolute;         top: 50%;         left: 50%;         transform: translate(-50%, -70%);         opacity: 0.3;      }      .term {         font-weight: 600;         color: var(--accent-color);         background: rgba(231, 76, 60, 0.1);         padding: 2px 6px;         border-radius: 4px;         cursor: help;         transition: all 0.3s ease;         position: relative;      }      .term:hover {         background: var(--accent-color);         color: white;         transform: scale(1.05);      }      .section {	  margin-top: -70px;         margin-bottom: 50px;         padding: 5px;         border-radius: 12px;         background: var(--card-bg);         border: 1px solid var(--border-color);         transition: all 0.3s ease;         opacity: 0;         transform: translateY(20px);         animation: fadeInUp 0.6s ease-out forwards;      }      .section:hover {         box-shadow: var(--shadow);         transform: translateY(-2px);      }      .section:nth-child(even) {         animation-delay: 0.1s;      }      .section:nth-child(odd) {         animation-delay: 0.2s;      }      .subsection {         margin-bottom: 30px;         padding: 15px;         border-radius: 10px;         background: var(--bg-color);         border: 1px solid var(--border-color);         transition: all 0.3s ease;      }      .subsection:hover {         box-shadow: var(--shadow);         transform: translateY(-2px);      }      .subsubsection {         margin-bottom: 25px;         padding: 12px;         border-radius: 8px;         background: var(--bg-color);         border-left: 3px solid var(--primary-color);         transition: all 0.3s ease;      }      .subsubsection:hover {         box-shadow: var(--shadow);         transform: translateX(5px);      }      ul {         padding-left: 20px;      }      li {         margin-bottom: 10px;		 color: #3f51b5;      }      .bibliography {         margin-top: 40px;      }      .bibliography h2 {         background: linear-gradient(135deg, var(--success-color), rgba(46, 204, 113, 0.1));         color: white;         border-left-color: var(--success-color);      }      .bibliography-item {         margin-bottom: 10px;         padding-left: 20px;         text-indent: -20px;      }      .note {         background: linear-gradient(135deg, #fff8e1, #fef7cd);         padding: 20px;         border-radius: 12px;         margin: 20px 0;         border-left: 5px solid var(--warning-color);         box-shadow: 0 4px 12px rgba(243, 156, 18, 0.1);         position: relative;         overflow: hidden;      }      .note::before {         content: '💡';         position: absolute;         top: 15px;         right: 15px;         font-size: 1.5em;         opacity: 0.3;      }      .note h4 {         margin-top: 0;         color: var(--warning-color);         font-weight: 600;         display: flex;         align-items: center;         gap: 8px;      }      .comparison {         display: grid;         grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));         gap: 20px;         margin: 30px 0;      }      .comparison-item {         padding: 20px;         background: var(--card-bg);         border-radius: 12px;         border: 2px solid var(--border-color);         transition: all 0.3s ease;         position: relative;         overflow: hidden;      }      .comparison-item::before {         content: '';         position: absolute;         top: 0;         left: 0;         right: 0;         height: 4px;         background: linear-gradient(90deg, var(--primary-color), var(--success-color));      }      .comparison-item:hover {         border-color: var(--primary-color);         box-shadow: var(--shadow);         transform: translateY(-5px);      }      .comparison-item h4 {         margin-top: 0;         color: var(--primary-color);         font-weight: 600;         display: flex;         align-items: center;         gap: 8px;      }      /* Scroll to Top Button */      .scroll-top {         position: fixed;         bottom: 30px;         right: 30px;         background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));         color: white;         width: 50px;         height: 50px;         border-radius: 50%;         border: none;         cursor: pointer;         box-shadow: var(--shadow);         transition: all 0.3s ease;         opacity: 0;         visibility: hidden;         z-index: 999;         display: flex;         align-items: center;         justify-content: center;         font-size: 18px;      }      .scroll-top.visible {         opacity: 1;         visibility: visible;      }      .scroll-top:hover {         transform: translateY(-5px) scale(1.1);         box-shadow: 0 8px 25px rgba(52, 152, 219, 0.4);      }      /* Search Results */      .search-results {         position: absolute;         top: 100%;         left: 0;         right: 0;         background: var(--card-bg);         border-radius: 8px;         box-shadow: var(--shadow);         max-height: 300px;         overflow-y: auto;         z-index: 1001;         display: none;         border: 1px solid var(--border-color);      }      .search-result {         padding: 10px 15px;         border-bottom: 1px solid var(--border-color);         cursor: pointer;         transition: background 0.2s ease;         color: var(--text-color);      }      .search-result:hover {         background: var(--primary-color);         color: white;      }      .search-result:last-child {         border-bottom: none;      }      /* Font Size Controls */      .font-controls {         display: flex;         align-items: center;         gap: 5px;      }      .font-btn {         background: rgba(255,255,255,0.1);         border: 1px solid rgba(255,255,255,0.2);         color: white;         width: 30px;         height: 30px;         border-radius: 50%;         cursor: pointer;         transition: all 0.3s ease;         display: flex;         align-items: center;         justify-content: center;      }      .font-btn:hover {         background: rgba(255,255,255,0.2);      }      /* Favorites */      .favorite-btn {         background: none;         border: none;         color: var(--text-muted);         cursor: pointer;         font-size: 1.2em;         transition: all 0.3s ease;         margin-left: 10px;      }      .favorite-btn:hover,      .favorite-btn.favorited {         color: var(--warning-color);         transform: scale(1.2);      }      /* Tooltip */      .tooltip {         position: relative;      }      .tooltip .tooltiptext {         visibility: hidden;         background-color: var(--secondary-color);         color: white;         text-align: center;         padding: 8px 12px;         border-radius: 8px;         position: absolute;         z-index: 1000;         bottom: 125%;         left: 50%;         margin-left: -100px;         width: 200px;         opacity: 0;         transition: opacity 0.3s;         font-size: 14px;         font-weight: normal;         box-shadow: var(--shadow);      }      .tooltip .tooltiptext::after {         content: "";         position: absolute;         top: 100%;         left: 50%;         margin-left: -5px;         border-width: 5px;         border-style: solid;         border-color: var(--secondary-color) transparent transparent transparent;      }      .tooltip:hover .tooltiptext {         visibility: visible;         opacity: 1;      }      /* Animations */      @keyframes fadeInUp {         from {            opacity: 0;            transform: translateY(30px);         }         to {            opacity: 1;            transform: translateY(0);         }      }      @keyframes slideInLeft {         from {            opacity: 0;            transform: translateX(-30px);         }         to {            opacity: 1;            transform: translateX(0);         }      }            /* ===== MELHORIAS IMPLEMENTADAS ===== */            /* 1. Melhorias na Acessibilidade */      .skip-link {         position: absolute;         top: -40px;         left: 0;         background: var(--primary-color);         color: white;         padding: 8px;         text-decoration: none;         z-index: 100;         border-radius: 0 0 4px 0;      }            .skip-link:focus {         top: 0;      }            [data-theme="dark"] .term {         background: rgba(231, 76, 60, 0.3);      }            [data-theme="dark"] .formula {         background: linear-gradient(135deg, rgba(52, 152, 219, 0.2), rgba(52, 152, 219, 0.1));         border-color: var(--primary-color);      }            [data-theme="dark"] .note {         background: linear-gradient(135deg, rgba(243, 156, 18, 0.2), rgba(243, 156, 18, 0.1));      }            /* 4. Destaque de Texto Durante Leitura por Voz */      .highlight-text {         background-color: rgba(52, 152, 219, 0.4);         padding: 2px 0;         border-radius: 3px;         transition: background-color 0.3s ease;      }            /* 5. Sistema de Tags para Anotações */      .tags-filter {         margin-bottom: 15px;         padding: 10px;         background: var(--bg-color);         border-radius: 8px;      }            .tags-filter h4 {         margin: 0 0 10px 0;         font-size: 0.9em;         color: var(--text-color);      }            .tag-button {         background: var(--primary-color);         color: white;         border: none;         padding: 5px 10px;         border-radius: 15px;         margin: 0 5px 5px 0;         cursor: pointer;         font-size: 0.8em;         transition: all 0.3s ease;      }            .tag-button:hover {         background: var(--secondary-color);         transform: translateY(-2px);      }            .tag-button.active {         background: var(--accent-color);      }            .tag-button.clear {         background: var(--text-muted);      }            .nota-tags {         margin: 5px 0;      }            .tag {         display: inline-block;         background-color: var(--primary-color);         color: white;         padding: 2px 8px;         border-radius: 12px;         font-size: 0.8em;         margin-right: 5px;      }            /* 6. Modo de Estudo com Flashcards */      .flashcard-container {         display: flex;         justify-content: center;         align-items: center;         height: 100%;         padding: 20px;      }            .flashcard {         width: 100%;         max-width: 600px;         height: 300px;         perspective: 1000px;         cursor: pointer;      }            .flashcard-front, .flashcard-back {         position: absolute;         width: 100%;         height: 100%;         backface-visibility: hidden;         border-radius: 12px;         box-shadow: var(--shadow);         display: flex;         flex-direction: column;         justify-content: center;         align-items: center;         padding: 20px;         text-align: center;         transition: transform 0.6s;         background: var(--card-bg);      }            .flashcard-back {         transform: rotateY(180deg);      }            .flashcard-actions {         display: flex;         justify-content: center;         gap: 15px;         flex-wrap: wrap;      }            .flashcard-actions button {         padding: 8px 16px;         border-radius: 6px;         border: none;         cursor: pointer;         font-weight: 600;         transition: all 0.3s ease;      }            .flashcard-actions button:nth-child(1) {         background: var(--success-color);         color: white;      }            .flashcard-actions button:nth-child(2) {         background: var(--warning-color);         color: white;      }            .flashcard-actions button:nth-child(3) {         background: var(--accent-color);         color: white;      }            .flashcard-actions button:nth-child(4) {         background: var(--primary-color);         color: white;      }            .flashcard-actions button:hover {         transform: translateY(-2px);         box-shadow: var(--shadow);      }            /* 7. Indicador de Progresso Visual */      .section.read {         opacity: 0.8;         border-left: 4px solid var(--success-color);      }            .read-indicator {         display: inline-block;         margin-left: 10px;         color: var(--success-color);         font-size: 0.8em;      }            .progress-indicator {         margin: 15px 0;         padding: 10px;         background: var(--bg-color);         border-radius: 8px;         font-size: 0.9em;      }            .progress-text {         margin-bottom: 5px;         color: var(--text-color);      }            .progress-bar-container {         height: 8px;         background: var(--border-color);         border-radius: 4px;         overflow: hidden;      }            .progress-bar-fill {         height: 100%;         background: linear-gradient(90deg, var(--primary-color), var(--success-color));         transition: width 0.3s ease;      }            /* 9. Exportação de Anotações */      .export-options {         margin-top: 20px;         padding: 15px;         background: var(--bg-color);         border-radius: 8px;      }            .export-options h4 {         margin: 0 0 10px 0;         color: var(--primary-color);      }            .export-options button {         margin: 5px;         padding: 8px 12px;         border-radius: 4px;         border: none;         background: var(--primary-color);         color: white;         cursor: pointer;         transition: all 0.3s ease;      }            .export-options button:hover {         background: var(--secondary-color);         transform: translateY(-2px);      }            /* 10. Modo de Impressão Otimizado */      @media print {         .header, .sidebar, .tools-sidebar, .scroll-top, .fullscreen-btn,          .speed-control, .bookmark-list, .reading-stats, .share-menu, .presentation-controls, .exit-focus-btn, .header-toggle-btn,         .favorite-btn, .bookmark-btn, .open-popup-btn, .section-note-btn,         .progress-bar, .search-container, .font-controls, .header-controls,         .term .tooltiptext, .image-placeholder, .comparison-item,         .nota-acoes button, .export-options, .tags-filter {            display: none !important;         }                  body {            padding: 0 !important;            background: white !important;            color: black !important;            font-size: 12pt !important;            line-height: 1.5 !important;         }                  .container {            box-shadow: none !important;            margin: 0 !important;            max-width: none !important;            padding: 0 !important;            border: none !important;         }                  .section {            page-break-inside: avoid;            margin-bottom: 20pt !important;            padding: 10pt !important;            border: 1pt solid #ddd !important;            border-radius: 0 !important;         }                  h2, h3, h4, h5 {            page-break-after: avoid;            margin-top: 10pt !important;            margin-bottom: 5pt !important;         }                  h2 {            font-size: 16pt !important;            border-bottom: 1pt solid #ddd !important;            padding-bottom: 5pt !important;            color: black !important;            background: none !important;         }                  h3 {            font-size: 14pt !important;            color: black !important;         }                  h4 {            font-size: 12pt !important;            color: black !important;         }                  h5 {            font-size: 11pt !important;            color: black !important;         }                  p {            margin-bottom: 8pt !important;            orphans: 3;            widows: 3;         }                  .formula, .note {            page-break-inside: avoid;            padding: 10pt !important;            border: 1pt solid #ddd !important;            background: none !important;         }                  .formula {            font-style: italic;            text-align: center;         }                  .note h4 {            color: black !important;         }                  .comparison {            display: block !important;         }                  .comparison-item {            page-break-inside: avoid;            margin-bottom: 10pt !important;            padding: 10pt !important;            border: 1pt solid #ddd !important;         }                  .bibliography-item {            margin-bottom: 5pt !important;         }                  .term {            background: none !important;            color: black !important;            padding: 0 !important;            border-bottom: 1pt dotted #333 !important;            border-radius: 0 !important;         }                  .read-indicator {            display: none !important;         }                  @page {            margin: 2cm;                        @top-center {               content: "Noções de Eletricidade e Equipamento Gerador de Raios X";               font-size: 10pt;            }                        @bottom-center {               content: "Página " counter(page) " de " counter(pages);               font-size: 10pt;            }         }                  .section:not(:first-child) {            page-break-before: always;         }                  img {            max-width: 100% !important;            height: auto !important;            page-break-inside: avoid;         }                  .bibliography {            margin-top: 20pt !important;         }                  .bibliography h2 {            background: none !important;            color: black !important;            border-left: none !important;            padding-left: 0 !important;         }      }            /* ===== FIM DAS MELHORIAS IMPLEMENTADAS ===== */            /* Responsive */      @media (max-width: 768px) {         body {            padding: 10px 10px 20px 10px;         }         .header {            padding: 8px 15px;         }         .header h1 {            font-size: 0.9em;         }         .container {            padding: 20px;            margin: 0;            border-radius: 0;         }         .sidebar, .tools-sidebar {            width: 280px;            left: -300px;         }         .tools-sidebar {            right: -300px;         }         .search-container {            max-width: 150px;         }         .comparison {            grid-template-columns: 1fr;         }         .fullscreen-btn {            width: 32px;            height: 32px;            font-size: 14px;         }         .tools-grid {            grid-template-columns: 1fr;         }         body.presentation-mode .section {            padding: 30px 20px;         }         body.presentation-mode .section h2 {            font-size: 2em;         }         body.presentation-mode .section p {            font-size: 1.2em;         }         .presentation-controls {            padding: 0 20px;         }         .presentation-controls button {            padding: 8px 12px;            font-size: 14px;         }         .slide-counter {            font-size: 14px;            padding: 6px 12px;         }         .presentation-progress {            width: 200px;         }      }            /* Popup styles */      button { margin: 5px; padding: 8px 14px; cursor: pointer; border-radius: 4px; border: none; background: #1976d2; color: #fff; font-size: 0.5em; }      button:hover { background: #125a9c; }      #popup {         display: none;         position: fixed;         top: 0; left: 0; width: 100%; height: 100%;         background: rgba(0,0,0,0.6);         justify-content: center; align-items: center;         padding: 10px;         box-sizing: border-box;         z-index: 10000;      }      #popup-content {         background: #fff; padding: 20px; width: 500px;         max-height: 90%; overflow-y: auto;         border-radius: 8px; position: relative;      }      #fecharPopup {         position: absolute; top: 10px; right: 10px;         background: red; color: #fff; border: none; padding: 5px 10px;         cursor: pointer; border-radius: 4px; font-size: 1em;      }      .nota {          border-bottom: 1px solid #ccc;          padding: 10px 0;          display: flex;         justify-content: space-between;         align-items: center;         font-size: 0.95em;      }      .nota-info { flex-grow: 1; }      .nota-acoes { margin-left: 10px; }      .nota h3 { margin: 0; font-size: 1.1em; }      .nota small { font-size: 0.85em; }      textarea { width: 100%; height: 100px; padding: 5px; font-size: 0.9em; }      input[type="text"], input[type="datetime-local"] {         width: 100%; padding: 8px; margin-bottom: 10px; box-sizing: border-box; font-size: 0.9em;      }      #listing-container {         display: block;      }      #form-container {         display: none;      }      /* Estilos para o popup da seção */      .section-popup {         display: none;         position: fixed;         top: 0;         left: 0;         width: 100%;         height: 100%;         z-index: 10001;      }      .section-popup-overlay {         position: absolute;         top: 0;         left: 0;         width: 100%;         height: 100%;         background-color: rgba(0, 0, 0, 0.7);      }      .section-popup-content {         position: relative;         width: 90%;         max-width: 800px;         height: 90%;         margin: 5% auto;         background-color: var(--card-bg);         border-radius: 12px;         box-shadow: var(--shadow);         display: flex;         flex-direction: column;         overflow: hidden;      }      .section-popup-header {         padding: 15px 20px;         background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));         color: white;         display: flex;         justify-content: space-between;         align-items: center;      }      .section-popup-header h3 {         margin: 0;         font-size: 1.2em;      }      .section-popup-controls {         display: flex;         align-items: center;         gap: 10px;      }      .section-popup-btn {         background: rgba(255, 255, 255, 0.2);         border: 1px solid rgba(255, 255, 255, 0.3);         color: white;         width: 36px;         height: 36px;         border-radius: 50%;         cursor: pointer;         transition: all 0.3s ease;         display: flex;         align-items: center;         justify-content: center;         font-size: 16px;      }      .section-popup-btn:hover {         background: rgba(255, 255, 255, 0.3);         transform: scale(1.1);      }      .section-popup-btn:disabled {         opacity: 0.5;         cursor: not-allowed;      }      #zoomLevel {         min-width: 50px;         text-align: center;      }      .section-popup-body {         flex: 1;         padding: 20px;         overflow-y: auto;         font-size: 100%; /* Será ajustado pelo zoom */      }      .section-popup-footer {         padding: 10px 20px;         background: var(--bg-color);         border-top: 1px solid var(--border-color);         display: flex;         justify-content: center;         gap: 15px;      }      /* Estilos para os controles de áudio no popup da seção */      .section-audio-controls {         display: flex;         align-items: center;         gap: 8px;         margin-top: 15px;         padding: 10px;         background: rgba(52, 152, 219, 0.1);         border-radius: 8px;         border: 1px solid rgba(52, 152, 219, 0.2);      }      .section-audio-controls h4 {         margin: 0;         font-size: 0.9em;         color: var(--primary-color);      }      .section-audio-buttons {         display: flex;         gap: 4px;      }      .section-audio-buttons button {         background: rgba(52, 152, 219, 0.2);         border: 1px solid rgba(52, 152, 219, 0.3);         color: var(--primary-color);         width: 32px;         height: 32px;         border-radius: 50%;         cursor: pointer;         transition: all 0.3s ease;         display: flex;         align-items: center;         justify-content: center;         font-size: 0.9em;      }      .section-audio-buttons button:hover:not(:disabled) {         background: rgba(52, 152, 219, 0.3);         transform: scale(1.1);      }      .section-audio-buttons button:disabled {         background: rgba(52, 152, 219, 0.1);         cursor: not-allowed;         opacity: 0.6;      }      .open-popup-btn {         background: none;         border: none;         color: white;         cursor: pointer;         font-size: 1em;         margin-left: 10px;         transition: all 0.3s ease;      }      .open-popup-btn:hover {         transform: scale(1.2);      }            /* Estilos para o modo tela cheia do popup da seção */      .section-popup.fullscreen-mode {         width: 100% !important;         height: 100% !important;         max-width: none !important;         max-height: none !important;         margin: 0 !important;         border-radius: 0 !important;      }            .section-popup.fullscreen-mode .section-popup-body {         height: calc(100% - 120px) !important;      }            .section-popup.fullscreen-mode .section-popup-footer {         padding: 15px 20px;         background: rgba(0, 0, 0, 0.8);         border-top: 1px solid rgba(255, 255, 255, 0.2);         display: flex;         justify-content: space-between;         align-items: center;      }            .section-popup.fullscreen-mode .section-audio-controls {         background: rgba(52, 152, 219, 0.2);         border: 1px solid rgba(52, 152, 219, 0.4);      }            .section-popup.fullscreen-mode .section-popup-controls {         background: rgba(0, 0, 0, 0.5);         padding: 5px;         border-radius: 8px;      }            .section-popup.fullscreen-mode .section-popup-header {         background: linear-gradient(135deg, rgba(52, 152, 219, 0.9), rgba(44, 62, 80, 0.9));         backdrop-filter: blur(10px);      }            /* Estilos para o botão de anotações da seção */      .section-note-btn {         background: none;         border: none;         color: var(--text-muted);         cursor: pointer;         font-size: 1.2em;         transition: all 0.3s ease;         margin-left: 10px;      }            .section-note-btn:hover,      .section-note-btn.has-notes {         color: var(--warning-color);         transform: scale(1.2);      }            /* Estilos para o popup de anotações da seção */      #sectionNotePopup .section-popup-body {         padding: 20px;      }            #sectionNotePopup .nota {         border-bottom: 1px solid var(--border-color);         padding: 15px 0;         margin-bottom: 10px;      }            #sectionNotePopup .nota h4 {         margin: 0 0 5px 0;         color: var(--primary-color);      }            #sectionNotePopup .nota small {         color: var(--text-muted);         font-size: 0.8em;      }            #sectionNotePopup .nota p {         margin: 10px 0 0 0;         white-space: pre-wrap;      }            #sectionNotePopup .nota-acoes {         margin-top: 10px;      }            #sectionNotePopup .nota-acoes button {         margin-right: 5px;         padding: 5px 10px;         font-size: 0.8em;      }