adam-hassen
version finale avec modele des news
7f997f8
Raw
History Blame Contribute Delete
21 kB
/* ============================================================
PAGE ANALYSE - THEME ENSIM
Cyan neon glassmorphism (matche style.css du site)
============================================================ */
.analyse-lux-page {
min-height: 100vh;
padding: 140px 30px 60px;
position: relative;
z-index: 10;
color: #eaf6ff;
font-family: 'Inter', system-ui, sans-serif;
}
.analyse-lux-container {
max-width: 1500px;
margin: 0 auto;
}
/* ============ HERO ============ */
.analyse-hero {
text-align: center;
margin-bottom: 60px;
padding: 50px 30px;
background: linear-gradient(145deg, rgba(10,25,50,0.5), rgba(5,15,35,0.3));
border-radius: 30px;
border: 1px solid rgba(0,240,255,0.15);
backdrop-filter: blur(14px);
box-shadow: 0 25px 70px rgba(0,0,0,0.5), 0 0 40px rgba(0,240,255,0.1);
animation: heroFade 1s ease forwards;
position: relative;
overflow: hidden;
}
.analyse-hero::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(0,240,255,0.06) 0%, transparent 60%);
animation: rotateGlow 30s linear infinite;
pointer-events: none;
}
@keyframes rotateGlow {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.analyse-hero-badge {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 8px 18px;
background: rgba(0,240,255,0.08);
border: 1px solid rgba(0,240,255,0.3);
border-radius: 100px;
margin-bottom: 24px;
font-size: 11px;
font-weight: 700;
letter-spacing: 1.5px;
color: var(--accent, #00f0ff);
position: relative;
z-index: 2;
box-shadow: 0 0 20px rgba(0,240,255,0.15);
}
.analyse-pulse-dot {
width: 8px;
height: 8px;
background: var(--accent, #00f0ff);
border-radius: 50%;
animation: pulseAnal 2s infinite;
box-shadow: 0 0 12px var(--accent, #00f0ff);
}
@keyframes pulseAnal {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.3); }
}
.analyse-hero-title {
font-size: 4rem;
font-weight: 900;
background: linear-gradient(90deg, var(--accent, #00f0ff), var(--accent-2, #8be9ff), var(--accent, #00f0ff));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-shadow:
0 0 20px rgba(0,240,255,0.6),
0 0 40px rgba(0,240,255,0.4);
margin: 0 0 16px;
letter-spacing: 1.4px;
animation: titlePulseAnal 3s ease-in-out infinite alternate;
position: relative;
z-index: 2;
}
@keyframes titlePulseAnal {
from { text-shadow: 0 0 20px rgba(0,240,255,0.6), 0 0 40px rgba(0,240,255,0.4); }
to { text-shadow: 0 0 30px rgba(0,240,255,0.8), 0 0 60px rgba(0,240,255,0.6); }
}
.analyse-neon-line {
height: 4px;
width: 120px;
background: var(--accent, #00f0ff);
margin: 0 auto 24px;
border-radius: 2px;
box-shadow:
0 0 20px var(--accent, #00f0ff),
0 0 40px rgba(0,240,255,0.5);
animation: pulseGlow 2s ease-in-out infinite alternate;
position: relative;
z-index: 2;
}
.analyse-hero-subtitle {
color: #bfeeff;
font-size: 1.1rem;
font-weight: 500;
max-width: 800px;
margin: 0 auto 36px;
line-height: 1.7;
position: relative;
z-index: 2;
}
.analyse-clock-block {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 18px 30px;
background: rgba(5,15,35,0.6);
border: 1px solid rgba(0,240,255,0.2);
border-radius: 20px;
backdrop-filter: blur(10px);
position: relative;
z-index: 2;
}
.analyse-clock {
display: flex;
flex-direction: column;
align-items: center;
}
.analyse-clock-time {
font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
font-size: 32px;
font-weight: 700;
color: var(--accent-2, #8be9ff);
letter-spacing: 2px;
line-height: 1;
text-shadow: 0 0 18px rgba(139,233,255,0.5);
}
.analyse-clock-date {
font-size: 11px;
color: #b8dff0;
letter-spacing: 1.5px;
margin-top: 6px;
font-weight: 600;
}
.analyse-last-update {
display: flex;
align-items: center;
gap: 8px;
font-size: 12px;
color: #8be9ff;
margin-top: 4px;
font-weight: 500;
}
.analyse-update-icon {
color: var(--accent, #00f0ff);
animation: spin 4s linear infinite;
font-size: 11px;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
/* ============ KPI GRID ============ */
.analyse-kpi-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 18px;
margin-bottom: 40px;
}
.analyse-kpi-card {
background: linear-gradient(145deg, rgba(15,35,70,0.5), rgba(10,25,55,0.3));
border-radius: 20px;
padding: 24px 22px;
display: flex;
align-items: center;
gap: 16px;
border: 1px solid rgba(0,240,255,0.12);
backdrop-filter: blur(10px);
transition: all 0.4s ease;
}
.analyse-kpi-card:hover {
transform: translateY(-5px);
border-color: rgba(0,240,255,0.4);
box-shadow: 0 18px 40px rgba(0,240,255,0.15);
}
.analyse-kpi-icon {
font-size: 1.8rem;
color: var(--accent, #00f0ff);
text-shadow: 0 0 12px rgba(0,240,255,0.4);
flex-shrink: 0;
}
.analyse-kpi-value {
font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
font-size: 1.6rem;
font-weight: 700;
color: #ffffff;
line-height: 1.1;
letter-spacing: -0.3px;
}
.analyse-kpi-label {
font-size: 10px;
color: #b8dff0;
letter-spacing: 1.2px;
font-weight: 600;
margin-top: 6px;
}
.analyse-up { color: #7cffb2 !important; text-shadow: 0 0 12px rgba(124,255,178,0.4); }
.analyse-down { color: #ff7b7b !important; text-shadow: 0 0 12px rgba(255,123,123,0.4); }
/* ============ MARKET OVERVIEW ============ */
.analyse-overview-panel {
display: grid;
grid-template-columns: 1.5fr 1fr;
gap: 30px;
margin-bottom: 60px;
background: linear-gradient(145deg, rgba(10,25,50,0.6), rgba(5,15,35,0.45));
border-radius: 24px;
border: 1px solid rgba(0,240,255,0.15);
backdrop-filter: blur(14px);
padding: 36px;
box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 30px rgba(0,240,255,0.08);
}
.analyse-overview-left {
border-right: 1px solid rgba(0,240,255,0.1);
padding-right: 30px;
}
.analyse-block-label {
font-size: 11px;
color: var(--accent-2, #8be9ff);
letter-spacing: 2px;
font-weight: 700;
margin-bottom: 16px;
}
.analyse-headline {
font-size: 1.7rem;
font-weight: 700;
color: #ffffff;
margin: 0 0 12px;
line-height: 1.3;
text-shadow: 0 0 20px rgba(255,255,255,0.1);
}
.analyse-detail {
font-size: 14px;
color: #d0f8ff;
line-height: 1.7;
margin: 0;
}
.analyse-leaders-wrap {
display: flex;
flex-direction: column;
justify-content: center;
}
.analyse-leaders {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.analyse-leader-block {
display: flex;
flex-direction: column;
}
.analyse-leader-label {
font-size: 11px;
letter-spacing: 1.5px;
font-weight: 700;
margin-bottom: 14px;
padding-bottom: 10px;
border-bottom: 1px solid rgba(0,240,255,0.15);
display: flex;
align-items: center;
gap: 6px;
}
.analyse-leader-list {
display: flex;
flex-direction: column;
gap: 8px;
}
.analyse-leader-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px 12px;
background: rgba(5,15,35,0.4);
border-radius: 8px;
border: 1px solid rgba(0,240,255,0.06);
}
.analyse-leader-tick {
font-size: 13px;
font-weight: 700;
color: #ffffff;
letter-spacing: 0.5px;
}
.analyse-leader-score {
font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
font-size: 13px;
font-weight: 700;
}
/* ============ SECTIONS ============ */
.analyse-section {
margin-bottom: 50px;
animation: fadeInAnalyse 0.7s ease;
}
@keyframes fadeInAnalyse {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
.analyse-section-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 24px;
padding-bottom: 16px;
border-bottom: 1px solid rgba(0,240,255,0.1);
flex-wrap: wrap;
gap: 16px;
}
.analyse-section-header > div:first-child {
display: flex;
align-items: flex-start;
gap: 18px;
}
.analyse-section-num {
font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
font-size: 2.2rem;
font-weight: 300;
color: rgba(0,240,255,0.3);
line-height: 1;
text-shadow: 0 0 20px rgba(0,240,255,0.2);
}
.analyse-section-title {
font-size: 1.6rem;
font-weight: 700;
color: #ffffff;
margin: 0 0 6px;
letter-spacing: 0.3px;
text-shadow: 0 0 18px rgba(0,240,255,0.15);
}
.analyse-section-sub {
font-size: 13px;
color: #b8dff0;
line-height: 1.5;
}
.analyse-controls {
display: flex;
gap: 12px;
}
/* ============ DROPDOWNS ============ */
.analyse-dropdown {
min-width: 200px;
}
.analyse-dropdown .Select-control {
background: rgba(5,15,35,0.85) !important;
border: 1.5px solid rgba(0,240,255,0.25) !important;
border-radius: 12px !important;
color: #e6ffff !important;
font-size: 11px !important;
letter-spacing: 1px !important;
font-weight: 700 !important;
height: 42px !important;
}
.analyse-dropdown .Select-value-label,
.analyse-dropdown .Select-placeholder {
color: #e6ffff !important;
line-height: 38px !important;
}
.analyse-dropdown .Select-menu-outer {
background: rgba(5,15,35,0.98) !important;
border: 1.5px solid rgba(0,240,255,0.3) !important;
border-radius: 12px !important;
z-index: 9999 !important;
}
.analyse-dropdown .Select-option {
background: rgba(10,25,55,0.7) !important;
color: #e6ffff !important;
padding: 10px 16px !important;
font-size: 11px !important;
letter-spacing: 1px !important;
}
.analyse-dropdown .Select-option:hover {
background: rgba(0,240,255,0.2) !important;
color: white !important;
}
.analyse-dropdown .Select-arrow {
border-color: var(--accent, #00f0ff) transparent transparent !important;
}
/* ============ NEWS FEED ============ */
.analyse-news-feed {
background: linear-gradient(145deg, rgba(10,25,50,0.5), rgba(5,15,35,0.35));
border: 1px solid rgba(0,240,255,0.12);
border-radius: 20px;
backdrop-filter: blur(12px);
overflow: hidden;
box-shadow: 0 18px 50px rgba(0,0,0,0.4);
}
.analyse-news-link {
text-decoration: none;
color: inherit;
display: block;
}
.analyse-news-row {
display: grid;
grid-template-columns: 90px 80px 1fr 100px;
gap: 20px;
align-items: center;
padding: 18px 24px;
border-bottom: 1px solid rgba(0,240,255,0.05);
transition: all 0.25s ease;
position: relative;
}
.analyse-news-row::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
transition: all 0.3s ease;
}
.analyse-news-row.analyse-news-positive::before {
background: #7cffb2;
box-shadow: 0 0 12px rgba(124,255,178,0.6);
}
.analyse-news-row.analyse-news-negative::before {
background: #ff7b7b;
box-shadow: 0 0 12px rgba(255,123,123,0.6);
}
.analyse-news-row.analyse-news-neutral::before {
background: rgba(139,233,255,0.4);
}
.analyse-news-row:hover {
background: rgba(0,240,255,0.04);
transform: translateX(6px);
}
.analyse-news-row:last-child {
border-bottom: none;
}
.analyse-news-time-col {
display: flex;
flex-direction: column;
}
.analyse-news-time {
font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
font-size: 14px;
color: var(--accent-2, #8be9ff);
font-weight: 700;
letter-spacing: 0.5px;
text-shadow: 0 0 8px rgba(139,233,255,0.3);
}
.analyse-news-rel {
font-size: 10px;
color: #b8dff0;
margin-top: 3px;
letter-spacing: 0.3px;
}
.analyse-news-tick {
display: inline-block;
font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
font-size: 13px;
font-weight: 700;
color: #001018;
background: linear-gradient(135deg, var(--accent, #00f0ff), var(--accent-2, #8be9ff));
padding: 6px 12px;
border-radius: 8px;
letter-spacing: 0.5px;
box-shadow: 0 0 18px rgba(0,240,255,0.3);
}
.analyse-news-content-col {
min-width: 0;
}
.analyse-news-title {
font-size: 14.5px;
color: #ffffff;
font-weight: 600;
line-height: 1.45;
margin-bottom: 8px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.analyse-news-row:hover .analyse-news-title {
color: var(--accent-2, #8be9ff);
}
.analyse-news-source-row {
font-size: 11px;
color: #b8dff0;
display: flex;
align-items: center;
gap: 4px;
}
.analyse-news-source {
color: #d0f8ff;
font-weight: 500;
}
.analyse-news-score {
font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
color: #8be9ff;
}
.analyse-news-badge-col {
display: flex;
justify-content: flex-end;
}
.analyse-news-badge {
font-size: 10px;
font-weight: 800;
letter-spacing: 1.5px;
padding: 6px 12px;
border-radius: 6px;
border: 1px solid;
}
.analyse-news-badge.analyse-news-positive {
color: #7cffb2;
border-color: rgba(124,255,178,0.4);
background: rgba(124,255,178,0.08);
box-shadow: 0 0 14px rgba(124,255,178,0.15);
}
.analyse-news-badge.analyse-news-negative {
color: #ff7b7b;
border-color: rgba(255,123,123,0.4);
background: rgba(255,123,123,0.08);
box-shadow: 0 0 14px rgba(255,123,123,0.15);
}
.analyse-news-badge.analyse-news-neutral {
color: #8be9ff;
border-color: rgba(139,233,255,0.3);
background: rgba(139,233,255,0.05);
}
/* ============ PREDICTIONS ============ */
.analyse-predictions-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 18px;
}
.analyse-pred-card {
background: linear-gradient(145deg, rgba(10,25,50,0.6), rgba(5,15,35,0.45));
border: 1px solid rgba(0,240,255,0.15);
border-radius: 20px;
padding: 24px;
backdrop-filter: blur(12px);
transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
}
.analyse-pred-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--signal-color, var(--accent, #00f0ff));
box-shadow: 0 0 20px var(--signal-color, var(--accent, #00f0ff));
}
.analyse-pred-up { --signal-color: #7cffb2; }
.analyse-pred-down { --signal-color: #ff7b7b; }
.analyse-pred-neutral { --signal-color: #8be9ff; }
.analyse-pred-card:hover {
transform: translateY(-6px);
border-color: var(--signal-color);
box-shadow: 0 25px 60px rgba(0,0,0,0.5), 0 0 35px rgba(0,240,255,0.15);
}
.analyse-pred-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 16px;
}
.analyse-pred-tick {
font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
font-size: 1.6rem;
font-weight: 700;
color: #ffffff;
letter-spacing: 0.5px;
line-height: 1;
text-shadow: 0 0 18px rgba(0,240,255,0.3);
}
.analyse-pred-comp {
font-size: 13px;
color: #d0f8ff;
margin-top: 6px;
font-weight: 500;
}
.analyse-pred-sector {
font-size: 10px;
color: #8be9ff;
margin-top: 3px;
letter-spacing: 1px;
text-transform: uppercase;
opacity: 0.7;
}
.analyse-pred-signal {
font-size: 11px;
font-weight: 800;
letter-spacing: 1.5px;
padding: 6px 12px;
border-radius: 8px;
border: 1.5px solid var(--signal-color);
color: var(--signal-color);
background: rgba(0,0,0,0.25);
box-shadow: 0 0 15px rgba(0,240,255,0.1);
flex-shrink: 0;
}
.analyse-pred-divider {
height: 1px;
background: linear-gradient(90deg, transparent, rgba(0,240,255,0.15), transparent);
margin-bottom: 18px;
}
.analyse-pred-desc {
font-size: 0.88rem;
color: rgba(200, 225, 255, 0.85);
line-height: 1.6;
margin: 0 0 14px 0;
flex: 1;
}
.analyse-pred-footer {
display: flex;
flex-direction: column;
gap: 5px;
margin-top: auto;
padding-top: 12px;
border-top: 1px solid rgba(0, 240, 255, 0.08);
}
.analyse-pred-articles {
font-size: 0.7rem;
color: rgba(0, 240, 255, 0.5);
display: flex;
align-items: center;
gap: 5px;
}
.analyse-pred-valid-to {
font-size: 0.7rem;
color: rgba(140, 200, 255, 0.6);
display: flex;
align-items: center;
gap: 5px;
}
/* ============ CHART PANELS ============ */
.analyse-chart-panel {
background: linear-gradient(145deg, rgba(8,20,40,0.7), rgba(3,10,25,0.55));
border-radius: 24px;
border: 1.5px solid rgba(0,240,255,0.18);
padding: 32px;
backdrop-filter: blur(18px);
box-shadow: 0 25px 70px rgba(0,0,0,0.5), 0 0 40px rgba(0,240,255,0.1);
transition: all 0.5s ease;
}
.analyse-chart-panel:hover {
border-color: rgba(0,240,255,0.35);
box-shadow: 0 35px 90px rgba(0,0,0,0.6), 0 0 60px rgba(0,240,255,0.18);
}
/* ============ METHODOLOGY ============ */
.analyse-method {
margin-top: 70px;
padding: 50px 40px;
background: linear-gradient(145deg, rgba(10,25,50,0.5), rgba(5,15,35,0.35));
border: 1px solid rgba(0,240,255,0.12);
border-radius: 24px;
backdrop-filter: blur(12px);
}
.analyse-method-title {
font-size: 1.8rem;
font-weight: 700;
color: #ffffff;
margin: 8px 0 36px;
letter-spacing: 0.3px;
}
.analyse-method-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 28px;
}
.analyse-method-step {
display: flex;
gap: 18px;
}
.analyse-method-num {
font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
font-size: 2rem;
font-weight: 300;
color: rgba(0,240,255,0.4);
line-height: 1;
flex-shrink: 0;
text-shadow: 0 0 20px rgba(0,240,255,0.2);
}
.analyse-method-stitle {
font-size: 1rem;
font-weight: 700;
color: var(--accent-2, #8be9ff);
margin-bottom: 8px;
letter-spacing: 0.3px;
text-shadow: 0 0 10px rgba(139,233,255,0.2);
}
.analyse-method-desc {
font-size: 13px;
color: #d0f8ff;
line-height: 1.6;
margin: 0;
}
/* ============ FOOTER ============ */
.analyse-footer {
margin-top: 60px;
padding-top: 30px;
border-top: 1px solid rgba(0,240,255,0.1);
text-align: center;
}
.analyse-footer p {
margin: 8px 0;
color: #8be9ff;
font-size: 13px;
}
.analyse-footer i {
margin-right: 8px;
color: var(--accent, #00f0ff);
text-shadow: 0 0 8px rgba(0,240,255,0.3);
}
.analyse-disclaimer {
color: #b8dff0 !important;
font-size: 12px !important;
font-style: italic;
opacity: 0.7;
}
.analyse-disclaimer i {
color: #ffc107 !important;
}
/* ============ STATES ============ */
.analyse-empty {
text-align: center;
padding: 60px 20px;
color: #8be9ff;
font-size: 13px;
letter-spacing: 1px;
font-weight: 600;
background: rgba(5,15,35,0.4);
border: 1px dashed rgba(0,240,255,0.15);
border-radius: 16px;
}
/* ============ RESPONSIVE ============ */
@media (max-width: 1200px) {
.analyse-kpi-grid {
grid-template-columns: repeat(3, 1fr);
}
.analyse-overview-panel {
grid-template-columns: 1fr;
}
.analyse-overview-left {
border-right: none;
border-bottom: 1px solid rgba(0,240,255,0.1);
padding-right: 0;
padding-bottom: 24px;
}
.analyse-news-row {
grid-template-columns: 75px 70px 1fr;
}
.analyse-news-badge-col {
display: none;
}
}
@media (max-width: 768px) {
.analyse-lux-page {
padding: 100px 16px 40px;
}
.analyse-hero {
padding: 30px 20px;
}
.analyse-hero-title {
font-size: 2.4rem;
}
.analyse-clock-time {
font-size: 24px;
}
.analyse-kpi-grid {
grid-template-columns: 1fr 1fr;
}
.analyse-section-title {
font-size: 1.3rem;
}
.analyse-section-num {
font-size: 1.7rem;
}
.analyse-section-header {
flex-direction: column;
}
.analyse-news-row {
grid-template-columns: 60px 1fr;
gap: 12px;
padding: 14px 16px;
}
.analyse-news-tick-col {
display: none;
}
.analyse-predictions-grid {
grid-template-columns: 1fr;
}
.analyse-overview-panel {
padding: 24px 20px;
}
.analyse-method {
padding: 32px 20px;
}
}