Lukeetah commited on
Commit
e0939cf
·
verified ·
1 Parent(s): 6844589

Update static/style.css

Browse files
Files changed (1) hide show
  1. static/style.css +61 -95
static/style.css CHANGED
@@ -1,12 +1,13 @@
1
  /* --- Reset y Fuentes --- */
2
- @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&display=swap');
3
  :root {
4
- --primary-bg: #121212;
5
- --secondary-bg: #1E1E1E;
6
- --primary-text: #E0E0E0;
7
- --accent-color: #4CAF50;
8
- --nudge-eco: rgba(76, 175, 80, 0.2);
9
- --nudge-stress: rgba(3, 169, 244, 0.15);
 
10
  }
11
  * { box-sizing: border-box; margin: 0; padding: 0; }
12
  body {
@@ -16,97 +17,62 @@ body {
16
  overflow: hidden;
17
  height: 100vh;
18
  width: 100vw;
19
- transition: background-color 0.8s ease-in-out;
20
  }
21
 
 
 
 
 
22
  /* --- Pantalla de Bienvenida --- */
23
- #welcome-screen {
24
- display: flex;
25
- justify-content: center;
26
- align-items: center;
27
- height: 100%;
28
- text-align: center;
29
- flex-direction: column;
30
- }
31
- .welcome-content { max-width: 80%; }
32
- .logo { width: 80px; margin-bottom: 20px; }
33
- h1 { font-size: 2.5em; margin-bottom: 10px; }
34
- .privacy-note { font-size: 0.9em; color: #aaa; margin-top: 20px; }
35
- #user-creation input { background: var(--secondary-bg); border: 1px solid #444; color: var(--primary-text); padding: 10px; border-radius: 5px; margin-top: 10px; }
36
- #user-creation button { background: var(--accent-color); color: white; border: none; padding: 10px 15px; border-radius: 5px; cursor: pointer; margin-left: 5px; }
37
 
38
- /* --- Contenedor Principal --- */
39
- #app-container {
40
- display: flex;
41
- flex-direction: column;
42
- height: 100vh;
43
- }
44
- header {
45
- display: flex;
46
- justify-content: space-between;
47
- align-items: center;
48
- padding: 15px;
49
- background-color: rgba(30, 30, 30, 0.8);
50
- backdrop-filter: blur(5px);
51
- }
52
- main { flex-grow: 1; position: relative; }
53
- #camera-container {
54
- position: absolute;
55
- top: 0; left: 0; width: 100%; height: 100%;
56
- }
57
- #camera-feed { width: 100%; height: 100%; object-fit: cover; }
58
- #output-container {
59
- position: absolute;
60
- bottom: 0;
61
- left: 0;
62
- width: 100%;
63
- background: linear-gradient(to top, rgba(18, 18, 18, 0.9), transparent);
64
- padding: 60px 20px 20px;
65
- text-align: center;
66
- font-size: 1.1em;
67
- }
68
- footer {
69
- display: flex;
70
- justify-content: space-around;
71
- padding: 15px;
72
- background-color: rgba(30, 30, 30, 0.8);
73
- backdrop-filter: blur(5px);
74
- }
75
- .control-btn {
76
- background: var(--secondary-bg);
77
- color: var(--primary-text);
78
- border: 1px solid #444;
79
- padding: 12px 20px;
80
- border-radius: 20px;
81
- cursor: pointer;
82
- transition: background-color 0.3s;
83
- }
84
- .control-btn.active { background-color: var(--accent-color); border-color: var(--accent-color); }
85
 
