:root {
    /* Renk Paleti */
    --color-bg-primary: #333333;
    --color-bg-secondary: #2a2a2a;
    --color-bg-tertiary: #222222;
    
    --color-border-primary: #666666;
    --color-border-secondary: #555555;
    --color-border-light: #e0e0e0;
    
    --color-text-primary: #e0e0e0;
    --color-text-secondary: #999999;
    --color-text-tertiary: #666666;
    
    --color-accent: #cc4444;
    --color-accent-hover: #ff6666;
    --color-accent-dark: #aa3333;
    --color-gold: rgb(193, 177, 88);
    
    /* Typography */
    --font-primary: 'Courier New', Courier, monospace;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-bold: 500;
    
    /* Spacing */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    
    /* Borders */
    --border-width: 1px;
    --border-radius: 0; /* Keskin köşeler */
}

/* Body styles for full screen */
body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    background: var(--color-bg-primary);
    color: var(--color-text-primary);
    font-family: var(--font-primary);
}

p 
{ 
    color: var(--color-text-primary); 
    font-family: var(--font-primary);
    font-weight: var(--font-weight-normal);  
    text-align: center; 
    text-indent: 0; 
    margin-top: 0px;
    margin-bottom: 0px;
}

a
{
  text-decoration: none;
  color: var(--color-accent);
  transition: color 0.3s ease;
}

a:hover {
  color: var(--color-accent-hover);
}

#page
{
  background: var(--color-bg-primary);
  background-attachment: fixed;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

#wrapper
{
  background: var(--color-bg-secondary);
  border: var(--border-width) solid var(--color-border-primary);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: none;
  border-radius: var(--border-radius);
}

.banner
{
  background: var(--color-accent-dark);
  border: var(--border-width) solid var(--color-accent);
  border-radius: var(--border-radius);
  padding: var(--spacing-sm);
  box-shadow: 0 4px 16px rgba(204, 68, 68, 0.3);
}

/* Neo-Brutalist Mixed Typography Pieces List */
.pieces-visual-container {
  padding: 6px;
  margin-bottom: 8px;
  line-height: 1.2;
  display: block;
  font-family: var(--font-primary);
}

.pieces-item {
  display: inline;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  padding: 0;
  margin: 0 2px;
  user-select: none;
  line-height: 1.2;
  opacity: 0.65;
}

/* Typography Scale - Neo-Brutalist Style */
.pieces-item.large {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.3px;
  text-transform: uppercase;
}

.pieces-item.medium {
  font-size: 10px;
  font-weight: 500;
  text-transform: capitalize;
  letter-spacing: 0.1px;
}

.pieces-item.small {
  font-size: 8px;
  font-weight: 400;
  text-transform: lowercase;
  letter-spacing: 0.3px;
  opacity: 0.55;
}

/* Hover State - Subtle */
.pieces-item:hover {
  opacity: 1;
  color: var(--color-accent-hover);
  transform: scale(1.02);
}

/* Active State - Bright and Bold */
.pieces-item.active {
  color: var(--color-accent);
  opacity: 1;
  text-shadow: 0 0 8px rgba(204, 68, 68, 0.3);
  font-weight: var(--font-weight-bold);
}

.pieces-item.active.large {
  font-weight: var(--font-weight-bold);
  color: var(--color-gold);
  text-shadow: 0 0 10px rgba(193, 177, 88, 0.4);
}

.pieces-item.active.medium {
  font-weight: var(--font-weight-bold);
  color: var(--color-accent);
}

.pieces-item.active.small {
  font-weight: var(--font-weight-normal);
  opacity: 0.85;
  color: var(--color-text-secondary);
}

.pieces-item.active:hover {
  text-shadow: 0 0 20px rgba(193, 177, 88, 0.6);
  transform: scale(1.05);
}

.sectionbanner
{
  background: var(--color-bg-tertiary);
  border: var(--border-width) solid var(--color-border-secondary);
  border-radius: var(--border-radius);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  clear:both;
  margin-top: var(--spacing-md);
  display: block;
}

.bannertext
{
  font-family: var(--font-primary);
  color: var(--color-text-primary);
  font-size:180%;
  font-style:normal;
  text-shadow: none;
  text-align:left;
  letter-spacing: 1px;
  padding: 5px;
  padding-left: .5em;
  display: block;
}

.toparrow
{
  padding: 5px;
  padding-right: .5em;
  padding-bottom: 0px;
}

.lorem p
{
  font-family: var(--font-primary);
  color: var(--color-text-secondary);
  text-shadow: 0 0 8px rgba(200, 214, 229, 0.3);
  text-align:justify;
  letter-spacing: 1.2px; 
  padding: 1.5em;
  padding-right: 2em;
  display: block;
}

.ui-listview > li p
{
  font-size:100%;
  margin: 0;
  font-family: var(--font-primary);
  color: var(--color-text-secondary);
  text-shadow: 0 0 8px rgba(200, 214, 229, 0.3);
  text-align:left;
  letter-spacing: 1.2px;
  overflow: visible; 
  white-space: normal;
}

.ui-page-theme-a .ui-listview .ui-btn
{
  background: var(--color-bg-secondary);
  border: 1px solid rgba(204, 68, 68, 0.2);
  border-radius: var(--border-radius);
  padding: 0;
  transition: all 0.3s ease;
}

.ui-page-theme-a .ui-listview a.ui-btn:hover 
{
  background: var(--color-bg-tertiary);
  border: 1px solid rgba(204, 68, 68, 0.4);
}

.iotc1
{
  color:rgb(203,44,13);
  font-size:200%; 
  letter-spacing: .2em;
  vertical-align:middle;
  text-align:left;
}

.iotc2
{
  color:rgb(203,44,13);
  font-size:85%; 
  vertical-align:middle;
  letter-spacing: .2em;
  margin-left:-.15em;
  text-align:left;
}

.trithemius
{
  font-family: var(--font-primary);
  color:rgb(65,55,45);
  font-size:150%; 
  letter-spacing: .2em;
  vertical-align:middle;
  text-align:left;
}

.svgx
{
 text-shadow:none; 
}

#controlblock
{
 margin:auto;
 margin-top: 1em;
 max-width: 350px;
 padding: 0px;
 background: var(--color-bg-secondary);
 border: 1px solid rgba(204, 68, 68, 0.2);
 border-radius: var(--border-radius);
 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.visible {
  visibility: visible;
}

.hidden {
  visibility: hidden;
}

.centuryblock_visible {
  visibility: visible;
}

.centuryblock_hidden {
  visibility: hidden;
}

.wheelval_active {
  fill: var(--color-accent);
  font-weight: bold;
  text-shadow: 0 0 10px rgba(204, 68, 68, 0.8);
  font-size: 6px;
  opacity: 1;
}

.wheelval_inactive {
  fill: rgba(204, 68, 68, 0.4);
  font-size: 5px;
  opacity: 0.6;
}

/* Style the wheel text group for better appearance */
#wheel_textgroup {
  filter: none;
}

#svg_wheels {
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.3);
}

.button_active_rim {
  fill: none;
  stroke: #cc4444;
  stroke-width: 2.5;
  filter: drop-shadow(0 0 8px rgba(204, 68, 68, 0.8));
}

.button_inactive_rim {
  fill: none;
  stroke: white;
  stroke-width: 1;
  transition: all 0.3s ease;
}

.button_active_background {
  fill: transparent;
  stroke: none;
}

.button_inactive_background {
  fill: transparent;
  stroke: none;
}

/* Override jQuery Mobile text-shadow */
.ui-overlay-a, .ui-page-theme-a, .ui-page-theme-a .ui-panel-wrapper {
  text-shadow: none !important;
}

/* iPhone Style Sliders */
.iphone-slider-container {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}

.slider-label {
  color: #e0e0e0;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 5px;
  font-weight: 400;
  text-align: center;
}

.slider-wrapper {
  position: relative;
  height: 25px;
  cursor: pointer;
  padding: 0 10px;
}

/* Value display */
.value-display {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  color: #ffffff;
  font-size: 24px;
  font-weight: 200;
  pointer-events: none;
  letter-spacing: -1px;
}

.value-display .degree-symbol {
  font-size: 18px;
  vertical-align: super;
}

/* Tick container */
.tick-container {
  position: relative;
  height: 100%;
  width: 100%;
}

/* Individual ticks */
.tick {
  position: absolute;
  width: 1px;
  height: 10px;
  background: #666;
  top: 50%;
  transform: translateY(-50%);
}

