:root {
  --primary-color: #0066FF;
  --primary: #1976d2;
  --primary-dark: #0052CC;
  --primary-light: #4dabf7;
  --secondary-color: #FF6B6B;
  --secondary: #0d1117;
  --accent-color: #4ECDC4;
  --dark-bg: #0a0e27;
  --darker-bg: #050812;
  --light-text: #ffffff;
  --light-text-secondary: #e0e0e0;
  --glass-blur: 10px;
  --border-radius: 15px;
  --radius: 15px;
  --radius-sm: 8px;
  --radius-lg: 20px;
  --gradient-primary: linear-gradient(135deg, #1976d2 0%, #1565c0 50%, #0d47a1 100%);
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  --shadow-soft: 0 2px 8px rgba(0, 0, 0, 0.1);
  --shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  --shadow-strong: 0 8px 32px rgba(0, 0, 0, 0.2);
}

/* ===================== SUPPORT NOTICE STYLES ===================== */
.support-notice {
  background: linear-gradient(135deg, #0066ff 0%, #00ccff 100%);
  color: white;
  padding: 12px 0;
  position: relative;
  z-index: 1000;
  box-shadow: 0 2px 15px rgba(0, 102, 255, 0.3);
  animation: slideDown 0.5s ease-out;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.notice-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  padding: 0 20px;
  flex-wrap: wrap;
}

.notice-content i.fa-heart {
  color: #ff3366;
  font-size: 18px;
  animation: heartbeat 1.5s infinite;
}

@keyframes heartbeat {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

.notice-content p {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  flex: 1;
  text-align: center;
  max-width: 600px;
}

.notice-content strong {
  color: #fff;
  background: rgba(255, 255, 255, 0.2);
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 600;
}

.share-btn {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
  padding: 8px 16px;
  border-radius: 25px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  min-width: 100px;
  justify-content: center;
}

.share-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

.share-btn.copied {
  background: #10b981;
  border-color: #10b981;
}

.share-btn.copied .btn-text {
  display: none;
}

.share-btn.copied::after {
  content: "Copied!";
  font-weight: 500;
}

.close-notice {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  font-size: 16px;
  padding: 4px;
  margin-left: 5px;
  transition: color 0.2s;
}

.close-notice:hover {
  color: white;
}

/* ===================== GALAXY BACKGROUND ===================== */
#galaxy-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -3;
  background: linear-gradient(125deg, #0b0b2d 0%, #1a1a4a 25%, #0f0f2a 50%, #1a1a3a 75%, #0b0b2d 100%);
  overflow: hidden;
}

.stars, .stars2, .stars3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(45deg);
}

.stars:after, .stars2:after, .stars3:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    radial-gradient(2px 2px at 20px 30px, #eee, transparent),
    radial-gradient(2px 2px at 40px 70px, #fafafa, transparent),
    radial-gradient(1px 1px at 90px 40px, #fff, transparent),
    radial-gradient(1px 1px at 130px 80px, #ddd, transparent),
    radial-gradient(2px 2px at 160px 30px, #eee, transparent);
  background-repeat: repeat;
  background-size: 200px 200px;
  opacity: 0.7;
  animation: starsZoom 60s infinite linear;
}

.stars2:after {
  background-image: 
    radial-gradient(2px 2px at 10px 10px, #fff, transparent),
    radial-gradient(1px 1px at 50px 160px, #eee, transparent),
    radial-gradient(1px 1px at 80px 40px, #fff, transparent),
    radial-gradient(1px 1px at 120px 80px, #ddd, transparent),
    radial-gradient(2px 2px at 180px 120px, #eee, transparent);
  opacity: 0.5;
  animation: starsZoom 80s infinite linear;
  animation-delay: -20s;
}

.stars3:after {
  background-image: 
    radial-gradient(1px 1px at 30px 20px, #fff, transparent),
    radial-gradient(1px 1px at 70px 100px, #eee, transparent),
    radial-gradient(1px 1px at 110px 50px, #fff, transparent),
    radial-gradient(1px 1px at 150px 130px, #ddd, transparent),
    radial-gradient(1px 1px at 190px 80px, #eee, transparent);
  opacity: 0.3;
  animation: starsZoom 100s infinite linear;
  animation-delay: -40s;
}

@keyframes starsZoom {
  0% { transform: scale(1); }
  100% { transform: scale(1.2); }
}

.galaxy-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(75, 0, 130, 0.4) 0%, transparent 70%);
  box-shadow: 0 0 200px 100px rgba(75, 0, 130, 0.3);
  animation: galaxyPulse 15s infinite alternate;
}

@keyframes galaxyPulse {
  0% { opacity: 0.4; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0.7; transform: translate(-50%, -50%) scale(1.1); }
}

.nebula {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.15;
  animation: nebulaFloat 25s infinite alternate ease-in-out;
}

.nebula-1 {
  width: 400px;
  height: 400px;
  background: #4b0082;
  top: 10%;
  left: 15%;
}

.nebula-2 {
  width: 300px;
  height: 300px;
  background: #ff1493;
  top: 60%;
  right: 10%;
  animation-delay: 5s;
}

.nebula-3 {
  width: 350px;
  height: 350px;
  background: #1e90ff;
  bottom: 20%;
  left: 70%;
  animation-delay: 10s;
}

@keyframes nebulaFloat {
  0% { transform: translate(0, 0) scale(1); }
  25% { transform: translate(20px, -30px) scale(1.05); }
  50% { transform: translate(-15px, 20px) scale(0.95); }
  75% { transform: translate(25px, 15px) scale(1.02); }
  100% { transform: translate(-10px, -25px) scale(1); }
}

/* ===================== ANIMATED BACKGROUND ===================== */
.animated-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  pointer-events: none;
}

.floating-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(40px);
  opacity: 0.6;
  animation: float 6s ease-in-out infinite;
}

.orb-1 {
  width: 300px;
  height: 300px;
  background: var(--primary);
  top: 10%;
  left: 5%;
}

.orb-2 {
  width: 200px;
  height: 200px;
  background: #ff6fcb;
  top: 60%;
  right: 10%;
  animation-delay: 2s;
}

.orb-3 {
  width: 250px;
  height: 250px;
  background: #3399ff;
  bottom: 20%;
  left: 15%;
  animation-delay: 4s;
}

.orb-4 {
  width: 180px;
  height: 180px;
  background: #ffd600;
  top: 30%;
  right: 20%;
  animation-delay: 1s;
}

.color-splash {
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  filter: blur(30px);
  opacity: 0.3;
  animation: splash 8s ease-in-out infinite;
}

.splash-1 {
  background: #00ff88;
  top: 80%;
  left: 80%;
}

.splash-2 {
  background: #ff4444;
  top: 20%;
  right: 10%;
  animation-delay: 4s;
}

@keyframes float {
  0%, 100% { transform: translateY(0px) scale(1); }
  50% { transform: translateY(-20px) scale(1.05); }
}

@keyframes splash {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.3; }
  25% { transform: translate(20px, -15px) scale(1.1); opacity: 0.4; }
  50% { transform: translate(-15px, 10px) scale(0.9); opacity: 0.2; }
  75% { transform: translate(10px, 15px) scale(1.05); opacity: 0.35; }
}

/* ===================== ENHANCED HEADER ===================== */
header {
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(13, 17, 23, 0.85);
  backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(75, 0, 130, 0.3);
  box-shadow: 0 2px 30px rgba(0, 0, 0, 0.3);
  transition: var(--transition);
}

header:hover {
  background: rgba(13, 17, 23, 0.92);
  border-bottom: 1px solid rgba(75, 0, 130, 0.5);
  box-shadow: 0 2px 30px rgba(0, 0, 0, 0.4), 0 0 20px rgba(75, 0, 130, 0.2);
}

#main-menu-container {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 5%;
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
}

#main-menu-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
}

.logo-container {
  display: flex;
  align-items: center;
}

.logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  gap: 12px;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  padding: 8px 16px;
  border-radius: var(--radius);
  color: white;
}

.logo-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transition: var(--transition-slow);
}

.logo-link:hover::before {
  left: 100%;
}

.logo-link:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2), 0 0 15px rgba(25, 118, 210, 0.3);
}

.logo-img {
  width: 50px;
  height: 50px;
  transition: var(--transition);
  filter: drop-shadow(0 0 5px rgba(25, 118, 210, 0.5));
}

.logo-link:hover .logo-img {
  filter: drop-shadow(0 0 10px rgba(25, 118, 210, 0.8));
  transform: rotate(5deg) scale(1.05);
}

.logo-text {
  font-size: 1.5rem;
  font-weight: 700;
  background: linear-gradient(135deg, #4b0082 0%, #1976d2 50%, #3399ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.menu-container {
  display: flex;
  align-items: center;
  gap: 20px;
}

.menu-list {
  list-style: none;
  display: flex;
  gap: 8px;
  padding: 0;
  margin: 0;
}

.menu-link {
  text-decoration: none;
  color: #cbd5e1;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid transparent;
}

.menu-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(75, 0, 130, 0.4) 0%, rgba(25, 118, 210, 0.6) 50%, rgba(51, 153, 255, 0.4) 100%);
  transition: var(--transition-slow);
  z-index: -1;
}

.menu-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #4b0082 25%, #1976d2 50%, #3399ff 75%, transparent 100%);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.menu-link:hover::before,
.menu-link.active::before {
  left: 0;
}

.menu-link:hover::after,
.menu-link.active::after {
  transform: scaleX(1);
}

.menu-link:hover,
.menu-link.active {
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3), 0 0 15px rgba(25, 118, 210, 0.4);
  border: 1px solid rgba(75, 0, 130, 0.3);
  background: rgba(255, 255, 255, 0.08);
}

.menu-item.dropdown {
  position: relative;
}

.dropdown-arrow {
  transition: var(--transition);
}

.menu-item.dropdown:hover .dropdown-arrow {
  transform: rotate(180deg);
}

.menu-item .dropdown-content {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(13, 17, 23, 0.95);
  backdrop-filter: blur(20px) saturate(180%);
  min-width: 220px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 20px rgba(75, 0, 130, 0.3);
  border: 1px solid rgba(75, 0, 130, 0.3);
  border-radius: var(--radius);
  z-index: 1000;
  padding: 8px 0;
  list-style: none;
  animation: dropdownSlide 0.3s ease;
}

@keyframes dropdownSlide {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.menu-item .dropdown-content li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  color: #cbd5e1;
  text-decoration: none;
  font-size: 14px;
  transition: var(--transition);
  background: rgba(255, 255, 255, 0.03);
  margin: 2px 8px;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
}

.menu-item .dropdown-content li a:hover {
  background: linear-gradient(135deg, rgba(75, 0, 130, 0.3) 0%, rgba(25, 118, 210, 0.5) 100%);
  color: white;
  transform: translateX(5px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(75, 0, 130, 0.3);
}

.menu-item.dropdown:hover .dropdown-content {
  display: block;
}

/* ===================== ENHANCED FOOTER ===================== */
footer {
  background: linear-gradient(135deg, var(--secondary) 0%, #1e293b 100%);
  color: white;
  padding: 60px 20px 20px;
  margin-top: 80px;
  position: relative;
  overflow: hidden;
}

footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gradient-primary);
}

.footer-content {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
  align-items: start;
}

.footer-brand {
  text-align: left;
}

.footer-logo {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}

.footer-logo img {
  width: 60px;
  height: 60px;
}

.brand-name {
  font-size: 1.5rem;
  font-weight: 700;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.footer-description {
  color: #cbd5e1;
  line-height: 1.6;
  margin-bottom: 30px;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.footer-column-title {
  color: white;
  margin-bottom: 20px;
  font-size: 1.1rem;
  font-weight: 600;
}

.footer-column ul {
  list-style: none;
  padding: 0;
}

.footer-column li {
  margin-bottom: 12px;
}

.footer-column a {
  color: #cbd5e1;
  text-decoration: none;
  transition: var(--transition);
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-column a:hover {
  color: var(--primary-light);
  transform: translateX(5px);
}

.footer-bottom {
  max-width: 1200px;
  margin: 40px auto 0;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.footer-tagline {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #cbd5e1;
  font-size: 0.9rem;
}

.footer-tagline i {
  color: var(--primary);
}

.copyright {
  color: #94a3b8;
  font-size: 0.9rem;
}
html.dark-mode .sub-dialog-content {
  background: rgba(36, 39, 46, 0.95);
  border-color: rgba(255, 255, 255, 0.1);
}

html.dark-mode .export-dialog-header h3,
html.dark-mode .sub-dialog-header h3 {
  color: #f3f6fa;
}

html.dark-mode .export-option {
  background: rgba(36, 39, 46, 0.8);
  border-color: rgba(255, 255, 255, 0.1);
}

html.dark-mode .export-option span {
  color: #f3f6fa;
}

html.dark-mode .export-option small {
  color: #bfc9d1;
}

html.dark-mode .code-tab {
  background: rgba(36, 39, 46, 0.8);
  border-color: rgba(255, 255, 255, 0.1);
  color: #f3f6fa;
}

html.dark-mode .close-btn {
  background: rgba(255, 255, 255, 0.1);
  color: #f3f6fa;
}

html.dark-mode .close-btn:hover {
  background: rgba(255, 255, 255, 0.2);
}

html.dark-mode body {
  background: linear-gradient(135deg, var(--dark-bg) 0%, #1a1f3a 50%, var(--darker-bg) 100%);
  color: var(--light-text);
}

html.dark-mode header {
  background: rgba(10, 14, 39, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

html.dark-mode .dark-mode-toggle {
  color: var(--accent-color);
}

.dark-mode-toggle:hover {
  transform: rotate(20deg);
}

html.dark-mode .palette-info-section {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

html.dark-mode .palette-description {
  color: var(--light-text-secondary);
}

html.dark-mode .color-strip-label {
  color: var(--light-text);
}

html.dark-mode .visualization-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

html.dark-mode .visualization-title {
  color: var(--light-text);
}

html.dark-mode .palette-colors-display-section {
  background: #0a0e27;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

html.dark-mode .control-btn:disabled {
  background: #555555;
}

html.dark-mode .modal-content {
  background: rgba(30, 30, 40, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

html.dark-mode .slider-group label {
  color: var(--light-text);
}

html.dark-mode .slider::-webkit-slider-thumb,
html.dark-mode .slider::-moz-range-thumb {
  border-color: #fff;
}

html.dark-mode .slider-value {
  color: var(--light-text-secondary);
}

html.dark-mode .color-count-display {
  background: rgba(0, 102, 255, 0.2);
  color: #a3c8ff;
}

html.dark-mode .section-description {
  color: var(--light-text-secondary);
}

html.dark-mode footer {
  background: rgba(0, 0, 0, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--light-text-secondary);
}
html.dark-mode .menu-list.mobile.open {
    background: rgba(36, 39, 46, 0.92);
}

/* html.dark-mode svg:not(#typography-svg) text, */
html.dark-mode svg:not(#typography-svg) .visualization-title,
html.dark-mode svg:not(#typography-svg) tspan {
  fill: #ffffff !important;
  color: #ffffff !important;
}
html.dark-mode svg:not(#typography-svg) line,
html.dark-mode svg:not(#typography-svg) path:not([fill]),
html.dark-mode svg:not(#typography-svg) polyline,
html.dark-mode svg:not(#typography-svg) polygon:not([fill]),
html.dark-mode svg:not(#typography-svg) rect:not([fill]) {
  stroke: rgba(255, 255, 255, 0.2) !important;
}
html.dark-mode svg:not(#typography-svg) rect[fill="#ffffff"],
html.dark-mode svg:not(#typography-svg) rect[fill="white"],
html.dark-mode .visualization-card svg:not(#typography-svg) rect[fill="#ffffff"] {
  fill: rgba(255, 255, 255, 0.05) !important;
}
html.dark-mode #bar-chart-svg text,
html.dark-mode #bar-chart-svg line {
  fill: #ffffff !important;
  stroke: rgba(255, 255, 255, 0.2) !important;
}
html.dark-mode #bar-chart-svg .bar-chart-title {
  fill: #ffffff !important;
}
html.dark-mode #pie-chart-svg text {
  fill: #ffffff !important;
}

html.dark-mode #pie-chart-svg .center-text {
  fill: #ffffff !important;
}
html.dark-mode #line-chart-svg text,
html.dark-mode #line-chart-svg line {
  fill: #ffffff !important;
  stroke: rgba(255, 255, 255, 0.2) !important;
}

html.dark-mode #line-chart-svg .axis-label,
html.dark-mode #line-chart-svg .chart-title {
  fill: #ffffff !important;
}
html.dark-mode #radar-chart-svg text,
html.dark-mode #radar-chart-svg line,
html.dark-mode #radar-chart-svg polygon:not([fill]) {
  fill: #ffffff !important;
  stroke: rgba(255, 255, 255, 0.2) !important;
}

html.dark-mode #radar-chart-svg .radar-title {
  fill: #ffffff !important;
}
html.dark-mode #heatmap-svg text,
html.dark-mode #heatmap-svg .heat-title,
html.dark-mode #heatmap-svg .heat-subtitle {
  fill: #ffffff !important;
}

html.dark-mode #heatmap-svg .day-label,
html.dark-mode #heatmap-svg .hour-label {
  fill: rgba(255, 255, 255, 0.8) !important;
}
html.dark-mode #multi-series-svg text,
html.dark-mode #multi-series-svg .series-title {
  fill: #ffffff !important;
}
html.dark-mode #saas-dashboard-svg text:not([fill]),
html.dark-mode #saas-dashboard-svg .dashboard-text {
  fill: #ffffff !important;
}
html.dark-mode #saas-dashboard-svg .card-bg {
  fill: rgba(255, 255, 255, 0.08) !important;
}
html.dark-mode .visualization-card h3,
html.dark-mode .visualization-card p,
html.dark-mode .visualization-card span,
html.dark-mode .visualization-card small {
  color: #ffffff !important;
}
html.dark-mode .button-examples button {
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
html.dark-mode .ui-card h4,
html.dark-mode .ui-card small,
html.dark-mode .ui-card i {
  color: #ffffff !important;
}
html.dark-mode .gradient-box span {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}
html.dark-mode .accessibility-item {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}
html.dark-mode .accessibility-item h4,
html.dark-mode .accessibility-item p,
html.dark-mode .accessibility-item small {
  color: #ffffff !important;
}
html.dark-mode .color-strip-label {
  color: #ffffff !important;
}
html.dark-mode .palette-description,
html.dark-mode .section-description {
  color: rgba(255, 255, 255, 0.8) !important;
}
html.dark-mode svg:not(#typography-svg) text[fill="#666"],
html.dark-mode svg:not(#typography-svg) text[fill="#333"] {
  fill: #ffffff !important;
}
html.dark-mode #radar-chart-svg polygon[stroke="rgba(0,0,0,0.1)"],
html.dark-mode #radar-chart-svg line[stroke="rgba(0,0,0,0.2)"] {
  stroke: rgba(255, 255, 255, 0.15) !important;
}


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 50%, #0d1428 100%);
  color: #333;
  line-height: 1.6;
  min-height: 100vh;
}

header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  padding: 1rem 2rem;
}

.header-content {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo-link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--primary-color);
  font-weight: 700;
  font-size: 1.3rem;
  transition: all 0.3s ease;
}

.logo-link:hover {
  color: var(--secondary-color);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.back-btn {
  padding: 0.6rem 1.2rem;
  background: var(--primary-color);
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.back-btn:hover {
  background: var(--primary-dark);
  transform: translateY(-2px);
}

.dark-mode-toggle {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.3rem;
  color: var(--primary-color);
  transition: transform 0.3s ease;
}
.container {
  max-width: 1400px;
  margin: 0 auto;
  /* padding: 3rem 2rem; */
}

/* ===================== HERO SECTION ===================== */
.hero-section {
    padding: 40px 20px 30px;
    text-align: center;
    background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(248,250,252,0.8) 100%);
    position: relative;
    overflow: hidden;
    min-height: auto;
    margin-bottom: 30px;
    width: 100%;
}

.hero-content {
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.hero-title {
    margin-bottom: 15px;
}

.title-gradient {
    font-size: 3.2rem;
    font-weight: 800;
    background: linear-gradient(135deg, #4b0082 0%, #1976d2 50%, #3399ff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: block;
    line-height: 1.1;
    margin-bottom: 8px;
}

.title-sub {
    font-size: 1.2rem;
    font-weight: 400;
    color: #2c2b2b;
    display: block;
    margin-bottom: 15px;
}

.hero-description {
    font-size: 1rem;
    color: #2c2b2b;
    margin-bottom: 25px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.hero-stats {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 8px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
}

.stat-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    background: rgba(255, 255, 255, 0.8);
}

.stat-item i {
    color: #1976d2;
    font-size: 1rem;
}

.stat-item span {
    font-weight: 600;
    color: #334155;
    font-size: 0.9rem;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .hero-section {
        background: linear-gradient(135deg, rgba(13, 17, 23, 0.9) 0%, rgba(30, 41, 59, 0.8) 100%);
    }
    
    .title-sub {
        color: #e2e8f0;
    }
    
    .hero-description {
        color: #cbd5e1;
    }
    
    .stat-item {
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        color: #e2e8f0;
    }
    
    .stat-item:hover {
        background: rgba(255, 255, 255, 0.1);
    }
    
    .stat-item span {
        color: #e2e8f0;
    }
}
.palette-info-section {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: var(--border-radius);
  padding: 2rem;
  margin-bottom: 3rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}
.palette-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  gap: 1rem;
}

.palette-title-info h1 {
  font-size: 2.2rem;
  margin-bottom: 0.5rem;
}
.palette-description {
  color: #666;
  font-size: 0.95rem;
}
.palette-colors-strip {
  display: flex;
  gap: 0.5rem;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.color-strip {
  flex: 1;
  height: 60px;
  position: relative;
  cursor: pointer;
}
.color-strip-label {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.85rem;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
  margin-top: 0.5rem;
}
.visualizations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}

.visualization-card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: var(--border-radius);
  padding: 2rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}
.visualization-title {
  font-size: 1.3rem;
  margin-bottom: 1.5rem;
  color: #333;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.pie-chart {
  width: 100%;
  height: 300px;
}
.bar-chart {
  width: 100%;
  height: 250px;
}
.ui-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
}
.ui-card {
  border-radius: 12px;
  padding: 1.5rem;
  color: white;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.ui-card h4 {
  font-size: 0.9rem;
  margin-top: 0.5rem;
}
.button-examples {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.btn-example {
  padding: 0.8rem 1.5rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  color: white;
}
.gradient-showcase {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.gradient-box {
  height: 120px;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.accessibility-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.accessibility-item {
  padding: 1.5rem;
  border-radius: 12px;
  text-align: center;
  border: 2px solid transparent;
  cursor: pointer;
}
.accessibility-item h4 {
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}
.accessibility-item p {
  font-size: 0.85rem;
  opacity: 0.8;
}
.full-width-visualization {
  width: 100%;
  margin-bottom: 2rem;
}
.palette-colors-display-section {
  background: #ffffff;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: var(--border-radius);
  padding: 2rem;
  margin: 3rem 0;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  position: sticky;
  bottom: 0;
  z-index: 100;
  margin-top: 2rem;
  transition: all 0.3s ease;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.left-section {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.left-controls {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.right-controls {
  display: flex;
  gap: 0.5rem;
}
.palette-colors-box {
  width: 300px;
  height: 50px;
  display: flex;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  flex-shrink: 0;
}
.control-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: var(--primary-color);
  color: white;
  cursor: pointer;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 102, 255, 0.3);
}
.count-btn {
  border-radius: 6px;
  width: 22px;
  height: 22px;
  font-size: .7rem;
}
.control-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 102, 255, 0.4);
}
.control-btn:active {
  transform: translateY(0);
}
.control-btn:disabled {
  background: #cccccc;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
#add-color-btn {
  background: #2ECC71;
}
#remove-color-btn {
  background: #FF6B6B;
}
#randomize-colors-btn {
  background: #9B59B6;
}
#reset-colors-btn {
  background: #FF9F43;
}
.modal {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 110px;
  width: 100%;
  height: 100%;
  z-index: 9999;
}
.modal.show {
  display: block;
}
.modal-content {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  border-radius: var(--border-radius);
  width: 300px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(0, 0, 0, 0.1);
  position: absolute;
}

.modal-body {
  padding: .8rem;
}
.slider-container {
  display: flex;
  flex-direction: column;
  gap: .1rem;
}
.slider-group {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.slider-group label {
  font-weight: 600;
  color: #333;
  font-size: 0.9rem;
}
.slider {
  width: 100%;
  height: 8px;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 4px;
  outline: none;
  margin: 10px 0;
}
.hue-slider {
  background: linear-gradient(90deg,
      hsl(0, 100%, 50%),
      hsl(30, 100%, 50%),
      hsl(60, 100%, 50%),
      hsl(90, 100%, 50%),
      hsl(120, 100%, 50%),
      hsl(150, 100%, 50%),
      hsl(180, 100%, 50%),
      hsl(210, 100%, 50%),
      hsl(240, 100%, 50%),
      hsl(270, 100%, 50%),
      hsl(300, 100%, 50%),
      hsl(330, 100%, 50%),
      hsl(360, 100%, 50%)
    );
}
.saturation-slider {
  background: linear-gradient(90deg,
      hsl(0, 0%, 50%),
      hsl(0, 25%, 50%),
      hsl(0, 50%, 50%),
      hsl(0, 75%, 50%),
      hsl(0, 100%, 50%)
    );
}
.brightness-slider {
  background: linear-gradient(90deg,
      #000000,
      #333333,
      #666666,
      #999999,
      #cccccc,
      #ffffff
    );
}
.temperature-slider {
  background: linear-gradient(90deg,
      #0066FF,
      #4ECDC4,
      #2ECC71,
      #FF9F43,
      #FF6B6B
    );
}
.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: white;
  border: 3px solid #333;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease;
}
.slider::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: white;
  border: 3px solid #333;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.slider:hover::-webkit-slider-thumb {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.slider-value {
  font-size: 0.85rem;
  color: #666;
  font-weight: 600;
  text-align: right;
}
#undo-btn {
  background: #3498db;
}
#redo-btn {
  background: #2ecc71;
}
#adjust-colors-btn {
  background: #9b59b6;
}
#export-btn {
  width: 115px;
  height: 40px;
  border-radius: 6px;
  background: #0066FF;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  position: relative;
  bottom: 1px;
}
.palette-colors-box {
  width: 300px;
  height: 50px;
  display: flex;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  flex-shrink: 0;
}
.palette-color-item {
  flex: 1;
  height: 100%;
  cursor: pointer;
  position: relative;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.palette-color-item:hover {
  transform: scale(1.1);
  z-index: 10;
  box-shadow: 0 0 0 2px white, 0 0 0 4px rgba(0, 0, 0, 0.2);
}
.palette-color-item.active {
  box-shadow: 0 0 0 3px white, 0 0 0 5px var(--primary-color);
  z-index: 20;
}
.palette-color-item.dragging {
  opacity: 0.7;
  transform: scale(1.05);
}
.palette-color-item .color-index {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  font-size: 10px;
  font-weight: bold;
  padding: 2px 4px;
  border-radius: 3px;
  display: none;
}
.palette-color-item:hover .color-index {
  display: block;
}
.palette-info {
  margin-top: 1rem;
  text-align: center;
}
.color-count-display {
  display: inline-block;
  background: rgba(0, 102, 255, 0.1);
  color: var(--primary-color);
  padding: 0.3rem 0.8rem;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}
.section-description {
  color: #666;
  font-size: 0.85rem;
  margin-top: 0.5rem;
}
.download-section {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
.download-btn {
  padding: 1rem 1.5rem;
  background: var(--primary-color);
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.download-btn:hover {
  background: var(--primary-dark);
  transform: translateY(-2px);
}

.export-dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(10px);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}
.export-dialog-content {
  background: #22262c;
  backdrop-filter: blur(20px);
  border-radius: var(--radius-lg);
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  animation: dialogSlideIn 0.3s ease;
  border-radius: 8px;
}
@keyframes dialogSlideIn {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.export-dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 30px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.export-dialog-header h3 {
  margin: 0;
  font-size: 1.5rem;
  color: #1e293b;
  display: flex;
  align-items: center;
  gap: 10px;
}
.export-close-btn {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: #64748b;
  transition: var(--transition);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.export-close-btn:hover {
  background: rgba(0, 0, 0, 0.1);
  color: #dc3545;
}
.export-options-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  padding: 30px;
  border-radius: 8px;
}
.export-option {
  background: rgba(255, 255, 255, 0.6);
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--radius);
  padding: 15px;
  text-align: center;
  cursor: pointer;
  transition: var(--transition);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  border-radius: 8px;
}
.export-option:hover {
  background: var(--gradient-primary);
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(25, 118, 210, 0.3);
}
.export-option:hover i,
.export-option:hover span,
.export-option:hover small {
  color: white;
}
.export-option i {
  font-size: 1.3rem;
  color: var(--primary);
  margin-bottom: 5px;
}
.export-option span {
  font-weight: 600;
  color: #1e293b;
  font-size: 0.9rem;
}
.export-option small {
  color: #64748b;
  font-size: 0.7rem;
}
.sub-dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(10px);
  z-index: 2001;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sub-dialog-content {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  border-radius: var(--radius-lg);
  width: 90%;
  max-width: 700px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  animation: dialogSlideIn 0.3s ease;
}
.sub-dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 30px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.sub-dialog-header h3 {
  margin: 0;
  font-size: 1.5rem;
  color: #1e293b;
  display: flex;
  align-items: center;
  gap: 10px;
}
.sub-dialog-close {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: #64748b;
  transition: var(--transition);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.sub-dialog-close:hover {
  background: rgba(0, 0, 0, 0.1);
  color: #dc3545;
}
.code-tabs {
  display: flex;
  gap: 10px;
  padding: 20px 30px 0;
  flex-wrap: wrap;
}
.code-tab {
  padding: 10px 20px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition);
  font-weight: 500;
  color: #334155;
}
.code-tab.active {
  background: var(--gradient-primary);
  color: white;
  box-shadow: 0 4px 15px rgba(25, 118, 210, 0.3);
}
.code-tab:hover:not(.active) {
  background: rgba(25, 118, 210, 0.1);
}
.code-container {
  padding: 30px;
}
pre {
  background: #1e293b;
  color: #e2e8f0;
  padding: 25px;
  border-radius: var(--radius);
  overflow-x: auto;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.dialog-buttons {
  display: flex;
  gap: 15px;
  justify-content: flex-end;
  padding: 20px 30px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.copy-btn,
.close-btn {
  padding: 12px 30px;
  border-radius: var(--radius);
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  border: none;
}
.copy-btn {
  background: var(--gradient-primary);
  color: white;
}
.copy-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(25, 118, 210, 0.4);
}
.close-btn {
  background: rgba(0, 0, 0, 0.1);
  color: #64748b;
}
.close-btn:hover {
  background: rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}
.copy-notification {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #0066FF;
  color: white;
  padding: 12px 20px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 10000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  animation: slideIn 0.3s ease;
}
.copy-notification.show {
  display: flex !important;
}
@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}
.hover-lift {
  transition: var(--transition);
}
.hover-lift:hover {
  transform: translateY(-5px);
}
.shadow-soft {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.shadow-strong {
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.25);
}
.glass-effect {
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border-radius: var(--radius);
}
footer {
  background: rgba(0, 0, 0, 0.05);
  padding: 2rem;
  text-align: center;
  color: #666;
  margin-top: 4rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}
footer a {
  color: var(--primary-color);
  text-decoration: none;
  transition: color 0.3s ease;
}
footer a:hover {
  color: var(--secondary-color);
}
.notification-toast {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: var(--primary-color);
  color: white;
  padding: 12px 24px;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  font-weight: 600;
  z-index: 9999;
  transition: transform 0.3s ease;
  display: flex;
  align-items: center;
  gap: 10px;
  pointer-events: none;
}
.notification-toast.show {
  transform: translateX(-50%) translateY(0);
}
.notification-toast i {
  font-size: 1.2rem;
}
.color-tooltip {
  position: fixed;
  background: rgba(0, 0, 0, 0.9);
  color: white;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  pointer-events: none;
  z-index: 10000;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.2s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.color-tooltip.show {
  opacity: 1;
}
.color-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.9) transparent transparent transparent;
}
@media (max-width: 1024px) {
  .visualizations-grid {
    grid-template-columns: 1fr;
  }
}

/* ===================== RESPONSIVE DESIGN ===================== */
/* 1200px and below */
@media (max-width: 1200px) {
  .footer-content {
    grid-template-columns: 1fr 1.5fr;
    gap: 40px;
  }
  
  .footer-links {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 1024px and below */
@media (max-width: 1024px) {
  .footer-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .footer-links {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* 900px and below - Mobile Menu */
@media (max-width: 900px) {
  .menu-container {
    position: relative;
  }
  
  #menuToggle {
    display: flex !important;
    z-index: 1201;
  }
  
  .menu-list {
    display: none;
  }
  
  .menu-list.mobile.open {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: fixed;
    top: 0;
    right: 0;
    width: 60vw;
    max-width: 340px;
    height: 100vh;
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(20px);
    box-shadow: -4px 0 24px rgba(0,0,0,0.18);
    z-index: 1200;
    padding: 80px 28px 24px 28px;
    gap: 18px;
    border-radius: 16px 0 0 16px;
    transition: transform 0.3s cubic-bezier(.4,2,.6,1), opacity 0.3s;
    opacity: 1;
    transform: translateX(0);
  }
  
  .menu-list.mobile {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 60vw;
    max-width: 340px;
    height: 100vh;
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(20px);
    box-shadow: -4px 0 24px rgba(0,0,0,0.18);
    z-index: 1200;
    padding: 80px 28px 24px 28px;
    gap: 18px;
    border-radius: 16px 0 0 16px;
    transition: transform 0.3s cubic-bezier(.4,2,.6,1), opacity 0.3s;
    opacity: 0;
    transform: translateX(100%);
  }
  
  body.menu-open {
    overflow: hidden;
  }
  
  .menu-list.mobile.open .menu-item {
    width: 100%;
  }
  
  .menu-list.mobile.open .menu-link {
    width: 100%;
    justify-content: flex-start;
    font-size: 1.1rem;
    padding: 15px 20px;
  }
}

/* 768px and below */
@media (max-width: 768px) {
  .title-gradient {
        font-size: 2.5rem;
    }
    
    .title-sub {
        font-size: 1.1rem;
    }
    
    .hero-description {
        font-size: 0.9rem;
    }
    
    .hero-stats {
        gap: 10px;
    }
    
    .stat-item {
        padding: 8px 12px;
        font-size: 0.9rem;
    }
  .footer-links {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
  
  .support-notice {
    padding: 10px 0;
  }
  
  .notice-content {
    flex-direction: column;
    text-align: center;
    gap: 10px;
    padding: 10px 15px;
  }
  
  .notice-content p {
    font-size: 13px;
  }
  
  .share-btn {
    padding: 6px 14px;
    font-size: 13px;
  }
  
  #main-menu-container {
    padding: 15px 20px;
  }
  
  .logo-text {
    display: none;
  }
  
  .logo-img {
    width: 40px;
    height: 40px;
  }
}

/* 675px and below */
@media (max-width: 675px) {
  #main-menu-container {
    padding: 12px 15px;
  }
  
  .footer-content {
    gap: 30px;
  }
  
  .footer-logo img {
    width: 50px;
    height: 50px;
  }
  
  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 15px;
  }
}

/* 480px and below - Mobile */
@media (max-width: 480px) {
  .support-notice {
    padding: 8px 0;
  }
  
  .notice-content {
    gap: 8px;
    padding: 8px 10px;
  }
  
  .notice-content p {
    font-size: 12px;
    max-width: 100%;
  }
  
  .share-btn {
    padding: 5px 12px;
    font-size: 12px;
    min-width: 80px;
  }
  
  header {
    padding: 0;
  }
  
  #main-menu-container {
    padding: 10px 12px;
  }
  
  .logo-text {
    display: none;
  }
  
  .logo-img {
    width: 35px;
    height: 35px;
  }
  
  .menu-list.mobile.open {
    width: 100%;
    max-width: 100%;
    right: 0;
    border-radius: 0;
    padding: 70px 20px 20px 20px;
  }
  
  .footer-content {
    padding: 0 15px;
    gap: 25px;
  }
  
  .footer-links {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  
  .footer-logo img {
    width: 45px;
    height: 45px;
  }
  
  .footer-bottom {
    gap: 12px;
  }
}

/* Mobile Animation Reduction */
@media (max-width: 768px) {
  .stars:after,
  .stars2:after,
  .stars3:after {
    animation: none !important;
    opacity: 0.2 !important;
  }
  
  .nebula {
    display: none !important;
  }
  
  .floating-orb {
    animation-duration: 12s !important;
    filter: blur(20px) !important;
    opacity: 0.3 !important;
  }
  
  .color-splash {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .container {
    padding: 1.5rem;
  }
  .palette-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .palette-title-info h1 {
    font-size: 1.5rem;
  }
  .palette-colors-strip {
    margin-top: 1rem;
  }
  .visualization-card {
    padding: 1.5rem;
  }
  .notification-toast {
    width: 90%;
    text-align: center;
  }
  .color-tooltip {
    font-size: 12px;
    padding: 5px 10px;
  }
  .export-options-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .header-content {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }
  .palette-colors-strip {
    height: 45px;
  }
  .color-strip-label {
    display: none;
  }
  .ui-preview-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .accessibility-grid {
    grid-template-columns: 1fr;
  }
  .export-options-grid {
    grid-template-columns: 1fr;
  }
}

.brand-name,.logo-text,.title-gradient{-webkit-text-fill-color:transparent}.faq-item,.stat-item{backdrop-filter:blur(10px)}#galaxy-background,.faq-answer,.faq-item,.hero-section,.logo-link,.menu-link,.palette-colors-box,footer{overflow:hidden}:root{--primary-color:#0066FF;--primary:#1976d2;--primary-dark:#0052CC;--primary-light:#4dabf7;--secondary-color:#FF6B6B;--secondary:#0d1117;--accent-color:#4ECDC4;--dark-bg:#0a0e27;--darker-bg:#050812;--light-text:#ffffff;--light-text-secondary:#e0e0e0;--glass-blur:10px;--border-radius:15px;--radius:15px;--radius-sm:8px;--radius-lg:20px;--gradient-primary:linear-gradient(135deg, #1976d2 0%, #1565c0 50%, #0d47a1 100%);--transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);--transition-slow:all 0.5s cubic-bezier(0.4, 0, 0.2, 1);--shadow-soft:0 2px 8px rgba(0, 0, 0, 0.1);--shadow:0 4px 20px rgba(0, 0, 0, 0.15);--shadow-strong:0 8px 32px rgba(0, 0, 0, 0.2)}.support-notice{background:linear-gradient(135deg,#06f 0,#0cf 100%);color:#fff;padding:12px 0;position:relative;z-index:1000;box-shadow:0 2px 15px rgba(0,102,255,.3);animation:.5s ease-out slideDown}.notice-content strong,.share-btn,html.dark-mode .close-btn:hover{background:rgba(255,255,255,.2)}@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.notice-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:15px;padding:0 20px;flex-wrap:wrap}.notice-content i.fa-heart{color:#f36;font-size:18px;animation:1.5s infinite heartbeat}@keyframes heartbeat{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.notice-content p{margin:0;font-size:14px;line-height:1.4;flex:1;text-align:center;max-width:600px}.notice-content strong{color:#fff;padding:2px 6px;border-radius:4px;font-weight:600}.share-btn{border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:25px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:.3s;min-width:100px;justify-content:center}.back-btn,.close-notice{border:none;cursor:pointer}.share-btn:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}.share-btn.copied{background:#10b981;border-color:#10b981}.share-btn.copied .btn-text{display:none}.share-btn.copied::after{content:"Copied!";font-weight:500}.close-notice{background:0 0;color:rgba(255,255,255,.8);font-size:16px;padding:4px;margin-left:5px;transition:color .2s}.color-splash,.floating-orb,.galaxy-center,.nebula{border-radius:50%}.close-notice:hover,.export-option:hover i,.export-option:hover small,.export-option:hover span{color:#fff}#galaxy-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-3;background:linear-gradient(125deg,#0b0b2d 0,#1a1a4a 25%,#0f0f2a 50%,#1a1a3a 75%,#0b0b2d 100%)}.stars,.stars2,.stars3{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(45deg)}.stars2:after,.stars3:after,.stars:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(2px 2px at 20px 30px,#eee,transparent),radial-gradient(2px 2px at 40px 70px,#fafafa,transparent),radial-gradient(1px 1px at 90px 40px,#fff,transparent),radial-gradient(1px 1px at 130px 80px,#ddd,transparent),radial-gradient(2px 2px at 160px 30px,#eee,transparent);background-repeat:repeat;background-size:200px 200px;opacity:.7;animation:60s linear infinite starsZoom}.logo-link::before,.menu-link::before{left:-100%;transition:var(--transition-slow);content:''}.stars2:after{background-image:radial-gradient(2px 2px at 10px 10px,#fff,transparent),radial-gradient(1px 1px at 50px 160px,#eee,transparent),radial-gradient(1px 1px at 80px 40px,#fff,transparent),radial-gradient(1px 1px at 120px 80px,#ddd,transparent),radial-gradient(2px 2px at 180px 120px,#eee,transparent);opacity:.5;animation:80s linear -20s infinite starsZoom}.stars3:after{background-image:radial-gradient(1px 1px at 30px 20px,#fff,transparent),radial-gradient(1px 1px at 70px 100px,#eee,transparent),radial-gradient(1px 1px at 110px 50px,#fff,transparent),radial-gradient(1px 1px at 150px 130px,#ddd,transparent),radial-gradient(1px 1px at 190px 80px,#eee,transparent);opacity:.3;animation:100s linear -40s infinite starsZoom}@keyframes starsZoom{0%{transform:scale(1)}100%{transform:scale(1.2)}}.galaxy-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle at center,rgba(75,0,130,.4) 0,transparent 70%);box-shadow:0 0 200px 100px rgba(75,0,130,.3);animation:15s infinite alternate galaxyPulse}@keyframes galaxyPulse{0%{opacity:.4;transform:translate(-50%,-50%) scale(1)}100%{opacity:.7;transform:translate(-50%,-50%) scale(1.1)}}.nebula{position:absolute;filter:blur(60px);opacity:.15;animation:25s ease-in-out infinite alternate nebulaFloat}.nebula-1{width:400px;height:400px;background:indigo;top:10%;left:15%}.nebula-2{width:300px;height:300px;background:#ff1493;top:60%;right:10%;animation-delay:5s}.nebula-3{width:350px;height:350px;background:#1e90ff;bottom:20%;left:70%;animation-delay:10s}@keyframes nebulaFloat{0%{transform:translate(0,0) scale(1)}25%{transform:translate(20px,-30px) scale(1.05)}50%{transform:translate(-15px,20px) scale(.95)}75%{transform:translate(25px,15px) scale(1.02)}100%{transform:translate(-10px,-25px) scale(1)}}.animated-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;pointer-events:none}.floating-orb{position:absolute;filter:blur(40px);opacity:.6;animation:6s ease-in-out infinite float}.orb-1{width:300px;height:300px;background:var(--primary);top:10%;left:5%}.orb-2{width:200px;height:200px;background:#ff6fcb;top:60%;right:10%;animation-delay:2s}.orb-3{width:250px;height:250px;background:#39f;bottom:20%;left:15%;animation-delay:4s}.orb-4{width:180px;height:180px;background:#ffd600;top:30%;right:20%;animation-delay:1s}.color-splash{position:absolute;width:100px;height:100px;filter:blur(30px);opacity:.3;animation:8s ease-in-out infinite splash}.splash-1{background:#0f8;top:80%;left:80%}.splash-2{background:#f44;top:20%;right:10%;animation-delay:4s}@keyframes float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}@keyframes splash{0%,100%{transform:translate(0,0) scale(1);opacity:.3}25%{transform:translate(20px,-15px) scale(1.1);opacity:.4}50%{transform:translate(-15px,10px) scale(.9);opacity:.2}75%{transform:translate(10px,15px) scale(1.05);opacity:.35}}header:hover{background:rgba(13,17,23,.92);border-bottom:1px solid rgba(75,0,130,.5);box-shadow:0 2px 30px rgba(0,0,0,.4),0 0 20px rgba(75,0,130,.2)}#main-menu-container{width:100%;height:auto;display:flex;justify-content:space-between;align-items:center;padding:15px 5%;max-width:1400px;margin:0 auto;position:relative}.logo-container,.logo-link{display:flex;align-items:center}#main-menu-container::before{content:'';position:absolute;top:0;left:0;right:0;height:1px}.logo-link{gap:12px;transition:var(--transition);position:relative;padding:8px 16px;border-radius:var(--radius);color:#fff}.menu-item .dropdown-content li a,.menu-link{color:#cbd5e1;display:flex;transition:var(--transition);text-decoration:none}.logo-link::before{position:absolute;top:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.logo-link:hover::before{left:100%}.logo-link:hover{transform:translateY(-2px);background:rgba(255,255,255,.05);box-shadow:0 4px 15px rgba(0,0,0,.2),0 0 15px rgba(25,118,210,.3)}.logo-img{width:50px;height:50px;transition:var(--transition);filter:drop-shadow(0 0 5px rgba(25, 118, 210, .5))}.logo-link:hover .logo-img{filter:drop-shadow(0 0 10px rgba(25, 118, 210, .8));transform:rotate(5deg) scale(1.05)}.logo-text{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,indigo 0,#1976d2 50%,#39f 100%);-webkit-background-clip:text;background-clip:text}.menu-link,pre{font-size:14px}.menu-container{display:flex;align-items:center;gap:20px}.menu-list{list-style:none;display:flex;gap:8px;padding:0;margin:0}.menu-link{font-weight:500;padding:10px 20px;border-radius:var(--radius-sm);align-items:center;gap:8px;position:relative;background:rgba(255,255,255,.05);border:1px solid transparent}.menu-link::before{position:absolute;top:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(75,0,130,.4) 0,rgba(25,118,210,.6) 50%,rgba(51,153,255,.4) 100%);z-index:-1}.menu-item .dropdown-content,header{backdrop-filter:blur(20px) saturate(180%);z-index:1000}.menu-link::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0,indigo 25%,#1976d2 50%,#39f 75%,transparent 100%);transform:scaleX(0);transition:transform .3s}.color-strip,.hero-content,.hero-section,.menu-item.dropdown{position:relative}.menu-link.active::before,.menu-link:hover::before{left:0}.menu-link.active::after,.menu-link:hover::after{transform:scaleX(1)}.menu-link.active,.menu-link:hover{color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.3),0 0 15px rgba(25,118,210,.4);border:1px solid rgba(75,0,130,.3);background:rgba(255,255,255,.08)}.dropdown-arrow,.hover-lift{transition:var(--transition)}.menu-item.dropdown:hover .dropdown-arrow{transform:rotate(180deg)}.menu-item .dropdown-content{display:none;position:absolute;top:100%;left:0;background:rgba(13,17,23,.95);min-width:220px;box-shadow:0 8px 32px rgba(0,0,0,.5),0 0 20px rgba(75,0,130,.3);border:1px solid rgba(75,0,130,.3);border-radius:var(--radius);padding:8px 0;list-style:none;animation:.3s dropdownSlide}@keyframes dropdownSlide{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-item .dropdown-content li a{align-items:center;gap:10px;padding:12px 20px;font-size:14px;background:rgba(255,255,255,.03);margin:2px 8px;border-radius:var(--radius-sm);border:1px solid transparent}.menu-item .dropdown-content li a:hover{background:linear-gradient(135deg,rgba(75,0,130,.3) 0,rgba(25,118,210,.5) 100%);color:#fff;transform:translateX(5px);box-shadow:0 4px 15px rgba(0,0,0,.3);border:1px solid rgba(75,0,130,.3)}.menu-item.dropdown:hover .dropdown-content,.modal.show,.palette-color-item:hover .color-index{display:block}.faq-section{padding:80px 20px;text-align:center}.faq-container{max-width:800px;margin:50px auto 0}.faq-item{background:rgba(23,32,60,.6);border-radius:15px;margin-bottom:20px;border:1px solid rgba(255,255,255,.1)}.brand-name,footer::before{background:var(--gradient-primary)}.faq-question{padding:25px 30px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:.3s}.faq-question:hover{background:rgba(255,255,255,.05)}.faq-question h3{color:#fff;font-size:1.2rem;margin:0}.faq-toggle{color:#39f;font-size:1.5rem;transition:transform .3s}.faq-answer{padding:0 30px;max-height:0;transition:.3s}.faq-answer p{color:#cbd5e1;line-height:1.6;padding-bottom:25px}.faq-item.active .faq-answer{max-height:500px}.faq-item.active .faq-toggle{transform:rotate(45deg)}footer::before{content:'';position:absolute;top:0;left:0;right:0;height:4px}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}.footer-brand{text-align:left}.footer-logo{display:flex;align-items:center;gap:15px;margin-bottom:20px}.footer-logo img{width:60px;height:60px}.brand-name{font-size:1.5rem;font-weight:700;-webkit-background-clip:text;background-clip:text}.footer-description{color:#cbd5e1;line-height:1.6;margin-bottom:30px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer-column-title{color:#fff;margin-bottom:20px;font-size:1.1rem;font-weight:600}.footer-column ul{list-style:none;padding:0}.footer-column li{margin-bottom:12px}.footer-column a{color:#cbd5e1;text-decoration:none;transition:var(--transition);display:flex;align-items:center;gap:10px}.footer-column a:hover{color:var(--primary-light);transform:translateX(5px)}html.dark-mode .code-tab,html.dark-mode .export-dialog-header h3,html.dark-mode .export-option span,html.dark-mode .sub-dialog-header h3{color:#f3f6fa}.footer-bottom{max-width:1200px;margin:40px auto 0;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.container,.header-content{max-width:1400px;margin:0 auto}.footer-tagline{display:flex;align-items:center;gap:10px;color:#cbd5e1;font-size:.9rem}.footer-tagline i{color:var(--primary)}.copyright{color:#94a3b8;font-size:.9rem}html.dark-mode .sub-dialog-content{background:rgba(36,39,46,.95);border-color:rgba(255,255,255,.1)}html.dark-mode .code-tab,html.dark-mode .export-option{background:rgba(36,39,46,.8);border-color:rgba(255,255,255,.1)}html.dark-mode .export-option small{color:#bfc9d1}html.dark-mode .close-btn{background:rgba(255,255,255,.1);color:#f3f6fa}html.dark-mode body{background:linear-gradient(135deg,var(--dark-bg) 0,#1a1f3a 50%,var(--darker-bg) 100%);color:var(--light-text)}html.dark-mode header{background:rgba(10,14,39,.95);border-bottom:1px solid rgba(255,255,255,.1)}html.dark-mode .dark-mode-toggle{color:var(--accent-color)}html.dark-mode .palette-description,html.dark-mode .section-description,html.dark-mode .slider-value,html.dark-mode footer{color:var(--light-text-secondary)}.dark-mode-toggle:hover{transform:rotate(20deg)}html.dark-mode .palette-info-section,html.dark-mode .visualization-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}html.dark-mode .color-strip-label,html.dark-mode .slider-group label,html.dark-mode .visualization-title{color:var(--light-text)}html.dark-mode .palette-colors-display-section{background:#0a0e27;border:1px solid rgba(255,255,255,.1)}html.dark-mode .control-btn:disabled{background:#555}html.dark-mode .modal-content{background:rgba(30,30,40,.95);border:1px solid rgba(255,255,255,.1)}html.dark-mode .slider::-moz-range-thumb,html.dark-mode .slider::-webkit-slider-thumb{border-color:#fff}html.dark-mode .color-count-display{background:rgba(0,102,255,.2);color:#a3c8ff}html.dark-mode footer{background:rgba(0,0,0,.3);border-top:1px solid rgba(255,255,255,.1)}html.dark-mode .menu-list.mobile.open{background:rgba(36,39,46,.92)}html.dark-mode svg:not(#typography-svg) .visualization-title,html.dark-mode svg:not(#typography-svg) tspan{fill:#ffffff!important;color:#fff!important}html.dark-mode svg:not(#typography-svg) line,html.dark-mode svg:not(#typography-svg) path:not([fill]),html.dark-mode svg:not(#typography-svg) polygon:not([fill]),html.dark-mode svg:not(#typography-svg) polyline,html.dark-mode svg:not(#typography-svg) rect:not([fill]){stroke:rgba(255,255,255,0.2)!important}html.dark-mode .visualization-card svg:not(#typography-svg) rect[fill="#ffffff"],html.dark-mode svg:not(#typography-svg) rect[fill="#ffffff"],html.dark-mode svg:not(#typography-svg) rect[fill=white]{fill:rgba(255,255,255,0.05)!important}html.dark-mode #bar-chart-svg line,html.dark-mode #bar-chart-svg text,html.dark-mode #line-chart-svg line,html.dark-mode #line-chart-svg text,html.dark-mode #radar-chart-svg line,html.dark-mode #radar-chart-svg polygon:not([fill]),html.dark-mode #radar-chart-svg text{fill:#ffffff!important;stroke:rgba(255,255,255,0.2)!important}html.dark-mode #bar-chart-svg .bar-chart-title,html.dark-mode #heatmap-svg .heat-subtitle,html.dark-mode #heatmap-svg .heat-title,html.dark-mode #heatmap-svg text,html.dark-mode #line-chart-svg .axis-label,html.dark-mode #line-chart-svg .chart-title,html.dark-mode #multi-series-svg .series-title,html.dark-mode #multi-series-svg text,html.dark-mode #pie-chart-svg .center-text,html.dark-mode #pie-chart-svg text,html.dark-mode #radar-chart-svg .radar-title,html.dark-mode #saas-dashboard-svg .dashboard-text,html.dark-mode #saas-dashboard-svg text:not([fill]),html.dark-mode svg:not(#typography-svg) text[fill="#333"],html.dark-mode svg:not(#typography-svg) text[fill="#666"]{fill:#ffffff!important}html.dark-mode #heatmap-svg .day-label,html.dark-mode #heatmap-svg .hour-label{fill:rgba(255,255,255,0.8)!important}html.dark-mode #saas-dashboard-svg .card-bg{fill:rgba(255,255,255,0.08)!important}html.dark-mode .accessibility-item h4,html.dark-mode .accessibility-item p,html.dark-mode .accessibility-item small,html.dark-mode .color-strip-label,html.dark-mode .ui-card h4,html.dark-mode .ui-card i,html.dark-mode .ui-card small,html.dark-mode .visualization-card h3,html.dark-mode .visualization-card p,html.dark-mode .visualization-card small,html.dark-mode .visualization-card span{color:#fff!important}html.dark-mode .button-examples button{color:#fff!important;border:1px solid rgba(255,255,255,.2)!important}html.dark-mode .gradient-box span{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.8)!important}html.dark-mode .accessibility-item{color:#fff!important;border-color:rgba(255,255,255,.2)!important}html.dark-mode .palette-description,html.dark-mode .section-description{color:rgba(255,255,255,.8)!important}html.dark-mode #radar-chart-svg line[stroke="rgba(0,0,0,0.2)"],html.dark-mode #radar-chart-svg polygon[stroke="rgba(0,0,0,0.1)"]{stroke:rgba(255,255,255,0.15)!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#0a0e27 0,#1a1f3a 50%,#0d1428 100%);color:#333;line-height:1.6;min-height:100vh}header{width:100%;position:sticky;box-shadow:0 2px 30px rgba(0,0,0,.3);transition:var(--transition);position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);box-shadow:0 4px 30px rgba(0,0,0,.1);padding:1rem 2rem}.header-content{display:flex;justify-content:space-between;align-items:center}.logo-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--primary-color);font-weight:700;font-size:1.3rem;transition:.3s}.logo-link:hover,footer a:hover{color:var(--secondary-color)}.header-actions,.left-section{display:flex;align-items:center;gap:1rem}.back-btn{padding:.6rem 1.2rem;background:var(--primary-color);color:#fff;border-radius:8px;font-weight:600;transition:.3s;display:flex;align-items:center;gap:.5rem}.back-btn:hover,.download-btn:hover{background:var(--primary-dark);transform:translateY(-2px)}.dark-mode-toggle{background:0 0;border:none;cursor:pointer;font-size:1.3rem;color:var(--primary-color);transition:transform .3s}.hero-section{padding:40px 20px 30px;text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.9) 0,rgba(248,250,252,.8) 100%);min-height:auto;margin-bottom:30px;width:100%}.hero-content{max-width:100%;margin:0 auto;z-index:2}.hero-title{margin-bottom:15px}.title-gradient{font-size:3.2rem;font-weight:800;background:linear-gradient(135deg,indigo 0,#1976d2 50%,#39f 100%);-webkit-background-clip:text;background-clip:text;display:block;line-height:1.1;margin-bottom:8px}.title-sub{font-size:1.2rem;font-weight:400;color:#2c2b2b;display:block;margin-bottom:15px}.hero-description{font-size:1rem;color:#2c2b2b;margin-bottom:25px;max-width:600px;margin-left:auto;margin-right:auto}.hero-stats{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:8px;padding:10px 15px;background:rgba(255,255,255,.6);border-radius:8px;border:1px solid rgba(255,255,255,.3);transition:.3s}.stat-item:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.1);background:rgba(255,255,255,.8)}.stat-item i{color:#1976d2;font-size:1rem}.stat-item span{font-weight:600;color:#334155;font-size:.9rem}@media (prefers-color-scheme:dark){.hero-section{background:linear-gradient(135deg,rgba(13,17,23,.9) 0,rgba(30,41,59,.8) 100%)}.stat-item span,.title-sub{color:#e2e8f0}.hero-description{color:#cbd5e1}.stat-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#e2e8f0}.stat-item:hover{background:rgba(255,255,255,.1)}}.palette-info-section,.visualization-card{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);padding:2rem}.palette-info-section{border:1px solid rgba(0,0,0,.05);border-radius:var(--border-radius);margin-bottom:3rem;box-shadow:0 10px 40px rgba(0,0,0,.1)}.palette-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.palette-title-info h1{font-size:2.2rem;margin-bottom:.5rem}.palette-description{color:#666;font-size:.95rem}.palette-colors-strip{display:flex;gap:.5rem;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.1)}.color-strip{flex:1;height:60px;cursor:pointer}.color-strip-label{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);font-size:.85rem;font-weight:600;color:#333;white-space:nowrap;margin-top:.5rem}.visualizations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem;margin-bottom:3rem}.visualization-card{border:1px solid rgba(0,0,0,.05);border-radius:var(--border-radius);box-shadow:0 10px 40px rgba(0,0,0,.1)}.gradient-box,.ui-card{box-shadow:0 4px 15px rgba(0,0,0,.1)}.visualization-title{font-size:1.3rem;margin-bottom:1.5rem;color:#333;display:flex;align-items:center;gap:.5rem}.btn-example,.ui-card{color:#fff;cursor:pointer}.pie-chart{width:100%;height:300px}.bar-chart{width:100%;height:250px}.ui-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.ui-card{border-radius:12px;padding:1.5rem;text-align:center}.ui-card h4{font-size:.9rem;margin-top:.5rem}.button-examples{display:flex;flex-wrap:wrap;gap:1rem}.btn-example{padding:.8rem 1.5rem;border:none;border-radius:8px;font-weight:600}.gradient-showcase{display:grid;grid-template-columns:1fr;gap:1rem}.gradient-box{height:120px;border-radius:12px}.accessibility-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.accessibility-item{padding:1.5rem;border-radius:12px;text-align:center;border:2px solid transparent;cursor:pointer}.accessibility-item h4{margin-bottom:.5rem;font-size:.95rem}.accessibility-item p{font-size:.85rem;opacity:.8}.full-width-visualization{width:100%;margin-bottom:2rem}.info-sections{padding:60px 20px;margin:40px auto;max-width:1200px}.section-header-wrapper{text-align:center;margin-bottom:2.5rem;padding:0 1rem}.section-header-wrapper h2{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.75rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.section-header-wrapper h2 i{color:#4f46e5;font-size:1.75rem}.section-subtitle{font-size:1.125rem;color:#6b7280;max-width:600px;margin:0 auto;line-height:1.6}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1200px;margin:0 auto}.info-card{padding:30px;text-align:left;transition:var(--transition);background:rgba(255,255,255,.25);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.info-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-strong)}.info-icon{width:60px;height:60px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:1.5rem;color:#fff}.info-card h3{font-size:1.3rem;color:#1e293b;margin-bottom:15px;line-height:1.4}.info-card ol,.info-card p,.info-card ul{color:#64748b;line-height:1.6;margin-bottom:1rem}.info-card ol,.info-card ul{padding-left:20px;margin-top:.5rem}.info-card li{margin-bottom:10px;line-height:1.5}.info-card strong{color:var(--primary);font-weight:600}html.dark-mode .info-sections{background:0 0}html.dark-mode .section-header-wrapper h2{color:#f9fafb}html.dark-mode .info-card li,html.dark-mode .info-card ol,html.dark-mode .info-card p,html.dark-mode .info-card ul,html.dark-mode .section-subtitle{color:#d1d5db}html.dark-mode .info-card h3{color:#e5e7eb}html.dark-mode .info-card strong{color:var(--primary-light)}.left-controls,.right-controls{gap:.5rem;display:flex}.palette-colors-display-section{background:#fff;backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.05);border-radius:var(--border-radius);padding:2rem;margin:2rem 0 3rem;box-shadow:0 10px 40px rgba(0,0,0,.1);position:sticky;bottom:0;z-index:100;transition:.3s;display:flex;justify-content:space-between;align-items:center}.left-controls{flex-direction:column}.control-btn,.download-btn{transition:.3s;align-items:center}.control-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--primary-color);color:#fff;cursor:pointer;font-size:1.1rem;display:flex;justify-content:center;box-shadow:0 2px 8px rgba(0,102,255,.3)}.count-btn{border-radius:6px;width:22px;height:22px;font-size:.7rem}.control-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,102,255,.4)}.control-btn:active{transform:translateY(0)}.control-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}#add-color-btn,#redo-btn{background:#2ecc71}#remove-color-btn{background:#ff6b6b}#adjust-colors-btn,#randomize-colors-btn{background:#9b59b6}#reset-colors-btn{background:#ff9f43}.modal{display:none;position:fixed;bottom:20px;right:110px;width:100%;height:100%;z-index:9999}.modal-content{background:rgba(255,255,255,.95);backdrop-filter:blur(20px);border-radius:var(--border-radius);width:300px;box-shadow:0 20px 60px rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.1);position:absolute}.modal-body{padding:.8rem}.slider-container{display:flex;flex-direction:column;gap:.1rem}.slider-group{display:flex;flex-direction:column;gap:.2rem}.slider-group label{font-weight:600;color:#333;font-size:.9rem}.slider{width:100%;height:8px;-webkit-appearance:none;appearance:none;border-radius:4px;outline:0;margin:10px 0}.hue-slider{background:linear-gradient(90deg,red,#ff7f00,#feff00,#7fff00,#0f0,#00ff7f,#00feff,#007fff,#00f,#7f00ff,#ff00fe,#ff007f,red)}.saturation-slider{background:linear-gradient(90deg,#7f7f7f,#9f5f5f,#bf3f3f,#df1f1f,red)}.brightness-slider{background:linear-gradient(90deg,#000,#333,#666,#999,#ccc,#fff)}.temperature-slider{background:linear-gradient(90deg,#06f,#4ecdc4,#2ecc71,#ff9f43,#ff6b6b)}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #333;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:.2s}.slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #333;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3)}.slider:hover::-webkit-slider-thumb{transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.4)}.slider-value{font-size:.85rem;color:#666;font-weight:600;text-align:right}.export-option,.palette-info,footer{text-align:center}#undo-btn{background:#3498db}#export-btn{width:115px;height:40px;border-radius:6px;background:#06f;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:600;position:relative;bottom:1px}.palette-colors-box{width:300px;height:50px;display:flex;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.1);cursor:pointer;flex-shrink:0}.export-dialog-content,.sub-dialog-content{max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:.3s dialogSlideIn}.palette-color-item{flex:1;height:100%;cursor:pointer;position:relative;transition:.3s;display:flex;align-items:center;justify-content:center}.export-dialog,.sub-dialog{position:fixed;top:0;left:0}.palette-color-item:hover{transform:scale(1.1);z-index:10;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(0,0,0,.2)}.palette-color-item.active{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--primary-color);z-index:20}.palette-color-item.dragging{opacity:.7;transform:scale(1.05)}.palette-color-item .color-index{background:rgba(0,0,0,.5);color:#fff;font-size:10px;font-weight:700;padding:2px 4px;border-radius:3px;display:none}.palette-info{margin-top:1rem}.color-count-display{display:inline-block;background:rgba(0,102,255,.1);color:var(--primary-color);padding:.3rem .8rem;border-radius:20px;font-weight:600;font-size:.9rem;margin-bottom:.5rem}.section-description{color:#666;font-size:.85rem;margin-top:.5rem}.download-section{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.download-btn{padding:1rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;display:flex;gap:.5rem}.close-btn,.code-tab,.copy-btn,.export-close-btn,.export-option,.sub-dialog-close{cursor:pointer;transition:var(--transition)}.export-dialog{width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);z-index:2000;display:flex;align-items:center;justify-content:center;border-radius:8px}.export-dialog-content{background:#22262c;backdrop-filter:blur(20px);border-radius:var(--radius-lg);width:90%;max-width:600px;border:1px solid rgba(255,255,255,.2);border-radius:8px}@keyframes dialogSlideIn{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.export-dialog-header,.sub-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid rgba(0,0,0,.1)}.export-dialog-header h3,.sub-dialog-header h3{margin:0;font-size:1.5rem;color:#1e293b;display:flex;align-items:center;gap:10px}.export-close-btn,.sub-dialog-close{background:0 0;border:none;font-size:2rem;color:#64748b;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.export-close-btn:hover,.sub-dialog-close:hover{background:rgba(0,0,0,.1);color:#dc3545}.export-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:30px;border-radius:8px}.export-option{background:rgba(255,255,255,.6);border:2px solid rgba(255,255,255,.3);border-radius:var(--radius);padding:15px;display:flex;flex-direction:column;align-items:center;gap:10px;border-radius:8px}.export-option:hover{background:var(--gradient-primary);transform:translateY(-5px);box-shadow:0 10px 25px rgba(25,118,210,.3)}.export-option i{font-size:1.3rem;color:var(--primary);margin-bottom:5px}.export-option span{font-weight:600;color:#1e293b;font-size:.9rem}.export-option small{color:#64748b;font-size:.7rem}.sub-dialog{width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);z-index:2001;display:flex;align-items:center;justify-content:center}.sub-dialog-content{background:rgba(255,255,255,.95);backdrop-filter:blur(20px);border-radius:var(--radius-lg);width:90%;max-width:700px;border:1px solid rgba(255,255,255,.2)}.code-tabs{display:flex;gap:10px;padding:20px 30px 0;flex-wrap:wrap}.code-tab{padding:10px 20px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);font-weight:500;color:#334155}.close-btn,.copy-btn,pre{border-radius:var(--radius)}.code-tab.active,.copy-btn{background:var(--gradient-primary);color:#fff}.code-tab.active{box-shadow:0 4px 15px rgba(25,118,210,.3)}.code-tab:hover:not(.active){background:rgba(25,118,210,.1)}.code-container{padding:30px}pre{background:#1e293b;color:#e2e8f0;padding:25px;overflow-x:auto;font-family:Monaco,Menlo,'Ubuntu Mono',monospace;line-height:1.5;margin:0;white-space:pre-wrap;word-wrap:break-word}.dialog-buttons{display:flex;gap:15px;justify-content:flex-end;padding:20px 30px;border-top:1px solid rgba(0,0,0,.1)}.copy-notification,.notification-toast{bottom:20px;display:flex;gap:10px;position:fixed}.close-btn,.copy-btn{padding:12px 30px;font-weight:600;border:none}.copy-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(25,118,210,.4)}.close-btn{background:rgba(0,0,0,.1);color:#64748b}.close-btn:hover{background:rgba(0,0,0,.2);transform:translateY(-2px)}.copy-notification{right:20px;background:#06f;color:#fff;padding:12px 20px;border-radius:8px;align-items:center;z-index:10000;box-shadow:0 4px 12px rgba(0,0,0,.15);animation:.3s slideIn}.copy-notification.show{display:flex!important}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.hover-lift:hover{transform:translateY(-5px)}.shadow-soft{box-shadow:0 4px 20px rgba(0,0,0,.08)}.shadow-strong{box-shadow:0 16px 48px rgba(0,0,0,.25)}.glass-effect{background:rgba(255,255,255,.25);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 20px rgba(0,0,0,.08);border-radius:var(--radius)}footer{background:linear-gradient(135deg,var(--secondary) 0,#1e293b 100%);position:relative;background:rgba(0,0,0,.05);padding:2rem;color:#666;margin-top:4rem;border-top:1px solid rgba(0,0,0,.05)}footer a{color:var(--primary-color);text-decoration:none;transition:color .3s}.notification-toast{left:50%;transform:translateX(-50%) translateY(100px);background:var(--primary-color);color:#fff;padding:12px 24px;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.2);font-weight:600;z-index:9999;transition:transform .3s;align-items:center;pointer-events:none}.notification-toast.show{transform:translateX(-50%) translateY(0)}.notification-toast i{font-size:1.2rem}.color-tooltip{position:fixed;background:rgba(0,0,0,.9);color:#fff;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;pointer-events:none;z-index:10000;white-space:nowrap;opacity:0;transition:opacity .2s;box-shadow:0 4px 12px rgba(0,0,0,.15)}.color-tooltip.show{opacity:1}.color-tooltip::after{content:'';position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.9) transparent transparent}@media (max-width:1200px){.footer-content{grid-template-columns:1fr 1.5fr;gap:40px}.footer-links{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.visualizations-grid{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;gap:40px}.footer-links{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.menu-list.mobile,.menu-list.mobile.open{position:fixed;top:0;right:0;width:60vw;max-width:340px;height:100vh;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);box-shadow:-4px 0 24px rgba(0,0,0,.18);z-index:1200;padding:80px 28px 24px;gap:18px;border-radius:16px 0 0 16px;transition:transform .3s cubic-bezier(.4,2,.6,1),opacity .3s}.menu-container{position:relative}#menuToggle{display:flex!important;z-index:1201}.menu-list{display:none}.menu-list.mobile.open{display:flex;flex-direction:column;align-items:flex-start;opacity:1;transform:translateX(0)}.menu-list.mobile{display:none;opacity:0;transform:translateX(100%)}body.menu-open{overflow:hidden}.menu-list.mobile.open .menu-item{width:100%}.menu-list.mobile.open .menu-link{width:100%;justify-content:flex-start;font-size:1.1rem;padding:15px 20px}}@media (max-width:768px){.info-sections{padding:40px 15px;margin:30px auto}.section-header-wrapper h2{font-size:1.75rem}.section-subtitle{font-size:1rem}.info-grid{grid-template-columns:1fr;gap:20px}.info-card{padding:25px}.info-icon{width:50px;height:50px;font-size:1.3rem}.title-gradient{font-size:2.5rem}.title-sub{font-size:1.1rem}.hero-description,.stat-item{font-size:.9rem}.hero-stats{gap:10px}.stat-item{padding:8px 12px}.notice-content p,.share-btn{font-size:13px}.footer-links{grid-template-columns:repeat(2,1fr);gap:30px}.support-notice{padding:10px 0}.notice-content{flex-direction:column;text-align:center;gap:10px;padding:10px 15px}.share-btn{padding:6px 14px}#main-menu-container{padding:15px 20px}.logo-text{display:none}.logo-img{width:40px;height:40px}.stars2:after,.stars3:after,.stars:after{animation:none!important;opacity:.2!important}.color-splash,.nebula{display:none!important}.floating-orb{animation-duration:12s!important;filter:blur(20px)!important;opacity:.3!important}}@media (max-width:675px){#main-menu-container{padding:12px 15px}.footer-content{gap:30px}.footer-logo img{width:50px;height:50px}.footer-bottom{flex-direction:column;text-align:center;gap:15px}}@media (max-width:768px){.container,.visualization-card{padding:1.5rem}.palette-header{flex-direction:column;align-items:flex-start}.palette-title-info h1{font-size:1.5rem}.palette-colors-strip{margin-top:1rem}.notification-toast{width:90%;text-align:center}.color-tooltip{font-size:12px;padding:5px 10px}.export-options-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.info-sections{padding:30px 10px}.section-header-wrapper h2{font-size:1.5rem}.info-card{padding:20px}.info-card h3{font-size:1.1rem}.info-card ol,.info-card p,.info-card ul{font-size:.9rem}.support-notice{padding:8px 0}.notice-content{gap:8px;padding:8px 10px}.notice-content p{font-size:12px;max-width:100%}.share-btn{padding:5px 12px;font-size:12px;min-width:80px}header{padding:0}#main-menu-container{padding:10px 12px}.color-strip-label,.logo-text{display:none}.logo-img{width:35px;height:35px}.menu-list.mobile.open{width:100%;max-width:100%;right:0;border-radius:0;padding:70px 20px 20px}.footer-content{padding:0 15px;gap:25px}.footer-links{grid-template-columns:1fr;gap:25px}.footer-logo img{width:45px;height:45px}.footer-bottom{gap:12px}.header-content{flex-direction:column;gap:1rem;align-items:flex-start}.palette-colors-strip{height:45px}.ui-preview-grid{grid-template-columns:repeat(2,1fr)}.accessibility-grid,.export-options-grid{grid-template-columns:1fr}}