/* WA customizations for codemirror6 client */ :root { color-scheme: light dark; --wa-focus-ring-offset: 0 /* 0.0625rem */; --wa-focus-ring-style: dotted; --wa-focus-ring-width: 3px; } :root, .wa-light, .wa-dark .wa-invert { --wa-color-surface-raised: var(--wa-color-neutral-95); --wa-color-surface-default: var(--wa-color-neutral-90); --wa-color-surface-lowered: var(--wa-color-neutral-80); } html, body { height: 100%; overflow: hidden; /* Prevent page scrolling */ } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: #333; background: #f5f7fa; display: flex; flex-direction: column; height: 100vh; } /* Header styling */ .header { display: flex; justify-content: space-between; text-align: center; flex-shrink: 0; } /* Main content area - fills available space */ .main-content { display: flex; flex: 1; overflow: hidden; padding: 0; gap: 15px; max-width: 1400px; margin: 0 auto; width: 100%; } /* Left Column styling - Details Panels Only (1/4 width) */ .left-column { flex: 1; /* Takes 1 part */ display: flex; flex-direction: column; background-color: white; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08); overflow: hidden; min-width: 0; /* Prevents flex item from overflowing */ } .left-column-header { background-color: #3498db; color: white; padding: 15px; font-size: 1.1rem; font-weight: 600; flex-shrink: 0; border-bottom: 1px solid #2980b9; } /* Details container - fills column height */ .details-container { flex: 1; display: flex; flex-direction: column; overflow: hidden; } /* Details wrapper with scroll */ .details-wrapper { flex: 1; overflow-y: auto; padding: 1px; } /* Right Column styling - Controls and Information (3/4 width) */ .right-column { flex: 3; /* Takes 3 parts (3/4 of width) */ display: flex; flex-direction: column; background-color: white; border-radius: 6px; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08); overflow: hidden; min-width: 0; /* Prevents flex item from overflowing */ } .right-column-header { padding: 2px; flex-shrink: 0; border-bottom: 1px solid #34495e; } /* Right column content area */ .right-column-content { flex: 1; display: flex; flex-direction: column; overflow-y: auto; padding: 0; } /* Custom scrollbar styling */ .details-wrapper::-webkit-scrollbar, .right-column-content::-webkit-scrollbar { width: 6px; } .details-wrapper::-webkit-scrollbar-track, .right-column-content::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 3px; } .details-wrapper::-webkit-scrollbar-thumb, .right-column-content::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 3px; } .details-wrapper::-webkit-scrollbar-thumb:hover, .right-column-content::-webkit-scrollbar-thumb:hover { background: #a8a8a8; } /* Individual details element styling */ details { border: 1px solid #ddd; border-radius: 5px; margin-bottom: 12px; overflow: hidden; background-color: #f9f9f9; transition: all 0.3s ease; } details:last-child { margin-bottom: 0; } details[open] { border-color: #3498db; box-shadow: 0 2px 8px rgba(52, 152, 219, 0.2); } details:focus-within { box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.5); } /* Summary styling */ summary { padding: 15px; font-weight: 600; cursor: pointer; background-color: #f1f8ff; user-select: none; display: flex; justify-content: space-between; align-items: center; transition: background-color 0.2s; outline: none; } summary:hover, summary:focus { background-color: #e8f4fc; outline: none; } summary::-webkit-details-marker { display: none; } .summary-content { display: flex; justify-content: space-between; width: 100%; align-items: center; } .summary-title { font-size: 1rem; color: #2c3e50; } /*********************** codemirror6 search panel tweaks to show close **********************/ .cm-panel.cm-search [name="close"] { color: black } .cm-panel.cm-panel-lint [name="close"] { color: black } .cm-panel.cm-search button { margin: 0; } .cm-panel.cm-search [name="search"] { width: 98%; } .item-count { background-color: #3498db; color: white; padding: 3px 10px; border-radius: 20px; font-size: 0.8rem; font-weight: normal; min-width: 60px; text-align: center; } /* Content area of details */ .details-content { padding: 0; max-height: 200px; overflow-y: auto; background-color: white; } /* List styling */ .details-list { list-style-type: none; padding: 0; } .details-list li { padding: 12px 15px; border-bottom: 1px solid #eee; transition: background-color 0.2s; } .details-list li:hover { background-color: #f8f9fa; } .details-list li:focus { background-color: #e8f4fc; outline: 2px solid #3498db; outline-offset: -2px; } .details-list li:last-child { border-bottom: none; } .empty-list { padding: 15px; text-align: center; color: #7f8c8d; font-style: italic; } /* Right Column Sections */ .section { margin-bottom: 20px; } .section:last-child { margin-bottom: 0; } .section h3 { color: #2c3e50; margin-bottom: 12px; padding-bottom: 6px; border-bottom: 2px solid #f1f1f1; font-size: 1.05rem; } /* Panel Controls Section - At the top */ .controls-section { background-color: #f8f9fa; padding: 20px; border-radius: 6px; border-left: 4px solid #2ecc71; margin-bottom: 20px; order: -1; /* This moves it to the top */ } .controls { display: flex; flex-direction: column; gap: 10px; } button#remove-item { background-color: #e74c3c; } button#remove-item:before { content: "-"; } button#remove-item:hover, button#remove-item:focus { background-color: #c0392b; } button#clear-all { background-color: #f39c12; } button#clear-all:before { content: "×"; } button#clear-all:hover, button#clear-all:focus { background-color: #d68910; } /* About Section */ .about-section { background-color: #f8f9fa; padding: 20px; border-radius: 6px; border-left: 4px solid #3498db; } .about-section p { margin-bottom: 10px; font-size: 0.95rem; } .about-section p:last-child { margin-bottom: 0; } /* Keyboard Help Section */ .keyboard-help-section { background-color: #f8f9fa; padding: 20px; border-radius: 6px; border-left: 4px solid #9b59b6; } .keyboard-help { display: flex; flex-direction: column; gap: 8px; } .keyboard-item { display: flex; align-items: center; gap: 8px; padding: 6px 0; } kbd { background-color: #2c3e50; color: white; padding: 3px 7px; border-radius: 4px; font-family: monospace; font-size: 0.85rem; min-width: 35px; text-align: center; display: inline-block; } .keyboard-description { flex: 1; font-size: 0.9rem; } /* Status indicator */ .status-indicator { background-color: #f1f8ff; padding: 10px 12px; border-radius: 4px; margin-top: 15px; font-size: 0.85rem; border-left: 4px solid #3498db; } /* Footer - always at bottom */ .footer { flex-shrink: 0; font-size: 0.85rem; display: flex; justify-content: space-between; padding: 2px; } /* Focus styles for accessibility */ summary:focus, li:focus { outline: 2px solid #3498db; outline-offset: 2px; } /* Responsive adjustments */ @media (max-width: 1024px) { .main-content { flex-direction: column; padding: 12px; } .left-column, .right-column { min-height: 300px; } .left-column { flex: 1; } .right-column { flex: 1; } } @media (max-width: 768px) { .header h1 { font-size: 1.4rem; } .header p { font-size: 0.85rem; } .controls { flex-direction: column; } button { width: 100%; } } /* Small screens: Adjust layout ratio */ @media (min-width: 1025px) and (max-width: 1200px) { .left-column { flex: 1; } .right-column { flex: 2.5; } }