.tick.major {
  height: 14px;
  width: 1.5px;
  background: #888;
}

.tick.filled {
  background: #cc4444;
}

.tick.major.filled {
  background: #cc4444;
}

/* Center indicator */
.center-indicator {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 16px;
  background: #e0e0e0;
  pointer-events: none;
  z-index: 10;
}

/* Range labels */
.range-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 3px;
  color: #666;
  font-size: 9px;
  padding: 0 10px;
}

/* Current value display */
.current-value {
  text-align: center;
  color: #e0e0e0;
  font-size: 11px;
  margin-top: 4px;
  font-weight: 300;
  letter-spacing: 0.5px;
}

/* Multi-Calendar Date Panel */
.date-panel-container {
  width: 100%;
  margin: 15px auto;
}

.date-panel {
  font-family: 'Courier New', Courier, monospace;
}

.date-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.date-group {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

/* Responsive date panel */
@media (max-width: 580px) {
  .date-row {
    gap: 10px;
  }
  
  .date-group {
    gap: 4px;
  }
  
  .date-label,
  .date-value {
    font-size: 10px !important;
  }
}

@media (max-width: 450px) {
  .divider {
    display: none !important;
  }
  
  .date-row {
    flex-wrap: wrap;
    justify-content: space-around;
  }
  
  .date-group {
    flex-basis: 45%;
  }
}

/* Panel button icons */
.button_icon {
  fill: #e04444;
  transition: all 0.3s ease;
}

.panel_button {
  cursor: pointer;
  transition: all 0.2s ease;
}

.panel_button:hover .panel_button_outer {
  stroke: #cc4444;
  stroke-width: 2.5;
  filter: drop-shadow(0 0 8px rgba(204, 68, 68, 0.8));
}

.panel_button:hover .button_icon {
  fill: #ff6666;
  filter: drop-shadow(0 0 10px rgba(255, 102, 102, 1));
}

/* Active (basınca küçülme) kaldırıldı */

.timetable {
  font-family: var(--font-primary);
  font-size: 80%;
  text-align: center;
}

.diagnostics {
  display: none;
}

.diagnostics p {
  text-align: left;
  font-size:80%;
}

.latSlider
{
  color: var(--color-text-primary); 
  font-family: var(--font-primary); 
  text-align:center;
  font-weight: normal; 
  text-shadow: 0 0 10px rgba(230, 243, 255, 0.3);
}

.menutitle {
  font-family: var(--font-primary);
  color: var(--color-text-primary);
  font-size: 100%;
  letter-spacing:2px;
  text-shadow: 0 0 15px rgba(230, 243, 255, 0.5);
}

.listtext1 {
    color: var(--color-text-secondary);
    font-family: var(--font-primary);
    font-size: 100%;
    white-space: normal;
    text-align: center;
    text-shadow: 0 0 8px rgba(200, 214, 229, 0.3);
}

input[type="number"]
{
    font-weight:bold;
    text-align: center;
}

#ephemerisDiv {
  margin-left: .2em;
  margin-right: .2em;
  margin-bottom: 1.5em;
  background: var(--color-bg-secondary);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: var(--border-radius);
  padding: 1em;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

#ephemerisTable {
  display: table;
  margin: auto;
  border-collapse:collapse;
}

#ephemerisTable td {
  border: none;
  color: var(--color-text-primary);
  font-size: 16px; 
  text-shadow: 0 0 8px rgba(230, 243, 255, 0.3);
  font-family: var(--font-primary);
  white-space: pre;
  text-align: right;
  padding-left: .7em;
  padding-right: .7em;
}

.graycell {
  background: var(--color-accent-dark);
  border: 1px solid rgba(204, 68, 68, 0.2);
}

.zsign_eph {
  text-align: right;
  width: .8em;
  padding-right: 0em;
  padding-left: 0em;
}

/* Toggle Switch Stylings */

html .ui-bar-b .ui-btn {
  background-color: var(--color-bg-tertiary) !important;
  border-color: var(--color-border-secondary) !important;
  box-shadow: none !important;
}

html .ui-bar-b .ui-btn:hover {
  background-color: var(--color-bg-secondary) !important;
  border-color: var(--color-border-secondary) !important;
  box-shadow: none !important;
  text-shadow: none !important;  
  color:inherit;
}

.ui-bar-b {
  text-shadow: none !important;  
}

html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active {
  background-color: black;
  border-color: var(--color-border-primary);
}

.component-divider {
  border: none;
  color: none;
  width: 98%;
  height: 1px;
  background-color: rgb(180,180,180);
}

.component-divider-light {
  border: none;
  border-top: 1px dotted;
  color: rgb(200,200,200);
  width: 98%;
  height: 1px;
  background-color: none;
}

#instrument_only {
  font-family: var(--font-primary);
  color: var(--color-text-primary);
  font-size: 100%;
  letter-spacing:2px;
  font-weight: normal;
  max-width: 350px;
  margin: auto;
  margin-top:1em;
  background: var(--color-accent-dark);
  border: 1px solid rgba(204, 68, 68, 0.4);
  border-radius: var(--border-radius);
  box-shadow: 0 4px 16px rgba(204, 68, 68, 0.3);
  text-shadow: 0 0 10px rgba(230, 243, 255, 0.5);
  transition: all 0.3s ease;
}

#instrument_only:hover {
  background: var(--color-accent);
}

#toggle_reset {
  font-family: var(--font-primary);
  color: var(--color-text-primary);
  font-size: 100%;
  letter-spacing:2px;
  font-weight: normal;
  max-width: 350px;
  margin: auto;
  margin-top:1em;
  background: var(--color-accent-dark);
  border: 1px solid rgba(204, 68, 68, 0.4);
  border-radius: var(--border-radius);
  box-shadow: 0 4px 16px rgba(204, 68, 68, 0.3);
  text-shadow: 0 0 10px rgba(230, 243, 255, 0.5);
  transition: all 0.3s ease;
}

#toggle_reset:hover {
  background: var(--color-accent);
}

#toggle_all {
  font-family: var(--font-primary);
  color: var(--color-text-primary);
  font-size: 100%;
  letter-spacing:2px;
  font-weight: normal;
  max-width: 350px;
  margin: auto;
  margin-top:1em;
  background: var(--color-accent-dark);
  border: 1px solid rgba(204, 68, 68, 0.4);
  border-radius: var(--border-radius);
  box-shadow: 0 4px 16px rgba(204, 68, 68, 0.3);
  text-shadow: 0 0 10px rgba(230, 243, 255, 0.5);
  transition: all 0.3s ease;
}

#toggle_all:hover {
  background: var(--color-accent);
}

.azimuthtoggle {
  stroke: rgb(50,200,200);
  stroke-width: 1;
}

.elevationtoggle {
  stroke: rgb(255,140,0);
  stroke-width: 1;
}

.housetoggle {
  stroke: rgb(150,0,200);
  stroke-width: 1;
}

.housetexttoggle {
  fill: rgb(180,0,250);
  font-weight: bold
}

.primeverticaltoggle {
  stroke-width: 1;
}

.culturetoggle {
  color: var(--color-accent);
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 8px 16px;
  border-radius: var(--border-radius);
  background: var(--color-bg-tertiary);
  border: 1px solid rgba(204, 68, 68, 0.3);
  text-shadow: 0 0 8px rgba(204, 68, 68, 0.3);
}

.culturetoggle:hover {
  color: var(--color-accent-hover);
  background: var(--color-accent-dark);
}

.culturetoggle.active-language {
  color: var(--color-text-primary);
  background: var(--color-accent);
  box-shadow: 0 0 20px rgba(204, 68, 68, 0.5), inset 0 0 20px rgba(255, 102, 102, 0.3);
  text-shadow: 0 0 15px rgba(255, 255, 255, 0.8);
}

.inactive_rete {
  visibility: hidden;
}

.active_rete {
  visibility: visible;
}

/* Simplified star field background */
@keyframes gentleTwinkle {
  0% { opacity: 0.4; }
  50% { opacity: 0.8; }
  100% { opacity: 0.4; }
}

