/* ocean with green variant */ /* Light Mode */ .keyword { color: #1EAB18; /* Slightly darker green */ /* Dark Lime */ } .function { color: #39D833; /* Brighter lime green */ /* Bright Lime */ } .punctuation { color: #357C30; /* Muted green-gray */ /* Sage Green */ } .comment { color: #5F935B; /* Muted green */ /* Olive Green */ } .string, .constant, .annotation, .boolean, .number { color: #2E8F2A; /* Darker green */ /* Dark Forest Green */ } .tag { color: #1FC01B; /* Original vibrant green */ /* Vibrant Green */ } .attr-name { color: #4FE34A; /* Light and bright green */ /* Electric Green */ } .attr-value { color: #1EAB18; /* Slightly darker green */ /* Dark Lime */ } /* Dark Mode */ .dark .keyword { color: #8CFF7D; /* Soft light green */ /* Soft Mint */ } .dark .function { color: #A0FF93; /* Light lime green */ /* Minty Green */ } .dark .string, .dark .constant, .dark .annotation, .dark .boolean, .dark .number { color: #72FF73; /* Light green */ /* Spring Green */ } .dark .tag { color: #7FFF7A; /* Vibrant green */ /* Neon Green */ } .dark .attr-name { color: #B2FFA3; /* Soft pastel green */ /* Mint Green */ } .dark .attr-value { color: #1EAB18; /* Slightly darker green */ /* Dark Lime */ } .dark .comment { color: #9ca3af; /* Lighter gray for dark mode */ } .dark .punctuation { color: #9ca3af; /* Lighter gray for dark mode */ } .youtube { position: relative; padding-bottom: 56.25%; /* Rasio aspek 16:9 */ height: 0; overflow: hidden; background: #000; /* Latar belakang hitam untuk memadukan player */ border-radius: 8px; /* Sudut melengkung */ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); /* Bayangan lembut */ margin: 24px 0; } .youtube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; border-radius: 8px; /* Sudut melengkung pada iframe */ } /* ======================================================================== */ /* Custom styling for code blocks */ /* ======================================================================== */ .code-block-container { position: relative; margin: 1.5rem 0; border: 1px solid hsl(var(--border)); overflow: hidden; font-size: 0.875rem; border-radius: 0.75rem; } .code-block-header { display: flex; align-items: center; gap: 0.5rem; background-color: hsl(var(--muted)); padding: 0.5rem 1rem; border-bottom: 1px solid hsl(var(--border)); color: hsl(var(--muted-foreground)); font-family: monospace; font-size: 0.8rem; } .code-block-actions { position: absolute; top: 0.5rem; right: 0.75rem; z-index: 10; } .code-block-actions button { color: hsl(var(--muted-foreground)); transition: color 0.2s ease-in-out; } .code-block-actions button:hover { color: hsl(var(--foreground)); } .code-block-body pre[class*="language-"] { margin: 0 !important; padding: 0 !important; background: transparent !important; } .line-numbers-wrapper { position: absolute; top: 0; left: 0; width: 3rem; padding-top: 1rem; text-align: right; color: var(--line-number-color); user-select: none; } .line-highlight { position: absolute; left: 0; right: 0; background: hsl(var(--primary) / 0.1); border-left: 2px solid hsl(var(--primary)); pointer-events: none; } .code-block-body pre[data-line-numbers="true"] .line-highlight { padding-left: 3.5rem; } .code-block-body::-webkit-scrollbar { height: 8px; } .code-block-body::-webkit-scrollbar-track { background: transparent; } .code-block-body::-webkit-scrollbar-thumb { background: hsl(var(--border)); border-radius: 4px; } .code-block-body::-webkit-scrollbar-thumb:hover { background: hsl(var(--muted)); }