basex-lsp/webapp/static/clients/codemirror/wa2.css
2026-02-22 12:17:47 +00:00

471 lines
No EOL
8.1 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* 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;
}
}