#page::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(1px 1px at 50px 50px, rgba(255,255,255,0.6), transparent),
    radial-gradient(1px 1px at 150px 100px, rgba(255,255,255,0.4), transparent),
    radial-gradient(1px 1px at 250px 150px, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 350px 200px, rgba(255,255,255,0.3), transparent),
    radial-gradient(1px 1px at 450px 250px, rgba(255,255,255,0.6), transparent),
    radial-gradient(1px 1px at 550px 300px, rgba(255,255,255,0.4), transparent),
    radial-gradient(1px 1px at 650px 350px, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 750px 400px, rgba(255,255,255,0.3), transparent);
  background-repeat: repeat;
  background-size: 800px 600px;
  animation: gentleTwinkle 6s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: -1;
}

#page::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(2px 2px at 100px 80px, rgba(135,206,235,0.3), transparent),
    radial-gradient(1px 1px at 300px 180px, rgba(147,197,253,0.4), transparent),
    radial-gradient(2px 2px at 500px 280px, rgba(59,130,246,0.3), transparent),
    radial-gradient(1px 1px at 700px 380px, rgba(135,206,235,0.4), transparent);
  background-repeat: repeat;
  background-size: 800px 600px;
  animation: gentleTwinkle 8s ease-in-out infinite alternate reverse;
  pointer-events: none;
  z-index: -1;
}

/* Enhanced input styling for space theme */
input[type="range"] {
  background: var(--color-bg-secondary);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: var(--border-radius);
}

input[type="range"]::-webkit-slider-thumb {
  background: var(--color-accent);
  border: 1px solid rgba(204, 68, 68, 0.4);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(204, 68, 68, 0.5);
}

input[type="range"]::-moz-range-thumb {
  background: var(--color-accent);
  border: 1px solid rgba(204, 68, 68, 0.4);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(204, 68, 68, 0.5);
}

/* Enhanced select styling */
select {
  background: var(--color-bg-secondary);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  text-shadow: 0 0 8px rgba(230, 243, 255, 0.3);
}

select:focus {
  border: 1px solid rgba(204, 68, 68, 0.6);
  box-shadow: 0 0 15px rgba(204, 68, 68, 0.4);
}

/* Enhanced input number styling */
input[type="number"] {
  background: var(--color-bg-secondary);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  text-shadow: 0 0 8px rgba(230, 243, 255, 0.3);
}

input[type="number"]:focus {
  border: 1px solid rgba(204, 68, 68, 0.6);
  box-shadow: 0 0 15px rgba(204, 68, 68, 0.4);
}

/* Enhanced table styling */
table {
  border-collapse: collapse;
  background: var(--color-bg-tertiary);
  border: 1px solid rgba(204, 68, 68, 0.2);
  border-radius: var(--border-radius);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

tr:nth-child(even) {
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.1) 0%, rgba(204, 68, 68, 0.05) 100%);
}

tr:hover {
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.2) 0%, rgba(204, 68, 68, 0.1) 100%);
  transition: background 0.2s ease;
}

/* Scrollbar styling */
::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: var(--color-bg-secondary);
  border-radius: var(--border-radius);
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.6) 0%, rgba(255, 102, 102, 0.4) 100%);
  border-radius: var(--border-radius);
  border: 1px solid rgba(204, 68, 68, 0.3);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-accent);
  box-shadow: 0 0 10px rgba(204, 68, 68, 0.5);
}

/* Additional form styling for space theme */
.ui-collapsible-heading {
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.8) 0%, rgba(204, 68, 68, 0.6) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
  border-radius: var(--border-radius) !important;
}

.ui-collapsible-heading a {
  color: var(--color-text-primary) !important;
  text-shadow: 0 0 10px rgba(230, 243, 255, 0.5) !important;
}

.ui-collapsible-content {
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.9) 0%, rgba(27, 39, 53, 0.9) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
  border-radius: var(--border-radius) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3) !important;
}

/* Enhanced button styling - simplified */
.ui-btn {
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.7) 0%, rgba(204, 68, 68, 0.5) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.4) !important;
  border-radius: var(--border-radius) !important;
  color: var(--color-text-primary) !important;
  text-shadow: 0 0 5px rgba(230, 243, 255, 0.3) !important;
  box-shadow: 0 2px 8px rgba(204, 68, 68, 0.2) !important;
  transition: background 0.2s ease !important;
}

.ui-btn:hover {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.8) 0%, rgba(255, 102, 102, 0.6) 100%) !important;
}

/* Enhanced flip switch styling */
.ui-flipswitch {
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.8) 0%, rgba(27, 39, 53, 0.8) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
  border-radius: var(--border-radius) !important;
}

.ui-flipswitch.ui-flipswitch-active {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.8) 0%, rgba(255, 102, 102, 0.6) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.6) !important;
  box-shadow: 0 0 15px rgba(204, 68, 68, 0.5) !important;
}

.ui-flipswitch-on {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.9) 0%, rgba(255, 102, 102, 0.7) 100%) !important;
  color: var(--color-text-primary) !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.8) !important;
}

/* Hide header by default */
#header {
  display: none;
}

/* Natural 3D Header Design */
.premium-header {
  background: linear-gradient(145deg, 
    rgba(15, 23, 42, 0.92) 0%, 
    rgba(102, 34, 34, 0.88) 30%, 
    rgba(45, 73, 153, 0.85) 70%, 
    rgba(102, 34, 34, 0.88) 100%);
  border: 1px solid rgba(204, 68, 68, 0.25);
  border-radius: var(--border-radius);
  box-shadow: 
    0 8px 24px rgba(0, 0, 0, 0.3),
    0 2px 8px rgba(102, 34, 34, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  margin: 12px;
  position: relative;
  overflow: hidden;
}

.premium-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, 
    transparent 0%,
    rgba(204, 68, 68, 0.4) 50%,
    transparent 100%);
  border-radius: var(--border-radius);
}

.premium-header::after {
  content: '';
  position: absolute;
  top: 20%;
  left: 20%;
  width: 60%;
  height: 60%;
  background: radial-gradient(ellipse, 
    rgba(204, 68, 68, 0.05) 0%,
    transparent 70%);
  pointer-events: none;
}

.header-content {
  position: relative;
  z-index: 2;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  min-height: 70px;
}

.title-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.site-title {
  margin: 0;
  font-family: var(--font-primary);
  font-size: 2.2rem;
  font-weight: normal;
  font-style: italic;
  color: var(--color-text-primary);
  text-shadow: 
    0 0 20px rgba(230, 243, 255, 0.5);
  letter-spacing: 1px;
  position: relative;
}

.site-title::before {
  content: 'ASTROLABE';
  position: absolute;
  top: 1px;
  left: 0;
  color: rgba(255, 255, 255, 0.05);
  z-index: -1;
  font-weight: inherit;
  letter-spacing: inherit;
  font-style: inherit;
}

.site-title::after {
  content: 'ASTROLABE';
  position: absolute;
  top: -1px;
  left: 0;
  background: linear-gradient(135deg, 
    rgba(204, 68, 68, 0.15) 0%, 
    rgba(255, 102, 102, 0.1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  z-index: 1;
  font-weight: inherit;
  letter-spacing: inherit;
  font-style: inherit;
}

.site-slogan {
  margin: 0;
  font-family: var(--font-primary);
  font-size: 0.9rem;
  font-weight: normal;
  font-style: italic;
  color: var(--color-text-primary);
  text-align: left;
  letter-spacing: 1px;
  opacity: 0.7;
  text-shadow: 0 0 15px rgba(230, 243, 255, 0.3);
}

.header-glow {
  position: absolute;
  top: 50%;
  right: 30px;
  width: 60px;
  height: 60px;
  background: radial-gradient(circle, 
    rgba(204, 68, 68, 0.1) 0%,
    rgba(204, 68, 68, 0.05) 50%,
    transparent 70%);
  border-radius: 50%;
  transform: translateY(-50%);
}

/* Enhanced header styling - fallback */
.ui-header {
  background: linear-gradient(135deg, rgba(13, 27, 42, 0.95) 0%, rgba(27, 39, 53, 0.95) 50%, rgba(30, 42, 71, 0.95) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
  border-radius: var(--border-radius) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}

/* Enhanced grid styling */
.ui-grid-a, .ui-grid-b, .ui-grid-c, .ui-grid-d {
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.3) 0%, rgba(27, 39, 53, 0.3) 100%);
  border-radius: var(--border-radius);
  padding: 8px;
  margin: 4px 0;
}

/* Enhanced text input styling */
.ui-input-text {
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.9) 0%, rgba(27, 39, 53, 0.9) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
  border-radius: var(--border-radius) !important;
  color: var(--color-text-primary) !important;
  text-shadow: 0 0 8px rgba(230, 243, 255, 0.3) !important;
}

