yazanammar_obsidian-theme-e.../styles.css
2025-09-19 18:39:57 +03:00

1613 lines
33 KiB
CSS

.color-master-text-input {
width: 100px;
}
.setting-item-control input[type="color"],
.color-master-text-input {
vertical-align: middle;
}
.is-ltr .color-master-text-input {
margin-left: 8px;
}
.is-ltr .setting-item-name,
.is-ltr .setting-item-description,
.is-ltr h2,
.is-ltr h3 {
text-align: left;
}
.is-rtl {
direction: rtl;
}
.is-rtl .color-master-text-input {
margin-right: 8px;
}
.is-rtl .setting-item-name,
.is-rtl .setting-item-description,
.is-rtl h2,
.is-rtl h3 {
text-align: right;
}
/* --- Global RTL Notice --- */
body.color-master-rtl .notice {
direction: rtl;
text-align: right;
}
/* --- Force LTR for English UI in RTL Obsidian --- */
.is-ltr {
direction: ltr !important;
}
.is-ltr h2,
.is-ltr h3,
.is-ltr .setting-item-name,
.is-ltr .setting-item-description {
text-align: left !important;
}
.is-ltr .setting-item {
flex-direction: row !important;
}
.is-ltr .modal-content .setting-item {
flex-direction: row !important;
}
/* ======================================================= */
.is-ltr .modal-content .setting-item-info {
text-align: left !important;
margin-right: 10px;
margin-left: 0;
}
.setting-item-control input[type="color"] {
-webkit-appearance: none;
width: 28px;
height: 28px;
min-width: 28px;
padding: 0;
border: none;
border-radius: 50%;
cursor: pointer;
overflow: hidden;
}
.setting-item-control input[type="color"]::-webkit-color-swatch-wrapper {
padding: 0;
}
.setting-item-control input[type="color"]::-webkit-color-swatch {
border-radius: 50%;
border: 1px solid var(--background-modifier-border);
width: 100%;
height: 100%;
box-sizing: border-box;
}
/* --- Styles for Graph View Header Buttons --- */
.cm-graph-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
margin-top: 20px;
}
.cm-graph-header h3 {
margin: 0;
}
.cm-graph-buttons-container button:not(:last-child) {
margin-right: 8px;
}
/* --- Styles for the Graph View header buttons wrapper --- */
.cm-buttons-wrapper {
display: flex;
align-items: center;
gap: 8px;
}
.cm-refresh-button-setting {
border: none;
padding: 0;
margin: 0;
}
.cm-refresh-button-setting .setting-item-control {
justify-content: flex-end;
}
.cm-temporary-buttons {
display: contents;
}
/* --- Styles for Accessibility Checker --- */
.cm-accessibility-checker {
display: flex;
align-items: center;
padding: 4px 8px;
border-radius: 5px;
margin-left: 10px; /* For LTR */
font-size: 11px;
font-weight: 500;
border: 1px solid var(--background-modifier-border);
}
.is-rtl .cm-accessibility-checker {
margin-left: 0;
margin-right: 10px; /* For RTL */
}
/* Accessibility Rating Colors */
.cm-accessibility-pass {
background-color: #28a74520;
color: #28a745;
border-color: #28a74580;
}
.cm-accessibility-warn {
background-color: #ffc10720;
color: #b58900;
border-color: #ffc10780;
}
.cm-accessibility-fail {
background-color: #dc354520;
color: #dc3545;
border-color: #dc354580;
}
/* Color Master — Search UI */
.cm-search-container {
display: flex;
gap: 8px;
align-items: center;
margin: 8px 0 12px;
}
.cm-search-left {
display: flex;
gap: 8px;
align-items: center;
flex: 1;
}
.cm-search-controls {
display: flex;
gap: 6px;
align-items: center;
}
.cm-search-info {
font-size: 12px;
color: var(--muted-text);
margin-left: 6px;
}
.cm-var-row.cm-hidden,
.cm-category-container.cm-hidden,
.cm-static-sections.cm-hidden {
display: none !important;
}
.cm-var-row .cm-var-name {
font-weight: 600;
}
/* --- Text shading with a moving color gradient --- */
.color-master-settings-tab .cm-highlight {
background-image: linear-gradient(
to right,
#0ea5e9,
#8b5cf6,
#d946ef,
#0ea5e9
);
background-size: 200% auto;
color: transparent;
-webkit-background-clip: text;
background-clip: text;
animation: textShine 1s linear infinite;
}
@keyframes textShine {
to {
background-position: 200% center;
}
}
.cm-filter-badge {
font-size: 11px;
padding: 2px 6px;
border-radius: 8px;
background: rgba(0, 0, 0, 0.06);
color: var(--text-normal);
margin-left: 6px;
}
.cm-search-small {
font-size: 12px;
padding: 4px 6px;
border-radius: 6px;
background-color: var(--background-secondary);
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
.cm-search-small.is-active {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
/* Profile copy / paste buttons */
.cm-profile-actions {
display: flex;
gap: 8px;
align-items: center;
margin: 10px 0 14px;
}
.cm-profile-action-btn {
padding: 6px 10px;
border-radius: 8px;
font-size: 13px;
cursor: pointer;
border: 1px solid var(--interactive-border);
background: var(--background-secondary);
color: var(--text-normal);
}
.cm-profile-action-btn:active {
transform: translateY(1px);
}
.cm-profile-action-btn.mod-cta {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.cm-profile-action-spacer {
flex: 1;
}
.cm-banner-svg {
display: block;
width: 100%;
height: auto;
}
.cm-content-wrapper {
display: flex;
gap: 20px;
align-items: center;
width: 100%;
padding: 0 4px;
}
.cm-like-actions {
display: flex;
flex-direction: column;
gap: 12px;
align-self: stretch;
}
.cm-like-stats {
flex: 3;
min-width: 0;
}
.cm-like-actions {
display: flex;
flex-direction: column;
gap: 10px;
align-self: stretch;
flex: 2;
max-width: 150px;
}
.cm-like-action {
width: 100%;
justify-content: center;
}
/* ===== Stats Progress Bars ===== */
.cm-like-stats {
display: flex;
flex-direction: column;
gap: 14px;
margin-top: 12px;
width: 100%;
}
.cm-stat-box {
width: 100%;
}
.cm-stat-header {
display: flex;
justify-content: space-between;
align-items: baseline;
margin-bottom: 6px;
}
.cm-stat-header .title {
font-size: 13px;
font-weight: 500;
color: var(--text-muted);
}
.cm-stat-header .value {
font-size: 13px;
font-weight: 600;
color: var(--text-normal);
}
.cm-stat-box .skill-bar {
height: 8px;
width: 100%;
border-radius: 6px;
background-color: var(--background-modifier-border);
overflow: hidden;
}
.skill-bar .skill-per {
position: relative;
overflow: hidden;
display: block;
height: 100%;
width: 0%;
border-radius: 6px;
animation: cm-progress 0.8s ease-out forwards;
background: none;
}
.skill-bar .skill-per::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 400%;
height: 100%;
background: linear-gradient(
115deg,
#33ff00,
#ffcc00,
#8000ff,
#00b7ff,
#00ff66
);
background-size: 25% 100%;
animation: cm-border-animation 2s linear infinite;
}
@keyframes cm-progress {
from {
width: 0;
}
to {
opacity: 1;
}
}
.skill-per .tooltip {
position: absolute;
right: -18px;
top: -30px;
font-size: 11px;
font-weight: 500;
color: var(--text-on-accent);
padding: 2px 6px;
border-radius: 4px;
background-color: var(--interactive-accent);
opacity: 0;
transition: opacity 0.2s;
}
.skill-bar:hover .tooltip {
opacity: 1;
}
.tooltip::before {
content: "";
position: absolute;
left: 50%;
bottom: -3px;
height: 6px;
width: 6px;
background-color: var(--interactive-accent);
transform: translateX(-50%) rotate(45deg);
}
/* ===== Animated Buttons ("codepen-button" style) ===== */
.codepen-button {
display: block;
cursor: pointer;
color: white;
position: relative;
text-decoration: none;
font-weight: 600;
border-radius: 6px;
overflow: hidden;
padding: 2px;
isolation: isolate;
width: 100%;
}
.codepen-button::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 400%;
height: 100%;
background: linear-gradient(
115deg,
#33ff00,
#ffcc00,
#8000ff,
#00b7ff,
#00ff66
);
background-size: 25% 100%;
animation: cm-border-animation 1.5s linear infinite;
animation-play-state: running;
}
@keyframes cm-border-animation {
to {
transform: translateX(-25%);
}
}
.codepen-button span {
position: relative;
display: block;
text-align: center;
padding: 8px 12px;
font-size: 13px;
background: var(--background-secondary);
border-radius: 4px;
height: 100%;
}
/* --- Light Mode Fix for Animated Buttons --- */
.theme-light .codepen-button span {
color: #000000;
background: #f0f2f5;
}
/* ------------------------------------------ */
.cm-promo-container {
border-top: 1px solid var(--background-modifier-border);
text-align: center;
width: 100%;
}
/* ===== Glowing Border Animation for Header ===== */
.cm-like-card {
display: flex;
flex-direction: column;
gap: 16px;
align-items: stretch;
padding: 10px;
margin-top: 20px;
border-radius: 12px;
background: linear-gradient(135deg, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02));
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
position: relative;
border: 4px solid transparent;
border-image-slice: 1;
animation: cm-glowing-border 2s linear infinite;
}
@keyframes cm-glowing-border {
0% {
border-image-source: linear-gradient(
to right,
#ff0000,
#ff7f00,
#ffff00,
#00ff00,
#0000ff,
#4b0082,
#9400d3
);
}
14% {
border-image-source: linear-gradient(
to right,
#ff7f00,
#ffff00,
#00ff00,
#0000ff,
#4b0082,
#9400d3,
#ff0000
);
}
28% {
border-image-source: linear-gradient(
to right,
#ffff00,
#00ff00,
#0000ff,
#4b0082,
#9400d3,
#ff0000,
#ff7f00
);
}
42% {
border-image-source: linear-gradient(
to right,
#00ff00,
#0000ff,
#4b0082,
#9400d3,
#ff0000,
#ff7f00,
#ffff00
);
}
56% {
border-image-source: linear-gradient(
to right,
#0000ff,
#4b0082,
#9400d3,
#ff0000,
#ff7f00,
#ffff00,
#00ff00
);
}
70% {
border-image-source: linear-gradient(
to right,
#4b0082,
#9400d3,
#ff0000,
#ff7f00,
#ffff00,
#00ff00,
#0000ff
);
}
84% {
border-image-source: linear-gradient(
to right,
#9400d3,
#ff0000,
#ff7f00,
#ffff00,
#00ff00,
#0000ff,
#4b0082
);
}
100% {
border-image-source: linear-gradient(
to right,
#ff0000,
#ff7f00,
#ffff00,
#00ff00,
#0000ff,
#4b0082,
#9400d3
);
}
}
/* Paste CSS button + badges */
.cm-paste-css-btn {
position: relative;
padding-right: 44px;
}
.cm-paste-css-btn .cm-badge-new {
position: absolute;
right: 6px;
top: 6px;
background: #16a34a;
color: white;
font-size: 11px;
padding: 2px 6px;
border-radius: 8px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.cm-profile-badge-css {
display: inline-block;
margin-left: 8px;
font-size: 11px;
color: #0ea5e9;
padding: 2px 6px;
border-radius: 8px;
border: 1px solid rgba(14, 165, 233, 0.12);
background: rgba(14, 165, 233, 0.06);
}
/* --- To add a space under the input field title in the module --- */
.cm-modal-label {
display: block;
margin-bottom: 6px;
}
.setting-item-control input[type="color"].is-transparent {
position: relative;
background-color: white;
}
.setting-item-control input[type="color"].is-transparent::-webkit-color-swatch {
background-image: linear-gradient(45deg, #ccc 25%, transparent 25%),
linear-gradient(-45deg, #ccc 25%, transparent 25%),
linear-gradient(45deg, transparent 75%, #ccc 75%),
linear-gradient(-45deg, transparent 75%, #ccc 75%);
background-size: 10px 10px;
background-position: 0 0, 0 5px, 5px -5px, -5px 0px;
}
/* --- CSS Snippets --- */
.cm-snippets-container {
margin-bottom: 20px;
}
.cm-snippets-container h3 {
margin-top: -10px;
margin-bottom: 15px;
}
.cm-last-option-item {
margin-bottom: -20px;
}
/* ======================================================= */
.tag {
color: var(--tag-color) !important;
background-color: var(--tag-bg) !important;
padding: 2px 8px;
border-radius: 12px;
text-decoration: none;
}
.tag:hover {
color: var(--tag-color-hover) !important;
}
/* 2. Styling for Editor View */
.cm-s-obsidian span.cm-hashtag-begin,
.cm-s-obsidian span.cm-hashtag-end {
color: var(--tag-color) !important;
background-color: var(--tag-bg) !important;
padding-top: 2px;
padding-bottom: 2px;
}
.cm-s-obsidian span.cm-hashtag-begin {
padding-inline-start: 8px;
border-start-start-radius: 12px;
border-end-start-radius: 12px;
}
.cm-s-obsidian span.cm-hashtag-end {
padding-inline-end: 8px;
border-start-end-radius: 12px;
border-end-end-radius: 12px;
}
/* =================================================================== */
.cm-segmented-control button.is-active {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
font-weight: 600;
}
.cm-segmented-control button:hover:not(.is-active) {
background-color: var(--background-modifier-hover);
}
/* =================================================================== */
.cm-section-heading {
margin-top: 24px;
}
/* --- Add Underline to Modal Titles --- */
.color-master-modal .modal-content h3 {
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 10px;
margin-bottom: 20px;
}
/* ======================================================= */
.color-master-modal .modal-content .setting-item:first-of-type {
border-top: none;
}
.color-master-modal .modal-content h3 {
margin-bottom: 3px;
}
.color-master-modal .setting-item-description {
white-space: normal !important;
max-width: 80%;
}
/* --- Adjust HR (Divider Line) Spacing --- */
.cm-static-sections > hr {
margin-top: 3px;
margin-bottom: 30px;
}
/* --- Adjust HR Spacing Inside Modals --- */
.color-master-modal .modal-content > hr {
margin-top: 0px;
margin-bottom: 0px;
}
/* ===== Color Master: Base Notice Styling ===== */
.notice,
.toast {
padding: 8px 12px !important;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
max-width: 300px;
border-radius: 6px !important;
min-width: 120px !important;
box-sizing: border-box !important;
}
/* --- Final Styles for Rule Actions (Compact Version) --- */
.cm-rule-actions {
display: flex;
align-items: center;
gap: 8px;
padding-right: 8px;
margin-right: 8px;
border-right: 1px solid var(--background-modifier-border);
}
.cm-rule-action-buttons {
display: flex;
flex-direction: row;
gap: 3px;
}
.cm-rule-action-buttons button.clickable-icon {
height: 20px;
width: 20px;
padding: 0;
}
.cm-rule-action-buttons button.clickable-icon svg {
width: 14px;
height: 14px;
}
.cm-rule-action-buttons button.clickable-icon:not(:disabled):hover {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.cm-rule-order-number {
font-size: 16px;
font-weight: 500;
color: var(--text-muted);
font-family: monospace;
}
.cm-color-container {
display: flex;
align-items: center;
gap: 4px;
}
.cm-color-container .setting-item-control button {
height: 24px;
width: 24px;
}
/* ======================================================= */
/* --- Styles for the new Tag Input --- */
.cm-tag-input-container {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px;
padding: 5px 8px;
border-radius: 5px;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
cursor: text;
min-height: 36px; /* Ensures it has a consistent height */
width: 100%;
}
.cm-tag-input-container:focus-within {
border-color: var(--background-modifier-border-focus);
box-shadow: 0 0 0 1px var(--background-modifier-border-focus);
}
.cm-tag-item {
display: flex;
align-items: center;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
padding: 3px 4px 3px 8px;
border-radius: 4px;
font-size: 13px;
font-weight: 500;
white-space: nowrap;
}
.cm-tag-remove {
margin-left: 6px;
cursor: pointer;
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
font-size: 14px;
line-height: 1;
transition: background-color 0.2s ease;
}
.cm-tag-remove:hover {
background-color: rgba(0, 0, 0, 0.2);
}
.cm-tag-input-field {
flex-grow: 1;
border: none;
outline: none;
background-color: transparent;
padding: 4px 2px;
min-width: 120px; /* Gives space for typing */
color: var(--text-normal);
}
.cm-tag-input-field:focus {
box-shadow: none;
}
.cm-rule-input-wrapper {
flex-grow: 1;
}
/* --- Fix for Transparent Swatch inside Rules Modal --- */
/* This targets the color input ONLY inside the rules modal when it's transparent */
.cm-rules-modal .cm-rule-item input[type="color"].is-transparent {
background-color: transparent;
}
.cm-rules-modal
.cm-rule-item
input[type="color"].is-transparent::-webkit-color-swatch {
background-image: linear-gradient(45deg, #808080 25%, transparent 25%),
linear-gradient(-45deg, #808080 25%, transparent 25%),
linear-gradient(45deg, transparent 75%, #808080 75%),
linear-gradient(-45deg, transparent 75%, #808080 75%);
background-size: 8px 8px;
background-position: 0 0, 0 4px, 4px -4px, -4px 0px;
border: 1px solid var(--text-faint);
}
/* --- Cleaner, Borderless Icons for Rules Modal --- */
.cm-rule-icon-button {
background: none !important;
border: none !important;
box-shadow: none !important;
padding: 4px !important;
cursor: pointer;
color: var(--text-muted);
border-radius: 4px;
transition: background-color 0.2s ease, color 0.2s ease;
}
.cm-rule-icon-button:hover:not(.mod-warning) {
background-color: var(--background-modifier-hover) !important;
color: var(--text-normal);
}
.cm-rule-icon-button.mod-warning:hover {
background-color: var(--interactive-error) !important;
color: var(--text-on-accent) !important;
}
.cm-rule-icon-button.mod-warning {
color: var(--text-muted);
}
/* ======================================================= */
/* Drag handle (three lines) */
.cm-drag-handle {
cursor: grab;
color: var(--text-faint);
display: flex;
align-items: center;
padding: 6px;
border-radius: 6px;
font-weight: 600;
user-select: none;
}
.cm-drag-handle:hover {
color: var(--text-normal);
background-color: var(--background-modifier-hover);
}
.cm-rule-ghost {
opacity: 0.75;
transform: scale(0.99);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
transition: transform 0.12s ease;
}
.cm-rule-item.newly-added {
animation: fadeInScale 0.35s ease-out;
}
@keyframes fadeInScale {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}
.cm-rule-item.removing {
animation: fadeOutSlide 0.12s ease-in forwards;
}
@keyframes fadeOutSlide {
from {
opacity: 1;
transform: translateX(0);
}
to {
opacity: 0;
transform: translateX(20px);
}
}
/* ==================================================== */
.cm-drag-handle {
background: transparent !important;
border: none !important;
box-shadow: none !important;
padding: 0 !important;
opacity: 0.6;
cursor: grab;
}
.cm-drag-handle:hover {
opacity: 1;
}
/* Ensure official variables apply in editor & preview */
/* Inline code */
.cm-s-obsidian span.cm-inline-code,
.markdown-preview-view code:not(pre code) {
color: var(--code-normal) !important;
background-color: var(--code-background) !important;
}
/* Highlighted text */
.cm-s-obsidian span.cm-highlight,
.markdown-preview-view mark,
.markdown-preview-view .highlight {
background-color: var(--text-highlight-bg, #ffff0066) !important;
}
/* ==================================================== */
.cm-search-wrapper {
position: relative;
display: flex;
align-items: center;
flex: 1;
}
.cm-search-icon {
position: absolute;
left: 10px;
color: var(--text-muted);
pointer-events: none;
z-index: 1;
display: flex;
align-items: center;
}
.cm-search-icon svg {
width: 16px;
height: 16px;
}
.cm-search-wrapper .cm-search-input {
width: 100%;
padding: 8px 12px 8px 38px !important;
background-color: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
color: var(--text-normal);
font-size: 14px;
transition: all 0.2s ease-in-out;
}
.cm-search-wrapper .cm-search-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px rgba(0, 170, 255, 0.2);
}
/* ==================================================== */
.cm-duplicate-modal-icon {
position: relative;
top: -2px;
}
.cm-duplicate-modal-icon svg {
width: 22px;
height: 22px;
color: var(--interactive-warning);
}
.cm-duplicate-modal-header {
display: flex;
align-items: center;
gap: 10px;
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 10px;
margin-bottom: 5px;
}
.cm-duplicate-modal .setting-item {
margin-top: -10px;
border-top: none;
}
.color-master-modal .cm-duplicate-modal-header h3 {
margin-top: 0;
margin-bottom: 0;
border-bottom: none;
}
.cm-duplicate-modal-content h3 {
margin-top: 0;
margin-bottom: 8px;
}
.cm-duplicate-modal strong {
color: var(--text-accent);
font-weight: 600;
}
.cm-duplicate-modal .setting-item-description {
line-height: 1.4;
margin-bottom: 5px;
}
.cm-duplicate-modal .setting-item {
border-top: none;
}
/* --- New layout for the Notification Rules window --- */
.cm-rules-modal-header {
display: flex;
align-items: center;
gap: 10px;
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 10px;
margin-bottom: 15px;
}
.color-master-modal .cm-rules-modal-header h3 {
border-bottom: none;
margin-top: 0;
margin-bottom: 0;
padding-bottom: 0;
}
.cm-rules-modal-header-icon svg {
width: 22px;
height: 22px;
color: var(--text-accent);
}
.cm-rules-modal-header-icon {
position: relative;
top: 3.5px;
}
.cm-rules-modal-desc {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
margin-top: -5px;
margin-bottom: 20px;
line-height: 1.5;
}
/* --- Animation to alert the user when typing a duplicate word --- */
.cm-tag-item.cm-tag-duplicate-flash {
animation: cm-flash-red 1s ease-out, cm-shake 0.5s ease-in-out;
}
@keyframes cm-flash-red {
0% {
background-color: var(--interactive-error);
}
100% {
background-color: var(--interactive-accent);
}
}
/* Definition of light vibration animation */
@keyframes cm-shake {
10%,
90% {
transform: translateX(-1px);
}
20%,
80% {
transform: translateX(1px);
}
30%,
50%,
70% {
transform: translateX(-3px);
}
40%,
60% {
transform: translateX(3px);
}
}
/* --- Color Master: Blockquote Background Support --- */
.markdown-preview-view blockquote,
.cm-s-obsidian span.cm-quote {
background-color: var(--blockquote-bg) !important;
}
/* --- Variables to control the size of the clip list --- */
:root {
--cm-snippet-row-min-height: 40px;
--cm-snippet-toggle-scale: 0.85;
--cm-snippet-icon-size: 18px;
--cm-snippet-drag-area-spacing: 4px;
--cm-snippet-handle-vertical-nudge: 2px;
}
/* -------------------------------------------------- */
/* --- Final formatting improvements to the Snippets and Rules lists --- */
.cm-rule-item {
align-items: center !important;
}
.color-master-settings-tab .cm-snippet-item.setting-item {
align-items: center !important;
min-height: var(--cm-snippet-row-min-height);
padding-top: 4px !important;
padding-bottom: 4px !important;
transition: transform 0.16s ease;
gap: 4px !important;
}
.cm-snippet-item .setting-item-info {
display: flex;
align-items: center;
}
/* Snippet specific edit to add space to handle */
.cm-snippet-item {
padding-left: 10px !important;
}
/* --- (Modified) Control the size of the icons and the activation button --- */
.cm-snippet-item .checkbox-container {
transform: scale(var(--cm-snippet-toggle-scale));
}
.cm-snippet-item .setting-item-control button .svg-icon {
width: var(--cm-snippet-icon-size);
height: var(--cm-snippet-icon-size);
}
/* ------------------------------------------------- */
/* Make the background of icon buttons transparent and consistent */
.cm-snippet-item .setting-item-control button {
background-color: transparent;
border: none;
box-shadow: none;
color: var(--text-muted);
padding: 4px;
display: flex;
align-items: center;
justify-content: center;
height: 28px;
width: 28px;
}
.cm-snippet-item .setting-item-control button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
/* Drag handle container formats (for clippings) */
.cm-snippet-drag-container {
display: flex;
align-items: center;
gap: 8px;
margin-right: var(--cm-snippet-drag-area-spacing);
}
/* Vertical line layout */
.cm-snippet-divider {
color: var(--background-modifier-border);
font-size: 16px;
opacity: 0.8;
}
/* Serial Number Format (for Clips) */
.cm-snippet-order-number {
font-size: 14px;
font-weight: 600;
color: var(--text-muted);
width: auto;
padding-left: 6px;
text-align: center;
}
/* Drag icon format (for clippings) */
.cm-snippet-drag-handle {
cursor: grab;
color: var(--text-faint);
opacity: 0.7;
position: relative;
top: var(--cm-snippet-handle-vertical-nudge);
}
.cm-snippet-drag-handle:hover {
opacity: 1;
color: var(--text-normal);
}
/* Format the "ghost" element while dragging (for clippings) */
.cm-snippet-ghost {
opacity: 0.75;
transform: scale(0.99);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
transition: transform 0.12s ease;
}
/* To remove the white background while dragging the clip */
.cm-snippet-item.cm-snippet-dragged {
background-color: var(--background-secondary) !important;
}
/* --- Notification Rules Window Fixes --- */
.cm-rule-item .cm-rule-actions {
display: flex;
align-items: center;
align-self: stretch;
}
.cm-rule-item .cm-rule-input-wrapper {
display: flex;
align-items: center;
}
/* --- Other formats for clippings --- */
.cm-snippets-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 20px;
margin-bottom: 16px;
}
.cm-snippets-header h3 {
margin: 0;
white-space: nowrap;
}
.cm-snippets-header .setting-item.cm-snippets-add-button {
border: none;
padding: 0;
margin: 0;
}
.cm-snippets-list-container {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 20px;
}
.cm-snippets-empty-state {
color: var(--text-muted);
font-style: italic;
padding: 10px;
text-align: center;
}
/* ======================================================= */
.cm-snippet-item .setting-item-control button,
.cm-snippet-item .setting-item-control button .svg-icon {
transition: all 0.2s ease-in-out;
}
.cm-snippet-item .setting-item-control button.is-success {
color: #00ff08;
}
.cm-snippet-item .setting-item-control button.is-success .svg-icon {
transform: scale(1.2);
}
.cm-snippet-item .setting-item-info {
flex: 1;
min-width: 0;
margin-right: 10px;
}
.cm-snippet-item .setting-item-control {
display: flex;
align-items: center;
gap: 4px;
}
/* ======================================================= */
.cm-add-variable-setting.setting-item {
border-bottom: 1px solid var(--background-modifier-border);
}
.color-master-settings-tab > hr {
border: none;
height: 1px;
background-color: var(--background-modifier-border);
margin: -1px 0px;
}
/* ======================================================= */
/* --- Fixed some RTL support bugs in new languages. --- */
/* ======================================================= */
.modal-container:has(.color-master-settings-tab[dir="rtl"]) .modal,
.modal-container:has(.color-master-modal[dir="rtl"]) .modal {
direction: rtl;
}
[dir="rtl"] .modal-content h3,
[dir="rtl"] .modal-content p,
[dir="rtl"] .modal-content label,
[dir="rtl"] .setting-item-name,
[dir="rtl"] .setting-item-description {
text-align: right !important;
}
[dir="rtl"] .modal-content .setting-item {
flex-direction: row-reverse !important;
}
[dir="rtl"] .modal-button-container {
flex-direction: row-reverse !important;
justify-content: flex-end !important;
}
[dir="rtl"] .color-master-text-input {
margin-right: 8px;
margin-left: 0;
}
/* ======= Robust LTR/RTL fix for Color Master (place at END of styles.css) ======= */
.color-master-modal,
.color-master-modal .modal-content,
.cm-plugin-modal,
.cm-modal {
display: block;
box-sizing: border-box;
}
.color-master-modal .setting-item:not(.cm-hidden),
.cm-plugin-modal .setting-item:not(.cm-hidden),
.modal-content .setting-item:not(.cm-hidden),
.modal-content .setting-row:not(.cm-hidden) {
display: flex !important;
width: 100% !important;
align-items: center !important;
gap: 10px !important;
margin-bottom: 0px !important;
box-sizing: border-box !important;
min-width: 0 !important;
}
:dir(ltr) .color-master-modal .setting-item,
:dir(ltr) .cm-plugin-modal .setting-item {
flex-direction: row !important;
}
:dir(ltr) .color-master-modal .setting-item > .setting-label,
:dir(ltr) .cm-plugin-modal .setting-item > .setting-label {
order: 1 !important;
}
:dir(ltr) .color-master-modal .setting-item > .setting-item-control,
:dir(ltr) .cm-plugin-modal .setting-item > .setting-item-control {
order: 2 !important;
flex: 1 1 auto !important;
min-width: 0 !important;
}
:dir(rtl) .color-master-modal .setting-item,
:dir(rtl) .cm-plugin-modal .setting-item {
flex-direction: row !important;
}
:dir(rtl) .color-master-modal .setting-item > .setting-label,
:dir(rtl) .cm-plugin-modal .setting-item > .setting-label {
order: 2 !important;
}
:dir(rtl) .color-master-modal .setting-item > .setting-item-control,
:dir(rtl) .cm-plugin-modal .setting-item > .setting-item-control {
order: 1 !important;
flex: 1 1 auto !important;
min-width: 0 !important;
}
.color-master-modal .modal-content h3,
.color-master-modal .modal-content p,
.color-master-modal .modal-content label,
.color-master-modal .setting-item .setting-item-description,
.cm-plugin-modal .modal-content h3,
.cm-plugin-modal .modal-content p {
unicode-bidi: isolate !important;
}
:dir(rtl) .color-master-modal .modal-content h3,
:dir(rtl) .color-master-modal .modal-content p,
:dir(rtl) .color-master-modal .modal-content label,
:dir(rtl) .color-master-modal .setting-item .setting-item-description {
direction: rtl !important;
text-align: right !important;
}
:dir(ltr) .color-master-modal .modal-content h3,
:dir(ltr) .color-master-modal .modal-content p,
:dir(ltr) .color-master-modal .modal-content label,
:dir(ltr) .color-master-modal .setting-item .setting-item-description {
direction: ltr !important;
text-align: left !important;
}
.color-master-modal .modal-button-container,
.cm-plugin-modal .modal-button-container,
.modal-button-container,
.modal-footer,
.modal-actions,
.modal-buttons {
display: flex !important;
width: 100% !important;
box-sizing: border-box !important;
gap: 8px !important;
margin-top: 12px !important;
padding-top: 6px !important;
flex-wrap: wrap !important;
align-items: center !important;
}
:dir(ltr) .modal-button-container,
:dir(ltr) .modal-footer,
:dir(ltr) .modal-actions,
:dir(ltr) .modal-buttons {
justify-content: flex-end !important;
}
:dir(rtl) .modal-button-container,
:dir(rtl) .modal-footer,
:dir(rtl) .modal-actions,
:dir(rtl) .modal-buttons {
justify-content: flex-start !important;
}
.modal-button-container button,
.modal-footer button,
.modal-actions button,
.modal-buttons button {
min-width: 84px !important;
padding: 6px 10px !important;
white-space: nowrap !important;
align-self: center !important;
}
body.color-master-rtl .color-master-modal .modal-content h3,
body.color-master-rtl .color-master-modal .modal-content p,
body.color-master-rtl
.color-master-modal
.setting-item
.setting-item-description {
direction: rtl !important;
unicode-bidi: isolate !important;
text-align: right !important;
}
body.color-master-rtl .color-master-modal .modal-content {
direction: rtl;
}
body.color-master-rtl .color-master-modal .modal-content h3,
body.color-master-rtl .color-master-modal .modal-content p {
text-align: right;
}
/* --- Notification Rules Window Formats --- */
.cm-rules-modal .setting-item {
border: none;
}
.cm-rules-container {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 16px;
border-top: 1px solid var(--background-modifier-border);
padding-top: 16px;
}
.cm-rule-item {
display: flex;
align-items: center;
gap: 10px;
padding: 8px;
border-radius: 6px;
background-color: var(--background-secondary);
}
.cm-rule-item .text-input {
flex-grow: 1;
}
.cm-regex-container {
display: flex;
align-items: center;
gap: 6px;
font-size: var(--font-ui-smaller);
color: var(--text-muted);
}
/* Corrected the interface layout for the LTR language in Obsidian Arabic. */
.color-master-settings-tab[dir="ltr"] {
direction: ltr !important;
}
.color-master-settings-tab[dir="ltr"] .setting-item {
flex-direction: row !important;
}
.color-master-settings-tab[dir="ltr"] h2,
.color-master-settings-tab[dir="ltr"] h3,
.color-master-settings-tab[dir="ltr"] .setting-item-name,
.color-master-settings-tab[dir="ltr"] .setting-item-description {
text-align: left !important;
}
.color-master-settings-tab[dir="ltr"] .setting-item-info {
margin-right: 10px !important;
margin-left: 0 !important;
}
.color-master-settings-tab[dir="ltr"] .cm-search-container,
.color-master-settings-tab[dir="ltr"] .cm-profile-actions,
.color-master-settings-tab[dir="ltr"] .cm-snippets-header {
flex-direction: row !important;
}
.color-master-settings-tab[dir="ltr"] .cm-search-icon {
left: 10px !important;
right: auto !important;
}
.color-master-settings-tab[dir="ltr"] .cm-search-input {
padding: 8px 12px 8px 38px !important;
}
.color-master-settings-tab[dir="ltr"] .cm-accessibility-checker {
margin-left: 10px !important;
margin-right: 0 !important;
}