86
- /* --- Espejo de la Conciencia --- */
87
- #consciousness-mirror {
88
- position: fixed;
89
- top: 0; left: 0;
90
- width: 100%; height: 100%;
91
- background-color: rgba(0, 0, 0, 0.9);
92
- backdrop-filter: blur(10px);
93
- z-index: 100;
94
- transform: translateY(100%);
95
- transition: transform 0.5s ease-in-out;
96
- }
97
- #consciousness-mirror.visible { transform: translateY(0); }
98
- .mirror-header { display: flex; justify-content: space-between; padding: 20px; border-bottom: 1px solid #444; }
99
- #close-mirror-btn { background: none; border: none; color: white; font-size: 1.5em; cursor: pointer; }
100
- #mirror-log { padding: 20px; overflow-y: auto; height: calc(100% - 70px); }
101
- .log-entry {
102
- background: var(--secondary-bg);
103
- padding: 15px;
104
- border-radius: 8px;
105
- margin-bottom: 15px;
106
- border-left: 4px solid var(--accent-color);
107
- }
108
- .log-entry strong { display: block; margin-bottom: 5px; color: var(--accent-color); }
 
109
 
110
- /* --- Nudges Visuales --- */
111
- body.eco-nudge { background-color: var(--nudge-eco); }
112
- body.serenity-nudge { background-color: var(--nudge-stress); }
 
 
 
 
 
1
  /* --- Reset y Fuentes --- */
2
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700&display=swap');
3
  :root {
4
+ --primary-bg: #101010;
5
+ --secondary-bg: #1d1d1f;
6
+ --primary-text: #f5f5f7;
7
+ --secondary-text: #a1a1a6;
8
+ --accent-blue: #0071e3;
9
+ --accent-green: #30d158;
10
+ --accent-purple: #5e5ce6;
11
  }
12
  * { box-sizing: border-box; margin: 0; padding: 0; }
13
  body {
 
17
  overflow: hidden;
18
  height: 100vh;
19
  width: 100vw;
 
20
  }
21
 
22
+ /* --- Estructura de Pantallas --- */
23
+ .screen { display: none; }
24
+ .screen.visible { display: flex; flex-direction: column; height: 100%; }
25
+
26
  /* --- Pantalla de Bienvenida --- */
27
+ #welcome-screen { justify-content: center; align-items: center; text-align: center; }
28
+ .logo-container { position: relative; width: 120px; height: 120px; margin: 0 auto 20px auto; }
29
+ .logo-bg { width: 100%; height: 100%; background: linear-gradient(135deg, var(--accent-blue), var(--accent-purple)); border-radius: 25%; animation: spin 20s linear infinite; }
30
+ .logo-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 50px; color: white; }
31
+ h1 { font-size: 2.8em; font-weight: 700; }
32
+ #loading-status { color: var(--secondary-text); margin-top: 10px; }
33
+ #user-creation { margin-top: 30px; }
34
+ #user-creation p { margin-bottom: 5px; }
35
+ #user-creation input { background: var(--secondary-bg); border: 1px solid #333; color: var(--primary-text); padding: 12px; border-radius: 8px; margin-top: 5px; width: 80%; }
36
+ #user-creation button { background: var(--accent-blue); color: white; border: none; padding: 12px 20px; border-radius: 8px; cursor: pointer; margin-top: 20px; font-weight: 500; }
 
 
 
 
37
 
38
+ /* --- App Principal --- */
39
+ #app-container { position: relative; }
40
+ #camera-feed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
41
+ header { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; background: linear-gradient(to bottom, rgba(0,0,0,0.5), transparent); }
42
+ #status-indicator { display: flex; align-items: center; background-color: rgba(0,0,0,0.4); backdrop-filter: blur(10px); padding: 8px 15px; border-radius: 20px; }
43
+ .status-dot { width: 10px; height: 10px; background-color: var(--accent-green); border-radius: 50%; margin-right: 10px; animation: pulse 2s infinite; }
44
+ #status-text { font-weight: 500; }
45
+ .header-btn { background: none; border: none; color: white; font-size: 1.5em; cursor: pointer; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
+ main { flex-grow: 1; display: flex; align-items: flex-end; padding: 20px; }
48
+ #output-container { width: 100%; background-color: rgba(0,0,0,0.5); backdrop-filter: blur(15px); border-radius: 15px; padding: 20px; animation: slideUp 0.5s ease-out; }
49
+ #output-text { font-size: 1.2em; line-height: 1.5; }
50
+
51
+ footer { display: flex; justify-content: space-around; padding: 15px; background: linear-gradient(to top, rgba(0,0,0,0.5), transparent); }
52
+ .control-btn { background: rgba(255,255,255,0.1); backdrop-filter: blur(10px); color: var(--primary-text); border: 1px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 12px 0; cursor: pointer; transition: all 0.3s; display: flex; flex-direction: column; align-items: center; width: 90px; }
53
+ .control-btn i { font-size: 1.5em; margin-bottom: 5px; }
54
+ .control-btn span { font-size: 0.8em; font-weight: 500; }
55
+ .control-btn.active { background-color: var(--accent-blue); border-color: var(--accent-blue); transform: translateY(-5px); }
56
+
57
+ /* --- Paneles Modales --- */
58
+ .modal-panel { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7); backdrop-filter: blur(10px); z-index: 100; display: none; align-items: center; justify-content: center; }
59
+ .modal-panel.visible { display: flex; }
60
+ .panel-content { background-color: var(--secondary-bg); width: 90%; max-width: 500px; border-radius: 20px; padding: 20px; animation: scaleUp 0.3s ease-out; }
61
+ .panel-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #333; padding-bottom: 15px; margin-bottom: 15px; }
62
+ .close-panel-btn { background: none; border: none; color: white; font-size: 1.2em; cursor: pointer; }
63
+ .panel-body button { background: var(--accent-blue); /* ... */ }
64
+ .panel-body input { background: #333; /* ... */ }
65
+
66
+ /* --- Animaciones --- */
67
+ @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
68
+ @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
69
+ @keyframes slideUp { from { transform: translateY(50px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
70
+ @keyframes scaleUp { from { transform: scale(0.8); opacity: 0; } to { transform: scale(1); opacity: 1; } }
71
 
72
+ body.serenity-nudge { animation: breath 11s ease-in-out; }
73
+ @keyframes breath {
74
+ 0% { background-color: var(--primary-bg); }
75
+ 36% { background-color: var(--accent-purple); } /* Inhalar 4s */
76
+ 45% { background-color: var(--accent-purple); } /* Sostener 1s */
77
+ 100% { background-color: var(--primary-bg); } /* Exhalar 6s */
78
+ }