.ui-input-text:focus {
  border: 1px solid rgba(204, 68, 68, 0.6) !important;
  box-shadow: 0 0 15px rgba(204, 68, 68, 0.4) !important;
}

/* Enhanced select menu styling */
.ui-select {
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.9) 0%, rgba(27, 39, 53, 0.9) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
  border-radius: var(--border-radius) !important;
}

.ui-select .ui-btn {
  color: var(--color-text-primary) !important;
  text-shadow: 0 0 8px rgba(230, 243, 255, 0.3) !important;
}

/* Enhanced slider styling */
.ui-slider {
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.8) 0%, rgba(27, 39, 53, 0.8) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
  border-radius: 10px !important;
}

.ui-slider-handle {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.8) 0%, rgba(255, 102, 102, 0.6) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.4) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 10px rgba(204, 68, 68, 0.5) !important;
}

/* Enhanced listview styling */
.ui-listview {
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.9) 0%, rgba(27, 39, 53, 0.9) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
  border-radius: var(--border-radius) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3) !important;
}

.ui-listview li {
  border-bottom: 1px solid rgba(204, 68, 68, 0.2) !important;
}

.ui-listview li:last-child {
  border-bottom: none !important;
}

/* Responsive Layout for Sidebar */
.main-container {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start;
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
}

.astrolabe-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 600px;
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
}

#astroblock {
  width: 100%;
  display: block;
}

#svg_astrolabe {
  width: 100%;
  max-width: 600px;
  height: auto;
  margin: 0 auto;
  display: block;
}

.control-block-container {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

/* Desktop Sidebar - Draggable Toolbox */
.desktop-sidebar {
  display: none;
  position: fixed;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 320px;
  max-height: 80vh;
  overflow-y: auto;
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.98) 0%, rgba(27, 39, 53, 0.98) 50%, rgba(30, 42, 71, 0.98) 100%);
  border: 2px solid rgba(204, 68, 68, 0.4);
  border-radius: 15px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  z-index: 1000;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  cursor: move;
}

.desktop-sidebar:hover {
  border-color: rgba(204, 68, 68, 0.6);
  box-shadow: 0 15px 50px rgba(204, 68, 68, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.desktop-sidebar.dragging {
  cursor: grabbing;
  box-shadow: 0 20px 60px rgba(204, 68, 68, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  border-color: rgba(204, 68, 68, 1);
  transform: scale(1.05);
  z-index: 1001;
}

.desktop-sidebar.dragging.collapsed {
  transform: scale(1.2);
}

/* Professional Sidebar Header */
.sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.1) 0%, rgba(255, 102, 102, 0.05) 100%);
  border-bottom: 1px solid rgba(204, 68, 68, 0.2);
  border-radius: 15px 15px 0 0;
  cursor: move;
}

.sidebar-title-section {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}

.sidebar-icon {
  font-size: 16px;
  color: var(--color-accent);
  text-shadow: 0 0 8px rgba(204, 68, 68, 0.4);
}

.sidebar-title {
  color: var(--color-text-primary);
  font-family: var(--font-primary);
  font-size: 14px;
  font-weight: 600;
  text-shadow: 0 0 10px rgba(230, 243, 255, 0.3);
  margin: 0;
  letter-spacing: 0.5px;
}

.sidebar-controls {
  display: flex;
  gap: 4px;
}

.sidebar-toggle-btn {
  background: rgba(204, 68, 68, 0.2);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: 3px;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--color-accent);
  outline: none;
  padding: 0;
  font-size: 10px;
  font-weight: bold;
}

.sidebar-toggle-btn:hover {
  background: rgba(204, 68, 68, 0.3);
  border-color: rgba(204, 68, 68, 0.5);
  color: var(--color-accent-hover);
  transform: scale(1.1);
}

.sidebar-toggle-btn:active {
  transform: scale(0.95);
}

.toggle-icon {
  line-height: 1;
  font-size: 10px;
}

.sidebar-content {
  padding: 16px;
}

.sidebar-section {
  margin-bottom: 15px;
}

/* Collapsed sidebar state - Professional minimized toolbox */
.desktop-sidebar.collapsed {
  width: 48px;
  height: 48px;
  max-height: 48px;
  overflow: hidden;
  border-radius: var(--border-radius);
  opacity: 0.85;
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.95) 0%, rgba(27, 39, 53, 0.95) 50%, rgba(30, 42, 71, 0.95) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  cursor: pointer;
}

.desktop-sidebar.collapsed:hover {
  opacity: 1;
  transform: scale(1.1);
  box-shadow: 0 8px 25px rgba(204, 68, 68, 0.4);
  border-color: rgba(204, 68, 68, 0.8);
}

.desktop-sidebar.collapsed .sidebar-header {
  border-bottom: none;
  padding: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: var(--border-radius);
}

.desktop-sidebar.collapsed .sidebar-title-section {
  display: none;
}

.desktop-sidebar.collapsed .sidebar-controls {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.desktop-sidebar.collapsed .sidebar-toggle-btn {
  background: transparent;
  border: none;
  width: 100%;
  height: 100%;
  color: var(--color-accent);
  border-radius: var(--border-radius);
}

.desktop-sidebar.collapsed .sidebar-toggle-btn:hover {
  color: var(--color-accent-hover);
  background: rgba(204, 68, 68, 0.2);
  transform: none;
}

.desktop-sidebar.collapsed .toggle-icon {
  font-size: 20px;
  line-height: 1;
}

.sidebar-toggle-group {
  margin-bottom: 15px;
  padding: 15px;
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.2) 0%, rgba(204, 68, 68, 0.1) 100%);
  border: 1px solid rgba(204, 68, 68, 0.2);
  border-radius: var(--border-radius);
  transition: all 0.3s ease;
}

.sidebar-toggle-group:hover {
  background: var(--color-accent-dark);
  border: 1px solid rgba(204, 68, 68, 0.4);
}

.sidebar-toggle-title {
  color: var(--color-text-secondary);
  font-family: var(--font-primary);
  font-size: 0.9em;
  font-weight: bold;
  margin-bottom: 8px;
  text-shadow: 0 0 8px rgba(200, 214, 229, 0.3);
}

.sidebar-toggle-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  padding: 8px;
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.3) 0%, rgba(27, 39, 53, 0.3) 100%);
  border-radius: 6px;
  transition: all 0.3s ease;
}

.sidebar-toggle-controls:hover {
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.4) 0%, rgba(204, 68, 68, 0.2) 100%);
}

.sidebar-toggle-controls:last-child {
  margin-bottom: 0;
}

.sidebar-toggle-label {
  color: var(--color-text-primary);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.9em;
  font-weight: bold;
  text-shadow: 0 0 8px rgba(230, 243, 255, 0.3);
  margin-bottom: 2px;
}

.sidebar-toggle-description {
  color: var(--color-text-secondary);
  font-family: var(--font-primary);
  font-size: 0.75em;
  opacity: 0.9;
  text-shadow: 0 0 6px rgba(200, 214, 229, 0.2);
  line-height: 1.3;
  text-align: justify;
  margin-top: 4px;
}

.sidebar-toggle-description strong {
  color: var(--color-text-primary);
  font-weight: bold;
  text-shadow: 0 0 8px rgba(230, 243, 255, 0.4);
}

/* Hidden class for descriptions */
.sidebar-toggle-description.hidden {
  display: none;
}

/* Sidebar toggle info styling */
.sidebar-toggle-info {
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 4px;
  border-radius: 4px;
  position: relative;
}

.sidebar-toggle-info:hover {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.2) 0%, rgba(255, 102, 102, 0.1) 100%);
}

/* Tooltip style description */
.sidebar-toggle-info::after {
  content: attr(data-description);
  position: absolute;
  top: 100%;
  left: 0;
  width: 300px;
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.95) 0%, rgba(27, 39, 53, 0.95) 100%);
  color: var(--color-text-secondary);
  padding: 10px 14px;
  border-radius: var(--border-radius);
  font-size: 0.8em;
  line-height: 1.4;
  text-align: left;
  border: 1px solid rgba(204, 68, 68, 0.3);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-5px);
  transition: all 0.3s ease;
  word-wrap: break-word;
  white-space: normal;
}

