Spaces:
Sleeping
Sleeping
| /* Main container styling */ | |
| * { | |
| font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; | |
| } | |
| :root { | |
| --primary-red: #b71c1c; | |
| /* Deeper, more professional Red */ | |
| --light-red: #ffebee; | |
| --hover-red: #ffcdd2; | |
| --dark-red: #b71c1c; | |
| --atlas-teal: #00ffff; | |
| --atlas-dark: #00141e; | |
| --atlas-gold: #ffc107; | |
| --text-color: #333333; | |
| --border-color: #e0e0e0; | |
| } | |
| .main { | |
| background-color: #ffffff; | |
| padding: 2rem 5rem; | |
| } | |
| @media (max-width: 1200px) { | |
| .main { | |
| padding: 1rem 2rem; | |
| } | |
| } | |
| /* Main Header */ | |
| .main-header { | |
| font-size: 1.5rem; | |
| color: var(--primary-red); | |
| margin-bottom: 1.5rem; | |
| font-weight: 700; | |
| letter-spacing: -0.5px; | |
| text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); | |
| } | |
| /* Section Headers */ | |
| .section-header { | |
| font-size: 1.8rem; | |
| color: var(--primary-red); | |
| margin-top: 1rem; | |
| margin-bottom: 1.5rem; | |
| font-weight: 600; | |
| border-bottom: 3px solid var(--primary-red); | |
| padding-bottom: 0.5rem; | |
| } | |
| /* Info Boxes with Material Design Shadow */ | |
| .info-box { | |
| background: linear-gradient(135deg, var(--light-red) 0%, #fffde7 100%); | |
| padding: 1.5rem; | |
| border-radius: 8px; | |
| margin: 1rem 0; | |
| border-left: 4px solid var(--primary-red); | |
| box-shadow: 0 2px 8px rgba(211, 47, 47, 0.1); | |
| transition: all 0.3s ease; | |
| } | |
| .info-box:hover { | |
| box-shadow: 0 4px 16px rgba(211, 47, 47, 0.2); | |
| transform: translateY(-2px); | |
| } | |
| /* Success Boxes */ | |
| .success-box { | |
| background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%); | |
| padding: 1.5rem; | |
| border-radius: 8px; | |
| margin: 1rem 0; | |
| border-left: 4px solid #2e7d32; | |
| box-shadow: 0 2px 8px rgba(46, 125, 50, 0.1); | |
| } | |
| /* Card Styling for Material Design */ | |
| .material-card { | |
| background: white; | |
| border-radius: 12px; | |
| padding: 1.5rem; | |
| margin: 1rem 0; | |
| box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); | |
| transition: all 0.3s ease; | |
| border: 1px solid var(--border-color); | |
| } | |
| .material-card:hover { | |
| box-shadow: 0 8px 24px rgba(211, 47, 47, 0.1); | |
| transform: translateY(-4px); | |
| } | |
| /* Button Styling */ | |
| .stButton>button { | |
| border-radius: 8px; | |
| padding: 0.6rem 1.8rem; | |
| font-weight: 600; | |
| background: white; | |
| color: var(--primary-red); | |
| border: 1px solid var(--primary-red); | |
| transition: all 0.2s ease; | |
| } | |
| .stButton>button:hover { | |
| background-color: var(--light-red); | |
| border-color: var(--primary-red); | |
| color: var(--primary-red); | |
| box-shadow: 0 2px 8px rgba(211, 47, 47, 0.2); | |
| } | |
| /* Tab Styling */ | |
| .stTabs [data-baseweb="tab-list"] { | |
| gap: 15px; | |
| border-bottom: 2px solid var(--border-color); | |
| } | |
| .stTabs [data-baseweb="tab"] { | |
| border-radius: 8px 8px 0 0; | |
| padding: 12px 24px; | |
| font-weight: 600; | |
| background-color: transparent; | |
| border: none; | |
| color: #666; | |
| } | |
| .stTabs [data-baseweb="tab"][aria-selected="true"] { | |
| color: var(--primary-red); | |
| border-bottom: 3px solid var(--primary-red); | |
| } | |
| /* Sidebar Styling */ | |
| section[data-testid="stSidebar"] { | |
| background-color: #ffffff; | |
| border-right: 1px solid var(--border-color); | |
| } | |
| /* Sidebar Navigation Icon Colors - Exhaustive Targeting */ | |
| section[data-testid="stSidebar"] [data-testid="stSidebarNav"] svg, | |
| section[data-testid="stSidebar"] [data-testid="stSidebarNav"] svg path, | |
| section[data-testid="stSidebar"] [data-testid="stSidebarNav"] [data-testid="stIconMaterial"], | |
| section[data-testid="stSidebar"] [data-testid="stSidebarNav"] span[data-testid="stIconMaterial"], | |
| [data-testid="stSidebarNavItems"] span:first-of-type svg { | |
| color: var(--primary-red) ; | |
| fill: var(--primary-red) ; | |
| } | |
| /* Visualization Container */ | |
| .viz-container { | |
| background: white; | |
| border-radius: 16px; | |
| padding: 2.5rem; | |
| box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); | |
| margin: 1.5rem 0; | |
| border: 1px solid #f0f4f8; | |
| } | |
| /* Fix flickering on HuggingFace Spaces with stable selector */ | |
| /* @media (min-width: calc(736px + 8rem)) { | |
| section[data-testid="stMain"] { | |
| padding-left: 5rem !important; | |
| padding-right: 5rem !important; | |
| } | |
| } */ | |
| /* Constrain wide layout to 85% for visualization pages */ | |
| /* div[data-testid="stMainBlockContainer"] { | |
| max-width: 75% !important; | |
| margin: 0 auto !important; | |
| } */ | |
| /* ========================================= | |
| ATLAS HEADER SYSTEM | |
| ========================================= */ | |
| .atlas-main-header { | |
| background: transparent; | |
| position: relative; | |
| padding: 1rem 0 3rem 0; | |
| margin-bottom: 1rem; | |
| overflow: hidden; | |
| border-bottom: 1px solid #f0f0f0; | |
| } | |
| .network-bg { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background-size: cover; | |
| background-position: center; | |
| opacity: 0.04; | |
| z-index: 1; | |
| pointer-events: none; | |
| } | |
| .header-content { | |
| position: relative; | |
| z-index: 10; | |
| max-width: 98vw; | |
| margin: 0 auto; | |
| } | |
| .branding-bar { | |
| text-align: center; | |
| margin-bottom: 1rem; | |
| padding: 0.5rem 1rem; | |
| background: transparent; | |
| display: inline-block; | |
| position: relative; | |
| left: 50%; | |
| transform: translateX(-50%); | |
| } | |
| .brand-title { | |
| font-size: 4.2rem; | |
| font-weight: 800; | |
| color: var(--primary-red); | |
| margin: 0.5rem; | |
| text-shadow: 0 4px 10px rgba(211, 47, 47, 0.1); | |
| } | |
| .brand-logo-ascii { | |
| font-family: 'Courier New', Courier, monospace ; | |
| font-size: 0.85rem; | |
| line-height: 1.1; | |
| color: var(--primary-red); | |
| background: transparent ; | |
| border: none ; | |
| padding: 0 ; | |
| margin: 0 auto ; | |
| text-align: center; | |
| white-space: pre; | |
| display: inline-block; | |
| font-weight: 900; | |
| } | |
| @media (max-width: 1400px) { | |
| .brand-logo-ascii { | |
| font-size: 0.65rem; | |
| } | |
| } | |
| .atlas-stage { | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| gap: 10rem; | |
| padding: 0 1rem; | |
| } | |
| .species-stage-box { | |
| position: relative; | |
| width: 580px; | |
| height: 600px; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| zoom: 0.9; | |
| } | |
| @media (max-width: 1400px) { | |
| .species-stage-box { | |
| zoom: 0.75; | |
| width: 500px; | |
| height: 550px; | |
| } | |
| .atlas-stage { | |
| gap: 4rem; | |
| } | |
| } | |
| .center-figure-group { | |
| position: relative; | |
| z-index: 5; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| pointer-events: none; | |
| } | |
| .icon-background { | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| width: 440px; | |
| height: 440px; | |
| background-size: contain; | |
| background-repeat: no-repeat; | |
| background-position: center; | |
| opacity: 0.15; | |
| z-index: -1; | |
| } | |
| .main-silhouette { | |
| max-height: 280px; | |
| max-width: 100%; | |
| object-fit: contain; | |
| filter: contrast(1.2) brightness(1.2) drop-shadow(0 0 15px rgba(211, 47, 47, 0.4)); | |
| image-rendering: -webkit-optimize-contrast; | |
| margin-bottom: 1rem; | |
| transition: all 0.4s ease; | |
| pointer-events: auto; | |
| } | |
| .main-silhouette:hover { | |
| transform: scale(1.08); | |
| filter: contrast(1.2) brightness(1.4) drop-shadow(0 0 25px rgba(211, 47, 47, 0.7)); | |
| } | |
| .circular-container { | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| width: 0; | |
| height: 0; | |
| z-index: 20; | |
| } | |
| .circular-bubble { | |
| position: absolute; | |
| width: 120px; | |
| pointer-events: auto; | |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| } | |
| /* Glass Style Organ Cards */ | |
| .bubble-content { | |
| background: rgba(255, 255, 255, 0.4); | |
| backdrop-filter: blur(25px) saturate(180%); | |
| -webkit-backdrop-filter: blur(25px) saturate(180%); | |
| border: 1px solid rgba(255, 255, 255, 0.6); | |
| padding: 0.6rem 0.8rem; | |
| border-radius: 12px; | |
| border-left: 5px solid #b71c1c; | |
| box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05); | |
| } | |
| .bubble-org-name { | |
| font-size: 0.72rem; | |
| font-weight: 800; | |
| color: #111; | |
| letter-spacing: 0.4px; | |
| margin-bottom: 6px; | |
| white-space: nowrap; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| border-bottom: 1px solid rgba(183, 28, 28, 0.2); | |
| padding-bottom: 4px; | |
| } | |
| .bubble-row { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 2px; | |
| } | |
| .row-label { | |
| font-size: 0.85rem; | |
| color: #444; | |
| font-weight: 600; | |
| } | |
| .row-val { | |
| font-size: 0.85rem; | |
| font-weight: 900; | |
| color: var(--primary-red); | |
| } | |
| .circular-bubble:hover .bubble-content { | |
| background: rgba(255, 255, 255, 0.75); | |
| transform: translateY(-5px); | |
| border-color: rgba(211, 47, 47, 0.5); | |
| box-shadow: 0 15px 45px rgba(211, 47, 47, 0.15); | |
| } | |
| .stage-badge { | |
| background: var(--primary-red); | |
| color: white; | |
| padding: 0.8rem 3rem; | |
| border-radius: 50px; | |
| font-weight: 700; | |
| font-size: 1.15rem; | |
| box-shadow: 0 10px 30px rgba(211, 47, 47, 0.3); | |
| text-align: center; | |
| pointer-events: auto; | |
| border: 2px solid rgba(255, 255, 255, 0.1); | |
| } | |
| .spots-tag { | |
| font-size: 0.85rem; | |
| opacity: 0.95; | |
| display: block; | |
| font-weight: 400; | |
| margin-top: 4px; | |
| letter-spacing: 0.5px; | |
| } |