/* Show tooltip on hover */
.sidebar-toggle-info:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Arrow for tooltip */
.sidebar-toggle-info::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 20px;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid rgba(27, 39, 53, 0.95);
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.sidebar-toggle-info:hover::before {
  opacity: 1;
  visibility: visible;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Compact flip switch for sidebar */
.sidebar-toggle-controls .ui-flipswitch {
  transform: scale(0.8);
  margin: 0;
}

/* Desktop layout - show sidebar, hide mobile controls */
@media (min-width: 1024px) {
  .main-container {
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
  }
  
  .astrolabe-container {
    max-width: 800px;
  }
  
  .desktop-sidebar {
    display: block;
  }
  
  .control-block-container {
    max-width: 400px;
  }
  
  /* Hide mobile toggle sections on desktop */
  .mobile-only {
    display: none;
  }
}

/* Mobile layout - hide sidebar, show controls below */
@media (max-width: 1023px) {
  .desktop-sidebar {
    display: none !important;
  }
  
  .main-container {
    flex-direction: column;
  }
  
  .astrolabe-container {
    width: 100%;
  }
  
  .control-block-container {
    width: 100%;
  }
  
  /* Show mobile toggle sections */
  .mobile-only {
    display: block;
  }
}

/* Tablet adjustments */
@media (max-width: 768px) {
  .main-container {
    padding: 10px;
  }
  
  .sidebar-toggle-group {
    padding: 10px;
  }
  
  .sidebar-toggle-controls {
    flex-direction: column;
    gap: 5px;
  }
}

/* Enhanced scrollbar for sidebar */
.desktop-sidebar::-webkit-scrollbar {
  width: 8px;
}

.desktop-sidebar::-webkit-scrollbar-track {
  background: var(--color-bg-tertiary);
  border-radius: var(--border-radius);
}

.desktop-sidebar::-webkit-scrollbar-thumb {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.5) 0%, rgba(255, 102, 102, 0.3) 100%);
  border-radius: var(--border-radius);
  border: 1px solid rgba(204, 68, 68, 0.2);
}

.desktop-sidebar::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.7) 0%, rgba(255, 102, 102, 0.5) 100%);
  box-shadow: 0 0 8px rgba(204, 68, 68, 0.4);
}

/* Latitude Slider Styling - Space Theme Compatible */
.latitude-slider-container {
  margin-bottom: 10px;
  padding: 8px;
  background: var(--color-bg-secondary);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: var(--border-radius);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Latitude Slider Input Text Styling */
.latitude-slider.ui-slider-input {
  color: var(--color-text-primary) !important;
  font-weight: bold !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.8) !important;
}

/* Additional selector for the input element */
input.latitude-slider[type="range"] {
  color: var(--color-text-primary) !important;
}

/* Style for the number input that might be generated */
input.ui-shadow-inset.ui-body-inherit.ui-corner-all.ui-slider-input {
  color: var(--color-text-primary) !important;
  font-weight: bold !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.8) !important;
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.9) 0%, rgba(27, 39, 53, 0.9) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
}

.latitude-label {
  display: block;
  margin-bottom: 10px;
  font-size: 0.9em;
  color: var(--color-accent-hover);
  font-family: var(--font-primary);
  font-weight: bold;
  text-shadow: 0 0 15px rgba(184, 224, 255, 0.8);
  text-align: left;
}

.latitude-slider-wrapper {
  position: relative;
  padding: 8px 12px;
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.2) 0%, rgba(204, 68, 68, 0.1) 100%);
  border: 1px solid rgba(204, 68, 68, 0.2);
  border-radius: var(--border-radius);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.2);
}

.latitude-slider {
  width: 100%;
  height: 6px;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
  background: linear-gradient(90deg, rgba(13, 27, 42, 0.8) 0%, rgba(27, 39, 53, 0.6) 100%);
  border-radius: 3px;
  outline: none;
  border: 1px solid rgba(204, 68, 68, 0.3);
  transition: all 0.3s ease;
}

.latitude-slider:hover {
  border: 1px solid rgba(204, 68, 68, 0.5);
  box-shadow: 0 0 10px rgba(204, 68, 68, 0.3);
}

.latitude-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.9) 0%, rgba(255, 102, 102, 0.7) 100%);
  border: 2px solid rgba(204, 68, 68, 0.6);
  cursor: pointer;
  box-shadow: 0 0 12px rgba(204, 68, 68, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.2);
  transition: all 0.2s ease;
}

.latitude-slider::-webkit-slider-thumb:hover {
  background: linear-gradient(145deg, rgba(255, 102, 102, 0.9) 0%, rgba(204, 68, 68, 0.8) 100%);
  border: 2px solid rgba(204, 68, 68, 0.8);
  box-shadow: 0 0 20px rgba(204, 68, 68, 0.8), inset 0 1px 2px rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

.latitude-slider::-webkit-slider-thumb:active {
  transform: scale(0.95);
}

.latitude-slider::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.9) 0%, rgba(255, 102, 102, 0.7) 100%);
  border: 2px solid rgba(204, 68, 68, 0.6);
  cursor: pointer;
  box-shadow: 0 0 12px rgba(204, 68, 68, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.2);
  transition: all 0.2s ease;
}

.latitude-slider::-moz-range-thumb:hover {
  background: linear-gradient(145deg, rgba(255, 102, 102, 0.9) 0%, rgba(204, 68, 68, 0.8) 100%);
  border: 2px solid rgba(204, 68, 68, 0.8);
  box-shadow: 0 0 20px rgba(204, 68, 68, 0.8), inset 0 1px 2px rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

.latitude-scale {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-size: 0.75em;
  color: rgba(200, 214, 229, 0.8);
  font-family: var(--font-primary);
  text-shadow: 0 0 6px rgba(200, 214, 229, 0.2);
}

.latitude-scale span {
  position: relative;
  padding: 2px 4px;
  background: rgba(13, 27, 42, 0.6);
  border-radius: 3px;
  border: 1px solid rgba(204, 68, 68, 0.2);
  transition: all 0.2s ease;
}

.latitude-scale span:hover {
  color: var(--color-text-primary);
  background: rgba(102, 34, 34, 0.4);
  border: 1px solid rgba(204, 68, 68, 0.4);
  text-shadow: 0 0 8px rgba(230, 243, 255, 0.4);
}

/* Tuner container - styled like latitude slider */
#tunerDiv {
  margin-bottom: 15px;
  padding: 12px;
  background: var(--color-bg-secondary);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: var(--border-radius);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  overflow-x: auto;
  margin: 0 auto;
}
/* Tuner table - styled like latitude slider wrapper */
#tunerTable {
  width: 100%;
  table-layout: auto;
  margin: 0 auto;
  position: relative;
  padding: 8px 12px;
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.2) 0%, rgba(204, 68, 68, 0.1) 100%);
  border: 1px solid rgba(204, 68, 68, 0.2);
  border-radius: var(--border-radius);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.2);
}
/* Tuner table cell alignment */
#tunerTable td {
  text-align: center;
  vertical-align: middle;
  padding: 2px;
}

/* Tuner row styling */
#tunerTable tr:first-child td {
  padding-bottom: 5px;
  font-weight: bold;
  color: var(--color-accent-hover);
  text-shadow: 0 0 10px rgba(184, 224, 255, 0.6);
}

/* Tuner button sizing and spacing */
.tuner-btn {
  padding: 1px 3px !important;
  margin: 0 1px !important;
  min-width: 18px !important;
  font-size: 0.75em !important;
  line-height: 1.2 !important;
}

/* Tuner button hover effects - enhanced to match latitude slider */
.tuner-btn:hover {
  background: linear-gradient(145deg, rgba(255, 102, 102, 0.9) 0%, rgba(204, 68, 68, 0.8) 100%) !important;
  border: 2px solid rgba(204, 68, 68, 0.8) !important;
  color: var(--color-accent-hover) !important;
  box-shadow: 0 0 20px rgba(204, 68, 68, 0.5) !important;
  transform: scale(1.1) !important;
}
/* Tuner value hover effects - enhanced to match latitude slider */
.tuner-value:hover {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.3) 0%, rgba(255, 102, 102, 0.2) 100%) !important;
  border: 2px solid rgba(204, 68, 68, 0.6) !important;
  color: var(--color-text-primary) !important;
  text-shadow: 0 0 15px rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 0 15px rgba(204, 68, 68, 0.4) !important;
  transform: scale(1.1) !important;
}
/* Tuner value text styling - enhanced for glass effect */
.tuner-value {
  color: var(--color-text-primary) !important;
  font-weight: bold !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.8) !important;
}
/* Specific tuner elements styling */
#tuner_year, #tuner_month, #tuner_day, #tuner_hour, #tuner_minute {
  color: var(--color-text-primary) !important;
  font-weight: bold !important;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.6) !important;
}

/* Button Panel Group Styling - Space Theme Compatible */
.buttonpanel_group {
  background: linear-gradient(145deg, rgba(13, 27, 42, 0.8) 0%, rgba(27, 39, 53, 0.8) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
  border-radius: var(--border-radius) !important;
  padding: 12px !important;
  margin: 10px 0 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* Button panel individual buttons */
.buttonpanel_group .ui-btn {
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.6) 0%, rgba(204, 68, 68, 0.4) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.3) !important;
  color: var(--color-text-primary) !important;
  text-shadow: 0 0 8px rgba(230, 243, 255, 0.4) !important;
  margin: 5px !important;
  transition: all 0.3s ease !important;
}

.buttonpanel_group .ui-btn:hover {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.7) 0%, rgba(255, 102, 102, 0.5) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.5) !important;
  box-shadow: 0 0 15px rgba(204, 68, 68, 0.4) !important;
  transform: scale(1.05);
}

.buttonpanel_group .ui-btn:active {
  transform: scale(0.98);
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.8) 0%, rgba(255, 102, 102, 0.6) 100%) !important;
}

/* Button panel title if any */
.buttonpanel_group h3, .buttonpanel_group p {
  color: var(--color-accent-hover) !important;
  text-shadow: 0 0 10px rgba(184, 224, 255, 0.6) !important;
}

/* Forward/Back navigation buttons */
#forwardbutton, #backbutton {
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.7) 0%, rgba(204, 68, 68, 0.5) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.4) !important;
  color: var(--color-text-primary) !important;
}

#forwardbutton:hover, #backbutton:hover {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.8) 0%, rgba(255, 102, 102, 0.6) 100%) !important;
  border: 1px solid rgba(204, 68, 68, 0.6) !important;
}

/* Vertical Sliders Container - Space Theme Compatible */
.vertical-sliders-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-end;
  gap: 20px;
  padding: 20px;
  background: var(--color-bg-secondary);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: var(--border-radius);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  margin: 10px 0;
}

/* Each vertical slider item */
.vertical-slider-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-height: 200px;
}

/* Vertical slider labels */
.vertical-slider-label {
  font-size: 0.8em;
  color: var(--color-accent-hover);
  font-family: var(--font-primary);
  font-weight: bold;
  text-shadow: 0 0 15px rgba(184, 224, 255, 0.8);
  text-align: center;
  margin-bottom: 5px;
}

/* Vertical slider wrapper */
.vertical-slider-wrapper {
  position: relative;
  height: 150px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(0deg, rgba(102, 34, 34, 0.2) 0%, rgba(204, 68, 68, 0.1) 100%);
  border: 1px solid rgba(204, 68, 68, 0.2);
  border-radius: 15px;
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Vertical slider styling - Simple vertical approach */
.vertical-slider {
  writing-mode: bt-lr; /* IE */
  -webkit-appearance: slider-vertical; /* WebKit */
  width: 10px;
  height: 130px;
  background: transparent;
  outline: none;
}

/* Firefox vertical slider - add orient attribute for Firefox */
input[type="range"].vertical-slider {
  writing-mode: bt-lr; /* IE */
  -webkit-appearance: slider-vertical; /* WebKit */
}

/* Firefox needs orient attribute in HTML, let's add CSS for Firefox */
.vertical-slider::-moz-range-track {
  width: 10px;
  height: 130px;
  background: linear-gradient(0deg, rgba(13, 27, 42, 0.8) 0%, rgba(27, 39, 53, 0.6) 100%);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: 3px;
}

.vertical-slider::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.9) 0%, rgba(255, 102, 102, 0.7) 100%);
  border: 2px solid rgba(204, 68, 68, 0.6);
  cursor: pointer;
  box-shadow: 0 0 12px rgba(204, 68, 68, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.2);
  transition: all 0.2s ease;
}

.vertical-slider::-moz-range-thumb:hover {
  background: linear-gradient(145deg, rgba(255, 102, 102, 0.9) 0%, rgba(204, 68, 68, 0.8) 100%);
  border: 2px solid rgba(204, 68, 68, 0.8);
  box-shadow: 0 0 20px rgba(204, 68, 68, 0.8), inset 0 1px 2px rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

/* WebKit vertical slider thumb */
.vertical-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.9) 0%, rgba(255, 102, 102, 0.7) 100%);
  border: 2px solid rgba(204, 68, 68, 0.6);
  cursor: pointer;
  box-shadow: 0 0 12px rgba(204, 68, 68, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.2);
  transition: all 0.2s ease;
}

.vertical-slider::-webkit-slider-thumb:hover {
  background: linear-gradient(145deg, rgba(255, 102, 102, 0.9) 0%, rgba(204, 68, 68, 0.8) 100%);
  border: 2px solid rgba(204, 68, 68, 0.8);
  box-shadow: 0 0 20px rgba(204, 68, 68, 0.8), inset 0 1px 2px rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

.vertical-slider::-webkit-slider-thumb:active {
  transform: scale(0.95);
}

.vertical-slider:hover {
  border: 1px solid rgba(204, 68, 68, 0.5);
  box-shadow: 0 0 10px rgba(204, 68, 68, 0.3);
}

/* Vertical slider value display */
.vertical-slider-value {
  font-size: 0.75em;
  color: var(--color-text-primary);
  font-family: var(--font-primary);
  font-weight: bold;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 4px 8px;
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.4) 0%, rgba(204, 68, 68, 0.2) 100%);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  min-width: 30px;
  margin-top: 5px;
}

/* Custom Vertical Slider Styles */
.custom-vertical-sliders {
  padding: 20px;
  padding-bottom: 30px;
  background: var(--color-bg-secondary);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: var(--border-radius);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  margin: 10px 0;
  user-select: none;
  -webkit-user-select: none;
}

.speed-indicator {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.75em;
  color: rgba(255, 255, 255, 0.9);
  font-family: var(--font-primary);
  font-weight: bold;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.6);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  white-space: nowrap;
  background: rgba(13, 27, 42, 0.8);
  padding: 2px 8px;
  border-radius: 4px;
  border: 1px solid rgba(204, 68, 68, 0.3);
}

.year-knob.dragging .speed-indicator {
  opacity: 1;
}

.slider-container {
  display: flex;
  align-items: flex-end; 
  justify-content: center;
  gap: 16px;
  overflow: visible;
  padding-bottom: 0;
  min-height: 200px;
}

.v-slider-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  width: 50px;
}

.v-slider-label {
  font-size: 0.8em;
  color: var(--color-accent-hover);
  font-family: var(--font-primary);
  font-weight: bold;
  text-shadow: 0 0 15px rgba(184, 224, 255, 0.8);
  text-align: center;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.v-slider-track {
  position: relative;
  width: 12px;
  height: 150px;
  background: linear-gradient(180deg, rgba(102, 34, 34, 0.3) 0%, rgba(204, 68, 68, 0.2) 100%);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: var(--border-radius);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  overflow: visible;
  margin-bottom: 0;
}

.v-slider-fill {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: linear-gradient(180deg, rgba(204, 68, 68, 0.6) 0%, rgba(255, 102, 102, 0.4) 100%);
  border-radius: var(--border-radius);
  transition: height 0.1s ease;
}

.v-slider-handle {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.9) 0%, rgba(255, 102, 102, 0.7) 100%);
  border: 2px solid rgba(204, 68, 68, 0.6);
  cursor: grab;
  box-shadow: 0 0 12px rgba(204, 68, 68, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.2);
  transition: all 0.2s ease;
  z-index: 10;
}

.v-slider-handle:hover {
  background: linear-gradient(145deg, rgba(255, 102, 102, 0.9) 0%, rgba(204, 68, 68, 0.8) 100%);
  border: 2px solid rgba(204, 68, 68, 0.8);
  box-shadow: 0 0 20px rgba(204, 68, 68, 0.8), inset 0 1px 2px rgba(255, 255, 255, 0.3);
  transform: translateX(-50%) translateY(50%) scale(1.1);
}

.v-slider-handle.dragging {
  cursor: grabbing;
  transform: translateX(-50%) translateY(50%) scale(1.15);
  box-shadow: 0 0 25px rgba(204, 68, 68, 1);
}

.v-slider-value {
  font-size: 0.8em;
  color: var(--color-text-primary);
  font-family: var(--font-primary);
  font-weight: bold;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
  padding: 4px 8px;
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.4) 0%, rgba(204, 68, 68, 0.2) 100%);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: var(--border-radius);
  min-width: 45px;
  text-align: center;
  margin-top: 0;
  position: relative;
  z-index: 5;
}

/* Year Knob Styles */
.year-knob-container {
  position: relative;
  width: 50px;
  height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
}

/* İlk çocuk (Year) için özel stil */
.slider-container > .v-slider-group:first-child {
  width: 80px;
}

.year-knob {
  width: 70px;
  height: 70px;
  position: relative;
  cursor: ns-resize;
  user-select: none;
}

/* --- Responsive Bölümündeki Düzeltmeler --- */
@media (max-width: 600px) {
  .slider-container {
    gap: 15px; /* Mobilde boşluk biraz azaltıldı */
    padding-left: 10px;
    padding-right: 10px;
  }
  
  .v-slider-track {
    height: 120px;
    /* DEĞİŞİKLİK 1: Gereksiz margin kaldırıldı */
    margin-bottom: 0; 
  }

  /* DEĞİŞİKLİK 2: Year knob container yüksekliği de düşürüldü */
  .year-knob-container {
    height: 120px;
    transform: scale(0.85);
  }
  
  .v-slider-group {
    width: 45px;
    gap: 10px; /* Mobilde iç boşluk da azaltıldı */
  }
  
  .v-slider-value {
    font-size: 0.75em;
    min-width: 40px;
    padding: 3px 6px;
    /* DEĞİŞİKLİK 3: Gereksiz margin kaldırıldı */
    margin-top: 0; 
  }
}


/* -- Diğer stiller (Knob, Animasyon vb.) olduğu gibi kalabilir -- */
/* Year Knob Styles (Devamı) */
.year-knob::before,
.year-knob::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  opacity: 0.3;
  transition: opacity 0.3s ease;
}

.year-knob::before {
  top: -15px;
  border-bottom: 6px solid rgba(204, 68, 68, 0.5);
}

.year-knob::after {
  bottom: -15px;
  border-top: 6px solid rgba(204, 68, 68, 0.5);
}

.year-knob:hover::before,
.year-knob:hover::after {
  opacity: 0.6;
}

.knob-inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--color-accent-dark);
  border: 3px solid rgba(204, 68, 68, 0.4);
  box-shadow: 
    0 4px 15px rgba(0, 0, 0, 0.3),
    inset 0 2px 10px rgba(0, 0, 0, 0.2),
    0 0 20px rgba(204, 68, 68, 0.3);
  position: relative;
  transition: all 0.2s ease;
}

.year-knob:hover .knob-inner {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.7) 0%, rgba(255, 102, 102, 0.5) 100%);
  border-color: rgba(204, 68, 68, 0.6);
  box-shadow: 
    0 4px 20px rgba(204, 68, 68, 0.4),
    inset 0 2px 10px rgba(0, 0, 0, 0.2),
    0 0 30px rgba(204, 68, 68, 0.5);
}

.year-knob.dragging .knob-inner {
  background: linear-gradient(145deg, rgba(255, 102, 102, 0.8) 0%, rgba(204, 68, 68, 0.7) 100%);
  border-color: rgba(204, 68, 68, 0.8);
  box-shadow: 
    0 6px 25px rgba(204, 68, 68, 0.6),
    inset 0 2px 15px rgba(255, 255, 255, 0.1),
    0 0 40px rgba(204, 68, 68, 0.7);
  transform: scale(1.05);
}

.knob-indicator {
  position: absolute;
  width: 4px;
  height: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(204, 68, 68, 0.6) 100%);
  border-radius: 2px;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
  transition: none;
  transform-origin: 50% 30px;
}

.knob-center {
  position: absolute;
  width: 18px;
  height: 18px;
  background: radial-gradient(circle, rgba(204, 68, 68, 0.8) 0%, rgba(204, 68, 68, 0.6) 100%);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 
    inset 0 1px 3px rgba(0, 0, 0, 0.3),
    0 0 15px rgba(204, 68, 68, 0.5);
}

.year-arrows {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.arrow-up, .arrow-down {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(204, 68, 68, 0.6);
  font-size: 16px;
  text-shadow: 0 0 10px rgba(204, 68, 68, 0.4);
  opacity: 0;
  transition: all 0.3s ease;
}

.arrow-up {
  top: -25px;
}

.arrow-down {
  bottom: -25px;
}

.year-knob.dragging-up .arrow-up {
  opacity: 1;
  color: rgba(255, 102, 102, 0.9);
  transform: translateX(-50%) translateY(-5px);
  text-shadow: 0 0 15px rgba(255, 102, 102, 0.8);
}

.year-knob.dragging-down .arrow-down {
  opacity: 1;
  color: rgba(255, 102, 102, 0.9);
  transform: translateX(-50%) translateY(5px);
  text-shadow: 0 0 15px rgba(255, 102, 102, 0.8);
}

/* Speed indicator effect */
.year-knob.speed-slow .knob-center {
  animation: glow-very-slow 3s ease-in-out infinite;
}

.year-knob.speed-1 .knob-center {
  animation: glow-slow 2s ease-in-out infinite;
}

.year-knob.speed-2 .knob-center {
  animation: glow-medium 1s ease-in-out infinite;
}

.year-knob.speed-3 .knob-center {
  animation: glow-fast 0.5s ease-in-out infinite;
}

@keyframes glow-very-slow {
  0%, 100% { 
    box-shadow: 
      inset 0 1px 3px rgba(0, 0, 0, 0.3),
      0 0 10px rgba(204, 68, 68, 0.3);
  }
  50% { 
    box-shadow: 
      inset 0 1px 3px rgba(0, 0, 0, 0.3),
      0 0 20px rgba(204, 68, 68, 0.6);
  }
}

@keyframes glow-slow {
  0%, 100% { 
    box-shadow: 
      inset 0 1px 3px rgba(0, 0, 0, 0.3),
      0 0 15px rgba(204, 68, 68, 0.5);
  }
  50% { 
    box-shadow: 
      inset 0 1px 3px rgba(0, 0, 0, 0.3),
      0 0 25px rgba(204, 68, 68, 0.8);
  }
}

@keyframes glow-medium {
  0%, 100% { 
    box-shadow: 
      inset 0 1px 3px rgba(0, 0, 0, 0.3),
      0 0 15px rgba(255, 102, 102, 0.6);
  }
  50% { 
    box-shadow: 
      inset 0 1px 3px rgba(0, 0, 0, 0.3),
      0 0 35px rgba(255, 102, 102, 1);
  }
}

@keyframes glow-fast {
  0%, 100% { 
    box-shadow: 
      inset 0 1px 3px rgba(0, 0, 0, 0.3),
      0 0 20px rgba(255, 255, 255, 0.6);
  }
  50% { 
    box-shadow: 
      inset 0 1px 3px rgba(0, 0, 0, 0.3),
      0 0 40px rgba(255, 255, 255, 1);
  }
}

/* Star Chart Styles */
.star-chart-container {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 20px auto;
  max-width: 600px;
  min-width: 400px;
  box-shadow: none;
  flex-direction: column;
  align-items: center;
  flex: 1;
}

.star-chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(204, 68, 68, 0.2);
}

.star-chart-title {
  color: var(--color-accent);
  font-size: 1.5em;
  font-weight: bold;
  text-shadow: 0 0 10px rgba(204, 68, 68, 0.5);
  margin: 0;
}

.constellation-line {
  stroke: rgba(100, 180, 240, 0.5) !important;
  stroke-width: 1.5 !important;
  stroke-linecap: round;
  opacity: 0.8;
}

.star-chart-controls {
  display: flex;
  gap: 10px;
}

.star-btn {
  background: var(--color-bg-tertiary);
  border: 1px solid rgba(204, 68, 68, 0.3);
  border-radius: 6px;
  color: var(--color-text-secondary);
  padding: 8px 16px;
  font-size: 0.9em;
  cursor: pointer;
  transition: all 0.3s ease;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.star-btn:hover {
  background: linear-gradient(145deg, rgba(50, 65, 80, 0.9) 0%, rgba(65, 80, 95, 0.9) 100%);
  border-color: rgba(204, 68, 68, 0.5);
  color: var(--color-text-primary);
  box-shadow: 0 4px 12px rgba(204, 68, 68, 0.2);
}

.star-btn:active {
  transform: translateY(1px);
}

.star-chart-wrapper {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

#star-chart-svg {
  width: 100%;
  height: auto;
  max-height: 500px;
  cursor: grab;
  user-select: none;
}

#star-chart-svg:active {
  cursor: grabbing;
}

.star-chart-info {
  text-align: center;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid rgba(204, 68, 68, 0.2);
  color: var(--color-text-secondary);
  font-size: 0.9em;
  font-family: var(--font-primary);
}

.star-chart-info span {
  margin: 0 10px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

#star-lat-display, #star-lon-display {
  color: var(--color-accent);
}

#star-time-display {
  color: var(--color-accent-hover);
  font-weight: bold;
}

.star-name {
  pointer-events: none;
  user-select: none;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}

/* Small star control buttons for control block */
.star-btn-small {
  background: linear-gradient(145deg, rgba(30, 40, 55, 0.9) 0%, rgba(40, 55, 70, 0.9) 100%);
  border: 1px solid rgba(204, 68, 68, 0.25);
  border-radius: 4px;
  color: #a8c6e5;
  padding: 4px 10px;
  font-size: 0.8em;
  cursor: pointer;
  transition: all 0.2s ease;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  font-family: var(--font-primary);
}

.star-btn-small:hover {
  background: linear-gradient(145deg, rgba(40, 55, 70, 0.9) 0%, rgba(50, 65, 80, 0.9) 100%);
  border-color: rgba(204, 68, 68, 0.4);
  color: #d0e5ff;
  box-shadow: 0 2px 8px rgba(204, 68, 68, 0.15);
}

.star-btn-small:active {
  transform: scale(0.95);
}

/* Responsive design for star chart */
@media (max-width: 768px) {
  .star-chart-header {
    flex-direction: column;
    text-align: center;
  }
  
  .star-chart-controls {
    margin-top: 15px;
    flex-wrap: wrap;
    justify-content: center;
  }
  
  .star-btn {
    padding: 6px 12px;
    font-size: 0.85em;
  }
  
  #star-chart-svg {
    max-height: 400px;
  }
}

/* AI Opinion Button - Premium Astrolabe Theme */
.ai-opinion-button {
  background: linear-gradient(145deg, rgba(102, 34, 34, 0.9) 0%, rgba(204, 68, 68, 0.8) 50%, rgba(170, 51, 51, 0.7) 100%);
  border: 2px solid rgba(255, 102, 102, 0.4);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  padding: 14px 28px;
  font-size: 1.05em;
  font-weight: 600;
  font-family: "Reem Kufi", "Book Antiqua", Palatino, serif;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  box-shadow: 
    0 6px 20px rgba(204, 68, 68, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    inset 0 -1px 0 rgba(0, 0, 0, 0.1);
  letter-spacing: 0.5px;
  position: relative;
  overflow: hidden;
}

.ai-opinion-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, 
    transparent 0%, 
    rgba(255, 255, 255, 0.15) 50%, 
    transparent 100%);
  transition: left 0.5s ease;
}

.ai-opinion-button:hover::before {
  left: 100%;
}

.ai-opinion-button:hover {
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.95) 0%, rgba(170, 51, 51, 0.9) 50%, rgba(255, 102, 102, 0.85) 100%);
  border-color: rgba(255, 102, 102, 0.6);
  transform: translateY(-2px);
  box-shadow: 
    0 10px 30px rgba(204, 68, 68, 0.45),
    0 0 25px rgba(255, 102, 102, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.5);
}

.ai-opinion-button:active {
  transform: translateY(0);
  box-shadow: 
    0 3px 10px rgba(204, 68, 68, 0.3),
    inset 0 1px 3px rgba(0, 0, 0, 0.2);
}

.ai-opinion-button i {
  margin-right: 10px;
  font-size: 1.1em;
  animation: pulse-glow 2s infinite;
}

@keyframes pulse-glow {
  0%, 100% {
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.6);
  }
  50% {
    text-shadow: 0 0 15px rgba(255, 102, 102, 0.9);
  }
}

.ai-opinion-button span {
  position: relative;
  z-index: 1;
}

/* Responsive adjustments for AI button */
@media (max-width: 768px) {
  .ai-opinion-button {
    padding: 12px 20px;
    font-size: 0.95em;
  }
}

/* Longitude Slider Styling - Space Theme Compatible */
.longitude-slider-container {
  margin-top: 5px;
  margin-bottom: 10px;
  padding: 8px;
  background: rgba(15, 23, 42, 0.6);
  border-radius: var(--border-radius);
  border: 1px solid rgba(204, 68, 68, 0.2);
  backdrop-filter: blur(4px);
}

.longitude-label {
  display: block;
  margin-bottom: 10px;
  color: var(--color-accent);
  font-weight: 500;
  font-size: 0.95em;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-shadow: 0 0 8px rgba(204, 68, 68, 0.4);
}

.longitude-slider-wrapper {
  position: relative;
  padding: 8px 12px;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.4) 0%, rgba(30, 41, 59, 0.3) 100%);
  border-radius: 6px;
  border: 1px solid rgba(204, 68, 68, 0.15);
}

.longitude-slider {
  width: 100%;
  height: 6px;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
  background: linear-gradient(90deg, rgba(13, 27, 42, 0.8) 0%, rgba(27, 39, 53, 0.6) 100%);
  border-radius: 3px;
  outline: none;
  border: 1px solid rgba(204, 68, 68, 0.3);
  transition: all 0.3s ease;
}

.longitude-slider:hover {
  border: 1px solid rgba(204, 68, 68, 0.5);
  box-shadow: 0 0 10px rgba(204, 68, 68, 0.3);
}

.longitude-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.9) 0%, rgba(255, 102, 102, 0.7) 100%);
  border: 2px solid rgba(204, 68, 68, 0.6);
  cursor: pointer;
  box-shadow: 0 0 12px rgba(204, 68, 68, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.2);
  transition: all 0.2s ease;
}

.longitude-slider::-webkit-slider-thumb:hover {
  background: linear-gradient(145deg, rgba(255, 102, 102, 0.9) 0%, rgba(204, 68, 68, 0.8) 100%);
  border: 2px solid rgba(204, 68, 68, 0.8);
  box-shadow: 0 0 20px rgba(204, 68, 68, 0.8), inset 0 1px 2px rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

.longitude-slider::-webkit-slider-thumb:active {
  transform: scale(0.95);
}

.longitude-slider::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(204, 68, 68, 0.9) 0%, rgba(255, 102, 102, 0.7) 100%);
  border: 2px solid rgba(204, 68, 68, 0.6);
  cursor: pointer;
  box-shadow: 0 0 12px rgba(204, 68, 68, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.2);
  transition: all 0.2s ease;
}

.longitude-slider::-moz-range-thumb:hover {
  background: linear-gradient(145deg, rgba(255, 102, 102, 0.9) 0%, rgba(204, 68, 68, 0.8) 100%);
  border: 2px solid rgba(204, 68, 68, 0.8);
  box-shadow: 0 0 20px rgba(204, 68, 68, 0.8), inset 0 1px 2px rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

/* Data Status Header Table Styles */
.data-status-header {
  width: 100%;
  background: var(--color-bg-secondary);
  border-bottom: 2px solid var(--color-gold);
  padding: 10px 0;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
  position: sticky;
  top: 0;
  z-index: 100;
}

.status-table {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 15px 0;
}

.status-table th {
  color: var(--color-gold);
  font-family: monospace;
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: normal;
  padding: 5px 10px;
  text-align: center;
  text-shadow: 0 0 10px rgba(193, 177, 88, 0.5);
}

.status-table td {
  color: var(--color-accent);
  font-family: monospace;
  font-size: 1.1em;
  font-weight: bold;
  padding: 8px 10px;
  text-align: center;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(204, 68, 68, 0.2);
  border-radius: 5px;
  text-shadow: 0 0 8px rgba(204, 68, 68, 0.4);
  transition: all 0.3s ease;
}

.status-table td:hover {
  background: rgba(204, 68, 68, 0.1);
  border-color: rgba(204, 68, 68, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(204, 68, 68, 0.3);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .status-table {
    border-spacing: 5px 0;
  }
  
  .status-table th {
    font-size: 0.7em;
    padding: 3px 5px;
  }
  
  .status-table td {
    font-size: 0.9em;
    padding: 5px;
  }
}